This package includes 4 main component that combine several feature of Quasar like q-table, q-input , q-time and etc:
- EntityIndex => For list of items.
- EntityEdit => For edit information of any item of list
- EntityCreate => For create new item
- EntityShow => For show information of item
It also has:
- Portlet => You can make every customized component that you want
- EntityIndexTable => For make table in a specific structure
npm i quasar-crud
To use it in vue files, you need to import the component you want and use it like a regular component, for example:
<template>
<entity-index/>
</template>
<script>
import EntityIndex from 'quasar-crud'
export default {
components: { EntityIndex }
}
</script>| props | default | type | description |
|---|---|---|---|
| value | [ ] | Array | |
| title | ' ' | String | |
| api | ' ' | String | |
| createRouteName | ' ' | String, Boolean | |
| tableKeys | { data: ' ', total: ' ' } | Object | query params of response |
| table | { columns: [ ], data: [ ] } | Object | column include props of column in q-table |
| beforeLoadInputData | () => { } | Function | |
| afterLoadInputData | () => { } | Function |
| props | default | type | description |
|---|---|---|---|
| value | [ ] | Array | |
| title | ' ' | String | |
| api | ' ' | String | |
| entityIdKey | ' id ' | String | Id of selected item |
| entityParamKey | ' id ' | String | need for router param |
| showRouteName | ' ' | String | route name of show component |
| table | { columns: [ ], data: [ ] } | Object | |
| beforeGetData | () => { } | Function | |
| beforeLoadInputData | () => { } | Function | |
| afterLoadInputData | () => { } | Function |
| props | default | type | description |
|---|---|---|---|
| value | [ ] | Array | |
| title | ' ' | String | |
| api | ' ' | String | |
| showRouteName | ' ' | String | route name of show component |
| showRouteParamKey | ' ' | String | router param of show component |
| entityIdKeyInResponse | ' id ' | String | ned for value of router param of show component |
| indexRouteName | ' ' | String | route name of index component |
| table | { columns: [ ], data: [ ] } | Object | |
| beforeLoadInputData | () => { } | Function | |
| afterLoadInputData | () => { } | Function |
| props | default | type | description |
|---|---|---|---|
| value | [ ] | Array | |
| title | ' ' | String | |
| api | ' ' | String | |
| entityIdKey | ' id ' | String | Id of selected item |
| entityParamKey | ' id ' | String | need for router param |
| editRouteName | ' ' | String | route name of edit component |
| indexRouteName | ' ' | String | route name of index component |
| table | { columns: [ ], data: [ ] } | Object | |
| beforeGetData | () => { } | Function | |
| beforeLoadInputData | () => { } | Function | |
| afterLoadInputData | () => { } | Function |
it has 3 slot that you can use them in all previous components:
#title
#toolbar
#content
it has 3 slot that you can use them in EntityIndex component:
#top="props"
#body-cell="props"
# content
| props | default | type |
|---|---|---|
| value | { data: [ ], pagination:{ sortBy: 'desc', descending: false, page: 1, rowsPerPage: 0 } rowsNumber: 0 } |
Object |
| title | ' ' | String |
| loading | false | Boolean |
| columns | [ ] | Array |
| changePage | () => {} | Function |
You can create forms in all previous components using quasar-form-builder.
To access them you can v-model an array of input's props as value prop in quasar-crud's components