@inboxsdk/core 1.2.5 → 1.2.7

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 (328) hide show
  1. package/inboxsdk.js +4462 -456
  2. package/inboxsdk.js.map +1 -1
  3. package/package.json +1 -1
  4. package/pageWorld.js +1 -1
  5. package/pageWorld.js.map +1 -1
  6. package/src/inboxsdk.d.ts +29 -0
  7. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts +2 -2
  8. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts.map +1 -1
  9. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts +6 -1
  10. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts.map +1 -1
  11. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +2 -2
  12. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts.map +1 -1
  13. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts +5 -0
  14. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts.map +1 -1
  15. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts +13 -5
  16. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts.map +1 -1
  17. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts +1 -1
  18. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts.map +1 -1
  19. package/src/platform-implementation-js/namespaces/conversations.d.ts +7 -0
  20. package/src/platform-implementation-js/namespaces/conversations.d.ts.map +1 -1
  21. package/src/platform-implementation-js/namespaces/nav-menu.d.ts +4 -2
  22. package/src/platform-implementation-js/namespaces/nav-menu.d.ts.map +1 -1
  23. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts +12 -5
  24. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts.map +1 -1
  25. package/src/platform-implementation-js/views/native-nav-item-view.d.ts +2 -1
  26. package/src/platform-implementation-js/views/native-nav-item-view.d.ts.map +1 -1
  27. package/src/build/exec.js +0 -26
  28. package/src/build/spawn.js +0 -17
  29. package/src/common/ajax.js +0 -90
  30. package/src/common/cachebust-url.js +0 -10
  31. package/src/common/censorHTMLstring.js +0 -37
  32. package/src/common/censorHTMLtree.js +0 -28
  33. package/src/common/censorJSONTree.js +0 -15
  34. package/src/common/connectivity-test.js +0 -21
  35. package/src/common/defer.js +0 -11
  36. package/src/common/find-parent.js +0 -10
  37. package/src/common/get-extension-id.js +0 -7
  38. package/src/common/get-or-fail.js +0 -8
  39. package/src/common/get-session-id.js +0 -14
  40. package/src/common/get-stack-trace.js +0 -6
  41. package/src/common/html-to-text.js +0 -7
  42. package/src/common/isElementVisible.js +0 -6
  43. package/src/common/load-script.js +0 -126
  44. package/src/common/log-error.js +0 -185
  45. package/src/common/quoted-split.js +0 -18
  46. package/src/common/rate-limit-queuer.js +0 -57
  47. package/src/common/rate-limit.js +0 -14
  48. package/src/common/version.js +0 -8
  49. package/src/inboxsdk-js/header.js +0 -19
  50. package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +0 -4
  51. package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +0 -4
  52. package/src/inboxsdk-js/inboxsdk-REMOTE.js +0 -2
  53. package/src/inboxsdk-js/inboxsdk-TEST.js +0 -5
  54. package/src/inboxsdk-js/inboxsdk.js +0 -23
  55. package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +0 -14
  56. package/src/inboxsdk-js/loading/platform-implementation-loader.js +0 -28
  57. package/src/injected-js/gmail/constants.js +0 -2
  58. package/src/injected-js/gmail/modify-suggestions.js +0 -106
  59. package/src/injected-js/gmail/setup-gmail-interceptor.js +0 -936
  60. package/src/injected-js/gmail/setup-gmonkey-handler.js +0 -49
  61. package/src/injected-js/gmail/sync-compose-processor-20220909.js +0 -298
  62. package/src/injected-js/gmail/sync-compose-processor.js +0 -55
  63. package/src/injected-js/gmail/sync-compose-request-processor.js +0 -109
  64. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +0 -71
  65. package/src/injected-js/gmail/thread-identifier/index.js +0 -133
  66. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +0 -61
  67. package/src/injected-js/injected-logger.js +0 -50
  68. package/src/injected-js/main.js +0 -49
  69. package/src/injected-js/message-metadata-holder.js +0 -103
  70. package/src/injected-js/setup-data-exposer.js +0 -135
  71. package/src/injected-js/setup-error-silencer.js +0 -15
  72. package/src/injected-js/setup-event-reemitter.js +0 -47
  73. package/src/injected-js/setupCustomViewEventAssassin.js +0 -90
  74. package/src/injected-js/setupInboxCustomViewLinkFixer.js +0 -24
  75. package/src/injected-js/setupPushStateListener.js +0 -14
  76. package/src/injected-js/xhr-helper.js +0 -43
  77. package/src/injected-js/xhr-proxy-factory.js +0 -537
  78. package/src/platform-implementation-js/constants/nav-item-types.js +0 -19
  79. package/src/platform-implementation-js/constants/router.js +0 -60
  80. package/src/platform-implementation-js/constants/toolbars.js +0 -5
  81. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +0 -158
  82. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.js +0 -20
  83. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.js +0 -38
  84. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.js +0 -98
  85. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.js +0 -4
  86. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +0 -14
  87. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +0 -60
  88. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.js +0 -8
  89. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +0 -47
  90. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +0 -31
  91. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.js +0 -12
  92. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.js +0 -33
  93. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +0 -22
  94. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +0 -18
  95. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +0 -57
  96. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +0 -40
  97. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +0 -55
  98. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.js +0 -14
  99. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +0 -177
  100. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +0 -17
  101. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.js +0 -44
  102. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +0 -49
  103. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +0 -18
  104. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +0 -138
  105. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +0 -112
  106. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +0 -152
  107. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +0 -21
  108. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +0 -48
  109. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +0 -357
  110. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +0 -19
  111. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +0 -36
  112. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +0 -36
  113. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +0 -85
  114. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +0 -142
  115. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +0 -115
  116. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +0 -50
  117. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +0 -723
  118. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.js +0 -38
  119. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.js +0 -12
  120. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.js +0 -264
  121. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.js +0 -201
  122. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.js +0 -532
  123. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.js +0 -300
  124. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.js +0 -21
  125. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +0 -92
  126. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.js +0 -28
  127. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.js +0 -19
  128. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.js +0 -129
  129. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +0 -80
  130. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +0 -23
  131. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +0 -26
  132. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +0 -16
  133. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +0 -723
  134. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +0 -24
  135. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +0 -172
  136. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +0 -106
  137. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +0 -338
  138. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +0 -22
  139. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +0 -720
  140. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +0 -135
  141. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +0 -50
  142. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +0 -65
  143. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.js +0 -101
  144. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +0 -66
  145. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.js +0 -38
  146. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +0 -10
  147. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +0 -14
  148. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +0 -13
  149. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +0 -60
  150. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +0 -54
  151. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +0 -98
  152. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.js +0 -28
  153. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +0 -13
  154. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +0 -18
  155. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +0 -16
  156. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.js +0 -22
  157. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +0 -23
  158. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.js +0 -233
  159. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +0 -19
  160. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +0 -355
  161. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +0 -21
  162. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +0 -63
  163. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.js +0 -223
  164. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +0 -19
  165. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.js +0 -157
  166. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.js +0 -109
  167. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +0 -123
  168. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +0 -16
  169. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +0 -1542
  170. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.js +0 -4
  171. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +0 -75
  172. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +0 -737
  173. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +0 -763
  174. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +0 -103
  175. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +0 -508
  176. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +0 -236
  177. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.js +0 -84
  178. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +0 -986
  179. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +0 -26
  180. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +0 -658
  181. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +0 -459
  182. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +0 -265
  183. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.js +0 -33
  184. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.js +0 -325
  185. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.js +0 -61
  186. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.js +0 -58
  187. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +0 -23
  188. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.js +0 -101
  189. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.js +0 -30
  190. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.js +0 -10
  191. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +0 -42
  192. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.js +0 -22
  193. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +0 -112
  194. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +0 -122
  195. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +0 -194
  196. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +0 -352
  197. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +0 -76
  198. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +0 -57
  199. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +0 -291
  200. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +0 -28
  201. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +0 -46
  202. package/src/platform-implementation-js/driver-common/getAccountUrlPart.js +0 -17
  203. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +0 -17
  204. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +0 -44
  205. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.js +0 -33
  206. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +0 -18
  207. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.js +0 -49
  208. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +0 -13
  209. package/src/platform-implementation-js/driver-common/gmailAjax.js +0 -65
  210. package/src/platform-implementation-js/driver-common/inboxAjax.js +0 -5
  211. package/src/platform-implementation-js/driver-common/render-custom-icon.js +0 -16
  212. package/src/platform-implementation-js/driver-common/requestGmailThread.js +0 -24
  213. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +0 -245
  214. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +0 -144
  215. package/src/platform-implementation-js/driver-common/sidebar/constants.js +0 -26
  216. package/src/platform-implementation-js/driver-common/update-icon.js +0 -90
  217. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +0 -1
  218. package/src/platform-implementation-js/driver-interfaces/driver.js +0 -1
  219. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +0 -1
  220. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +0 -1
  221. package/src/platform-implementation-js/lib/ErrorCollector.js +0 -47
  222. package/src/platform-implementation-js/lib/Membrane.js +0 -22
  223. package/src/platform-implementation-js/lib/ScrollableContainByScreen.js +0 -30
  224. package/src/platform-implementation-js/lib/attemptWithRetries.js +0 -16
  225. package/src/platform-implementation-js/lib/common-page-communicator.js +0 -137
  226. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +0 -35
  227. package/src/platform-implementation-js/lib/css-selector-escape.js +0 -6
  228. package/src/platform-implementation-js/lib/delay-asap.js +0 -10
  229. package/src/platform-implementation-js/lib/delay-idle.js +0 -16
  230. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.js +0 -36
  231. package/src/platform-implementation-js/lib/dom/custom-events.js +0 -5
  232. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +0 -9
  233. package/src/platform-implementation-js/lib/dom/generic-button-view.js +0 -39
  234. package/src/platform-implementation-js/lib/dom/get-insert-before-element.js +0 -39
  235. package/src/platform-implementation-js/lib/dom/get-selection.js +0 -30
  236. package/src/platform-implementation-js/lib/dom/insert-element-in-order.js +0 -38
  237. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +0 -83
  238. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +0 -12
  239. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.js +0 -12
  240. package/src/platform-implementation-js/lib/dom/make-element-child-stream.js +0 -79
  241. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.js +0 -27
  242. package/src/platform-implementation-js/lib/dom/make-element-view-stream.js +0 -15
  243. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.js +0 -15
  244. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.js +0 -5
  245. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +0 -8
  246. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.js +0 -38
  247. package/src/platform-implementation-js/lib/dom/parentNodes.js +0 -8
  248. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.js +0 -6
  249. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.js +0 -22
  250. package/src/platform-implementation-js/lib/dom/set-css.js +0 -20
  251. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +0 -88
  252. package/src/platform-implementation-js/lib/dom/simulate-key.js +0 -46
  253. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.js +0 -16
  254. package/src/platform-implementation-js/lib/dom/trigger-relay-event.js +0 -7
  255. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.js +0 -25
  256. package/src/platform-implementation-js/lib/fake-window-resize.js +0 -5
  257. package/src/platform-implementation-js/lib/from-event-target-capture.js +0 -12
  258. package/src/platform-implementation-js/lib/fromEventsWithOptions.js +0 -10
  259. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +0 -124
  260. package/src/platform-implementation-js/lib/handler-registry.js +0 -67
  261. package/src/platform-implementation-js/lib/idMap.js +0 -40
  262. package/src/platform-implementation-js/lib/imageRequest.js +0 -8
  263. package/src/platform-implementation-js/lib/incrementName.js +0 -7
  264. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.js +0 -13
  265. package/src/platform-implementation-js/lib/inject-script.js +0 -33
  266. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +0 -44
  267. package/src/platform-implementation-js/lib/is-valid-app-id.js +0 -27
  268. package/src/platform-implementation-js/lib/is-valid-email.js +0 -14
  269. package/src/platform-implementation-js/lib/isNotNil.js +0 -5
  270. package/src/platform-implementation-js/lib/isStreakAppId.js +0 -11
  271. package/src/platform-implementation-js/lib/logger.js +0 -439
  272. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +0 -10
  273. package/src/platform-implementation-js/lib/persistent-queue.js +0 -107
  274. package/src/platform-implementation-js/lib/populateRouteID.js +0 -17
  275. package/src/platform-implementation-js/lib/react/ElementContainer.js +0 -26
  276. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +0 -8
  277. package/src/platform-implementation-js/lib/safe-event-emitter.js +0 -16
  278. package/src/platform-implementation-js/lib/stopper-pool.js +0 -41
  279. package/src/platform-implementation-js/lib/stream-wait-for.js +0 -30
  280. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +0 -12
  281. package/src/platform-implementation-js/lib/toLiveSet.js +0 -22
  282. package/src/platform-implementation-js/lib/wait-for.js +0 -38
  283. package/src/platform-implementation-js/lib/waitForAsync.js +0 -18
  284. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +0 -5
  285. package/src/platform-implementation-js/main.js +0 -42
  286. package/src/platform-implementation-js/namespaces/app-menu.js +0 -81
  287. package/src/platform-implementation-js/namespaces/butter-bar.js +0 -163
  288. package/src/platform-implementation-js/namespaces/compose.js +0 -59
  289. package/src/platform-implementation-js/namespaces/conversations.js +0 -83
  290. package/src/platform-implementation-js/namespaces/global.js +0 -30
  291. package/src/platform-implementation-js/namespaces/keyboard.js +0 -30
  292. package/src/platform-implementation-js/namespaces/lists.js +0 -40
  293. package/src/platform-implementation-js/namespaces/modal.js +0 -43
  294. package/src/platform-implementation-js/namespaces/nav-menu.js +0 -33
  295. package/src/platform-implementation-js/namespaces/router.js +0 -139
  296. package/src/platform-implementation-js/namespaces/search.js +0 -29
  297. package/src/platform-implementation-js/namespaces/toolbars.js +0 -147
  298. package/src/platform-implementation-js/namespaces/user.js +0 -57
  299. package/src/platform-implementation-js/namespaces/widgets.js +0 -73
  300. package/src/platform-implementation-js/platform-implementation.js +0 -178
  301. package/src/platform-implementation-js/views/SimpleElementView.js +0 -16
  302. package/src/platform-implementation-js/views/app-menu-item-view.js +0 -442
  303. package/src/platform-implementation-js/views/app-toolbar-button-view.js +0 -43
  304. package/src/platform-implementation-js/views/collapsible-panel-view.js +0 -256
  305. package/src/platform-implementation-js/views/collapsible-section-view.js +0 -63
  306. package/src/platform-implementation-js/views/compose-button-view.js +0 -45
  307. package/src/platform-implementation-js/views/compose-view.js +0 -310
  308. package/src/platform-implementation-js/views/content-panel-view.js +0 -36
  309. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +0 -41
  310. package/src/platform-implementation-js/views/conversations/custom-message-view.js +0 -117
  311. package/src/platform-implementation-js/views/conversations/message-view.js +0 -203
  312. package/src/platform-implementation-js/views/conversations/thread-view.js +0 -97
  313. package/src/platform-implementation-js/views/keyboard-shortcut-handle.js +0 -14
  314. package/src/platform-implementation-js/views/native-nav-item-view.js +0 -60
  315. package/src/platform-implementation-js/views/nav-item-view.js +0 -130
  316. package/src/platform-implementation-js/views/route-view/custom-route-view.js +0 -25
  317. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +0 -29
  318. package/src/platform-implementation-js/views/route-view/list-route-view.js +0 -46
  319. package/src/platform-implementation-js/views/route-view/route-view.js +0 -47
  320. package/src/platform-implementation-js/views/section-view.js +0 -60
  321. package/src/platform-implementation-js/views/thread-row-view.js +0 -90
  322. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.js +0 -39
  323. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.js +0 -98
  324. package/src/platform-implementation-js/widgets/buttons/dropdown-view.js +0 -121
  325. package/src/platform-implementation-js/widgets/drawer-view.js +0 -46
  326. package/src/platform-implementation-js/widgets/modal-view.js +0 -108
  327. package/src/platform-implementation-js/widgets/mole-view.js +0 -38
  328. package/src/platform-implementation-js/widgets/top-message-bar-view.js +0 -15
@@ -1,16 +0,0 @@
1
- import EventEmitter from 'events';
2
- import Logger from './logger';
3
- /* eslint-disable prefer-rest-params */
4
- // Version of EventEmitter where any exceptions thrown by event handlers are
5
- // caught. This is used to catch exceptions from application code.
6
- export default class SafeEventEmitter extends EventEmitter {
7
- emit(_event, ..._args) {
8
- try {
9
- return super.emit.apply(this, arguments);
10
- }
11
- catch (e) {
12
- Logger.error(e);
13
- return true;
14
- }
15
- }
16
- }
@@ -1,41 +0,0 @@
1
- import * as Kefir from 'kefir';
2
- // An StopperPool is created from a stopper stream, and can have more stopper
3
- // streams added to it. It has a stream property which is a stopper stream which
4
- // emits a stop event and ends only after all of its input stopper streams have
5
- // stopped.
6
- export default class StopperPool {
7
- _streamCount = 0;
8
- _ended = false;
9
- _pool = Kefir.pool();
10
- stream;
11
- constructor(streams) {
12
- this.stream = this._pool
13
- .filter(() => {
14
- this._streamCount--;
15
- if (this._streamCount === 0) {
16
- this._ended = true;
17
- return true;
18
- }
19
- return false;
20
- })
21
- .take(1)
22
- .toProperty();
23
- // force stream to be active so this._streamCount, this._ended, and the
24
- // property's cached value will be kept up-to-date
25
- this.stream.onValue(() => {
26
- // ignore
27
- });
28
- this.add(streams);
29
- }
30
- add(newStreams) {
31
- if (this._ended) {
32
- throw new Error('Tried to add a stream to a stopped StopperPool');
33
- }
34
- const arrStreams = Array.isArray(newStreams) ? newStreams : [newStreams];
35
- this._streamCount += arrStreams.length;
36
- this._pool.plug(Kefir.merge(arrStreams.map((newStream) => newStream.take(1))));
37
- }
38
- getSize() {
39
- return this._streamCount;
40
- }
41
- }
@@ -1,30 +0,0 @@
1
- import * as Kefir from 'kefir';
2
- /**
3
- * Returns a Kefir stream that repeatedly calls the condition callback until it
4
- * returns a truthy value, and then the stream emits that value and ends.
5
- * If the timeout passes, an error event is emitted and the error is also
6
- * thrown so that it gets logged. Well-behaving code should not let the timeout
7
- * get tripped.
8
- */
9
- export default function streamWaitFor(condition, timeout = 60 * 1000, steptime = 250) {
10
- // make this error here so we have a sensible stack.
11
- const timeoutError = new Error('waitFor timeout');
12
- const timeoutStream = Kefir.later(timeout, null).flatMap(() => {
13
- const result = condition();
14
- if (result) {
15
- return Kefir.constant(result);
16
- }
17
- setTimeout(() => {
18
- throw timeoutError;
19
- }, 0);
20
- return Kefir.constantError(timeoutError);
21
- });
22
- const isTruthy = Boolean;
23
- return Kefir.later(0, null)
24
- .merge(Kefir.interval(steptime, null))
25
- .map(() => condition())
26
- .filter(isTruthy)
27
- .merge(timeoutStream)
28
- .take(1)
29
- .takeErrors(1);
30
- }
@@ -1,12 +0,0 @@
1
- import toValueObservable from 'live-set/toValueObservable';
2
- import * as Kefir from 'kefir';
3
- export default function toItemWithLifetimeStream(liveSet) {
4
- return Kefir.fromESObservable(toValueObservable(liveSet).map((event) => {
5
- const removal = event.removal;
6
- const removalStream = Kefir.fromPromise(removal);
7
- return {
8
- el: event.value,
9
- removalStream,
10
- };
11
- }));
12
- }
@@ -1,22 +0,0 @@
1
- import LiveSet from 'live-set';
2
- export default function toLiveSet(itemWithLifetimeStream) {
3
- return new LiveSet({
4
- read() {
5
- throw new Error('should not happen; liveset was inactive');
6
- },
7
- listen(setValues, controller) {
8
- setValues(new Set());
9
- const sub = itemWithLifetimeStream.observe({
10
- value({ el, removalStream }) {
11
- controller.add(el);
12
- removalStream.take(1).onValue(() => {
13
- controller.remove(el);
14
- });
15
- },
16
- });
17
- return () => {
18
- sub.unsubscribe();
19
- };
20
- },
21
- });
22
- }
@@ -1,38 +0,0 @@
1
- export class WaitForError extends Error {
2
- name = 'WaitForError';
3
- constructor() {
4
- super('waitFor timeout');
5
- }
6
- }
7
- /**
8
- * @param condition a function that returns the value to wait for, or falsey if it's not ready yet
9
- * @throws {WaitForError} if the condition is not met within the timeout
10
- */
11
- export default function waitFor(condition, timeout = 120 * 1000, steptime = 250) {
12
- // make this error here so we have a sensible stack.
13
- const timeoutError = new WaitForError();
14
- return new Promise(function (resolve, reject) {
15
- let waited = 0;
16
- function step() {
17
- try {
18
- const result = condition();
19
- if (result) {
20
- resolve(result);
21
- }
22
- else {
23
- if (waited >= timeout) {
24
- reject(timeoutError);
25
- }
26
- else {
27
- waited += steptime;
28
- setTimeout(step, steptime);
29
- }
30
- }
31
- }
32
- catch (e) {
33
- reject(e);
34
- }
35
- }
36
- setTimeout(step, 1);
37
- });
38
- }
@@ -1,18 +0,0 @@
1
- import delay from 'pdelay';
2
- export default async function waitForAsync(condition, timeout = 120 * 1000, steptime = 250) {
3
- // make this error here so we have a sensible stack.
4
- const timeoutError = new Error('waitForAsync timeout');
5
- const timeoutTime = Date.now() + timeout;
6
- // eslint-disable-next-line no-constant-condition
7
- while (true) {
8
- const result = await condition();
9
- if (result) {
10
- return result;
11
- }
12
- await delay(steptime);
13
- if (Date.now() > timeoutTime) {
14
- throw timeoutError;
15
- }
16
- }
17
- throw new Error();
18
- }
@@ -1,5 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-var-requires */
2
- import { injectScriptEmbedded } from './lib/inject-script-EMBEDDED';
3
- import * as injecter from './lib/inject-script';
4
- injecter.setInjectScriptImplementation(injectScriptEmbedded);
5
- export default require('./main').default;
@@ -1,42 +0,0 @@
1
- if (!global.__InboxSDKImpLoader) {
2
- var piMainStarted = Date.now();
3
- var wasAccountSwitcherReadyAtStart = !!document.querySelector('[role=banner] div[aria-label] div div a[href^="https://myaccount.google."], [role=banner]+div div[aria-label] div div a[href^="https://myaccount.google."]');
4
- var Kefir = require('kefir');
5
- var onready = new Promise((resolve) => {
6
- if (document.readyState === 'complete' ||
7
- document.readyState === 'interactive') {
8
- resolve();
9
- }
10
- else {
11
- resolve(Kefir.merge([
12
- Kefir.fromEvents(document, 'DOMContentLoaded'),
13
- Kefir.fromEvents(window, 'load'),
14
- ])
15
- .take(1)
16
- .map(() => null)
17
- .toPromise());
18
- }
19
- });
20
- global.__InboxSDKImpLoader = {
21
- load: function (version, appId, opts) {
22
- if (version !== '0.1') {
23
- throw new Error('Unsupported InboxSDK version');
24
- }
25
- // dropbox specially requested this, they have dropped support for their extensions
26
- // some users are on old version
27
- if (appId === 'dropbox') {
28
- throw new Error('No longer supported');
29
- }
30
- var piLoadStarted = Date.now();
31
- return onready.then(() => {
32
- const { makePlatformImplementation, } = require('./platform-implementation');
33
- return makePlatformImplementation(appId, opts, {
34
- piMainStarted,
35
- piLoadStarted,
36
- wasAccountSwitcherReadyAtStart,
37
- });
38
- });
39
- },
40
- };
41
- }
42
- export {};
@@ -1,81 +0,0 @@
1
- import kefir, { stream } from 'kefir';
2
- import GmailElementGetter from '../dom-driver/gmail/gmail-element-getter';
3
- import { AppMenuItemView } from '../views/app-menu-item-view';
4
- import { CollapsiblePanelView } from '../views/collapsible-panel-view';
5
- /**
6
- * This namespace contains functionality associated with adding app menu items to the app menu panel of Gmail. Typically, these app menu items are accessible by the user on the left side of the email client and include built in app menu items like the Mail and optionally either Chat, Meet, or both. If both Chat and Meet aren't enabled, the AppMenu will not be displayed.
7
- *
8
- * This namespace allows you to add your own items to this App menu. Typically, these app menu items are useful to either place high level collapsible panels like the NavMenu or send users to different Routes that you have already registered providing navigation for your entire application.
9
- The app menu is represented as a list of items. Each item can have either a CollapsiblePanel or click handler.
10
- Items with CollapsiblePanels can also have accessories which provide primary actions like providing a "create new" action.
11
- */
12
- export default class AppMenu {
13
- #driver;
14
- #events = stream((emitter) => {
15
- const f = async () => {
16
- const isShown = await this.isShown();
17
- if (!isShown) {
18
- return;
19
- }
20
- const appMenu = await GmailElementGetter.getAppMenuAsync();
21
- if (!appMenu) {
22
- return;
23
- }
24
- const onTransition = async (e) => {
25
- const { TOGGLE_OPEN_STATE } = CollapsiblePanelView.elementCss;
26
- const { target, type } = e;
27
- if (target instanceof HTMLElement &&
28
- target.matches(CollapsiblePanelView.elementSelectors.NATIVE) &&
29
- ((type === 'transitionstart' &&
30
- target.classList.contains(TOGGLE_OPEN_STATE)) ||
31
- // TOGGLE_OPEN_STATE is removed on transitioncancel TransitionEvents
32
- type === 'transitioncancel' ||
33
- type === 'transitionend')) {
34
- emitter.emit({
35
- name: 'collapseToggled',
36
- event: e,
37
- });
38
- }
39
- };
40
- kefir
41
- .merge(['transitionstart', 'transitioncancel', 'transitionend'].map((x) => kefir.fromEvents(appMenu.parentElement, x)))
42
- .onValue(onTransition);
43
- };
44
- f();
45
- });
46
- constructor(driver) {
47
- this.#driver = driver;
48
- }
49
- /**
50
- * A stream of events related to the AppMenu.
51
- *
52
- * @note If the AppMenu is not shown, this stream will not emit any events.
53
- */
54
- get events() {
55
- return this.#events;
56
- }
57
- /**
58
- * @returns whether or not the AppMenu Burger is uncollapsed or not.
59
- */
60
- isMenuOpen() {
61
- return GmailElementGetter.isAppBurgerMenuOpen();
62
- }
63
- /**
64
- * Adds an app menu item to the app menu. Because the AppMenu may not be shown, this method expects `AppMenu.isShown` to be called first.
65
- *
66
- * If @see AppMenu#isShown returns `false` and this method is called, the SDK waits a bit for the AppMenu selector and then logs a warning.
67
- *
68
- * If the `insertOrder` option is provided, the app menu item will be added at that index. If it is not, the SDK adds the app menu item after Gmail's default app menu icons.
69
- */
70
- addMenuItem(menuItemDescriptor) {
71
- const navItemView = new AppMenuItemView(this.#driver, menuItemDescriptor);
72
- return navItemView;
73
- }
74
- /**
75
- * @returns true if the app menu is visible. At time of writing, this typically means they have chose to enable Chat, Meet, or both.
76
- */
77
- async isShown() {
78
- const result = await GmailElementGetter.getAppMenuAsync();
79
- return !!result;
80
- }
81
- }
@@ -1,163 +0,0 @@
1
- import defaults from 'lodash/defaults';
2
- import sortBy from 'lodash/sortBy';
3
- import find from 'lodash/find';
4
- import Kefir from 'kefir';
5
- import kefirBus from 'kefir-bus';
6
- import defer from '../../common/defer';
7
- import get from '../../common/get-or-fail';
8
- const ancientComplainTime = 2 * 60 * 1000;
9
- const dummyPacket = Object.freeze({
10
- destroy: Object.freeze(function () {
11
- // do nothing
12
- }),
13
- });
14
- const memberMap = new WeakMap();
15
- // documented in src/docs/
16
- export default class ButterBar {
17
- constructor(appId, driver) {
18
- const members = {
19
- driver,
20
- messagesByKey: new Map(),
21
- queuedPackets: [],
22
- };
23
- memberMap.set(this, members);
24
- }
25
- showMessage(options) {
26
- defaults(options, {
27
- priority: 0,
28
- time: 15 * 1000,
29
- hideOnViewChanged: true,
30
- persistent: false,
31
- });
32
- this.hideMessage(options.messageKey);
33
- const members = get(memberMap, this);
34
- const butterBarDriver = members.driver.getButterBarDriver();
35
- const messageId = Date.now() + '-' + Math.random();
36
- {
37
- let queue = butterBarDriver.getSharedMessageQueue();
38
- queue.unshift({
39
- messageId,
40
- priority: options.priority,
41
- persistent: options.persistent,
42
- });
43
- queue = sortBy(queue, (item) => -item.priority);
44
- queue = queue.filter((item, i) => i === 0 || item.persistent);
45
- butterBarDriver.setSharedMessageQueue(queue);
46
- if (!find(queue, (item) => item.messageId === messageId)) {
47
- return dummyPacket;
48
- }
49
- }
50
- const stopper = kefirBus();
51
- if (options.hideOnViewChanged) {
52
- // Set hideOnViewChanged to true only after this run of the event
53
- // loop completes. This fixes the issue where a butterbar message
54
- // with hideOnViewChanged spawned in a gmail viewChanged handler
55
- // would die immediately as the rest of the event's handlers are
56
- // called.
57
- stopper.plug(Kefir.later(0, null)
58
- .flatMap(() => members.driver.getRouteViewDriverStream().changes())
59
- .map(() => null));
60
- }
61
- if (isFinite(options.time)) {
62
- stopper.plug(Kefir.later(options.time, null));
63
- }
64
- // Error made here for sensible stack
65
- const timeoutErr = new Error('Butter bar message timed out');
66
- stopper.plug(Kefir.later(ancientComplainTime, null).map((x) => {
67
- members.driver.getLogger().errorApp(timeoutErr);
68
- return x;
69
- }));
70
- stopper.take(1).onValue(() => {
71
- if (options.messageKey) {
72
- members.messagesByKey.delete(options.messageKey);
73
- }
74
- const queue = butterBarDriver.getSharedMessageQueue();
75
- butterBarDriver.setSharedMessageQueue(queue.filter((item) => item.messageId !== messageId));
76
- });
77
- butterBarDriver
78
- .getNoticeAvailableStream()
79
- .toProperty(() => null)
80
- .takeUntilBy(stopper)
81
- .filter(() => {
82
- const queue = butterBarDriver.getSharedMessageQueue();
83
- if (!queue[0])
84
- stopper.value(undefined);
85
- return queue[0] && queue[0].messageId === messageId;
86
- })
87
- .onValue(() => {
88
- const rawHandle = butterBarDriver.showMessage(options);
89
- stopper.take(1).onValue(() => {
90
- rawHandle.destroy();
91
- });
92
- });
93
- const message = {
94
- destroy() {
95
- stopper.value(undefined);
96
- },
97
- };
98
- if (options.messageKey) {
99
- members.messagesByKey.set(options.messageKey, message);
100
- }
101
- return message;
102
- }
103
- showLoading(options = {}) {
104
- defaults(options, {
105
- text: 'Loading...',
106
- priority: -3,
107
- time: Infinity,
108
- persistent: true,
109
- hideOnViewChanged: true,
110
- });
111
- options.time = Infinity; // Loading messages should exist until destroyed.
112
- return this.showMessage(options);
113
- }
114
- showError(options) {
115
- defaults(options, {
116
- priority: 100,
117
- className: 'inboxsdk__butterbar_error',
118
- });
119
- return this.showMessage(options);
120
- }
121
- showSaving(options = {}) {
122
- defaults(options, {
123
- text: 'Saving...',
124
- confirmationText: 'Saved',
125
- confirmationTime: 1 * 1000,
126
- priority: -2,
127
- time: Infinity,
128
- persistent: true,
129
- hideOnViewChanged: false,
130
- showConfirmation: true,
131
- });
132
- const savingMessage = this.showMessage(options);
133
- const deferred = defer();
134
- deferred.promise.then(() => {
135
- savingMessage.destroy();
136
- if (options.showConfirmation) {
137
- this.showMessage({
138
- text: options.confirmationText,
139
- messageKey: options.messageKey,
140
- time: options.confirmationTime,
141
- priority: 200,
142
- });
143
- }
144
- }, () => {
145
- savingMessage.destroy();
146
- });
147
- return deferred;
148
- }
149
- hideMessage(messageKey) {
150
- if (messageKey) {
151
- const members = get(memberMap, this);
152
- const message = members.messagesByKey.get(messageKey);
153
- if (message) {
154
- message.destroy();
155
- }
156
- }
157
- }
158
- hideGmailMessage() {
159
- const members = get(memberMap, this);
160
- const butterBarDriver = members.driver.getButterBarDriver();
161
- butterBarDriver.hideGmailMessage();
162
- }
163
- }
@@ -1,59 +0,0 @@
1
- import * as ud from 'ud';
2
- import * as Kefir from 'kefir';
3
- import get from '../../common/get-or-fail';
4
- import HandlerRegistry from '../lib/handler-registry';
5
- const memberMap = ud.defonce(module, () => new WeakMap());
6
- const SAMPLE_RATE = 0.01; // documented in src/docs/
7
- class Compose {
8
- constructor(driver, membrane) {
9
- const members = {
10
- driver,
11
- membrane,
12
- handlerRegistry: new HandlerRegistry(),
13
- composeViewStream: driver
14
- .getComposeViewDriverStream()
15
- .map((viewDriver) => membrane.get(viewDriver)),
16
- };
17
- memberMap.set(this, members);
18
- driver.getStopper().onValue(() => {
19
- members.handlerRegistry.dumpHandlers();
20
- });
21
- members.composeViewStream.onValue((view) => {
22
- driver.getLogger().trackFunctionPerformance(() => {
23
- members.handlerRegistry.addTarget(view);
24
- }, SAMPLE_RATE, {
25
- type: 'composeViewHandler',
26
- isInlineReplyForm: view.isInlineReplyForm(),
27
- });
28
- });
29
- }
30
- registerComposeViewHandler(handler) {
31
- return get(memberMap, this).handlerRegistry.registerHandler(handler);
32
- }
33
- async openNewComposeView() {
34
- const members = get(memberMap, this);
35
- const composeViewDriver = await members.driver.openNewComposeViewDriver();
36
- return members.membrane.get(composeViewDriver);
37
- }
38
- async openDraftByMessageID(messageID) {
39
- const members = get(memberMap, this);
40
- const newComposePromise = members.composeViewStream.take(1).toPromise();
41
- await members.driver.openDraftByMessageID(messageID);
42
- return Kefir.fromPromise(newComposePromise)
43
- .merge(Kefir.later(15 * 1000, null).flatMap(() => Kefir.constantError(new Error('draft did not open in time'))))
44
- .take(1)
45
- .takeErrors(1)
46
- .toPromise();
47
- }
48
- getComposeView() {
49
- const { driver } = get(memberMap, this);
50
- driver
51
- .getLogger()
52
- .deprecationWarning('Compose.getComposeView', 'Compose.openNewComposeView');
53
- if (driver.getOpts().REQUESTED_API_VERSION !== 1) {
54
- throw new Error('This method was discontinued after API version 1');
55
- }
56
- return this.openNewComposeView();
57
- }
58
- }
59
- export default Compose;
@@ -1,83 +0,0 @@
1
- import * as Kefir from 'kefir';
2
- import get from '../../common/get-or-fail';
3
- import ThreadView from '../views/conversations/thread-view';
4
- import MessageView from '../views/conversations/message-view';
5
- import HandlerRegistry from '../lib/handler-registry';
6
- const memberMap = new WeakMap();
7
- export const MessageViewViewStates = Object.freeze({
8
- HIDDEN: 'HIDDEN',
9
- COLLAPSED: 'COLLAPSED',
10
- EXPANDED: 'EXPANDED',
11
- });
12
- export const MessageViewToolbarSectionNames = Object.freeze({
13
- MORE: 'MORE',
14
- }); // documented in src/docs/
15
- class Conversations {
16
- MessageViewViewStates = MessageViewViewStates;
17
- MessageViewToolbarSectionNames = MessageViewToolbarSectionNames;
18
- constructor(appId, driver, membrane) {
19
- const members = {
20
- appId,
21
- driver,
22
- threadViewHandlerRegistry: new HandlerRegistry(),
23
- messageViewHandlerRegistries: {
24
- all: new HandlerRegistry(),
25
- loaded: new HandlerRegistry(),
26
- },
27
- attachmentCardViewHandlerRegistry: new HandlerRegistry(),
28
- };
29
- memberMap.set(this, members);
30
- driver.getStopper().onValue(() => {
31
- members.threadViewHandlerRegistry.dumpHandlers();
32
- members.messageViewHandlerRegistries.all.dumpHandlers();
33
- members.messageViewHandlerRegistries.loaded.dumpHandlers();
34
- });
35
- driver
36
- .getAttachmentCardViewDriverStream()
37
- .filter((cardDriver) => cardDriver.getAttachmentType() === 'FILE')
38
- .onValue((attachmentCardViewDriver) => {
39
- const attachmentCardView = membrane.get(attachmentCardViewDriver);
40
- members.attachmentCardViewHandlerRegistry.addTarget(attachmentCardView);
41
- });
42
- _setupViewDriverWatcher(appId, driver.getThreadViewDriverStream().filter((t) => !t.isLoadingStub()), ThreadView, members.threadViewHandlerRegistry, this, membrane);
43
- _setupViewDriverWatcher(appId, driver.getMessageViewDriverStream(), MessageView, members.messageViewHandlerRegistries.all, this, membrane);
44
- _setupViewDriverWatcher(appId, driver.getMessageViewDriverStream().flatMap((messageViewDriver) => messageViewDriver.isLoaded()
45
- ? Kefir.constant(messageViewDriver)
46
- : messageViewDriver
47
- .getEventStream()
48
- .filter((event) => event.eventName === 'messageLoad')
49
- .map(() => messageViewDriver)
50
- .take(1)), MessageView, members.messageViewHandlerRegistries.loaded, this, membrane);
51
- }
52
- registerThreadViewHandler(handler) {
53
- return get(memberMap, this).threadViewHandlerRegistry.registerHandler(handler);
54
- }
55
- registerMessageViewHandler(handler) {
56
- return get(memberMap, this).messageViewHandlerRegistries.loaded.registerHandler(handler);
57
- }
58
- registerMessageViewHandlerAll(handler) {
59
- return get(memberMap, this).messageViewHandlerRegistries.all.registerHandler(handler);
60
- }
61
- registerFileAttachmentCardViewHandler(handler) {
62
- return get(memberMap, this).attachmentCardViewHandlerRegistry.registerHandler(handler);
63
- }
64
- }
65
- function _setupViewDriverWatcher(appId, stream, ViewClass, handlerRegistry, ConversationsInstance, membrane) {
66
- var combinedStream = stream.map(function (viewDriver) {
67
- const view = membrane.get(viewDriver);
68
- return {
69
- viewDriver,
70
- view,
71
- };
72
- });
73
- // A delay is currently necessary so that ThreadView can wait for its MessageViews.
74
- combinedStream
75
- .flatMap((event) => event.viewDriver
76
- .getReadyStream()
77
- .map(() => event)
78
- .takeUntilBy(Kefir.fromEvents(event.view, 'destroy')))
79
- .onValue(function (event) {
80
- handlerRegistry.addTarget(event.view);
81
- });
82
- }
83
- export default Conversations;
@@ -1,30 +0,0 @@
1
- import Kefir from 'kefir';
2
- import kefirCast from 'kefir-cast';
3
- import ContentPanelView from '../views/content-panel-view';
4
- import get from '../../common/get-or-fail';
5
- const memberMap = new WeakMap();
6
- export default class Global {
7
- constructor(appId, driver, piOpts) {
8
- const members = {
9
- appId,
10
- driver,
11
- piOpts,
12
- };
13
- memberMap.set(this, members);
14
- }
15
- async addSidebarContentPanel(descriptor) {
16
- const descriptorPropertyStream = kefirCast(Kefir, descriptor).toProperty();
17
- const members = get(memberMap, this);
18
- members.driver.getLogger().eventSdkPassive('global.addSidebarContentPanel');
19
- const contentPanelImplementation = await members.driver.addGlobalSidebarContentPanel(descriptorPropertyStream);
20
- if (contentPanelImplementation) {
21
- return new ContentPanelView(contentPanelImplementation);
22
- }
23
- return null;
24
- }
25
- addSupportItem(supportItemDescriptor) {
26
- const members = get(memberMap, this);
27
- members.driver.getLogger().eventSdkPassive('global.addSupportItem');
28
- return members.driver.addSupportItem(supportItemDescriptor);
29
- }
30
- }