Proyectos de Subversion LeadersLinked - Backend

Rev

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