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

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