@tak-ps/cloudtak 13.45.1 → 13.47.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/capacitor.d.ts +4 -9
- package/dist/types/src/base/chatroom.d.ts +1 -7
- package/dist/types/src/base/feature.d.ts +5 -7
- package/dist/types/src/base/filter.d.ts +0 -7
- package/dist/types/src/base/interface.d.ts +1 -9
- package/dist/types/src/base/overlay-class.d.ts +0 -3
- package/dist/types/src/base/push.d.ts +1 -5
- package/dist/types/src/base/subscription-feature.d.ts +0 -3
- package/dist/types/src/base/subscription.d.ts +5 -20
- package/dist/types/src/components/CloudTAK/Menu/Basemaps/EditModal.vue.d.ts +1 -0
- package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLayers.vue.d.ts +1 -4
- package/dist/types/src/components/CloudTAK/util/Contact.vue.d.ts +3 -1
- package/dist/types/src/components/CloudTAK/util/InlineExpiration.vue.d.ts +1 -1
- package/dist/types/src/components/CloudTAK/util/InlineKeywords.vue.d.ts +1 -1
- package/dist/types/src/components/util/Upload.vue.d.ts +0 -1
- package/dist/types/src/stores/device.d.ts +2 -86
- package/dist/types/src/types.d.ts +1 -0
- package/dist/types/src/workers/atlas-database.d.ts +14 -0
- package/package.json +7 -6
- package/dist/types/src/components/CloudTAK/Menu/Overlays/TreeMission.vue.d.ts +0 -7
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
export declare function isNativePlatform(): boolean;
|
|
2
2
|
export declare function supportsServiceWorker(): boolean;
|
|
3
3
|
/**
|
|
4
|
-
* Subscribe to foreground/background transitions
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* `
|
|
8
|
-
* WebView. On web we fall back to the Page Visibility API.
|
|
9
|
-
*
|
|
10
|
-
* The handler is invoked with `true` when the app is backgrounded and `false`
|
|
11
|
-
* when it returns to the foreground. Returns a function that removes the
|
|
12
|
-
* listener.
|
|
4
|
+
* Subscribe to foreground/background transitions. On native we use Capacitor's
|
|
5
|
+
* `App.appStateChange` because the web `visibilitychange` API is unreliable
|
|
6
|
+
* inside an iOS WebView. The handler receives `true` when backgrounded and
|
|
7
|
+
* `false` when foregrounded; returns a function that removes the listener.
|
|
13
8
|
*/
|
|
14
9
|
export declare function addBackgroundStateListener(handler: (isBackgrounded: boolean) => void): Promise<() => void>;
|
|
15
10
|
export declare function openExternalUrl(url: string | URL): Promise<void>;
|
|
@@ -4,8 +4,6 @@ import { type Observable } from 'dexie';
|
|
|
4
4
|
import type { ProfileChatroomList, ProfileChatList } from '../types.ts';
|
|
5
5
|
/**
|
|
6
6
|
* High Level Wrapper around the Profile Chatroom API
|
|
7
|
-
*
|
|
8
|
-
* @property {string} name - The name of the chatroom
|
|
9
7
|
*/
|
|
10
8
|
export default class Chatroom {
|
|
11
9
|
name: string;
|
|
@@ -17,11 +15,7 @@ export default class Chatroom {
|
|
|
17
15
|
*/
|
|
18
16
|
static from(name: string): Promise<Chatroom | undefined>;
|
|
19
17
|
/**
|
|
20
|
-
* Loads an existing Chatroom from the local DB and refresh it
|
|
21
|
-
*
|
|
22
|
-
* @param name - The unique identifier for the chatroom
|
|
23
|
-
* @param opts - Options for loading the chatroom
|
|
24
|
-
* @param opts.reload - Whether to reload the chatroom from the local DB
|
|
18
|
+
* Loads an existing Chatroom from the local DB and refresh it.
|
|
25
19
|
*/
|
|
26
20
|
static load(name: string, opts?: {
|
|
27
21
|
reload?: boolean;
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* FeatureManager
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* listing with filters, downloading, and deleting features.
|
|
2
|
+
* FeatureManager manages Features in both the API and the dexie database,
|
|
3
|
+
* implementing BaseInterface with Feature-specific methods (counting, listing
|
|
4
|
+
* with filters, downloading, deleting).
|
|
6
5
|
*
|
|
7
|
-
* Note
|
|
8
|
-
*
|
|
9
|
-
* that re-rendering is triggered.
|
|
6
|
+
* Note: it does not trigger re-rendering in the map stack, so it must be used
|
|
7
|
+
* alongside cot.ts or atlas-database.ts to ensure re-rendering happens.
|
|
10
8
|
*/
|
|
11
9
|
import { type Observable } from 'dexie';
|
|
12
10
|
import { type DBFeature } from '../database.ts';
|
|
@@ -5,13 +5,6 @@ import jsonata from 'jsonata';
|
|
|
5
5
|
*
|
|
6
6
|
* TODO: Once all COTs are in IndexDB, apply the filter on to a new field in the COT
|
|
7
7
|
* called "filtered": [ <filterid>, ... ] so we don't have to re-evaluate the filter each time
|
|
8
|
-
*
|
|
9
|
-
* @property {string} id - The unique identifier for the filter
|
|
10
|
-
* @property {string} external - The external ID of the filter
|
|
11
|
-
* @property {string} name - The name of the filter
|
|
12
|
-
* @property {string} source - The source of the filter
|
|
13
|
-
* @property {boolean} internal - Whether the filter is internal
|
|
14
|
-
* @property {string} query - The JSONata query string for the filter
|
|
15
8
|
*/
|
|
16
9
|
export default class Filter {
|
|
17
10
|
id: string;
|
|
@@ -41,14 +41,11 @@ export default class BaseInterface {
|
|
|
41
41
|
/**
|
|
42
42
|
* Returns a single item from the database by its unique identifier
|
|
43
43
|
*
|
|
44
|
-
* @param
|
|
45
|
-
* @param opts - Optional parameters for fetching the item, such as whether to trigger a sync before fetching
|
|
44
|
+
* @param opts - Optional parameters, such as whether to trigger a sync before fetching
|
|
46
45
|
*/
|
|
47
46
|
static from(id: string, opts?: BaseInterface_FromOptions): Promise<unknown>;
|
|
48
47
|
/**
|
|
49
48
|
* Returns a single item from the database by its unique identifier and updates in real-time when the item changes
|
|
50
|
-
*
|
|
51
|
-
* @param id - The unique identifier of the item to retrieve
|
|
52
49
|
*/
|
|
53
50
|
static liveFrom(id: string): Observable<unknown>;
|
|
54
51
|
/**
|
|
@@ -57,15 +54,10 @@ export default class BaseInterface {
|
|
|
57
54
|
static generate(data: unknown): Promise<unknown>;
|
|
58
55
|
/**
|
|
59
56
|
* Updates an item in the database by its unique identifier and attempts to update it via the API
|
|
60
|
-
*
|
|
61
|
-
* @param id - The unique identifier of the item to update
|
|
62
|
-
* @param data - The data to update the item with
|
|
63
57
|
*/
|
|
64
58
|
static update(id: string, data: unknown): Promise<void>;
|
|
65
59
|
/**
|
|
66
60
|
* Deletes an item from the database by its unique identifier and attempts to delete it via the API
|
|
67
|
-
*
|
|
68
|
-
* @param id - The unique identifier of the item to delete
|
|
69
61
|
*/
|
|
70
62
|
static delete(id?: unknown): Promise<void>;
|
|
71
63
|
}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import type { ProfileOverlay, ProfileOverlay_Create } from '../types.ts';
|
|
2
2
|
import type { LayerSpecification } from 'maplibre-gl';
|
|
3
3
|
import { type DBOverlay } from '../database.ts';
|
|
4
|
-
/**
|
|
5
|
-
* @class
|
|
6
|
-
*/
|
|
7
4
|
export default class Overlay {
|
|
8
5
|
_destroyed: boolean;
|
|
9
6
|
_internal: boolean;
|
|
@@ -2,11 +2,7 @@
|
|
|
2
2
|
* Register (or refresh) this device's FCM token as a `push` paging source.
|
|
3
3
|
* Safe to call repeatedly — it only writes to the server when the token
|
|
4
4
|
* changes. No-op on non-native platforms or when no token is available.
|
|
5
|
-
*
|
|
6
|
-
* Concurrent calls are serialized through an in-flight promise chain so that
|
|
7
|
-
* each caller awaits a real sync attempt (rather than being dropped while
|
|
8
|
-
* another sync is in progress). The stored-token comparison inside the sync
|
|
9
|
-
* coalesces redundant server writes.
|
|
5
|
+
* Concurrent calls are serialized so each caller awaits a real sync attempt.
|
|
10
6
|
*/
|
|
11
7
|
export declare function syncPushToken(token: string | null): Promise<void>;
|
|
12
8
|
/**
|
|
@@ -27,9 +27,6 @@ export default class SubscriptionFeature {
|
|
|
27
27
|
* This will udpate the feature in the local DB, submit it to the TAK Server and
|
|
28
28
|
* mark the subscription as dirty for a re-render
|
|
29
29
|
*
|
|
30
|
-
* @param atlas - The Atlas instance
|
|
31
|
-
* @param cot - The COT object to upsert
|
|
32
|
-
* @param opts - Options for updating the feature
|
|
33
30
|
* @param opts.skipNetwork - If true, the feature will not be updated on the server - IE in response to a Mission Change event
|
|
34
31
|
*/
|
|
35
32
|
update(atlas: Atlas, cot: COT, opts?: {
|
|
@@ -4,7 +4,7 @@ import SubscriptionContents from './subscription-contents.ts';
|
|
|
4
4
|
import SubscriptionFeature from './subscription-feature.ts';
|
|
5
5
|
import SubscriptionLayer from './subscription-layer.ts';
|
|
6
6
|
import SubscriptionChat from './subscription-chat.ts';
|
|
7
|
-
import type { Mission, MissionRole, MissionList, MissionSubscriptions, MissionInvite } from '../types.ts';
|
|
7
|
+
import type { Mission, MissionRole, MissionRoleType, MissionList, MissionSubscriptions, MissionInvite } from '../types.ts';
|
|
8
8
|
export declare enum SubscriptionEventType {
|
|
9
9
|
CREATE = "subscription::create",
|
|
10
10
|
UPDATE = "subscription::update",
|
|
@@ -20,15 +20,6 @@ export type SubscriptionEvent = {
|
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
22
22
|
* High Level Wrapper around the Data/Mission Sync API
|
|
23
|
-
*
|
|
24
|
-
* @property {string} guid - The unique identifier for the mission
|
|
25
|
-
* @property {string} name - The name of the mission
|
|
26
|
-
* @property {Mission} meta - The mission metadata
|
|
27
|
-
* @property {MissionRole} role - The role of the user in the mission
|
|
28
|
-
* @property {string} token - The CloudTAK Authentication token for API calls
|
|
29
|
-
* @property {string} [missiontoken] - The mission token for authentication
|
|
30
|
-
*
|
|
31
|
-
* @property {boolean} subscribed - Whether the user is subscribed to the mission
|
|
32
23
|
*/
|
|
33
24
|
export default class Subscription {
|
|
34
25
|
guid: string;
|
|
@@ -61,13 +52,6 @@ export default class Subscription {
|
|
|
61
52
|
/**
|
|
62
53
|
* Loads an existing Subscription from the local DB an refreshes it,
|
|
63
54
|
* or creates a new Subscription from the server if it does not exist locally.
|
|
64
|
-
*
|
|
65
|
-
* @param guid - The unique identifier for the mission
|
|
66
|
-
* @param opts - Options for loading the subscription
|
|
67
|
-
* @param opts.token - The CloudTAK Authentication token for API calls
|
|
68
|
-
* @param opts.reload - Whether to reload the mission from the local DB
|
|
69
|
-
* @param opts.missiontoken - The mission token for authentication
|
|
70
|
-
* @param opts.subscribed - Whether the user is subscribed to the mission
|
|
71
55
|
*/
|
|
72
56
|
static load(guid: string, opts: {
|
|
73
57
|
token: string;
|
|
@@ -99,10 +83,7 @@ export default class Subscription {
|
|
|
99
83
|
/**
|
|
100
84
|
* List all locally stored missions, with optional filtering
|
|
101
85
|
*
|
|
102
|
-
* @param filter - Filter options for the local mission list
|
|
103
86
|
* @param filter.role - Filter by minimum role
|
|
104
|
-
* @param filter.subscribed - Filter by subscription status
|
|
105
|
-
* @param filter.dirty - Filter by dirty status
|
|
106
87
|
*/
|
|
107
88
|
static localList(filter?: {
|
|
108
89
|
role?: 'MISSION_OWNER' | 'MISSION_SUBSCRIBER' | 'MISSION_READONLY_SUBSCRIBER';
|
|
@@ -118,6 +99,10 @@ export default class Subscription {
|
|
|
118
99
|
}): Promise<MissionList>;
|
|
119
100
|
static headers(token?: string): Record<string, string>;
|
|
120
101
|
invite(invitee: string, role?: string): Promise<void>;
|
|
102
|
+
changeRole(sub: {
|
|
103
|
+
clientUid: string;
|
|
104
|
+
username: string;
|
|
105
|
+
}, role: MissionRoleType): Promise<void>;
|
|
121
106
|
invites(): Promise<MissionInvite[]>;
|
|
122
107
|
deleteInvite(invite: {
|
|
123
108
|
type: string;
|
|
@@ -11,6 +11,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
|
|
|
11
11
|
id: number;
|
|
12
12
|
created: string;
|
|
13
13
|
updated: string;
|
|
14
|
+
parent: null | number;
|
|
14
15
|
name: string;
|
|
15
16
|
url: string;
|
|
16
17
|
protocol: "zxy" | "mapserver" | "imageserver" | "featureserver" | "hosted";
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import Subscription from '../../../../base/subscription.ts';
|
|
2
2
|
type __VLS_Props = {
|
|
3
|
-
menu?: boolean;
|
|
4
3
|
subscription: Subscription;
|
|
5
4
|
};
|
|
6
|
-
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
7
|
-
menu: boolean;
|
|
8
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
5
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
9
6
|
declare const _default: typeof __VLS_export;
|
|
10
7
|
export default _default;
|
|
@@ -7,9 +7,11 @@ type __VLS_Props = {
|
|
|
7
7
|
hover?: boolean;
|
|
8
8
|
compact?: boolean;
|
|
9
9
|
};
|
|
10
|
-
declare var __VLS_27: {};
|
|
10
|
+
declare var __VLS_27: {}, __VLS_29: {};
|
|
11
11
|
type __VLS_Slots = {} & {
|
|
12
12
|
actions?: (props: typeof __VLS_27) => any;
|
|
13
|
+
} & {
|
|
14
|
+
expanded?: (props: typeof __VLS_29) => any;
|
|
13
15
|
};
|
|
14
16
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
15
17
|
chat: (contact: {
|
|
@@ -44,8 +44,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
|
|
|
44
44
|
background: string;
|
|
45
45
|
shadow: boolean;
|
|
46
46
|
fillHeight: boolean;
|
|
47
|
-
interactive: boolean;
|
|
48
47
|
editable: boolean;
|
|
48
|
+
interactive: boolean;
|
|
49
49
|
editTitle: string;
|
|
50
50
|
containerClass: string;
|
|
51
51
|
borderClass: string;
|
|
@@ -36,8 +36,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
|
|
|
36
36
|
background: string;
|
|
37
37
|
shadow: boolean;
|
|
38
38
|
fillHeight: boolean;
|
|
39
|
-
tone: "muted" | "accent";
|
|
40
39
|
editable: boolean;
|
|
40
|
+
tone: "muted" | "accent";
|
|
41
41
|
editTitle: string;
|
|
42
42
|
containerClass: string;
|
|
43
43
|
borderClass: string;
|
|
@@ -18,7 +18,7 @@ export { OrientationPermission } from './device/orientation.ts';
|
|
|
18
18
|
export { StoragePermission } from './device/storage.ts';
|
|
19
19
|
export { WakeLockPermission } from './device/wake-lock.ts';
|
|
20
20
|
export { NetworkStatus } from './device/network.ts';
|
|
21
|
-
export declare const useDeviceStore: import("pinia").
|
|
21
|
+
export declare const useDeviceStore: import("pinia").SetupStoreDefinition<"device", {
|
|
22
22
|
permissions: {
|
|
23
23
|
notification: BrowserPermissionState;
|
|
24
24
|
storage: BrowserPermissionState;
|
|
@@ -60,88 +60,4 @@ export declare const useDeviceStore: import("pinia").StoreDefinition<"device", P
|
|
|
60
60
|
requestWakeLockPermission: () => Promise<void>;
|
|
61
61
|
requestFileSystemPermission: () => Promise<void>;
|
|
62
62
|
releaseWakeLockSentinel: () => Promise<void>;
|
|
63
|
-
}
|
|
64
|
-
permissions: {
|
|
65
|
-
notification: BrowserPermissionState;
|
|
66
|
-
storage: BrowserPermissionState;
|
|
67
|
-
orientation: BrowserPermissionState;
|
|
68
|
-
location: BrowserPermissionState;
|
|
69
|
-
camera: BrowserPermissionState;
|
|
70
|
-
wakeLock: BrowserPermissionState;
|
|
71
|
-
fileSystem: BrowserPermissionState;
|
|
72
|
-
};
|
|
73
|
-
network: import("vue").Raw<NetworkStatus>;
|
|
74
|
-
geolocation: import("vue").Raw<GeolocationPermission>;
|
|
75
|
-
notification: import("vue").Raw<BrowserNotificationPermission>;
|
|
76
|
-
orientation: import("vue").Raw<OrientationPermission>;
|
|
77
|
-
storage: import("vue").Raw<StoragePermission>;
|
|
78
|
-
camera: import("vue").Raw<CameraPermission>;
|
|
79
|
-
wakeLock: import("vue").Raw<WakeLockPermission>;
|
|
80
|
-
fileSystem: import("vue").Raw<FileSystemPermission>;
|
|
81
|
-
setPermissionStatus: (type: BrowserPermissionType, state: BrowserPermissionState) => void;
|
|
82
|
-
refreshPermissionStatuses: () => Promise<void>;
|
|
83
|
-
initializePermissionSubscriptions: (onLocationGranted?: () => void) => Promise<void>;
|
|
84
|
-
hasOrientationSupport: () => boolean;
|
|
85
|
-
hasOrientationPermissionRequest: () => boolean;
|
|
86
|
-
refreshLocationPermissionStatus: () => Promise<void>;
|
|
87
|
-
refreshNotificationPermissionStatus: () => Promise<void>;
|
|
88
|
-
getMessagingToken: () => string | null;
|
|
89
|
-
refreshMessagingToken: () => Promise<string | null>;
|
|
90
|
-
onMessagingToken: (listener: (token: string | null) => void) => () => void;
|
|
91
|
-
onNotificationAction: (listener: (data: PushNotificationData) => void) => () => void;
|
|
92
|
-
refreshOrientationPermissionStatus: () => Promise<void>;
|
|
93
|
-
refreshStoragePermissionStatus: () => Promise<void>;
|
|
94
|
-
refreshCameraPermissionStatus: () => Promise<void>;
|
|
95
|
-
refreshWakeLockPermissionStatus: () => Promise<void>;
|
|
96
|
-
refreshFileSystemPermissionStatus: () => Promise<void>;
|
|
97
|
-
requestLocationPermission: (onGranted?: () => void) => Promise<void>;
|
|
98
|
-
requestNotificationPermission: () => Promise<void>;
|
|
99
|
-
requestOrientationPermission: () => Promise<void>;
|
|
100
|
-
requestStoragePermission: () => Promise<void>;
|
|
101
|
-
requestCameraPermission: () => Promise<void>;
|
|
102
|
-
requestWakeLockPermission: () => Promise<void>;
|
|
103
|
-
requestFileSystemPermission: () => Promise<void>;
|
|
104
|
-
releaseWakeLockSentinel: () => Promise<void>;
|
|
105
|
-
}, never>, Pick<{
|
|
106
|
-
permissions: {
|
|
107
|
-
notification: BrowserPermissionState;
|
|
108
|
-
storage: BrowserPermissionState;
|
|
109
|
-
orientation: BrowserPermissionState;
|
|
110
|
-
location: BrowserPermissionState;
|
|
111
|
-
camera: BrowserPermissionState;
|
|
112
|
-
wakeLock: BrowserPermissionState;
|
|
113
|
-
fileSystem: BrowserPermissionState;
|
|
114
|
-
};
|
|
115
|
-
network: import("vue").Raw<NetworkStatus>;
|
|
116
|
-
geolocation: import("vue").Raw<GeolocationPermission>;
|
|
117
|
-
notification: import("vue").Raw<BrowserNotificationPermission>;
|
|
118
|
-
orientation: import("vue").Raw<OrientationPermission>;
|
|
119
|
-
storage: import("vue").Raw<StoragePermission>;
|
|
120
|
-
camera: import("vue").Raw<CameraPermission>;
|
|
121
|
-
wakeLock: import("vue").Raw<WakeLockPermission>;
|
|
122
|
-
fileSystem: import("vue").Raw<FileSystemPermission>;
|
|
123
|
-
setPermissionStatus: (type: BrowserPermissionType, state: BrowserPermissionState) => void;
|
|
124
|
-
refreshPermissionStatuses: () => Promise<void>;
|
|
125
|
-
initializePermissionSubscriptions: (onLocationGranted?: () => void) => Promise<void>;
|
|
126
|
-
hasOrientationSupport: () => boolean;
|
|
127
|
-
hasOrientationPermissionRequest: () => boolean;
|
|
128
|
-
refreshLocationPermissionStatus: () => Promise<void>;
|
|
129
|
-
refreshNotificationPermissionStatus: () => Promise<void>;
|
|
130
|
-
getMessagingToken: () => string | null;
|
|
131
|
-
refreshMessagingToken: () => Promise<string | null>;
|
|
132
|
-
onMessagingToken: (listener: (token: string | null) => void) => () => void;
|
|
133
|
-
onNotificationAction: (listener: (data: PushNotificationData) => void) => () => void;
|
|
134
|
-
refreshOrientationPermissionStatus: () => Promise<void>;
|
|
135
|
-
refreshStoragePermissionStatus: () => Promise<void>;
|
|
136
|
-
refreshCameraPermissionStatus: () => Promise<void>;
|
|
137
|
-
refreshWakeLockPermissionStatus: () => Promise<void>;
|
|
138
|
-
refreshFileSystemPermissionStatus: () => Promise<void>;
|
|
139
|
-
requestLocationPermission: (onGranted?: () => void) => Promise<void>;
|
|
140
|
-
requestNotificationPermission: () => Promise<void>;
|
|
141
|
-
requestOrientationPermission: () => Promise<void>;
|
|
142
|
-
requestStoragePermission: () => Promise<void>;
|
|
143
|
-
requestCameraPermission: () => Promise<void>;
|
|
144
|
-
requestWakeLockPermission: () => Promise<void>;
|
|
145
|
-
requestFileSystemPermission: () => Promise<void>;
|
|
146
|
-
releaseWakeLockSentinel: () => Promise<void>;
|
|
147
|
-
}, "setPermissionStatus" | "refreshPermissionStatuses" | "initializePermissionSubscriptions" | "hasOrientationSupport" | "hasOrientationPermissionRequest" | "refreshLocationPermissionStatus" | "refreshNotificationPermissionStatus" | "getMessagingToken" | "refreshMessagingToken" | "onMessagingToken" | "onNotificationAction" | "refreshOrientationPermissionStatus" | "refreshStoragePermissionStatus" | "refreshCameraPermissionStatus" | "refreshWakeLockPermissionStatus" | "refreshFileSystemPermissionStatus" | "requestLocationPermission" | "requestNotificationPermission" | "requestOrientationPermission" | "requestStoragePermission" | "requestCameraPermission" | "requestWakeLockPermission" | "requestFileSystemPermission" | "releaseWakeLockSentinel">>;
|
|
63
|
+
}>;
|
|
@@ -40,6 +40,7 @@ export type Mission_Create = paths["/api/marti/mission"]["post"]["requestBody"][
|
|
|
40
40
|
export type MissionList = paths["/api/marti/mission"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
41
41
|
export type MissionInvite = paths["/api/marti/mission"]["get"]["responses"]["200"]["content"]["application/json"]["invites"][0];
|
|
42
42
|
export type MissionRole = paths["/api/marti/missions/{:name}/role"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
43
|
+
export type MissionRoleType = MissionRole["type"];
|
|
43
44
|
export type MissionLog = paths["/api/marti/missions/{:name}/log/{:logid}"]["patch"]["responses"]["200"]["content"]["application/json"]["data"];
|
|
44
45
|
export type MissionLogList = paths["/api/marti/missions/{:name}/log"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
45
46
|
export type MissionLayer = paths["/api/marti/missions/{:name}/layer/{:layerid}"]["get"]["responses"]["200"]["content"]["application/json"]["data"];
|
|
@@ -118,12 +118,26 @@ export default class AtlasDatabase {
|
|
|
118
118
|
* @param opts.skipSave - Don't save the COT to the Profile Feature Database
|
|
119
119
|
* @param opts.skipBroadcast - Don't broadcast the COT on the internal message bus to the UI
|
|
120
120
|
* @param opts.authored - If the COT is authored, append creator information if the CoT is new & potentially add it to a mission
|
|
121
|
+
* @param opts.render - Defaults to true. When false, suppress the Mission_Change_Feature notification that reloads & re-renders the mission overlay. Callers adding many features to a mission at once (eg. a lasso import) should pass false and trigger a single loadMission() when finished.
|
|
121
122
|
*/
|
|
122
123
|
add(feature: InputFeature, opts?: {
|
|
123
124
|
skipSave?: boolean;
|
|
124
125
|
skipBroadcast?: boolean;
|
|
125
126
|
authored?: boolean;
|
|
127
|
+
render?: boolean;
|
|
126
128
|
}): Promise<COT | void>;
|
|
129
|
+
/**
|
|
130
|
+
* Batch variant of add() for importing many features at once (eg. a GeoJSON
|
|
131
|
+
* or lasso import). Runs the entire loop inside the worker so the caller
|
|
132
|
+
* pays a single Comlink round-trip instead of one per feature, and returns
|
|
133
|
+
* nothing so no COTs are serialized back across the worker boundary.
|
|
134
|
+
*/
|
|
135
|
+
addAll(features: InputFeature[], opts?: {
|
|
136
|
+
skipSave?: boolean;
|
|
137
|
+
skipBroadcast?: boolean;
|
|
138
|
+
authored?: boolean;
|
|
139
|
+
render?: boolean;
|
|
140
|
+
}): Promise<void>;
|
|
127
141
|
/**
|
|
128
142
|
* Return a CoT by ID if it exists
|
|
129
143
|
*
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tak-ps/cloudtak",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "13.
|
|
4
|
+
"version": "13.47.0",
|
|
5
5
|
"types": "dist/types/plugin.d.ts",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist/types"
|
|
@@ -50,9 +50,9 @@
|
|
|
50
50
|
"@simplewebauthn/browser": "^13.3.0",
|
|
51
51
|
"@tabler/core": "^1.4.0",
|
|
52
52
|
"@tabler/icons-vue": "^3.0.0",
|
|
53
|
-
"@tak-ps/node-cot": "^14.
|
|
53
|
+
"@tak-ps/node-cot": "^14.45.0",
|
|
54
54
|
"@tak-ps/node-p12": "^1.0.3",
|
|
55
|
-
"@tak-ps/vue-tabler": "^4.
|
|
55
|
+
"@tak-ps/vue-tabler": "^4.29.3",
|
|
56
56
|
"@turf/area": "^7.2.0",
|
|
57
57
|
"@turf/bbox": "^7.1.0",
|
|
58
58
|
"@turf/boolean-point-in-polygon": "^7.3.1",
|
|
@@ -84,11 +84,11 @@
|
|
|
84
84
|
"hls.js": "^1.6.5",
|
|
85
85
|
"imask": "^6.0.0",
|
|
86
86
|
"jsonata": "^2.0.4",
|
|
87
|
-
"maplibre-gl": "v6.0.0-
|
|
87
|
+
"maplibre-gl": "v6.0.0-22",
|
|
88
88
|
"milsymbol": "^3.0.2",
|
|
89
89
|
"openapi-fetch": "^0.17.0",
|
|
90
90
|
"phone": "^3.1.59",
|
|
91
|
-
"pinia": "^
|
|
91
|
+
"pinia": "^4.0.0",
|
|
92
92
|
"rxjs": "^7.8.2",
|
|
93
93
|
"sortablejs": "^1.15.2",
|
|
94
94
|
"swagger-ui-dist": "^5.30.2",
|
|
@@ -112,8 +112,9 @@
|
|
|
112
112
|
"@types/sortablejs": "^1.15.8",
|
|
113
113
|
"@types/swagger-ui": "^5.21.1",
|
|
114
114
|
"@vitejs/plugin-vue": "^6.0.0",
|
|
115
|
-
"@vitest/ui": "^4.1.0",
|
|
116
115
|
"@vitest/coverage-v8": "^4.1.0",
|
|
116
|
+
"@vitest/ui": "^4.1.0",
|
|
117
|
+
"@vue/devtools-api": "^8.1.5",
|
|
117
118
|
"@vue/test-utils": "^2.4.6",
|
|
118
119
|
"@vueuse/rxjs": "^14.1.0",
|
|
119
120
|
"eslint": "^10.0.0",
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import Overlay from '../../../../base/overlay-class.ts';
|
|
2
|
-
type __VLS_Props = {
|
|
3
|
-
overlay: Overlay;
|
|
4
|
-
};
|
|
5
|
-
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
6
|
-
declare const _default: typeof __VLS_export;
|
|
7
|
-
export default _default;
|