@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,12 +1,16 @@
1
- /* @flow */
2
-
3
- import intersection from 'lodash/intersection';
4
- import censorJSONTree from '../../common/censorJSONTree';
5
- import * as logger from '../injected-logger';
6
- import XHRProxyFactory from '../xhr-proxy-factory';
7
-
8
- import type { XHRProxyConnectionDetails } from '../xhr-proxy-factory';
9
-
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = setupAjaxInterceptor;
8
+ var _intersection = _interopRequireDefault(require("lodash/intersection"));
9
+ var _censorJSONTree = _interopRequireDefault(require("../../common/censorJSONTree"));
10
+ var logger = _interopRequireWildcard(require("../injected-logger"));
11
+ var _xhrProxyFactory = _interopRequireDefault(require("../xhr-proxy-factory"));
12
+ 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); }
13
+ 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; }
10
14
  function logErrorExceptEventListeners(err, details) {
11
15
  // Don't log the page's own errors
12
16
  if (details !== 'XMLHttpRequest event listener error') {
@@ -18,26 +22,18 @@ function logErrorExceptEventListeners(err, details) {
18
22
  }, 1);
19
23
  }
20
24
  }
21
-
22
25
  function triggerEvent(detail) {
23
- document.dispatchEvent(
24
- new CustomEvent('inboxSDKajaxIntercept', {
25
- bubbles: true,
26
- cancelable: false,
27
- detail,
28
- })
29
- );
26
+ document.dispatchEvent(new CustomEvent('inboxSDKajaxIntercept', {
27
+ bubbles: true,
28
+ cancelable: false,
29
+ detail
30
+ }));
30
31
  }
31
-
32
- export default function setupAjaxInterceptor() {
32
+ function setupAjaxInterceptor() {
33
33
  const main_wrappers = [];
34
-
35
- global.XMLHttpRequest = XHRProxyFactory(
36
- global.XMLHttpRequest,
37
- main_wrappers,
38
- { logError: logErrorExceptEventListeners }
39
- );
40
-
34
+ global.XMLHttpRequest = (0, _xhrProxyFactory.default)(global.XMLHttpRequest, main_wrappers, {
35
+ logError: logErrorExceptEventListeners
36
+ });
41
37
  {
42
38
  let currentSuggestionsConnection;
43
39
  main_wrappers.push({
@@ -54,19 +50,13 @@ export default function setupAjaxInterceptor() {
54
50
  }
55
51
  },
56
52
  afterListeners(connection) {
57
- if (
58
- connection.status === 200 &&
59
- connection.originalSendBody &&
60
- connection === currentSuggestionsConnection
61
- ) {
53
+ if (connection.status === 200 && connection.originalSendBody && connection === currentSuggestionsConnection) {
62
54
  const originalRequest = JSON.parse(connection.originalSendBody);
63
55
  // The suggestions request object contains two keys — one is always '1',
64
56
  // the other is a number that seems somewhat consistent but not consistent
65
57
  // enough to be safe to hard-code. The search query lives inside the
66
58
  // property the latter property.
67
- const queryKey = Object.keys(originalRequest).find(
68
- (key) => key !== '1'
69
- );
59
+ const queryKey = Object.keys(originalRequest).find(key => key !== '1');
70
60
  // Descend into the object that has the query inside it.
71
61
  const queryObj = originalRequest[queryKey];
72
62
  // When an empty search box is first focused, a suggestions request
@@ -78,15 +68,16 @@ export default function setupAjaxInterceptor() {
78
68
  // the value out of the '1' key since that is always what holds a
79
69
  // user-supplied query.
80
70
  const query = Object.keys(queryObj).length === 1 && queryObj['1'];
81
-
82
71
  if (query) {
83
- triggerEvent({ type: 'searchSuggestionsReceieved', query });
72
+ triggerEvent({
73
+ type: 'searchSuggestionsReceieved',
74
+ query
75
+ });
84
76
  }
85
77
  }
86
- },
78
+ }
87
79
  });
88
80
  }
89
-
90
81
  {
91
82
  let isComposeViewSending = false;
92
83
  let sendRequestMisses = [];
@@ -98,24 +89,18 @@ export default function setupAjaxInterceptor() {
98
89
  isComposeViewSending = false;
99
90
  sendRequestMisses = [];
100
91
  });
101
- const logIfParseFailed = (request) => {
92
+ const logIfParseFailed = request => {
102
93
  if (!isComposeViewSending) return;
103
-
104
94
  sendRequestMisses.push(request);
105
-
106
95
  if (sendRequestMisses.length < 3) return;
107
-
108
96
  logger.error(new Error('Failed to identify outgoing send request'), {
109
- requestPayloadList: censorJSONTree(sendRequestMisses),
97
+ requestPayloadList: (0, _censorJSONTree.default)(sendRequestMisses)
110
98
  });
111
-
112
99
  isComposeViewSending = false;
113
100
  sendRequestMisses = [];
114
101
  };
115
-
116
102
  const SEND_ACTIONS = ['^pfg', '^f_bt', '^f_btns', '^f_cl'];
117
- const currentConnectionIDs: WeakMap<XHRProxyConnectionDetails, string> =
118
- new WeakMap();
103
+ const currentConnectionIDs = new WeakMap();
119
104
  main_wrappers.push({
120
105
  isRelevantTo(connection) {
121
106
  return /sync(?:\/u\/\d+)?\/i\/s/.test(connection.url);
@@ -123,47 +108,29 @@ export default function setupAjaxInterceptor() {
123
108
  originalSendBodyLogger(connection) {
124
109
  if (connection.originalSendBody) {
125
110
  const originalRequest = JSON.parse(connection.originalSendBody);
126
-
127
111
  const updateList = originalRequest[2] && originalRequest[2][1];
128
112
  if (!updateList) {
129
113
  logIfParseFailed(originalRequest);
130
114
  return;
131
115
  }
132
-
133
- const sendUpdateMatch = updateList.find((update) => {
134
- const updateWrapper =
135
- update[2] &&
136
- update[2][2] &&
137
- (update[2][2][14] || update[2][2][2]);
138
- const isMessageUpdate =
139
- updateWrapper &&
140
- updateWrapper[1] &&
141
- updateWrapper[1][1] &&
142
- updateWrapper[1][1].indexOf('msg-a:') > -1;
143
-
144
- return (
145
- isMessageUpdate &&
146
- updateWrapper[1][11] &&
147
- intersection(updateWrapper[1][11], SEND_ACTIONS).length ===
148
- SEND_ACTIONS.length
149
- );
116
+ const sendUpdateMatch = updateList.find(update => {
117
+ const updateWrapper = update[2] && update[2][2] && (update[2][2][14] || update[2][2][2]);
118
+ const isMessageUpdate = updateWrapper && updateWrapper[1] && updateWrapper[1][1] && updateWrapper[1][1].indexOf('msg-a:') > -1;
119
+ return isMessageUpdate && updateWrapper[1][11] && (0, _intersection.default)(updateWrapper[1][11], SEND_ACTIONS).length === SEND_ACTIONS.length;
150
120
  });
151
121
  if (!sendUpdateMatch) {
152
122
  logIfParseFailed(originalRequest);
153
123
  return;
154
124
  }
155
-
156
- const sendUpdateWrapper =
157
- sendUpdateMatch[2] &&
158
- sendUpdateMatch[2][2] &&
159
- (sendUpdateMatch[2][2][14] || sendUpdateMatch[2][2][2]);
125
+ const sendUpdateWrapper = sendUpdateMatch[2] && sendUpdateMatch[2][2] && (sendUpdateMatch[2][2][14] || sendUpdateMatch[2][2][2]);
160
126
  const sendUpdate = sendUpdateWrapper[1];
161
-
162
127
  const draftID = sendUpdate[1].replace('msg-a:', '');
163
128
  const actionList = sendUpdate[11];
164
-
165
129
  currentConnectionIDs.set(connection, draftID);
166
- triggerEvent({ type: 'emailSending', draftID });
130
+ triggerEvent({
131
+ type: 'emailSending',
132
+ draftID
133
+ });
167
134
  isComposeViewSending = false;
168
135
  sendRequestMisses = [];
169
136
  }
@@ -171,98 +138,74 @@ export default function setupAjaxInterceptor() {
171
138
  afterListeners(connection) {
172
139
  if (currentConnectionIDs.has(connection)) {
173
140
  const sendFailed = () => {
174
- triggerEvent({ type: 'emailSendFailed', draftID });
141
+ triggerEvent({
142
+ type: 'emailSendFailed',
143
+ draftID
144
+ });
175
145
  currentConnectionIDs.delete(connection);
176
146
  };
177
-
178
147
  const draftID = currentConnectionIDs.get(connection);
179
-
180
148
  if (connection.status !== 200 || !connection.originalResponseText) {
181
149
  sendFailed();
182
150
  return;
183
151
  }
184
-
185
152
  const originalResponse = JSON.parse(connection.originalResponseText);
186
-
187
153
  const updateList = originalResponse[2] && originalResponse[2][6];
188
154
  if (!updateList) {
189
155
  sendFailed();
190
156
  return;
191
157
  }
192
-
193
- const sendUpdateMatch = updateList.find(
194
- (update) =>
195
- update[1] &&
196
- update[1][3] &&
197
- update[1][3][7] &&
198
- update[1][3][7][1] &&
199
- update[1][3][7][1][5] &&
200
- update[1][3][7][1][5][0] &&
201
- update[1][3][7][1][5][0][14]
202
- );
158
+ const sendUpdateMatch = updateList.find(update => update[1] && update[1][3] && update[1][3][7] && update[1][3][7][1] && update[1][3][7][1][5] && update[1][3][7][1][5][0] && update[1][3][7][1][5][0][14]);
203
159
  if (!sendUpdateMatch) {
204
160
  sendFailed();
205
161
  return;
206
162
  }
207
-
208
- const sendUpdate =
209
- sendUpdateMatch[1] &&
210
- sendUpdateMatch[1][3] &&
211
- sendUpdateMatch[1][3][7] &&
212
- sendUpdateMatch[1][3][7][1] &&
213
- sendUpdateMatch[1][3][7][1][5] &&
214
- sendUpdateMatch[1][3][7][1][5][0];
215
-
163
+ const sendUpdate = sendUpdateMatch[1] && sendUpdateMatch[1][3] && sendUpdateMatch[1][3][7] && sendUpdateMatch[1][3][7][1] && sendUpdateMatch[1][3][7][1][5] && sendUpdateMatch[1][3][7][1][5][0];
216
164
  const rfcID = sendUpdate[14];
217
-
218
165
  triggerEvent({
219
166
  type: 'emailSent',
220
167
  rfcID,
221
- draftID,
168
+ draftID
222
169
  });
223
-
224
170
  currentConnectionIDs.delete(connection);
225
171
  }
226
- },
172
+ }
227
173
  });
228
174
  }
229
175
 
230
176
  // sync token savers
231
177
  {
232
- const saveBTAIHeader = (header) => {
233
- (document.head: any).setAttribute('data-inboxsdk-btai-header', header);
234
- triggerEvent({ type: 'btaiHeaderReceived' });
178
+ const saveBTAIHeader = header => {
179
+ document.head.setAttribute('data-inboxsdk-btai-header', header);
180
+ triggerEvent({
181
+ type: 'btaiHeaderReceived'
182
+ });
235
183
  };
236
184
  main_wrappers.push({
237
185
  isRelevantTo(connection) {
238
- return (
239
- /sync(?:\/u\/\d+)?\//.test(connection.url) &&
240
- !(document.head: any).hasAttribute('data-inboxsdk-btai-header')
241
- );
186
+ return /sync(?:\/u\/\d+)?\//.test(connection.url) && !document.head.hasAttribute('data-inboxsdk-btai-header');
242
187
  },
243
188
  originalSendBodyLogger(connection) {
244
189
  if (connection.headers['X-Gmail-BTAI']) {
245
190
  saveBTAIHeader(connection.headers['X-Gmail-BTAI']);
246
191
  }
247
- },
192
+ }
248
193
  });
249
-
250
- const saveXsrfTokenHeader = (header) => {
251
- (document.head: any).setAttribute('data-inboxsdk-xsrf-token', header);
252
- triggerEvent({ type: 'xsrfTokenHeaderReceived' });
194
+ const saveXsrfTokenHeader = header => {
195
+ document.head.setAttribute('data-inboxsdk-xsrf-token', header);
196
+ triggerEvent({
197
+ type: 'xsrfTokenHeaderReceived'
198
+ });
253
199
  };
254
200
  main_wrappers.push({
255
201
  isRelevantTo(connection) {
256
- return (
257
- /sync(?:\/u\/\d+)?\//.test(connection.url) &&
258
- !(document.head: any).hasAttribute('data-inboxsdk-xsrf-token')
259
- );
202
+ return /sync(?:\/u\/\d+)?\//.test(connection.url) && !document.head.hasAttribute('data-inboxsdk-xsrf-token');
260
203
  },
261
204
  originalSendBodyLogger(connection) {
262
205
  if (connection.headers['X-Framework-Xsrf-Token']) {
263
206
  saveXsrfTokenHeader(connection.headers['X-Framework-Xsrf-Token']);
264
207
  }
265
- },
208
+ }
266
209
  });
267
210
  }
268
- }
211
+ }
@@ -1,80 +1,67 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import once from 'lodash/once';
4
- import Kefir from 'kefir';
5
- import { simulateClick } from '../../platform-implementation-js/lib/dom/simulate-mouse-event';
6
- import makeElementChildStream from '../../platform-implementation-js/lib/dom/make-element-child-stream';
7
-
8
- export default function setupClickAndGetNewIframeSrc() {
9
- makeElementChildStream(((document.body: any): HTMLElement))
10
- .filter(({ el }) => el.nodeName === 'IFRAME' && !el.hasAttribute('src'))
11
- .onValue(({ el }) => {
12
- const document = (el: any).contentDocument;
13
- document.addEventListener(
14
- 'inboxSDKclickAndGetNewIframeSrc',
15
- function (event: Object) {
16
- clickAndGetNewIframeSrc(event.target)
17
- .then((src) => {
18
- event.target.dispatchEvent(
19
- new CustomEvent('inboxSDKclickAndGetNewIframeSrcResult', {
20
- bubbles: false,
21
- cancelable: false,
22
- detail: { type: 'success', src },
23
- })
24
- );
25
- })
26
- .catch((err) => {
27
- event.target.dispatchEvent(
28
- new CustomEvent('inboxSDKclickAndGetNewIframeSrcResult', {
29
- bubbles: false,
30
- cancelable: false,
31
- detail: {
32
- type: 'error',
33
- message: err.message,
34
- stack: err.stack,
35
- },
36
- })
37
- );
38
- });
39
- }
40
- );
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = setupClickAndGetNewIframeSrc;
8
+ var _once = _interopRequireDefault(require("lodash/once"));
9
+ var _kefir = _interopRequireDefault(require("kefir"));
10
+ var _simulateMouseEvent = require("../../platform-implementation-js/lib/dom/simulate-mouse-event");
11
+ var _makeElementChildStream = _interopRequireDefault(require("../../platform-implementation-js/lib/dom/make-element-child-stream"));
12
+ function setupClickAndGetNewIframeSrc() {
13
+ (0, _makeElementChildStream.default)(document.body).filter(_ref => {
14
+ let {
15
+ el
16
+ } = _ref;
17
+ return el.nodeName === 'IFRAME' && !el.hasAttribute('src');
18
+ }).onValue(_ref2 => {
19
+ let {
20
+ el
21
+ } = _ref2;
22
+ const document = el.contentDocument;
23
+ document.addEventListener('inboxSDKclickAndGetNewIframeSrc', function (event) {
24
+ clickAndGetNewIframeSrc(event.target).then(src => {
25
+ event.target.dispatchEvent(new CustomEvent('inboxSDKclickAndGetNewIframeSrcResult', {
26
+ bubbles: false,
27
+ cancelable: false,
28
+ detail: {
29
+ type: 'success',
30
+ src
31
+ }
32
+ }));
33
+ }).catch(err => {
34
+ event.target.dispatchEvent(new CustomEvent('inboxSDKclickAndGetNewIframeSrcResult', {
35
+ bubbles: false,
36
+ cancelable: false,
37
+ detail: {
38
+ type: 'error',
39
+ message: err.message,
40
+ stack: err.stack
41
+ }
42
+ }));
43
+ });
41
44
  });
45
+ });
42
46
  }
43
-
44
- const getIframeProto = once(() =>
45
- Object.getPrototypeOf(document.createElement('iframe'))
46
- );
47
-
48
- const getIframeSrcDescriptor = once(() =>
49
- Object.getOwnPropertyDescriptor(getIframeProto(), 'src')
50
- );
51
-
52
- const iframeSrcSets: Kefir.Observable<string> = Kefir.stream((emitter) => {
47
+ const getIframeProto = (0, _once.default)(() => Object.getPrototypeOf(document.createElement('iframe')));
48
+ const getIframeSrcDescriptor = (0, _once.default)(() => Object.getOwnPropertyDescriptor(getIframeProto(), 'src'));
49
+ const iframeSrcSets = _kefir.default.stream(emitter => {
53
50
  const iframeProto = getIframeProto();
54
51
  const originalDescriptor = getIframeSrcDescriptor();
55
- (Object: any).defineProperty(iframeProto, 'src', {
52
+ Object.defineProperty(iframeProto, 'src', {
56
53
  enumerable: true,
57
54
  configurable: true,
58
55
  set(src) {
59
56
  emitter.emit(src);
60
- },
57
+ }
61
58
  });
62
59
  return () => {
63
- (Object: any).defineProperty(iframeProto, 'src', originalDescriptor);
60
+ Object.defineProperty(iframeProto, 'src', originalDescriptor);
64
61
  };
65
62
  });
66
-
67
- function clickAndGetNewIframeSrc(el: HTMLElement): Promise<string> {
68
- const pr = iframeSrcSets
69
- .merge(Kefir.later(10 * 1000, null))
70
- .take(1)
71
- .flatMap((result) =>
72
- result
73
- ? Kefir.constant(result)
74
- : Kefir.constantError(new Error('timed out waiting for iframe src set'))
75
- )
76
- .toPromise();
77
-
78
- simulateClick(el);
63
+ function clickAndGetNewIframeSrc(el) {
64
+ const pr = iframeSrcSets.merge(_kefir.default.later(10 * 1000, null)).take(1).flatMap(result => result ? _kefir.default.constant(result) : _kefir.default.constantError(new Error('timed out waiting for iframe src set'))).toPromise();
65
+ (0, _simulateMouseEvent.simulateClick)(el);
79
66
  return pr;
80
- }
67
+ }
@@ -1,51 +1,35 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = setupComposeViewDraftIDFinder;
3
7
  const MAX_SEARCH_DEPTH = 3;
4
-
5
- const searchCollection = (
6
- collection: Object,
7
- predicate: (?Object) => boolean,
8
- maxDepth: number,
9
- currentDepth: number = 0
10
- ) => {
8
+ const searchCollection = function (collection, predicate, maxDepth) {
9
+ let currentDepth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
11
10
  const ownKeys = Object.keys(collection);
12
11
  for (let i = 0; i < ownKeys.length; i++) {
13
12
  const value = collection[ownKeys[i]];
14
13
  if (predicate(value)) {
15
14
  return value;
16
15
  } else if (currentDepth <= maxDepth && value instanceof Object) {
17
- const match = searchCollection(
18
- value,
19
- predicate,
20
- maxDepth,
21
- currentDepth + 1
22
- );
16
+ const match = searchCollection(value, predicate, maxDepth, currentDepth + 1);
23
17
  if (match) return match;
24
18
  }
25
19
  }
26
20
  return null;
27
21
  };
28
-
29
- const findDraftID = (target) => {
30
- const match = searchCollection(
31
- target.__cdn.context,
32
- (value) => typeof value === 'string' && value.indexOf('#msg-a:') > -1,
33
- MAX_SEARCH_DEPTH
34
- );
22
+ const findDraftID = target => {
23
+ const match = searchCollection(target.__cdn.context, value => typeof value === 'string' && value.indexOf('#msg-a:') > -1, MAX_SEARCH_DEPTH);
35
24
  return match ? match.replace('#msg-a:', '') : null;
36
25
  };
37
-
38
- export default function setupComposeViewDraftIDFinder() {
39
- document.addEventListener(
40
- 'inboxSDKgetDraftIDforComposeView',
41
- ({ target }: Event) => {
42
- const draftID = findDraftID((target: any));
43
-
44
- if (!draftID)
45
- throw new Error('could not retrieve draft ID for compose view');
46
-
47
- (target: any).setAttribute('data-inboxsdk-draft-id', draftID);
48
- },
49
- true
50
- );
51
- }
26
+ function setupComposeViewDraftIDFinder() {
27
+ document.addEventListener('inboxSDKgetDraftIDforComposeView', _ref => {
28
+ let {
29
+ target
30
+ } = _ref;
31
+ const draftID = findDraftID(target);
32
+ if (!draftID) throw new Error('could not retrieve draft ID for compose view');
33
+ target.setAttribute('data-inboxsdk-draft-id', draftID);
34
+ }, true);
35
+ }
@@ -1,29 +1,29 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- export default function setupInboxFakeWindowResizeListener() {
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = setupInboxFakeWindowResizeListener;
7
+ function setupInboxFakeWindowResizeListener() {
4
8
  document.addEventListener('inboxSDKinboxFakeWindowResize', fakeWindowResize);
5
9
  }
6
-
7
10
  function fakeWindowResize() {
8
- (Object: any).defineProperty(document.documentElement, 'clientWidth', {
11
+ Object.defineProperty(document.documentElement, 'clientWidth', {
9
12
  configurable: true,
10
- value: window.innerWidth - 1,
13
+ value: window.innerWidth - 1
11
14
  });
12
-
13
15
  {
14
16
  const event = document.createEvent('HTMLEvents');
15
- (event: any).initEvent('resize', true, false);
17
+ event.initEvent('resize', true, false);
16
18
  window.dispatchEvent(event);
17
19
  }
18
-
19
- (Object: any).defineProperty(document.documentElement, 'clientWidth', {
20
+ Object.defineProperty(document.documentElement, 'clientWidth', {
20
21
  configurable: true,
21
- get: () => window.innerWidth,
22
+ get: () => window.innerWidth
22
23
  });
23
-
24
24
  {
25
25
  const event = document.createEvent('HTMLEvents');
26
- (event: any).initEvent('resize', true, false);
26
+ event.initEvent('resize', true, false);
27
27
  window.dispatchEvent(event);
28
28
  }
29
- }
29
+ }
@@ -1,8 +1,9 @@
1
+ "use strict";
2
+
1
3
  /* eslint-disable flowtype/require-valid-file-annotation, no-undef */
2
4
 
3
5
  if (!global.__InboxSDKInjected) {
4
6
  global.__InboxSDKInjected = true;
5
-
6
7
  const logger = require('./injected-logger');
7
8
  let oldDefine;
8
9
  try {
@@ -17,29 +18,16 @@ if (!global.__InboxSDKInjected) {
17
18
  const setupDataExposer = require('./setup-data-exposer').default;
18
19
  const setupEventReemitter = require('./setup-event-reemitter').default;
19
20
  const setupErrorSilencer = require('./setup-error-silencer').default;
20
- const setupCustomViewEventAssassin =
21
- require('./setupCustomViewEventAssassin').default;
21
+ const setupCustomViewEventAssassin = require('./setupCustomViewEventAssassin').default;
22
22
  const setupPushStateListener = require('./setupPushStateListener').default;
23
- const setupInboxCustomViewLinkFixer =
24
- require('./setupInboxCustomViewLinkFixer').default;
25
-
23
+ const setupInboxCustomViewLinkFixer = require('./setupInboxCustomViewLinkFixer').default;
26
24
  const gmailInterceptor = require('./gmail/setup-gmail-interceptor').default;
27
- const setupGmonkeyHandler =
28
- require('./gmail/setup-gmonkey-handler').default;
29
-
30
- const setupClickAndGetNewIframeSrc =
31
- require('./inbox/setupClickAndGetNewIframeSrc').default;
32
- const setupInboxFakeWindowResizeListener =
33
- require('./inbox/setupInboxFakeWindowResizeListener').default;
34
- const setupComposeViewDraftIDFinder =
35
- require('./inbox/setupComposeViewDraftIDFinder').default;
36
- const setupInboxAjaxInterceptor =
37
- require('./inbox/setupAjaxInterceptor').default;
38
-
39
- const pageOrigin: string =
40
- (process.env.NODE_ENV === 'test' && global.__test_origin) ||
41
- document.location.origin;
42
-
25
+ const setupGmonkeyHandler = require('./gmail/setup-gmonkey-handler').default;
26
+ const setupClickAndGetNewIframeSrc = require('./inbox/setupClickAndGetNewIframeSrc').default;
27
+ const setupInboxFakeWindowResizeListener = require('./inbox/setupInboxFakeWindowResizeListener').default;
28
+ const setupComposeViewDraftIDFinder = require('./inbox/setupComposeViewDraftIDFinder').default;
29
+ const setupInboxAjaxInterceptor = require('./inbox/setupAjaxInterceptor').default;
30
+ const pageOrigin = process.env.NODE_ENV === 'test' && global.__test_origin || document.location.origin;
43
31
  if (pageOrigin === 'https://mail.google.com') {
44
32
  gmailInterceptor();
45
33
  setupGmonkeyHandler();
@@ -51,7 +39,6 @@ if (!global.__InboxSDKInjected) {
51
39
  } else {
52
40
  throw new Error('Should not happen');
53
41
  }
54
-
55
42
  extCorbWorkaroundPageWorld.init();
56
43
  xhrHelper();
57
44
  setupDataExposer();
@@ -67,4 +54,4 @@ if (!global.__InboxSDKInjected) {
67
54
  define = oldDefine;
68
55
  }
69
56
  }
70
- }
57
+ }