@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,73 +1,52 @@
1
- /* @flow */
2
-
3
- import EventEmitter from '../lib/safe-event-emitter';
4
- import get from '../../common/get-or-fail';
5
- import type { Driver } from '../driver-interfaces/driver';
6
-
7
- import type GmailAppToolbarButtonView from '../dom-driver/gmail/views/gmail-app-toolbar-button-view';
8
- import type InboxAppToolbarButtonView from '../dom-driver/inbox/views/inbox-app-toolbar-button-view';
9
-
10
- type AppToolbarButtonViewDriver =
11
- | GmailAppToolbarButtonView
12
- | InboxAppToolbarButtonView;
13
-
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _safeEventEmitter = _interopRequireDefault(require("../lib/safe-event-emitter"));
9
+ var _getOrFail = _interopRequireDefault(require("../../common/get-or-fail"));
14
10
  const memberMap = new WeakMap();
15
11
 
16
12
  // Documented in src/docs/app-toolbar-button-view.js
17
- export default class AppToolbarButtonView extends EventEmitter {
18
- destroyed: boolean;
19
-
20
- constructor(
21
- driver: Driver,
22
- appToolbarButtonViewDriverPromise: Promise<AppToolbarButtonViewDriver>
23
- ) {
13
+ class AppToolbarButtonView extends _safeEventEmitter.default {
14
+ constructor(driver, appToolbarButtonViewDriverPromise) {
24
15
  super();
25
16
  const members = {
26
17
  appToolbarButtonViewDriverPromise,
27
- appToolbarButtonViewDriver: (null: ?AppToolbarButtonViewDriver),
18
+ appToolbarButtonViewDriver: null
28
19
  };
29
20
  memberMap.set(this, members);
30
-
31
21
  this.destroyed = false;
32
- members.appToolbarButtonViewDriverPromise.then(
33
- (appToolbarButtonViewDriver) => {
34
- members.appToolbarButtonViewDriver = appToolbarButtonViewDriver;
35
- appToolbarButtonViewDriver.getStopper().onValue(() => {
36
- this.destroyed = true;
37
- this.emit('destroy');
38
- });
39
- }
40
- );
41
-
22
+ members.appToolbarButtonViewDriverPromise.then(appToolbarButtonViewDriver => {
23
+ members.appToolbarButtonViewDriver = appToolbarButtonViewDriver;
24
+ appToolbarButtonViewDriver.getStopper().onValue(() => {
25
+ this.destroyed = true;
26
+ this.emit('destroy');
27
+ });
28
+ });
42
29
  driver.getStopper().onValue(() => {
43
30
  this.remove();
44
31
  });
45
32
  }
46
-
47
33
  open() {
48
- const members = get(memberMap, this);
49
- members.appToolbarButtonViewDriverPromise.then(function (
50
- appToolbarButtonViewDriver
51
- ) {
34
+ const members = (0, _getOrFail.default)(memberMap, this);
35
+ members.appToolbarButtonViewDriverPromise.then(function (appToolbarButtonViewDriver) {
52
36
  appToolbarButtonViewDriver.open();
53
37
  });
54
38
  }
55
-
56
39
  close() {
57
- const members = get(memberMap, this);
58
- members.appToolbarButtonViewDriverPromise.then(function (
59
- appToolbarButtonViewDriver
60
- ) {
40
+ const members = (0, _getOrFail.default)(memberMap, this);
41
+ members.appToolbarButtonViewDriverPromise.then(function (appToolbarButtonViewDriver) {
61
42
  appToolbarButtonViewDriver.close();
62
43
  });
63
44
  }
64
-
65
45
  remove() {
66
- const members = get(memberMap, this);
67
- members.appToolbarButtonViewDriverPromise.then(function (
68
- appToolbarButtonViewDriver
69
- ) {
46
+ const members = (0, _getOrFail.default)(memberMap, this);
47
+ members.appToolbarButtonViewDriverPromise.then(function (appToolbarButtonViewDriver) {
70
48
  appToolbarButtonViewDriver.destroy();
71
49
  });
72
50
  }
73
51
  }
52
+ exports.default = AppToolbarButtonView;
@@ -1,88 +1,91 @@
1
- /* @flow */
2
-
3
- import { defn } from 'ud';
4
- import EventEmitter from '../lib/safe-event-emitter';
5
- import get from '../../common/get-or-fail';
6
- import type { Driver } from '../driver-interfaces/driver';
7
- import type GmailCollapsibleSectionView from '../dom-driver/gmail/views/gmail-collapsible-section-view';
1
+ "use strict";
8
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _ud = require("ud");
9
+ var _safeEventEmitter = _interopRequireDefault(require("../lib/safe-event-emitter"));
10
+ var _getOrFail = _interopRequireDefault(require("../../common/get-or-fail"));
9
11
  const membersMap = new WeakMap();
10
12
 
11
13
  // documented in src/docs/
12
- class CollapsibleSectionView extends EventEmitter {
13
- destroyed: boolean;
14
-
15
- constructor(
16
- collapsibleSectionViewDriver: GmailCollapsibleSectionView,
17
- driver: Driver
18
- ) {
14
+ class CollapsibleSectionView extends _safeEventEmitter.default {
15
+ constructor(collapsibleSectionViewDriver, driver) {
19
16
  super();
20
- const members = { collapsibleSectionViewDriver };
17
+ const members = {
18
+ collapsibleSectionViewDriver
19
+ };
21
20
  membersMap.set(this, members);
22
-
23
21
  this.destroyed = false;
24
22
  _bindToEventStream(this, collapsibleSectionViewDriver, driver);
25
23
  }
26
-
27
- setCollapsed(value: boolean) {
28
- get(membersMap, this).collapsibleSectionViewDriver.setCollapsed(value);
24
+ setCollapsed(value) {
25
+ (0, _getOrFail.default)(membersMap, this).collapsibleSectionViewDriver.setCollapsed(value);
29
26
  }
30
-
31
27
  remove() {
32
28
  this.destroy();
33
29
  }
34
-
35
30
  destroy() {
36
- const members = get(membersMap, this);
31
+ const members = (0, _getOrFail.default)(membersMap, this);
37
32
  members.collapsibleSectionViewDriver.destroy();
38
33
  this.removeAllListeners();
39
34
  }
40
35
  }
41
-
42
- function _bindToEventStream(
43
- collapsibleSectionView,
44
- collapsibleSectionViewDriver,
45
- driver
46
- ) {
47
- collapsibleSectionViewDriver.getEventStream().onValue(({ eventName }) => {
36
+ function _bindToEventStream(collapsibleSectionView, collapsibleSectionViewDriver, driver) {
37
+ collapsibleSectionViewDriver.getEventStream().onValue(_ref => {
38
+ let {
39
+ eventName
40
+ } = _ref;
48
41
  collapsibleSectionView.emit(eventName);
49
42
  });
50
-
51
- collapsibleSectionViewDriver
52
- .getEventStream()
53
- .filter(({ eventName }) => eventName === 'rowClicked')
54
- .onValue(({ rowDescriptor }) => {
55
- if (rowDescriptor.routeID) {
56
- driver.goto(rowDescriptor.routeID, rowDescriptor.routeParams);
57
- }
58
-
59
- if (typeof rowDescriptor.onClick === 'function') {
60
- rowDescriptor.onClick();
61
- }
62
- });
63
-
64
- collapsibleSectionViewDriver
65
- .getEventStream()
66
- .filter(({ eventName }) => eventName === 'titleLinkClicked')
67
- .onValue(({ sectionDescriptor }) => {
68
- if (sectionDescriptor.onTitleLinkClick) {
69
- sectionDescriptor.onTitleLinkClick(collapsibleSectionView);
70
- }
71
- });
72
-
73
- collapsibleSectionViewDriver
74
- .getEventStream()
75
- .filter(({ eventName }) => eventName === 'footerClicked')
76
- .onValue(({ sectionDescriptor }) => {
77
- if (sectionDescriptor.onFooterLinkClick) {
78
- sectionDescriptor.onFooterLinkClick(collapsibleSectionView);
79
- }
80
- });
81
-
43
+ collapsibleSectionViewDriver.getEventStream().filter(_ref2 => {
44
+ let {
45
+ eventName
46
+ } = _ref2;
47
+ return eventName === 'rowClicked';
48
+ }).onValue(_ref3 => {
49
+ let {
50
+ rowDescriptor
51
+ } = _ref3;
52
+ if (rowDescriptor.routeID) {
53
+ driver.goto(rowDescriptor.routeID, rowDescriptor.routeParams);
54
+ }
55
+ if (typeof rowDescriptor.onClick === 'function') {
56
+ rowDescriptor.onClick();
57
+ }
58
+ });
59
+ collapsibleSectionViewDriver.getEventStream().filter(_ref4 => {
60
+ let {
61
+ eventName
62
+ } = _ref4;
63
+ return eventName === 'titleLinkClicked';
64
+ }).onValue(_ref5 => {
65
+ let {
66
+ sectionDescriptor
67
+ } = _ref5;
68
+ if (sectionDescriptor.onTitleLinkClick) {
69
+ sectionDescriptor.onTitleLinkClick(collapsibleSectionView);
70
+ }
71
+ });
72
+ collapsibleSectionViewDriver.getEventStream().filter(_ref6 => {
73
+ let {
74
+ eventName
75
+ } = _ref6;
76
+ return eventName === 'footerClicked';
77
+ }).onValue(_ref7 => {
78
+ let {
79
+ sectionDescriptor
80
+ } = _ref7;
81
+ if (sectionDescriptor.onFooterLinkClick) {
82
+ sectionDescriptor.onFooterLinkClick(collapsibleSectionView);
83
+ }
84
+ });
82
85
  collapsibleSectionViewDriver.getEventStream().onEnd(() => {
83
86
  collapsibleSectionView.destroyed = true;
84
87
  collapsibleSectionView.emit('destroy');
85
88
  });
86
89
  }
87
-
88
- export default defn(module, CollapsibleSectionView);
90
+ var _default = (0, _ud.defn)(module, CollapsibleSectionView);
91
+ exports.default = _default;
@@ -1,48 +1,45 @@
1
- /* @flow */
2
-
3
- import Kefir from 'kefir';
4
- import EventEmitter from '../lib/safe-event-emitter';
5
- import get from '../../common/get-or-fail';
6
-
7
- import type ContentPanelViewDriver from '../driver-common/sidebar/ContentPanelViewDriver';
8
-
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _kefir = _interopRequireDefault(require("kefir"));
10
+ var _safeEventEmitter = _interopRequireDefault(require("../lib/safe-event-emitter"));
11
+ var _getOrFail = _interopRequireDefault(require("../../common/get-or-fail"));
9
12
  const membersMap = new WeakMap();
10
13
 
11
14
  // documented in src/docs/
12
- export default class ContentPanelView extends EventEmitter {
13
- destroyed: boolean = false;
14
-
15
- constructor(contentPanelViewImplementation: ContentPanelViewDriver) {
15
+ class ContentPanelView extends _safeEventEmitter.default {
16
+ constructor(contentPanelViewImplementation) {
16
17
  super();
17
-
18
- const members = { contentPanelViewImplementation };
18
+ (0, _defineProperty2.default)(this, "destroyed", false);
19
+ const members = {
20
+ contentPanelViewImplementation
21
+ };
19
22
  membersMap.set(this, members);
20
-
21
23
  this._bindToStreamEvents();
22
24
  }
23
-
24
25
  remove() {
25
- get(membersMap, this).contentPanelViewImplementation.remove();
26
+ (0, _getOrFail.default)(membersMap, this).contentPanelViewImplementation.remove();
26
27
  }
27
-
28
28
  close() {
29
- get(membersMap, this).contentPanelViewImplementation.close();
29
+ (0, _getOrFail.default)(membersMap, this).contentPanelViewImplementation.close();
30
30
  }
31
-
32
31
  open() {
33
- get(membersMap, this).contentPanelViewImplementation.open();
32
+ (0, _getOrFail.default)(membersMap, this).contentPanelViewImplementation.open();
34
33
  }
35
-
36
- isActive(): boolean {
37
- return get(membersMap, this).contentPanelViewImplementation.isActive();
34
+ isActive() {
35
+ return (0, _getOrFail.default)(membersMap, this).contentPanelViewImplementation.isActive();
38
36
  }
39
-
40
37
  _bindToStreamEvents() {
41
- const stream: Kefir.Observable<any> = get(
42
- membersMap,
43
- this
44
- ).contentPanelViewImplementation.getEventStream();
45
- stream.onValue(({ eventName }) => {
38
+ const stream = (0, _getOrFail.default)(membersMap, this).contentPanelViewImplementation.getEventStream();
39
+ stream.onValue(_ref => {
40
+ let {
41
+ eventName
42
+ } = _ref;
46
43
  this.emit(eventName);
47
44
  });
48
45
  stream.onEnd(() => {
@@ -51,3 +48,4 @@ export default class ContentPanelView extends EventEmitter {
51
48
  });
52
49
  }
53
50
  }
51
+ exports.default = ContentPanelView;
@@ -1,28 +1,16 @@
1
- /* @flow */
2
-
3
- import { defn } from 'ud';
4
- import util from 'util';
5
- import EventEmitter from '../../lib/safe-event-emitter';
6
- import type Membrane from '../../lib/Membrane';
7
-
8
- import type MessageView from './message-view';
9
- import type {
10
- Driver,
11
- AttachmentCardViewDriver,
12
- } from '../../driver-interfaces/driver';
13
-
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _ud = require("ud");
9
+ var _util = _interopRequireDefault(require("util"));
10
+ var _safeEventEmitter = _interopRequireDefault(require("../../lib/safe-event-emitter"));
14
11
  // documented in src/docs/
15
- class AttachmentCardView extends EventEmitter {
16
- _attachmentCardImplementation: AttachmentCardViewDriver;
17
- _driver: Driver;
18
- _membrane: Membrane;
19
- destroyed: boolean;
20
-
21
- constructor(
22
- attachmentCardImplementation: AttachmentCardViewDriver,
23
- driver: Driver,
24
- membrane: Membrane
25
- ) {
12
+ class AttachmentCardView extends _safeEventEmitter.default {
13
+ constructor(attachmentCardImplementation, driver, membrane) {
26
14
  super();
27
15
  this.destroyed = false;
28
16
  this._driver = driver;
@@ -33,37 +21,26 @@ class AttachmentCardView extends EventEmitter {
33
21
  this.emit('destroy');
34
22
  });
35
23
  }
36
-
37
- getAttachmentType(): string {
24
+ getAttachmentType() {
38
25
  return this._attachmentCardImplementation.getAttachmentType();
39
26
  }
40
-
41
- addButton(buttonOptions: Object) {
27
+ addButton(buttonOptions) {
42
28
  this._attachmentCardImplementation.addButton(buttonOptions);
43
29
  }
44
-
45
- getTitle(): string {
30
+ getTitle() {
46
31
  return this._attachmentCardImplementation.getTitle();
47
32
  }
48
-
49
- getDownloadURL(): Promise<?string> {
50
- this._driver
51
- .getLogger()
52
- .deprecationWarning(
53
- 'AttachmentCardView.getDownloadURL',
54
- 'AttachmentCardView.addButton -> onClick -> AttachmentCardClickEvent'
55
- );
33
+ getDownloadURL() {
34
+ this._driver.getLogger().deprecationWarning('AttachmentCardView.getDownloadURL', 'AttachmentCardView.addButton -> onClick -> AttachmentCardClickEvent');
56
35
  if (this._driver.getOpts().REQUESTED_API_VERSION !== 1) {
57
36
  throw new Error('This method was discontinued after API version 1');
58
37
  }
59
38
  return this._attachmentCardImplementation.getDownloadURL();
60
39
  }
61
-
62
- getMessageView(): ?MessageView {
63
- const messageViewDriver =
64
- this._attachmentCardImplementation.getMessageViewDriver();
40
+ getMessageView() {
41
+ const messageViewDriver = this._attachmentCardImplementation.getMessageViewDriver();
65
42
  return messageViewDriver ? this._membrane.get(messageViewDriver) : null;
66
43
  }
67
44
  }
68
-
69
- export default defn(module, AttachmentCardView);
45
+ var _default = (0, _ud.defn)(module, AttachmentCardView);
46
+ exports.default = _default;
@@ -1,88 +1,46 @@
1
- /* @flow */
2
-
3
- import Kefir from 'kefir';
4
- import kefirStopper from 'kefir-stopper';
5
- import once from 'lodash/once';
6
-
7
- import SafeEventEmitter from '../../lib/safe-event-emitter';
8
-
9
- export type CustomMessageDescriptor = {
10
- collapsedEl: HTMLElement,
11
- headerEl: HTMLElement,
12
- bodyEl: HTMLElement,
13
- iconUrl: string,
14
- sortDate: Date,
15
- };
16
-
17
- export default class CustomMessageView extends SafeEventEmitter {
18
- _el: HTMLElement;
19
- _iconEl: HTMLElement;
20
- _contentEl: HTMLElement;
21
- _contentHeaderEl: HTMLElement;
22
- _contentBodyEl: HTMLElement;
23
- _destroyed: boolean = false;
24
- _stopper = kefirStopper();
25
- _isCollapsed: boolean = true;
26
- _lastDescriptor: ?CustomMessageDescriptor;
27
-
28
- constructor(
29
- descriptorStream: Kefir.Observable<CustomMessageDescriptor>,
30
- onReady: () => any
31
- ) {
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _kefir = _interopRequireDefault(require("kefir"));
10
+ var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
11
+ var _once = _interopRequireDefault(require("lodash/once"));
12
+ var _safeEventEmitter = _interopRequireDefault(require("../../lib/safe-event-emitter"));
13
+ class CustomMessageView extends _safeEventEmitter.default {
14
+ constructor(descriptorStream, onReady) {
32
15
  super();
33
-
16
+ (0, _defineProperty2.default)(this, "_destroyed", false);
17
+ (0, _defineProperty2.default)(this, "_stopper", (0, _kefirStopper.default)());
18
+ (0, _defineProperty2.default)(this, "_isCollapsed", true);
34
19
  this._setupElement();
35
-
36
- descriptorStream
37
- .takeUntilBy(this._stopper)
38
- .onValue((descriptor) => {
39
- this._el.setAttribute(
40
- 'data-inboxsdk-sortdate',
41
- String(descriptor.sortDate.getTime())
42
- );
43
-
44
- const previousDescriptor = this._lastDescriptor;
45
- this._lastDescriptor = descriptor;
46
-
47
- if (
48
- !previousDescriptor ||
49
- previousDescriptor.iconUrl !== descriptor.iconUrl
50
- ) {
51
- const img = document.createElement('img');
52
- img.src = descriptor.iconUrl;
53
- this._iconEl.innerHTML = '';
54
- this._iconEl.appendChild(img);
55
- }
56
-
57
- if (
58
- (!previousDescriptor ||
59
- previousDescriptor.collapsedEl !== descriptor.collapsedEl) &&
60
- this._isCollapsed
61
- ) {
62
- if (previousDescriptor) previousDescriptor.collapsedEl.remove();
63
- this._contentEl.appendChild(descriptor.collapsedEl);
64
- }
65
-
66
- if (
67
- !previousDescriptor ||
68
- previousDescriptor.headerEl !== descriptor.headerEl
69
- ) {
70
- if (previousDescriptor) previousDescriptor.headerEl.remove();
71
- this._contentHeaderEl.appendChild(descriptor.headerEl);
72
- }
73
-
74
- if (
75
- !previousDescriptor ||
76
- previousDescriptor.bodyEl !== descriptor.bodyEl
77
- ) {
78
- if (previousDescriptor) previousDescriptor.bodyEl.remove();
79
- this._contentBodyEl.appendChild(descriptor.bodyEl);
80
- }
81
- })
82
- .take(1)
83
- .onValue(onReady);
20
+ descriptorStream.takeUntilBy(this._stopper).onValue(descriptor => {
21
+ this._el.setAttribute('data-inboxsdk-sortdate', String(descriptor.sortDate.getTime()));
22
+ const previousDescriptor = this._lastDescriptor;
23
+ this._lastDescriptor = descriptor;
24
+ if (!previousDescriptor || previousDescriptor.iconUrl !== descriptor.iconUrl) {
25
+ const img = document.createElement('img');
26
+ img.src = descriptor.iconUrl;
27
+ this._iconEl.innerHTML = '';
28
+ this._iconEl.appendChild(img);
29
+ }
30
+ if ((!previousDescriptor || previousDescriptor.collapsedEl !== descriptor.collapsedEl) && this._isCollapsed) {
31
+ if (previousDescriptor) previousDescriptor.collapsedEl.remove();
32
+ this._contentEl.appendChild(descriptor.collapsedEl);
33
+ }
34
+ if (!previousDescriptor || previousDescriptor.headerEl !== descriptor.headerEl) {
35
+ if (previousDescriptor) previousDescriptor.headerEl.remove();
36
+ this._contentHeaderEl.appendChild(descriptor.headerEl);
37
+ }
38
+ if (!previousDescriptor || previousDescriptor.bodyEl !== descriptor.bodyEl) {
39
+ if (previousDescriptor) previousDescriptor.bodyEl.remove();
40
+ this._contentBodyEl.appendChild(descriptor.bodyEl);
41
+ }
42
+ }).take(1).onValue(onReady);
84
43
  }
85
-
86
44
  destroy() {
87
45
  if (this._destroyed) return;
88
46
  this._destroyed = true;
@@ -90,76 +48,58 @@ export default class CustomMessageView extends SafeEventEmitter {
90
48
  this.emit('destroy');
91
49
  this._el.remove();
92
50
  }
93
-
94
51
  expand() {
95
52
  this._isCollapsed = false;
96
53
  const descriptor = this._lastDescriptor;
97
-
98
54
  if (descriptor) descriptor.collapsedEl.remove();
99
-
100
55
  this._contentEl.appendChild(this._contentHeaderEl);
101
56
  this._contentEl.appendChild(this._contentBodyEl);
102
-
103
57
  this._el.classList.remove('inboxsdk__custom_message_view_collapsed');
104
58
  this.emit('expanded');
105
59
  }
106
-
107
60
  collapse() {
108
61
  this._isCollapsed = true;
109
62
  this._contentHeaderEl.remove();
110
63
  this._contentBodyEl.remove();
111
-
112
64
  const descriptor = this._lastDescriptor;
113
-
114
65
  if (descriptor) {
115
66
  this._contentEl.appendChild(descriptor.collapsedEl);
116
67
  }
117
-
118
68
  this._el.classList.add('inboxsdk__custom_message_view_collapsed');
119
69
  this.emit('collapsed');
120
70
  }
121
-
122
71
  getElement() {
123
72
  return this._el;
124
73
  }
125
-
126
74
  getSortDate() {
127
- if (this._lastDescriptor) return this._lastDescriptor.sortDate;
128
- else return null;
75
+ if (this._lastDescriptor) return this._lastDescriptor.sortDate;else return null;
129
76
  }
130
-
131
77
  _setupElement() {
132
78
  this._el = document.createElement('div');
133
79
  this._el.classList.add('inboxsdk__custom_message_view');
134
80
  this._el.classList.add('inboxsdk__custom_message_view_collapsed');
135
-
136
81
  this._iconEl = document.createElement('div');
137
82
  this._iconEl.classList.add('inboxsdk__custom_message_view_icon');
138
-
139
83
  this._contentEl = document.createElement('div');
140
84
  this._contentEl.classList.add('inboxsdk__custom_message_view_content');
141
-
142
85
  this._contentHeaderEl = document.createElement('div');
143
86
  this._contentHeaderEl.classList.add('inboxsdk__custom_message_view_header');
144
-
145
87
  this._contentBodyEl = document.createElement('div');
146
88
  this._contentBodyEl.classList.add('inboxsdk__custom_message_view_body');
147
-
148
89
  this._el.appendChild(this._iconEl);
149
90
  this._el.appendChild(this._contentEl);
150
-
151
- this._el.addEventListener('click', (e: MouseEvent) => {
91
+ this._el.addEventListener('click', e => {
152
92
  if (this._isCollapsed) {
153
93
  this.expand();
154
94
  e.preventDefault();
155
95
  e.stopPropagation();
156
96
  }
157
97
  });
158
-
159
- this._contentHeaderEl.addEventListener('click', (e: MouseEvent) => {
98
+ this._contentHeaderEl.addEventListener('click', e => {
160
99
  this.collapse();
161
100
  e.preventDefault();
162
101
  e.stopPropagation();
163
102
  });
164
103
  }
165
104
  }
105
+ exports.default = CustomMessageView;