Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
7774 stevensc 1
import React, { useState } from 'react'
2
import LocationModal from './LocationModal'
8052 stevensc 3
import DeleteModal from '../../../shared/DeleteModal'
6002 stevensc 4
 
7774 stevensc 5
const Location = ({ locations = [], googleApiKey, locationsAddUrl }) => {
6002 stevensc 6
 
7774 stevensc 7
    const [actionUrl, setActionUrl] = useState(locationsAddUrl)
7776 stevensc 8
    const [defaultData, setDefaultData] = useState('')
7774 stevensc 9
    const [showModal, setShowModal] = useState(false)
8051 stevensc 10
    const [showDeleteModal, setShowDeleteModal] = useState(false)
11
    const [deleteLink, setDeleteLink] = useState('')
6002 stevensc 12
 
7775 stevensc 13
    const addLocation = (url) => {
14
        setShowModal(true)
15
        setActionUrl(url)
16
    }
17
 
7776 stevensc 18
    const editLocation = (url, item) => {
7774 stevensc 19
        setShowModal(true)
20
        setActionUrl(url)
7776 stevensc 21
        setDefaultData(item)
7774 stevensc 22
    }
23
 
24
    const closeModal = () => setShowModal(false)
8051 stevensc 25
    const closeDeleteModal = () => setShowDeleteModal(false)
7774 stevensc 26
 
8051 stevensc 27
    const deleteLocation = (url) => {
28
        setShowDeleteModal(true)
29
        setDeleteLink(url)
30
    }
6002 stevensc 31
 
32
    return (
7774 stevensc 33
        <>
34
            <div className="user-profile-extended-ov st2">
35
                <h3>
36
                    Ubicaciones
7775 stevensc 37
                    <button
38
                        className="btn btn-location-add"
39
                        onClick={() => addLocation(locationsAddUrl)}
40
                    >
7774 stevensc 41
                        <i className="fa fa-plus-square" />
42
                    </button>
43
                </h3>
44
                <span id="locations-records">
45
                    {
46
                        locations.map((location, index) => (
47
                            <>
48
                                <p key={index}>
49
                                    {location.formatted_address}
50
                                    {location.is_main === 'y' ? " (Principal)" : ""}
51
                                    <button
7777 stevensc 52
                                        onClick={() => editLocation(location.link_edit, location)}
7774 stevensc 53
                                        className="btn btn-location-edit"
54
                                        style={{ padding: '.3rem' }}
55
                                    >
56
                                        <i className="fa fa-pencil" />
57
                                    </button>
58
                                    <button
59
                                        onClick={() => deleteLocation(location.link_delete)}
60
                                        className="btn btn-location-delete"
61
                                        style={{ padding: '.3rem' }}
62
                                    >
63
                                        <i className="fa fa-trash" />
64
                                    </button>
65
                                </p>
66
                                {
67
                                    locations[index + 1] && <hr />
68
                                }
69
                            </>
70
                        ))
71
                    }
72
                </span>
73
            </div >
74
            {
75
                showModal
76
                &&
77
                <LocationModal
78
                    closeModal={closeModal}
79
                    dataLink={actionUrl}
80
                    googleApiKey={googleApiKey}
7776 stevensc 81
                    defaultData={defaultData}
7774 stevensc 82
                />
83
            }
8051 stevensc 84
            {
85
                showDeleteModal
86
                &&
87
                <DeleteModal
88
                    url={deleteLink}
89
                    isOpen={showDeleteModal}
90
                    closeModal={closeDeleteModal}
91
                    title={`Esta seguro de eliminar esta ubicación?`}
92
                    onComplete={() => deleteLocation(locationToDelete)}
93
                    message={`Ubicación eliminada`}
94
                />
95
            }
7774 stevensc 96
        </>
6002 stevensc 97
    )
98
}
99
 
100
export default Location