@tak-ps/cloudtak 13.60.1 → 13.62.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/dist/types/src/base/cot.d.ts +21 -0
- package/dist/types/src/components/CloudTAK/CoreEventView.vue.d.ts +8 -1
- package/dist/types/src/components/CloudTAK/Property/PropertyCoreEventChannels.vue.d.ts +3 -0
- package/dist/types/src/components/CloudTAK/util/FeatureIcon.vue.d.ts +2 -2
- package/dist/types/src/stores/map.d.ts +8 -0
- package/dist/types/src/types.d.ts +8 -0
- package/dist/types/src/workers/atlas-connection.d.ts +7 -0
- package/dist/types/src/workers/atlas-database.d.ts +13 -0
- package/package.json +1 -1
|
@@ -10,6 +10,27 @@ export declare enum OriginMode {
|
|
|
10
10
|
MISSION = "Mission"
|
|
11
11
|
}
|
|
12
12
|
export declare const RENDERED_PROPERTIES: string[];
|
|
13
|
+
/**
|
|
14
|
+
* MIL-STD symbols render from an icon id of the form `2525<Variant>:<SIDC>` - a
|
|
15
|
+
* key into the Icon Manager's generated symbols
|
|
16
|
+
*
|
|
17
|
+
* It is a CloudTAK rendering detail, not TAK data: no client can resolve one as
|
|
18
|
+
* an Iconset path, and an unresolvable `usericon` detail takes precedence over
|
|
19
|
+
* (and so suppresses) the 2525 symbol the receiving client would otherwise
|
|
20
|
+
* render from the SIDC. It is therefore never stored on a Feature - see
|
|
21
|
+
* {@link renderedIcon}
|
|
22
|
+
*/
|
|
23
|
+
export declare const MILSYM_ICON: RegExp;
|
|
24
|
+
/**
|
|
25
|
+
* The icon id a Feature renders with, on the map and in list views alike
|
|
26
|
+
*
|
|
27
|
+
* `properties.icon` holds only an icon the user picked or a TAK client sent, so
|
|
28
|
+
* it wins. Everything else is derived here rather than stored: a MIL-STD symbol
|
|
29
|
+
* is a pure function of the Feature's SIDC, and persisting the derived key both
|
|
30
|
+
* staled it against later type edits and leaked it onto the wire as a junk
|
|
31
|
+
* `usericon` iconsetpath
|
|
32
|
+
*/
|
|
33
|
+
export declare function renderedIcon(properties: Feature["properties"]): string | undefined;
|
|
13
34
|
export default class COT {
|
|
14
35
|
id: string;
|
|
15
36
|
instance: string;
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
eventId?: string;
|
|
3
|
+
};
|
|
4
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
5
|
+
close: () => any;
|
|
6
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
7
|
+
onClose?: (() => any) | undefined;
|
|
8
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
2
9
|
declare const _default: typeof __VLS_export;
|
|
3
10
|
export default _default;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import type { CoreEventBoardSummary } from '../../../types.ts';
|
|
1
2
|
type __VLS_Props = {
|
|
2
3
|
/** TAK Server Channel bitpositions the Event is shared with */
|
|
3
4
|
modelValue: Array<number>;
|
|
5
|
+
/** Boards of the Event's Channels & the Column the Event sits in on each */
|
|
6
|
+
boards?: Array<CoreEventBoardSummary>;
|
|
4
7
|
edit?: boolean;
|
|
5
8
|
};
|
|
6
9
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
declare const _default: typeof __VLS_export;
|
|
2
|
+
export default _default;
|
|
1
3
|
declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
4
|
feature: {
|
|
3
5
|
type: ObjectConstructor;
|
|
@@ -19,5 +21,3 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
19
21
|
}>> & Readonly<{}>, {
|
|
20
22
|
size: number;
|
|
21
23
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
22
|
-
declare const _default: typeof __VLS_export;
|
|
23
|
-
export default _default;
|
|
@@ -28,6 +28,7 @@ export declare const useMapStore: import("pinia").StoreDefinition<"cloudtak", {
|
|
|
28
28
|
_bottomBar?: unknown;
|
|
29
29
|
_removeOrientationListener?: () => Promise<void>;
|
|
30
30
|
_resumeRecovery?: Promise<void>;
|
|
31
|
+
_cotResync?: Promise<void>;
|
|
31
32
|
_removeBackgroundStateListener?: () => void;
|
|
32
33
|
_removePushTokenListener?: () => void;
|
|
33
34
|
channel: BroadcastChannel;
|
|
@@ -126,6 +127,13 @@ export declare const useMapStore: import("pinia").StoreDefinition<"cloudtak", {
|
|
|
126
127
|
*/
|
|
127
128
|
sweepDirtyMissions: () => Promise<void>;
|
|
128
129
|
updateCOT: () => Promise<void>;
|
|
130
|
+
/**
|
|
131
|
+
* Rebuild the CoT GeoJSON source wholesale from the worker's full
|
|
132
|
+
* feature state. Used on app resume and as recovery whenever an
|
|
133
|
+
* incremental diff was consumed from the worker but failed to apply -
|
|
134
|
+
* without this those features would never render again.
|
|
135
|
+
*/
|
|
136
|
+
resyncCOT: () => Promise<void>;
|
|
129
137
|
/**
|
|
130
138
|
* Repaint a Mission overlay's source from locally stored features -
|
|
131
139
|
* no network or Active Mission side effects, safe for the dirty sweep
|
|
@@ -34,6 +34,14 @@ export type CoreEvent = paths["/api/core/event/{:event}"]["get"]["responses"]["2
|
|
|
34
34
|
export type CoreEventList = paths["/api/core/event"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
35
35
|
export type CoreEventLink = CoreEvent["links"][0];
|
|
36
36
|
export type CoreEventStyle = CoreEvent["style"];
|
|
37
|
+
export type CoreEventBoardSummary = CoreEvent["boards"][0];
|
|
38
|
+
export type CoreEventBoardColumnSummary = CoreEventBoardSummary["columns"][0];
|
|
39
|
+
export type CoreEventBoardList = paths["/api/board"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
40
|
+
export type CoreEventBoard = CoreEventBoardList["items"][0];
|
|
41
|
+
export type CoreEventBoardColumnList = paths["/api/board/column"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
42
|
+
export type CoreEventBoardColumn = CoreEventBoardColumnList["items"][0];
|
|
43
|
+
export type CoreEventBoardEventList = paths["/api/board/event"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
44
|
+
export type CoreEventBoardEvent = CoreEventBoardEventList["items"][0];
|
|
37
45
|
export type Contact = paths["/api/marti/api/contacts/all"]["get"]["responses"]["200"]["content"]["application/json"][0];
|
|
38
46
|
export type ContactList = paths["/api/marti/api/contacts/all"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
39
47
|
export type Content = paths["/api/marti/package"]["put"]["responses"]["200"]["content"]["application/json"];
|
|
@@ -11,6 +11,13 @@ export default class AtlasConnection {
|
|
|
11
11
|
private reconnectTimer;
|
|
12
12
|
constructor(atlas: Atlas);
|
|
13
13
|
reconnect(connection: string): void;
|
|
14
|
+
/**
|
|
15
|
+
* Called when the app returns to the foreground. iOS suspension can kill
|
|
16
|
+
* the TCP connection with no FIN reaching the client (NAT/LB idle
|
|
17
|
+
* timeout), so no close event ever fires and `isOpen` cannot be trusted -
|
|
18
|
+
* always rebuild the socket unless the user has logged out.
|
|
19
|
+
*/
|
|
20
|
+
resume(connection: string): void;
|
|
14
21
|
connect(connection: string): void;
|
|
15
22
|
private scheduleReconnect;
|
|
16
23
|
private isAuthRejected;
|
|
@@ -3,6 +3,7 @@ import COT from '../base/cot.ts';
|
|
|
3
3
|
import type { GeoJSONSourceDiff } from 'maplibre-gl';
|
|
4
4
|
import type { Polygon } from 'geojson';
|
|
5
5
|
import type { InputFeature, Feature } from '../types.ts';
|
|
6
|
+
import type { Feature as GeoJSONFeature, Geometry as GeoJSONGeometry } from 'geojson';
|
|
6
7
|
import * as Comlink from 'comlink';
|
|
7
8
|
import AtlasBreadcrumb from './atlas-breadcrumb.ts';
|
|
8
9
|
type NestedArray = {
|
|
@@ -44,6 +45,18 @@ export default class AtlasDatabase {
|
|
|
44
45
|
* Generate a GeoJSONDiff on existing COT Features
|
|
45
46
|
*/
|
|
46
47
|
diff(): Promise<GeoJSONSourceDiff>;
|
|
48
|
+
/**
|
|
49
|
+
* Has a CoT's stale time exceeded the user's configured display window
|
|
50
|
+
*/
|
|
51
|
+
static staleElapsed(display_stale: string, stale: number, now: number): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Full-state render of every visible CoT, for replacing the map source
|
|
54
|
+
* contents wholesale via setData. diff() consumes its pending queues
|
|
55
|
+
* even when the main thread fails to apply the result, so a lost diff
|
|
56
|
+
* (or any doubt after an app resume) is recovered here; the queues are
|
|
57
|
+
* cleared as the snapshot supersedes them.
|
|
58
|
+
*/
|
|
59
|
+
snapshot(): Promise<Array<GeoJSONFeature<GeoJSONGeometry, Record<string, unknown>>>>;
|
|
47
60
|
/**
|
|
48
61
|
* Iterate over all CoTs and delete toTs that match the filter pattern
|
|
49
62
|
* @param filter - JSONata filter expression to match CoTs against
|