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

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 (263) 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/injected-js/gmail/modify-suggestions.test.js +8 -9
  12. package/src/injected-js/gmail/setup-gmail-interceptor.js +340 -579
  13. package/src/injected-js/gmail/sync-compose-request-processor.test.js +39 -49
  14. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +20 -33
  15. package/src/injected-js/gmail/thread-identifier/index.js +57 -93
  16. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +22 -31
  17. package/src/injected-js/gmail/thread-identifier/thread-row-parser.test.js +12 -28
  18. package/src/injected-js/inbox/setupAjaxInterceptor.js +64 -121
  19. package/src/injected-js/inbox/setupClickAndGetNewIframeSrc.js +53 -66
  20. package/src/injected-js/inbox/setupComposeViewDraftIDFinder.js +20 -36
  21. package/src/injected-js/inbox/setupInboxFakeWindowResizeListener.js +13 -13
  22. package/src/injected-js/main.js +11 -24
  23. package/src/injected-js/message-metadata-holder.js +52 -82
  24. package/src/injected-js/setup-data-exposer.js +89 -148
  25. package/src/injected-js/setup-error-silencer.js +21 -21
  26. package/src/injected-js/setup-event-reemitter.js +30 -22
  27. package/src/injected-js/setupInboxCustomViewLinkFixer.js +24 -29
  28. package/src/injected-js/setupPushStateListener.js +18 -11
  29. package/src/injected-js/xhr-helper.js +62 -65
  30. package/src/injected-js/xhr-proxy-factory.js +195 -445
  31. package/src/injected-js/xhr-proxy-factory.test.js +824 -991
  32. package/src/platform-implementation-js/constants/router.js +14 -9
  33. package/src/platform-implementation-js/constants/toolbars.js +8 -3
  34. package/src/platform-implementation-js/dom-driver/gmail/custom-style.js +13 -13
  35. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +115 -136
  36. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +13 -14
  37. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +27 -48
  38. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +31 -42
  39. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +30 -40
  40. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +10 -18
  41. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +21 -28
  42. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +33 -45
  43. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +31 -49
  44. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +58 -65
  45. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +40 -124
  46. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +17 -22
  47. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.test.js +10 -11
  48. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +44 -80
  49. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +19 -26
  50. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +71 -147
  51. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +91 -148
  52. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +150 -166
  53. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.test.js +70 -120
  54. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +15 -15
  55. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +44 -67
  56. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +230 -379
  57. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.test.js +121 -307
  58. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +17 -24
  59. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +41 -49
  60. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +30 -40
  61. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +28 -60
  62. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +61 -133
  63. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +30 -42
  64. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.test.js +52 -46
  65. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +354 -694
  66. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +77 -93
  67. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +35 -82
  68. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.test.js +44 -94
  69. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +12 -19
  70. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +17 -29
  71. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +26 -26
  72. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +391 -797
  73. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +7 -9
  74. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +60 -109
  75. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +95 -135
  76. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +103 -211
  77. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.test.js +61 -61
  78. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +17 -17
  79. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +188 -541
  80. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +67 -135
  81. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +27 -49
  82. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.js +7 -13
  83. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.js +9 -22
  84. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +36 -63
  85. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +38 -113
  86. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +11 -16
  87. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +11 -17
  88. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +8 -11
  89. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +27 -47
  90. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +11 -24
  91. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +59 -111
  92. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +15 -14
  93. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +11 -17
  94. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +18 -24
  95. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +19 -23
  96. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +11 -19
  97. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +141 -376
  98. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +17 -28
  99. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +34 -70
  100. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +10 -17
  101. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +83 -137
  102. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +10 -19
  103. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +632 -1190
  104. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +29 -38
  105. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +327 -617
  106. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +26 -49
  107. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +188 -380
  108. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +104 -194
  109. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +382 -811
  110. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.js +34 -58
  111. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.js +330 -581
  112. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.test.js +123 -277
  113. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +15 -35
  114. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +216 -571
  115. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +152 -336
  116. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +87 -211
  117. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +10 -11
  118. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +20 -29
  119. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +41 -76
  120. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +45 -99
  121. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +76 -128
  122. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +128 -319
  123. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +45 -78
  124. package/src/platform-implementation-js/dom-driver/inbox/__mocks__/getSidebarClassnames.js +8 -4
  125. package/src/platform-implementation-js/dom-driver/inbox/addNavItem.js +36 -54
  126. package/src/platform-implementation-js/dom-driver/inbox/addRecipientRow.js +35 -53
  127. package/src/platform-implementation-js/dom-driver/inbox/createLink.js +13 -15
  128. package/src/platform-implementation-js/dom-driver/inbox/createLink.test.js +15 -18
  129. package/src/platform-implementation-js/dom-driver/inbox/custom-style.js +14 -13
  130. package/src/platform-implementation-js/dom-driver/inbox/detection/appToolbarLocation/parser.js +14 -20
  131. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentCard/parser.js +14 -13
  132. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentOverlay/parser.js +35 -67
  133. package/src/platform-implementation-js/dom-driver/inbox/detection/chatSidebar/parser.js +16 -18
  134. package/src/platform-implementation-js/dom-driver/inbox/detection/compose/parser.js +68 -185
  135. package/src/platform-implementation-js/dom-driver/inbox/detection/message/parser.js +28 -56
  136. package/src/platform-implementation-js/dom-driver/inbox/detection/nativeDrawer/parser.js +12 -10
  137. package/src/platform-implementation-js/dom-driver/inbox/detection/searchBar/parser.js +16 -16
  138. package/src/platform-implementation-js/dom-driver/inbox/detection/thread/parser.js +24 -35
  139. package/src/platform-implementation-js/dom-driver/inbox/detection/thread-row/parser.js +37 -89
  140. package/src/platform-implementation-js/dom-driver/inbox/getComposeViewDriverLiveSet.js +56 -78
  141. package/src/platform-implementation-js/dom-driver/inbox/getInboxMessageIdForInboxThreadId.js +26 -32
  142. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.js +52 -109
  143. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.test.js +7 -8
  144. package/src/platform-implementation-js/dom-driver/inbox/gotoView.js +16 -20
  145. package/src/platform-implementation-js/dom-driver/inbox/gotoView.test.js +15 -16
  146. package/src/platform-implementation-js/dom-driver/inbox/inbox-butter-bar-driver.js +75 -83
  147. package/src/platform-implementation-js/dom-driver/inbox/inbox-driver.js +530 -822
  148. package/src/platform-implementation-js/dom-driver/inbox/inbox-page-communicator.js +48 -61
  149. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.js +9 -12
  150. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.test.js +12 -19
  151. package/src/platform-implementation-js/dom-driver/inbox/makePageParserTree.js +24 -33
  152. package/src/platform-implementation-js/dom-driver/inbox/pageParserOptions.js +201 -388
  153. package/src/platform-implementation-js/dom-driver/inbox/registerSearchSuggestionsProvider.js +249 -265
  154. package/src/platform-implementation-js/dom-driver/inbox/setupCustomAutocompleteSelectionHandling.js +84 -152
  155. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.js +55 -67
  156. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.test.js +43 -65
  157. package/src/platform-implementation-js/dom-driver/inbox/views/InboxLabelView.js +31 -56
  158. package/src/platform-implementation-js/dom-driver/inbox/views/InboxMoleViewDriver.js +191 -294
  159. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarButtonView.js +32 -45
  160. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarView.js +21 -39
  161. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-sidebar-view.js +153 -240
  162. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-button-view.js +75 -150
  163. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-tooltip-view.js +20 -37
  164. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-card-view.js +60 -114
  165. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-overlay-view.js +47 -65
  166. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +41 -52
  167. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-chat-sidebar-view.js +27 -36
  168. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-button-view.js +52 -80
  169. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-view.js +465 -649
  170. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.js +37 -58
  171. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.test.js +14 -26
  172. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +118 -235
  173. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dropdown-view.js +10 -11
  174. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dummy-route-view.js +28 -46
  175. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-message-view.js +131 -202
  176. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-modal-view.js +40 -80
  177. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-route-view.js +35 -61
  178. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-row-view.js +124 -221
  179. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.js +125 -213
  180. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.test.js +104 -126
  181. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-tooltip-view.js +36 -51
  182. package/src/platform-implementation-js/dom-driver/inbox/views/inboxNavItemView.js +158 -297
  183. package/src/platform-implementation-js/dom-driver/inbox/waitForAnimationClickBlockerGone.js +21 -35
  184. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +24 -43
  185. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +39 -68
  186. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +14 -19
  187. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +27 -35
  188. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +16 -22
  189. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +14 -14
  190. package/src/platform-implementation-js/driver-common/inboxAjax.js +12 -7
  191. package/src/platform-implementation-js/driver-common/requestGmailThread.js +19 -20
  192. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +197 -306
  193. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +113 -161
  194. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +1 -114
  195. package/src/platform-implementation-js/driver-interfaces/driver.js +1 -131
  196. package/src/platform-implementation-js/driver-interfaces/message-view-driver.js +4 -48
  197. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +1 -29
  198. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +1 -32
  199. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.js +1 -11
  200. package/src/platform-implementation-js/lib/array-to-lifetimes.js +43 -41
  201. package/src/platform-implementation-js/lib/array-to-lifetimes.test.js +139 -155
  202. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +19 -38
  203. package/src/platform-implementation-js/lib/css-selector-escape.js +7 -3
  204. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +8 -11
  205. package/src/platform-implementation-js/lib/dom/get-selection.js +23 -52
  206. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +69 -101
  207. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +8 -10
  208. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +15 -17
  209. package/src/platform-implementation-js/lib/dom/querySelectorOne.js +8 -11
  210. package/src/platform-implementation-js/lib/dom/set-css.js +7 -3
  211. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.js +9 -11
  212. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +32 -33
  213. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.test.js +23 -26
  214. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +86 -149
  215. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +42 -57
  216. package/src/platform-implementation-js/lib/make-revocable-function.js +19 -21
  217. package/src/platform-implementation-js/lib/make-revocable-function.test.js +20 -22
  218. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +15 -17
  219. package/src/platform-implementation-js/lib/parseParamsFromRouteID.test.js +9 -18
  220. package/src/platform-implementation-js/lib/populateRouteID.js +8 -9
  221. package/src/platform-implementation-js/lib/populateRouteID.test.js +20 -19
  222. package/src/platform-implementation-js/lib/react/ElementContainer.js +23 -20
  223. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.js +10 -9
  224. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.test.js +13 -20
  225. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +13 -18
  226. package/src/platform-implementation-js/lib/routeIDmatchesHash.test.js +11 -17
  227. package/src/platform-implementation-js/lib/shared-style.js +14 -13
  228. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +18 -17
  229. package/src/platform-implementation-js/lib/toLiveSet.js +17 -15
  230. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +6 -5
  231. package/src/platform-implementation-js/main.js +9 -24
  232. package/src/platform-implementation-js/namespaces/compose.js +37 -60
  233. package/src/platform-implementation-js/namespaces/conversations.js +52 -124
  234. package/src/platform-implementation-js/namespaces/global.js +27 -39
  235. package/src/platform-implementation-js/namespaces/keyboard.js +29 -33
  236. package/src/platform-implementation-js/namespaces/lists.js +25 -31
  237. package/src/platform-implementation-js/namespaces/modal.js +34 -28
  238. package/src/platform-implementation-js/namespaces/nav-menu.js +30 -45
  239. package/src/platform-implementation-js/namespaces/router.js +70 -137
  240. package/src/platform-implementation-js/namespaces/search.js +19 -17
  241. package/src/platform-implementation-js/namespaces/toolbars.js +71 -117
  242. package/src/platform-implementation-js/namespaces/user.js +36 -37
  243. package/src/platform-implementation-js/namespaces/widgets.js +54 -61
  244. package/src/platform-implementation-js/platform-implementation.js +98 -229
  245. package/src/platform-implementation-js/views/app-toolbar-button-view.js +26 -47
  246. package/src/platform-implementation-js/views/collapsible-section-view.js +66 -63
  247. package/src/platform-implementation-js/views/content-panel-view.js +28 -30
  248. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +21 -44
  249. package/src/platform-implementation-js/views/conversations/custom-message-view.js +44 -104
  250. package/src/platform-implementation-js/views/conversations/message-view.js +131 -202
  251. package/src/platform-implementation-js/views/conversations/thread-view.js +75 -127
  252. package/src/platform-implementation-js/views/native-nav-item-view.js +32 -65
  253. package/src/platform-implementation-js/views/nav-item-view.js +51 -115
  254. package/src/platform-implementation-js/views/route-view/custom-route-view.js +25 -20
  255. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +18 -18
  256. package/src/platform-implementation-js/views/route-view/list-route-view.js +30 -52
  257. package/src/platform-implementation-js/views/route-view/route-view.js +24 -35
  258. package/src/platform-implementation-js/views/section-view.js +60 -52
  259. package/src/platform-implementation-js/views/thread-row-view.js +49 -74
  260. package/src/platform-implementation-js/widgets/drawer-view.js +29 -36
  261. package/src/platform-implementation-js/widgets/modal-view.js +39 -68
  262. package/src/platform-implementation-js/widgets/mole-view.js +22 -22
  263. 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
+ }