cids-cgi v2.1.16
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-cgi
No 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>
2 days ago
2 days ago
5 days ago
15 days ago
28 days ago
29 days ago
30 days ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
8 months ago
10 months ago
8 months ago
7 months ago
8 months ago
6 months ago
6 months ago
11 months ago
11 months ago
12 months ago
12 months ago
12 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
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
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
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
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