@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,18 +1,18 @@
1
- /* @flow */
2
-
3
- import showCustomThreadList from './show-custom-thread-list';
4
-
5
- import * as GSRP from '../gmail-sync-response-processor';
6
-
7
- import fs from 'fs';
8
- import once from 'lodash/once';
9
- import Kefir from 'kefir';
10
- import kefirBus from 'kefir-bus';
11
-
12
- const readFile = fs.promises.readFile;
13
-
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
5
+ var _showCustomThreadList = _interopRequireDefault(require("./show-custom-thread-list"));
6
+ var GSRP = _interopRequireWildcard(require("../gmail-sync-response-processor"));
7
+ var _fs = _interopRequireDefault(require("fs"));
8
+ var _once = _interopRequireDefault(require("lodash/once"));
9
+ var _kefir = _interopRequireDefault(require("kefir"));
10
+ var _kefirBus = _interopRequireDefault(require("kefir-bus"));
11
+ 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); }
12
+ 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; }
13
+ const readFile = _fs.default.promises.readFile;
14
14
  beforeAll(() => {
15
- (document.body: any).innerHTML = `
15
+ document.body.innerHTML = `
16
16
  <div>
17
17
  <form role="search">
18
18
  <input type="text">
@@ -20,385 +20,199 @@ beforeAll(() => {
20
20
  </div>
21
21
  `;
22
22
  });
23
-
24
23
  class ShowCustomThreadListTester {
25
- _ajaxInterceptStream = kefirBus();
26
- _customListNewQueryBus = kefirBus();
27
- _customListResultsBus = kefirBus();
28
- _allowGmailThreadIdLookup = kefirBus();
29
- _driver: any = {
30
- isUsingSyncAPI: () => true,
31
- getLogger: once(() => ({
32
- error(e) {
33
- // eslint-disable-next-line no-console
34
- console.error(e);
35
- throw e;
36
- },
37
- })),
38
- getCustomListSearchStringsToRouteIds: once(() => new Map()),
39
- getPageCommunicator: once(() => ({
40
- ajaxInterceptStream: this._ajaxInterceptStream,
41
- setupCustomListResultsQuery: jest.fn(),
42
- setCustomListNewQuery: jest.fn((value) => {
43
- this._customListNewQueryBus.value(value);
44
- }),
45
- setCustomListResults: jest.fn((value) => {
46
- this._customListResultsBus.value(value);
24
+ constructor(options) {
25
+ (0, _defineProperty2.default)(this, "_ajaxInterceptStream", (0, _kefirBus.default)());
26
+ (0, _defineProperty2.default)(this, "_customListNewQueryBus", (0, _kefirBus.default)());
27
+ (0, _defineProperty2.default)(this, "_customListResultsBus", (0, _kefirBus.default)());
28
+ (0, _defineProperty2.default)(this, "_allowGmailThreadIdLookup", (0, _kefirBus.default)());
29
+ (0, _defineProperty2.default)(this, "_driver", {
30
+ isUsingSyncAPI: () => true,
31
+ getLogger: (0, _once.default)(() => ({
32
+ error(e) {
33
+ // eslint-disable-next-line no-console
34
+ console.error(e);
35
+ throw e;
36
+ }
37
+ })),
38
+ getCustomListSearchStringsToRouteIds: (0, _once.default)(() => new Map()),
39
+ getPageCommunicator: (0, _once.default)(() => ({
40
+ ajaxInterceptStream: this._ajaxInterceptStream,
41
+ setupCustomListResultsQuery: jest.fn(),
42
+ setCustomListNewQuery: jest.fn(value => {
43
+ this._customListNewQueryBus.value(value);
44
+ }),
45
+ setCustomListResults: jest.fn(value => {
46
+ this._customListResultsBus.value(value);
47
+ })
48
+ })),
49
+ signalCustomThreadListActivity: jest.fn(),
50
+ getRfcMessageIdForGmailThreadId: jest.fn(async gmailThreadId => {
51
+ if (!this._threadIdsToRfcIds.has(gmailThreadId)) {
52
+ throw new Error('Failed to find id');
53
+ }
54
+ return this._threadIdsToRfcIds.get(gmailThreadId);
47
55
  }),
48
- })),
49
- signalCustomThreadListActivity: jest.fn(),
50
- getRfcMessageIdForGmailThreadId: jest.fn(async (gmailThreadId: string) => {
51
- if (!this._threadIdsToRfcIds.has(gmailThreadId)) {
52
- throw new Error('Failed to find id');
53
- }
54
- return this._threadIdsToRfcIds.get(gmailThreadId);
55
- }),
56
- getGmailThreadIdForRfcMessageId: jest.fn(async (rfcId: string) => {
57
- if (!this._rfcIdsToThreadIds.has(rfcId)) {
58
- throw new Error('Failed to find id');
59
- }
60
- await this._allowGmailThreadIdLookup.take(1).toPromise();
61
- return this._rfcIdsToThreadIds.get(rfcId);
62
- }),
63
- };
64
-
65
- _customRouteID = 'tlbeep';
66
- _routeParams = [];
67
-
68
- _onActivate: Function;
69
- _expectedSearchQuery: string;
70
- _start: number;
71
- _getOriginalSearchResponse: () => Promise<string>;
72
- _threadIdsToRfcIds: Map<string, string>;
73
- _rfcIdsToThreadIds: Map<string, string>;
74
-
75
- _newQuery: string;
76
-
77
- constructor(options: {|
78
- onActivate: Function,
79
- threadAndRfcIds: Array<[string, string]>,
80
- expectedSearchQuery: string,
81
- start: number,
82
- getOriginalSearchResponse: () => Promise<string>,
83
- |}) {
56
+ getGmailThreadIdForRfcMessageId: jest.fn(async rfcId => {
57
+ if (!this._rfcIdsToThreadIds.has(rfcId)) {
58
+ throw new Error('Failed to find id');
59
+ }
60
+ await this._allowGmailThreadIdLookup.take(1).toPromise();
61
+ return this._rfcIdsToThreadIds.get(rfcId);
62
+ })
63
+ });
64
+ (0, _defineProperty2.default)(this, "_customRouteID", 'tlbeep');
65
+ (0, _defineProperty2.default)(this, "_routeParams", []);
84
66
  this._onActivate = options.onActivate;
85
-
86
67
  this._threadIdsToRfcIds = new Map(options.threadAndRfcIds);
87
- this._rfcIdsToThreadIds = new Map(
88
- options.threadAndRfcIds.map(([threadId, rfcId]) => [rfcId, threadId])
89
- );
90
-
68
+ this._rfcIdsToThreadIds = new Map(options.threadAndRfcIds.map(_ref => {
69
+ let [threadId, rfcId] = _ref;
70
+ return [rfcId, threadId];
71
+ }));
91
72
  this._expectedSearchQuery = options.expectedSearchQuery;
92
73
  this._start = options.start;
93
74
  this._getOriginalSearchResponse = options.getOriginalSearchResponse;
94
75
  }
95
-
96
- async runAndGetSetCustomListResults(): Promise<Object> {
97
- showCustomThreadList(
98
- this._driver,
99
- this._customRouteID,
100
- this._onActivate,
101
- this._routeParams,
102
- () => null
103
- );
104
-
105
- expect(
106
- this._driver.getPageCommunicator().setupCustomListResultsQuery.mock.calls
107
- .length
108
- ).toBe(1);
109
- this._newQuery =
110
- this._driver.getPageCommunicator().setupCustomListResultsQuery.mock.calls[0][0];
76
+ async runAndGetSetCustomListResults() {
77
+ (0, _showCustomThreadList.default)(this._driver, this._customRouteID, this._onActivate, this._routeParams, () => null);
78
+ expect(this._driver.getPageCommunicator().setupCustomListResultsQuery.mock.calls.length).toBe(1);
79
+ this._newQuery = this._driver.getPageCommunicator().setupCustomListResultsQuery.mock.calls[0][0];
111
80
  expect(typeof this._newQuery).toBe('string');
112
-
113
81
  expect(this._driver.getCustomListSearchStringsToRouteIds().size).toBe(1);
114
- expect(
115
- this._driver.getCustomListSearchStringsToRouteIds().get(this._newQuery)
116
- ).toBe('tlbeep');
117
-
82
+ expect(this._driver.getCustomListSearchStringsToRouteIds().get(this._newQuery)).toBe('tlbeep');
118
83
  expect(this._driver.signalCustomThreadListActivity.mock.calls).toEqual([]);
119
- expect(
120
- this._driver.getPageCommunicator().setCustomListNewQuery.mock.calls
121
- ).toEqual([]);
84
+ expect(this._driver.getPageCommunicator().setCustomListNewQuery.mock.calls).toEqual([]);
122
85
  this._ajaxInterceptStream.value({
123
86
  type: 'searchForReplacement',
124
87
  query: this._newQuery,
125
- start: this._start,
88
+ start: this._start
126
89
  });
127
- expect(this._driver.signalCustomThreadListActivity.mock.calls).toEqual([
128
- [this._customRouteID],
129
- ]);
90
+ expect(this._driver.signalCustomThreadListActivity.mock.calls).toEqual([[this._customRouteID]]);
130
91
  await this._customListNewQueryBus.take(1).toPromise();
131
- expect(
132
- this._driver.getPageCommunicator().setCustomListNewQuery.mock.calls
133
- ).toEqual([
134
- [
135
- {
136
- newQuery: this._expectedSearchQuery,
137
- newStart: 0,
138
- query: this._newQuery,
139
- start: this._start,
140
- },
141
- ],
142
- ]);
143
-
92
+ expect(this._driver.getPageCommunicator().setCustomListNewQuery.mock.calls).toEqual([[{
93
+ newQuery: this._expectedSearchQuery,
94
+ newStart: 0,
95
+ query: this._newQuery,
96
+ start: this._start
97
+ }]]);
144
98
  const originalSearchResponse = await this._getOriginalSearchResponse();
145
-
146
99
  this._ajaxInterceptStream.value({
147
100
  type: 'searchResultsResponse',
148
101
  query: this._newQuery,
149
102
  start: this._start,
150
- response: originalSearchResponse,
103
+ response: originalSearchResponse
151
104
  });
152
-
153
- expect(
154
- this._driver.getPageCommunicator().setCustomListResults.mock.calls.length
155
- ).toBe(0);
105
+ expect(this._driver.getPageCommunicator().setCustomListResults.mock.calls.length).toBe(0);
156
106
  this._allowGmailThreadIdLookup.value();
157
107
  await this._customListResultsBus.take(1).toPromise();
158
- expect(
159
- this._driver.getPageCommunicator().setCustomListResults.mock.calls.length
160
- ).toBe(1);
161
-
162
- expect(
163
- this._driver.getPageCommunicator().setCustomListResults.mock.calls[0][0]
164
- ).toBe(this._newQuery);
165
-
166
- return this._driver.getPageCommunicator().setCustomListResults.mock
167
- .calls[0][1];
108
+ expect(this._driver.getPageCommunicator().setCustomListResults.mock.calls.length).toBe(1);
109
+ expect(this._driver.getPageCommunicator().setCustomListResults.mock.calls[0][0]).toBe(this._newQuery);
110
+ return this._driver.getPageCommunicator().setCustomListResults.mock.calls[0][1];
168
111
  }
169
112
  }
170
-
171
113
  test('works', async () => {
172
- const getOriginalSearchResponse = once(() =>
173
- readFile(
174
- __dirname + '/../../../../../test/data/2019-02-01 search results.json',
175
- 'utf8'
176
- )
177
- );
178
-
114
+ const getOriginalSearchResponse = (0, _once.default)(() => readFile(__dirname + '/../../../../../test/data/2019-02-01 search results.json', 'utf8'));
179
115
  const tester = new ShowCustomThreadListTester({
180
116
  onActivate() {
181
117
  return {
182
118
  hasMore: false,
183
- threads: [
184
- '168ab8987a3b61b3',
185
- '<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>',
186
- ],
119
+ threads: ['168ab8987a3b61b3', '<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>']
187
120
  };
188
121
  },
189
- threadAndRfcIds: [
190
- [
191
- '168ab8987a3b61b3',
192
- '<CAL_Ays_RcwA0U8-43zY8JYPRsyQ5EOavXjrYZx7=EqVTx9Jz3g@mail.gmail.com>',
193
- ],
194
- [
195
- '168a6018f86576ac',
196
- '<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>',
197
- ],
198
- ],
199
- expectedSearchQuery:
200
- 'rfc822msgid:<CAL_Ays_RcwA0U8-43zY8JYPRsyQ5EOavXjrYZx7=EqVTx9Jz3g@mail.gmail.com> OR rfc822msgid:<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>',
122
+ threadAndRfcIds: [['168ab8987a3b61b3', '<CAL_Ays_RcwA0U8-43zY8JYPRsyQ5EOavXjrYZx7=EqVTx9Jz3g@mail.gmail.com>'], ['168a6018f86576ac', '<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>']],
123
+ expectedSearchQuery: 'rfc822msgid:<CAL_Ays_RcwA0U8-43zY8JYPRsyQ5EOavXjrYZx7=EqVTx9Jz3g@mail.gmail.com> OR rfc822msgid:<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>',
201
124
  start: 0,
202
- getOriginalSearchResponse,
125
+ getOriginalSearchResponse
203
126
  });
204
127
  const setCustomListResults = await tester.runAndGetSetCustomListResults();
205
-
206
- function ignoreRawResponses(syncThreads: GSRP.SyncThread[]) {
207
- return syncThreads.map((o) => ({
128
+ function ignoreRawResponses(syncThreads) {
129
+ return syncThreads.map(o => ({
208
130
  ...o,
209
- rawResponse: 'ignored',
131
+ rawResponse: 'ignored'
210
132
  }));
211
133
  }
212
-
213
- expect(
214
- ignoreRawResponses(
215
- GSRP.extractThreadsFromSearchResponse(setCustomListResults)
216
- )
217
- ).toEqual(
218
- ignoreRawResponses(
219
- GSRP.extractThreadsFromSearchResponse(await getOriginalSearchResponse())
220
- )
221
- );
134
+ expect(ignoreRawResponses(GSRP.extractThreadsFromSearchResponse(setCustomListResults))).toEqual(ignoreRawResponses(GSRP.extractThreadsFromSearchResponse(await getOriginalSearchResponse())));
222
135
  });
223
-
224
136
  test('can reorder list', async () => {
225
- const getOriginalSearchResponse = once(() =>
226
- readFile(
227
- __dirname + '/../../../../../test/data/2019-02-01 search results.json',
228
- 'utf8'
229
- )
230
- );
231
-
137
+ const getOriginalSearchResponse = (0, _once.default)(() => readFile(__dirname + '/../../../../../test/data/2019-02-01 search results.json', 'utf8'));
232
138
  const tester = new ShowCustomThreadListTester({
233
139
  onActivate() {
234
140
  return {
235
141
  hasMore: false,
236
- threads: [
237
- '<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>',
238
- '168ab8987a3b61b3',
239
- ],
142
+ threads: ['<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>', '168ab8987a3b61b3']
240
143
  };
241
144
  },
242
- threadAndRfcIds: [
243
- [
244
- '168ab8987a3b61b3',
245
- '<CAL_Ays_RcwA0U8-43zY8JYPRsyQ5EOavXjrYZx7=EqVTx9Jz3g@mail.gmail.com>',
246
- ],
247
- [
248
- '168a6018f86576ac',
249
- '<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>',
250
- ],
251
- ],
252
- expectedSearchQuery:
253
- 'rfc822msgid:<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com> OR rfc822msgid:<CAL_Ays_RcwA0U8-43zY8JYPRsyQ5EOavXjrYZx7=EqVTx9Jz3g@mail.gmail.com>',
145
+ threadAndRfcIds: [['168ab8987a3b61b3', '<CAL_Ays_RcwA0U8-43zY8JYPRsyQ5EOavXjrYZx7=EqVTx9Jz3g@mail.gmail.com>'], ['168a6018f86576ac', '<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>']],
146
+ expectedSearchQuery: 'rfc822msgid:<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com> OR rfc822msgid:<CAL_Ays_RcwA0U8-43zY8JYPRsyQ5EOavXjrYZx7=EqVTx9Jz3g@mail.gmail.com>',
254
147
  start: 0,
255
- getOriginalSearchResponse,
148
+ getOriginalSearchResponse
256
149
  });
257
150
  const setCustomListResults = await tester.runAndGetSetCustomListResults();
258
-
259
- function ignoreSomeFields(syncThreads: GSRP.SyncThread[]) {
260
- return syncThreads.map((o) => ({
151
+ function ignoreSomeFields(syncThreads) {
152
+ return syncThreads.map(o => ({
261
153
  ...o,
262
154
  rawResponse: 'ignored',
263
155
  extraMetaData: {
264
156
  ...o.extraMetaData,
265
- syncMessageData: o.extraMetaData.syncMessageData.map((s) => ({
157
+ syncMessageData: o.extraMetaData.syncMessageData.map(s => ({
266
158
  ...s,
267
- date: 'ignored',
268
- })),
269
- },
159
+ date: 'ignored'
160
+ }))
161
+ }
270
162
  }));
271
163
  }
272
-
273
- expect(
274
- ignoreSomeFields(
275
- GSRP.extractThreadsFromSearchResponse(setCustomListResults)
276
- )
277
- ).toEqual(
278
- ignoreSomeFields(
279
- GSRP.extractThreadsFromSearchResponse(await getOriginalSearchResponse())
280
- ).reverse()
281
- );
164
+ expect(ignoreSomeFields(GSRP.extractThreadsFromSearchResponse(setCustomListResults))).toEqual(ignoreSomeFields(GSRP.extractThreadsFromSearchResponse(await getOriginalSearchResponse())).reverse());
282
165
  });
283
-
284
166
  test('missing thread id', async () => {
285
- const getOriginalSearchResponse = once(() =>
286
- readFile(
287
- __dirname + '/../../../../../test/data/2019-02-01 search results.json',
288
- 'utf8'
289
- )
290
- );
291
-
167
+ const getOriginalSearchResponse = (0, _once.default)(() => readFile(__dirname + '/../../../../../test/data/2019-02-01 search results.json', 'utf8'));
292
168
  const tester = new ShowCustomThreadListTester({
293
169
  onActivate() {
294
170
  return {
295
171
  hasMore: false,
296
- threads: [
297
- '<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>',
298
- '168ab8987a3b61b3',
299
- '1111111111111111',
300
- '1111111111111112',
301
- '<a@b.com>',
302
- ],
172
+ threads: ['<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>', '168ab8987a3b61b3', '1111111111111111', '1111111111111112', '<a@b.com>']
303
173
  };
304
174
  },
305
- threadAndRfcIds: [
306
- [
307
- '168ab8987a3b61b3',
308
- '<CAL_Ays_RcwA0U8-43zY8JYPRsyQ5EOavXjrYZx7=EqVTx9Jz3g@mail.gmail.com>',
309
- ],
310
- [
311
- '168a6018f86576ac',
312
- '<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>',
313
- ],
314
- ],
315
- expectedSearchQuery:
316
- 'rfc822msgid:<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com> OR rfc822msgid:<CAL_Ays_RcwA0U8-43zY8JYPRsyQ5EOavXjrYZx7=EqVTx9Jz3g@mail.gmail.com> OR rfc822msgid:<a@b.com>',
175
+ threadAndRfcIds: [['168ab8987a3b61b3', '<CAL_Ays_RcwA0U8-43zY8JYPRsyQ5EOavXjrYZx7=EqVTx9Jz3g@mail.gmail.com>'], ['168a6018f86576ac', '<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>']],
176
+ expectedSearchQuery: 'rfc822msgid:<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com> OR rfc822msgid:<CAL_Ays_RcwA0U8-43zY8JYPRsyQ5EOavXjrYZx7=EqVTx9Jz3g@mail.gmail.com> OR rfc822msgid:<a@b.com>',
317
177
  start: 0,
318
- getOriginalSearchResponse,
178
+ getOriginalSearchResponse
319
179
  });
320
180
  const setCustomListResults = await tester.runAndGetSetCustomListResults();
321
-
322
- function ignoreSomeFields(syncThreads: GSRP.SyncThread[]) {
323
- return syncThreads.map((o) => ({
181
+ function ignoreSomeFields(syncThreads) {
182
+ return syncThreads.map(o => ({
324
183
  ...o,
325
184
  rawResponse: 'ignored',
326
185
  extraMetaData: {
327
186
  ...o.extraMetaData,
328
- syncMessageData: o.extraMetaData.syncMessageData.map((s) => ({
187
+ syncMessageData: o.extraMetaData.syncMessageData.map(s => ({
329
188
  ...s,
330
- date: 'ignored',
331
- })),
332
- },
189
+ date: 'ignored'
190
+ }))
191
+ }
333
192
  }));
334
193
  }
335
-
336
- expect(
337
- ignoreSomeFields(
338
- GSRP.extractThreadsFromSearchResponse(setCustomListResults)
339
- )
340
- ).toEqual(
341
- ignoreSomeFields(
342
- GSRP.extractThreadsFromSearchResponse(await getOriginalSearchResponse())
343
- ).reverse()
344
- );
194
+ expect(ignoreSomeFields(GSRP.extractThreadsFromSearchResponse(setCustomListResults))).toEqual(ignoreSomeFields(GSRP.extractThreadsFromSearchResponse(await getOriginalSearchResponse())).reverse());
345
195
  });
346
-
347
196
  test('missing threads in response', async () => {
348
- const getOriginalSearchResponse = once(() =>
349
- readFile(
350
- __dirname + '/../../../../../test/data/2019-02-01 search results.json',
351
- 'utf8'
352
- )
353
- );
354
-
197
+ const getOriginalSearchResponse = (0, _once.default)(() => readFile(__dirname + '/../../../../../test/data/2019-02-01 search results.json', 'utf8'));
355
198
  const tester = new ShowCustomThreadListTester({
356
199
  onActivate() {
357
200
  return {
358
201
  hasMore: false,
359
- threads: [
360
- '168ab8987a3b61b3',
361
- '<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>',
362
- '1111111111111111',
363
- '1111111111111112',
364
- '<a@b.com>',
365
- ],
202
+ threads: ['168ab8987a3b61b3', '<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>', '1111111111111111', '1111111111111112', '<a@b.com>']
366
203
  };
367
204
  },
368
- threadAndRfcIds: [
369
- [
370
- '168ab8987a3b61b3',
371
- '<CAL_Ays_RcwA0U8-43zY8JYPRsyQ5EOavXjrYZx7=EqVTx9Jz3g@mail.gmail.com>',
372
- ],
373
- [
374
- '168a6018f86576ac',
375
- '<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>',
376
- ],
377
- ['1111111111111111', '<ones@example.com>'],
378
- ['1111111111111112', '<onesandatwo@example.com>'],
379
- ['abab111111111111', '<a@b.com>'],
380
- ],
381
- expectedSearchQuery:
382
- 'rfc822msgid:<CAL_Ays_RcwA0U8-43zY8JYPRsyQ5EOavXjrYZx7=EqVTx9Jz3g@mail.gmail.com> OR rfc822msgid:<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com> OR rfc822msgid:<ones@example.com> OR rfc822msgid:<onesandatwo@example.com> OR rfc822msgid:<a@b.com>',
205
+ threadAndRfcIds: [['168ab8987a3b61b3', '<CAL_Ays_RcwA0U8-43zY8JYPRsyQ5EOavXjrYZx7=EqVTx9Jz3g@mail.gmail.com>'], ['168a6018f86576ac', '<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com>'], ['1111111111111111', '<ones@example.com>'], ['1111111111111112', '<onesandatwo@example.com>'], ['abab111111111111', '<a@b.com>']],
206
+ expectedSearchQuery: 'rfc822msgid:<CAL_Ays_RcwA0U8-43zY8JYPRsyQ5EOavXjrYZx7=EqVTx9Jz3g@mail.gmail.com> OR rfc822msgid:<CAL_Ays8e-3FpHxkJ8qWNXKMHKnysR2XTeSakv_yvQNUjZsSSdw@mail.gmail.com> OR rfc822msgid:<ones@example.com> OR rfc822msgid:<onesandatwo@example.com> OR rfc822msgid:<a@b.com>',
383
207
  start: 0,
384
- getOriginalSearchResponse,
208
+ getOriginalSearchResponse
385
209
  });
386
210
  const setCustomListResults = await tester.runAndGetSetCustomListResults();
387
-
388
- function ignoreRawResponses(syncThreads: GSRP.SyncThread[]) {
389
- return syncThreads.map((o) => ({
211
+ function ignoreRawResponses(syncThreads) {
212
+ return syncThreads.map(o => ({
390
213
  ...o,
391
- rawResponse: 'ignored',
214
+ rawResponse: 'ignored'
392
215
  }));
393
216
  }
394
-
395
- expect(
396
- ignoreRawResponses(
397
- GSRP.extractThreadsFromSearchResponse(setCustomListResults)
398
- )
399
- ).toEqual(
400
- ignoreRawResponses(
401
- GSRP.extractThreadsFromSearchResponse(await getOriginalSearchResponse())
402
- )
403
- );
404
- });
217
+ expect(ignoreRawResponses(GSRP.extractThreadsFromSearchResponse(setCustomListResults))).toEqual(ignoreRawResponses(GSRP.extractThreadsFromSearchResponse(await getOriginalSearchResponse())));
218
+ });
@@ -1,33 +1,26 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import GmailElementGetter from '../gmail-element-getter';
4
- import fakeWindowResize from '../../../lib/fake-window-resize';
5
-
6
- export default function showNativeRouteView(gmailDriver: any) {
7
- const contentSectionElement = GmailElementGetter.getContentSectionElement();
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = showNativeRouteView;
8
+ var _gmailElementGetter = _interopRequireDefault(require("../gmail-element-getter"));
9
+ var _fakeWindowResize = _interopRequireDefault(require("../../../lib/fake-window-resize"));
10
+ function showNativeRouteView(gmailDriver) {
11
+ const contentSectionElement = _gmailElementGetter.default.getContentSectionElement();
8
12
  if (!contentSectionElement) {
9
13
  return;
10
14
  }
11
-
12
- Array.prototype.forEach.call(
13
- (contentSectionElement: any).children,
14
- (child: HTMLElement) => {
15
- child.style.display = '';
16
- }
17
- );
18
-
19
- if (
20
- ((document.body: any): HTMLElement).classList.contains(
21
- 'inboxsdk__custom_view_active'
22
- )
23
- ) {
24
- ((document.body: any): HTMLElement).classList.remove(
25
- 'inboxsdk__custom_view_active'
26
- );
15
+ Array.prototype.forEach.call(contentSectionElement.children, child => {
16
+ child.style.display = '';
17
+ });
18
+ if (document.body.classList.contains('inboxsdk__custom_view_active')) {
19
+ document.body.classList.remove('inboxsdk__custom_view_active');
27
20
  // Work around issue where Gmail sometimes screws up its formatting until
28
21
  // the user resizes their screen. Reproduction steps that sometimes work:
29
22
  // use multiple inboxes lab, with multiple inboxes set below the inbox, go
30
23
  // to a pipeline, resize the window slightly, and then go to inbox.
31
- fakeWindowResize();
24
+ (0, _fakeWindowResize.default)();
32
25
  }
33
- }
26
+ }