@thibezer/ui-components-kit 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +624 -0
- package/dist/botao.cjs +1 -0
- package/dist/botao.d.ts +8 -0
- package/dist/botao.js +6 -0
- package/dist/camadas.cjs +296 -0
- package/dist/camadas.d.ts +14 -0
- package/dist/camadas.js +1857 -0
- package/dist/campo-texto.cjs +1 -0
- package/dist/campo-texto.d.ts +8 -0
- package/dist/campo-texto.js +11 -0
- package/dist/canvas.cjs +254 -0
- package/dist/canvas.d.ts +8 -0
- package/dist/canvas.js +3082 -0
- package/dist/card.cjs +1 -0
- package/dist/card.d.ts +7 -0
- package/dist/card.js +5 -0
- package/dist/components/ui-alerta/index.d.ts +2 -0
- package/dist/components/ui-alerta/ui-alerta-base.d.ts +23 -0
- package/dist/components/ui-alerta/ui-alerta.d.ts +2 -0
- package/dist/components/ui-alerta/ui-toast.d.ts +34 -0
- package/dist/components/ui-avatar/index.d.ts +1 -0
- package/dist/components/ui-avatar/ui-avatar.d.ts +12 -0
- package/dist/components/ui-badge/index.d.ts +1 -0
- package/dist/components/ui-badge/ui-badge.d.ts +20 -0
- package/dist/components/ui-barra-ferramentas/ferramentas-comum.d.ts +22 -0
- package/dist/components/ui-barra-ferramentas/ferramentas-icones.d.ts +24 -0
- package/dist/components/ui-barra-ferramentas/index.d.ts +4 -0
- package/dist/components/ui-barra-ferramentas/tipos.d.ts +55 -0
- package/dist/components/ui-barra-ferramentas/ui-paleta-ferramentas.d.ts +54 -0
- package/dist/components/ui-barra-ferramentas/ui-ribbon.d.ts +52 -0
- package/dist/components/ui-botao/index.d.ts +1 -0
- package/dist/components/ui-botao/ui-botao.d.ts +26 -0
- package/dist/components/ui-camadas/camadas-arvore-renderer.d.ts +18 -0
- package/dist/components/ui-camadas/camadas-drag-drop.d.ts +18 -0
- package/dist/components/ui-camadas/camadas-eventos-arvore.d.ts +2 -0
- package/dist/components/ui-camadas/camadas-eventos-camadas.d.ts +2 -0
- package/dist/components/ui-camadas/camadas-eventos-rodape.d.ts +2 -0
- package/dist/components/ui-camadas/camadas-host.d.ts +23 -0
- package/dist/components/ui-camadas/camadas-icones.d.ts +23 -0
- package/dist/components/ui-camadas/camadas-mapas-base.d.ts +3 -0
- package/dist/components/ui-camadas/camadas-metricas.d.ts +17 -0
- package/dist/components/ui-camadas/camadas-persistencia.d.ts +65 -0
- package/dist/components/ui-camadas/camadas-resizer.d.ts +16 -0
- package/dist/components/ui-camadas/camadas-rodape.d.ts +2 -0
- package/dist/components/ui-camadas/camadas-selecao.d.ts +24 -0
- package/dist/components/ui-camadas/camadas-sincronizacao-dom.d.ts +3 -0
- package/dist/components/ui-camadas/camadas-teclado.d.ts +3 -0
- package/dist/components/ui-camadas/camadas-utils.d.ts +26 -0
- package/dist/components/ui-camadas/index.d.ts +11 -0
- package/dist/components/ui-camadas/tipos.d.ts +116 -0
- package/dist/components/ui-camadas/ui-camadas.d.ts +112 -0
- package/dist/components/ui-campo-texto/campo-texto-estados.d.ts +12 -0
- package/dist/components/ui-campo-texto/campo-texto-template.d.ts +2 -0
- package/dist/components/ui-campo-texto/index.d.ts +1 -0
- package/dist/components/ui-campo-texto/ui-campo-texto.d.ts +57 -0
- package/dist/components/ui-canvas-cad/cad-atributos-sync.d.ts +13 -0
- package/dist/components/ui-canvas-cad/cad-broadcast.d.ts +19 -0
- package/dist/components/ui-canvas-cad/cad-colecoes-dados.d.ts +46 -0
- package/dist/components/ui-canvas-cad/cad-eventos-canvas.d.ts +26 -0
- package/dist/components/ui-canvas-cad/cad-inicializador.d.ts +19 -0
- package/dist/components/ui-canvas-cad/cad-painel-camadas.d.ts +9 -0
- package/dist/components/ui-canvas-cad/cad-tamanho-observer.d.ts +7 -0
- package/dist/components/ui-canvas-cad/cad-template.d.ts +1 -0
- package/dist/components/ui-canvas-cad/cad-toolbar-painel.d.ts +29 -0
- package/dist/components/ui-canvas-cad/index.d.ts +8 -0
- package/dist/components/ui-canvas-cad/ui-canvas-cad.d.ts +91 -0
- package/dist/components/ui-card/index.d.ts +1 -0
- package/dist/components/ui-card/ui-card.d.ts +18 -0
- package/dist/components/ui-checkbox/index.d.ts +1 -0
- package/dist/components/ui-checkbox/ui-checkbox.d.ts +36 -0
- package/dist/components/ui-drawer/drawer-acessibilidade.d.ts +16 -0
- package/dist/components/ui-drawer/index.d.ts +1 -0
- package/dist/components/ui-drawer/ui-drawer.d.ts +37 -0
- package/dist/components/ui-icone/index.d.ts +1 -0
- package/dist/components/ui-icone/ui-icone.d.ts +15 -0
- package/dist/components/ui-lista-flutuante/index.d.ts +1 -0
- package/dist/components/ui-lista-flutuante/lista-flutuante-posicionamento.d.ts +15 -0
- package/dist/components/ui-lista-flutuante/lista-flutuante-render.d.ts +9 -0
- package/dist/components/ui-lista-flutuante/lista-flutuante-teclado.d.ts +13 -0
- package/dist/components/ui-lista-flutuante/lista-flutuante-template.d.ts +2 -0
- package/dist/components/ui-lista-flutuante/tipos.d.ts +4 -0
- package/dist/components/ui-lista-flutuante/ui-lista-flutuante.d.ts +63 -0
- package/dist/components/ui-mapa/index.d.ts +3 -0
- package/dist/components/ui-mapa/ui-mapa-linha.d.ts +12 -0
- package/dist/components/ui-mapa/ui-mapa-marcador.d.ts +15 -0
- package/dist/components/ui-mapa/ui-mapa.d.ts +16 -0
- package/dist/components/ui-modal/index.d.ts +2 -0
- package/dist/components/ui-modal/modal-acessibilidade.d.ts +12 -0
- package/dist/components/ui-modal/ui-modal.d.ts +30 -0
- package/dist/components/ui-radio/index.d.ts +1 -0
- package/dist/components/ui-radio/radio-grupo-registry.d.ts +10 -0
- package/dist/components/ui-radio/ui-radio.d.ts +29 -0
- package/dist/components/ui-segmented/index.d.ts +1 -0
- package/dist/components/ui-segmented/segmented-indicador.d.ts +13 -0
- package/dist/components/ui-segmented/segmented-teclado.d.ts +4 -0
- package/dist/components/ui-segmented/segmented-template.d.ts +4 -0
- package/dist/components/ui-segmented/ui-segmented.d.ts +48 -0
- package/dist/components/ui-seletor-mapa-base/index.d.ts +2 -0
- package/dist/components/ui-seletor-mapa-base/tipos.d.ts +22 -0
- package/dist/components/ui-seletor-mapa-base/ui-seletor-mapa-base.d.ts +43 -0
- package/dist/components/ui-skeleton/index.d.ts +1 -0
- package/dist/components/ui-skeleton/ui-skeleton.d.ts +19 -0
- package/dist/components/ui-stat/index.d.ts +1 -0
- package/dist/components/ui-stat/ui-stat.d.ts +30 -0
- package/dist/components/ui-switch/index.d.ts +1 -0
- package/dist/components/ui-switch/ui-switch.d.ts +36 -0
- package/dist/components/ui-tabela/index.d.ts +7 -0
- package/dist/components/ui-tabela/tabela-atributos-sync.d.ts +14 -0
- package/dist/components/ui-tabela/tabela-corpo.d.ts +18 -0
- package/dist/components/ui-tabela/tabela-dom.d.ts +15 -0
- package/dist/components/ui-tabela/tabela-header.d.ts +18 -0
- package/dist/components/ui-tabela/tabela-interacao.d.ts +9 -0
- package/dist/components/ui-tabela/tabela-localizador.d.ts +4 -0
- package/dist/components/ui-tabela/tabela-ordenacao.d.ts +12 -0
- package/dist/components/ui-tabela/tabela-orquestrador-dados.d.ts +18 -0
- package/dist/components/ui-tabela/tabela-redimensionamento.d.ts +28 -0
- package/dist/components/ui-tabela/tabela-remota.d.ts +15 -0
- package/dist/components/ui-tabela/tabela-renderizador.d.ts +29 -0
- package/dist/components/ui-tabela/tabela-selecao.d.ts +24 -0
- package/dist/components/ui-tabela/tipos.d.ts +27 -0
- package/dist/components/ui-tabela/ui-tabela.d.ts +83 -0
- package/dist/components/ui-tabela-propriedades/avaliador-expressao.d.ts +6 -0
- package/dist/components/ui-tabela-propriedades/editores-basicos.d.ts +7 -0
- package/dist/components/ui-tabela-propriedades/editores-cad.d.ts +17 -0
- package/dist/components/ui-tabela-propriedades/index.d.ts +6 -0
- package/dist/components/ui-tabela-propriedades/propriedades-densidade.d.ts +5 -0
- package/dist/components/ui-tabela-propriedades/propriedades-dom-utils.d.ts +6 -0
- package/dist/components/ui-tabela-propriedades/propriedades-editores.d.ts +5 -0
- package/dist/components/ui-tabela-propriedades/propriedades-flutuante.d.ts +7 -0
- package/dist/components/ui-tabela-propriedades/propriedades-gerenciador-valores.d.ts +26 -0
- package/dist/components/ui-tabela-propriedades/propriedades-painel-controles.d.ts +15 -0
- package/dist/components/ui-tabela-propriedades/propriedades-render-arvore.d.ts +24 -0
- package/dist/components/ui-tabela-propriedades/propriedades-seletor-tipo.d.ts +13 -0
- package/dist/components/ui-tabela-propriedades/propriedades-splitter.d.ts +13 -0
- package/dist/components/ui-tabela-propriedades/propriedades-template.d.ts +1 -0
- package/dist/components/ui-tabela-propriedades/tipos.d.ts +48 -0
- package/dist/components/ui-tabela-propriedades/ui-tabela-propriedades.d.ts +66 -0
- package/dist/components/ui-texto/index.d.ts +1 -0
- package/dist/components/ui-texto/ui-texto.d.ts +15 -0
- package/dist/components/ui-tooltip/index.d.ts +1 -0
- package/dist/components/ui-tooltip/ui-tooltip.d.ts +25 -0
- package/dist/core/acessibilidade.d.ts +21 -0
- package/dist/core/form-associated-element.d.ts +33 -0
- package/dist/core/form-validacao.d.ts +34 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/leaflet-loader.d.ts +7 -0
- package/dist/core/leaflet-style.d.ts +7 -0
- package/dist/core/listener-bag.d.ts +21 -0
- package/dist/core/ssr-safe.d.ts +20 -0
- package/dist/core/ui-bus.d.ts +85 -0
- package/dist/core/zero-js-triggers.d.ts +1 -0
- package/dist/core.cjs +1 -0
- package/dist/core.js +22 -0
- package/dist/data.cjs +1 -0
- package/dist/data.d.ts +22 -0
- package/dist/data.js +63 -0
- package/dist/feedback.cjs +1 -0
- package/dist/feedback.d.ts +26 -0
- package/dist/feedback.js +25 -0
- package/dist/form-validacao-BIOXxt-1.js +140 -0
- package/dist/form-validacao-ytRYSF3E.cjs +1 -0
- package/dist/forms.cjs +1 -0
- package/dist/forms.d.ts +22 -0
- package/dist/forms.js +25 -0
- package/dist/gerencigeo-canvas/canvas_destaque.d.ts +13 -0
- package/dist/gerencigeo-canvas/canvas_destaque_marcadores.d.ts +8 -0
- package/dist/gerencigeo-canvas/canvas_interacao.d.ts +56 -0
- package/dist/gerencigeo-canvas/canvas_selecao_box.d.ts +23 -0
- package/dist/gerencigeo-canvas/controller_dados_ops.d.ts +15 -0
- package/dist/gerencigeo-canvas/index.d.ts +17 -0
- package/dist/gerencigeo-canvas/layer_defaults.d.ts +3 -0
- package/dist/gerencigeo-canvas/layer_instance_ops.d.ts +6 -0
- package/dist/gerencigeo-canvas/layer_manager.d.ts +37 -0
- package/dist/gerencigeo-canvas/layer_pane_ops.d.ts +8 -0
- package/dist/gerencigeo-canvas/layer_renderer_factory.d.ts +14 -0
- package/dist/gerencigeo-canvas/layer_state_ops.d.ts +6 -0
- package/dist/gerencigeo-canvas/mapa_config.d.ts +11 -0
- package/dist/gerencigeo-canvas/mapa_controller.d.ts +53 -0
- package/dist/gerencigeo-canvas/mapa_core.d.ts +30 -0
- package/dist/gerencigeo-canvas/mapa_linhas.d.ts +14 -0
- package/dist/gerencigeo-canvas/mapa_marcadores.d.ts +18 -0
- package/dist/gerencigeo-canvas/mapa_pontos_shapes.d.ts +8 -0
- package/dist/gerencigeo-canvas/renderers/grid_renderer.d.ts +9 -0
- package/dist/gerencigeo-canvas/renderers/tile_renderer.d.ts +8 -0
- package/dist/gerencigeo-canvas/renderers/vector_lines_builder.d.ts +4 -0
- package/dist/gerencigeo-canvas/renderers/vector_lines_renderer.d.ts +9 -0
- package/dist/gerencigeo-canvas/renderers/vector_points_renderer.d.ts +11 -0
- package/dist/gerencigeo-canvas/renderers/vector_polygons_renderer.d.ts +9 -0
- package/dist/gerencigeo-canvas/renderers/wms_renderer.d.ts +8 -0
- package/dist/gerencigeo-canvas/sigef_consultor.d.ts +9 -0
- package/dist/gerencigeo-canvas/tile_preloader.d.ts +2 -0
- package/dist/gerencigeo-canvas/types.d.ts +169 -0
- package/dist/gerencigeo-canvas/utils.d.ts +46 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +116 -0
- package/dist/index.js +186 -0
- package/dist/leaflet-Cw6tqYFh.cjs +1 -0
- package/dist/leaflet-DkaFZYc5.js +69 -0
- package/dist/leaflet-loader-94z5VsdY.cjs +2 -0
- package/dist/leaflet-loader-Cjcdgj5R.js +21 -0
- package/dist/listener-bag-D5omxZ9h.cjs +1 -0
- package/dist/listener-bag-DQgv7OON.js +34 -0
- package/dist/mapa.cjs +19 -0
- package/dist/mapa.d.ts +11 -0
- package/dist/mapa.js +264 -0
- package/dist/modal.cjs +1 -0
- package/dist/modal.d.ts +8 -0
- package/dist/modal.js +8 -0
- package/dist/register.cjs +1 -0
- package/dist/register.d.ts +7 -0
- package/dist/register.js +21 -0
- package/dist/seletor-mapa-base.cjs +53 -0
- package/dist/seletor-mapa-base.d.ts +8 -0
- package/dist/seletor-mapa-base.js +275 -0
- package/dist/ssr-safe-5cWfJP-s.js +10 -0
- package/dist/ssr-safe-CiHD1adl.cjs +1 -0
- package/dist/tabela.cjs +1 -0
- package/dist/tabela.d.ts +12 -0
- package/dist/tabela.js +56 -0
- package/dist/tools.cjs +1 -0
- package/dist/tools.d.ts +8 -0
- package/dist/tools.js +30 -0
- package/dist/ui-badge-92yelKls.js +183 -0
- package/dist/ui-badge-B95jSECC.cjs +28 -0
- package/dist/ui-botao-BShEouvi.js +124 -0
- package/dist/ui-botao-DF1yuUUD.cjs +12 -0
- package/dist/ui-campo-texto-BCh5HyCM.cjs +16 -0
- package/dist/ui-campo-texto-B_JF6POq.js +361 -0
- package/dist/ui-card-BJ8SmvVf.js +111 -0
- package/dist/ui-card-Bhm6k91e.cjs +20 -0
- package/dist/ui-kit.css +1 -0
- package/dist/ui-modal-Bi4isGYh.cjs +18 -0
- package/dist/ui-modal-DV-pw2x1.js +194 -0
- package/dist/ui-paleta-ferramentas-B6dJ0O6K.cjs +18 -0
- package/dist/ui-paleta-ferramentas-Bpp4XBVg.js +633 -0
- package/dist/ui-segmented-C8wuycjJ.js +411 -0
- package/dist/ui-segmented-NC5cBXLh.cjs +19 -0
- package/dist/ui-skeleton-B3xQyn0Z.js +396 -0
- package/dist/ui-skeleton-D42oQufF.cjs +33 -0
- package/dist/ui-switch-C6o4yZUF.cjs +53 -0
- package/dist/ui-switch-CO9MoS8x.js +826 -0
- package/dist/ui-tabela-propriedades-7yJ9g7ti.cjs +145 -0
- package/dist/ui-tabela-propriedades-D-XKNVwK.js +2078 -0
- package/dist/ui-toast-CQBqvUm3.cjs +20 -0
- package/dist/ui-toast-CwUmiqyG.js +156 -0
- package/dist/zero-js-triggers-DdESy0tk.js +205 -0
- package/dist/zero-js-triggers-QGD7FOTv.cjs +1 -0
- package/package.json +149 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Ponto } from './types';
|
|
2
|
+
import { CanvasLayerManager } from './layer_manager';
|
|
3
|
+
import { CAD_INTERACTIVE_PANES } from './canvas_selecao_box';
|
|
4
|
+
export { CAD_INTERACTIVE_PANES };
|
|
5
|
+
export interface CanvasInteracaoContext {
|
|
6
|
+
mapaController?: any;
|
|
7
|
+
layerManager?: CanvasLayerManager;
|
|
8
|
+
selectedPontoIds: number[];
|
|
9
|
+
selectedVizinhoPontoIds: number[];
|
|
10
|
+
lastSelectedPontoId: number | null;
|
|
11
|
+
pontosList?: Ponto[];
|
|
12
|
+
containerHost?: HTMLElement | ShadowRoot;
|
|
13
|
+
atualizarDestaqueLinhasTabela?: () => void;
|
|
14
|
+
onSelectionChange?: (selectedIds: number[], selectedVizinhoIds: number[]) => void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Controlador de Interações do Canvas AutoCAD-like para o Leaflet
|
|
18
|
+
*
|
|
19
|
+
* Funcionalidades CAD:
|
|
20
|
+
* - Pan Dinâmico: Botão do Meio (Scroll Wheel Drag) com cursor grabbing
|
|
21
|
+
* - Zoom Extents: Duplo clique na rodinha do mouse (<300ms)
|
|
22
|
+
* - Janelas de Seleção:
|
|
23
|
+
* * Window Selection (Esquerda -> Direita, Azul #06b6d4): seleciona 100% contidos
|
|
24
|
+
* * Crossing Selection (Direita -> Esquerda, Verde #10b981): seleciona interceptados
|
|
25
|
+
* - Snapping e Seleção Filtrada: Apenas camadas ativas, visíveis e desbloqueadas
|
|
26
|
+
* - Teclado: Tecla ESC limpa a seleção; tecla Ctrl/Cmd ativa seleção aditiva múltipla
|
|
27
|
+
*/
|
|
28
|
+
export declare class CanvasInteracao {
|
|
29
|
+
ctx: CanvasInteracaoContext;
|
|
30
|
+
private map;
|
|
31
|
+
private mapContainer;
|
|
32
|
+
private selecaoBox;
|
|
33
|
+
private isPanning;
|
|
34
|
+
private lastMousePos;
|
|
35
|
+
private lastMiddleClickTime;
|
|
36
|
+
private touchStartPos;
|
|
37
|
+
private touchStartDist;
|
|
38
|
+
private isTouchPanning;
|
|
39
|
+
selectionHappened: boolean;
|
|
40
|
+
panHappened: boolean;
|
|
41
|
+
constructor(ctx?: Partial<CanvasInteracaoContext>);
|
|
42
|
+
ativar(mapaController: any, containerHost?: HTMLElement | ShadowRoot): void;
|
|
43
|
+
desativar(): void;
|
|
44
|
+
private handleTouchStart;
|
|
45
|
+
private handleTouchMove;
|
|
46
|
+
private handleTouchEnd;
|
|
47
|
+
private handleContextMenu;
|
|
48
|
+
private handleMouseDown;
|
|
49
|
+
private handleMouseMove;
|
|
50
|
+
private handleMouseUp;
|
|
51
|
+
private handleKeyDown;
|
|
52
|
+
limparSelecao(): void;
|
|
53
|
+
private notificarSelecao;
|
|
54
|
+
zoomExtents(): void;
|
|
55
|
+
destroy(): void;
|
|
56
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { CanvasInteracaoContext } from './canvas_interacao';
|
|
3
|
+
export declare const CAD_INTERACTIVE_PANES: string[];
|
|
4
|
+
export declare class CanvasSelecaoBox {
|
|
5
|
+
private map;
|
|
6
|
+
private mapContainer;
|
|
7
|
+
private ctx;
|
|
8
|
+
private selectionDiv;
|
|
9
|
+
isSelecting: boolean;
|
|
10
|
+
selectStartPos: {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
};
|
|
14
|
+
selectStartPoint: L.Point | null;
|
|
15
|
+
constructor(map: L.Map, mapContainer: HTMLElement, ctx: CanvasInteracaoContext);
|
|
16
|
+
private criarDivSelecao;
|
|
17
|
+
setPanesPointerEvents(value: 'auto' | 'none'): void;
|
|
18
|
+
iniciarSelecao(e: MouseEvent): void;
|
|
19
|
+
atualizarSelecao(e: MouseEvent): void;
|
|
20
|
+
finalizarSelecao(e: MouseEvent, onNotificar: () => void, onLimpar: () => void): boolean;
|
|
21
|
+
cancelarSelecao(): void;
|
|
22
|
+
destruir(): void;
|
|
23
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { Ponto, Confrontante } from './types';
|
|
3
|
+
export declare function processarPontosVizinhos(pontos: Ponto[], confrontantesAtuais: Confrontante[]): Confrontante[];
|
|
4
|
+
export declare function processarPoligonosVizinhos(confrontantes: Confrontante[], confrontantesAtuais: Confrontante[]): Confrontante[];
|
|
5
|
+
export declare function calcularBoundsGeometrias(pontos: Ponto[], confrontantes?: Confrontante[], incluirVizinhos?: boolean): {
|
|
6
|
+
single?: L.LatLng;
|
|
7
|
+
bounds?: L.LatLngBounds;
|
|
8
|
+
} | null;
|
|
9
|
+
export declare function coletarMarcadoresLeaflet(map: L.Map | null, layerManager: any): L.Marker[];
|
|
10
|
+
export declare function executarPlotarPontos(controller: any, pontos?: any[] | null, camadaId?: string, onClique?: (ponto: any) => void): void;
|
|
11
|
+
export declare function executarPlotarConexoes(controller: any, conexoes?: any[] | null, camadaId?: string): void;
|
|
12
|
+
export declare function executarPlotarPolilinha(controller: any, pontos?: any[] | null, fechar?: boolean, camadaId?: string, chaveGrupo?: string): void;
|
|
13
|
+
export declare function executarPlotarPoligonos(controller: any, poligonos?: any[] | null, camadaId?: string): void;
|
|
14
|
+
export declare function executarPlotSegmentos(controller: any, segmentos?: any[] | null, pontos?: any[] | null): void;
|
|
15
|
+
export declare function executarClearOverlays(controller: any, manterBanco?: boolean): void;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './utils';
|
|
3
|
+
export * from './mapa_config';
|
|
4
|
+
export * from './mapa_pontos_shapes';
|
|
5
|
+
export * from './layer_renderer_factory';
|
|
6
|
+
export * from './renderers/tile_renderer';
|
|
7
|
+
export * from './renderers/wms_renderer';
|
|
8
|
+
export * from './renderers/vector_lines_renderer';
|
|
9
|
+
export * from './renderers/vector_points_renderer';
|
|
10
|
+
export * from './renderers/vector_polygons_renderer';
|
|
11
|
+
export * from './renderers/grid_renderer';
|
|
12
|
+
export * from './layer_manager';
|
|
13
|
+
export * from './mapa_core';
|
|
14
|
+
export * from './mapa_linhas';
|
|
15
|
+
export * from './mapa_marcadores';
|
|
16
|
+
export * from './canvas_interacao';
|
|
17
|
+
export * from './mapa_controller';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { CanvasLayerDef, CanvasRenderContext } from './types';
|
|
3
|
+
export type MapaInstancias = Map<string, L.Layer | L.LayerGroup>;
|
|
4
|
+
export declare function montarInstancia(layer: CanvasLayerDef, map: L.Map, context: CanvasRenderContext, instances: MapaInstancias): void;
|
|
5
|
+
export declare function destruirInstancia(layer: CanvasLayerDef, map: L.Map, instances: MapaInstancias): void;
|
|
6
|
+
export declare function atualizarInstancia(layer: CanvasLayerDef, patch: Partial<CanvasLayerDef>, map: L.Map, context: CanvasRenderContext, instances: MapaInstancias): void;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { CanvasLayerDef, CanvasLayerState, CanvasRenderContext, CanvasGraphicScale } from './types';
|
|
3
|
+
import { DEFAULT_LAYERS } from './layer_defaults';
|
|
4
|
+
export { DEFAULT_LAYERS };
|
|
5
|
+
export declare class CanvasLayerManager {
|
|
6
|
+
private layers;
|
|
7
|
+
private layerInstances;
|
|
8
|
+
private map;
|
|
9
|
+
private context;
|
|
10
|
+
private listeners;
|
|
11
|
+
constructor(initialLayers?: CanvasLayerDef[]);
|
|
12
|
+
attachMap(map: L.Map, context: CanvasRenderContext): void;
|
|
13
|
+
ensurePanes(): void;
|
|
14
|
+
renderAllLayers(): void;
|
|
15
|
+
setLayerVisibility(id: string, visivel: boolean): void;
|
|
16
|
+
setLayerOpacity(id: string, opacidade: number): void;
|
|
17
|
+
setLayerZIndex(id: string, zIndex: number): void;
|
|
18
|
+
setLayerBlocked(id: string, bloqueada: boolean): void;
|
|
19
|
+
setLayerScaleMode(id: string, mode: 'screen' | 'world'): void;
|
|
20
|
+
setGraphicScale(scale: Partial<CanvasGraphicScale>): void;
|
|
21
|
+
updateContext(newContext: Partial<CanvasRenderContext>): void;
|
|
22
|
+
getLayers(): CanvasLayerDef[];
|
|
23
|
+
getActiveSelectableLayers(): CanvasLayerDef[];
|
|
24
|
+
isLayerActiveAndSelectable(layerId: string): boolean;
|
|
25
|
+
exportState(): CanvasLayerState[];
|
|
26
|
+
importState(state: CanvasLayerState[]): void;
|
|
27
|
+
onChange(callback: (layers: CanvasLayerDef[]) => void): () => void;
|
|
28
|
+
private notifyChange;
|
|
29
|
+
getAllLayerInstances(): (L.Layer | L.LayerGroup)[];
|
|
30
|
+
getLayerInstance(id: string): L.Layer | L.LayerGroup | undefined;
|
|
31
|
+
getLayer(id: string): CanvasLayerDef | undefined;
|
|
32
|
+
getLayerDef(id: string): CanvasLayerDef | undefined;
|
|
33
|
+
getOrCreateLayer(id: string, tipo: string, nome: string): CanvasLayerDef;
|
|
34
|
+
setLayerData(id: string, dados: any): void;
|
|
35
|
+
clearLayers(ids?: string[]): void;
|
|
36
|
+
destroy(): void;
|
|
37
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { CanvasLayerDef } from './types';
|
|
3
|
+
export declare function nomePane(layerId: string): string;
|
|
4
|
+
export declare function garantirPanes(map: L.Map, layers: CanvasLayerDef[]): void;
|
|
5
|
+
export declare function aplicarVisibilidadePane(map: L.Map, layer: CanvasLayerDef): void;
|
|
6
|
+
export declare function aplicarOpacidadePane(map: L.Map, layer: CanvasLayerDef): void;
|
|
7
|
+
export declare function aplicarZIndexPane(map: L.Map, layer: CanvasLayerDef): void;
|
|
8
|
+
export declare function aplicarBloqueioPane(map: L.Map, layer: CanvasLayerDef): void;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { CanvasLayerDef, CanvasRenderContext } from './types';
|
|
3
|
+
export interface ILayerRenderer {
|
|
4
|
+
render(layerDef: CanvasLayerDef, map: L.Map, context: CanvasRenderContext): L.Layer | L.LayerGroup | null;
|
|
5
|
+
update(layerDef: CanvasLayerDef, layerInstance: L.Layer | L.LayerGroup, changes: Partial<CanvasLayerDef>, context: CanvasRenderContext, map: L.Map): void;
|
|
6
|
+
destroy(layerInstance: L.Layer | L.LayerGroup, map: L.Map): void;
|
|
7
|
+
}
|
|
8
|
+
export declare class LayerRendererFactory {
|
|
9
|
+
private static renderers;
|
|
10
|
+
static register(tipo: string, renderer: ILayerRenderer): void;
|
|
11
|
+
static get(tipo: string): ILayerRenderer | undefined;
|
|
12
|
+
static has(tipo: string): boolean;
|
|
13
|
+
static getRegisteredTypes(): string[];
|
|
14
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { CanvasLayerDef, CanvasLayerState, CanvasRenderContext } from './types';
|
|
3
|
+
export declare function exportarEstadoCamadas(layers: CanvasLayerDef[]): CanvasLayerState[];
|
|
4
|
+
export declare function importarEstadoCamadas(layers: CanvasLayerDef[], state: CanvasLayerState[]): void;
|
|
5
|
+
export declare function limparDadosCamadas(layers: CanvasLayerDef[], layerInstances: Map<string, L.Layer | L.LayerGroup>, context: CanvasRenderContext | null, idsCamadas?: string[]): void;
|
|
6
|
+
export declare function aplicarDadosCamada(layer: CanvasLayerDef, dados: any, map: L.Map | null, context: CanvasRenderContext | null, layerInstances: Map<string, L.Layer | L.LayerGroup>): void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MapaConfiguracoes } from './types';
|
|
2
|
+
export declare const DEFAULT_CONFIG: MapaConfiguracoes;
|
|
3
|
+
export declare class MapaConfigManager {
|
|
4
|
+
private static instance;
|
|
5
|
+
private config;
|
|
6
|
+
private constructor();
|
|
7
|
+
static getInstance(): MapaConfigManager;
|
|
8
|
+
private loadConfig;
|
|
9
|
+
saveConfig(newConfig: Partial<MapaConfiguracoes>): void;
|
|
10
|
+
getConfig(): MapaConfiguracoes;
|
|
11
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { Ponto, Segmento, BancoPonto, Confrontante, CanvasRenderContext, CanvasGraphicScale, CanvasLayerState, CanvasLayerDef, PontoCAD, ConexaoCAD, PoligonoCAD, DestacarElementoOpcoes } from './types';
|
|
3
|
+
import { MapaCore } from './mapa_core';
|
|
4
|
+
import { CanvasInteracao } from './canvas_interacao';
|
|
5
|
+
import { CanvasLayerManager } from './layer_manager';
|
|
6
|
+
export declare class GerenciGeoMapaController {
|
|
7
|
+
core: MapaCore;
|
|
8
|
+
layerManager: CanvasLayerManager;
|
|
9
|
+
canvasInteracao: CanvasInteracao;
|
|
10
|
+
context: CanvasRenderContext;
|
|
11
|
+
modoCliqueSequencialAtivo: boolean;
|
|
12
|
+
chaveGrupo?: string;
|
|
13
|
+
zonaProjecao: number;
|
|
14
|
+
levantamentoId: number | null;
|
|
15
|
+
customMarkerClickCallback?: (pId: number, isVizinho?: boolean) => void;
|
|
16
|
+
customPopupActionCallback?: (acaoId: string, elementoId: string | number, elemento: any) => void;
|
|
17
|
+
private destaqueState;
|
|
18
|
+
constructor(customLayers?: CanvasLayerDef[]);
|
|
19
|
+
init(containerIdOrElement: string | HTMLElement, hostRoot?: HTMLElement | ShadowRoot): L.Map | null;
|
|
20
|
+
invalidateSize(): void;
|
|
21
|
+
setPontos(pontos?: Ponto[] | null): void;
|
|
22
|
+
setSegmentos(segmentos?: Segmento[] | null): void;
|
|
23
|
+
setBancoPontos(bancoPontos?: BancoPonto[] | null): void;
|
|
24
|
+
setConfrontantes(confrontantes?: Confrontante[] | null): void;
|
|
25
|
+
plotarPontos(p?: PontoCAD[] | null, c?: string, cl?: (p: PontoCAD) => void): void;
|
|
26
|
+
plotarConexoes(conexoes?: ConexaoCAD[] | null, camadaId?: string): void;
|
|
27
|
+
plotarPolilinhaSequencial(p?: PontoCAD[] | null, fechar?: boolean, camadaId?: string, cg?: string): void;
|
|
28
|
+
plotarPoligonos(poligonos?: PoligonoCAD[] | null, camadaId?: string): void;
|
|
29
|
+
limparCamadas(idsCamadas?: string[]): void;
|
|
30
|
+
obterMarcadores(camadaId?: string): L.Marker[];
|
|
31
|
+
plotPontos(pontos?: Ponto[] | null, onMarkerClick?: (pontoId: number, isVizinho?: boolean) => void): void;
|
|
32
|
+
plotSegmentos(segmentos?: Segmento[] | null, pontos?: Ponto[] | null): void;
|
|
33
|
+
plotPolilinhaTemporaria(pontos?: Ponto[] | null): void;
|
|
34
|
+
plotPoligonalHomologada(bancoPontos?: BancoPonto[] | null): void;
|
|
35
|
+
plotPontosVizinhos(pontos?: Ponto[] | null): void;
|
|
36
|
+
plotPoligonosVizinhos(confrontantes?: Confrontante[] | null): void;
|
|
37
|
+
clearOverlays(manterBanco?: boolean): void;
|
|
38
|
+
setGraphicScale(scale: Partial<CanvasGraphicScale>): void;
|
|
39
|
+
exportState(): CanvasLayerState[];
|
|
40
|
+
importState(state: CanvasLayerState[]): void;
|
|
41
|
+
selectPonto(pId: string | number, zoomLevel?: number): void;
|
|
42
|
+
atualizarDestaqueMarcadores(): void;
|
|
43
|
+
fitBounds(pontos?: Ponto[], padding?: [number, number], incluirVizinhos?: boolean): void;
|
|
44
|
+
getMarkers(): L.Marker[];
|
|
45
|
+
getVizinhosMarkers(): L.Marker[];
|
|
46
|
+
get destaqueAtivo(): boolean;
|
|
47
|
+
localizarCoordenadasElemento(id: string | number): L.LatLng | null;
|
|
48
|
+
destacarElemento(id: string | number, opcoes?: DestacarElementoOpcoes): void;
|
|
49
|
+
limparDestaque(): void;
|
|
50
|
+
destroy(): void;
|
|
51
|
+
getMap(): L.Map | null;
|
|
52
|
+
}
|
|
53
|
+
export { GerenciGeoMapaController as CanvasCADController, GerenciGeoMapaController as CADMapaController };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { MapaConfigManager } from './mapa_config';
|
|
3
|
+
import { MapaConfiguracoes } from './types';
|
|
4
|
+
export interface MapaCoreControllerRef {
|
|
5
|
+
modoCliqueSequencialAtivo?: boolean;
|
|
6
|
+
canvasInteracao?: {
|
|
7
|
+
selectionHappened?: boolean;
|
|
8
|
+
};
|
|
9
|
+
layerManager?: any;
|
|
10
|
+
}
|
|
11
|
+
export declare class MapaCore {
|
|
12
|
+
map: L.Map | null;
|
|
13
|
+
configManager: MapaConfigManager;
|
|
14
|
+
config: MapaConfiguracoes;
|
|
15
|
+
apiBaseUrl: string;
|
|
16
|
+
bancoPontosGroup: L.LayerGroup;
|
|
17
|
+
pontosVizinhosGroup: L.LayerGroup;
|
|
18
|
+
private controller;
|
|
19
|
+
private containerElement;
|
|
20
|
+
private bc?;
|
|
21
|
+
private sigefState;
|
|
22
|
+
constructor(controller: MapaCoreControllerRef);
|
|
23
|
+
init(containerIdOrElement: string | HTMLElement): L.Map | null;
|
|
24
|
+
invalidateSize(animate?: boolean): void;
|
|
25
|
+
private applyMapStyles;
|
|
26
|
+
private listenConfigBroadcast;
|
|
27
|
+
destroy(): void;
|
|
28
|
+
preCarregarTilesRegiao(bounds: L.LatLngBounds): void;
|
|
29
|
+
private consultarSigef;
|
|
30
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { Segmento, Ponto, BancoPonto } from './types';
|
|
3
|
+
import { MapaCore } from './mapa_core';
|
|
4
|
+
export declare class MapaLinhas {
|
|
5
|
+
polylines: L.Polyline[];
|
|
6
|
+
bancoPontosAtivo: boolean;
|
|
7
|
+
private core;
|
|
8
|
+
constructor(core: MapaCore, _controller?: any);
|
|
9
|
+
setBancoPontosAtivo(ativo: boolean): void;
|
|
10
|
+
plotSegmentos(segmentos: Segmento[], pontos: Ponto[]): void;
|
|
11
|
+
plotPolilinhaTemporaria(pontos: Ponto[]): void;
|
|
12
|
+
plotPoligonalHomologada(bancoPontos: BancoPonto[]): void;
|
|
13
|
+
clearLinhas(): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { Ponto, Confrontante } from './types';
|
|
3
|
+
import { MapaCore } from './mapa_core';
|
|
4
|
+
export declare class MapaMarcadores {
|
|
5
|
+
markers: L.Marker[];
|
|
6
|
+
vizinhosMarkers: L.Marker[];
|
|
7
|
+
vizinhosPoligonos: L.Polygon[];
|
|
8
|
+
private core;
|
|
9
|
+
private controller;
|
|
10
|
+
constructor(core: MapaCore, controller: any);
|
|
11
|
+
plotPontos(pontos: Ponto[], onMarkerClick: (id: number) => void): void;
|
|
12
|
+
plotPontosVizinhos(pontos: Ponto[]): void;
|
|
13
|
+
/**
|
|
14
|
+
* Desenha o perímetro (limites) dos imóveis vizinhos importados via WKT POLYGON
|
|
15
|
+
*/
|
|
16
|
+
plotPoligonosVizinhos(confrontantes: Confrontante[]): void;
|
|
17
|
+
clearMarkers(): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper para renderizar elementos HTML/SVG de marcadores no Leaflet Canvas/DOM.
|
|
3
|
+
* Estilos inline 100% autônomos (independentes de Tailwind) e suporte completo a
|
|
4
|
+
* formas geométricas topográficas (circle, circle-dot, square, diamond, cross, x, triangle)
|
|
5
|
+
* com suporte nativo a seleção e destaque visual.
|
|
6
|
+
*/
|
|
7
|
+
export declare function extrairCorPonto(bgClassOuCor: string): string;
|
|
8
|
+
export declare function getPointShapeHtml(shapeStyle: string, size: number, bgClass: string, extraClasses?: string, id?: string, selecionado?: boolean): string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { ILayerRenderer } from '../layer_renderer_factory';
|
|
3
|
+
import { CanvasLayerDef, CanvasRenderContext } from '../types';
|
|
4
|
+
export declare class GridLayerRenderer implements ILayerRenderer {
|
|
5
|
+
private moveListenerMap;
|
|
6
|
+
render(layerDef: CanvasLayerDef, map: L.Map, _context: CanvasRenderContext): L.LayerGroup;
|
|
7
|
+
update(layerDef: CanvasLayerDef, layerInstance: L.LayerGroup): void;
|
|
8
|
+
destroy(layerInstance: L.LayerGroup, map: L.Map): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { ILayerRenderer } from '../layer_renderer_factory';
|
|
3
|
+
import { CanvasLayerDef, CanvasRenderContext } from '../types';
|
|
4
|
+
export declare class TileLayerRenderer implements ILayerRenderer {
|
|
5
|
+
render(layerDef: CanvasLayerDef, _map: L.Map, _context: CanvasRenderContext): L.Layer | null;
|
|
6
|
+
update(_layerDef: CanvasLayerDef, layerInstance: L.Layer, changes: Partial<CanvasLayerDef>): void;
|
|
7
|
+
destroy(layerInstance: L.Layer, map: L.Map): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { CanvasLayerDef, CanvasRenderContext } from '../types';
|
|
3
|
+
export declare function calculateLineWeight(layerDef: CanvasLayerDef, map: L.Map, context: CanvasRenderContext): number;
|
|
4
|
+
export declare function rebuildVectorLines(layerDef: CanvasLayerDef, group: L.LayerGroup, map: L.Map, context: CanvasRenderContext, paneName: string): void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { ILayerRenderer } from '../layer_renderer_factory';
|
|
3
|
+
import { CanvasLayerDef, CanvasRenderContext } from '../types';
|
|
4
|
+
export declare class VectorLinesLayerRenderer implements ILayerRenderer {
|
|
5
|
+
private zoomListenerMap;
|
|
6
|
+
render(layerDef: CanvasLayerDef, map: L.Map, context: CanvasRenderContext): L.LayerGroup;
|
|
7
|
+
update(layerDef: CanvasLayerDef, layerInstance: L.LayerGroup, changes: Partial<CanvasLayerDef>, context: CanvasRenderContext, map: L.Map): void;
|
|
8
|
+
destroy(layerInstance: L.LayerGroup, map: L.Map): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { ILayerRenderer } from '../layer_renderer_factory';
|
|
3
|
+
import { CanvasLayerDef, CanvasRenderContext } from '../types';
|
|
4
|
+
export declare class VectorPointsLayerRenderer implements ILayerRenderer {
|
|
5
|
+
private zoomListenerMap;
|
|
6
|
+
render(layerDef: CanvasLayerDef, map: L.Map, context: CanvasRenderContext): L.LayerGroup;
|
|
7
|
+
private calculateSize;
|
|
8
|
+
private rebuildPoints;
|
|
9
|
+
update(layerDef: CanvasLayerDef, layerInstance: L.LayerGroup, changes: Partial<CanvasLayerDef>, context: CanvasRenderContext, map: L.Map): void;
|
|
10
|
+
destroy(layerInstance: L.LayerGroup, map: L.Map): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { ILayerRenderer } from '../layer_renderer_factory';
|
|
3
|
+
import { CanvasLayerDef, CanvasRenderContext } from '../types';
|
|
4
|
+
export declare class VectorPolygonsLayerRenderer implements ILayerRenderer {
|
|
5
|
+
render(layerDef: CanvasLayerDef, _map: L.Map, context: CanvasRenderContext): L.LayerGroup;
|
|
6
|
+
private rebuildPolygons;
|
|
7
|
+
update(layerDef: CanvasLayerDef, layerInstance: L.LayerGroup, changes: Partial<CanvasLayerDef>, context: CanvasRenderContext): void;
|
|
8
|
+
destroy(layerInstance: L.LayerGroup, map: L.Map): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
import { ILayerRenderer } from '../layer_renderer_factory';
|
|
3
|
+
import { CanvasLayerDef, CanvasRenderContext } from '../types';
|
|
4
|
+
export declare class WmsLayerRenderer implements ILayerRenderer {
|
|
5
|
+
render(layerDef: CanvasLayerDef, _map: L.Map, _context: CanvasRenderContext): L.Layer | null;
|
|
6
|
+
update(_layerDef: CanvasLayerDef, layerInstance: L.Layer, changes: Partial<CanvasLayerDef>): void;
|
|
7
|
+
destroy(layerInstance: L.Layer, map: L.Map): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as L } from 'leaflet';
|
|
2
|
+
export interface SigefConsultorState {
|
|
3
|
+
currentAbortController?: AbortController;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Consulta de certificações fundiárias no WMS do SIGEF/INCRA
|
|
7
|
+
* e renderização de popups informativos com links de shapefile e importação.
|
|
8
|
+
*/
|
|
9
|
+
export declare function consultarSigefNoPonto(map: L.Map, e: L.LeafletMouseEvent, apiBaseUrl: string, state: SigefConsultorState): Promise<void>;
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
export type ScaleMode = 'screen' | 'world';
|
|
2
|
+
export type CanvasLayerCategory = 'base' | 'wms' | 'levantamento' | 'referencia' | 'anotacoes' | 'custom';
|
|
3
|
+
export type CanvasLayerType = 'tile' | 'wms' | 'vetorial-linhas' | 'vetorial-pontos' | 'vetorial-poligonos' | 'grid' | string;
|
|
4
|
+
export interface LayerStyleDef {
|
|
5
|
+
corPrimaria?: string;
|
|
6
|
+
corSecundaria?: string;
|
|
7
|
+
espessuraLinha?: number;
|
|
8
|
+
tamanhoMarcador?: number;
|
|
9
|
+
estiloMarcador?: 'circle' | 'square' | 'cross' | 'circle-dot' | 'triangle' | 'diamond' | string;
|
|
10
|
+
dashArray?: string;
|
|
11
|
+
scaleMode?: ScaleMode;
|
|
12
|
+
/** Dimensão métrica no terreno em metros quando scaleMode === 'world' */
|
|
13
|
+
dimensaoMetros?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface PopupAcaoCAD {
|
|
16
|
+
id: string;
|
|
17
|
+
rotulo: string;
|
|
18
|
+
variante?: 'primary' | 'secondary' | 'destrutivo';
|
|
19
|
+
}
|
|
20
|
+
export interface DestacarElementoOpcoes {
|
|
21
|
+
pan?: boolean;
|
|
22
|
+
zoom?: number;
|
|
23
|
+
duracaoMs?: number;
|
|
24
|
+
cor?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface CanvasLayerDef {
|
|
27
|
+
id: string;
|
|
28
|
+
nome: string;
|
|
29
|
+
categoria: CanvasLayerCategory;
|
|
30
|
+
tipo: CanvasLayerType;
|
|
31
|
+
visivel: boolean;
|
|
32
|
+
opacidade: number;
|
|
33
|
+
zIndex: number;
|
|
34
|
+
interativo: boolean;
|
|
35
|
+
bloqueada?: boolean;
|
|
36
|
+
minZoom?: number;
|
|
37
|
+
maxZoom?: number;
|
|
38
|
+
estilo: LayerStyleDef;
|
|
39
|
+
acoes?: PopupAcaoCAD[];
|
|
40
|
+
/** Dados ou URL associados à camada */
|
|
41
|
+
dados?: any;
|
|
42
|
+
}
|
|
43
|
+
export interface CanvasLayerState {
|
|
44
|
+
id: string;
|
|
45
|
+
visivel: boolean;
|
|
46
|
+
opacidade: number;
|
|
47
|
+
zIndex: number;
|
|
48
|
+
bloqueada?: boolean;
|
|
49
|
+
estilo?: Partial<LayerStyleDef>;
|
|
50
|
+
}
|
|
51
|
+
export interface CanvasGraphicScale {
|
|
52
|
+
markerScaleMultiplier: number;
|
|
53
|
+
lineScaleMultiplier: number;
|
|
54
|
+
scaleModeGlobal?: ScaleMode;
|
|
55
|
+
}
|
|
56
|
+
/** Entidade pontual geométrica primitiva (agnóstica a domínio) */
|
|
57
|
+
export interface PontoCAD {
|
|
58
|
+
id: string | number;
|
|
59
|
+
lat: number;
|
|
60
|
+
lon: number;
|
|
61
|
+
estilo?: string;
|
|
62
|
+
grupoId?: string | number;
|
|
63
|
+
grupoKey?: string | number;
|
|
64
|
+
ordem?: number;
|
|
65
|
+
indice?: number;
|
|
66
|
+
metadados?: Record<string, any>;
|
|
67
|
+
acoes?: PopupAcaoCAD[];
|
|
68
|
+
[key: string]: any;
|
|
69
|
+
}
|
|
70
|
+
/** Entidade de conexão linear entre nós primitivos (agnóstica a domínio) */
|
|
71
|
+
export interface ConexaoCAD {
|
|
72
|
+
origemId: string | number;
|
|
73
|
+
destinoId: string | number;
|
|
74
|
+
tipoLinha?: 'continua' | 'tracejada';
|
|
75
|
+
estilo?: Record<string, any>;
|
|
76
|
+
acoes?: PopupAcaoCAD[];
|
|
77
|
+
[key: string]: any;
|
|
78
|
+
}
|
|
79
|
+
/** Entidade de área/polígono geométrica (agnóstica a domínio) */
|
|
80
|
+
export interface PoligonoCAD {
|
|
81
|
+
id: string | number;
|
|
82
|
+
coordenadas?: number[][] | [number, number][];
|
|
83
|
+
wkt?: string;
|
|
84
|
+
estilo?: Record<string, any>;
|
|
85
|
+
acoes?: PopupAcaoCAD[];
|
|
86
|
+
[key: string]: any;
|
|
87
|
+
}
|
|
88
|
+
export interface Ponto {
|
|
89
|
+
id: number | string;
|
|
90
|
+
lat?: number;
|
|
91
|
+
lon?: number;
|
|
92
|
+
tipo_ponto?: string;
|
|
93
|
+
tipo?: string;
|
|
94
|
+
nome_vertice?: string;
|
|
95
|
+
ignorar_poligono?: number;
|
|
96
|
+
ordem_caminhamento?: number;
|
|
97
|
+
confrontante_id?: number;
|
|
98
|
+
nome_confrontante?: string;
|
|
99
|
+
nome_propriedade?: string;
|
|
100
|
+
matricula_id?: number;
|
|
101
|
+
planilha_origem?: string;
|
|
102
|
+
este?: number;
|
|
103
|
+
norte?: number;
|
|
104
|
+
altitude?: number;
|
|
105
|
+
acoes?: PopupAcaoCAD[];
|
|
106
|
+
}
|
|
107
|
+
export interface Segmento {
|
|
108
|
+
ponto_inicio_id: number;
|
|
109
|
+
ponto_fim_id: number;
|
|
110
|
+
tipo_limite_sigef?: string;
|
|
111
|
+
tipo_limite?: string;
|
|
112
|
+
metodo_posicionamento_sigef?: string;
|
|
113
|
+
metodo_posicionamento?: string;
|
|
114
|
+
}
|
|
115
|
+
export interface BancoPonto extends Ponto {
|
|
116
|
+
codigo_completo?: string;
|
|
117
|
+
este?: number;
|
|
118
|
+
norte?: number;
|
|
119
|
+
altitude?: number;
|
|
120
|
+
metodo_posicionamento?: string;
|
|
121
|
+
tipo_limite?: string;
|
|
122
|
+
confrontante_descritivo?: string;
|
|
123
|
+
matricula_id?: number;
|
|
124
|
+
planilha_origem?: string;
|
|
125
|
+
}
|
|
126
|
+
export interface Confrontante {
|
|
127
|
+
id?: number | string;
|
|
128
|
+
nome?: string;
|
|
129
|
+
nome_propriedade?: string;
|
|
130
|
+
poligono_wkt?: string;
|
|
131
|
+
pontos?: Ponto[];
|
|
132
|
+
}
|
|
133
|
+
export interface MapaConfiguracoes {
|
|
134
|
+
perimetroWeight: number;
|
|
135
|
+
fechamentoWeight: number;
|
|
136
|
+
vizinhoWeight: number;
|
|
137
|
+
bancoWeight: number;
|
|
138
|
+
markerSizeBase: number;
|
|
139
|
+
markerStyleM?: string;
|
|
140
|
+
markerSizeM?: number;
|
|
141
|
+
markerStyleP?: string;
|
|
142
|
+
markerSizeP?: number;
|
|
143
|
+
markerStyleV?: string;
|
|
144
|
+
markerSizeV?: number;
|
|
145
|
+
enableAnimations: boolean;
|
|
146
|
+
preferCanvas: boolean;
|
|
147
|
+
crosshair?: boolean;
|
|
148
|
+
satOpacity?: number;
|
|
149
|
+
magnetSnap?: boolean;
|
|
150
|
+
scaleMode?: ScaleMode;
|
|
151
|
+
}
|
|
152
|
+
export interface CanvasRenderContext {
|
|
153
|
+
pontos?: Ponto[];
|
|
154
|
+
segmentos?: Segmento[];
|
|
155
|
+
bancoPontos?: BancoPonto[];
|
|
156
|
+
confrontantes?: Confrontante[];
|
|
157
|
+
config: MapaConfiguracoes;
|
|
158
|
+
graphicScale: CanvasGraphicScale;
|
|
159
|
+
apiBaseUrl?: string;
|
|
160
|
+
modoSequencial?: boolean;
|
|
161
|
+
chaveGrupo?: string;
|
|
162
|
+
zonaProjecao?: number;
|
|
163
|
+
onMarkerClick?: (pontoId: string | number, isVizinho?: boolean, elemento?: any, coords?: {
|
|
164
|
+
lat: number;
|
|
165
|
+
lon: number;
|
|
166
|
+
}) => void;
|
|
167
|
+
onLayerAction?: (action: string, detail: any) => void;
|
|
168
|
+
onPopupAcao?: (acaoId: string, elementoId: string | number, elemento: any) => void;
|
|
169
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { PopupAcaoCAD } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Utilitários auxiliares para o ecossistema Canvas/Mapa do GerenciGeo
|
|
4
|
+
*/
|
|
5
|
+
export declare const escapeHtml: (unsafe: string | null | undefined) => string;
|
|
6
|
+
export declare const formatUTM: (val: number | null | undefined, casas?: number) => string;
|
|
7
|
+
export interface CoordenadaGeo {
|
|
8
|
+
lat: number;
|
|
9
|
+
lon: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Converte e valida coordenadas geográficas (Lat/Lon) em graus decimais WGS-84.
|
|
13
|
+
* - Trata números e strings no formato brasileiro (vírgula como separador decimal: "-23,7661")
|
|
14
|
+
* - Filtra valores inválidos, NaN, Null Island (0, 0)
|
|
15
|
+
* - Identifica e rejeita coordenadas planas métricas (UTM/SIRGAS2000 acima de 90°/180°)
|
|
16
|
+
*/
|
|
17
|
+
export declare const parseCoordenada: (rawLat: any, rawLon: any) => CoordenadaGeo | null;
|
|
18
|
+
/**
|
|
19
|
+
* Gera o HTML dos botões de ação customizados para o rodapé do popup.
|
|
20
|
+
*/
|
|
21
|
+
export declare const renderPopupAcoesHtml: (acoes: PopupAcaoCAD[] | undefined | null, elementoId: string | number) => string;
|
|
22
|
+
/**
|
|
23
|
+
* Associa os eventos de clique nos botões de ação renderizados dentro do popup do Leaflet.
|
|
24
|
+
*/
|
|
25
|
+
export declare const bindPopupAcoesEvents: (popup: any, elemento: any, context: {
|
|
26
|
+
onPopupAcao?: (acaoId: string, elementoId: string | number, elemento: any) => void;
|
|
27
|
+
}, sourceLayer?: any) => void;
|
|
28
|
+
/**
|
|
29
|
+
* Agrupa coleção de pontos geométricos por uma chave de grupo genérica.
|
|
30
|
+
* Prioridade de resolução da chave:
|
|
31
|
+
* 1. ponto[chaveGrupo] (se chaveGrupo for fornecida explicitamente)
|
|
32
|
+
* 2. ponto.grupoId
|
|
33
|
+
* 3. ponto.grupoKey
|
|
34
|
+
* 4. ponto.matricula_id (como `mat_${matricula_id}`)
|
|
35
|
+
* 5. ponto.planilha_origem
|
|
36
|
+
* 6. 'padrao'
|
|
37
|
+
*/
|
|
38
|
+
export declare const agruparPontosPorChave: (pontos: any[], chaveGrupo?: string) => Record<string, any[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Ordena pontos de um grupo por sua propriedade de sequência (ordem, indice, index, seq, ordem_caminhamento, id).
|
|
41
|
+
*/
|
|
42
|
+
export declare const ordenarPontosPorSequencia: (pontos: any[]) => any[];
|
|
43
|
+
/**
|
|
44
|
+
* Extrai o centroide geográfico (Lat, Lon) a partir de uma representação WKT (ex: POLYGON, MULTIPOLYGON, POINT, LINESTRING).
|
|
45
|
+
*/
|
|
46
|
+
export declare const extrairCentroDeWkt: (wkt: string | null | undefined) => CoordenadaGeo | null;
|