cids-cgi v3.3.7
CGI Design System for Vue
Sobre o projeto
"O projeto veio para trazer um conforto a todos os desenvolvedores com casos onde o desenvolvimento se repete constantemente, como em casos de tabelas de CRUD, campos customizados de data, entre outros...".
Funcionalidades
- Criação de tabelas de dados com n opções de propriedades, tudo de acordo com o necessário para o uso da empresa.
Começando
Pré requisitos
Para rodar um projeto Vue e usar nossa biblioteca você precisa, além do vue corretamente instalado:
Instalação
Baixe a biblioteca vuetify e configure ela corretamente de acordo com a documentação da mesma
Baixe a biblioteca cids-cgi no seu projeto
$ npm i cids-cgiNo arquivo main.js do seu projeto adicione
import Vue from 'vue'
import cids from 'cids-cgi/lib'
Vue.use(cids)Rodando
Nos seus componentes do projeto use:
- Components
DataTable
- Component
<template>
<cgi-data-table>
<!--
slot usado somente quando for customizar suas colunas, como formatar a data, por exemplo
-->
<template v-slot:name_of_column="{ item }">
{{ item.name }}
</template>
<template v-slot:botoes>
<!--
botões customizados
-->
</template>
<template v-slot:pesquisa>
<!--
campo de pesquisa customizado
-->
</template>
</cgi-data-table>
</template>- Props
| Propriedade | Required? | Type | Default value | Descrição |
|---|---|---|---|---|
| nome-tabela | false | String | null | Define um nome no cabeçalho da tabela |
| linhas | true | Array | undefined | Define as linhas no corpo da tabela |
| colunas | true | Array | undefined | Define as colunas da tabela |
| mostra-linha-selecionada | false | Boolean | false | Mostra com uma cor diferente a linha selecionada |
| mostra-propriedades | false | Boolean | false | Mostra as propriedade de ordenação/ocultação/agrupamento das colunas |
| paginacao-servidor | false | Boolean | false | Desabilita a paginação no front-end e habilita a paginação no servidor |
| mostra-colunas | false | Boolean | true | Remove ou mostra as colunas da tabela |
| mostra-paginacao | false | Boolean | true | Remove ou mostra a paginação no rodapé |
| mostra-pesquisa | false | Boolean | false | Remove ou mostra o cmapo de pesquisa na no cabeçalho |
| colunas-fixas | false | Boolean | true | Fixa as colunas para não ter scroll |
| mostra-agrupador | false | Boolean | false | Mostra o agrupador |
| ordenar-varios | false | Boolean | true | Define de pode ordenar por varias colunas |
| pesquisa | false | String | null | Valor do campo pesquisa |
| chave-tabela | false | String | seq | Define uma chave para a tabela |
| selecionar-varios | false | Boolean | false | Define se pode selecionar varios itens |
| mostra-acoes | false | Boolean | false | Mostra ou esconde ações de alterar/excluir |
| altura | false | String | 100vh | Define uma nova altura para a tabela |
| carregar | false | Boolean | false | Cria um efeito de loading na tabela |
| total-itens | false | Number | 30 | Seta o total de itens para paginação no servidor |
| paginacao | false | Object | vuetify_page_options | Seta o objeto default de paginação no servidor |
| agrupar | false | String | null | Seta por qual coluna deve agrupar |
| propriedades | false | Array | [] | Seta as colunas visiveis na tabela |
| mostra-detalhes | false | Boolean | false | Mostra um icone de olho em cada linha para um evento customizado de detalhamento |
| mostra-toolbar | false | Boolean | false | Esconde ou mostra o cabeçalho da tabela |
- Events
| Event | Return | Descrição |
|---|---|---|
| @salvar-propriedades | Array de propriedades | Retorna as colunas/agrupamento e paginação atual para salvar em tela padrão |
| @linha-selecionada | Object | Retorna um objeto com a linha atual selecionanda |
| @paginando | Object de paginação | Retorna um objeto de paginação para usar com server side pagination |
| @alterar-item | Object | Retorna a linha selecionada para alterar |
| @deletar-item | Object | Retorna a linha selecionada para deletar |
| @ver-detalhes | Object | Retorna a linha selecionada para uma ação customizada |
- Slots
| Slot | Descrição |
|---|---|
| v-slot:\ | Slot para customizar uma coluna especifica |
| v-slot:botoes | Slot para incluir botões no header da tabela, como botões de filtro e alterar por exemplo |
| v-slot:pesquisa | Slot para customizar o text-field default de pesquisa da tabela |
CgiDatePicker
- Component
<template>
<cgi-date-picker
compacto
tipo="mes"
nome="Data"
v-model="data"
:desabilitado="false"
/>
</template>- Props
| Propriedade | Required? | Type | Default value |
|---|---|---|---|
| compacto | false | Boolean | false |
| nome | true | String | undefined |
| tipo | false | String | "date" |
| desabilitado | false | Boolean | false |
- Sem Events
- Sem Slots
CgiTimePicker
- Component
<template>
<cgi-time-picker compacto nome="Hora" v-model="hora" :desabilitado="false" />
</template>- Props
| Propriedade | Required? | Type | Default value |
|---|---|---|---|
| compacto | false | Boolean | false |
| nome | true | String | undefined |
| desabilitado | false | Boolean | false |
- Sem Events
- Sem Slots
Snackbar
- Component
<!-- Instância unica no sistema, deve ser declarado uma unica vez no App.vue -->
<template>
<cgi-snackbar />
</template>import { snackbar } from "cids-cgi/lib/util"
// mensagem sem ações
snackbar.show({message: "Mensagem para mostrar ao usuário!"})
// mensagem de confirmação (promise que retorna true ou false)
const response = await snackbar.confirm({message: "Mensagem para mostrar ao usuário!"})
if (response) {
// executa algo se o usuário confirmou
}
// parâmetros que podem ser usados no snackbar
snackbar.show({
message,
timeout = 10000, // default em 10 segundos
color = 'red', // default vermelho
position = { // posição da mensagem na tela, default direita inferior
right: true,
center: true,
top: false,
}
})- Sem Props
- Sem Events
- Sem Slots
Handler
- Sem Component
import { toAblDate, formatNumber, toExcel, groupBy } from 'cids-cgi/lib/util'
// converte data para o formato que o progress espera
const dataAbl = toAblDate('2021-10-08', 'dia') // retorna = DATE(8, 10, 2021)
// converte data para o formato que o progress espera
const dataAbl = toAblDate('2021-10-08', 'mes') // retorna = DATE(1, 10, 2021)
// converte data para o formato que o progress espera
const dataAbl = toAblDate('2021-10-08', 'ano') // retorna = DATE(1, 1, 2021)
// formata numeros para padrão brasileiro
const stringNumber = formatNumber(1234.12) //retorna = "1.234,12"
// exporta e faz download de um arquivo XLSX a partir de um dataset
toExcel(dataset, 'placas') // retorna = download de arquivo chamado placas.xlsx
// agrupa dataset por 0 ou n chaves
const datasetGrouped = groupBy(dataset, (item) => ['nome', 'cod_emp']) // retorna = dataset agrupado por nome e cod_emp respectivamente- Sem Props
- Sem Events
- Sem Slots
Directives
v-cgi-mask
<template>
<v-text-field label="Data" v-cgi-mask="mask"></v-text-field>
</template>
<script>
export default {
data: () => ({
mask: 'dia-mes-ano', // tipos: dia-mes-ano; dia-mes; mes-ano; hora; cpf; cnpj, cpf-cnpj;
}),
}
</script>v-cgi-money
<template>
<!-- Converte os dados digitados na moeda brasileira -->
<v-text-field label="Valor" v-cgi-money></v-text-field>
</template>v-cgi-number
<template>
<!-- Converte os dados digitados no padrão brasileiro de numeros -->
<v-text-field label="Valor" v-cgi-number></v-text-field>
</template>8 months ago
8 months ago
9 months ago
8 months ago
8 months ago
8 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
11 months ago
11 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago