@sync-in/server 1.8.0 → 1.9.0

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 (611) hide show
  1. package/CHANGELOG.md +64 -10
  2. package/environment/environment.dist.yaml +29 -26
  3. package/package.json +18 -17
  4. package/server/app.bootstrap.js +4 -2
  5. package/server/app.bootstrap.js.map +1 -1
  6. package/server/app.constants.js +9 -0
  7. package/server/app.constants.js.map +1 -1
  8. package/server/app.module.js +4 -0
  9. package/server/app.module.js.map +1 -1
  10. package/server/applications/admin/admin.module.js +6 -1
  11. package/server/applications/admin/admin.module.js.map +1 -1
  12. package/server/applications/{notifications/interfaces/user-mail-notification.js → admin/interfaces/check-update.interfaces.js} +1 -1
  13. package/server/applications/admin/interfaces/check-update.interfaces.js.map +1 -0
  14. package/server/applications/admin/services/admin-scheduler.service.js +53 -0
  15. package/server/applications/admin/services/admin-scheduler.service.js.map +1 -0
  16. package/server/applications/admin/services/admin.service.js +102 -0
  17. package/server/applications/admin/services/admin.service.js.map +1 -0
  18. package/server/applications/admin/services/admin.service.spec.js +46 -0
  19. package/server/applications/admin/services/admin.service.spec.js.map +1 -0
  20. package/server/applications/admin/utils/check-update.js +28 -0
  21. package/server/applications/admin/utils/check-update.js.map +1 -0
  22. package/server/applications/comments/services/comments-manager.service.js +1 -1
  23. package/server/applications/comments/services/comments-manager.service.js.map +1 -1
  24. package/server/applications/comments/services/comments-manager.service.spec.js +1 -1
  25. package/server/applications/comments/services/comments-manager.service.spec.js.map +1 -1
  26. package/server/applications/comments/services/comments-queries.service.js.map +1 -1
  27. package/server/applications/files/constants/cache.js +10 -1
  28. package/server/applications/files/constants/cache.js.map +1 -1
  29. package/server/applications/files/constants/only-office.js +0 -25
  30. package/server/applications/files/constants/only-office.js.map +1 -1
  31. package/server/applications/files/constants/operations.js +20 -3
  32. package/server/applications/files/constants/operations.js.map +1 -1
  33. package/server/applications/files/dto/file-operations.dto.js +7 -0
  34. package/server/applications/files/dto/file-operations.dto.js.map +1 -1
  35. package/server/applications/files/files-only-office.controller.js +3 -2
  36. package/server/applications/files/files-only-office.controller.js.map +1 -1
  37. package/server/applications/files/files-only-office.controller.spec.js +6 -5
  38. package/server/applications/files/files-only-office.controller.spec.js.map +1 -1
  39. package/server/applications/files/files.controller.js +100 -12
  40. package/server/applications/files/files.controller.js.map +1 -1
  41. package/server/applications/files/files.controller.spec.js +29 -8
  42. package/server/applications/files/files.controller.spec.js.map +1 -1
  43. package/server/applications/files/guards/files-only-office.guard.js +6 -0
  44. package/server/applications/files/guards/files-only-office.guard.js.map +1 -1
  45. package/server/applications/files/interfaces/file-db-props.interface.js.map +1 -1
  46. package/server/applications/files/interfaces/file-props.interface.js.map +1 -1
  47. package/server/applications/files/interfaces/only-office-config.interface.js.map +1 -1
  48. package/server/applications/files/services/files-content-manager.service.js +3 -3
  49. package/server/applications/files/services/files-content-manager.service.js.map +1 -1
  50. package/server/applications/files/services/files-lock-manager.service.js +61 -22
  51. package/server/applications/files/services/files-lock-manager.service.js.map +1 -1
  52. package/server/applications/files/services/files-manager.service.js +122 -24
  53. package/server/applications/files/services/files-manager.service.js.map +1 -1
  54. package/server/applications/files/services/files-manager.service.spec.js +15 -0
  55. package/server/applications/files/services/files-manager.service.spec.js.map +1 -1
  56. package/server/applications/files/services/files-methods.service.js +39 -14
  57. package/server/applications/files/services/files-methods.service.js.map +1 -1
  58. package/server/applications/files/services/files-only-office-manager.service.js +12 -12
  59. package/server/applications/files/services/files-only-office-manager.service.js.map +1 -1
  60. package/server/applications/files/services/files-parser.service.js +1 -1
  61. package/server/applications/files/services/files-parser.service.js.map +1 -1
  62. package/server/applications/files/services/files-queries.service.js +10 -0
  63. package/server/applications/files/services/files-queries.service.js.map +1 -1
  64. package/server/applications/files/utils/doc-textify/adapters/pdf.js +5 -16
  65. package/server/applications/files/utils/doc-textify/adapters/pdf.js.map +1 -1
  66. package/server/applications/files/utils/files.js +1 -1
  67. package/server/applications/files/utils/files.js.map +1 -1
  68. package/server/applications/files/utils/send-file.js +3 -2
  69. package/server/applications/files/utils/send-file.js.map +1 -1
  70. package/server/applications/links/services/links-queries.service.js +1 -1
  71. package/server/applications/links/services/links-queries.service.js.map +1 -1
  72. package/server/applications/notifications/constants/notifications.js +5 -1
  73. package/server/applications/notifications/constants/notifications.js.map +1 -1
  74. package/server/applications/notifications/i18n/de.js +8 -2
  75. package/server/applications/notifications/i18n/de.js.map +1 -1
  76. package/server/applications/notifications/i18n/es.js +8 -2
  77. package/server/applications/notifications/i18n/es.js.map +1 -1
  78. package/server/applications/notifications/i18n/fr.js +8 -2
  79. package/server/applications/notifications/i18n/fr.js.map +1 -1
  80. package/server/applications/notifications/i18n/hi.js +8 -2
  81. package/server/applications/notifications/i18n/hi.js.map +1 -1
  82. package/server/applications/notifications/i18n/it.js +8 -2
  83. package/server/applications/notifications/i18n/it.js.map +1 -1
  84. package/server/applications/notifications/i18n/ja.js +8 -2
  85. package/server/applications/notifications/i18n/ja.js.map +1 -1
  86. package/server/applications/notifications/i18n/ko.js +8 -2
  87. package/server/applications/notifications/i18n/ko.js.map +1 -1
  88. package/server/applications/notifications/i18n/pl.js +8 -2
  89. package/server/applications/notifications/i18n/pl.js.map +1 -1
  90. package/server/applications/notifications/i18n/pt.js +8 -2
  91. package/server/applications/notifications/i18n/pt.js.map +1 -1
  92. package/server/applications/notifications/i18n/pt_br.js +8 -2
  93. package/server/applications/notifications/i18n/pt_br.js.map +1 -1
  94. package/server/applications/notifications/i18n/ru.js +8 -2
  95. package/server/applications/notifications/i18n/ru.js.map +1 -1
  96. package/server/applications/notifications/i18n/tr.js +8 -2
  97. package/server/applications/notifications/i18n/tr.js.map +1 -1
  98. package/server/applications/notifications/i18n/zh.js +8 -2
  99. package/server/applications/notifications/i18n/zh.js.map +1 -1
  100. package/server/applications/notifications/interfaces/notification-properties.interface.js.map +1 -1
  101. package/server/applications/notifications/interfaces/user-mail-notification.interface.js +10 -0
  102. package/server/applications/notifications/interfaces/user-mail-notification.interface.js.map +1 -0
  103. package/server/applications/notifications/mails/models.js +38 -3
  104. package/server/applications/notifications/mails/models.js.map +1 -1
  105. package/server/applications/notifications/mails/templates.js +1 -1
  106. package/server/applications/notifications/mails/templates.js.map +1 -1
  107. package/server/applications/notifications/services/notifications-manager.service.js +8 -1
  108. package/server/applications/notifications/services/notifications-manager.service.js.map +1 -1
  109. package/server/applications/notifications/services/notifications-queries.service.js.map +1 -1
  110. package/server/applications/shares/services/shares-manager.service.js +17 -10
  111. package/server/applications/shares/services/shares-manager.service.js.map +1 -1
  112. package/server/applications/shares/services/shares-manager.service.spec.js +10 -3
  113. package/server/applications/shares/services/shares-manager.service.spec.js.map +1 -1
  114. package/server/applications/shares/services/shares-queries.service.js +11 -1
  115. package/server/applications/shares/services/shares-queries.service.js.map +1 -1
  116. package/server/applications/spaces/guards/space.guard.spec.js +2 -2
  117. package/server/applications/spaces/guards/space.guard.spec.js.map +1 -1
  118. package/server/applications/spaces/services/spaces-browser.service.js +31 -11
  119. package/server/applications/spaces/services/spaces-browser.service.js.map +1 -1
  120. package/server/applications/spaces/services/spaces-manager.service.js +2 -2
  121. package/server/applications/spaces/services/spaces-manager.service.js.map +1 -1
  122. package/server/applications/spaces/services/spaces-queries.service.js +6 -2
  123. package/server/applications/spaces/services/spaces-queries.service.js.map +1 -1
  124. package/server/applications/spaces/utils/permissions.js +2 -2
  125. package/server/applications/spaces/utils/permissions.js.map +1 -1
  126. package/server/applications/sync/services/sync-manager.service.js +1 -0
  127. package/server/applications/sync/services/sync-manager.service.js.map +1 -1
  128. package/server/applications/sync/services/sync-paths-manager.service.js +1 -1
  129. package/server/applications/sync/services/sync-paths-manager.service.js.map +1 -1
  130. package/server/applications/sync/services/sync-paths-manager.service.spec.js +1 -1
  131. package/server/applications/sync/services/sync-paths-manager.service.spec.js.map +1 -1
  132. package/server/applications/users/constants/user.js +1 -1
  133. package/server/applications/users/constants/user.js.map +1 -1
  134. package/server/applications/users/services/admin-users-queries.service.js +8 -0
  135. package/server/applications/users/services/admin-users-queries.service.js.map +1 -1
  136. package/server/applications/users/services/users-manager.service.js +1 -2
  137. package/server/applications/users/services/users-manager.service.js.map +1 -1
  138. package/server/applications/users/services/users-queries.service.js +67 -68
  139. package/server/applications/users/services/users-queries.service.js.map +1 -1
  140. package/server/applications/users/users.gateway.js +6 -0
  141. package/server/applications/users/users.gateway.js.map +1 -1
  142. package/server/applications/users/users.module.js +2 -1
  143. package/server/applications/users/users.module.js.map +1 -1
  144. package/server/applications/webdav/guards/webdav-protocol.guard.js +4 -4
  145. package/server/applications/webdav/guards/webdav-protocol.guard.js.map +1 -1
  146. package/server/applications/webdav/guards/webdav-protocol.guard.spec.js +6 -6
  147. package/server/applications/webdav/guards/webdav-protocol.guard.spec.js.map +1 -1
  148. package/server/applications/webdav/services/webdav-methods.service.js +3 -2
  149. package/server/applications/webdav/services/webdav-methods.service.js.map +1 -1
  150. package/server/applications/webdav/services/webdav-methods.service.spec.js +2 -2
  151. package/server/applications/webdav/services/webdav-methods.service.spec.js.map +1 -1
  152. package/server/authentication/constants/auth-ldap.js +2 -0
  153. package/server/authentication/constants/auth-ldap.js.map +1 -1
  154. package/server/authentication/services/auth-methods/auth-method-ldap.service.js +34 -21
  155. package/server/authentication/services/auth-methods/auth-method-ldap.service.js.map +1 -1
  156. package/server/common/functions.js +0 -8
  157. package/server/common/functions.js.map +1 -1
  158. package/server/common/image.js +63 -58
  159. package/server/common/image.js.map +1 -1
  160. package/server/common/shared.js +18 -1
  161. package/server/common/shared.js.map +1 -1
  162. package/server/infrastructure/context/services/context-manager.service.js +3 -0
  163. package/server/infrastructure/context/services/context-manager.service.js.map +1 -1
  164. package/server/infrastructure/websocket/adapters/cluster.adapter.js +4 -4
  165. package/server/infrastructure/websocket/adapters/cluster.adapter.js.map +1 -1
  166. package/static/3rdpartylicenses.txt +1380 -57
  167. package/static/assets/favicon.svg +2 -25
  168. package/static/assets/logo-dark.svg +2 -32
  169. package/static/assets/logo.svg +2 -32
  170. package/static/assets/mimes/application-sql.svg +29 -1
  171. package/static/assets/mimes/application-x-sql.svg +29 -0
  172. package/static/assets/mimes/image-bmp.svg +12 -0
  173. package/static/assets/pdfjs/build/pdf.mjs +4869 -4454
  174. package/static/assets/pdfjs/build/pdf.mjs.map +1 -1
  175. package/static/assets/pdfjs/build/pdf.sandbox.mjs +3 -3
  176. package/static/assets/pdfjs/build/pdf.sandbox.mjs.map +1 -1
  177. package/static/assets/pdfjs/build/pdf.worker.mjs +885 -596
  178. package/static/assets/pdfjs/build/pdf.worker.mjs.map +1 -1
  179. package/static/assets/pdfjs/version +1 -1
  180. package/static/assets/pdfjs/web/locale/be/viewer.ftl +40 -0
  181. package/static/assets/pdfjs/web/locale/bg/viewer.ftl +2 -0
  182. package/static/assets/pdfjs/web/locale/cs/viewer.ftl +41 -0
  183. package/static/assets/pdfjs/web/locale/cy/viewer.ftl +43 -0
  184. package/static/assets/pdfjs/web/locale/da/viewer.ftl +39 -0
  185. package/static/assets/pdfjs/web/locale/de/viewer.ftl +41 -0
  186. package/static/assets/pdfjs/web/locale/dsb/viewer.ftl +43 -0
  187. package/static/assets/pdfjs/web/locale/el/viewer.ftl +39 -0
  188. package/static/assets/pdfjs/web/locale/en-CA/viewer.ftl +35 -0
  189. package/static/assets/pdfjs/web/locale/en-GB/viewer.ftl +41 -0
  190. package/static/assets/pdfjs/web/locale/en-US/viewer.ftl +2 -2
  191. package/static/assets/pdfjs/web/locale/eo/viewer.ftl +39 -0
  192. package/static/assets/pdfjs/web/locale/es-AR/viewer.ftl +41 -0
  193. package/static/assets/pdfjs/web/locale/es-CL/viewer.ftl +39 -0
  194. package/static/assets/pdfjs/web/locale/es-ES/viewer.ftl +72 -0
  195. package/static/assets/pdfjs/web/locale/es-MX/viewer.ftl +120 -0
  196. package/static/assets/pdfjs/web/locale/eu/viewer.ftl +41 -0
  197. package/static/assets/pdfjs/web/locale/fi/viewer.ftl +41 -0
  198. package/static/assets/pdfjs/web/locale/fr/viewer.ftl +41 -0
  199. package/static/assets/pdfjs/web/locale/fur/viewer.ftl +77 -0
  200. package/static/assets/pdfjs/web/locale/fy-NL/viewer.ftl +41 -0
  201. package/static/assets/pdfjs/web/locale/gn/viewer.ftl +39 -0
  202. package/static/assets/pdfjs/web/locale/he/viewer.ftl +41 -0
  203. package/static/assets/pdfjs/web/locale/hsb/viewer.ftl +43 -0
  204. package/static/assets/pdfjs/web/locale/hu/viewer.ftl +41 -0
  205. package/static/assets/pdfjs/web/locale/hy-AM/viewer.ftl +1 -1
  206. package/static/assets/pdfjs/web/locale/ia/viewer.ftl +41 -0
  207. package/static/assets/pdfjs/web/locale/it/viewer.ftl +41 -0
  208. package/static/assets/pdfjs/web/locale/ja/viewer.ftl +32 -0
  209. package/static/assets/pdfjs/web/locale/ka/viewer.ftl +41 -0
  210. package/static/assets/pdfjs/web/locale/kab/viewer.ftl +73 -0
  211. package/static/assets/pdfjs/web/locale/kk/viewer.ftl +21 -0
  212. package/static/assets/pdfjs/web/locale/ko/viewer.ftl +38 -1
  213. package/static/assets/pdfjs/web/locale/nb-NO/viewer.ftl +39 -0
  214. package/static/assets/pdfjs/web/locale/nl/viewer.ftl +41 -0
  215. package/static/assets/pdfjs/web/locale/nn-NO/viewer.ftl +37 -0
  216. package/static/assets/pdfjs/web/locale/pa-IN/viewer.ftl +37 -0
  217. package/static/assets/pdfjs/web/locale/pl/viewer.ftl +39 -0
  218. package/static/assets/pdfjs/web/locale/pt-BR/viewer.ftl +39 -0
  219. package/static/assets/pdfjs/web/locale/rm/viewer.ftl +73 -0
  220. package/static/assets/pdfjs/web/locale/ro/viewer.ftl +41 -0
  221. package/static/assets/pdfjs/web/locale/ru/viewer.ftl +42 -0
  222. package/static/assets/pdfjs/web/locale/sc/viewer.ftl +6 -0
  223. package/static/assets/pdfjs/web/locale/sk/viewer.ftl +43 -0
  224. package/static/assets/pdfjs/web/locale/sl/viewer.ftl +42 -1
  225. package/static/assets/pdfjs/web/locale/sq/viewer.ftl +77 -0
  226. package/static/assets/pdfjs/web/locale/sv-SE/viewer.ftl +41 -0
  227. package/static/assets/pdfjs/web/locale/tg/viewer.ftl +39 -0
  228. package/static/assets/pdfjs/web/locale/th/viewer.ftl +35 -0
  229. package/static/assets/pdfjs/web/locale/tr/viewer.ftl +39 -0
  230. package/static/assets/pdfjs/web/locale/vi/viewer.ftl +42 -5
  231. package/static/assets/pdfjs/web/locale/zh-CN/viewer.ftl +35 -0
  232. package/static/assets/pdfjs/web/locale/zh-TW/viewer.ftl +37 -0
  233. package/static/assets/pdfjs/web/viewer.css +141 -110
  234. package/static/assets/pdfjs/web/viewer.html +7 -7
  235. package/static/assets/pdfjs/web/viewer.mjs +97 -14
  236. package/static/assets/pdfjs/web/viewer.mjs.map +1 -1
  237. package/static/chunk-22DWHRCL.js +1 -0
  238. package/static/chunk-23UUFZSR.js +1 -0
  239. package/static/{chunk-VM4YX6Q7.js → chunk-24Q7OUU2.js} +1 -1
  240. package/static/chunk-25QTY2GI.js +1 -0
  241. package/static/chunk-2E7IJZLL.js +1 -0
  242. package/static/chunk-2FC5EKS5.js +1 -0
  243. package/static/chunk-2FOWUJQF.js +1 -0
  244. package/static/chunk-2XPHUNYN.js +1 -0
  245. package/static/chunk-32L7RG2G.js +1 -0
  246. package/static/chunk-3IISSX63.js +1 -0
  247. package/static/chunk-3OHSTP3R.js +1 -0
  248. package/static/chunk-42L6C5MT.js +1 -0
  249. package/static/chunk-4AGQL5GV.js +1 -0
  250. package/static/chunk-4BPSQMI2.js +1 -0
  251. package/static/chunk-4FDRWZWT.js +1 -0
  252. package/static/chunk-4FJUCMEG.js +1 -0
  253. package/static/chunk-4GCCF6PF.js +1 -0
  254. package/static/chunk-4ORP3SBY.js +1 -0
  255. package/static/chunk-4QBOHIC3.js +1 -0
  256. package/static/chunk-4YT6K5KY.js +1 -0
  257. package/static/chunk-556I6YIW.js +1 -0
  258. package/static/chunk-5DPIGJU4.js +1 -0
  259. package/static/chunk-5HNQLBSW.js +3 -0
  260. package/static/chunk-5IL7C45D.js +1 -0
  261. package/static/chunk-5KJXGMKR.js +1 -0
  262. package/static/chunk-5SPGSHKL.js +1 -0
  263. package/static/chunk-5WCQBTXW.js +1 -0
  264. package/static/chunk-5XUIPWOH.js +1 -0
  265. package/static/chunk-62WT7PI3.js +1 -0
  266. package/static/chunk-6F6OMQ5H.js +1 -0
  267. package/static/chunk-6I5BGQHT.js +1 -0
  268. package/static/chunk-6NOS45DG.js +1 -0
  269. package/static/chunk-6OKLPRCD.js +1 -0
  270. package/static/chunk-6VEJCG43.js +1 -0
  271. package/static/chunk-77SS36Z2.js +1 -0
  272. package/static/chunk-7AXEPO3G.js +1 -0
  273. package/static/chunk-7CFSJ4BO.js +1 -0
  274. package/static/chunk-7CKHC72R.js +1 -0
  275. package/static/chunk-7DUTYOJG.js +1 -0
  276. package/static/chunk-7HKFYRPF.js +1 -0
  277. package/static/chunk-7NZJZATZ.js +1 -0
  278. package/static/chunk-AADK5D2H.js +1 -0
  279. package/static/chunk-ACUF7IKP.js +1 -0
  280. package/static/chunk-AGREZPV4.js +1 -0
  281. package/static/chunk-ATBJWFA3.js +1 -0
  282. package/static/chunk-ATXLZN2B.js +1 -0
  283. package/static/chunk-AZ5TF5Y3.js +1 -0
  284. package/static/chunk-BBHYIURC.js +1 -0
  285. package/static/chunk-BHZEPHRI.js +13 -0
  286. package/static/chunk-BQZWSZNN.js +1 -0
  287. package/static/chunk-BSB4VROD.js +2 -0
  288. package/static/chunk-BYWSTP3P.js +1 -0
  289. package/static/chunk-C3AAEQKW.js +1 -0
  290. package/static/chunk-CCGGCHGN.js +1 -0
  291. package/static/chunk-CFTKW432.js +1 -0
  292. package/static/chunk-CNOVT6KU.js +1 -0
  293. package/static/chunk-D56H3XE2.js +1 -0
  294. package/static/chunk-DFOOSIIA.js +1 -0
  295. package/static/chunk-DHFQIFOF.js +1 -0
  296. package/static/{chunk-3GMLWAFZ.js → chunk-DIC2MVRI.js} +1 -1
  297. package/static/chunk-DJDRX53V.js +2 -0
  298. package/static/chunk-DKGXUMLT.js +1 -0
  299. package/static/chunk-DRHPEERW.js +2 -0
  300. package/static/chunk-DWYP6ZGG.js +1 -0
  301. package/static/chunk-EDJAISWO.js +13 -0
  302. package/static/chunk-EIYRBM4J.js +1 -0
  303. package/static/chunk-EKEGRXCV.js +7 -0
  304. package/static/chunk-EL6QL4TP.js +1 -0
  305. package/static/chunk-ERDZ7IVF.js +1 -0
  306. package/static/chunk-EVQKKVUZ.js +1 -0
  307. package/static/chunk-F2XG7EWI.js +1 -0
  308. package/static/chunk-F672FY5I.js +1 -0
  309. package/static/chunk-F6V37MKG.js +1 -0
  310. package/static/chunk-F7TXTNZC.js +1 -0
  311. package/static/chunk-FCGTI42I.js +1 -0
  312. package/static/chunk-FQHOSSCO.js +1 -0
  313. package/static/chunk-FTSIPHMG.js +1 -0
  314. package/static/chunk-GAGHHYLF.js +1 -0
  315. package/static/{chunk-JPT5WEAT.js → chunk-GOJYWL2M.js} +1 -1
  316. package/static/chunk-H6WOTGQ5.js +1 -0
  317. package/static/{chunk-CHJ64RJM.js → chunk-H6ZXFINQ.js} +1 -1
  318. package/static/chunk-HC7F57NA.js +1 -0
  319. package/static/chunk-HHWXIK2M.js +7 -0
  320. package/static/chunk-HKRGIRKB.js +3 -0
  321. package/static/chunk-HNMGPG72.js +1 -0
  322. package/static/chunk-HS4S6BV3.js +1 -0
  323. package/static/chunk-IJ7K7ATQ.js +1 -0
  324. package/static/chunk-IOIBQGHN.js +562 -0
  325. package/static/chunk-ITVA26X2.js +2 -0
  326. package/static/chunk-J6YSFHLZ.js +1 -0
  327. package/static/chunk-JAEJ6IMV.js +1 -0
  328. package/static/chunk-JB5R6V33.js +1 -0
  329. package/static/chunk-JF6WIV6M.js +1 -0
  330. package/static/chunk-JGB4LLUT.js +1 -0
  331. package/static/chunk-JGXVTKLG.js +1 -0
  332. package/static/chunk-JMYAD7E2.js +1 -0
  333. package/static/chunk-JSE63Q5X.js +1 -0
  334. package/static/chunk-JVV3ZL6L.js +1 -0
  335. package/static/chunk-JXZCNFW7.js +1 -0
  336. package/static/chunk-KAVP6UXH.js +1 -0
  337. package/static/{chunk-WLMNXRBS.js → chunk-KDEEERWZ.js} +1 -1
  338. package/static/chunk-KHRF67SG.js +1 -0
  339. package/static/chunk-KLOUBIO4.js +1 -0
  340. package/static/chunk-KMF3ZRAO.js +1 -0
  341. package/static/chunk-KNZ3AQPR.js +1 -0
  342. package/static/chunk-KT3TWCST.js +1 -0
  343. package/static/chunk-L6SYG23T.js +1 -0
  344. package/static/chunk-LJSVNPPQ.js +1 -0
  345. package/static/{chunk-LNTUR3GU.js → chunk-LRDKG274.js} +1 -1
  346. package/static/chunk-LRQSPCYZ.js +1 -0
  347. package/static/chunk-LUSVISM6.js +1 -0
  348. package/static/chunk-LXQGVNU2.js +1 -0
  349. package/static/{chunk-BIKLW4YS.js → chunk-LYZGJZNP.js} +1 -1
  350. package/static/chunk-LZKI5P5T.js +1 -0
  351. package/static/chunk-M4XL3JN5.js +6 -0
  352. package/static/{chunk-UNCPXHHT.js → chunk-MGWG7OD7.js} +1 -1
  353. package/static/chunk-MKUUWY6Y.js +1 -0
  354. package/static/{chunk-HAS5ZOTR.js → chunk-MNNCSSHN.js} +1 -1
  355. package/static/chunk-MR3U7TKQ.js +1 -0
  356. package/static/chunk-MRF3CNLZ.js +1 -0
  357. package/static/chunk-MRMSMTWD.js +1 -0
  358. package/static/chunk-MVZJSG5R.js +1 -0
  359. package/static/chunk-MYM43ENO.js +1 -0
  360. package/static/chunk-N3P6P6GW.js +7 -0
  361. package/static/chunk-NAH4V2R6.js +2 -0
  362. package/static/chunk-NBBDVVUF.js +1 -0
  363. package/static/chunk-NMF2ZFBE.js +1 -0
  364. package/static/chunk-NN4ONTOT.js +1 -0
  365. package/static/chunk-NOPACN4F.js +1 -0
  366. package/static/chunk-NYJPOP4L.js +1 -0
  367. package/static/chunk-OJCAIKUK.js +1 -0
  368. package/static/chunk-OQRWXCLY.js +1 -0
  369. package/static/chunk-PCFH5HCI.js +2 -0
  370. package/static/chunk-PG54TWBO.js +4 -0
  371. package/static/chunk-PJF5XUTO.js +1 -0
  372. package/static/{chunk-FJE6BOFL.js → chunk-PSUAQBYM.js} +1 -1
  373. package/static/chunk-PTLYIUFW.js +1 -0
  374. package/static/chunk-PZGLDZZM.js +1 -0
  375. package/static/chunk-Q4VNZGFI.js +1 -0
  376. package/static/chunk-Q556XB3S.js +1 -0
  377. package/static/{chunk-PB4AIT7O.js → chunk-Q7IXRPOO.js} +1 -1
  378. package/static/chunk-Q7U2VPIS.js +1 -0
  379. package/static/chunk-QM6CQMEX.js +1 -0
  380. package/static/chunk-QMHUIHSR.js +1 -0
  381. package/static/chunk-QNFNXDSX.js +1 -0
  382. package/static/chunk-QVFPHTOH.js +1 -0
  383. package/static/chunk-R4MI25E2.js +1 -0
  384. package/static/chunk-R7JRAR3P.js +1 -0
  385. package/static/chunk-R7PNKQU2.js +1 -0
  386. package/static/chunk-RCAORRB7.js +1 -0
  387. package/static/chunk-RK7XRDNB.js +1 -0
  388. package/static/chunk-RO7SAOLK.js +1 -0
  389. package/static/chunk-RQUUINHV.js +1 -0
  390. package/static/chunk-RT3K6DZR.js +1 -0
  391. package/static/chunk-RUN556VW.js +1 -0
  392. package/static/chunk-RX3YQ67K.js +1 -0
  393. package/static/chunk-S6EVLDHA.js +5 -0
  394. package/static/chunk-S7S5M3AZ.js +1 -0
  395. package/static/chunk-SBLNYV74.js +1 -0
  396. package/static/chunk-SIZCHHUA.js +1 -0
  397. package/static/chunk-SRBOO7AO.js +1 -0
  398. package/static/{chunk-PVDHBQRM.js → chunk-STA7NTYL.js} +1 -1
  399. package/static/chunk-T3YI3BSS.js +1 -0
  400. package/static/chunk-T74SMT7I.js +1 -0
  401. package/static/chunk-TAL3RTTQ.js +1 -0
  402. package/static/chunk-TJZKTNNS.js +1 -0
  403. package/static/chunk-UJTFWZEC.js +1 -0
  404. package/static/chunk-UPGVU5LG.js +1 -0
  405. package/static/chunk-UQ6O3I6W.js +1 -0
  406. package/static/{chunk-5NMSIIQB.js → chunk-V43RGNXA.js} +1 -1
  407. package/static/chunk-VWIRXLNE.js +1 -0
  408. package/static/chunk-VZMVGIVW.js +1 -0
  409. package/static/chunk-VZPCXSRG.js +2 -0
  410. package/static/chunk-WR3MA3L3.js +1 -0
  411. package/static/chunk-XCLK7NJL.js +1 -0
  412. package/static/{chunk-DSWEWLXJ.js → chunk-XCPDPB5G.js} +1 -1
  413. package/static/chunk-XEGHEUP5.js +1 -0
  414. package/static/chunk-XKEBQNQJ.js +1 -0
  415. package/static/chunk-XOF4UW3S.js +1 -0
  416. package/static/chunk-XOTKK2NJ.js +1 -0
  417. package/static/chunk-XX7JXKA6.js +1 -0
  418. package/static/chunk-Y2I36A4K.js +1 -0
  419. package/static/chunk-Y44XDRM5.js +1 -0
  420. package/static/{chunk-QO6BTONN.js → chunk-Y4MAPE2C.js} +1 -1
  421. package/static/chunk-Y5RLD72B.js +1 -0
  422. package/static/{chunk-DPUVSXRB.js → chunk-Y5XTRCFK.js} +1 -1
  423. package/static/chunk-Y63UUJGJ.js +1 -0
  424. package/static/chunk-YBNAC7QM.js +1 -0
  425. package/static/chunk-YCTCESL4.js +1 -0
  426. package/static/chunk-YMAN4LIU.js +1 -0
  427. package/static/chunk-YTDE6SXT.js +1 -0
  428. package/static/chunk-YZPIUJB3.js +1 -0
  429. package/static/chunk-ZCOWBVOT.js +1 -0
  430. package/static/chunk-ZHRYYMYE.js +1 -0
  431. package/static/chunk-ZNXTOQFG.js +1 -0
  432. package/static/{chunk-URHTCJ7G.js → chunk-ZQLBPLXI.js} +1 -1
  433. package/static/favicon.ico +0 -0
  434. package/static/index.html +2 -2
  435. package/static/main-3PLRDZTO.js +11 -0
  436. package/static/styles-Q4OZOSSK.css +1 -0
  437. package/server/applications/notifications/interfaces/user-mail-notification.js.map +0 -1
  438. package/static/assets/codemirror/mode/apl/apl.js +0 -174
  439. package/static/assets/codemirror/mode/asciiarmor/asciiarmor.js +0 -74
  440. package/static/assets/codemirror/mode/asn.1/asn.1.js +0 -204
  441. package/static/assets/codemirror/mode/asterisk/asterisk.js +0 -220
  442. package/static/assets/codemirror/mode/brainfuck/brainfuck.js +0 -85
  443. package/static/assets/codemirror/mode/clike/clike.js +0 -942
  444. package/static/assets/codemirror/mode/clojure/clojure.js +0 -293
  445. package/static/assets/codemirror/mode/cmake/cmake.js +0 -97
  446. package/static/assets/codemirror/mode/cobol/cobol.js +0 -255
  447. package/static/assets/codemirror/mode/coffeescript/coffeescript.js +0 -359
  448. package/static/assets/codemirror/mode/commonlisp/commonlisp.js +0 -125
  449. package/static/assets/codemirror/mode/crystal/crystal.js +0 -433
  450. package/static/assets/codemirror/mode/css/css.js +0 -862
  451. package/static/assets/codemirror/mode/cypher/cypher.js +0 -152
  452. package/static/assets/codemirror/mode/d/d.js +0 -223
  453. package/static/assets/codemirror/mode/dart/dart.js +0 -168
  454. package/static/assets/codemirror/mode/diff/diff.js +0 -47
  455. package/static/assets/codemirror/mode/django/django.js +0 -356
  456. package/static/assets/codemirror/mode/dockerfile/dockerfile.js +0 -211
  457. package/static/assets/codemirror/mode/dtd/dtd.js +0 -142
  458. package/static/assets/codemirror/mode/dylan/dylan.js +0 -352
  459. package/static/assets/codemirror/mode/ebnf/ebnf.js +0 -195
  460. package/static/assets/codemirror/mode/ecl/ecl.js +0 -206
  461. package/static/assets/codemirror/mode/eiffel/eiffel.js +0 -160
  462. package/static/assets/codemirror/mode/elm/elm.js +0 -245
  463. package/static/assets/codemirror/mode/erlang/erlang.js +0 -619
  464. package/static/assets/codemirror/mode/factor/factor.js +0 -85
  465. package/static/assets/codemirror/mode/fcl/fcl.js +0 -173
  466. package/static/assets/codemirror/mode/forth/forth.js +0 -180
  467. package/static/assets/codemirror/mode/fortran/fortran.js +0 -188
  468. package/static/assets/codemirror/mode/gas/gas.js +0 -355
  469. package/static/assets/codemirror/mode/gfm/gfm.js +0 -129
  470. package/static/assets/codemirror/mode/gherkin/gherkin.js +0 -194
  471. package/static/assets/codemirror/mode/go/go.js +0 -187
  472. package/static/assets/codemirror/mode/groovy/groovy.js +0 -245
  473. package/static/assets/codemirror/mode/haml/haml.js +0 -161
  474. package/static/assets/codemirror/mode/handlebars/handlebars.js +0 -70
  475. package/static/assets/codemirror/mode/haskell/haskell.js +0 -268
  476. package/static/assets/codemirror/mode/haskell-literate/haskell-literate.js +0 -43
  477. package/static/assets/codemirror/mode/haxe/haxe.js +0 -515
  478. package/static/assets/codemirror/mode/htmlembedded/htmlembedded.js +0 -37
  479. package/static/assets/codemirror/mode/htmlmixed/htmlmixed.js +0 -153
  480. package/static/assets/codemirror/mode/http/http.js +0 -113
  481. package/static/assets/codemirror/mode/idl/idl.js +0 -290
  482. package/static/assets/codemirror/mode/javascript/javascript.js +0 -960
  483. package/static/assets/codemirror/mode/jinja2/jinja2.js +0 -193
  484. package/static/assets/codemirror/mode/jsx/jsx.js +0 -149
  485. package/static/assets/codemirror/mode/julia/julia.js +0 -390
  486. package/static/assets/codemirror/mode/livescript/livescript.js +0 -280
  487. package/static/assets/codemirror/mode/lua/lua.js +0 -160
  488. package/static/assets/codemirror/mode/markdown/markdown.js +0 -886
  489. package/static/assets/codemirror/mode/mathematica/mathematica.js +0 -176
  490. package/static/assets/codemirror/mode/mbox/mbox.js +0 -129
  491. package/static/assets/codemirror/mode/meta.js +0 -221
  492. package/static/assets/codemirror/mode/mirc/mirc.js +0 -193
  493. package/static/assets/codemirror/mode/mllike/mllike.js +0 -359
  494. package/static/assets/codemirror/mode/modelica/modelica.js +0 -245
  495. package/static/assets/codemirror/mode/mscgen/mscgen.js +0 -175
  496. package/static/assets/codemirror/mode/mumps/mumps.js +0 -148
  497. package/static/assets/codemirror/mode/nginx/nginx.js +0 -178
  498. package/static/assets/codemirror/mode/nsis/nsis.js +0 -95
  499. package/static/assets/codemirror/mode/ntriples/ntriples.js +0 -195
  500. package/static/assets/codemirror/mode/octave/octave.js +0 -139
  501. package/static/assets/codemirror/mode/oz/oz.js +0 -252
  502. package/static/assets/codemirror/mode/pascal/pascal.js +0 -136
  503. package/static/assets/codemirror/mode/pegjs/pegjs.js +0 -111
  504. package/static/assets/codemirror/mode/perl/perl.js +0 -836
  505. package/static/assets/codemirror/mode/php/php.js +0 -234
  506. package/static/assets/codemirror/mode/pig/pig.js +0 -178
  507. package/static/assets/codemirror/mode/powershell/powershell.js +0 -398
  508. package/static/assets/codemirror/mode/properties/properties.js +0 -78
  509. package/static/assets/codemirror/mode/protobuf/protobuf.js +0 -72
  510. package/static/assets/codemirror/mode/pug/pug.js +0 -591
  511. package/static/assets/codemirror/mode/puppet/puppet.js +0 -220
  512. package/static/assets/codemirror/mode/python/python.js +0 -402
  513. package/static/assets/codemirror/mode/q/q.js +0 -139
  514. package/static/assets/codemirror/mode/r/r.js +0 -190
  515. package/static/assets/codemirror/mode/rpm/changes/index.html +0 -66
  516. package/static/assets/codemirror/mode/rpm/rpm.js +0 -109
  517. package/static/assets/codemirror/mode/rst/rst.js +0 -557
  518. package/static/assets/codemirror/mode/ruby/ruby.js +0 -303
  519. package/static/assets/codemirror/mode/rust/rust.js +0 -72
  520. package/static/assets/codemirror/mode/sas/sas.js +0 -303
  521. package/static/assets/codemirror/mode/sass/sass.js +0 -459
  522. package/static/assets/codemirror/mode/scheme/scheme.js +0 -284
  523. package/static/assets/codemirror/mode/shell/shell.js +0 -168
  524. package/static/assets/codemirror/mode/sieve/sieve.js +0 -193
  525. package/static/assets/codemirror/mode/slim/slim.js +0 -575
  526. package/static/assets/codemirror/mode/smalltalk/smalltalk.js +0 -168
  527. package/static/assets/codemirror/mode/smarty/smarty.js +0 -225
  528. package/static/assets/codemirror/mode/solr/solr.js +0 -104
  529. package/static/assets/codemirror/mode/soy/soy.js +0 -665
  530. package/static/assets/codemirror/mode/sparql/sparql.js +0 -184
  531. package/static/assets/codemirror/mode/spreadsheet/spreadsheet.js +0 -112
  532. package/static/assets/codemirror/mode/sql/sql.js +0 -529
  533. package/static/assets/codemirror/mode/stex/stex.js +0 -264
  534. package/static/assets/codemirror/mode/stylus/stylus.js +0 -775
  535. package/static/assets/codemirror/mode/swift/swift.js +0 -221
  536. package/static/assets/codemirror/mode/tcl/tcl.js +0 -140
  537. package/static/assets/codemirror/mode/textile/textile.js +0 -469
  538. package/static/assets/codemirror/mode/tiddlywiki/tiddlywiki.css +0 -14
  539. package/static/assets/codemirror/mode/tiddlywiki/tiddlywiki.js +0 -308
  540. package/static/assets/codemirror/mode/tiki/tiki.css +0 -26
  541. package/static/assets/codemirror/mode/tiki/tiki.js +0 -312
  542. package/static/assets/codemirror/mode/toml/toml.js +0 -88
  543. package/static/assets/codemirror/mode/tornado/tornado.js +0 -68
  544. package/static/assets/codemirror/mode/troff/troff.js +0 -84
  545. package/static/assets/codemirror/mode/ttcn/ttcn.js +0 -283
  546. package/static/assets/codemirror/mode/ttcn-cfg/ttcn-cfg.js +0 -214
  547. package/static/assets/codemirror/mode/turtle/turtle.js +0 -162
  548. package/static/assets/codemirror/mode/twig/twig.js +0 -141
  549. package/static/assets/codemirror/mode/vb/vb.js +0 -275
  550. package/static/assets/codemirror/mode/vbscript/vbscript.js +0 -350
  551. package/static/assets/codemirror/mode/velocity/velocity.js +0 -202
  552. package/static/assets/codemirror/mode/verilog/verilog.js +0 -781
  553. package/static/assets/codemirror/mode/vhdl/vhdl.js +0 -189
  554. package/static/assets/codemirror/mode/vue/vue.js +0 -77
  555. package/static/assets/codemirror/mode/wast/wast.js +0 -132
  556. package/static/assets/codemirror/mode/webidl/webidl.js +0 -195
  557. package/static/assets/codemirror/mode/xml/xml.js +0 -417
  558. package/static/assets/codemirror/mode/xquery/xquery.js +0 -448
  559. package/static/assets/codemirror/mode/yacas/yacas.js +0 -204
  560. package/static/assets/codemirror/mode/yaml/yaml.js +0 -120
  561. package/static/assets/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js +0 -72
  562. package/static/assets/codemirror/mode/z80/z80.js +0 -116
  563. package/static/chunk-2KLC4T2Z.js +0 -1
  564. package/static/chunk-373XVRXW.js +0 -1
  565. package/static/chunk-3XVM35O2.js +0 -1
  566. package/static/chunk-3YVRP3VM.js +0 -2
  567. package/static/chunk-AF24EYXU.js +0 -1
  568. package/static/chunk-AKQVEHO6.js +0 -2
  569. package/static/chunk-AY2SZ3G6.js +0 -1
  570. package/static/chunk-BCVX464U.js +0 -2
  571. package/static/chunk-C36MW4ME.js +0 -562
  572. package/static/chunk-DKSEQTMX.js +0 -1
  573. package/static/chunk-FZ3JPGYZ.js +0 -1
  574. package/static/chunk-GUGNR5TF.js +0 -3
  575. package/static/chunk-H6NE33VX.js +0 -1
  576. package/static/chunk-HNQRZALS.js +0 -1
  577. package/static/chunk-JSWCNGXJ.js +0 -1
  578. package/static/chunk-KFJIQIGR.js +0 -1
  579. package/static/chunk-LVM4QB22.js +0 -1
  580. package/static/chunk-M3XVNQZQ.js +0 -1
  581. package/static/chunk-MFLIJH6T.js +0 -1
  582. package/static/chunk-MSUHTBB2.js +0 -1
  583. package/static/chunk-N3U6637P.js +0 -1
  584. package/static/chunk-NNV4OXSB.js +0 -1
  585. package/static/chunk-NO2LTNW3.js +0 -1
  586. package/static/chunk-OOGP4WSH.js +0 -2
  587. package/static/chunk-PCWDQPOM.js +0 -2
  588. package/static/chunk-PGZZP5W3.js +0 -1
  589. package/static/chunk-Q5KM7LTX.js +0 -1
  590. package/static/chunk-QHC6ZPQ4.js +0 -1
  591. package/static/chunk-QZU2S5CV.js +0 -1
  592. package/static/chunk-SBZ572Q4.js +0 -2
  593. package/static/chunk-SHIVUDP3.js +0 -1
  594. package/static/chunk-SLHTEGRU.js +0 -1
  595. package/static/chunk-SSFF27P2.js +0 -24
  596. package/static/chunk-TPYBFZS5.js +0 -1
  597. package/static/chunk-UEQCWMXD.js +0 -1
  598. package/static/chunk-UG5DMXYO.js +0 -1
  599. package/static/chunk-UJPPR4MX.js +0 -1
  600. package/static/chunk-V3AT2BKP.js +0 -1
  601. package/static/chunk-VKK5BSLX.js +0 -1
  602. package/static/chunk-WJW7CT6G.js +0 -27
  603. package/static/chunk-X5XGK6T7.js +0 -4
  604. package/static/chunk-YEKR5OPO.js +0 -1
  605. package/static/chunk-YW57T2PF.js +0 -1
  606. package/static/chunk-Z5J5F5SX.js +0 -1
  607. package/static/chunk-ZPF2DSQV.js +0 -1
  608. package/static/chunk-ZTCRGJ6Y.js +0 -7
  609. package/static/main-VOL6OMJ5.js +0 -9
  610. package/static/scripts-WRDOQIU5.js +0 -24
  611. package/static/styles-2C2UNCNB.css +0 -1
@@ -1,665 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3
-
4
- (function(mod) {
5
- if (typeof exports == "object" && typeof module == "object") // CommonJS
6
- mod(require("../../lib/codemirror"), require("../htmlmixed/htmlmixed"));
7
- else if (typeof define == "function" && define.amd) // AMD
8
- define(["../../lib/codemirror", "../htmlmixed/htmlmixed"], mod);
9
- else // Plain browser env
10
- mod(CodeMirror);
11
- })(function(CodeMirror) {
12
- "use strict";
13
-
14
- var paramData = { noEndTag: true, soyState: "param-def" };
15
- var tags = {
16
- "alias": { noEndTag: true },
17
- "delpackage": { noEndTag: true },
18
- "namespace": { noEndTag: true, soyState: "namespace-def" },
19
- "@attribute": paramData,
20
- "@attribute?": paramData,
21
- "@param": paramData,
22
- "@param?": paramData,
23
- "@inject": paramData,
24
- "@inject?": paramData,
25
- "@state": paramData,
26
- "template": { soyState: "templ-def", variableScope: true},
27
- "extern": {soyState: "param-def"},
28
- "export": {soyState: "export"},
29
- "literal": { },
30
- "msg": {},
31
- "fallbackmsg": { noEndTag: true, reduceIndent: true},
32
- "select": {},
33
- "plural": {},
34
- "let": { soyState: "var-def" },
35
- "if": {},
36
- "javaimpl": {},
37
- "jsimpl": {},
38
- "elseif": { noEndTag: true, reduceIndent: true},
39
- "else": { noEndTag: true, reduceIndent: true},
40
- "switch": {},
41
- "case": { noEndTag: true, reduceIndent: true},
42
- "default": { noEndTag: true, reduceIndent: true},
43
- "foreach": { variableScope: true, soyState: "for-loop" },
44
- "ifempty": { noEndTag: true, reduceIndent: true},
45
- "for": { variableScope: true, soyState: "for-loop" },
46
- "call": { soyState: "templ-ref" },
47
- "param": { soyState: "param-ref"},
48
- "print": { noEndTag: true },
49
- "deltemplate": { soyState: "templ-def", variableScope: true},
50
- "delcall": { soyState: "templ-ref" },
51
- "log": {},
52
- "element": { variableScope: true },
53
- "velog": {},
54
- "const": { soyState: "const-def"},
55
- };
56
-
57
- var indentingTags = Object.keys(tags).filter(function(tag) {
58
- return !tags[tag].noEndTag || tags[tag].reduceIndent;
59
- });
60
-
61
- CodeMirror.defineMode("soy", function(config) {
62
- var textMode = CodeMirror.getMode(config, "text/plain");
63
- var modes = {
64
- html: CodeMirror.getMode(config, {name: "text/html", multilineTagIndentFactor: 2, multilineTagIndentPastTag: false, allowMissingTagName: true}),
65
- attributes: textMode,
66
- text: textMode,
67
- uri: textMode,
68
- trusted_resource_uri: textMode,
69
- css: CodeMirror.getMode(config, "text/css"),
70
- js: CodeMirror.getMode(config, {name: "text/javascript", statementIndent: 2 * config.indentUnit})
71
- };
72
-
73
- function last(array) {
74
- return array[array.length - 1];
75
- }
76
-
77
- function tokenUntil(stream, state, untilRegExp) {
78
- if (stream.sol()) {
79
- for (var indent = 0; indent < state.indent; indent++) {
80
- if (!stream.eat(/\s/)) break;
81
- }
82
- if (indent) return null;
83
- }
84
- var oldString = stream.string;
85
- var match = untilRegExp.exec(oldString.substr(stream.pos));
86
- if (match) {
87
- // We don't use backUp because it backs up just the position, not the state.
88
- // This uses an undocumented API.
89
- stream.string = oldString.substr(0, stream.pos + match.index);
90
- }
91
- var result = stream.hideFirstChars(state.indent, function() {
92
- var localState = last(state.localStates);
93
- return localState.mode.token(stream, localState.state);
94
- });
95
- stream.string = oldString;
96
- return result;
97
- }
98
-
99
- function contains(list, element) {
100
- while (list) {
101
- if (list.element === element) return true;
102
- list = list.next;
103
- }
104
- return false;
105
- }
106
-
107
- function prepend(list, element) {
108
- return {
109
- element: element,
110
- next: list
111
- };
112
- }
113
-
114
- function popcontext(state) {
115
- if (!state.context) return;
116
- if (state.context.scope) {
117
- state.variables = state.context.scope;
118
- }
119
- state.context = state.context.previousContext;
120
- }
121
-
122
- // Reference a variable `name` in `list`.
123
- // Let `loose` be truthy to ignore missing identifiers.
124
- function ref(list, name, loose) {
125
- return contains(list, name) ? "variable-2" : (loose ? "variable" : "variable-2 error");
126
- }
127
-
128
- // Data for an open soy tag.
129
- function Context(previousContext, tag, scope) {
130
- this.previousContext = previousContext;
131
- this.tag = tag;
132
- this.kind = null;
133
- this.scope = scope;
134
- }
135
-
136
- function expression(stream, state) {
137
- var match;
138
- if (stream.match(/[[]/)) {
139
- state.soyState.push("list-literal");
140
- state.context = new Context(state.context, "list-literal", state.variables);
141
- state.lookupVariables = false;
142
- return null;
143
- } else if (stream.match(/\bmap(?=\()/)) {
144
- state.soyState.push("map-literal");
145
- return "keyword";
146
- } else if (stream.match(/\brecord(?=\()/)) {
147
- state.soyState.push("record-literal");
148
- return "keyword";
149
- } else if (stream.match(/([\w]+)(?=\()/)) {
150
- return "variable callee";
151
- } else if (match = stream.match(/^["']/)) {
152
- state.soyState.push("string");
153
- state.quoteKind = match[0];
154
- return "string";
155
- } else if (stream.match(/^[(]/)) {
156
- state.soyState.push("open-parentheses");
157
- return null;
158
- } else if (stream.match(/(null|true|false)(?!\w)/) ||
159
- stream.match(/0x([0-9a-fA-F]{2,})/) ||
160
- stream.match(/-?([0-9]*[.])?[0-9]+(e[0-9]*)?/)) {
161
- return "atom";
162
- } else if (stream.match(/(\||[+\-*\/%]|[=!]=|\?:|[<>]=?)/)) {
163
- // Tokenize filter, binary, null propagator, and equality operators.
164
- return "operator";
165
- } else if (match = stream.match(/^\$([\w]+)/)) {
166
- return ref(state.variables, match[1], !state.lookupVariables);
167
- } else if (match = stream.match(/^\w+/)) {
168
- return /^(?:as|and|or|not|in|if)$/.test(match[0]) ? "keyword" : null;
169
- }
170
-
171
- stream.next();
172
- return null;
173
- }
174
-
175
- return {
176
- startState: function() {
177
- return {
178
- soyState: [],
179
- variables: prepend(null, 'ij'),
180
- scopes: null,
181
- indent: 0,
182
- quoteKind: null,
183
- context: null,
184
- lookupVariables: true, // Is unknown variables considered an error
185
- localStates: [{
186
- mode: modes.html,
187
- state: CodeMirror.startState(modes.html)
188
- }]
189
- };
190
- },
191
-
192
- copyState: function(state) {
193
- return {
194
- tag: state.tag, // Last seen Soy tag.
195
- soyState: state.soyState.concat([]),
196
- variables: state.variables,
197
- context: state.context,
198
- indent: state.indent, // Indentation of the following line.
199
- quoteKind: state.quoteKind,
200
- lookupVariables: state.lookupVariables,
201
- localStates: state.localStates.map(function(localState) {
202
- return {
203
- mode: localState.mode,
204
- state: CodeMirror.copyState(localState.mode, localState.state)
205
- };
206
- })
207
- };
208
- },
209
-
210
- token: function(stream, state) {
211
- var match;
212
-
213
- switch (last(state.soyState)) {
214
- case "comment":
215
- if (stream.match(/^.*?\*\//)) {
216
- state.soyState.pop();
217
- } else {
218
- stream.skipToEnd();
219
- }
220
- if (!state.context || !state.context.scope) {
221
- var paramRe = /@param\??\s+(\S+)/g;
222
- var current = stream.current();
223
- for (var match; (match = paramRe.exec(current)); ) {
224
- state.variables = prepend(state.variables, match[1]);
225
- }
226
- }
227
- return "comment";
228
-
229
- case "string":
230
- var match = stream.match(/^.*?(["']|\\[\s\S])/);
231
- if (!match) {
232
- stream.skipToEnd();
233
- } else if (match[1] == state.quoteKind) {
234
- state.quoteKind = null;
235
- state.soyState.pop();
236
- }
237
- return "string";
238
- }
239
-
240
- if (!state.soyState.length || last(state.soyState) != "literal") {
241
- if (stream.match(/^\/\*/)) {
242
- state.soyState.push("comment");
243
- return "comment";
244
- } else if (stream.match(stream.sol() ? /^\s*\/\/.*/ : /^\s+\/\/.*/)) {
245
- return "comment";
246
- }
247
- }
248
-
249
- switch (last(state.soyState)) {
250
- case "templ-def":
251
- if (match = stream.match(/^\.?([\w]+(?!\.[\w]+)*)/)) {
252
- state.soyState.pop();
253
- return "def";
254
- }
255
- stream.next();
256
- return null;
257
-
258
- case "templ-ref":
259
- if (match = stream.match(/(\.?[a-zA-Z_][a-zA-Z_0-9]+)+/)) {
260
- state.soyState.pop();
261
- // If the first character is '.', it can only be a local template.
262
- if (match[0][0] == '.') {
263
- return "variable-2"
264
- }
265
- // Otherwise
266
- return "variable";
267
- }
268
- if (match = stream.match(/^\$([\w]+)/)) {
269
- state.soyState.pop();
270
- return ref(state.variables, match[1], !state.lookupVariables);
271
- }
272
-
273
- stream.next();
274
- return null;
275
-
276
- case "namespace-def":
277
- if (match = stream.match(/^\.?([\w\.]+)/)) {
278
- state.soyState.pop();
279
- return "variable";
280
- }
281
- stream.next();
282
- return null;
283
-
284
- case "param-def":
285
- if (match = stream.match(/^\*/)) {
286
- state.soyState.pop();
287
- state.soyState.push("param-type");
288
- return "type";
289
- }
290
- if (match = stream.match(/^\w+/)) {
291
- state.variables = prepend(state.variables, match[0]);
292
- state.soyState.pop();
293
- state.soyState.push("param-type");
294
- return "def";
295
- }
296
- stream.next();
297
- return null;
298
-
299
- case "param-ref":
300
- if (match = stream.match(/^\w+/)) {
301
- state.soyState.pop();
302
- return "property";
303
- }
304
- stream.next();
305
- return null;
306
-
307
- case "open-parentheses":
308
- if (stream.match(/[)]/)) {
309
- state.soyState.pop();
310
- return null;
311
- }
312
- return expression(stream, state);
313
-
314
- case "param-type":
315
- var peekChar = stream.peek();
316
- if ("}]=>,".indexOf(peekChar) != -1) {
317
- state.soyState.pop();
318
- return null;
319
- } else if (peekChar == "[") {
320
- state.soyState.push('param-type-record');
321
- return null;
322
- } else if (peekChar == "(") {
323
- state.soyState.push('param-type-template');
324
- return null;
325
- } else if (peekChar == "<") {
326
- state.soyState.push('param-type-parameter');
327
- return null;
328
- } else if (match = stream.match(/^([\w]+|[?])/)) {
329
- return "type";
330
- }
331
- stream.next();
332
- return null;
333
-
334
- case "param-type-record":
335
- var peekChar = stream.peek();
336
- if (peekChar == "]") {
337
- state.soyState.pop();
338
- return null;
339
- }
340
- if (stream.match(/^\w+/)) {
341
- state.soyState.push('param-type');
342
- return "property";
343
- }
344
- stream.next();
345
- return null;
346
-
347
- case "param-type-parameter":
348
- if (stream.match(/^[>]/)) {
349
- state.soyState.pop();
350
- return null;
351
- }
352
- if (stream.match(/^[<,]/)) {
353
- state.soyState.push('param-type');
354
- return null;
355
- }
356
- stream.next();
357
- return null;
358
-
359
- case "param-type-template":
360
- if (stream.match(/[>]/)) {
361
- state.soyState.pop();
362
- state.soyState.push('param-type');
363
- return null;
364
- }
365
- if (stream.match(/^\w+/)) {
366
- state.soyState.push('param-type');
367
- return "def";
368
- }
369
- stream.next();
370
- return null;
371
-
372
- case "var-def":
373
- if (match = stream.match(/^\$([\w]+)/)) {
374
- state.variables = prepend(state.variables, match[1]);
375
- state.soyState.pop();
376
- return "def";
377
- }
378
- stream.next();
379
- return null;
380
-
381
- case "for-loop":
382
- if (stream.match(/\bin\b/)) {
383
- state.soyState.pop();
384
- return "keyword";
385
- }
386
- if (stream.peek() == "$") {
387
- state.soyState.push('var-def');
388
- return null;
389
- }
390
- stream.next();
391
- return null;
392
-
393
- case "record-literal":
394
- if (stream.match(/^[)]/)) {
395
- state.soyState.pop();
396
- return null;
397
- }
398
- if (stream.match(/[(,]/)) {
399
- state.soyState.push("map-value")
400
- state.soyState.push("record-key")
401
- return null;
402
- }
403
- stream.next()
404
- return null;
405
-
406
- case "map-literal":
407
- if (stream.match(/^[)]/)) {
408
- state.soyState.pop();
409
- return null;
410
- }
411
- if (stream.match(/[(,]/)) {
412
- state.soyState.push("map-value")
413
- state.soyState.push("map-value")
414
- return null;
415
- }
416
- stream.next()
417
- return null;
418
-
419
- case "list-literal":
420
- if (stream.match(']')) {
421
- state.soyState.pop();
422
- state.lookupVariables = true;
423
- popcontext(state);
424
- return null;
425
- }
426
- if (stream.match(/\bfor\b/)) {
427
- state.lookupVariables = true;
428
- state.soyState.push('for-loop');
429
- return "keyword";
430
- }
431
- return expression(stream, state);
432
-
433
- case "record-key":
434
- if (stream.match(/[\w]+/)) {
435
- return "property";
436
- }
437
- if (stream.match(/^[:]/)) {
438
- state.soyState.pop();
439
- return null;
440
- }
441
- stream.next();
442
- return null;
443
-
444
- case "map-value":
445
- if (stream.peek() == ")" || stream.peek() == "," || stream.match(/^[:)]/)) {
446
- state.soyState.pop();
447
- return null;
448
- }
449
- return expression(stream, state);
450
-
451
- case "import":
452
- if (stream.eat(";")) {
453
- state.soyState.pop();
454
- state.indent -= 2 * config.indentUnit;
455
- return null;
456
- }
457
- if (stream.match(/\w+(?=\s+as\b)/)) {
458
- return "variable";
459
- }
460
- if (match = stream.match(/\w+/)) {
461
- return /\b(from|as)\b/.test(match[0]) ? "keyword" : "def";
462
- }
463
- if (match = stream.match(/^["']/)) {
464
- state.soyState.push("string");
465
- state.quoteKind = match[0];
466
- return "string";
467
- }
468
- stream.next();
469
- return null;
470
-
471
- case "tag":
472
- var endTag;
473
- var tagName;
474
- if (state.tag === undefined) {
475
- endTag = true;
476
- tagName = '';
477
- } else {
478
- endTag = state.tag[0] == "/";
479
- tagName = endTag ? state.tag.substring(1) : state.tag;
480
- }
481
- var tag = tags[tagName];
482
- if (stream.match(/^\/?}/)) {
483
- var selfClosed = stream.current() == "/}";
484
- if (selfClosed && !endTag) {
485
- popcontext(state);
486
- }
487
- if (state.tag == "/template" || state.tag == "/deltemplate") {
488
- state.variables = prepend(null, 'ij');
489
- state.indent = 0;
490
- } else {
491
- state.indent -= config.indentUnit *
492
- (selfClosed || indentingTags.indexOf(state.tag) == -1 ? 2 : 1);
493
- }
494
- state.soyState.pop();
495
- return "keyword";
496
- } else if (stream.match(/^([\w?]+)(?==)/)) {
497
- if (state.context && state.context.tag == tagName && stream.current() == "kind" && (match = stream.match(/^="([^"]+)/, false))) {
498
- var kind = match[1];
499
- state.context.kind = kind;
500
- var mode = modes[kind] || modes.html;
501
- var localState = last(state.localStates);
502
- if (localState.mode.indent) {
503
- state.indent += localState.mode.indent(localState.state, "", "");
504
- }
505
- state.localStates.push({
506
- mode: mode,
507
- state: CodeMirror.startState(mode)
508
- });
509
- }
510
- return "attribute";
511
- }
512
- return expression(stream, state);
513
-
514
- case "template-call-expression":
515
- if (stream.match(/^([\w-?]+)(?==)/)) {
516
- return "attribute";
517
- } else if (stream.eat('>')) {
518
- state.soyState.pop();
519
- return "keyword";
520
- } else if (stream.eat('/>')) {
521
- state.soyState.pop();
522
- return "keyword";
523
- }
524
- return expression(stream, state);
525
- case "literal":
526
- if (stream.match('{/literal}', false)) {
527
- state.soyState.pop();
528
- return this.token(stream, state);
529
- }
530
- return tokenUntil(stream, state, /\{\/literal}/);
531
- case "export":
532
- if (match = stream.match(/\w+/)) {
533
- state.soyState.pop();
534
- if (match == "const") {
535
- state.soyState.push("const-def")
536
- return "keyword";
537
- } else if (match == "extern") {
538
- state.soyState.push("param-def")
539
- return "keyword";
540
- }
541
- } else {
542
- stream.next();
543
- }
544
- return null;
545
- case "const-def":
546
- if (stream.match(/^\w+/)) {
547
- state.soyState.pop();
548
- return "def";
549
- }
550
- stream.next();
551
- return null;
552
- }
553
-
554
- if (stream.match('{literal}')) {
555
- state.indent += config.indentUnit;
556
- state.soyState.push("literal");
557
- state.context = new Context(state.context, "literal", state.variables);
558
- return "keyword";
559
-
560
- // A tag-keyword must be followed by whitespace, comment or a closing tag.
561
- } else if (match = stream.match(/^\{([/@\\]?\w+\??)(?=$|[\s}]|\/[/*])/)) {
562
- var prevTag = state.tag;
563
- state.tag = match[1];
564
- var endTag = state.tag[0] == "/";
565
- var indentingTag = !!tags[state.tag];
566
- var tagName = endTag ? state.tag.substring(1) : state.tag;
567
- var tag = tags[tagName];
568
- if (state.tag != "/switch")
569
- state.indent += ((endTag || tag && tag.reduceIndent) && prevTag != "switch" ? 1 : 2) * config.indentUnit;
570
-
571
- state.soyState.push("tag");
572
- var tagError = false;
573
- if (tag) {
574
- if (!endTag) {
575
- if (tag.soyState) state.soyState.push(tag.soyState);
576
- }
577
- // If a new tag, open a new context.
578
- if (!tag.noEndTag && (indentingTag || !endTag)) {
579
- state.context = new Context(state.context, state.tag, tag.variableScope ? state.variables : null);
580
- // Otherwise close the current context.
581
- } else if (endTag) {
582
- var isBalancedForExtern = tagName == 'extern' && (state.context && state.context.tag == 'export');
583
- if (!state.context || ((state.context.tag != tagName) && !isBalancedForExtern)) {
584
- tagError = true;
585
- } else if (state.context) {
586
- if (state.context.kind) {
587
- state.localStates.pop();
588
- var localState = last(state.localStates);
589
- if (localState.mode.indent) {
590
- state.indent -= localState.mode.indent(localState.state, "", "");
591
- }
592
- }
593
- popcontext(state);
594
- }
595
- }
596
- } else if (endTag) {
597
- // Assume all tags with a closing tag are defined in the config.
598
- tagError = true;
599
- }
600
- return (tagError ? "error " : "") + "keyword";
601
-
602
- // Not a tag-keyword; it's an implicit print tag.
603
- } else if (stream.eat('{')) {
604
- state.tag = "print";
605
- state.indent += 2 * config.indentUnit;
606
- state.soyState.push("tag");
607
- return "keyword";
608
- } else if (!state.context && stream.sol() && stream.match(/import\b/)) {
609
- state.soyState.push("import");
610
- state.indent += 2 * config.indentUnit;
611
- return "keyword";
612
- } else if (match = stream.match('<{')) {
613
- state.soyState.push("template-call-expression");
614
- state.indent += 2 * config.indentUnit;
615
- state.soyState.push("tag");
616
- return "keyword";
617
- } else if (match = stream.match('</>')) {
618
- state.indent -= 1 * config.indentUnit;
619
- return "keyword";
620
- }
621
-
622
- return tokenUntil(stream, state, /\{|\s+\/\/|\/\*/);
623
- },
624
-
625
- indent: function(state, textAfter, line) {
626
- var indent = state.indent, top = last(state.soyState);
627
- if (top == "comment") return CodeMirror.Pass;
628
-
629
- if (top == "literal") {
630
- if (/^\{\/literal}/.test(textAfter)) indent -= config.indentUnit;
631
- } else {
632
- if (/^\s*\{\/(template|deltemplate)\b/.test(textAfter)) return 0;
633
- if (/^\{(\/|(fallbackmsg|elseif|else|ifempty)\b)/.test(textAfter)) indent -= config.indentUnit;
634
- if (state.tag != "switch" && /^\{(case|default)\b/.test(textAfter)) indent -= config.indentUnit;
635
- if (/^\{\/switch\b/.test(textAfter)) indent -= config.indentUnit;
636
- }
637
- var localState = last(state.localStates);
638
- if (indent && localState.mode.indent) {
639
- indent += localState.mode.indent(localState.state, textAfter, line);
640
- }
641
- return indent;
642
- },
643
-
644
- innerMode: function(state) {
645
- if (state.soyState.length && last(state.soyState) != "literal") return null;
646
- else return last(state.localStates);
647
- },
648
-
649
- electricInput: /^\s*\{(\/|\/template|\/deltemplate|\/switch|fallbackmsg|elseif|else|case|default|ifempty|\/literal\})$/,
650
- lineComment: "//",
651
- blockCommentStart: "/*",
652
- blockCommentEnd: "*/",
653
- blockCommentContinue: " * ",
654
- useInnerComments: false,
655
- fold: "indent"
656
- };
657
- }, "htmlmixed");
658
-
659
- CodeMirror.registerHelper("wordChars", "soy", /[\w$]/);
660
-
661
- CodeMirror.registerHelper("hintWords", "soy", Object.keys(tags).concat(
662
- ["css", "debugger"]));
663
-
664
- CodeMirror.defineMIME("text/x-soy", "soy");
665
- });