Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev 3710 Rev 3713
Línea 5... Línea 5...
5
  Box,
5
  Box,
6
  Drawer as MuiDrawer,
6
  Drawer as MuiDrawer,
7
  List,
7
  List,
8
  ListItem,
8
  ListItem,
9
  ListItemButton,
9
  ListItemButton,
10
  ListItemIcon,
-
 
11
  ListItemText,
10
  ListItemText,
12
  Accordion,
11
  Accordion,
13
  AccordionSummary,
12
  AccordionSummary,
14
  AccordionDetails,
13
  AccordionDetails,
15
  Typography
14
  Typography
Línea 23... Línea 22...
23
  return (
22
  return (
24
    <MuiDrawer anchor='right' open={show} onClose={onClose}>
23
    <MuiDrawer anchor='right' open={show} onClose={onClose}>
25
      <Box role='presentation' onClick={onClose}>
24
      <Box role='presentation' onClick={onClose}>
26
        <List>
25
        <List>
27
          {items.map((item) => (
26
          {items.map((item) => (
-
 
27
            <ListItem key={item.href}>
28
            <RenderMenuItem key={item.href} item={item} onClose={onClose} />
28
              <RenderMenuItem item={item} onClose={onClose} />
-
 
29
            </ListItem>
29
          ))}
30
          ))}
30
        </List>
31
        </List>
31
      </Box>
32
      </Box>
32
    </MuiDrawer>
33
    </MuiDrawer>
33
  );
34
  );
34
};
35
};
Línea 35... Línea 36...
35
 
36
 
36
const RenderMenuItem = ({ item, onClose }) => {
37
const RenderMenuItem = ({ item, onClose }) => {
37
  if (item.childs?.length) {
-
 
38
    return (
-
 
39
      <ListItem sx={{ padding: '0 !important' }}>
38
  if (item.childs && item.childs.length > 0) {
40
        <AccordionItem item={item} onClose={onClose} />
-
 
41
      </ListItem>
-
 
42
    );
39
    return <AccordionItem item={item} onClose={onClose} />;
Línea 43... Línea -...
43
  }
-
 
44
 
-
 
45
  return (
40
  }
46
    <ListItem sx={{ padding: '8px 16px !important' }}>
-
 
47
      <MenuDrawerItem item={item} onClose={onClose} />
-
 
48
    </ListItem>
41
 
Línea 49... Línea 42...
49
  );
42
  return <MenuDrawerItem item={item} onClose={onClose} />;
50
};
43
};
51
 
44
 
Línea 52... Línea 45...
52
const MenuDrawerItem = ({ item: { label, href, ajax, icon: Icon }, onClose }) => {
45
const MenuDrawerItem = ({ item: { label, href, ajax }, onClose }) => {
53
  const navigate = useNavigate();
46
  const navigate = useNavigate();
Línea 74... Línea 67...
74
      navigate(href);
67
      navigate(href);
75
    }
68
    }
76
  };
69
  };
Línea 77... Línea 70...
77
 
70
 
78
  return (
-
 
79
    <ListItemButton
71
  return (
80
      onClick={handleClick}
-
 
81
      sx={{ display: 'flex', alignItems: 'center', gap: 1, width: '100%', padding: 0 }}
-
 
82
    >
-
 
83
      {Icon && (
-
 
84
        <ListItemIcon>
-
 
85
          <Icon />
-
 
86
        </ListItemIcon>
-
 
87
      )}
72
    <ListItemButton onClick={handleClick}>
88
      <ListItemText primary={label} />
73
      <ListItemText primary={label} />
89
    </ListItemButton>
74
    </ListItemButton>
90
  );
75
  );
Línea 91... Línea 76...
91
};
76
};
92
 
77
 
93
const AccordionItem = ({ item: { label, childs, icon: Icon }, onClose }) => {
78
const AccordionItem = ({ item: { label, childs }, onClose }) => {
94
  const handleAccordionClick = (e) => {
79
  const handleAccordionClick = (e) => {
Línea 95... Línea 80...
95
    e.stopPropagation();
80
    e.stopPropagation();
96
  };
81
  };
97
 
-
 
98
  return (
-
 
99
    <Accordion
-
 
100
      disableGutters
-
 
101
      elevation={0}
-
 
102
      sx={{
-
 
103
        width: '100%',
-
 
104
        '&::before': {
-
 
105
          display: 'none'
-
 
106
        }
-
 
107
      }}
-
 
108
    >
82
 
109
      <AccordionSummary
-
 
110
        expandIcon={<ExpandMore />}
-
 
111
        onClick={handleAccordionClick}
-
 
112
        sx={{
-
 
113
          padding: '8px 16px !important',
-
 
114
          '& .MuiAccordionSummary-content': {
-
 
115
            margin: 0
-
 
116
          }
-
 
117
        }}
-
 
118
      >
83
  return (
119
        <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>
-
 
120
          {Icon && <Icon />}
84
    <Accordion>
Línea 121... Línea 85...
121
          <Typography margin='0'>{label}</Typography>
85
      <AccordionSummary expandIcon={<ExpandMore />} onClick={handleAccordionClick}>
122
        </Box>
86
        <Typography>{label}</Typography>
123
      </AccordionSummary>
87
      </AccordionSummary>
124
 
-
 
125
      <AccordionDetails sx={{ padding: 0 }}>
-
 
126
        <List disablePadding>
88
 
127
          {childs.map((child) => (
89
      <AccordionDetails>
128
            <RenderMenuItem
90
        <List>
129
              key={child.href || child.label}
-
 
130
              item={child}
91
          {childs.map((child) => (
131
              onClose={onClose}
92
            <ListItem key={child.href}>
132
              isSubItem
93
              <RenderMenuItem item={child} onClose={onClose} />
133
            />
94
            </ListItem>
134
          ))}
95
          ))}