@messenger-box/slack-ui-mobile 10.0.3-alpha.40 → 10.0.3-alpha.46

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 (80) hide show
  1. package/lib/components/AppRootContextProviderComponent.js +16 -2
  2. package/lib/components/AppRootContextProviderComponent.js.map +1 -1
  3. package/lib/components/CustomDrawer/CustomDrawer.js +3 -3
  4. package/lib/components/CustomDrawer/CustomDrawer.js.map +1 -1
  5. package/lib/components/NavigationHeader/InboxNavigationHeader.js +4 -12
  6. package/lib/components/NavigationHeader/InboxNavigationHeader.js.map +1 -1
  7. package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.js +4 -8
  8. package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.js.map +1 -1
  9. package/lib/compute.js +25 -14
  10. package/lib/index.js.map +1 -1
  11. package/lib/queries/slackuiQueries.js +129 -0
  12. package/lib/queries/slackuiQueries.js.map +1 -0
  13. package/lib/routes.json +25 -14
  14. package/lib/screens/Account/AccountScreen.js.map +1 -1
  15. package/lib/screens/Channels/Add/AddVisibility.js +1 -1
  16. package/lib/screens/Channels/Add/AddVisibility.js.map +1 -1
  17. package/lib/screens/Channels/AddChannel.js +1 -1
  18. package/lib/screens/Channels/AddChannel.js.map +1 -1
  19. package/lib/screens/Channels/Channels.js +6 -16
  20. package/lib/screens/Channels/Channels.js.map +1 -1
  21. package/lib/screens/Home/Components/Channels/Channels.js +19 -98
  22. package/lib/screens/Home/Components/Channels/Channels.js.map +1 -1
  23. package/lib/screens/Home/Components/DirectChannels/DirectChannels.js +90 -116
  24. package/lib/screens/Home/Components/DirectChannels/DirectChannels.js.map +1 -1
  25. package/lib/screens/Home/Components/InviteMembers/index.js +2 -2
  26. package/lib/screens/Home/Components/InviteMembers/index.js.map +1 -1
  27. package/lib/screens/Home/Components/Teams/Teams.js +22 -77
  28. package/lib/screens/Home/Components/Teams/Teams.js.map +1 -1
  29. package/lib/screens/Home/HomeScreen.js +2 -2
  30. package/lib/screens/Home/HomeScreen.js.map +1 -1
  31. package/lib/screens/Inbox/InboxChannelDetail.js +45 -13
  32. package/lib/screens/Inbox/InboxChannelDetail.js.map +1 -1
  33. package/lib/screens/Inbox/InboxDialogMessages.js +2 -2
  34. package/lib/screens/Inbox/InboxDialogMessages.js.map +1 -1
  35. package/lib/screens/Organization/AddWorkspace.js +4 -8
  36. package/lib/screens/Organization/AddWorkspace.js.map +1 -1
  37. package/lib/screens/Organization/CreateOrganization.js +1 -1
  38. package/lib/screens/Organization/CreateOrganization.js.map +1 -1
  39. package/lib/screens/Organization/InitialChannelOnboarding.js +19 -3
  40. package/lib/screens/Organization/InitialChannelOnboarding.js.map +1 -1
  41. package/lib/screens/Organization/InitializeOrganizationChannel.js +6 -3
  42. package/lib/screens/Organization/InitializeOrganizationChannel.js.map +1 -1
  43. package/lib/screens/Organization/InviteOrganizationMembers.js +50 -10
  44. package/lib/screens/Organization/InviteOrganizationMembers.js.map +1 -1
  45. package/lib/screens/Peoples/AddByEmail.js +1 -1
  46. package/lib/screens/Peoples/AddByEmail.js.map +1 -1
  47. package/lib/screens/Peoples/AddFromContacts.js +34 -9
  48. package/lib/screens/Peoples/AddFromContacts.js.map +1 -1
  49. package/lib/screens/Peoples/AddPeople.js +8 -17
  50. package/lib/screens/Peoples/AddPeople.js.map +1 -1
  51. package/lib/screens/Peoples/People.js +42 -4
  52. package/lib/screens/Peoples/People.js.map +1 -1
  53. package/lib/screens/Profile/ProfileScreen.js +24 -9
  54. package/lib/screens/Profile/ProfileScreen.js.map +1 -1
  55. package/lib/screens/Search/Channels.js +3 -7
  56. package/lib/screens/Search/Channels.js.map +1 -1
  57. package/lib/screens/Search/People.js +2 -2
  58. package/lib/screens/Search/People.js.map +1 -1
  59. package/lib/screens/Search/Recents.js +2 -2
  60. package/lib/screens/Search/Recents.js.map +1 -1
  61. package/lib/screens/Search/SearchAddChannel.js +85 -12
  62. package/lib/screens/Search/SearchAddChannel.js.map +1 -1
  63. package/lib/screens/Search/SearchChannelPeople.js +22 -2
  64. package/lib/screens/Search/SearchChannelPeople.js.map +1 -1
  65. package/lib/screens/Search/SearchScreen.js +2 -2
  66. package/lib/screens/Search/SearchScreen.js.map +1 -1
  67. package/lib/screens/Teams/AddTeam.js +1 -1
  68. package/lib/screens/Teams/AddTeam.js.map +1 -1
  69. package/lib/screens/Teams/Components/Channels/Channels.js +2 -2
  70. package/lib/screens/Teams/Components/Channels/Channels.js.map +1 -1
  71. package/lib/screens/Teams/Components/Members/Members.js.map +1 -1
  72. package/lib/screens/Teams/Team.js +2 -7
  73. package/lib/screens/Teams/Team.js.map +1 -1
  74. package/lib/screens/Teams/Teams.js +1 -1
  75. package/lib/screens/Teams/Teams.js.map +1 -1
  76. package/lib/screens/Teams/useTeams.js +27 -90
  77. package/lib/screens/Teams/useTeams.js.map +1 -1
  78. package/package.json +3 -3
  79. package/lib/screens/Teams/Teams-xstate.js +0 -226
  80. package/lib/screens/Teams/Teams-xstate.js.map +0 -1
@@ -1,101 +1,38 @@
1
- import {useActor}from'@xstate/react';import {useEffect,useCallback}from'react';import {useGetOrganizationTeamsQuery}from'common/graphql';import {useFocusEffect}from'@react-navigation/native';import {teamsMachine,Actions}from'./Teams-xstate.js';const useTeams = (orgName) => {
2
- const [state, send] = useActor(teamsMachine);
1
+ import {useState,useCallback,useEffect}from'react';import {useTeamsQuery}from'../../queries/slackuiQueries.js';import'lodash-es';const useTeams = (orgName) => {
2
+ const [searchTerm, setSearchTerm] = useState("");
3
+ const [teams, setTeams] = useState([]);
4
+ const [initialTeams, setInitialTeams] = useState([]);
5
+ const [teamsLoading, setTeamsLoading] = useState(false);
3
6
  const {
4
- teams,
7
+ data,
5
8
  loading,
6
- teamsLoading,
7
- searchTerm
8
- } = state.context;
9
- const {
10
- data: orgTeams,
11
- loading: orgTeamsLoading,
12
9
  error,
13
- refetch: refetchQuery
14
- } = useGetOrganizationTeamsQuery({
15
- variables: {
16
- orgName
17
- },
18
- skip: !orgName
19
- });
20
- useEffect(() => {
21
- if (orgName) {
22
- send({
23
- type: Actions.INITIAL_CONTEXT,
24
- data: {
25
- orgName
26
- }
27
- });
28
- }
29
- }, [orgName, send]);
30
- useEffect(() => {
31
- if (orgTeams == null ? void 0 : orgTeams.getOrganizationTeams) {
32
- send({
33
- type: Actions.SET_TEAMS,
34
- data: {
35
- teams: orgTeams.getOrganizationTeams
36
- }
37
- });
38
- }
39
- }, [orgTeams, send]);
40
- useFocusEffect(useCallback(() => {
41
- if (orgName) {
42
- refetchQuery({
43
- orgName
44
- });
45
- send({
46
- type: Actions.REFETCH_TEAMS,
47
- data: {
48
- orgName
49
- }
50
- });
51
- }
52
- return () => {
53
- };
54
- }, [orgName, refetchQuery, send]));
10
+ refetch: refetchTeamsQuery
11
+ } = useTeamsQuery(orgName);
55
12
  const handleSearchChange = useCallback((text) => {
56
- send({
57
- type: Actions.SEARCH_TEAMS,
58
- data: {
59
- searchTerm: text
60
- }
61
- });
62
- }, [send]);
63
- const refetch = useCallback(async () => {
64
- var _a;
65
- if (!orgName)
13
+ setSearchTerm(text);
14
+ if (!text.trim()) {
15
+ setTeams(initialTeams);
66
16
  return;
67
- send({
68
- type: Actions.START_LOADING
69
- });
70
- try {
71
- const result = await refetchQuery({
72
- orgName
73
- });
74
- if ((_a = result == null ? void 0 : result.data) == null ? void 0 : _a.getOrganizationTeams) {
75
- send({
76
- type: Actions.SET_TEAMS,
77
- data: {
78
- teams: result.data.getOrganizationTeams
79
- }
80
- });
81
- }
82
- } catch (err) {
83
- send({
84
- type: Actions.ERROR,
85
- data: {
86
- message: "Failed to refresh teams"
87
- }
88
- });
89
- } finally {
90
- send({
91
- type: Actions.STOP_LOADING
92
- });
93
17
  }
94
- }, [orgName, refetchQuery, send]);
18
+ const filteredTeams = initialTeams.filter((team) => {
19
+ var _a;
20
+ return (_a = team == null ? void 0 : team.title) == null ? void 0 : _a.toLowerCase().includes(text.toLowerCase());
21
+ });
22
+ setTeams(filteredTeams);
23
+ }, [initialTeams]);
24
+ const refetch = useCallback(() => {
25
+ setTeamsLoading(true);
26
+ return refetchTeamsQuery();
27
+ }, [refetchTeamsQuery]);
28
+ useEffect(() => {
29
+ setTeams([]);
30
+ setInitialTeams([]);
31
+ }, [orgName]);
95
32
  return {
96
33
  teams,
97
- loading: loading || orgTeamsLoading,
98
- teamsLoading: teamsLoading || orgTeamsLoading,
34
+ loading,
35
+ teamsLoading,
99
36
  error,
100
37
  handleSearchChange,
101
38
  searchTerm,
@@ -1 +1 @@
1
- {"version":3,"file":"useTeams.js","sources":["../../../src/screens/Teams/useTeams.tsx"],"sourcesContent":["import { useActor } from '@xstate/react';\nimport { useCallback, useEffect } from 'react';\nimport { useGetOrganizationTeamsQuery } from 'common/graphql';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { teamsMachine, Actions } from './Teams-xstate';\n\nexport const useTeams = (orgName: string | null) => {\n const [state, send] = useActor(teamsMachine);\n const { teams, loading, teamsLoading, searchTerm } = state.context;\n\n const {\n data: orgTeams,\n loading: orgTeamsLoading,\n error,\n refetch: refetchQuery,\n } = useGetOrganizationTeamsQuery({\n variables: { orgName },\n skip: !orgName,\n });\n\n // Initialize the machine with orgName when available\n useEffect(() => {\n if (orgName) {\n send({ type: Actions.INITIAL_CONTEXT, data: { orgName } });\n }\n }, [orgName, send]);\n\n // Update teams when data is received from the query\n useEffect(() => {\n if (orgTeams?.getOrganizationTeams) {\n send({\n type: Actions.SET_TEAMS,\n data: { teams: orgTeams.getOrganizationTeams },\n });\n }\n }, [orgTeams, send]);\n\n // Refetch teams when screen is focused\n useFocusEffect(\n useCallback(() => {\n if (orgName) {\n refetchQuery({ orgName });\n send({ type: Actions.REFETCH_TEAMS, data: { orgName } });\n }\n return () => {};\n }, [orgName, refetchQuery, send]),\n );\n\n // Handle search input change\n const handleSearchChange = useCallback(\n (text: string) => {\n send({ type: Actions.SEARCH_TEAMS, data: { searchTerm: text } });\n },\n [send],\n );\n\n // Exposed refetch function for pull-to-refresh\n const refetch = useCallback(async () => {\n if (!orgName) return;\n\n send({ type: Actions.START_LOADING });\n try {\n const result = await refetchQuery({ orgName });\n if (result?.data?.getOrganizationTeams) {\n send({\n type: Actions.SET_TEAMS,\n data: { teams: result.data.getOrganizationTeams },\n });\n }\n } catch (err) {\n send({\n type: Actions.ERROR,\n data: { message: 'Failed to refresh teams' },\n });\n } finally {\n send({ type: Actions.STOP_LOADING });\n }\n }, [orgName, refetchQuery, send]);\n\n return {\n teams,\n loading: loading || orgTeamsLoading,\n teamsLoading: teamsLoading || orgTeamsLoading,\n error,\n handleSearchChange,\n searchTerm,\n refetch,\n };\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTeams.js","sources":["../../../src/screens/Teams/useTeams.tsx"],"sourcesContent":["import React, { useState, useCallback, useEffect } from 'react';\nimport { useTeamsQuery } from '../../queries/slackuiQueries';\nimport { orderBy, uniqBy } from 'lodash-es';\n\nexport const useTeams = (orgName: string) => {\n const [searchTerm, setSearchTerm] = useState('');\n const [teams, setTeams] = useState<any[]>([]);\n const [initialTeams, setInitialTeams] = useState<any[]>([]);\n const [teamsLoading, setTeamsLoading] = useState(false);\n\n const {\n data,\n loading,\n error,\n refetch: refetchTeamsQuery,\n } = useTeamsQuery(orgName, {\n fetchPolicy: 'cache-and-network',\n onCompleted: (data) => {\n if (data?.getOrganizationTeams?.length) {\n const orgTeamsData = data.getOrganizationTeams || [];\n const sortedTeams =\n orgTeamsData.length > 0\n ? orderBy(orgTeamsData, [(tm: any) => tm?.title?.toLowerCase()], ['asc'])\n : [];\n\n const uniqueTeams = uniqBy([...sortedTeams], ({ _id }) => _id);\n\n setInitialTeams(uniqueTeams);\n setTeams(uniqueTeams);\n }\n setTeamsLoading(false);\n },\n onError: () => {\n setTeamsLoading(false);\n },\n });\n\n const handleSearchChange = useCallback(\n (text: string) => {\n setSearchTerm(text);\n\n if (!text.trim()) {\n setTeams(initialTeams);\n return;\n }\n\n const filteredTeams = initialTeams.filter((team: any) =>\n team?.title?.toLowerCase().includes(text.toLowerCase()),\n );\n\n setTeams(filteredTeams);\n },\n [initialTeams],\n );\n\n const refetch = useCallback(() => {\n setTeamsLoading(true);\n return refetchTeamsQuery();\n }, [refetchTeamsQuery]);\n\n // Reset teams when orgName changes\n useEffect(() => {\n setTeams([]);\n setInitialTeams([]);\n }, [orgName]);\n\n return {\n teams,\n loading,\n teamsLoading,\n error,\n handleSearchChange,\n searchTerm,\n refetch,\n };\n};\n"],"names":[],"mappings":"iIAGa,MAAA,QAAA,GAAW,CAAC,OAAoB,KAAA;AAC3C,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,EAAE,CAAA;AAC/C,EAAA,MAAM,CAAC,KAAO,EAAA,QAAQ,CAAI,GAAA,QAAA,CAAgB,EAAE,CAAA;AAC5C,EAAA,MAAM,CAAC,YAAc,EAAA,eAAe,CAAI,GAAA,QAAA,CAAgB,EAAE,CAAA;AAC1D,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,SAAS,KAAK,CAAA;AACtD,EAAM,MAAA;AAAA,IACJ,IAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAS,EAAA;AAAA,GACX,GAAI,cAAc,OAiBjB,CAAA;AACD,EAAM,MAAA,kBAAA,GAAqB,WAAY,CAAA,CAAC,IAAiB,KAAA;AACvD,IAAA,aAAA,CAAc,IAAI,CAAA;AAClB,IAAI,IAAA,CAAC,IAAK,CAAA,IAAA,EAAQ,EAAA;AAChB,MAAA,QAAA,CAAS,YAAY,CAAA;AACrB,MAAA;AAAA;AAEF,IAAA,MAAM,aAAgB,GAAA,YAAA,CAAa,MAAO,CAAA,CAAC,IAAW,KAAA;AArC1D,MAAA,IAAA,EAAA;AAqC6D,MAAA,OAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,KAAN,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAa,WAAc,EAAA,CAAA,QAAA,CAAS,KAAK,WAAY,EAAA,CAAA;AAAA,KAAE,CAAA;AAChH,IAAA,QAAA,CAAS,aAAa,CAAA;AAAA,GACxB,EAAG,CAAC,YAAY,CAAC,CAAA;AACjB,EAAM,MAAA,OAAA,GAAU,YAAY,MAAM;AAChC,IAAA,eAAA,CAAgB,IAAI,CAAA;AACpB,IAAA,OAAO,iBAAkB,EAAA;AAAA,GAC3B,EAAG,CAAC,iBAAiB,CAAC,CAAA;AAGtB,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,QAAA,CAAS,EAAE,CAAA;AACX,IAAA,eAAA,CAAgB,EAAE,CAAA;AAAA,GACpB,EAAG,CAAC,OAAO,CAAC,CAAA;AACZ,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA,KAAA;AAAA,IACA,kBAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACF;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@messenger-box/slack-ui-mobile",
3
- "version": "10.0.3-alpha.40",
3
+ "version": "10.0.3-alpha.46",
4
4
  "description": "Slack ui ref mobile package",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -23,7 +23,7 @@
23
23
  "watch-ts": "tsc --watch"
24
24
  },
25
25
  "dependencies": {
26
- "@messenger-box/platform-mobile": "10.0.3-alpha.40"
26
+ "@messenger-box/platform-mobile": "10.0.3-alpha.46"
27
27
  },
28
28
  "devDependencies": {
29
29
  "cp-cli": "^2.0.0"
@@ -48,5 +48,5 @@
48
48
  "typescript": {
49
49
  "definition": "lib/index.d.ts"
50
50
  },
51
- "gitHead": "9bcf95cbd1dfac789e71d3031fd44b8cf7add6ce"
51
+ "gitHead": "5bc321d4000aa9d26ae0bdad9461598851b75174"
52
52
  }
@@ -1,226 +0,0 @@
1
- import {setup,assign}from'xstate';import {orderBy,uniqBy}from'lodash-es';var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var Actions = /* @__PURE__ */ ((Actions2) => {
21
- Actions2["INITIAL_CONTEXT"] = "INITIAL_CONTEXT";
22
- Actions2["ERROR_HANDLED"] = "ERROR_HANDLED";
23
- Actions2["SET_TEAMS"] = "SET_TEAMS";
24
- Actions2["SEARCH_TEAMS"] = "SEARCH_TEAMS";
25
- Actions2["CLEAR_DATA"] = "CLEAR_DATA";
26
- Actions2["START_LOADING"] = "START_LOADING";
27
- Actions2["STOP_LOADING"] = "STOP_LOADING";
28
- Actions2["REFETCH_TEAMS"] = "REFETCH_TEAMS";
29
- Actions2["ERROR"] = "ERROR";
30
- return Actions2;
31
- })(Actions || {});
32
- const teamsMachine = setup({
33
- types: {
34
- context: {},
35
- events: {}
36
- },
37
- actions: {
38
- errorState: assign(({
39
- context,
40
- event
41
- }) => {
42
- var _a;
43
- return __spreadProps(__spreadValues({}, context), {
44
- error: ((_a = event.data) == null ? void 0 : _a.message) || "An error occurred",
45
- loading: false,
46
- teamsLoading: false
47
- });
48
- }),
49
- handleEmptyData: assign(({
50
- context
51
- }) => {
52
- return __spreadProps(__spreadValues({}, context), {
53
- loading: false,
54
- teamsLoading: false
55
- });
56
- }),
57
- setInitialContext: assign(({
58
- context,
59
- event
60
- }) => {
61
- var _a;
62
- return __spreadProps(__spreadValues({}, context), {
63
- orgName: ((_a = event.data) == null ? void 0 : _a.orgName) || null,
64
- loading: true,
65
- teamsLoading: true
66
- });
67
- }),
68
- setTeams: assign(({
69
- context,
70
- event
71
- }) => {
72
- var _a;
73
- const orgTeamsData = ((_a = event.data) == null ? void 0 : _a.teams) || [];
74
- const sortedTeams = orgTeamsData.length > 0 ? orderBy(orgTeamsData, [(tm) => tm == null ? void 0 : tm.title.toLowerCase()], ["asc"]) : [];
75
- const uniqueTeams = uniqBy([...sortedTeams, ...context.teams], ({
76
- _id
77
- }) => _id);
78
- return __spreadProps(__spreadValues({}, context), {
79
- teams: uniqueTeams,
80
- initialTeams: uniqueTeams,
81
- teamsLoading: false,
82
- loading: false
83
- });
84
- }),
85
- searchTeams: assign(({
86
- context,
87
- event
88
- }) => {
89
- var _a;
90
- const searchTerm = ((_a = event.data) == null ? void 0 : _a.searchTerm) || "";
91
- let filteredTeams = context.initialTeams;
92
- if (searchTerm) {
93
- filteredTeams = context.initialTeams.filter((team) => {
94
- var _a2;
95
- return (_a2 = team == null ? void 0 : team.title) == null ? void 0 : _a2.toLowerCase().includes(searchTerm.toLowerCase());
96
- });
97
- }
98
- return __spreadProps(__spreadValues({}, context), {
99
- teams: filteredTeams,
100
- searchTerm
101
- });
102
- }),
103
- clearData: assign(({
104
- context
105
- }) => {
106
- return __spreadProps(__spreadValues({}, context), {
107
- teams: [],
108
- initialTeams: []
109
- });
110
- }),
111
- startLoading: assign(({
112
- context
113
- }) => {
114
- return __spreadProps(__spreadValues({}, context), {
115
- loading: true
116
- });
117
- }),
118
- stopLoading: assign(({
119
- context
120
- }) => {
121
- return __spreadProps(__spreadValues({}, context), {
122
- loading: false,
123
- teamsLoading: false
124
- });
125
- }),
126
- startTeamsLoading: assign(({
127
- context
128
- }) => {
129
- return __spreadProps(__spreadValues({}, context), {
130
- teamsLoading: true
131
- });
132
- })
133
- },
134
- schemas: {
135
- events: {
136
- type: "object",
137
- properties: {
138
- type: {
139
- type: "string"
140
- },
141
- data: {
142
- type: "object"
143
- }
144
- },
145
- required: ["type"]
146
- }
147
- }
148
- }).createMachine({
149
- id: "teams-component",
150
- initial: "idle" /* Idle */,
151
- context: {
152
- orgName: null,
153
- teams: [],
154
- initialTeams: [],
155
- searchTerm: "",
156
- loading: false,
157
- teamsLoading: false,
158
- error: null
159
- },
160
- states: {
161
- ["idle" /* Idle */]: {
162
- on: {
163
- ["INITIAL_CONTEXT" /* INITIAL_CONTEXT */]: {
164
- target: "fetchData" /* FetchData */,
165
- actions: ["setInitialContext"]
166
- },
167
- ["REFETCH_TEAMS" /* REFETCH_TEAMS */]: {
168
- target: "refetchTeams" /* RefetchTeams */,
169
- actions: ["startTeamsLoading"]
170
- },
171
- ["SEARCH_TEAMS" /* SEARCH_TEAMS */]: {
172
- target: "idle" /* Idle */,
173
- actions: ["searchTeams"]
174
- },
175
- ["CLEAR_DATA" /* CLEAR_DATA */]: {
176
- target: "idle" /* Idle */,
177
- actions: ["clearData"]
178
- },
179
- ["START_LOADING" /* START_LOADING */]: {
180
- target: "idle" /* Idle */,
181
- actions: ["startLoading"]
182
- },
183
- ["STOP_LOADING" /* STOP_LOADING */]: {
184
- target: "idle" /* Idle */,
185
- actions: ["stopLoading"]
186
- }
187
- }
188
- },
189
- ["error" /* Error */]: {
190
- entry: ["errorState"],
191
- on: {
192
- ["ERROR_HANDLED" /* ERROR_HANDLED */]: {
193
- target: "idle" /* Idle */
194
- }
195
- }
196
- },
197
- ["fetchData" /* FetchData */]: {
198
- on: {
199
- ["SET_TEAMS" /* SET_TEAMS */]: {
200
- target: "idle" /* Idle */,
201
- actions: ["setTeams"]
202
- },
203
- ["ERROR" /* ERROR */]: {
204
- target: "error" /* Error */
205
- }
206
- },
207
- after: {
208
- 5e3: {
209
- target: "idle" /* Idle */,
210
- actions: ["handleEmptyData"]
211
- }
212
- }
213
- },
214
- ["refetchTeams" /* RefetchTeams */]: {
215
- on: {
216
- ["SET_TEAMS" /* SET_TEAMS */]: {
217
- target: "idle" /* Idle */,
218
- actions: ["setTeams"]
219
- },
220
- ["ERROR" /* ERROR */]: {
221
- target: "error" /* Error */
222
- }
223
- }
224
- }
225
- }
226
- });export{Actions,teamsMachine};//# sourceMappingURL=Teams-xstate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Teams-xstate.js","sources":["../../../src/screens/Teams/Teams-xstate.ts"],"sourcesContent":["import { assign, setup } from 'xstate';\nimport { orderBy, uniqBy } from 'lodash-es';\n\nexport const enum Actions {\n INITIAL_CONTEXT = 'INITIAL_CONTEXT',\n ERROR_HANDLED = 'ERROR_HANDLED',\n SET_TEAMS = 'SET_TEAMS',\n SEARCH_TEAMS = 'SEARCH_TEAMS',\n CLEAR_DATA = 'CLEAR_DATA',\n START_LOADING = 'START_LOADING',\n STOP_LOADING = 'STOP_LOADING',\n REFETCH_TEAMS = 'REFETCH_TEAMS',\n ERROR = 'ERROR',\n}\n\nexport const enum BaseState {\n Idle = 'idle',\n Error = 'error',\n Loading = 'loading',\n Done = 'done',\n FetchData = 'fetchData',\n}\n\nexport const enum MainState {\n RefetchTeams = 'refetchTeams',\n SearchTeams = 'searchTeams',\n}\n\n// Define event types for better type safety\nexport type TeamsEvent =\n | { type: 'INITIAL_CONTEXT'; data?: { orgName?: string } }\n | { type: 'ERROR_HANDLED' }\n | { type: 'SET_TEAMS'; data?: { teams?: any[] } }\n | { type: 'SEARCH_TEAMS'; data?: { searchTerm?: string } }\n | { type: 'CLEAR_DATA' }\n | { type: 'START_LOADING' }\n | { type: 'STOP_LOADING' }\n | { type: 'REFETCH_TEAMS'; data?: { orgName?: string } }\n | { type: 'ERROR'; data?: { message?: string } };\n\nexport const teamsMachine = setup({\n types: {\n context: {} as {\n orgName: string | null;\n teams: any[];\n initialTeams: any[];\n searchTerm: string;\n loading: boolean;\n teamsLoading: boolean;\n error: string | null;\n },\n events: {} as TeamsEvent,\n },\n actions: {\n errorState: assign(({ context, event }: { context: any; event: any }) => {\n return {\n ...context,\n error: event.data?.message || 'An error occurred',\n loading: false,\n teamsLoading: false,\n };\n }),\n handleEmptyData: assign(({ context }: { context: any }) => {\n return {\n ...context,\n loading: false,\n teamsLoading: false,\n };\n }),\n setInitialContext: assign(({ context, event }: { context: any; event: any }) => {\n return {\n ...context,\n orgName: event.data?.orgName || null,\n loading: true,\n teamsLoading: true,\n };\n }),\n setTeams: assign(({ context, event }: { context: any; event: any }) => {\n const orgTeamsData = event.data?.teams || [];\n const sortedTeams =\n orgTeamsData.length > 0 ? orderBy(orgTeamsData, [(tm: any) => tm?.title.toLowerCase()], ['asc']) : [];\n\n const uniqueTeams = uniqBy([...sortedTeams, ...context.teams], ({ _id }) => _id);\n\n return {\n ...context,\n teams: uniqueTeams,\n initialTeams: uniqueTeams,\n teamsLoading: false,\n loading: false,\n };\n }),\n searchTeams: assign(({ context, event }: { context: any; event: any }) => {\n const searchTerm = event.data?.searchTerm || '';\n let filteredTeams = context.initialTeams;\n\n if (searchTerm) {\n filteredTeams = context.initialTeams.filter((team: any) =>\n team?.title?.toLowerCase().includes(searchTerm.toLowerCase()),\n );\n }\n\n return {\n ...context,\n teams: filteredTeams,\n searchTerm,\n };\n }),\n clearData: assign(({ context }) => {\n return {\n ...context,\n teams: [],\n initialTeams: [],\n };\n }),\n startLoading: assign(({ context }) => {\n return {\n ...context,\n loading: true,\n };\n }),\n stopLoading: assign(({ context }) => {\n return {\n ...context,\n loading: false,\n teamsLoading: false,\n };\n }),\n startTeamsLoading: assign(({ context }) => {\n return {\n ...context,\n teamsLoading: true,\n };\n }),\n },\n schemas: {\n events: {\n type: 'object',\n properties: {\n type: { type: 'string' },\n data: { type: 'object' },\n },\n required: ['type'],\n },\n },\n}).createMachine({\n id: 'teams-component',\n initial: BaseState.Idle,\n context: {\n orgName: null,\n teams: [],\n initialTeams: [],\n searchTerm: '',\n loading: false,\n teamsLoading: false,\n error: null,\n },\n states: {\n [BaseState.Idle]: {\n on: {\n [Actions.INITIAL_CONTEXT]: {\n target: BaseState.FetchData,\n actions: ['setInitialContext'],\n },\n [Actions.REFETCH_TEAMS]: {\n target: MainState.RefetchTeams,\n actions: ['startTeamsLoading'],\n },\n [Actions.SEARCH_TEAMS]: {\n target: BaseState.Idle,\n actions: ['searchTeams'],\n },\n [Actions.CLEAR_DATA]: {\n target: BaseState.Idle,\n actions: ['clearData'],\n },\n [Actions.START_LOADING]: {\n target: BaseState.Idle,\n actions: ['startLoading'],\n },\n [Actions.STOP_LOADING]: {\n target: BaseState.Idle,\n actions: ['stopLoading'],\n },\n },\n },\n [BaseState.Error]: {\n entry: ['errorState'],\n on: {\n [Actions.ERROR_HANDLED]: {\n target: BaseState.Idle,\n },\n },\n },\n [BaseState.FetchData]: {\n on: {\n [Actions.SET_TEAMS]: {\n target: BaseState.Idle,\n actions: ['setTeams'],\n },\n [Actions.ERROR]: {\n target: BaseState.Error,\n },\n },\n after: {\n 5000: {\n target: BaseState.Idle,\n actions: ['handleEmptyData'],\n },\n },\n },\n [MainState.RefetchTeams]: {\n on: {\n [Actions.SET_TEAMS]: {\n target: BaseState.Idle,\n actions: ['setTeams'],\n },\n [Actions.ERROR]: {\n target: BaseState.Error,\n },\n },\n },\n },\n});\n"],"names":["Actions","_a"],"mappings":"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"}