@thibezer/ui-components-kit 2.8.0 → 2.8.1
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/CHANGELOG.md +284 -265
- package/README.md +815 -815
- package/dist/camadas.cjs +98 -94
- package/dist/camadas.js +646 -574
- package/dist/canvas.cjs +28 -28
- package/dist/canvas.js +1110 -980
- package/dist/components/ui-camadas/camadas-host.d.ts +1 -0
- package/dist/components/ui-camadas/camadas-mapas-base.d.ts +3 -1
- package/dist/components/ui-camadas/camadas-render.d.ts +1 -0
- package/dist/components/ui-camadas/camadas-selecao.d.ts +12 -0
- package/dist/components/ui-camadas/ui-camadas.d.ts +5 -0
- package/dist/components/ui-canvas-cad/cad-feicoes-ponteiro.d.ts +4 -0
- package/dist/components/ui-canvas-cad/cad-feicoes.d.ts +13 -0
- package/dist/components/ui-canvas-cad/ui-canvas-cad.d.ts +11 -0
- package/dist/custom-elements.json +15439 -15122
- package/dist/gerencigeo-canvas/canvas_interacao.d.ts +0 -1
- package/dist/gerencigeo-canvas/feature_popup.d.ts +2 -0
- package/dist/gerencigeo-canvas/mapa_core.d.ts +6 -0
- package/dist/gerencigeo-canvas/popup_gate.d.ts +30 -0
- package/dist/gerencigeo-canvas/zoom_opcoes.d.ts +10 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +44 -42
- package/dist/tipos-elementos.d.ts +13 -3
- package/dist/tipos-vue.d.ts +10 -3
- package/package.json +1 -1
|
@@ -12,6 +12,7 @@ export interface CamadasHostCompleto extends UICamadasHost {
|
|
|
12
12
|
readonly mapaBaseAtivo: string;
|
|
13
13
|
definirCamadaAtiva(camadaId: string, emitirEvento?: boolean): void;
|
|
14
14
|
selecionarMapaBase(id: string, emitirEvento?: boolean): void;
|
|
15
|
+
alternarMapasBaseRecolhido(emitirEvento?: boolean): void;
|
|
15
16
|
selecionarFeicao(feicaoId: string, acumular?: boolean, intervalo?: boolean, emitirEvento?: boolean): void;
|
|
16
17
|
limparSelecao(emitirEvento?: boolean): void;
|
|
17
18
|
notificarMudancaSelecao(): void;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { MapaBaseItem } from './tipos';
|
|
2
2
|
export declare const MAPAS_BASE_PADRAO: MapaBaseItem[];
|
|
3
|
-
|
|
3
|
+
/** Nome do mapa base ativo, para o cabeçalho da seção (vazio se o id não existir na lista). */
|
|
4
|
+
export declare function nomeDoMapaBase(mapasBase: MapaBaseItem[], id: string): string;
|
|
5
|
+
export declare function renderizarGridMapasBase(mapasBase?: MapaBaseItem[], mapaBaseAtivo?: string, recolhido?: boolean): string;
|
|
@@ -8,6 +8,7 @@ export interface HostRenderizavel extends CamadasHostCompleto {
|
|
|
8
8
|
editingFeatureId: string | null;
|
|
9
9
|
readonly flutuante: boolean;
|
|
10
10
|
readonly mostrarMapasBase: boolean;
|
|
11
|
+
readonly mapasBaseRecolhido: boolean;
|
|
11
12
|
readonly mostrarRodape: boolean;
|
|
12
13
|
getAttribute(nome: string): string | null;
|
|
13
14
|
}
|
|
@@ -8,6 +8,18 @@ export declare const LIMITE_FEICOES_POR_CAMADA = 80;
|
|
|
8
8
|
* Filtra feições pelo termo de busca (nome, categoria ou tipo). Sem termo, retorna todas.
|
|
9
9
|
*/
|
|
10
10
|
export declare function filtrarFeicoesPorBusca(feicoes: FeicaoItem[], termo: string): FeicaoItem[];
|
|
11
|
+
export interface ResultadoBuscaCamadas {
|
|
12
|
+
/** Camadas que permanecem na árvore: as que casam, seus ancestrais e as subcamadas de quem casa pelo nome. */
|
|
13
|
+
camadasVisiveis: Set<string>;
|
|
14
|
+
/** Feições mostradas em cada camada visível (todas, se a camada casa pelo nome; senão, só as que casam). */
|
|
15
|
+
feicoesPorCamada: Map<string, FeicaoItem[]>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Busca em toda a árvore: casa pelo nome da camada ou pelos dados das feições (ver `filtrarFeicoesPorBusca`).
|
|
19
|
+
* Mantém os grupos ancestrais de cada resultado e, quando um grupo casa pelo nome, suas subcamadas.
|
|
20
|
+
* Sem termo, retorna `null` (nada a filtrar). Tolera nomes ausentes e ciclos de `parentId`.
|
|
21
|
+
*/
|
|
22
|
+
export declare function filtrarCamadasPorBusca(camadas: CamadaItem[], feicoes: FeicaoItem[], termo: string): ResultadoBuscaCamadas | null;
|
|
11
23
|
/**
|
|
12
24
|
* IDs de feições efetivamente exibidas na árvore, na ordem da tela:
|
|
13
25
|
* respeita camadas expandidas (todas, durante uma busca), o filtro de busca e o limite de linhas.
|
|
@@ -40,6 +40,11 @@ export declare class UICamadas extends SafeHTMLElement implements CamadasHostCom
|
|
|
40
40
|
set mapaBaseAtivo(valor: string);
|
|
41
41
|
selecionarMapaBase(id: string, emitirEvento?: boolean): void;
|
|
42
42
|
private marcarMapaBaseAtivoNoDOM;
|
|
43
|
+
/** Seção "Mapa Base" recolhida (só o cabeçalho com o mapa ativo). Atributo `mapas-base-recolhido`. */
|
|
44
|
+
get mapasBaseRecolhido(): boolean;
|
|
45
|
+
set mapasBaseRecolhido(valor: boolean);
|
|
46
|
+
/** Alterna a seção de mapas base; com `emitirEvento`, dispara `ui-mapas-base-recolhimento`. */
|
|
47
|
+
alternarMapasBaseRecolhido(emitirEvento?: boolean): void;
|
|
43
48
|
get abaAtiva(): AbaPainelCamadas;
|
|
44
49
|
set abaAtiva(aba: AbaPainelCamadas);
|
|
45
50
|
get colapsado(): boolean;
|
|
@@ -9,6 +9,8 @@ export interface PortasPonteiro {
|
|
|
9
9
|
interacaoAtiva: () => boolean;
|
|
10
10
|
/** Se há ferramenta ativa, entrega a ela o botão direito e devolve `true` (não abre menu). */
|
|
11
11
|
botaoDireitoDaFerramenta: () => boolean;
|
|
12
|
+
/** Pedido explícito de informações: abre o popup da feição. */
|
|
13
|
+
abrirPopup?: (feicao: Feicao) => void;
|
|
12
14
|
}
|
|
13
15
|
export declare class PonteiroFeicoes {
|
|
14
16
|
private p;
|
|
@@ -19,6 +21,8 @@ export declare class PonteiroFeicoes {
|
|
|
19
21
|
aoMoverMouse(e: MouseEvent): void;
|
|
20
22
|
/** Botão direito: emite `cad-feicao-menu` com a feição sob o cursor (ou `null`), para o consumidor abrir o próprio menu. */
|
|
21
23
|
menuContexto(e: MouseEvent): void;
|
|
24
|
+
/** Duplo clique sobre uma feição: pedido de informações (popup). Ignorado durante desenho ou edição de vértices. */
|
|
25
|
+
duploClique(e: MouseEvent): void;
|
|
22
26
|
/** Esquece a feição sob o cursor (ao destruir o componente). */
|
|
23
27
|
limpar(): void;
|
|
24
28
|
}
|
|
@@ -11,6 +11,7 @@ import { EditorVertices } from '../../gerencigeo-canvas/feature_editor_vertices'
|
|
|
11
11
|
import { ControleDesenho } from '../../gerencigeo-canvas/feature_desenho_controle';
|
|
12
12
|
import { Ferramenta } from '../../gerencigeo-canvas/feature_desenho';
|
|
13
13
|
import { MargensHud } from '../../gerencigeo-canvas/feature_hud';
|
|
14
|
+
import { ModoPopups } from '../../gerencigeo-canvas/popup_gate';
|
|
14
15
|
import { TIPO_CAMADA_FEICOES, OpcoesCamadaFeicoes, OpcoesLote, AtualizacaoFeicao, LoteFeicoes, ResultadoLote, ResultadoFeicoes, OpcoesPopup, ResultadoFerramenta, ResultadoEdicao } from './cad-feicoes-tipos';
|
|
15
16
|
export { TIPO_CAMADA_FEICOES };
|
|
16
17
|
export type { OpcoesCamadaFeicoes, OpcoesLote, AtualizacaoFeicao, LoteFeicoes, ResultadoLote, ResultadoFeicoes, OpcoesPopup, ResultadoFerramenta, ResultadoEdicao };
|
|
@@ -25,6 +26,13 @@ interface Contexto {
|
|
|
25
26
|
aoFerramenta?: (ferramenta: Ferramenta | null) => void;
|
|
26
27
|
/** Regra de oficial × prévia compartilhada com o renderizador (o componente a põe no contexto de renderização). */
|
|
27
28
|
regra?: RegraVersoes;
|
|
29
|
+
/**
|
|
30
|
+
* Quando o popup da feição abre: `sob-demanda` (padrão do componente) só por duplo clique ou `abrirPopupFeicao`;
|
|
31
|
+
* `automatico` também ao selecionar uma feição. Sem esta função (uso direto do gerenciador), vale `automatico`.
|
|
32
|
+
*/
|
|
33
|
+
modoPopups?: () => ModoPopups;
|
|
34
|
+
/** Executa a abertura de um popup como pedido explícito, passando pelo portão de popups do mapa. */
|
|
35
|
+
liberarPopups?: <T>(fn: () => T) => T;
|
|
28
36
|
}
|
|
29
37
|
export declare class GerenciadorFeicoes {
|
|
30
38
|
private contexto;
|
|
@@ -80,6 +88,11 @@ export declare class GerenciadorFeicoes {
|
|
|
80
88
|
selecionarNaCaixa(caixa: CaixaPx, modo: ModoCaixa, aditivo: boolean): void;
|
|
81
89
|
definirMargensPopup(m: Partial<MargensPopup>): void;
|
|
82
90
|
fecharPopup(): void;
|
|
91
|
+
private modoPopups;
|
|
92
|
+
/** Pedido explícito: abre o popup da feição (vale em qualquer modo). `false` se não existe, foi excluída ou não está na tela. */
|
|
93
|
+
abrirPopupFeicao(camadaId: string, id: string): boolean;
|
|
94
|
+
/** Duplo clique no mapa: abre o popup da feição sob o cursor (a não ser que os popups estejam desligados). */
|
|
95
|
+
aoDuploClique(e: MouseEvent): void;
|
|
83
96
|
/** Opções do popup (hoje: se "copiar" escreve na área de transferência). Mescla com o que já foi definido. */
|
|
84
97
|
definirOpcoesPopup(opcoes: OpcoesPopup): void;
|
|
85
98
|
obterOpcoesPopup(): Required<OpcoesPopup>;
|
|
@@ -2,6 +2,7 @@ import { default as L } from 'leaflet';
|
|
|
2
2
|
import { Ponto, Segmento, BancoPonto, Confrontante, CanvasLayerState, CanvasGraphicScale, ScaleMode, PontoCAD, ConexaoCAD, PoligonoCAD, DestacarElementoOpcoes } from '../../gerencigeo-canvas/types';
|
|
3
3
|
import { GerenciGeoMapaController } from '../../gerencigeo-canvas/mapa_controller';
|
|
4
4
|
import { CanvasLayerManager } from '../../gerencigeo-canvas/layer_manager';
|
|
5
|
+
import { ModoPopups } from '../../gerencigeo-canvas/popup_gate';
|
|
5
6
|
import { UsuarioRemoto } from '../../gerencigeo-canvas/feature_cursores';
|
|
6
7
|
import { EventoMapaCad, LatLngEvento } from './tipos';
|
|
7
8
|
import { PontoPixel } from './cad-evento-coordenadas';
|
|
@@ -72,6 +73,13 @@ export declare class UICanvasCAD extends SafeHTMLElement {
|
|
|
72
73
|
*/
|
|
73
74
|
get aceitarOrigem(): boolean;
|
|
74
75
|
set aceitarOrigem(val: boolean);
|
|
76
|
+
/**
|
|
77
|
+
* Quando os popups abrem (atributo `popups`): `sob-demanda` (padrão) só por duplo clique sobre a feição/camada ou por
|
|
78
|
+
* `abrirPopupFeicao()`, sem mover o mapa; `automatico` abre ao clicar e o Leaflet ajusta a vista (comportamento antigo);
|
|
79
|
+
* `desligado` só por `abrirPopupFeicao()`. Valor inválido usa o padrão.
|
|
80
|
+
*/
|
|
81
|
+
get popups(): ModoPopups;
|
|
82
|
+
set popups(val: ModoPopups);
|
|
75
83
|
get modoSequencial(): boolean;
|
|
76
84
|
set modoSequencial(val: boolean);
|
|
77
85
|
get chaveGrupo(): string | undefined;
|
|
@@ -82,6 +90,7 @@ export declare class UICanvasCAD extends SafeHTMLElement {
|
|
|
82
90
|
set canalConfiguracao(val: string | null);
|
|
83
91
|
fitBounds(pontos?: Ponto[], padding?: [number, number], incluirVizinhos?: boolean): void;
|
|
84
92
|
zoomExtents(): void;
|
|
93
|
+
/** Seleciona o vértice. A vista só se move (e o popup abre) se `zoomLevel` for informado: é o pedido de "ir até o ponto". */
|
|
85
94
|
selectPonto(id: string | number, zoomLevel?: number): void;
|
|
86
95
|
selecionarPonto(id: string | number, zoomLevel?: number): void;
|
|
87
96
|
get pontosSelecionados(): (string | number)[];
|
|
@@ -206,6 +215,8 @@ export declare class UICanvasCAD extends SafeHTMLElement {
|
|
|
206
215
|
removerCursorRemoto(id: string): boolean;
|
|
207
216
|
limparCursoresRemotos(): void;
|
|
208
217
|
fecharPopupFeicao(): void;
|
|
218
|
+
/** Abre o popup da feição (pedido explícito, vale em qualquer modo de `popups`). `false` se ela não existe ou não está na tela. */
|
|
219
|
+
abrirPopupFeicao(camadaId: string, id: string): boolean;
|
|
209
220
|
/**
|
|
210
221
|
* Opções do popup. `copiarParaAreaDeTransferencia` (padrão `true`): a ação "copiar" também grava as coordenadas na área de
|
|
211
222
|
* transferência; com `false` só sai `cad-feicao-acao` e o consumidor decide (ex.: para mostrar o próprio aviso).
|