Biblioteca do mapa AVL da Creare Sistemas.
O projeto ainda está em desenvolvimento e as próximas atualizações serão voltadas nas seguintes tarefas:
- [x] Criação do componente do mapa AVL
- [x] Criação do componente de filtros
- [x] Criação do componente de Tabela
- [x] Feature de cercas para o mapa
- [ ] Adição de outros tipos de veiculos para o mapa
- [x] Adição de novos tipos de filtros
- [ ] Permitir alterar cores, temas e etc
- [x] Adição de novos icones
Antes de começar, verifique se você atendeu aos seguintes requisitos:
- Você instalou a versão mais recente de
<node / 16.0>
Para instalar o Creare Core Avl Library, siga estas etapas:
npm install
Para rodar o Creare Core Avl Library, siga estas etapas:
npm run storybook
Aqui você vai conseguir ver exemplos dos componentes que a lib exporta.
Sempre que um novo componente for criado, deve ser criado um novo stories do Storybook (component.stories.tsx)
Caso for criado uma nova prop de um componente existente, deve ser adicionado esse exemplo de prop dentro do stories desse componente
O comando abaixo já vai buildar, alterar a versão da lib e publicar no npm
npm build
Para usar Creare Core Avl Library, siga estas etapas:
npm install creare-core-avl-lib
Exemplo de utilização
import { data } from "../data/data";
import { Datatable, Filters, DataProvider, Map } from "creare-core-avl-lib";
import "/node_modules/creare-core-avl-lib/dist/style.css"; <<<< Necessário import dos styles da lib
<DataProvider data={data}>
<div className="relative h-[630px] mb-5">
<Map
type="truck"
isSearchable
style={{
width: "100%",
height: "630px",
}}
center={[1.28333, 103.841]}
zoom={15}
/>
</div>
<Filters
filters={[
{
type: "search",
},
{
accessor: "registration",
type: "select",
isSearchable: true,
options: uniqueByColumn(data, "registration"),
},
{
accessor: "latitude",
type: "select",
isSearchable: true,
options: uniqueByColumn(data, "latitude"),
},
{
accessor: "speed",
type: "max",
showButtons: true,
placeholder: "Speed",
},
{
accessor: "ocurrenceTime",
type: "date-range",
},
{
accessor: "ignition",
type: "boolean",
trueLabel: "Online",
falseLabel: "Offline",
},
]}
/>
<Datatable
columnsConfig={[
{
accessor: "id",
header: () => <span>Id</span>,
cell: (info: any) => info.getValue(),
meta: {
width: "2%",
},
},
{
accessor: "registration",
header: () => <span>Vehicle</span>,
cell: (info: any) => info.getValue(),
meta: {
width: "15%",
},
},
{
accessor: "latitude",
header: () => <span>Latitude</span>,
cell: (info: any) => info.getValue(),
meta: {
width: "10%",
},
},
{
accessor: "longitude",
header: () => <span>Longitude</span>,
cell: (info: any) => info.getValue(),
meta: {
width: "10%",
},
},
{
accessor: "speed",
header: () => <span>Speed</span>,
cell: (info: any) => info.getValue(),
meta: {
width: "13%",
},
},
{
accessor: "ignition",
header: () => <span>Ignition</span>,
cell: (info: any) =>
info.getValue() ? (
<span className="w-[12px] h-[12px] rounded-xl bg-green-700 block" />
) : (
<span className="w-[12px] h-[12px] rounded-xl bg-red-700 block" />
),
meta: {
align: "center",
width: "10%",
},
},
{
accessor: "loadStatus",
header: () => <span>Loaded</span>,
cell: (info: any) => (
<span
style={{
textTransform: "capitalize",
}}
>
{info.getValue().toLowerCase().replace("_", " ")}
</span>
),
meta: {
align: "center",
width: "10%",
},
},
{
accessor: "odomoter",
header: () => <span>Hourmeter</span>,
cell: (info: any) => info.getValue(),
meta: {
width: "10%",
},
},
{
accessor: "ocurrenceTime",
header: () => <span>Date</span>,
cell: (info: any) => format(info.getValue(), "yyyy/MM/dd HH:mm:ss"),
meta: {
width: "20%",
},
},
]}
/>
</DataProvider>
Para contribuir com Creare Core Avl Library, siga estas etapas:
- Bifurque este repositório.
- Crie um branch:
git checkout -b <nome_branch>
. - Faça suas alterações e confirme-as:
git commit -m '<mensagem_commit>'
- Envie para o branch original:
git push origin <nome_do_projeto> / <local>
- Crie a solicitação de pull.
Como alternativa, consulte a documentação do GitHub em como criar uma solicitação pull.