Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3607 | Rev 3642 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 3607 Rev 3610
Línea 1... Línea 1...
1
import { useEffect, useState, useCallback } from 'react';
1
import { useEffect, useState, useCallback } from 'react';
Línea 2... Línea 2...
2
 
2
 
3
import { useApi } from './useApi';
3
import { useApi } from './useApi';
4
import { getMessages } from '@inmail/services';
4
import { useAlert } from './useAlert';
5
import { useInfinityScroll } from './useInfinityScroll';
-
 
6
 
-
 
7
/* const paginationResponseExample = {
-
 
8
  success: true,
-
 
9
  data: [
-
 
10
    {
-
 
11
      uuid: 'b18afb55-d40e-4fd9-95a6-324a7f45e57f',
-
 
12
      sender_name: 'Cesa Managment Solution',
-
 
13
      sender_image:
-
 
14
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
15
      sender_profile: '/profile/view/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
16
      receiver_name: 'Santiago Olivera',
-
 
17
      receiver_image:
-
 
18
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
19
      receiver_profile: '/profile/view/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
20
      side: 'right',
-
 
21
      message: '',
-
 
22
      type: 'image',
-
 
23
      filename:
-
 
24
        'https://dev-services.leaderslinked.com/storage/b18afb55-d40e-4fd9-95a6-324a7f45e57f',
-
 
25
      date: 'hace 1 año',
-
 
26
      url_abuse_report:
-
 
27
        'https://dev-services.leaderslinked.com/helpers/abuse-report/message/b18afb55-d40e-4fd9-95a6-324a7f45e57f'
-
 
28
    },
-
 
29
    {
-
 
30
      uuid: 'c3b3c887-9f88-4a36-a7c8-c417f5da80ff',
-
 
31
      sender_name: 'Cesa Managment Solution',
-
 
32
      sender_image:
-
 
33
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
34
      sender_profile: '/profile/view/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
35
      receiver_name: 'Santiago Olivera',
-
 
36
      receiver_image:
-
 
37
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
38
      receiver_profile: '/profile/view/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
39
      side: 'right',
-
 
40
      message: 'Buenas tardes',
-
 
41
      type: 'text',
-
 
42
      filename: '',
-
 
43
      date: 'hace 1 año',
-
 
44
      url_abuse_report:
-
 
45
        'https://dev-services.leaderslinked.com/helpers/abuse-report/message/c3b3c887-9f88-4a36-a7c8-c417f5da80ff'
-
 
46
    },
-
 
47
    {
-
 
48
      uuid: '59120c84-335f-424c-8990-db51ae7bd673',
-
 
49
      sender_name: 'Santiago Olivera',
-
 
50
      sender_image:
-
 
51
        'https://dev-services.leaderslinked.com/storage/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
52
      sender_profile: '/profile/view/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
53
      receiver_name: 'Cesa Managment Solution',
-
 
54
      receiver_image:
-
 
55
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
56
      receiver_profile: '/profile/view/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
57
      side: 'left',
-
 
58
      message: '',
-
 
59
      type: 'image',
-
 
60
      filename:
-
 
61
        'https://dev-services.leaderslinked.com/storage/59120c84-335f-424c-8990-db51ae7bd673',
-
 
62
      date: 'hace 1 año',
-
 
63
      url_abuse_report: ''
-
 
64
    },
-
 
65
    {
-
 
66
      uuid: '71c1356d-b5dc-413a-8f8e-ed087f99b6e3',
-
 
67
      sender_name: 'Santiago Olivera',
-
 
68
      sender_image:
-
 
69
        'https://dev-services.leaderslinked.com/storage/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
70
      sender_profile: '/profile/view/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
71
      receiver_name: 'Cesa Managment Solution',
-
 
72
      receiver_image:
-
 
73
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
74
      receiver_profile: '/profile/view/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
75
      side: 'left',
5
import { useInfinityScroll } from './useInfinityScroll';
76
      message: 'buenas tardes',
-
 
77
      type: 'text',
-
 
78
      filename: '',
-
 
79
      date: 'hace 1 año',
-
 
80
      url_abuse_report: ''
-
 
81
    },
-
 
82
    {
-
 
83
      uuid: 'c484b564-3d69-42bf-b6c4-12dfa6230614',
-
 
84
      sender_name: 'Santiago Olivera',
-
 
85
      sender_image:
-
 
86
        'https://dev-services.leaderslinked.com/storage/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
87
      sender_profile: '/profile/view/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
88
      receiver_name: 'Cesa Managment Solution',
-
 
89
      receiver_image:
-
 
90
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
91
      receiver_profile: '/profile/view/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
92
      side: 'left',
-
 
93
      message: 'Test',
-
 
94
      type: 'text',
-
 
95
      filename: '',
-
 
96
      date: 'hace 1 año',
-
 
97
      url_abuse_report: ''
-
 
98
    },
-
 
99
    {
-
 
100
      uuid: 'f29723fd-dc2a-4b06-8c8e-e0e0cfe36cd1',
-
 
101
      sender_name: 'Cesa Managment Solution',
-
 
102
      sender_image:
-
 
103
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
104
      sender_profile: '/profile/view/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
105
      receiver_name: 'Santiago Olivera',
-
 
106
      receiver_image:
-
 
107
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
108
      receiver_profile: '/profile/view/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
109
      side: 'right',
-
 
110
      message:
-
 
111
        'buenas tardes\r\n\r\nbuenas tardesbuenas tardes\r\n\r\nbuenas tardesbuenas tardes\r\n\r\nbuenas tardesbuenas tardesbuenas tardes',
-
 
112
      type: 'document',
-
 
113
      filename:
-
 
114
        'https://dev-services.leaderslinked.com/storage/f29723fd-dc2a-4b06-8c8e-e0e0cfe36cd1',
-
 
115
      date: 'hace 1 año',
-
 
116
      url_abuse_report:
-
 
117
        'https://dev-services.leaderslinked.com/helpers/abuse-report/message/f29723fd-dc2a-4b06-8c8e-e0e0cfe36cd1'
-
 
118
    },
-
 
119
    {
-
 
120
      uuid: '86453fcf-ac3b-4228-9007-9dbf100976ef',
-
 
121
      sender_name: 'Cesa Managment Solution',
-
 
122
      sender_image:
-
 
123
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
124
      sender_profile: '/profile/view/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
125
      receiver_name: 'Santiago Olivera',
-
 
126
      receiver_image:
-
 
127
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
128
      receiver_profile: '/profile/view/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
129
      side: 'right',
-
 
130
      message:
-
 
131
        'hola,hola,hola,hola,hola,hola,hola,\r\nhola,hola,hola,\r\n\r\nhola,hola,\r\nhola,hola,hola,\r\n\r\nhola,hola,hola,',
-
 
132
      type: 'image',
-
 
133
      filename:
-
 
134
        'https://dev-services.leaderslinked.com/storage/86453fcf-ac3b-4228-9007-9dbf100976ef',
-
 
135
      date: 'hace 1 año',
-
 
136
      url_abuse_report:
-
 
137
        'https://dev-services.leaderslinked.com/helpers/abuse-report/message/86453fcf-ac3b-4228-9007-9dbf100976ef'
-
 
138
    }
-
 
139
  ],
-
 
140
  pagination: {
-
 
141
    pageCount: 1,
-
 
142
    itemCountPerPage: 10,
-
 
143
    first: 1,
-
 
144
    current: 1,
-
 
145
    last: 1,
-
 
146
    pagesInRange: {
-
 
147
      1: 1
-
 
148
    },
-
 
149
    firstPageInRange: 1,
-
 
150
    lastPageInRange: 1,
-
 
151
    currentItemCount: 7,
-
 
152
    totalItemCount: 7,
-
 
153
    firstItemNumber: 1,
-
 
154
    lastItemNumber: 7
-
 
155
  }
-
 
Línea 156... Línea 6...
156
}; */
6
import { getMessages } from '@inmail/services';
157
 
7
 
158
export function usePagination(url) {
8
export function usePagination(url) {
159
  const [items, setItems] = useState([]);
9
  const [items, setItems] = useState([]);
Línea -... Línea 10...
-
 
10
  const [page, setPage] = useState(1);
-
 
11
  const [totalPages, setTotalPages] = useState(1);
160
  const [page, setPage] = useState(1);
12
 
-
 
13
  const { showError } = useAlert();
-
 
14
 
-
 
15
  const { data, loading, execute } = useApi(getMessages, {
-
 
16
    onError: (error) => {
Línea 161... Línea 17...
161
  const [totalPages, setTotalPages] = useState(1);
17
      showError(error.message);
162
 
18
    }
163
  const { data, error, execute, loading } = useApi(getMessages);
19
  });
164
 
20
 
Línea 192... Línea 48...
192
  }, [url]);
48
  }, [url]);
Línea 193... Línea 49...
193
 
49
 
194
  useEffect(() => {
50
  useEffect(() => {
195
    if (data) {
51
    if (data) {
196
      setItems((prevItems) => {
52
      setItems((prevItems) => {
197
        if (page > 1) {
53
        if (data.current.page > 1) {
198
          return [...prevItems, ...data.current.items];
54
          return [...prevItems, ...data.current.items];
199
        } else {
55
        } else {
200
          return data.current.items;
56
          return data.current.items;
201
        }
57
        }
Línea 202... Línea 58...
202
      });
58
      });
203
 
59
 
204
      setTotalPages(data.total.pages);
60
      setTotalPages(data.total.pages);
Línea 205... Línea 61...
205
    }
61
    }
206
  }, [data, page]);
62
  }, [data]);
207
 
63
 
208
  return {
-
 
209
    items,
64
  return {
210
    loading,
-
 
211
    error,
65
    items,
212
    elementRef,
66
    loading,
213
    execute,
67
    elementRef,
214
    nextPage,
68
    nextPage,