@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,112 +1,83 @@
1
- /* @flow */
2
-
3
- import find from 'lodash/find';
4
- import intersection from 'lodash/intersection';
5
- import { defn, defonce } from 'ud';
6
-
7
- import HandlerRegistry from '../lib/handler-registry';
8
- import get from '../../common/get-or-fail';
9
- import RouteView from '../views/route-view/route-view';
10
- import ListRouteView from '../views/route-view/list-route-view';
11
- import CustomRouteView from '../views/route-view/custom-route-view';
12
- import DummyRouteViewDriver from '../views/route-view/dummy-route-view-driver';
13
- import type Membrane from '../lib/Membrane';
14
- import {
15
- NATIVE_ROUTE_IDS,
16
- NATIVE_LIST_ROUTE_IDS,
17
- ROUTE_TYPES,
18
- } from '../constants/router';
19
-
20
- import type { Driver } from '../driver-interfaces/driver';
21
- import type { Handler } from '../lib/handler-registry';
22
-
23
- export type RouteParams = { [ix: string]: string | number };
24
-
25
- const memberMap = defonce(module, () => new WeakMap());
26
-
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 _find = _interopRequireDefault(require("lodash/find"));
10
+ var _intersection = _interopRequireDefault(require("lodash/intersection"));
11
+ var _ud = require("ud");
12
+ var _handlerRegistry = _interopRequireDefault(require("../lib/handler-registry"));
13
+ var _getOrFail = _interopRequireDefault(require("../../common/get-or-fail"));
14
+ var _routeView = _interopRequireDefault(require("../views/route-view/route-view"));
15
+ var _listRouteView = _interopRequireDefault(require("../views/route-view/list-route-view"));
16
+ var _customRouteView = _interopRequireDefault(require("../views/route-view/custom-route-view"));
17
+ var _dummyRouteViewDriver = _interopRequireDefault(require("../views/route-view/dummy-route-view-driver"));
18
+ var _router = require("../constants/router");
19
+ const memberMap = (0, _ud.defonce)(module, () => new WeakMap());
27
20
  const SAMPLE_RATE = 0.01;
28
21
 
29
22
  // documented in src/docs/
30
23
  class Router {
31
- NativeRouteIDs = NATIVE_ROUTE_IDS;
32
- NativeListRouteIDs = NATIVE_LIST_ROUTE_IDS;
33
- RouteTypes = ROUTE_TYPES;
34
-
35
- constructor(appId: string, driver: Driver, membrane: Membrane) {
24
+ constructor(appId, driver, membrane) {
25
+ (0, _defineProperty2.default)(this, "NativeRouteIDs", _router.NATIVE_ROUTE_IDS);
26
+ (0, _defineProperty2.default)(this, "NativeListRouteIDs", _router.NATIVE_LIST_ROUTE_IDS);
27
+ (0, _defineProperty2.default)(this, "RouteTypes", _router.ROUTE_TYPES);
36
28
  const members = {
37
29
  appId,
38
30
  driver,
39
- currentRouteViewDriver: new DummyRouteViewDriver(),
40
- allRoutesHandlerRegistry: new HandlerRegistry(),
31
+ currentRouteViewDriver: new _dummyRouteViewDriver.default(),
32
+ allRoutesHandlerRegistry: new _handlerRegistry.default(),
41
33
  customRoutes: [],
42
34
  membrane,
43
- listRouteHandlerRegistries: {},
35
+ listRouteHandlerRegistries: {}
44
36
  };
45
- Object.values(NATIVE_LIST_ROUTE_IDS).forEach((value: any) => {
46
- members.listRouteHandlerRegistries[value] = new HandlerRegistry();
37
+ Object.values(_router.NATIVE_LIST_ROUTE_IDS).forEach(value => {
38
+ members.listRouteHandlerRegistries[value] = new _handlerRegistry.default();
47
39
  });
48
40
  memberMap.set(this, members);
49
-
50
- driver.getRouteViewDriverStream().onValue((routeViewDriver) => {
51
- driver
52
- .getLogger()
53
- .trackFunctionPerformance(
54
- () => _handleRouteViewChange(this, members, routeViewDriver),
55
- SAMPLE_RATE,
56
- {
57
- type: 'handleRouteViewChange',
58
- routeID: routeViewDriver.getRouteID(),
59
- }
60
- );
41
+ driver.getRouteViewDriverStream().onValue(routeViewDriver => {
42
+ driver.getLogger().trackFunctionPerformance(() => _handleRouteViewChange(this, members, routeViewDriver), SAMPLE_RATE, {
43
+ type: 'handleRouteViewChange',
44
+ routeID: routeViewDriver.getRouteID()
45
+ });
61
46
  });
62
-
63
47
  driver.getStopper().onValue(function () {
64
48
  members.allRoutesHandlerRegistry.dumpHandlers();
65
- Object.values(members.listRouteHandlerRegistries).forEach((reg: any) => {
49
+ Object.values(members.listRouteHandlerRegistries).forEach(reg => {
66
50
  reg.dumpHandlers();
67
51
  });
68
52
  });
69
53
  }
70
-
71
- createLink(routeID: string, params?: ?RouteParams | string): string {
72
- return get(memberMap, this).driver.createLink(routeID, params);
54
+ createLink(routeID, params) {
55
+ return (0, _getOrFail.default)(memberMap, this).driver.createLink(routeID, params);
73
56
  }
74
-
75
- goto(routeID: string, params?: ?RouteParams | string): Promise<void> {
57
+ goto(routeID, params) {
76
58
  if (typeof routeID !== 'string') {
77
59
  throw new Error('routeID must be a string');
78
60
  }
79
- const { driver } = get(memberMap, this);
80
- if (typeof params === 'string') {
61
+ const {
81
62
  driver
82
- .getLogger()
83
- .deprecationWarning(
84
- 'Router.goto param string',
85
- 'param object (e.g. {param: value})'
86
- );
63
+ } = (0, _getOrFail.default)(memberMap, this);
64
+ if (typeof params === 'string') {
65
+ driver.getLogger().deprecationWarning('Router.goto param string', 'param object (e.g. {param: value})');
87
66
  }
88
67
  return driver.goto(routeID, params);
89
68
  }
90
-
91
- handleCustomRoute(
92
- routeID: string,
93
- handler: HandlerRegistry<CustomRouteView>
94
- ): () => void {
69
+ handleCustomRoute(routeID, handler) {
95
70
  const customRouteDescriptor = {
96
71
  routeID: routeID,
97
- onActivate: handler,
72
+ onActivate: handler
98
73
  };
99
-
100
- const removeCustomRouteFromDriver = get(
101
- memberMap,
102
- this
103
- ).driver.addCustomRouteID(routeID);
104
- const { customRoutes, driver } = get(memberMap, this);
105
-
74
+ const removeCustomRouteFromDriver = (0, _getOrFail.default)(memberMap, this).driver.addCustomRouteID(routeID);
75
+ const {
76
+ customRoutes,
77
+ driver
78
+ } = (0, _getOrFail.default)(memberMap, this);
106
79
  customRoutes.push(customRouteDescriptor);
107
-
108
80
  driver.getLogger().eventSdkPassive('Router.handleCustomRoute');
109
-
110
81
  return function () {
111
82
  removeCustomRouteFromDriver();
112
83
  const index = customRoutes.indexOf(customRouteDescriptor);
@@ -115,85 +86,52 @@ class Router {
115
86
  }
116
87
  };
117
88
  }
118
-
119
- handleAllRoutes(handler: Handler<any>): () => void {
120
- return get(memberMap, this).allRoutesHandlerRegistry.registerHandler(
121
- handler
122
- );
89
+ handleAllRoutes(handler) {
90
+ return (0, _getOrFail.default)(memberMap, this).allRoutesHandlerRegistry.registerHandler(handler);
123
91
  }
124
-
125
- handleListRoute(
126
- routeID: string,
127
- handler: Handler<ListRouteView>
128
- ): () => void {
129
- const { listRouteHandlerRegistries } = get(memberMap, this);
92
+ handleListRoute(routeID, handler) {
93
+ const {
94
+ listRouteHandlerRegistries
95
+ } = (0, _getOrFail.default)(memberMap, this);
130
96
  if (!listRouteHandlerRegistries[routeID]) {
131
97
  throw new Error('Invalid routeID specified');
132
98
  }
133
-
134
99
  return listRouteHandlerRegistries[routeID].registerHandler(handler);
135
100
  }
136
-
137
- handleCustomListRoute(routeID: string, handler: Function): () => void {
138
- return get(memberMap, this).driver.addCustomListRouteID(routeID, handler);
101
+ handleCustomListRoute(routeID, handler) {
102
+ return (0, _getOrFail.default)(memberMap, this).driver.addCustomListRouteID(routeID, handler);
139
103
  }
140
-
141
- getCurrentRouteView(): RouteView {
142
- const members = get(memberMap, this);
104
+ getCurrentRouteView() {
105
+ const members = (0, _getOrFail.default)(memberMap, this);
143
106
  return members.membrane.get(members.currentRouteViewDriver);
144
107
  }
145
108
  }
146
-
147
109
  function _handleRouteViewChange(router, members, routeViewDriver) {
148
- if (members.currentRouteViewDriver instanceof DummyRouteViewDriver) {
110
+ if (members.currentRouteViewDriver instanceof _dummyRouteViewDriver.default) {
149
111
  members.currentRouteViewDriver.destroy();
150
112
  }
151
-
152
113
  members.currentRouteViewDriver = routeViewDriver;
153
114
  const routeView = members.membrane.get(routeViewDriver);
154
-
155
115
  _updateNavMenu(members, routeViewDriver);
156
-
157
- if (routeView.getRouteType() === ROUTE_TYPES.CUSTOM) {
116
+ if (routeView.getRouteType() === _router.ROUTE_TYPES.CUSTOM) {
158
117
  _informRelevantCustomRoutes(members, routeViewDriver, routeView);
159
118
  }
160
-
161
119
  members.allRoutesHandlerRegistry.addTarget(routeView);
162
-
163
- if (routeView.getRouteType() === ROUTE_TYPES.LIST) {
164
- const listRouteView = new ListRouteView(
165
- routeViewDriver,
166
- members.driver,
167
- members.appId
168
- );
169
-
170
- const listRouteHandlerRegistry =
171
- members.listRouteHandlerRegistries[routeView.getRouteID()];
120
+ if (routeView.getRouteType() === _router.ROUTE_TYPES.LIST) {
121
+ const listRouteView = new _listRouteView.default(routeViewDriver, members.driver, members.appId);
122
+ const listRouteHandlerRegistry = members.listRouteHandlerRegistries[routeView.getRouteID()];
172
123
  if (listRouteHandlerRegistry) {
173
124
  listRouteHandlerRegistry.addTarget(listRouteView);
174
125
  }
175
- members.listRouteHandlerRegistries[NATIVE_ROUTE_IDS.ANY_LIST].addTarget(
176
- listRouteView
177
- );
126
+ members.listRouteHandlerRegistries[_router.NATIVE_ROUTE_IDS.ANY_LIST].addTarget(listRouteView);
178
127
  }
179
128
  }
180
-
181
129
  function _informRelevantCustomRoutes(members, routeViewDriver, routeView) {
182
130
  const routeID = routeView.getRouteID();
183
131
  const routeIDArray = Array.isArray(routeID) ? routeID : [routeID];
184
- const relevantCustomRoute = find(
185
- members.customRoutes,
186
- (customRoute) =>
187
- intersection(
188
- Array.isArray(customRoute.routeID)
189
- ? customRoute.routeID
190
- : [customRoute.routeID],
191
- routeIDArray
192
- ).length
193
- );
194
-
132
+ const relevantCustomRoute = (0, _find.default)(members.customRoutes, customRoute => (0, _intersection.default)(Array.isArray(customRoute.routeID) ? customRoute.routeID : [customRoute.routeID], routeIDArray).length);
195
133
  if (relevantCustomRoute) {
196
- const customRouteView = new CustomRouteView(routeViewDriver);
134
+ const customRouteView = new _customRouteView.default(routeViewDriver);
197
135
  const customViewElement = routeViewDriver.getCustomViewElement();
198
136
  if (!customViewElement) throw new Error('should not happen');
199
137
  members.driver.showCustomRouteView(customViewElement);
@@ -204,14 +142,9 @@ function _informRelevantCustomRoutes(members, routeViewDriver, routeView) {
204
142
  }
205
143
  }
206
144
  }
207
-
208
145
  function _updateNavMenu(members, newRouteViewDriver) {
209
- members.driver.setShowNativeNavMarker(
210
- newRouteViewDriver.getType() !== ROUTE_TYPES.CUSTOM
211
- );
212
- members.driver.setShowNativeAddonSidebar(
213
- newRouteViewDriver.getType() !== ROUTE_TYPES.CUSTOM
214
- );
146
+ members.driver.setShowNativeNavMarker(newRouteViewDriver.getType() !== _router.ROUTE_TYPES.CUSTOM);
147
+ members.driver.setShowNativeAddonSidebar(newRouteViewDriver.getType() !== _router.ROUTE_TYPES.CUSTOM);
215
148
  }
216
-
217
- export default defn(module, Router);
149
+ var _default = (0, _ud.defn)(module, Router);
150
+ exports.default = _default;
@@ -1,36 +1,38 @@
1
- /* @flow */
2
-
3
- import get from '../../common/get-or-fail';
4
- import type { Driver } from '../driver-interfaces/driver';
1
+ "use strict";
5
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 _getOrFail = _interopRequireDefault(require("../../common/get-or-fail"));
6
9
  const memberMap = new WeakMap();
7
10
 
8
11
  // documented in src/docs/
9
- export default class Search {
10
- constructor(appId: string, driver: Driver) {
11
- const members = { appId, driver };
12
+ class Search {
13
+ constructor(appId, driver) {
14
+ const members = {
15
+ appId,
16
+ driver
17
+ };
12
18
  memberMap.set(this, members);
13
19
  }
14
-
15
- registerSearchSuggestionsProvider(handler: Function) {
20
+ registerSearchSuggestionsProvider(handler) {
16
21
  if (typeof handler != 'function') {
17
22
  throw new Error('Incorrect arguments');
18
23
  }
19
- const members = get(memberMap, this);
24
+ const members = (0, _getOrFail.default)(memberMap, this);
20
25
  members.driver.registerSearchSuggestionsProvider(handler);
21
26
  }
22
-
23
- registerSearchQueryRewriter(rewriter: Object) {
24
- if (
25
- typeof rewriter.termReplacer != 'function' ||
26
- typeof rewriter.term != 'string'
27
- ) {
27
+ registerSearchQueryRewriter(rewriter) {
28
+ if (typeof rewriter.termReplacer != 'function' || typeof rewriter.term != 'string') {
28
29
  throw new Error('Incorrect arguments');
29
30
  }
30
31
  if (!rewriter.term.match(/^(app|has):/)) {
31
32
  throw new Error("Custom search term must begin with 'app:'");
32
33
  }
33
- const members = get(memberMap, this);
34
+ const members = (0, _getOrFail.default)(memberMap, this);
34
35
  members.driver.registerSearchQueryRewriter(rewriter);
35
36
  }
36
37
  }
38
+ exports.default = Search;
@@ -1,105 +1,78 @@
1
- /* @flow */
2
-
3
- import Kefir from 'kefir';
4
- import kefirCast from 'kefir-cast';
5
- import kefirStopper from 'kefir-stopper';
6
- import EventEmitter from '../lib/safe-event-emitter';
7
- import type { Driver } from '../driver-interfaces/driver';
8
- import type { PiOpts } from '../platform-implementation';
9
- import type Membrane from '../lib/Membrane';
10
- import get from '../../common/get-or-fail';
11
- import AppToolbarButtonView from '../views/app-toolbar-button-view';
12
- import { SECTION_NAMES } from '../constants/toolbars';
13
-
14
- type Members = {|
15
- appId: string,
16
- driver: Driver,
17
- membrane: Membrane,
18
- piOpts: PiOpts,
19
- |};
20
-
21
- const memberMap: WeakMap<Toolbars, Members> = new WeakMap();
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 _kefirCast = _interopRequireDefault(require("kefir-cast"));
11
+ var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
12
+ var _safeEventEmitter = _interopRequireDefault(require("../lib/safe-event-emitter"));
13
+ var _getOrFail = _interopRequireDefault(require("../../common/get-or-fail"));
14
+ var _appToolbarButtonView = _interopRequireDefault(require("../views/app-toolbar-button-view"));
15
+ var _toolbars = require("../constants/toolbars");
16
+ const memberMap = new WeakMap();
22
17
 
23
18
  // documented in src/docs/
24
- export default class Toolbars extends EventEmitter {
25
- SectionNames = SECTION_NAMES;
26
-
27
- constructor(
28
- appId: string,
29
- driver: Driver,
30
- membrane: Membrane,
31
- piOpts: PiOpts
32
- ) {
19
+ class Toolbars extends _safeEventEmitter.default {
20
+ constructor(appId, driver, membrane, piOpts) {
33
21
  super();
22
+ (0, _defineProperty2.default)(this, "SectionNames", _toolbars.SECTION_NAMES);
34
23
  const members = {
35
24
  appId,
36
25
  driver,
37
26
  membrane,
38
- piOpts,
27
+ piOpts
39
28
  };
40
29
  memberMap.set(this, members);
41
30
  }
42
-
43
- registerThreadButton(buttonDescriptor: Object) {
44
- const members = get(memberMap, this);
45
-
46
- if (
47
- (buttonDescriptor.listSection === 'OTHER' ||
48
- buttonDescriptor.threadSection === 'OTHER') &&
49
- buttonDescriptor.hasDropdown
50
- ) {
51
- members.driver
52
- .getLogger()
53
- .errorApp(
54
- new Error(
55
- 'registerThreadButton does not support listSection=OTHER or threadSection=OTHER and hasDropdown=true together'
56
- )
57
- );
58
- buttonDescriptor = { ...buttonDescriptor, hasDropdown: false };
31
+ registerThreadButton(buttonDescriptor) {
32
+ const members = (0, _getOrFail.default)(memberMap, this);
33
+ if ((buttonDescriptor.listSection === 'OTHER' || buttonDescriptor.threadSection === 'OTHER') && buttonDescriptor.hasDropdown) {
34
+ members.driver.getLogger().errorApp(new Error('registerThreadButton does not support listSection=OTHER or threadSection=OTHER and hasDropdown=true together'));
35
+ buttonDescriptor = {
36
+ ...buttonDescriptor,
37
+ hasDropdown: false
38
+ };
59
39
  }
60
-
61
- const { hideFor, ..._buttonDescriptor } = buttonDescriptor;
62
-
40
+ const {
41
+ hideFor,
42
+ ..._buttonDescriptor
43
+ } = buttonDescriptor;
63
44
  const registerThreadButton = () => {
64
45
  return members.driver.registerThreadButton({
65
46
  ..._buttonDescriptor,
66
- onClick: (event) => {
47
+ onClick: event => {
67
48
  if (!_buttonDescriptor.onClick) return;
68
49
  _buttonDescriptor.onClick({
69
50
  position: event.position,
70
51
  dropdown: event.dropdown,
71
- selectedThreadViews: event.selectedThreadViewDrivers.map((x) =>
72
- members.membrane.get(x)
73
- ),
74
- selectedThreadRowViews: event.selectedThreadRowViewDrivers.map(
75
- (x) => members.membrane.get(x)
76
- ),
52
+ selectedThreadViews: event.selectedThreadViewDrivers.map(x => members.membrane.get(x)),
53
+ selectedThreadRowViews: event.selectedThreadRowViewDrivers.map(x => members.membrane.get(x))
77
54
  });
78
- },
55
+ }
79
56
  });
80
57
  };
81
-
82
58
  if (!hideFor) {
83
59
  return registerThreadButton();
84
60
  } else {
85
- const stopper = kefirStopper();
61
+ const stopper = (0, _kefirStopper.default)();
86
62
  let currentRemover = null;
87
- const sub = members.driver
88
- .getRouteViewDriverStream()
89
- .takeUntilBy(stopper)
90
- .onValue((routeViewDriver) => {
91
- const routeView = members.membrane.get(routeViewDriver);
92
- if (hideFor(routeView)) {
93
- if (currentRemover) {
94
- currentRemover();
95
- currentRemover = null;
96
- }
97
- } else {
98
- if (!currentRemover) {
99
- currentRemover = registerThreadButton();
100
- }
63
+ const sub = members.driver.getRouteViewDriverStream().takeUntilBy(stopper).onValue(routeViewDriver => {
64
+ const routeView = members.membrane.get(routeViewDriver);
65
+ if (hideFor(routeView)) {
66
+ if (currentRemover) {
67
+ currentRemover();
68
+ currentRemover = null;
101
69
  }
102
- });
70
+ } else {
71
+ if (!currentRemover) {
72
+ currentRemover = registerThreadButton();
73
+ }
74
+ }
75
+ });
103
76
  return () => {
104
77
  stopper.destroy();
105
78
  if (currentRemover) {
@@ -109,87 +82,68 @@ export default class Toolbars extends EventEmitter {
109
82
  };
110
83
  }
111
84
  }
112
-
113
- registerToolbarButtonForList(buttonDescriptor: Object) {
114
- const members = get(memberMap, this);
85
+ registerToolbarButtonForList(buttonDescriptor) {
86
+ const members = (0, _getOrFail.default)(memberMap, this);
115
87
  return this.registerThreadButton({
116
88
  positions: ['LIST'],
117
89
  listSection: buttonDescriptor.section,
118
-
119
90
  title: buttonDescriptor.title,
120
91
  iconUrl: buttonDescriptor.iconUrl,
121
92
  iconClass: buttonDescriptor.iconClass,
122
- onClick: (event) => {
93
+ onClick: event => {
123
94
  if (!buttonDescriptor.onClick) return;
124
95
  buttonDescriptor.onClick({
125
96
  dropdown: event.dropdown,
126
97
  selectedThreadRowViews: event.selectedThreadRowViews,
127
98
  get threadRowViews() {
128
- members.driver
129
- .getLogger()
130
- .deprecationWarning(
131
- 'Toolbars.registerToolbarButtonForList onClick event.threadRowViews'
132
- );
99
+ members.driver.getLogger().deprecationWarning('Toolbars.registerToolbarButtonForList onClick event.threadRowViews');
133
100
  return event.selectedThreadRowViews;
134
- },
101
+ }
135
102
  });
136
103
  },
137
104
  hasDropdown: buttonDescriptor.hasDropdown,
138
105
  orderHint: buttonDescriptor.orderHint,
139
106
  hideFor: buttonDescriptor.hideFor,
140
- keyboardShortcutHandle: buttonDescriptor.keyboardShortcutHandle,
107
+ keyboardShortcutHandle: buttonDescriptor.keyboardShortcutHandle
141
108
  });
142
109
  }
143
-
144
- registerToolbarButtonForThreadView(buttonDescriptor: Object) {
110
+ registerToolbarButtonForThreadView(buttonDescriptor) {
145
111
  return this.registerThreadButton({
146
112
  positions: ['THREAD'],
147
113
  threadSection: buttonDescriptor.section,
148
-
149
114
  title: buttonDescriptor.title,
150
115
  iconUrl: buttonDescriptor.iconUrl,
151
116
  iconClass: buttonDescriptor.iconClass,
152
- onClick: (event) => {
153
- if (event.selectedThreadViews.length !== 1)
154
- throw new Error('should not happen');
117
+ onClick: event => {
118
+ if (event.selectedThreadViews.length !== 1) throw new Error('should not happen');
155
119
  if (!buttonDescriptor.onClick) return;
156
120
  buttonDescriptor.onClick({
157
121
  dropdown: event.dropdown,
158
- threadView: event.selectedThreadViews[0],
122
+ threadView: event.selectedThreadViews[0]
159
123
  });
160
124
  },
161
125
  hasDropdown: buttonDescriptor.hasDropdown,
162
126
  orderHint: buttonDescriptor.orderHint,
163
127
  hideFor: buttonDescriptor.hideFor,
164
- keyboardShortcutHandle: buttonDescriptor.keyboardShortcutHandle,
128
+ keyboardShortcutHandle: buttonDescriptor.keyboardShortcutHandle
165
129
  });
166
130
  }
167
-
168
- setAppToolbarButton(appToolbarButtonDescriptor: Object) {
169
- const { driver, piOpts } = get(memberMap, this);
170
- driver
171
- .getLogger()
172
- .deprecationWarning(
173
- 'Toolbars.setAppToolbarButton',
174
- 'Toolbars.addToolbarButtonForApp'
175
- );
131
+ setAppToolbarButton(appToolbarButtonDescriptor) {
132
+ const {
133
+ driver,
134
+ piOpts
135
+ } = (0, _getOrFail.default)(memberMap, this);
136
+ driver.getLogger().deprecationWarning('Toolbars.setAppToolbarButton', 'Toolbars.addToolbarButtonForApp');
176
137
  if (piOpts.REQUESTED_API_VERSION !== 1) {
177
138
  throw new Error('This method was discontinued after API version 1');
178
139
  }
179
140
  return this.addToolbarButtonForApp(appToolbarButtonDescriptor);
180
141
  }
181
-
182
- addToolbarButtonForApp(buttonDescriptor: Object) {
183
- const buttonDescriptorStream = kefirCast(Kefir, buttonDescriptor);
184
- const appToolbarButtonViewDriverPromise = get(
185
- memberMap,
186
- this
187
- ).driver.addToolbarButtonForApp(buttonDescriptorStream);
188
- const appToolbarButtonView = new AppToolbarButtonView(
189
- get(memberMap, this).driver,
190
- appToolbarButtonViewDriverPromise
191
- );
192
-
142
+ addToolbarButtonForApp(buttonDescriptor) {
143
+ const buttonDescriptorStream = (0, _kefirCast.default)(_kefir.default, buttonDescriptor);
144
+ const appToolbarButtonViewDriverPromise = (0, _getOrFail.default)(memberMap, this).driver.addToolbarButtonForApp(buttonDescriptorStream);
145
+ const appToolbarButtonView = new _appToolbarButtonView.default((0, _getOrFail.default)(memberMap, this).driver, appToolbarButtonViewDriverPromise);
193
146
  return appToolbarButtonView;
194
147
  }
195
148
  }
149
+ exports.default = Toolbars;