@atlaskit/teams-public 2.7.0 → 2.9.0

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 (269) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/confluence-icon/package.json +9 -0
  3. package/dist/cjs/common/hooks/useSpaceInviteScheduler.js +2 -2
  4. package/dist/cjs/common/ui/container-icon/index.js +9 -9
  5. package/dist/cjs/common/ui/loom-avatar/getAvatarText.js +9 -0
  6. package/dist/cjs/common/ui/loom-avatar/hash.js +13 -0
  7. package/dist/cjs/common/ui/loom-avatar/main.js +9 -7
  8. package/dist/cjs/common/ui/loom-avatar/pickContainerColor.js +19 -0
  9. package/dist/cjs/common/ui/loom-avatar/pickTextColor.js +19 -0
  10. package/dist/cjs/common/ui/team-link-card-actions/index.js +12 -12
  11. package/dist/cjs/common/utils/analytics.js +2 -2
  12. package/dist/cjs/common/utils/container-to-new-web-link.js +13 -0
  13. package/dist/cjs/common/utils/get-container-properties.js +6 -6
  14. package/dist/cjs/common/utils/{get-link-domain.js → get-domain-from-link-uri.js} +4 -14
  15. package/dist/cjs/common/utils/get-is-experiment-enabled.js +3 -3
  16. package/dist/cjs/common/utils/is-new-team-web-link.js +9 -0
  17. package/dist/cjs/common/utils/team-web-link-converters.js +1 -34
  18. package/dist/cjs/common/utils/unsafe-get-domain-from-url.js +16 -0
  19. package/dist/cjs/common/utils/web-link-to-container.js +15 -0
  20. package/dist/cjs/common/utils/web-links-to-containers.js +16 -0
  21. package/dist/cjs/controllers/hooks/use-refresh-containers-on-container-created/index.js +1 -1
  22. package/dist/cjs/controllers/hooks/use-team-containers/actions-2.js +488 -0
  23. package/dist/cjs/controllers/hooks/use-team-containers/actions.js +383 -0
  24. package/dist/cjs/controllers/hooks/use-team-containers/connected-teams.js +5 -0
  25. package/dist/cjs/controllers/hooks/use-team-containers/containers-deep-equal.js +23 -0
  26. package/dist/cjs/controllers/hooks/use-team-containers/containers-equal.js +29 -0
  27. package/dist/cjs/controllers/hooks/use-team-containers/fire-analytics-props.js +1 -0
  28. package/dist/cjs/controllers/hooks/use-team-containers/get-error-details.js +14 -0
  29. package/dist/cjs/controllers/hooks/use-team-containers/get-initial-team-state.js +18 -0
  30. package/dist/cjs/controllers/hooks/use-team-containers/index.js +17 -465
  31. package/dist/cjs/controllers/hooks/use-team-containers/initial-connected-teams-state.js +14 -0
  32. package/dist/cjs/controllers/hooks/use-team-containers/multi-team.js +4 -634
  33. package/dist/cjs/controllers/hooks/use-team-containers/normalize-error.js +12 -0
  34. package/dist/cjs/controllers/hooks/use-team-containers/state.js +5 -0
  35. package/dist/cjs/controllers/hooks/use-team-containers/store.js +23 -0
  36. package/dist/cjs/controllers/hooks/use-team-containers/team-containers-state.js +5 -0
  37. package/dist/cjs/controllers/hooks/use-team-containers/team-state.js +5 -0
  38. package/dist/cjs/controllers/hooks/use-team-containers/use-connected-teams-2.js +56 -0
  39. package/dist/cjs/controllers/hooks/use-team-containers/use-connected-teams.js +36 -0
  40. package/dist/cjs/controllers/hooks/use-team-containers/use-team-containers-2.js +86 -0
  41. package/dist/cjs/controllers/hooks/use-team-containers/use-team-containers-hook.js +9 -0
  42. package/dist/cjs/controllers/hooks/use-team-containers/use-team-containers.js +55 -0
  43. package/dist/cjs/controllers/hooks/use-team-links-and-containers/index.js +9 -7
  44. package/dist/cjs/controllers/hooks/use-team-web-links/actions.js +328 -0
  45. package/dist/cjs/controllers/hooks/use-team-web-links/index.js +17 -359
  46. package/dist/cjs/controllers/hooks/use-team-web-links/initial-state.js +19 -0
  47. package/dist/cjs/controllers/hooks/use-team-web-links/store.js +14 -0
  48. package/dist/cjs/controllers/hooks/use-team-web-links/use-team-web-links-actions.js +21 -0
  49. package/dist/cjs/controllers/hooks/use-team-web-links/use-team-web-links.js +19 -0
  50. package/dist/cjs/controllers/index.js +6 -5
  51. package/dist/cjs/controllers/product-permission/getProductPermissionRequestBody.js +28 -0
  52. package/dist/cjs/controllers/product-permission/hasProductPermission.js +23 -0
  53. package/dist/cjs/controllers/product-permission/main.js +4 -3
  54. package/dist/cjs/controllers/product-permission/transformPermissions.js +22 -0
  55. package/dist/cjs/controllers/product-permission/utils.js +19 -51
  56. package/dist/cjs/index.js +8 -6
  57. package/dist/cjs/next/ui/team-containers/team-link-card/index.js +4 -4
  58. package/dist/cjs/ui/team-containers/add-container-card/{index.js → AddContainerCard.js} +8 -52
  59. package/dist/cjs/ui/team-containers/add-container-card/getAddContainerCards.js +54 -0
  60. package/dist/cjs/ui/team-containers/disconnect-dialog/index.js +5 -5
  61. package/dist/cjs/ui/team-containers/main.compiled.css +1 -0
  62. package/dist/cjs/ui/team-containers/main.js +34 -29
  63. package/dist/cjs/ui/team-containers/no-product-access-empty-state/index.js +1 -1
  64. package/dist/cjs/ui/team-containers/team-link-card/index.js +19 -17
  65. package/dist/es2019/common/assets/index.js +10 -0
  66. package/dist/es2019/common/hooks/useSpaceInviteScheduler.js +1 -1
  67. package/dist/es2019/common/ui/container-icon/index.js +5 -5
  68. package/dist/es2019/common/ui/loom-avatar/getAvatarText.js +3 -0
  69. package/dist/es2019/common/ui/loom-avatar/hash.js +6 -0
  70. package/dist/es2019/common/ui/loom-avatar/index.js +4 -0
  71. package/dist/es2019/common/ui/loom-avatar/main.js +5 -3
  72. package/dist/es2019/common/ui/loom-avatar/pickContainerColor.js +13 -0
  73. package/dist/es2019/common/ui/loom-avatar/pickTextColor.js +13 -0
  74. package/dist/es2019/common/ui/team-link-card-actions/index.js +6 -4
  75. package/dist/es2019/common/utils/analytics.js +1 -1
  76. package/dist/es2019/common/utils/container-to-new-web-link.js +7 -0
  77. package/dist/es2019/common/utils/get-container-properties.js +2 -2
  78. package/dist/es2019/common/utils/{get-link-domain.js → get-domain-from-link-uri.js} +2 -11
  79. package/dist/es2019/common/utils/get-is-experiment-enabled.js +1 -1
  80. package/dist/es2019/common/utils/is-new-team-web-link.js +3 -0
  81. package/dist/es2019/common/utils/team-web-link-converters.js +0 -25
  82. package/dist/es2019/common/utils/unsafe-get-domain-from-url.js +10 -0
  83. package/dist/es2019/common/utils/web-link-to-container.js +9 -0
  84. package/dist/es2019/common/utils/web-links-to-containers.js +7 -0
  85. package/dist/es2019/controllers/hooks/use-refresh-containers-on-container-created/index.js +1 -1
  86. package/dist/es2019/controllers/hooks/use-team-containers/actions-2.js +413 -0
  87. package/dist/es2019/controllers/hooks/use-team-containers/actions.js +260 -0
  88. package/dist/es2019/controllers/hooks/use-team-containers/connected-teams.js +1 -0
  89. package/dist/es2019/controllers/hooks/use-team-containers/containers-deep-equal.js +13 -0
  90. package/dist/es2019/controllers/hooks/use-team-containers/containers-equal.js +17 -0
  91. package/dist/es2019/controllers/hooks/use-team-containers/fire-analytics-props.js +0 -0
  92. package/dist/es2019/controllers/hooks/use-team-containers/get-error-details.js +8 -0
  93. package/dist/es2019/controllers/hooks/use-team-containers/get-initial-team-state.js +10 -0
  94. package/dist/es2019/controllers/hooks/use-team-containers/index.js +13 -329
  95. package/dist/es2019/controllers/hooks/use-team-containers/initial-connected-teams-state.js +8 -0
  96. package/dist/es2019/controllers/hooks/use-team-containers/multi-team.js +2 -541
  97. package/dist/es2019/controllers/hooks/use-team-containers/normalize-error.js +6 -0
  98. package/dist/es2019/controllers/hooks/use-team-containers/state.js +1 -0
  99. package/dist/es2019/controllers/hooks/use-team-containers/store.js +17 -0
  100. package/dist/es2019/controllers/hooks/use-team-containers/team-containers-state.js +1 -0
  101. package/dist/es2019/controllers/hooks/use-team-containers/team-state.js +1 -0
  102. package/dist/es2019/controllers/hooks/use-team-containers/use-connected-teams-2.js +44 -0
  103. package/dist/es2019/controllers/hooks/use-team-containers/use-connected-teams.js +20 -0
  104. package/dist/es2019/controllers/hooks/use-team-containers/use-team-containers-2.js +59 -0
  105. package/dist/es2019/controllers/hooks/use-team-containers/use-team-containers-hook.js +3 -0
  106. package/dist/es2019/controllers/hooks/use-team-containers/use-team-containers.js +28 -0
  107. package/dist/es2019/controllers/hooks/use-team-links-and-containers/index.js +5 -3
  108. package/dist/es2019/controllers/hooks/use-team-web-links/actions.js +177 -0
  109. package/dist/es2019/controllers/hooks/use-team-web-links/index.js +13 -217
  110. package/dist/es2019/controllers/hooks/use-team-web-links/initial-state.js +13 -0
  111. package/dist/es2019/controllers/hooks/use-team-web-links/store.js +8 -0
  112. package/dist/es2019/controllers/hooks/use-team-web-links/use-team-web-links-actions.js +15 -0
  113. package/dist/es2019/controllers/hooks/use-team-web-links/use-team-web-links.js +13 -0
  114. package/dist/es2019/controllers/index.js +17 -3
  115. package/dist/es2019/controllers/product-permission/getProductPermissionRequestBody.js +19 -0
  116. package/dist/es2019/controllers/product-permission/hasProductPermission.js +15 -0
  117. package/dist/es2019/controllers/product-permission/main.js +2 -1
  118. package/dist/es2019/controllers/product-permission/transformPermissions.js +15 -0
  119. package/dist/es2019/controllers/product-permission/utils.js +11 -48
  120. package/dist/es2019/i18n/index.js +88 -0
  121. package/dist/es2019/index.js +5 -3
  122. package/dist/es2019/next/index.js +10 -0
  123. package/dist/es2019/next/ui/team-containers/team-link-card/index.js +2 -2
  124. package/dist/es2019/ui/team-containers/add-container-card/{index.js → AddContainerCard.js} +4 -41
  125. package/dist/es2019/ui/team-containers/add-container-card/getAddContainerCards.js +40 -0
  126. package/dist/es2019/ui/team-containers/disconnect-dialog/index.js +2 -2
  127. package/dist/es2019/ui/team-containers/index.js +12 -1
  128. package/dist/es2019/ui/team-containers/main.compiled.css +1 -0
  129. package/dist/es2019/ui/team-containers/main.js +17 -11
  130. package/dist/es2019/ui/team-containers/no-product-access-empty-state/index.js +1 -1
  131. package/dist/es2019/ui/team-containers/team-link-card/index.js +9 -7
  132. package/dist/esm/common/assets/index.js +10 -0
  133. package/dist/esm/common/hooks/useSpaceInviteScheduler.js +1 -1
  134. package/dist/esm/common/ui/container-icon/index.js +5 -5
  135. package/dist/esm/common/ui/loom-avatar/getAvatarText.js +3 -0
  136. package/dist/esm/common/ui/loom-avatar/hash.js +6 -0
  137. package/dist/esm/common/ui/loom-avatar/index.js +4 -0
  138. package/dist/esm/common/ui/loom-avatar/main.js +5 -3
  139. package/dist/esm/common/ui/loom-avatar/pickContainerColor.js +13 -0
  140. package/dist/esm/common/ui/loom-avatar/pickTextColor.js +13 -0
  141. package/dist/esm/common/ui/team-link-card-actions/index.js +6 -4
  142. package/dist/esm/common/utils/analytics.js +1 -1
  143. package/dist/esm/common/utils/container-to-new-web-link.js +7 -0
  144. package/dist/esm/common/utils/get-container-properties.js +2 -2
  145. package/dist/esm/common/utils/{get-link-domain.js → get-domain-from-link-uri.js} +2 -11
  146. package/dist/esm/common/utils/get-is-experiment-enabled.js +1 -1
  147. package/dist/esm/common/utils/is-new-team-web-link.js +3 -0
  148. package/dist/esm/common/utils/team-web-link-converters.js +0 -28
  149. package/dist/esm/common/utils/unsafe-get-domain-from-url.js +10 -0
  150. package/dist/esm/common/utils/web-link-to-container.js +9 -0
  151. package/dist/esm/common/utils/web-links-to-containers.js +10 -0
  152. package/dist/esm/controllers/hooks/use-refresh-containers-on-container-created/index.js +1 -1
  153. package/dist/esm/controllers/hooks/use-team-containers/actions-2.js +481 -0
  154. package/dist/esm/controllers/hooks/use-team-containers/actions.js +376 -0
  155. package/dist/esm/controllers/hooks/use-team-containers/connected-teams.js +1 -0
  156. package/dist/esm/controllers/hooks/use-team-containers/containers-deep-equal.js +16 -0
  157. package/dist/esm/controllers/hooks/use-team-containers/containers-equal.js +22 -0
  158. package/dist/esm/controllers/hooks/use-team-containers/fire-analytics-props.js +0 -0
  159. package/dist/esm/controllers/hooks/use-team-containers/get-error-details.js +8 -0
  160. package/dist/esm/controllers/hooks/use-team-containers/get-initial-team-state.js +12 -0
  161. package/dist/esm/controllers/hooks/use-team-containers/index.js +13 -467
  162. package/dist/esm/controllers/hooks/use-team-containers/initial-connected-teams-state.js +8 -0
  163. package/dist/esm/controllers/hooks/use-team-containers/multi-team.js +2 -631
  164. package/dist/esm/controllers/hooks/use-team-containers/normalize-error.js +6 -0
  165. package/dist/esm/controllers/hooks/use-team-containers/state.js +1 -0
  166. package/dist/esm/controllers/hooks/use-team-containers/store.js +17 -0
  167. package/dist/esm/controllers/hooks/use-team-containers/team-containers-state.js +1 -0
  168. package/dist/esm/controllers/hooks/use-team-containers/team-state.js +1 -0
  169. package/dist/esm/controllers/hooks/use-team-containers/use-connected-teams-2.js +49 -0
  170. package/dist/esm/controllers/hooks/use-team-containers/use-connected-teams.js +29 -0
  171. package/dist/esm/controllers/hooks/use-team-containers/use-team-containers-2.js +79 -0
  172. package/dist/esm/controllers/hooks/use-team-containers/use-team-containers-hook.js +3 -0
  173. package/dist/esm/controllers/hooks/use-team-containers/use-team-containers.js +48 -0
  174. package/dist/esm/controllers/hooks/use-team-links-and-containers/index.js +5 -3
  175. package/dist/esm/controllers/hooks/use-team-web-links/actions.js +321 -0
  176. package/dist/esm/controllers/hooks/use-team-web-links/index.js +13 -361
  177. package/dist/esm/controllers/hooks/use-team-web-links/initial-state.js +13 -0
  178. package/dist/esm/controllers/hooks/use-team-web-links/store.js +8 -0
  179. package/dist/esm/controllers/hooks/use-team-web-links/use-team-web-links-actions.js +15 -0
  180. package/dist/esm/controllers/hooks/use-team-web-links/use-team-web-links.js +13 -0
  181. package/dist/esm/controllers/index.js +17 -3
  182. package/dist/esm/controllers/product-permission/getProductPermissionRequestBody.js +21 -0
  183. package/dist/esm/controllers/product-permission/hasProductPermission.js +17 -0
  184. package/dist/esm/controllers/product-permission/main.js +2 -1
  185. package/dist/esm/controllers/product-permission/transformPermissions.js +15 -0
  186. package/dist/esm/controllers/product-permission/utils.js +11 -49
  187. package/dist/esm/i18n/index.js +88 -0
  188. package/dist/esm/index.js +5 -3
  189. package/dist/esm/next/index.js +10 -0
  190. package/dist/esm/next/ui/team-containers/team-link-card/index.js +2 -2
  191. package/dist/esm/ui/team-containers/add-container-card/{index.js → AddContainerCard.js} +4 -48
  192. package/dist/esm/ui/team-containers/add-container-card/getAddContainerCards.js +47 -0
  193. package/dist/esm/ui/team-containers/disconnect-dialog/index.js +2 -2
  194. package/dist/esm/ui/team-containers/index.js +12 -1
  195. package/dist/esm/ui/team-containers/main.compiled.css +1 -0
  196. package/dist/esm/ui/team-containers/main.js +17 -11
  197. package/dist/esm/ui/team-containers/no-product-access-empty-state/index.js +1 -1
  198. package/dist/esm/ui/team-containers/team-link-card/index.js +9 -7
  199. package/dist/types/common/assets/index.d.ts +9 -0
  200. package/dist/types/common/ui/loom-avatar/getAvatarText.d.ts +1 -0
  201. package/dist/types/common/ui/loom-avatar/hash.d.ts +1 -0
  202. package/dist/types/common/ui/loom-avatar/index.d.ts +3 -0
  203. package/dist/types/common/ui/loom-avatar/pickContainerColor.d.ts +8 -0
  204. package/dist/types/common/ui/loom-avatar/pickTextColor.d.ts +8 -0
  205. package/dist/types/common/utils/container-to-new-web-link.d.ts +2 -0
  206. package/dist/types/common/utils/{get-link-domain.d.ts → get-domain-from-link-uri.d.ts} +0 -7
  207. package/dist/types/common/utils/is-new-team-web-link.d.ts +2 -0
  208. package/dist/types/common/utils/team-web-link-converters.d.ts +0 -5
  209. package/dist/types/common/utils/unsafe-get-domain-from-url.d.ts +7 -0
  210. package/dist/types/common/utils/web-link-to-container.d.ts +3 -0
  211. package/dist/types/common/utils/web-links-to-containers.d.ts +3 -0
  212. package/dist/types/controllers/hooks/use-team-containers/actions-2.d.ts +13 -0
  213. package/dist/types/controllers/hooks/use-team-containers/actions.d.ts +12 -0
  214. package/dist/types/controllers/hooks/use-team-containers/connected-teams.d.ts +9 -0
  215. package/dist/types/controllers/hooks/use-team-containers/containers-deep-equal.d.ts +12 -0
  216. package/dist/types/controllers/hooks/use-team-containers/containers-equal.d.ts +11 -0
  217. package/dist/types/controllers/hooks/use-team-containers/fire-analytics-props.d.ts +7 -0
  218. package/dist/types/controllers/hooks/use-team-containers/get-error-details.d.ts +4 -0
  219. package/dist/types/controllers/hooks/use-team-containers/get-initial-team-state.d.ts +2 -0
  220. package/dist/types/controllers/hooks/use-team-containers/index.d.ts +12 -59
  221. package/dist/types/controllers/hooks/use-team-containers/initial-connected-teams-state.d.ts +2 -0
  222. package/dist/types/controllers/hooks/use-team-containers/multi-team.d.ts +3 -53
  223. package/dist/types/controllers/hooks/use-team-containers/normalize-error.d.ts +1 -0
  224. package/dist/types/controllers/hooks/use-team-containers/state.d.ts +6 -0
  225. package/dist/types/controllers/hooks/use-team-containers/store.d.ts +4 -0
  226. package/dist/types/controllers/hooks/use-team-containers/team-containers-state.d.ts +16 -0
  227. package/dist/types/controllers/hooks/use-team-containers/team-state.d.ts +11 -0
  228. package/dist/types/controllers/hooks/use-team-containers/use-connected-teams-2.d.ts +11 -0
  229. package/dist/types/controllers/hooks/use-team-containers/use-connected-teams.d.ts +11 -0
  230. package/dist/types/controllers/hooks/use-team-containers/use-team-containers-2.d.ts +15 -0
  231. package/dist/types/controllers/hooks/use-team-containers/use-team-containers-hook.d.ts +12 -0
  232. package/dist/types/controllers/hooks/use-team-containers/use-team-containers.d.ts +21 -0
  233. package/dist/types/controllers/hooks/use-team-web-links/actions.d.ts +12 -0
  234. package/dist/types/controllers/hooks/use-team-web-links/index.d.ts +12 -165
  235. package/dist/types/controllers/hooks/use-team-web-links/initial-state.d.ts +2 -0
  236. package/dist/types/controllers/hooks/use-team-web-links/store.d.ts +4 -0
  237. package/dist/types/controllers/hooks/use-team-web-links/use-team-web-links-actions.d.ts +147 -0
  238. package/dist/types/controllers/hooks/use-team-web-links/use-team-web-links.d.ts +13 -0
  239. package/dist/types/controllers/index.d.ts +16 -3
  240. package/dist/types/controllers/product-permission/getProductPermissionRequestBody.d.ts +2 -0
  241. package/dist/types/controllers/product-permission/hasProductPermission.d.ts +5 -0
  242. package/dist/types/controllers/product-permission/transformPermissions.d.ts +2 -0
  243. package/dist/types/controllers/product-permission/utils.d.ts +10 -5
  244. package/dist/types/i18n/index.d.ts +87 -0
  245. package/dist/types/index.d.ts +5 -3
  246. package/dist/types/next/index.d.ts +9 -0
  247. package/dist/types/ui/team-containers/add-container-card/AddContainerCard.d.ts +12 -0
  248. package/dist/types/ui/team-containers/add-container-card/{index.d.ts → getAddContainerCards.d.ts} +1 -11
  249. package/dist/types/ui/team-containers/index.d.ts +9 -0
  250. package/dist/types/ui/team-containers/types.d.ts +1 -1
  251. package/jira-icon/package.json +9 -0
  252. package/loom-icon/package.json +9 -0
  253. package/package.json +19 -19
  254. package/product-permission/get-product-permission-request-body/package.json +10 -0
  255. package/product-permission/has-product-permission/package.json +10 -0
  256. package/product-permission/transform-permissions/package.json +10 -0
  257. package/use-connected-teams/package.json +10 -0
  258. package/use-team-containers/use-team-containers/package.json +10 -0
  259. package/use-team-containers/use-team-containers-hook/package.json +10 -0
  260. package/use-team-web-links/actions/package.json +10 -0
  261. package/use-team-web-links/use-team-web-links/package.json +10 -0
  262. package/use-team-web-links-actions/package.json +10 -0
  263. package/dist/cjs/common/ui/loom-avatar/utils.js +0 -39
  264. package/dist/es2019/common/ui/loom-avatar/utils.js +0 -33
  265. package/dist/esm/common/ui/loom-avatar/utils.js +0 -33
  266. package/dist/types/common/ui/loom-avatar/utils.d.ts +0 -16
  267. /package/dist/cjs/ui/team-containers/add-container-card/{index.compiled.css → AddContainerCard.compiled.css} +0 -0
  268. /package/dist/es2019/ui/team-containers/add-container-card/{index.compiled.css → AddContainerCard.compiled.css} +0 -0
  269. /package/dist/esm/ui/team-containers/add-container-card/{index.compiled.css → AddContainerCard.compiled.css} +0 -0
@@ -0,0 +1,49 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ import { useCallback } from 'react';
6
+ import { useAnalyticsEvents } from '@atlaskit/analytics-next';
7
+ import { useAnalyticsEvents as useAnalyticsEventsNext } from '@atlaskit/teams-app-internal-analytics';
8
+ import { usePeopleAndTeamAnalytics } from '../../../common/utils/analytics';
9
+ import { getErrorDetails } from './get-error-details';
10
+ import { getInitialTeamState } from './get-initial-team-state';
11
+ import { useTeamContainersHook } from './multi-team';
12
+ export var useConnectedTeams = function useConnectedTeams(teamId) {
13
+ var _useTeamContainersHoo = useTeamContainersHook(),
14
+ _useTeamContainersHoo2 = _slicedToArray(_useTeamContainersHoo, 2),
15
+ state = _useTeamContainersHoo2[0],
16
+ actions = _useTeamContainersHoo2[1];
17
+ var _usePeopleAndTeamAnal = usePeopleAndTeamAnalytics(),
18
+ fireOperationalEvent = _usePeopleAndTeamAnal.fireOperationalEvent;
19
+ var _useAnalyticsEvents = useAnalyticsEvents(),
20
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
21
+ var _useAnalyticsEventsNe = useAnalyticsEventsNext(),
22
+ fireEvent = _useAnalyticsEventsNe.fireEvent;
23
+ var fireOperationalAnalytics = useCallback(function (_ref) {
24
+ var action = _ref.action,
25
+ actionSubject = _ref.actionSubject,
26
+ containerId = _ref.containerId,
27
+ numberOfTeams = _ref.numberOfTeams,
28
+ error = _ref.error;
29
+ fireOperationalEvent(createAnalyticsEvent, {
30
+ action: action,
31
+ actionSubject: actionSubject,
32
+ attributes: _objectSpread({
33
+ containerId: containerId,
34
+ numberOfTeams: numberOfTeams
35
+ }, error && {
36
+ error: getErrorDetails(error)
37
+ })
38
+ });
39
+ }, [fireOperationalEvent, createAnalyticsEvent]);
40
+ var teamState = state.teams[teamId] || getInitialTeamState();
41
+ return _objectSpread(_objectSpread({}, teamState.connectedTeams), {}, {
42
+ fetchNumberOfConnectedTeams: function fetchNumberOfConnectedTeams(containerId) {
43
+ return actions.fetchNumberOfConnectedTeams(teamId, containerId, fireOperationalAnalytics, fireEvent);
44
+ },
45
+ fetchConnectedTeams: function fetchConnectedTeams(containerId) {
46
+ return actions.fetchConnectedTeams(teamId, containerId, fireOperationalAnalytics, fireEvent);
47
+ }
48
+ });
49
+ };
@@ -0,0 +1,29 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ import { fg } from '@atlaskit/platform-feature-flags';
6
+ import { useAnalyticsEvents } from '@atlaskit/teams-app-internal-analytics';
7
+ import { useConnectedTeams as useConnectedTeamsMulti } from './use-connected-teams-2';
8
+ import { useTeamContainersHook } from './use-team-containers-hook';
9
+ export var useConnectedTeams = function useConnectedTeams(teamId) {
10
+ var _useTeamContainersHoo = useTeamContainersHook(),
11
+ _useTeamContainersHoo2 = _slicedToArray(_useTeamContainersHoo, 2),
12
+ state = _useTeamContainersHoo2[0],
13
+ actions = _useTeamContainersHoo2[1];
14
+ var useMultiTeam = fg('enable_multi_team_containers_state');
15
+ var multiTeamResult = useConnectedTeamsMulti(useMultiTeam ? teamId || '' : '');
16
+ var _useAnalyticsEvents = useAnalyticsEvents(),
17
+ fireEvent = _useAnalyticsEvents.fireEvent;
18
+ if (useMultiTeam) {
19
+ return multiTeamResult;
20
+ }
21
+ return _objectSpread(_objectSpread({}, state.connectedTeams), {}, {
22
+ fetchNumberOfConnectedTeams: function fetchNumberOfConnectedTeams(containerId) {
23
+ return actions.fetchNumberOfConnectedTeams(containerId, fireEvent);
24
+ },
25
+ fetchConnectedTeams: function fetchConnectedTeams(containerId) {
26
+ return actions.fetchConnectedTeams(containerId, fireEvent);
27
+ }
28
+ });
29
+ };
@@ -0,0 +1,79 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
+ import { useCallback, useEffect } from 'react';
8
+ import { useAnalyticsEvents } from '@atlaskit/analytics-next';
9
+ import { useAnalyticsEvents as useAnalyticsEventsNext } from '@atlaskit/teams-app-internal-analytics';
10
+ import { usePeopleAndTeamAnalytics } from '../../../common/utils/analytics';
11
+ import { getErrorDetails } from './get-error-details';
12
+ import { getInitialTeamState } from './get-initial-team-state';
13
+ import { useTeamContainersHook } from './multi-team';
14
+ export var useTeamContainers = function useTeamContainers(teamId) {
15
+ var enable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
16
+ var _useTeamContainersHoo = useTeamContainersHook(),
17
+ _useTeamContainersHoo2 = _slicedToArray(_useTeamContainersHoo, 2),
18
+ state = _useTeamContainersHoo2[0],
19
+ actions = _useTeamContainersHoo2[1];
20
+ var _usePeopleAndTeamAnal = usePeopleAndTeamAnalytics(),
21
+ fireOperationalEvent = _usePeopleAndTeamAnal.fireOperationalEvent;
22
+ var _useAnalyticsEvents = useAnalyticsEvents(),
23
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
24
+ var _useAnalyticsEventsNe = useAnalyticsEventsNext(),
25
+ fireEvent = _useAnalyticsEventsNe.fireEvent;
26
+ var fireOperationalAnalytics = useCallback(function (action, actionSubject, error) {
27
+ fireOperationalEvent(createAnalyticsEvent, {
28
+ action: action,
29
+ actionSubject: actionSubject,
30
+ attributes: _objectSpread({
31
+ teamId: teamId
32
+ }, error && {
33
+ error: getErrorDetails(error)
34
+ })
35
+ });
36
+ }, [fireOperationalEvent, createAnalyticsEvent, teamId]);
37
+ useEffect(function () {
38
+ if (enable) {
39
+ // Get fresh state to ensure we're checking the correct team
40
+ var currentState = state;
41
+ var _teamState = currentState.teams[teamId];
42
+ // Only fetch if not already loaded or loading
43
+ if (!(_teamState !== null && _teamState !== void 0 && _teamState.hasLoaded) && !(_teamState !== null && _teamState !== void 0 && _teamState.loading)) {
44
+ actions.fetchTeamContainers(teamId, fireOperationalAnalytics, fireEvent);
45
+ }
46
+ }
47
+ // eslint-disable-next-line react-hooks/exhaustive-deps
48
+ }, [teamId, enable]);
49
+ var refetchTeamContainers = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
50
+ return _regeneratorRuntime.wrap(function (_context) {
51
+ while (1) switch (_context.prev = _context.next) {
52
+ case 0:
53
+ return _context.abrupt("return", actions.refetchTeamContainers(teamId, fireOperationalAnalytics, fireEvent));
54
+ case 1:
55
+ case "end":
56
+ return _context.stop();
57
+ }
58
+ }, _callee);
59
+ })), [teamId, actions, fireOperationalAnalytics, fireEvent]);
60
+
61
+ // Always get the state for the specific teamId to avoid showing wrong team's data
62
+ var teamState = state.teams[teamId] || getInitialTeamState();
63
+ return {
64
+ teamContainers: teamState.teamContainers,
65
+ loading: teamState.loading,
66
+ hasLoaded: teamState.hasLoaded,
67
+ error: teamState.error,
68
+ unlinkError: teamState.unlinkError,
69
+ teamId: teamState.teamId,
70
+ connectedTeams: teamState.connectedTeams,
71
+ addTeamContainer: function addTeamContainer(teamContainer) {
72
+ return actions.addTeamContainer(teamId, teamContainer);
73
+ },
74
+ unlinkTeamContainers: function unlinkTeamContainers(containerId) {
75
+ return actions.unlinkTeamContainers(teamId, containerId);
76
+ },
77
+ refetchTeamContainers: refetchTeamContainers
78
+ };
79
+ };
@@ -0,0 +1,3 @@
1
+ import { createHook } from 'react-sweet-state';
2
+ import { TeamContainersStore } from './store';
3
+ export var useTeamContainersHook = createHook(TeamContainersStore);
@@ -0,0 +1,48 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
7
+ import { useCallback, useEffect } from 'react';
8
+ import { fg } from '@atlaskit/platform-feature-flags';
9
+ import { useAnalyticsEvents } from '@atlaskit/teams-app-internal-analytics';
10
+ import { useTeamContainers as useTeamContainersMulti } from './use-team-containers-2';
11
+ import { useTeamContainersHook } from './use-team-containers-hook';
12
+ export var useTeamContainers = function useTeamContainers(teamId) {
13
+ var enable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
14
+ var _useTeamContainersHoo = useTeamContainersHook(),
15
+ _useTeamContainersHoo2 = _slicedToArray(_useTeamContainersHoo, 2),
16
+ state = _useTeamContainersHoo2[0],
17
+ actions = _useTeamContainersHoo2[1];
18
+ var useMultiTeam = fg('enable_multi_team_containers_state');
19
+ var multiTeamResult = useTeamContainersMulti(teamId, useMultiTeam ? enable : false);
20
+ var _useAnalyticsEvents = useAnalyticsEvents(),
21
+ fireEvent = _useAnalyticsEvents.fireEvent;
22
+ useEffect(function () {
23
+ if (enable && !useMultiTeam) {
24
+ actions.fetchTeamContainers(teamId, fireEvent);
25
+ }
26
+ }, [teamId, actions, enable, fireEvent, useMultiTeam]);
27
+ var refetchTeamContainers = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
28
+ return _regeneratorRuntime.wrap(function (_context) {
29
+ while (1) switch (_context.prev = _context.next) {
30
+ case 0:
31
+ return _context.abrupt("return", actions.refetchTeamContainers(fireEvent));
32
+ case 1:
33
+ case "end":
34
+ return _context.stop();
35
+ }
36
+ }, _callee);
37
+ })), [actions, fireEvent]);
38
+ if (useMultiTeam) {
39
+ return multiTeamResult;
40
+ }
41
+ return _objectSpread(_objectSpread({}, state), {}, {
42
+ addTeamContainer: actions.addTeamContainer,
43
+ unlinkTeamContainers: function unlinkTeamContainers(containerId) {
44
+ return actions.unlinkTeamContainers(teamId, containerId);
45
+ },
46
+ refetchTeamContainers: refetchTeamContainers
47
+ });
48
+ };
@@ -6,9 +6,11 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
6
6
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
8
8
  import { useCallback, useEffect, useMemo } from 'react';
9
- import { containerToNewWebLink, isNewTeamWebLink, webLinksToContainers } from '../../../common/utils/team-web-link-converters';
10
- import { useTeamContainers } from '../use-team-containers';
11
- import { useTeamWebLinks } from '../use-team-web-links';
9
+ import { containerToNewWebLink } from '../../../common/utils/container-to-new-web-link';
10
+ import { isNewTeamWebLink } from '../../../common/utils/is-new-team-web-link';
11
+ import { webLinksToContainers } from '../../../common/utils/web-links-to-containers';
12
+ import { useTeamContainers } from '../use-team-containers/use-team-containers';
13
+ import { useTeamWebLinks } from '../use-team-web-links/use-team-web-links';
12
14
  var MAX_LINKS_LIMIT = 10;
13
15
  export var useTeamLinksAndContainers = function useTeamLinksAndContainers(teamId) {
14
16
  var enableContainers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
@@ -0,0 +1,321 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
7
+ import { teamsClient } from '@atlaskit/teams-client';
8
+ import { initialState as _initialState } from './initial-state';
9
+ export var actions = {
10
+ getTeamWebLinks: function getTeamWebLinks(teamId) {
11
+ return /*#__PURE__*/function () {
12
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
13
+ var getState, setState, dispatch, _getState, links, currentTeamId, hasLoaded, isLoading, initialLinks, _yield$teamsClient$ge, entities, _t;
14
+ return _regeneratorRuntime.wrap(function (_context) {
15
+ while (1) switch (_context.prev = _context.next) {
16
+ case 0:
17
+ getState = _ref.getState, setState = _ref.setState, dispatch = _ref.dispatch;
18
+ _getState = getState(), links = _getState.links, currentTeamId = _getState.teamId, hasLoaded = _getState.hasLoaded, isLoading = _getState.isLoading;
19
+ if (!(isLoading || teamId === currentTeamId && hasLoaded && links.length > 0)) {
20
+ _context.next = 1;
21
+ break;
22
+ }
23
+ return _context.abrupt("return");
24
+ case 1:
25
+ initialLinks = teamId === currentTeamId ? links : [];
26
+ setState({
27
+ teamId: teamId,
28
+ isLoading: true,
29
+ hasLoaded: false,
30
+ hasError: false,
31
+ shouldReload: false,
32
+ links: initialLinks
33
+ });
34
+ _context.prev = 2;
35
+ _context.next = 3;
36
+ return teamsClient.getTeamLinksByTeamId(teamId);
37
+ case 3:
38
+ _yield$teamsClient$ge = _context.sent;
39
+ entities = _yield$teamsClient$ge.entities;
40
+ if (!(getState().teamId !== teamId)) {
41
+ _context.next = 4;
42
+ break;
43
+ }
44
+ return _context.abrupt("return");
45
+ case 4:
46
+ setState({
47
+ isLoading: false,
48
+ hasLoaded: true,
49
+ hasError: false,
50
+ shouldReload: false,
51
+ links: entities
52
+ });
53
+ if (entities.length > 0) {
54
+ dispatch(actions.getTeamWebLinkIcons(teamId));
55
+ }
56
+ _context.next = 7;
57
+ break;
58
+ case 5:
59
+ _context.prev = 5;
60
+ _t = _context["catch"](2);
61
+ if (!(getState().teamId !== teamId)) {
62
+ _context.next = 6;
63
+ break;
64
+ }
65
+ return _context.abrupt("return");
66
+ case 6:
67
+ setState({
68
+ isLoading: false,
69
+ hasLoaded: true,
70
+ hasError: true,
71
+ errorType: _t instanceof Error ? _t : undefined,
72
+ shouldReload: false,
73
+ links: []
74
+ });
75
+ case 7:
76
+ case "end":
77
+ return _context.stop();
78
+ }
79
+ }, _callee, null, [[2, 5]]);
80
+ }));
81
+ return function (_x) {
82
+ return _ref2.apply(this, arguments);
83
+ };
84
+ }();
85
+ },
86
+ getTeamWebLinkIcons: function getTeamWebLinkIcons(teamId) {
87
+ return /*#__PURE__*/function () {
88
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref3) {
89
+ var getState, setState, _getState2, links, currentIcons, linkUrls, uncachedUrls, newIconData, _t2;
90
+ return _regeneratorRuntime.wrap(function (_context2) {
91
+ while (1) switch (_context2.prev = _context2.next) {
92
+ case 0:
93
+ getState = _ref3.getState, setState = _ref3.setState;
94
+ _getState2 = getState(), links = _getState2.links, currentIcons = _getState2.linkIcons;
95
+ if (!(links.length === 0)) {
96
+ _context2.next = 1;
97
+ break;
98
+ }
99
+ return _context2.abrupt("return");
100
+ case 1:
101
+ linkUrls = links.map(function (link) {
102
+ return link.linkUri;
103
+ });
104
+ uncachedUrls = linkUrls.filter(function (url) {
105
+ return !currentIcons.some(function (icon) {
106
+ return icon.linkUrl === url;
107
+ });
108
+ });
109
+ if (!(uncachedUrls.length > 0)) {
110
+ _context2.next = 6;
111
+ break;
112
+ }
113
+ _context2.prev = 2;
114
+ setState({
115
+ iconsLoading: true,
116
+ iconsError: false
117
+ });
118
+ _context2.next = 3;
119
+ return teamsClient.getTeamLinkIcons(uncachedUrls);
120
+ case 3:
121
+ newIconData = _context2.sent;
122
+ if (getState().teamId === teamId) {
123
+ setState({
124
+ linkIcons: [].concat(_toConsumableArray(currentIcons), _toConsumableArray(newIconData || [])),
125
+ iconsLoading: false,
126
+ iconsError: false,
127
+ iconHasLoaded: true
128
+ });
129
+ }
130
+ _context2.next = 5;
131
+ break;
132
+ case 4:
133
+ _context2.prev = 4;
134
+ _t2 = _context2["catch"](2);
135
+ if (getState().teamId === teamId) {
136
+ setState({
137
+ iconsLoading: false,
138
+ iconsError: true,
139
+ iconHasLoaded: true
140
+ });
141
+ }
142
+ case 5:
143
+ _context2.next = 7;
144
+ break;
145
+ case 6:
146
+ setState({
147
+ iconsLoading: false,
148
+ iconsError: false,
149
+ iconHasLoaded: true
150
+ });
151
+ case 7:
152
+ case "end":
153
+ return _context2.stop();
154
+ }
155
+ }, _callee2, null, [[2, 4]]);
156
+ }));
157
+ return function (_x2) {
158
+ return _ref4.apply(this, arguments);
159
+ };
160
+ }();
161
+ },
162
+ createTeamWebLink: function createTeamWebLink(teamId, newLink) {
163
+ return /*#__PURE__*/function () {
164
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref5) {
165
+ var getState, setState, dispatch, result, currentState;
166
+ return _regeneratorRuntime.wrap(function (_context3) {
167
+ while (1) switch (_context3.prev = _context3.next) {
168
+ case 0:
169
+ getState = _ref5.getState, setState = _ref5.setState, dispatch = _ref5.dispatch;
170
+ _context3.next = 1;
171
+ return teamsClient.createTeamLink(teamId, newLink);
172
+ case 1:
173
+ result = _context3.sent;
174
+ currentState = getState();
175
+ if (!(currentState.teamId !== teamId)) {
176
+ _context3.next = 2;
177
+ break;
178
+ }
179
+ return _context3.abrupt("return", result);
180
+ case 2:
181
+ setState({
182
+ links: [].concat(_toConsumableArray(currentState.links), [result])
183
+ });
184
+ dispatch(actions.getTeamWebLinkIcons(teamId));
185
+ return _context3.abrupt("return", result);
186
+ case 3:
187
+ case "end":
188
+ return _context3.stop();
189
+ }
190
+ }, _callee3);
191
+ }));
192
+ return function (_x3) {
193
+ return _ref6.apply(this, arguments);
194
+ };
195
+ }();
196
+ },
197
+ updateTeamWebLink: function updateTeamWebLink(teamId, linkId, newLink) {
198
+ return /*#__PURE__*/function () {
199
+ var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref7) {
200
+ var getState, setState, dispatch, result, currentState, oldLink, urlChanged, updatedIcons;
201
+ return _regeneratorRuntime.wrap(function (_context4) {
202
+ while (1) switch (_context4.prev = _context4.next) {
203
+ case 0:
204
+ getState = _ref7.getState, setState = _ref7.setState, dispatch = _ref7.dispatch;
205
+ _context4.next = 1;
206
+ return teamsClient.updateTeamLink(teamId, linkId, newLink);
207
+ case 1:
208
+ result = _context4.sent;
209
+ currentState = getState();
210
+ if (!(currentState.teamId !== teamId)) {
211
+ _context4.next = 2;
212
+ break;
213
+ }
214
+ return _context4.abrupt("return", result);
215
+ case 2:
216
+ oldLink = currentState.links.find(function (link) {
217
+ return link.linkId === linkId;
218
+ });
219
+ urlChanged = oldLink && oldLink.linkUri !== result.linkUri;
220
+ setState({
221
+ links: currentState.links.map(function (link) {
222
+ return link.linkId === linkId ? result : link;
223
+ })
224
+ });
225
+ if (urlChanged) {
226
+ updatedIcons = currentState.linkIcons.filter(function (icon) {
227
+ return icon.linkUrl !== oldLink.linkUri;
228
+ });
229
+ setState({
230
+ linkIcons: updatedIcons
231
+ });
232
+ dispatch(actions.getTeamWebLinkIcons(teamId));
233
+ }
234
+ return _context4.abrupt("return", result);
235
+ case 3:
236
+ case "end":
237
+ return _context4.stop();
238
+ }
239
+ }, _callee4);
240
+ }));
241
+ return function (_x4) {
242
+ return _ref8.apply(this, arguments);
243
+ };
244
+ }();
245
+ },
246
+ removeWebLink: function removeWebLink(teamId, linkId) {
247
+ return /*#__PURE__*/function () {
248
+ var _ref0 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(_ref9) {
249
+ var getState, setState, currentState;
250
+ return _regeneratorRuntime.wrap(function (_context5) {
251
+ while (1) switch (_context5.prev = _context5.next) {
252
+ case 0:
253
+ getState = _ref9.getState, setState = _ref9.setState;
254
+ currentState = getState();
255
+ if (!(currentState.teamId !== teamId)) {
256
+ _context5.next = 1;
257
+ break;
258
+ }
259
+ return _context5.abrupt("return");
260
+ case 1:
261
+ _context5.next = 2;
262
+ return teamsClient.deleteTeamLink(teamId, linkId);
263
+ case 2:
264
+ setState({
265
+ links: currentState.links.filter(function (link) {
266
+ return link.linkId !== linkId;
267
+ })
268
+ });
269
+ case 3:
270
+ case "end":
271
+ return _context5.stop();
272
+ }
273
+ }, _callee5);
274
+ }));
275
+ return function (_x5) {
276
+ return _ref0.apply(this, arguments);
277
+ };
278
+ }();
279
+ },
280
+ fetchWebLinkTitle: function fetchWebLinkTitle(url) {
281
+ return /*#__PURE__*/function () {
282
+ var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(_ref1) {
283
+ var setState, title, _t3;
284
+ return _regeneratorRuntime.wrap(function (_context6) {
285
+ while (1) switch (_context6.prev = _context6.next) {
286
+ case 0:
287
+ setState = _ref1.setState;
288
+ if (url) {
289
+ _context6.next = 1;
290
+ break;
291
+ }
292
+ return _context6.abrupt("return", undefined);
293
+ case 1:
294
+ _context6.prev = 1;
295
+ _context6.next = 2;
296
+ return teamsClient.getWebLinkTitle(url);
297
+ case 2:
298
+ title = _context6.sent;
299
+ return _context6.abrupt("return", title);
300
+ case 3:
301
+ _context6.prev = 3;
302
+ _t3 = _context6["catch"](1);
303
+ return _context6.abrupt("return", undefined);
304
+ case 4:
305
+ case "end":
306
+ return _context6.stop();
307
+ }
308
+ }, _callee6, null, [[1, 3]]);
309
+ }));
310
+ return function (_x6) {
311
+ return _ref10.apply(this, arguments);
312
+ };
313
+ }();
314
+ },
315
+ initialState: function initialState(state) {
316
+ return function (_ref11) {
317
+ var setState = _ref11.setState;
318
+ setState(_objectSpread(_objectSpread({}, _initialState), state));
319
+ };
320
+ }
321
+ };