@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,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;