@inboxsdk/core 0.2.28-alpha.4 → 0.2.28-alpha.6

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 (264) hide show
  1. package/inboxsdk.js +1 -1
  2. package/package.json +5 -1
  3. package/src/inboxsdk-js/check-requirements.js +7 -3
  4. package/src/inboxsdk-js/header.js +1 -0
  5. package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +5 -6
  6. package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +4 -3
  7. package/src/inboxsdk-js/inboxsdk-REMOTE.js +3 -1
  8. package/src/inboxsdk-js/inboxsdk-TEST.js +4 -3
  9. package/src/inboxsdk-js/inboxsdk.js +33 -39
  10. package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +15 -18
  11. package/src/inboxsdk.d.ts +2 -0
  12. package/src/injected-js/gmail/modify-suggestions.test.js +8 -9
  13. package/src/injected-js/gmail/setup-gmail-interceptor.js +340 -579
  14. package/src/injected-js/gmail/sync-compose-request-processor.test.js +39 -49
  15. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +20 -33
  16. package/src/injected-js/gmail/thread-identifier/index.js +57 -93
  17. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +22 -31
  18. package/src/injected-js/gmail/thread-identifier/thread-row-parser.test.js +12 -28
  19. package/src/injected-js/inbox/setupAjaxInterceptor.js +64 -121
  20. package/src/injected-js/inbox/setupClickAndGetNewIframeSrc.js +53 -66
  21. package/src/injected-js/inbox/setupComposeViewDraftIDFinder.js +20 -36
  22. package/src/injected-js/inbox/setupInboxFakeWindowResizeListener.js +13 -13
  23. package/src/injected-js/main.js +11 -24
  24. package/src/injected-js/message-metadata-holder.js +52 -82
  25. package/src/injected-js/setup-data-exposer.js +89 -148
  26. package/src/injected-js/setup-error-silencer.js +21 -21
  27. package/src/injected-js/setup-event-reemitter.js +30 -22
  28. package/src/injected-js/setupInboxCustomViewLinkFixer.js +24 -29
  29. package/src/injected-js/setupPushStateListener.js +18 -11
  30. package/src/injected-js/xhr-helper.js +62 -65
  31. package/src/injected-js/xhr-proxy-factory.js +195 -445
  32. package/src/injected-js/xhr-proxy-factory.test.js +824 -991
  33. package/src/platform-implementation-js/constants/router.js +14 -9
  34. package/src/platform-implementation-js/constants/toolbars.js +8 -3
  35. package/src/platform-implementation-js/dom-driver/gmail/custom-style.js +13 -13
  36. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +115 -136
  37. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +13 -14
  38. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +27 -48
  39. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +31 -42
  40. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +30 -40
  41. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +10 -18
  42. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +21 -28
  43. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +33 -45
  44. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +31 -49
  45. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +58 -65
  46. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +40 -124
  47. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +17 -22
  48. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.test.js +10 -11
  49. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +44 -80
  50. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +19 -26
  51. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +71 -147
  52. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +91 -148
  53. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +150 -166
  54. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.test.js +70 -120
  55. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +15 -15
  56. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +44 -67
  57. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +230 -379
  58. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.test.js +121 -307
  59. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +17 -24
  60. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +41 -49
  61. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +30 -40
  62. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +28 -60
  63. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +61 -133
  64. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +30 -42
  65. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.test.js +52 -46
  66. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +354 -694
  67. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +77 -93
  68. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +35 -82
  69. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.test.js +44 -94
  70. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +12 -19
  71. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +17 -29
  72. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +26 -26
  73. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +391 -797
  74. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +7 -9
  75. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +60 -109
  76. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +95 -135
  77. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +103 -211
  78. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.test.js +61 -61
  79. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +17 -17
  80. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +188 -541
  81. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +67 -135
  82. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +27 -49
  83. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.js +7 -13
  84. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.js +9 -22
  85. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +36 -63
  86. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +38 -113
  87. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +11 -16
  88. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +11 -17
  89. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +8 -11
  90. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +27 -47
  91. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +11 -24
  92. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +59 -111
  93. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +15 -14
  94. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +11 -17
  95. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +18 -24
  96. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +19 -23
  97. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +11 -19
  98. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +141 -376
  99. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +17 -28
  100. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +34 -70
  101. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +10 -17
  102. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +83 -137
  103. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +10 -19
  104. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +632 -1190
  105. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +29 -38
  106. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +327 -617
  107. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +26 -49
  108. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +188 -380
  109. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +104 -194
  110. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +382 -811
  111. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.js +34 -58
  112. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.js +330 -581
  113. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.test.js +123 -277
  114. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +15 -35
  115. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +216 -571
  116. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +152 -336
  117. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +87 -211
  118. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +10 -11
  119. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +20 -29
  120. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +41 -76
  121. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +45 -99
  122. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +76 -128
  123. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +128 -319
  124. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +45 -78
  125. package/src/platform-implementation-js/dom-driver/inbox/__mocks__/getSidebarClassnames.js +8 -4
  126. package/src/platform-implementation-js/dom-driver/inbox/addNavItem.js +36 -54
  127. package/src/platform-implementation-js/dom-driver/inbox/addRecipientRow.js +35 -53
  128. package/src/platform-implementation-js/dom-driver/inbox/createLink.js +13 -15
  129. package/src/platform-implementation-js/dom-driver/inbox/createLink.test.js +15 -18
  130. package/src/platform-implementation-js/dom-driver/inbox/custom-style.js +14 -13
  131. package/src/platform-implementation-js/dom-driver/inbox/detection/appToolbarLocation/parser.js +14 -20
  132. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentCard/parser.js +14 -13
  133. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentOverlay/parser.js +35 -67
  134. package/src/platform-implementation-js/dom-driver/inbox/detection/chatSidebar/parser.js +16 -18
  135. package/src/platform-implementation-js/dom-driver/inbox/detection/compose/parser.js +68 -185
  136. package/src/platform-implementation-js/dom-driver/inbox/detection/message/parser.js +28 -56
  137. package/src/platform-implementation-js/dom-driver/inbox/detection/nativeDrawer/parser.js +12 -10
  138. package/src/platform-implementation-js/dom-driver/inbox/detection/searchBar/parser.js +16 -16
  139. package/src/platform-implementation-js/dom-driver/inbox/detection/thread/parser.js +24 -35
  140. package/src/platform-implementation-js/dom-driver/inbox/detection/thread-row/parser.js +37 -89
  141. package/src/platform-implementation-js/dom-driver/inbox/getComposeViewDriverLiveSet.js +56 -78
  142. package/src/platform-implementation-js/dom-driver/inbox/getInboxMessageIdForInboxThreadId.js +26 -32
  143. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.js +52 -109
  144. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.test.js +7 -8
  145. package/src/platform-implementation-js/dom-driver/inbox/gotoView.js +16 -20
  146. package/src/platform-implementation-js/dom-driver/inbox/gotoView.test.js +15 -16
  147. package/src/platform-implementation-js/dom-driver/inbox/inbox-butter-bar-driver.js +75 -83
  148. package/src/platform-implementation-js/dom-driver/inbox/inbox-driver.js +530 -822
  149. package/src/platform-implementation-js/dom-driver/inbox/inbox-page-communicator.js +48 -61
  150. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.js +9 -12
  151. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.test.js +12 -19
  152. package/src/platform-implementation-js/dom-driver/inbox/makePageParserTree.js +24 -33
  153. package/src/platform-implementation-js/dom-driver/inbox/pageParserOptions.js +201 -388
  154. package/src/platform-implementation-js/dom-driver/inbox/registerSearchSuggestionsProvider.js +249 -265
  155. package/src/platform-implementation-js/dom-driver/inbox/setupCustomAutocompleteSelectionHandling.js +84 -152
  156. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.js +55 -67
  157. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.test.js +43 -65
  158. package/src/platform-implementation-js/dom-driver/inbox/views/InboxLabelView.js +31 -56
  159. package/src/platform-implementation-js/dom-driver/inbox/views/InboxMoleViewDriver.js +191 -294
  160. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarButtonView.js +32 -45
  161. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarView.js +21 -39
  162. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-sidebar-view.js +153 -240
  163. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-button-view.js +75 -150
  164. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-tooltip-view.js +20 -37
  165. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-card-view.js +60 -114
  166. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-overlay-view.js +47 -65
  167. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +41 -52
  168. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-chat-sidebar-view.js +27 -36
  169. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-button-view.js +52 -80
  170. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-view.js +465 -649
  171. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.js +37 -58
  172. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.test.js +14 -26
  173. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +118 -235
  174. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dropdown-view.js +10 -11
  175. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dummy-route-view.js +28 -46
  176. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-message-view.js +131 -202
  177. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-modal-view.js +40 -80
  178. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-route-view.js +35 -61
  179. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-row-view.js +124 -221
  180. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.js +125 -213
  181. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.test.js +104 -126
  182. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-tooltip-view.js +36 -51
  183. package/src/platform-implementation-js/dom-driver/inbox/views/inboxNavItemView.js +158 -297
  184. package/src/platform-implementation-js/dom-driver/inbox/waitForAnimationClickBlockerGone.js +21 -35
  185. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +24 -43
  186. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +39 -68
  187. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +14 -19
  188. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +27 -35
  189. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +16 -22
  190. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +14 -14
  191. package/src/platform-implementation-js/driver-common/inboxAjax.js +12 -7
  192. package/src/platform-implementation-js/driver-common/requestGmailThread.js +19 -20
  193. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +197 -306
  194. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +113 -161
  195. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +1 -114
  196. package/src/platform-implementation-js/driver-interfaces/driver.js +1 -131
  197. package/src/platform-implementation-js/driver-interfaces/message-view-driver.js +4 -48
  198. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +1 -29
  199. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +1 -32
  200. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.js +1 -11
  201. package/src/platform-implementation-js/lib/array-to-lifetimes.js +43 -41
  202. package/src/platform-implementation-js/lib/array-to-lifetimes.test.js +139 -155
  203. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +19 -38
  204. package/src/platform-implementation-js/lib/css-selector-escape.js +7 -3
  205. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +8 -11
  206. package/src/platform-implementation-js/lib/dom/get-selection.js +23 -52
  207. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +69 -101
  208. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +8 -10
  209. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +15 -17
  210. package/src/platform-implementation-js/lib/dom/querySelectorOne.js +8 -11
  211. package/src/platform-implementation-js/lib/dom/set-css.js +7 -3
  212. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.js +9 -11
  213. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +32 -33
  214. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.test.js +23 -26
  215. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +86 -149
  216. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +42 -57
  217. package/src/platform-implementation-js/lib/make-revocable-function.js +19 -21
  218. package/src/platform-implementation-js/lib/make-revocable-function.test.js +20 -22
  219. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +15 -17
  220. package/src/platform-implementation-js/lib/parseParamsFromRouteID.test.js +9 -18
  221. package/src/platform-implementation-js/lib/populateRouteID.js +8 -9
  222. package/src/platform-implementation-js/lib/populateRouteID.test.js +20 -19
  223. package/src/platform-implementation-js/lib/react/ElementContainer.js +23 -20
  224. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.js +10 -9
  225. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.test.js +13 -20
  226. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +13 -18
  227. package/src/platform-implementation-js/lib/routeIDmatchesHash.test.js +11 -17
  228. package/src/platform-implementation-js/lib/shared-style.js +14 -13
  229. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +18 -17
  230. package/src/platform-implementation-js/lib/toLiveSet.js +17 -15
  231. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +6 -5
  232. package/src/platform-implementation-js/main.js +9 -24
  233. package/src/platform-implementation-js/namespaces/compose.js +37 -60
  234. package/src/platform-implementation-js/namespaces/conversations.js +52 -124
  235. package/src/platform-implementation-js/namespaces/global.js +27 -39
  236. package/src/platform-implementation-js/namespaces/keyboard.js +29 -33
  237. package/src/platform-implementation-js/namespaces/lists.js +25 -31
  238. package/src/platform-implementation-js/namespaces/modal.js +34 -28
  239. package/src/platform-implementation-js/namespaces/nav-menu.js +30 -45
  240. package/src/platform-implementation-js/namespaces/router.js +70 -137
  241. package/src/platform-implementation-js/namespaces/search.js +19 -17
  242. package/src/platform-implementation-js/namespaces/toolbars.js +71 -117
  243. package/src/platform-implementation-js/namespaces/user.js +36 -37
  244. package/src/platform-implementation-js/namespaces/widgets.js +54 -61
  245. package/src/platform-implementation-js/platform-implementation.js +98 -229
  246. package/src/platform-implementation-js/views/app-toolbar-button-view.js +26 -47
  247. package/src/platform-implementation-js/views/collapsible-section-view.js +66 -63
  248. package/src/platform-implementation-js/views/content-panel-view.js +28 -30
  249. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +21 -44
  250. package/src/platform-implementation-js/views/conversations/custom-message-view.js +44 -104
  251. package/src/platform-implementation-js/views/conversations/message-view.js +131 -202
  252. package/src/platform-implementation-js/views/conversations/thread-view.js +75 -127
  253. package/src/platform-implementation-js/views/native-nav-item-view.js +32 -65
  254. package/src/platform-implementation-js/views/nav-item-view.js +51 -115
  255. package/src/platform-implementation-js/views/route-view/custom-route-view.js +25 -20
  256. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +18 -18
  257. package/src/platform-implementation-js/views/route-view/list-route-view.js +30 -52
  258. package/src/platform-implementation-js/views/route-view/route-view.js +24 -35
  259. package/src/platform-implementation-js/views/section-view.js +60 -52
  260. package/src/platform-implementation-js/views/thread-row-view.js +49 -74
  261. package/src/platform-implementation-js/widgets/drawer-view.js +29 -36
  262. package/src/platform-implementation-js/widgets/modal-view.js +39 -68
  263. package/src/platform-implementation-js/widgets/mole-view.js +22 -22
  264. package/src/platform-implementation-js/widgets/top-message-bar-view.js +13 -10
@@ -1,200 +1,117 @@
1
- /* @flow */
2
-
3
- import escape from 'lodash/escape';
4
- import * as Kefir from 'kefir';
5
- import kefirStopper from 'kefir-stopper';
6
- import type { Stopper } from 'kefir-stopper';
7
- import makeElementChildStream from '../../../lib/dom/make-element-child-stream';
8
- import querySelector from '../../../lib/dom/querySelectorOrFail';
9
- import makeMutationObserverChunkedStream from '../../../lib/dom/make-mutation-observer-chunked-stream';
10
- import type KeyboardShortcutHandle from '../../../views/keyboard-shortcut-handle';
11
-
12
- export default class KeyboardShortcutHelpModifier {
13
- _appId: ?string;
14
- _appName: ?string;
15
- _appIconUrl: ?string;
16
- _stopper: Stopper;
17
- _shortcuts: Set<KeyboardShortcutHandle>;
18
-
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _escape = _interopRequireDefault(require("lodash/escape"));
9
+ var Kefir = _interopRequireWildcard(require("kefir"));
10
+ var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
11
+ var _makeElementChildStream = _interopRequireDefault(require("../../../lib/dom/make-element-child-stream"));
12
+ var _querySelectorOrFail = _interopRequireDefault(require("../../../lib/dom/querySelectorOrFail"));
13
+ var _makeMutationObserverChunkedStream = _interopRequireDefault(require("../../../lib/dom/make-mutation-observer-chunked-stream"));
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ class KeyboardShortcutHelpModifier {
19
17
  constructor() {
20
18
  this._appId = null; // TODO have these passed to the constructor
21
19
  this._appName = null;
22
20
  this._appIconUrl = null;
23
-
24
- this._stopper = kefirStopper();
21
+ this._stopper = (0, _kefirStopper.default)();
25
22
  this._shortcuts = new Set();
26
23
  this._monitorKeyboardHelp();
27
24
  }
28
-
29
25
  destroy() {
30
26
  this._stopper.destroy();
31
27
  this._shortcuts.clear();
32
28
  }
33
-
34
- set(
35
- keyboardShortcutHandle: KeyboardShortcutHandle,
36
- appId: string,
37
- appName: ?string,
38
- appIconUrl: ?string
39
- ) {
29
+ set(keyboardShortcutHandle, appId, appName, appIconUrl) {
40
30
  this._initializeAppValues(appId, appName, appIconUrl);
41
-
42
31
  this._shortcuts.add(keyboardShortcutHandle);
43
32
  }
44
-
45
- delete(keyboardShortcutHandle: KeyboardShortcutHandle) {
33
+ delete(keyboardShortcutHandle) {
46
34
  this._shortcuts.delete(keyboardShortcutHandle);
47
35
  }
48
-
49
- _initializeAppValues(appId: string, appName: ?string, appIconUrl: ?string) {
36
+ _initializeAppValues(appId, appName, appIconUrl) {
50
37
  if (!this._appId) {
51
38
  this._appId = appId;
52
39
  }
53
-
54
40
  if (!this._appName) {
55
41
  this._appName = appName;
56
42
  }
57
-
58
43
  if (!this._appIconUrl) {
59
44
  this._appIconUrl = appIconUrl;
60
45
  }
61
46
  }
62
-
63
47
  _monitorKeyboardHelp() {
64
- makeElementChildStream(((document.body: any): HTMLElement))
65
- .map((event) => event.el)
66
- .filter((node) => node && node.classList && node.classList.contains('wa'))
67
- .flatMap((node) =>
68
- makeMutationObserverChunkedStream(node, {
69
- attributes: true,
70
- attributeFilter: ['class'],
71
- })
72
- .filter(() => !node.classList.contains('aou'))
73
- .toProperty(() => null)
74
- .map(() => node)
75
- )
76
- .takeUntilBy(this._stopper)
77
- .onValue((node) => this._renderHelp(node));
48
+ (0, _makeElementChildStream.default)(document.body).map(event => event.el).filter(node => node && node.classList && node.classList.contains('wa')).flatMap(node => (0, _makeMutationObserverChunkedStream.default)(node, {
49
+ attributes: true,
50
+ attributeFilter: ['class']
51
+ }).filter(() => !node.classList.contains('aou')).toProperty(() => null).map(() => node)).takeUntilBy(this._stopper).onValue(node => this._renderHelp(node));
78
52
  }
79
-
80
- _renderHelp(node: HTMLElement) {
53
+ _renderHelp(node) {
81
54
  if (this._shortcuts.size === 0) {
82
55
  return;
83
56
  }
84
-
85
57
  var keys = this._shortcuts.keys();
86
-
87
58
  var header = this._renderHeader();
88
59
  var table = this._renderTable();
89
-
90
60
  var bodies = table.querySelectorAll('tbody tbody');
91
-
92
61
  var index = 0;
93
- this._shortcuts.forEach((keyboardShortcutHandle) => {
62
+ this._shortcuts.forEach(keyboardShortcutHandle => {
94
63
  this._renderShortcut(bodies[index % 2], keyboardShortcutHandle);
95
64
  index++;
96
65
  });
97
-
98
- const firstHeader = querySelector(node, '.aov');
66
+ const firstHeader = (0, _querySelectorOrFail.default)(node, '.aov');
99
67
  const parent = firstHeader.parentElement;
100
68
  if (!parent) throw new Error('Could not find parent');
101
69
  parent.insertBefore(header, firstHeader);
102
70
  parent.insertBefore(table, firstHeader);
103
71
  }
104
-
105
- _renderHeader(): HTMLElement {
72
+ _renderHeader() {
106
73
  const header = document.createElement('div');
107
74
  header.setAttribute('class', 'aov aox');
108
- header.innerHTML = [
109
- '<div class="aow">',
110
- '<span class="inboxsdk__shortcutHelp_title">',
111
- escape(this._appName || this._appId) + ' keyboard shortcuts',
112
- '</span>',
113
- '</div>',
114
- ].join('');
115
-
75
+ header.innerHTML = ['<div class="aow">', '<span class="inboxsdk__shortcutHelp_title">', (0, _escape.default)(this._appName || this._appId) + ' keyboard shortcuts', '</span>', '</div>'].join('');
116
76
  if (this._appIconUrl) {
117
77
  const img = document.createElement('img');
118
78
  if (this._appIconUrl) {
119
79
  img.src = this._appIconUrl;
120
80
  }
121
81
  img.setAttribute('class', 'inboxsdk__icon');
122
-
123
- const title = querySelector(header, '.inboxsdk__shortcutHelp_title');
82
+ const title = (0, _querySelectorOrFail.default)(header, '.inboxsdk__shortcutHelp_title');
124
83
  title.insertBefore(img, title.firstChild);
125
84
  }
126
-
127
85
  return header;
128
86
  }
129
-
130
- _renderTable(): HTMLElement {
87
+ _renderTable() {
131
88
  var table = document.createElement('table');
132
89
  table.setAttribute('cellpadding', '0');
133
90
  table.setAttribute('class', 'cf wd inboxsdk__shortcutHelp_table');
134
-
135
- table.innerHTML = [
136
- '<tbody>',
137
- '<tr>',
138
- '<td class="Dn">',
139
- '<table cellpadding="0" class="cf">',
140
- '<tbody>',
141
- '<tr><th>&nbsp;</th><th>&nbsp;</th></tr>',
142
- '</tbody>',
143
- '</table>',
144
- '</td>',
145
- '<td class="Dn">',
146
- '<table cellpadding="0" class="cf">',
147
- '<tbody>',
148
- '<tr><th>&nbsp;</th><th>&nbsp;</th></tr>',
149
- '</tbody>',
150
- '</table>',
151
- '</td>',
152
- '</tr',
153
- '</tbody>',
154
- ].join('');
155
-
91
+ table.innerHTML = ['<tbody>', '<tr>', '<td class="Dn">', '<table cellpadding="0" class="cf">', '<tbody>', '<tr><th>&nbsp;</th><th>&nbsp;</th></tr>', '</tbody>', '</table>', '</td>', '<td class="Dn">', '<table cellpadding="0" class="cf">', '<tbody>', '<tr><th>&nbsp;</th><th>&nbsp;</th></tr>', '</tbody>', '</table>', '</td>', '</tr', '</tbody>'].join('');
156
92
  return table;
157
93
  }
158
-
159
- _renderShortcut(
160
- tableBody: HTMLElement,
161
- keyboardShortcutHandle: KeyboardShortcutHandle
162
- ) {
94
+ _renderShortcut(tableBody, keyboardShortcutHandle) {
163
95
  var shortcutRow = document.createElement('tr');
164
- shortcutRow.innerHTML = [
165
- '<td class="wg Dn"> ',
166
- _getShortcutHTML(keyboardShortcutHandle.chord),
167
- '</td>',
168
- '<td class="we Dn"> ',
169
- escape(keyboardShortcutHandle.description || ''),
170
- '</td>',
171
- ].join('');
172
-
96
+ shortcutRow.innerHTML = ['<td class="wg Dn"> ', _getShortcutHTML(keyboardShortcutHandle.chord), '</td>', '<td class="we Dn"> ', (0, _escape.default)(keyboardShortcutHandle.description || ''), '</td>'].join('');
173
97
  tableBody.appendChild(shortcutRow);
174
98
  }
175
99
  }
176
-
177
- function _getShortcutHTML(chord: string): string {
100
+ exports.default = KeyboardShortcutHelpModifier;
101
+ function _getShortcutHTML(chord) {
178
102
  const retArray = [];
179
-
180
103
  const parts = chord.split(/[\s+]/g);
181
104
  const separators = chord.match(/[\s+]/g);
182
-
183
105
  for (var ii = 0; ii < parts.length; ii++) {
184
- retArray.push(
185
- '<span class="wh">' + escape(_getAngledBracket(parts[ii])) + '</span>'
186
- );
106
+ retArray.push('<span class="wh">' + (0, _escape.default)(_getAngledBracket(parts[ii])) + '</span>');
187
107
  if (separators && separators[ii]) {
188
108
  retArray.push(_getSeparatorHTML(separators[ii]));
189
109
  }
190
110
  }
191
-
192
111
  retArray.push(' :');
193
-
194
112
  return retArray.join('');
195
113
  }
196
-
197
- function _getAngledBracket(chordChar: string): string {
114
+ function _getAngledBracket(chordChar) {
198
115
  switch (chordChar.toLowerCase()) {
199
116
  case 'shift':
200
117
  return '<Shift>';
@@ -213,8 +130,7 @@ function _getAngledBracket(chordChar: string): string {
213
130
  return chordChar;
214
131
  }
215
132
  }
216
-
217
- function _getSeparatorHTML(separator: string): string {
133
+ function _getSeparatorHTML(separator) {
218
134
  switch (separator) {
219
135
  case ' ':
220
136
  return '<span class="wb">then</span> ';
@@ -223,4 +139,4 @@ function _getSeparatorHTML(separator: string): string {
223
139
  default:
224
140
  return '';
225
141
  }
226
- }
142
+ }
@@ -1,27 +1,22 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import { simulateClick } from '../../../lib/dom/simulate-mouse-event';
4
- import GmailElementGetter from '../gmail-element-getter';
5
-
6
- import waitFor from '../../../lib/wait-for';
7
-
8
- import type GmailDriver from '../gmail-driver';
9
-
10
- export default async function openComposeWindow(gmailDriver: GmailDriver) {
11
- await GmailElementGetter.waitForGmailModeToSettle();
12
-
13
- if (
14
- GmailElementGetter.isStandaloneComposeWindow() ||
15
- GmailElementGetter.isStandaloneThreadWindow()
16
- ) {
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = openComposeWindow;
8
+ var _simulateMouseEvent = require("../../../lib/dom/simulate-mouse-event");
9
+ var _gmailElementGetter = _interopRequireDefault(require("../gmail-element-getter"));
10
+ var _waitFor = _interopRequireDefault(require("../../../lib/wait-for"));
11
+ async function openComposeWindow(gmailDriver) {
12
+ await _gmailElementGetter.default.waitForGmailModeToSettle();
13
+ if (_gmailElementGetter.default.isStandaloneComposeWindow() || _gmailElementGetter.default.isStandaloneThreadWindow()) {
17
14
  throw new Error('Can not open new compose while in standalone window');
18
15
  }
19
-
20
- if (!GmailElementGetter.getComposeButton()) {
21
- await waitFor(() => !!GmailElementGetter.getComposeButton());
16
+ if (!_gmailElementGetter.default.getComposeButton()) {
17
+ await (0, _waitFor.default)(() => !!_gmailElementGetter.default.getComposeButton());
22
18
  }
23
-
24
- const composeButton = GmailElementGetter.getComposeButton();
19
+ const composeButton = _gmailElementGetter.default.getComposeButton();
25
20
  if (!composeButton) throw new Error('Could not find compose button');
26
- simulateClick(composeButton);
27
- }
21
+ (0, _simulateMouseEvent.simulateClick)(composeButton);
22
+ }
@@ -1,23 +1,22 @@
1
- /* @flow */
2
-
3
- import openDraftByMessageID, { makeNewHash } from './open-draft-by-message-id';
1
+ "use strict";
4
2
 
3
+ var _openDraftByMessageId = _interopRequireWildcard(require("./open-draft-by-message-id"));
4
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
5
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
5
6
  describe('makeNewHash', () => {
6
7
  it('1', () => {
7
- expect(makeNewHash('', '123')).toBe('#?compose=123');
8
+ expect((0, _openDraftByMessageId.makeNewHash)('', '123')).toBe('#?compose=123');
8
9
  });
9
10
  it('2', () => {
10
- expect(makeNewHash('#', '123')).toBe('#?compose=123');
11
+ expect((0, _openDraftByMessageId.makeNewHash)('#', '123')).toBe('#?compose=123');
11
12
  });
12
13
  it('3', () => {
13
- expect(makeNewHash('#inbox', '123')).toBe('#inbox?compose=123');
14
+ expect((0, _openDraftByMessageId.makeNewHash)('#inbox', '123')).toBe('#inbox?compose=123');
14
15
  });
15
16
  it('4', () => {
16
- expect(makeNewHash('#inbox?compose=123', '456')).toBe(
17
- '#inbox?compose=123%2C456'
18
- );
17
+ expect((0, _openDraftByMessageId.makeNewHash)('#inbox?compose=123', '456')).toBe('#inbox?compose=123%2C456');
19
18
  });
20
19
  it('5', () => {
21
- expect(makeNewHash('#inbox?foo=5', '123')).toBe('#inbox?foo=5&compose=123');
20
+ expect((0, _openDraftByMessageId.makeNewHash)('#inbox?foo=5', '123')).toBe('#inbox?foo=5&compose=123');
22
21
  });
23
- });
22
+ });
@@ -1,92 +1,56 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import Kefir from 'kefir';
4
- import { defn } from 'ud';
5
- import GmailElementGetter from '../gmail-element-getter';
6
- import onMouseDownAndUp from '../../../lib/dom/on-mouse-down-and-up';
7
- import type GmailDriver from '../gmail-driver';
8
- import type GmailRouteView from '../views/gmail-route-view/gmail-route-view';
9
- import type GmailRouteProcessor from '../views/gmail-route-view/gmail-route-processor';
10
-
11
- export default function overrideGmailBackButton(
12
- gmailDriver: GmailDriver,
13
- gmailRouteProcessor: GmailRouteProcessor
14
- ) {
15
- GmailElementGetter.waitForGmailModeToSettle().then(function () {
16
- if (GmailElementGetter.isStandalone()) {
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = overrideGmailBackButton;
8
+ var _kefir = _interopRequireDefault(require("kefir"));
9
+ var _ud = require("ud");
10
+ var _gmailElementGetter = _interopRequireDefault(require("../gmail-element-getter"));
11
+ var _onMouseDownAndUp = _interopRequireDefault(require("../../../lib/dom/on-mouse-down-and-up"));
12
+ function overrideGmailBackButton(gmailDriver, gmailRouteProcessor) {
13
+ _gmailElementGetter.default.waitForGmailModeToSettle().then(function () {
14
+ if (_gmailElementGetter.default.isStandalone()) {
17
15
  return;
18
16
  }
19
17
  _setupManagement(gmailDriver, gmailRouteProcessor);
20
18
  });
21
19
  }
22
-
23
20
  function _setupManagement(gmailDriver, gmailRouteProcessor) {
24
- gmailDriver
25
- .getRouteViewDriverStream()
26
- .scan(
27
- (
28
- prev: ?{ gmailRouteView: GmailRouteView },
29
- gmailRouteView: GmailRouteView
30
- ) => {
31
- let lastCustomRouteID, lastCustomRouteParams;
32
- if (
33
- prev &&
34
- prev.gmailRouteView &&
35
- prev.gmailRouteView.isCustomRouteBelongingToApp()
36
- ) {
37
- lastCustomRouteID = prev.gmailRouteView.getRouteID();
38
- lastCustomRouteParams = prev.gmailRouteView.getParams();
39
- }
40
- return { gmailRouteView, lastCustomRouteID, lastCustomRouteParams };
41
- },
42
- undefined
43
- )
44
- .changes()
45
- .onValue(({ gmailRouteView, lastCustomRouteID, lastCustomRouteParams }) => {
46
- handleGmailRouteView(
47
- gmailRouteView,
48
- lastCustomRouteID,
49
- lastCustomRouteParams,
50
- gmailDriver,
51
- gmailRouteProcessor
52
- );
53
- });
54
- }
55
-
56
- const handleGmailRouteView = defn(
57
- module,
58
- function handleGmailRouteView(
59
- gmailRouteView: GmailRouteView,
60
- lastCustomRouteID: ?string,
61
- lastCustomRouteParams: ?Object,
62
- gmailDriver: GmailDriver,
63
- gmailRouteProcessor: GmailRouteProcessor
64
- ) {
65
- if (
66
- lastCustomRouteID &&
67
- gmailRouteView.getRouteType() === gmailRouteProcessor.RouteTypes.THREAD
68
- ) {
69
- _bindToBackButton(gmailDriver, gmailRouteView);
21
+ gmailDriver.getRouteViewDriverStream().scan((prev, gmailRouteView) => {
22
+ let lastCustomRouteID, lastCustomRouteParams;
23
+ if (prev && prev.gmailRouteView && prev.gmailRouteView.isCustomRouteBelongingToApp()) {
24
+ lastCustomRouteID = prev.gmailRouteView.getRouteID();
25
+ lastCustomRouteParams = prev.gmailRouteView.getParams();
70
26
  }
27
+ return {
28
+ gmailRouteView,
29
+ lastCustomRouteID,
30
+ lastCustomRouteParams
31
+ };
32
+ }, undefined).changes().onValue(_ref => {
33
+ let {
34
+ gmailRouteView,
35
+ lastCustomRouteID,
36
+ lastCustomRouteParams
37
+ } = _ref;
38
+ handleGmailRouteView(gmailRouteView, lastCustomRouteID, lastCustomRouteParams, gmailDriver, gmailRouteProcessor);
39
+ });
40
+ }
41
+ const handleGmailRouteView = (0, _ud.defn)(module, function handleGmailRouteView(gmailRouteView, lastCustomRouteID, lastCustomRouteParams, gmailDriver, gmailRouteProcessor) {
42
+ if (lastCustomRouteID && gmailRouteView.getRouteType() === gmailRouteProcessor.RouteTypes.THREAD) {
43
+ _bindToBackButton(gmailDriver, gmailRouteView);
71
44
  }
72
- );
73
-
74
- function _bindToBackButton(
75
- gmailDriver: GmailDriver,
76
- gmailRouteView: GmailRouteView
77
- ) {
78
- const backButton = GmailElementGetter.getThreadBackButton();
79
-
45
+ });
46
+ function _bindToBackButton(gmailDriver, gmailRouteView) {
47
+ const backButton = _gmailElementGetter.default.getThreadBackButton();
80
48
  if (!backButton) {
81
49
  return;
82
50
  }
83
-
84
- onMouseDownAndUp(backButton)
85
- .takeUntilBy(gmailRouteView.getStopper())
86
- .filter((e) => !e.defaultPrevented)
87
- .onValue((e) => {
88
- window.history.back();
89
- e.preventDefault();
90
- e.stopImmediatePropagation();
91
- });
92
- }
51
+ (0, _onMouseDownAndUp.default)(backButton).takeUntilBy(gmailRouteView.getStopper()).filter(e => !e.defaultPrevented).onValue(e => {
52
+ window.history.back();
53
+ e.preventDefault();
54
+ e.stopImmediatePropagation();
55
+ });
56
+ }
@@ -1,30 +1,23 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import type PageCommunicator from '../gmail-page-communicator';
4
-
5
- export default function registerSearchQueryRewriter(
6
- pageCommunicator: PageCommunicator,
7
- obj: Object
8
- ) {
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = registerSearchQueryRewriter;
7
+ function registerSearchQueryRewriter(pageCommunicator, obj) {
9
8
  pageCommunicator.createCustomSearchTerm(obj.term);
10
-
11
- pageCommunicator.ajaxInterceptStream
12
- .filter((event) => {
13
- return (
14
- event.type === 'searchQueryForReplacement' && event.term === obj.term
9
+ pageCommunicator.ajaxInterceptStream.filter(event => {
10
+ return event.type === 'searchQueryForReplacement' && event.term === obj.term;
11
+ }).onValue(event => {
12
+ Promise.resolve(obj.termReplacer({})).then(result => {
13
+ if (typeof result != 'string') {
14
+ throw new Error('termReplacer response must be a string');
15
+ }
16
+ const newTerm = '(' + result + ')';
17
+ const newQuery = event.query.replace(obj.term, () => newTerm // Callback used so $ escapes aren't interpreted
15
18
  );
16
- })
17
- .onValue((event) => {
18
- Promise.resolve(obj.termReplacer({})).then((result) => {
19
- if (typeof result != 'string') {
20
- throw new Error('termReplacer response must be a string');
21
- }
22
- const newTerm = '(' + result + ')';
23
- const newQuery = event.query.replace(
24
- obj.term,
25
- () => newTerm // Callback used so $ escapes aren't interpreted
26
- );
27
- pageCommunicator.setSearchQueryReplacement(event.query, newQuery);
28
- });
19
+
20
+ pageCommunicator.setSearchQueryReplacement(event.query, newQuery);
29
21
  });
30
- }
22
+ });
23
+ }