1.6.17 • Published 14 days ago

vue-laravel-crud v1.6.17

Weekly downloads
-
License
-
Repository
-
Last release
14 days ago

vue-laravel-crud

npm i vue-laravel-crud

How its work?:

This component implements a table and actions to create, modify, delete by calling a standard api

  • GET apiUrl/modelName - Retrieve paginated listing
  • POST apiUrl/modelName/:id - Create item
  • PUT apiUrl/modelName/:id - Update item
  • DELETE apiUrl/modelName/:id - Delete item

Dependency:

  • bootstrap-vue
  • axios
  • vuedraggable

Full Example:

JavaScript

import VueLaravelCrud from "vue-laravel-crud";

export default {
    
  components: { VueLaravelCrud },
  data() {
    return {
        title: "Crud Title",
        modelName: 'users'
        model: {
            name: "",
            email: "",
        },
        columns: [
            { label: "Name", prop: "name", type: "text" },
            { label: "Email", prop: "age", type: "number" },
        ],
        selected: null,
        //....
    };
  },
  methods:{
      onSelect(item){
          this.selected = item;
      }
     //....

  },

};

HTML

<vue-laravel-crud :title="title" :modelName="modelName" :model="model" :columns="columns">
    <template v-slot:form="slotProps">
        <b-form-group label="Name:" description="Your Name">
            <b-form-input
            v-model="slotProps.item.name"
            type="text"
            required
            placeholder="Name"
            ></b-form-input>
        </b-form-group>
    </template>
    <template v-slot:show="slotProps">
        <b-list-group>
            <b-list-group-item class="d-flex justify-content-between align-items-center">Id<b-badge variant="primary" pill>{{ slotProps.item.id }}</b-badge></b-list-group-item>
            <b-list-group-item class="d-flex justify-content-between align-items-center">Nombre<b-badge variant="primary" pill>{{ slotProps.item.title }}</b-badge></b-list-group-item>
        </b-list-group>
    </template>
</vue-laravel-crud>

HTML

Selected: {{ selected ? selected.name : 'none' }}
<vue-laravel-crud :title="title" :modelName="modelName" :model="model" :columns="columns" @select="onSelect($event)">

    <template slot="cell-name" slot-scope="slotProps">
            <!-- Custom Cell Template cell-(prop) -->
        <span class="bg-primary">{{ slotProps.item.name }}</span> 
    </template>


    <template v-slot:tableActions="slotProps">
        <span>Slot Actions</span>
    </template>
    <template v-slot:tableActionsRight="slotProps">
        <span>Slot Right Actions</span>
    </template>

    <template v-slot:rowAction="slotProps">
        <b-button variant="primary" @click="slotProps.showItem(slotProps.item.id, slotProps.index)"><b-icon-eye></b-icon-eye></b-button>
    </template>

    <template v-slot:form="slotProps">
        <b-form-group label="Name:" description="Your Name">
            <b-form-input
            v-model="slotProps.item.name"
            type="text"
            required
            placeholder="Name"
            ></b-form-input>
        </b-form-group>
    </template>

    <template v-slot:show="slotProps">
        <b-list-group>
            <b-list-group-item class="d-flex justify-content-between align-items-center">Id<b-badge variant="primary" pill>{{ slotProps.item.id }}</b-badge></b-list-group-item>
            <b-list-group-item class="d-flex justify-content-between align-items-center">Nombre<b-badge variant="primary" pill>{{ slotProps.item.title }}</b-badge></b-list-group-item>
        </b-list-group>
    </template>
</vue-laravel-crud>

Configuration

PropiedadDescripciónTipoValor
modelNameNombre del modeloStringrequerido (ej.: users)
modelEstructura del modeloObjectrequerido (ej.: { id: 0 })
modelsLista de modelosArrayrequerido (ej.: [])
ajaxHabilitar llamadas AJAXBooleanopcional, predeterminado: true
useVuexORMUsar Vuex ORMBooleanopcional, predeterminado: false
columnsArray de columnasArrayrequerido (ej.: [{ label:"Id", prop: "id", type: "number" }])
filterFiltros de búsquedaArrayopcional, predeterminado: []
enableFiltersHabilitar filtrosBooleanopcional, predeterminado: false
infiniteScrollDesplazamiento infinitoBooleanopcional, predeterminado: false
sortableHabilitar ordenamientoBooleanopcional, predeterminado: false
orderableHabilitar reordenamientoBooleanopcional, predeterminado: false
validateValidación de elementosBooleanopcional, predeterminado: false
orderPropPropiedad de ordenamientoStringopcional, predeterminado: "order"
createMultipartCrear elementos multipartBooleanopcional, predeterminado: false
apiUrlURL base de la APIStringopcional, predeterminado: "/api"
searchTérmino de búsquedaStringopcional, predeterminado: ""
hideModalAfterSaveOcultar modal después de guardarBooleanopcional, predeterminado: true
refreshAfterSaveActualizar después de guardarBooleanopcional, predeterminado: true
showPaginatorMostrar paginadorBooleanopcional, predeterminado: true
showCreateBtnMostrar botón de creaciónBooleanopcional, predeterminado: true
showSearchMostrar campo de búsquedaBooleanopcional, predeterminado: true
showHeaderMostrar encabezadoBooleanopcional, predeterminado: true
showTitleMostrar títuloBooleanopcional, predeterminado: true
limitElementos por páginaNumberopcional, predeterminado: 20
displayModeModo de visualizaciónNumberopcional, predeterminado: 1
displayModeTogglerHabilitar cambio de modoBooleanopcional, predeterminado: false
colXsColumnas en pantallas XSNumberopcional, predeterminado: 12
colSmColumnas en pantallas SMNumberopcional, predeterminado: 12
colMdColumnas en pantallas MDNumberopcional, predeterminado: 6
colLgColumnas en pantallas LGNumberopcional, predeterminado: 4
colXlColumnas en pantallas XLNumberopcional, predeterminado: 3
selectHoverSeleccionar al pasar el mouseBooleanopcional, predeterminado: false
selectClickSeleccionar al hacer clicBooleanopcional, predeterminado: false
cardClassClase de tarjetaStringopcional, predeterminado: ""
listContainerClassClase de contenedor de listaStringopcional, predeterminado: ""
listItemClassClase de elemento de listaStringopcional, predeterminado: ""
cardHideFooterOcultar pie de tarjetaBooleanopcional, predeterminado: false
searchPlaceholderMarcador de posición de búsquedaStringopcional, predeterminado: "Buscar..."
tableContainerClassClase de contenedor de tablaStringopcional, predeterminado: ""
tableClassClase de tablaStringopcional, predeterminado: ""
groupedAgrupar elementosBooleanopcional, predeterminado: false
groupedAttributeAtributo de agrupaciónStringopcional, predeterminado: "name"
groupedLabelPreEtiqueta de grupo anteriorStringopcional, predeterminado: ""
groupedLabelAfterEtiqueta de grupo posteriorStringopcional, predeterminado: ""
draggableGroupGrupo arrastrableStringopcional, predeterminado: "people"
draggableOptionsOpciones de arrastreObjectopcional, predeterminado: { clone: false }

Messages

PropiedadDescripciónTipoValor
messageRemoveConfirmMensaje de confirmación de eliminaciónStringopcional, predeterminado: "¿Está seguro de borrar este elemento?"
messageRemoveMensaje de eliminaciónStringopcional, predeterminado: "BORRAR"
messageNewMensaje de nuevo elementoStringopcional, predeterminado: "Nuevo"
messageEmptyResultsMensaje de resultados vacíosStringopcional, predeterminado: "No se han encontrado resultados"
messageNoMoreMensaje de fin de resultadosStringopcional, predeterminado: "No hay más elementos para mostrar."
messageLoadingMensaje de cargaStringopcional, predeterminado: "Cargando..."
messageSaveMensaje de guardarStringopcional, predeterminado: "Guardar"
messageDefaultValidationErrorMensaje de error de validación por defectoStringopcional, predeterminado: "Por favor controle el formulario, contiene errores."
1.6.13

14 days ago

1.6.12

14 days ago

1.6.15

14 days ago

1.6.14

14 days ago

1.6.17

14 days ago

1.6.16

14 days ago

1.6.9

28 days ago

1.6.8

28 days ago

1.6.7

28 days ago

1.6.10

27 days ago

1.6.6

2 months ago

1.6.5

2 months ago

1.6.4

2 months ago

1.6.3

2 months ago

1.6.2

2 months ago

1.6.1

2 months ago

1.6.0

2 months ago

1.5.13

4 months ago

1.5.12

4 months ago

1.5.11

4 months ago

1.5.9

5 months ago

1.5.8

5 months ago

1.5.7

5 months ago

1.5.5

6 months ago

1.5.4

6 months ago

1.5.3

6 months ago

1.5.2

6 months ago

1.5.1

7 months ago

1.5.0

7 months ago

1.4.71

7 months ago

1.5.6

6 months ago

1.4.39

11 months ago

1.4.38

12 months ago

1.4.60

9 months ago

1.4.62

8 months ago

1.4.61

8 months ago

1.4.64

7 months ago

1.4.63

7 months ago

1.4.66

7 months ago

1.4.65

7 months ago

1.4.68

7 months ago

1.4.67

7 months ago

1.4.69

7 months ago

1.4.70

7 months ago

1.4.40

11 months ago

1.4.42

11 months ago

1.4.41

11 months ago

1.4.44

11 months ago

1.4.43

11 months ago

1.4.46

11 months ago

1.4.45

11 months ago

1.4.48

11 months ago

1.4.47

11 months ago

1.4.49

11 months ago

1.4.51

11 months ago

1.4.50

11 months ago

1.4.53

10 months ago

1.4.52

11 months ago

1.4.54

9 months ago

1.4.57

9 months ago

1.4.56

9 months ago

1.4.59

9 months ago

1.4.58

9 months ago

1.4.20

1 year ago

1.4.22

1 year ago

1.4.21

1 year ago

1.4.24

1 year ago

1.4.23

1 year ago

1.4.26

1 year ago

1.4.25

1 year ago

1.4.28

12 months ago

1.4.27

1 year ago

1.4.29

12 months ago

1.4.31

12 months ago

1.4.30

12 months ago

1.4.33

12 months ago

1.4.32

12 months ago

1.4.35

12 months ago

1.4.34

12 months ago

1.4.37

12 months ago

1.4.36

12 months ago

1.4.11

1 year ago

1.4.10

1 year ago

1.4.13

1 year ago

1.4.12

1 year ago

1.4.15

1 year ago

1.4.14

1 year ago

1.4.17

1 year ago

1.4.16

1 year ago

1.4.19

1 year ago

1.4.18

1 year ago

1.4.6

1 year ago

1.4.5

1 year ago

1.4.4

1 year ago

1.4.2

1 year ago

1.4.1

1 year ago

1.4.0

1 year ago

1.3.10

1 year ago

1.3.13

1 year ago

1.3.14

1 year ago

1.3.11

1 year ago

1.3.12

1 year ago

1.3.17

1 year ago

1.3.18

1 year ago

1.3.15

1 year ago

1.3.16

1 year ago

1.3.19

1 year ago

1.4.9

1 year ago

1.4.8

1 year ago

1.4.7

1 year ago

1.3.9

1 year ago

1.3.8

1 year ago

1.3.7

1 year ago

1.3.6

1 year ago

1.3.5

1 year ago

1.3.4

1 year ago

1.3.3

1 year ago

1.3.2

1 year ago

1.3.1

2 years ago

1.2.6

2 years ago

1.2.5

2 years ago

1.2.4

3 years ago

1.2.3

3 years ago

1.2.2

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.1.39

3 years ago

1.1.40

3 years ago

1.1.38

3 years ago

1.1.34

3 years ago

1.1.37

3 years ago

1.1.36

3 years ago

1.1.35

3 years ago

1.1.33

3 years ago

1.1.32

3 years ago

1.1.29

3 years ago

1.1.28

3 years ago

1.1.30

3 years ago

1.1.27

3 years ago

1.1.19

3 years ago

1.1.23

3 years ago

1.1.22

3 years ago

1.1.21

3 years ago

1.1.20

3 years ago

1.1.26

3 years ago

1.1.25

3 years ago

1.1.24

3 years ago

1.1.18

3 years ago

1.1.17

3 years ago

1.1.12

3 years ago

1.1.16

3 years ago

1.1.15

3 years ago

1.1.14

3 years ago

1.1.13

3 years ago

1.1.9

3 years ago

1.1.8

3 years ago

1.1.7

3 years ago

1.1.6

3 years ago

1.1.5

3 years ago

1.1.11

3 years ago

1.1.10

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.26

3 years ago

1.0.29

3 years ago

1.0.28

3 years ago

1.0.27

3 years ago

1.0.33

3 years ago

1.0.32

3 years ago

1.0.31

3 years ago

1.0.30

3 years ago

1.0.19

3 years ago

1.0.2

3 years ago

1.0.18

3 years ago

1.0.1

3 years ago

1.0.17

3 years ago

1.0.16

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.22

3 years ago

1.0.21

3 years ago

1.0.25

3 years ago

1.0.24

3 years ago

1.0.23

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.12

3 years ago

1.0.0

3 years ago