1.7.14 • Published 11 months ago

vue-laravel-crud v1.7.14

Weekly downloads
-
License
-
Repository
-
Last release
11 months 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.7.9

12 months ago

1.7.8

12 months ago

1.7.7

1 year ago

1.7.5

1 year ago

1.7.4

1 year ago

1.7.10

12 months ago

1.7.11

12 months ago

1.7.12

12 months ago

1.7.13

11 months ago

1.7.14

11 months ago

1.6.22

1 year ago

1.6.24

1 year ago

1.6.23

1 year ago

1.6.26

1 year ago

1.6.25

1 year ago

1.6.28

1 year ago

1.6.27

1 year ago

1.7.3

1 year ago

1.7.2

1 year ago

1.7.1

1 year ago

1.7.0

1 year ago

1.6.20

1 year ago

1.6.21

1 year ago

1.6.19

1 year ago

1.6.13

1 year ago

1.6.12

1 year ago

1.6.15

1 year ago

1.6.14

1 year ago

1.6.17

1 year ago

1.6.16

1 year ago

1.6.9

1 year ago

1.6.8

1 year ago

1.6.7

1 year ago

1.6.10

1 year ago

1.6.6

1 year ago

1.6.5

1 year ago

1.6.4

1 year ago

1.6.3

1 year ago

1.6.2

1 year ago

1.6.1

1 year ago

1.6.0

1 year ago

1.5.13

1 year ago

1.5.12

1 year ago

1.5.11

1 year ago

1.5.9

2 years ago

1.5.8

2 years ago

1.5.7

2 years ago

1.5.5

2 years ago

1.5.4

2 years ago

1.5.3

2 years ago

1.5.2

2 years ago

1.5.1

2 years ago

1.5.0

2 years ago

1.4.71

2 years ago

1.5.6

2 years ago

1.4.39

2 years ago

1.4.38

2 years ago

1.4.60

2 years ago

1.4.62

2 years ago

1.4.61

2 years ago

1.4.64

2 years ago

1.4.63

2 years ago

1.4.66

2 years ago

1.4.65

2 years ago

1.4.68

2 years ago

1.4.67

2 years ago

1.4.69

2 years ago

1.4.70

2 years ago

1.4.40

2 years ago

1.4.42

2 years ago

1.4.41

2 years ago

1.4.44

2 years ago

1.4.43

2 years ago

1.4.46

2 years ago

1.4.45

2 years ago

1.4.48

2 years ago

1.4.47

2 years ago

1.4.49

2 years ago

1.4.51

2 years ago

1.4.50

2 years ago

1.4.53

2 years ago

1.4.52

2 years ago

1.4.54

2 years ago

1.4.57

2 years ago

1.4.56

2 years ago

1.4.59

2 years ago

1.4.58

2 years ago

1.4.20

2 years ago

1.4.22

2 years ago

1.4.21

2 years ago

1.4.24

2 years ago

1.4.23

2 years ago

1.4.26

2 years ago

1.4.25

2 years ago

1.4.28

2 years ago

1.4.27

2 years ago

1.4.29

2 years ago

1.4.31

2 years ago

1.4.30

2 years ago

1.4.33

2 years ago

1.4.32

2 years ago

1.4.35

2 years ago

1.4.34

2 years ago

1.4.37

2 years ago

1.4.36

2 years ago

1.4.11

2 years ago

1.4.10

2 years ago

1.4.13

2 years ago

1.4.12

2 years ago

1.4.15

2 years ago

1.4.14

2 years ago

1.4.17

2 years ago

1.4.16

2 years ago

1.4.19

2 years ago

1.4.18

2 years ago

1.4.6

2 years ago

1.4.5

2 years ago

1.4.4

2 years ago

1.4.2

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.10

2 years ago

1.3.13

2 years ago

1.3.14

2 years ago

1.3.11

2 years ago

1.3.12

2 years ago

1.3.17

2 years ago

1.3.18

2 years ago

1.3.15

2 years ago

1.3.16

2 years ago

1.3.19

2 years ago

1.4.9

2 years ago

1.4.8

2 years ago

1.4.7

2 years ago

1.3.9

3 years ago

1.3.8

3 years ago

1.3.7

3 years ago

1.3.6

3 years ago

1.3.5

3 years ago

1.3.4

3 years ago

1.3.3

3 years ago

1.3.2

3 years ago

1.3.1

3 years ago

1.2.6

4 years ago

1.2.5

4 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.39

4 years ago

1.1.40

4 years ago

1.1.38

4 years ago

1.1.34

4 years ago

1.1.37

4 years ago

1.1.36

4 years ago

1.1.35

4 years ago

1.1.33

4 years ago

1.1.32

4 years ago

1.1.29

4 years ago

1.1.28

4 years ago

1.1.30

4 years ago

1.1.27

4 years ago

1.1.19

4 years ago

1.1.23

4 years ago

1.1.22

4 years ago

1.1.21

4 years ago

1.1.20

4 years ago

1.1.26

4 years ago

1.1.25

4 years ago

1.1.24

4 years ago

1.1.18

4 years ago

1.1.17

4 years ago

1.1.12

4 years ago

1.1.16

4 years ago

1.1.15

4 years ago

1.1.14

4 years ago

1.1.13

4 years ago

1.1.9

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.11

4 years ago

1.1.10

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.26

4 years ago

1.0.29

4 years ago

1.0.28

4 years ago

1.0.27

4 years ago

1.0.33

4 years ago

1.0.32

4 years ago

1.0.31

4 years ago

1.0.30

4 years ago

1.0.19

4 years ago

1.0.2

4 years ago

1.0.18

4 years ago

1.0.1

4 years ago

1.0.17

4 years ago

1.0.16

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.22

4 years ago

1.0.21

4 years ago

1.0.25

4 years ago

1.0.24

4 years ago

1.0.23

4 years ago

1.0.11

4 years ago

1.0.10

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.12

4 years ago

1.0.0

4 years ago