Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3473 | Rev 3661 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3452 stevensc 1
import React from 'react';
3475 stevensc 2
import { useNavigate } from 'react-router-dom';
3452 stevensc 3
import { useSelector } from 'react-redux';
4
 
5
import { useKnowledges } from '../hooks';
6
 
3469 stevensc 7
import { Grid, PageHeader, Pagination, SearchBar, Spinner } from '@shared/components';
3462 stevensc 8
import { KnowledgeCard } from '@knowledges/components';
3452 stevensc 9
 
10
export default function KnowledgesPage() {
3475 stevensc 11
  const navigate = useNavigate();
3452 stevensc 12
  const labels = useSelector(({ intl }) => intl.labels);
13
 
14
  const {
15
    loading,
16
    knowledges,
17
    // categories,
3473 stevensc 18
    linkAdd,
3452 stevensc 19
    page,
20
    pages,
21
    setPage,
22
    addKnowledge,
23
    searchKnowledge,
24
    editKnowledge,
25
    deleteKnowledge
26
  } = useKnowledges();
27
 
28
  return (
29
    <>
30
      <PageHeader
31
        title={labels.knowledge_area_title}
3473 stevensc 32
        onAdd={linkAdd ? () => addKnowledge(linkAdd) : null}
3452 stevensc 33
        labelAdd={labels.knowledge_area_add}
34
      />
35
 
3459 stevensc 36
      <SearchBar onChange={searchKnowledge} />
3452 stevensc 37
 
3459 stevensc 38
      {loading ? (
39
        <Spinner />
40
      ) : (
3462 stevensc 41
        <Grid
42
          items={knowledges}
43
          emptyMessage={labels.error_no_record_matched_your_query}
44
          renderItem={(knowledge) => (
3475 stevensc 45
            <KnowledgeCard
46
              key={knowledge.link_view}
47
              knowledge={knowledge}
48
              onClick={() => navigate(knowledge.link_view)}
49
              onEdit={() => editKnowledge(knowledge.link_edit)}
50
              onDelete={() => deleteKnowledge(knowledge.link_delete)}
51
            />
3462 stevensc 52
          )}
53
        />
3459 stevensc 54
      )}
3452 stevensc 55
 
56
      <Pagination page={page} pages={pages} onChange={setPage} />
57
    </>
58
  );
59
}