@3deye-toolkit/react-event-search 0.0.2 → 0.0.3-alpha.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/react-event-search.css +192 -791
- package/dist/react-event-search.d.ts +330 -102
- package/dist/react-event-search.js +1 -1
- package/dist/tsdoc-metadata.json +1 -1
- package/package.json +14 -14
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
|
|
3
1
|
import { BehaviorSubject } from 'rxjs';
|
|
4
2
|
import crossfilter from 'crossfilter2';
|
|
5
3
|
import type { IReactionDisposer } from 'mobx';
|
|
@@ -7,6 +5,7 @@ import { Observable } from 'rxjs';
|
|
|
7
5
|
import { default as React_2 } from 'react';
|
|
8
6
|
import { Subject } from 'rxjs';
|
|
9
7
|
import { Subscription } from 'rxjs';
|
|
8
|
+
import { z } from 'zod';
|
|
10
9
|
|
|
11
10
|
declare class AccountStore extends ApiStore {
|
|
12
11
|
private notification?;
|
|
@@ -26,12 +25,67 @@ declare class AccountStore extends ApiStore {
|
|
|
26
25
|
firstName: string;
|
|
27
26
|
lastName: string;
|
|
28
27
|
}): Observable<RawUser>;
|
|
29
|
-
|
|
28
|
+
updateUserLanguage(languageCode: string): Observable<RawUser>;
|
|
29
|
+
updateCustomPreferences: (preferences: Partial<Preferences>) => Observable<RawUser>;
|
|
30
30
|
setDefaultGroup(groupId: number): Observable<RawUser> | undefined;
|
|
31
|
-
|
|
31
|
+
get preferences(): Preferences;
|
|
32
|
+
getPreference: <T extends PREFERENCES>(key: T) => {
|
|
33
|
+
utc: boolean;
|
|
34
|
+
hour12: boolean;
|
|
35
|
+
startOfWeek: "monday" | "sunday";
|
|
36
|
+
defaultVideoResizeMode?: VideoResizeMode | undefined;
|
|
37
|
+
camerasResizeMode?: [number, VideoResizeMode][] | undefined;
|
|
38
|
+
fisheyeCameras?: [number, [number, number, number] | {
|
|
39
|
+
params: {
|
|
40
|
+
x: number;
|
|
41
|
+
y: number;
|
|
42
|
+
r: number;
|
|
43
|
+
s: number;
|
|
44
|
+
};
|
|
45
|
+
positions?: [{
|
|
46
|
+
lat: number;
|
|
47
|
+
lon: number;
|
|
48
|
+
fov: number;
|
|
49
|
+
}, {
|
|
50
|
+
lat: number;
|
|
51
|
+
lon: number;
|
|
52
|
+
fov: number;
|
|
53
|
+
}, {
|
|
54
|
+
lat: number;
|
|
55
|
+
lon: number;
|
|
56
|
+
fov: number;
|
|
57
|
+
}] | undefined;
|
|
58
|
+
} | null][] | undefined;
|
|
59
|
+
}[T];
|
|
32
60
|
private retryOnVersionMismatch;
|
|
33
61
|
}
|
|
34
62
|
|
|
63
|
+
declare class AllEventsLoaderFilters implements EventsLoaderFilters {
|
|
64
|
+
from: Date | null;
|
|
65
|
+
to: Date | null;
|
|
66
|
+
probabilityThreshold: number | null;
|
|
67
|
+
cameras: number[];
|
|
68
|
+
detectedObjects: string[];
|
|
69
|
+
colors: Set<string>;
|
|
70
|
+
regions: {
|
|
71
|
+
x: number;
|
|
72
|
+
y: number;
|
|
73
|
+
}[][] | null;
|
|
74
|
+
eventTypes: SensorEventType[];
|
|
75
|
+
sortDirection: 'ASC' | 'DESC';
|
|
76
|
+
updated$: Subject<null>;
|
|
77
|
+
get regionsWkt(): string[];
|
|
78
|
+
constructor();
|
|
79
|
+
apply(data: CameraEvent[]): CameraEvent[];
|
|
80
|
+
get filterJson(): string | null;
|
|
81
|
+
/**
|
|
82
|
+
* given region as array of vertices in normalized coordinates
|
|
83
|
+
* returns its representation in WKT: https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry
|
|
84
|
+
* @param region
|
|
85
|
+
*/
|
|
86
|
+
private regionToWktPolygon;
|
|
87
|
+
}
|
|
88
|
+
|
|
35
89
|
declare class Api<T extends DeepPartial<IApi>> {
|
|
36
90
|
[key: string]: any;
|
|
37
91
|
static create<T extends PartialApi>(apiConfig: T | null, authStore: Auth, createConnection: (accessToken: string) => Connection): Api<T> & ExtractHubs<IApi, T>;
|
|
@@ -178,6 +232,7 @@ declare class Auth {
|
|
|
178
232
|
agreedWithTerms?: boolean;
|
|
179
233
|
code?: string;
|
|
180
234
|
}) => Promise<Token> | undefined;
|
|
235
|
+
signInWithToken: (token: RawToken) => void;
|
|
181
236
|
invalidateToken: () => void;
|
|
182
237
|
getTokenFromStorage(): Promise<Token | null>;
|
|
183
238
|
private storeToken;
|
|
@@ -195,6 +250,13 @@ declare interface AuthStoreOptions {
|
|
|
195
250
|
clientId: string;
|
|
196
251
|
}
|
|
197
252
|
|
|
253
|
+
declare interface BoundingBox {
|
|
254
|
+
Left: number;
|
|
255
|
+
Top: number;
|
|
256
|
+
Right: number;
|
|
257
|
+
Bottom: number;
|
|
258
|
+
}
|
|
259
|
+
|
|
198
260
|
declare interface Box {
|
|
199
261
|
Top: number;
|
|
200
262
|
Left: number;
|
|
@@ -208,10 +270,7 @@ declare class Camera {
|
|
|
208
270
|
imageUrl: string;
|
|
209
271
|
streamUrl: string;
|
|
210
272
|
dashStreamUrl: string;
|
|
211
|
-
address:
|
|
212
|
-
Lat: number;
|
|
213
|
-
Lng: number;
|
|
214
|
-
} | null;
|
|
273
|
+
address: CameraAddress | null;
|
|
215
274
|
archiveDuration: number;
|
|
216
275
|
dvrWindowLength: number;
|
|
217
276
|
stateUpdatedAt: Date;
|
|
@@ -227,31 +286,56 @@ declare class Camera {
|
|
|
227
286
|
get supportsWebRTC(): boolean;
|
|
228
287
|
constructor(raw: RawCamera);
|
|
229
288
|
update: (raw: RawCamera) => void;
|
|
289
|
+
can: (permission: CameraPermissions) => number;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
declare interface CameraAddress {
|
|
293
|
+
Lat: number;
|
|
294
|
+
Lng: number;
|
|
295
|
+
Country: string;
|
|
296
|
+
State: string;
|
|
297
|
+
City: string;
|
|
298
|
+
Address: string;
|
|
230
299
|
}
|
|
231
300
|
|
|
232
301
|
declare class CameraEvent {
|
|
302
|
+
id: number;
|
|
233
303
|
cameraId: number;
|
|
234
304
|
type: EventType;
|
|
235
305
|
raw: RawSensorEvent;
|
|
236
306
|
thumbnailUrl: string;
|
|
307
|
+
thumbnailWidth: number;
|
|
308
|
+
thumbnailHeight: number;
|
|
237
309
|
detectedObjects: DetectedObject[];
|
|
238
310
|
faces: Face[];
|
|
239
311
|
instant: boolean;
|
|
240
|
-
get id(): number;
|
|
241
312
|
get startTime(): Date;
|
|
242
313
|
get endTime(): Date;
|
|
243
314
|
get isLive(): boolean;
|
|
244
315
|
get acknowledged(): boolean;
|
|
316
|
+
update: (raw: RawSensorEvent) => void;
|
|
245
317
|
constructor(raw: RawSensorEvent);
|
|
246
318
|
}
|
|
247
319
|
|
|
320
|
+
declare const enum CameraPermissions {
|
|
321
|
+
View = 1,
|
|
322
|
+
SaveClip = 2,
|
|
323
|
+
Share = 4,
|
|
324
|
+
Ptz = 8,
|
|
325
|
+
EditSettings = 16,
|
|
326
|
+
Timelapse = 32,
|
|
327
|
+
Delete = 64
|
|
328
|
+
}
|
|
329
|
+
|
|
248
330
|
declare class CamerasStore extends ApiStore {
|
|
249
331
|
camerasById: Map<number, Camera>;
|
|
250
332
|
data: Camera[];
|
|
251
333
|
loading: boolean;
|
|
252
334
|
loaded: boolean;
|
|
335
|
+
pendingLoadRequest?: Observable<RawCamera[]>;
|
|
336
|
+
requestsCanceler: Subject<void>;
|
|
253
337
|
constructor();
|
|
254
|
-
load: () => Observable<RawCamera[]
|
|
338
|
+
load: () => Observable<RawCamera[]>;
|
|
255
339
|
add: (cameras: RawCamera[]) => void;
|
|
256
340
|
sync: () => Observable<RawCamera[]>;
|
|
257
341
|
protected afterInit(): void;
|
|
@@ -271,6 +355,16 @@ declare interface CamgroupItem {
|
|
|
271
355
|
order: number;
|
|
272
356
|
}
|
|
273
357
|
|
|
358
|
+
declare interface Car {
|
|
359
|
+
Type: 'Car';
|
|
360
|
+
BodyType?: string;
|
|
361
|
+
Box: BoundingBox;
|
|
362
|
+
Probability: number;
|
|
363
|
+
Colors?: {
|
|
364
|
+
Color: string;
|
|
365
|
+
}[];
|
|
366
|
+
}
|
|
367
|
+
|
|
274
368
|
declare interface Chunk {
|
|
275
369
|
json?: string;
|
|
276
370
|
startTime: Date;
|
|
@@ -306,7 +400,7 @@ declare class Clip {
|
|
|
306
400
|
archives?: ArchiveChunk[];
|
|
307
401
|
constructor(raw: RawClip);
|
|
308
402
|
get isTimelapse(): boolean;
|
|
309
|
-
update(raw:
|
|
403
|
+
update(raw: RawClip): void;
|
|
310
404
|
}
|
|
311
405
|
|
|
312
406
|
declare interface ClipParams {
|
|
@@ -359,31 +453,9 @@ declare type DeepPartial<T> = {
|
|
|
359
453
|
[K in keyof T]?: DeepPartial<T[K]>;
|
|
360
454
|
};
|
|
361
455
|
|
|
362
|
-
declare type DetectedObject = {
|
|
363
|
-
Type:
|
|
364
|
-
|
|
365
|
-
Number?: string;
|
|
366
|
-
Box: {
|
|
367
|
-
Left: number;
|
|
368
|
-
Top: number;
|
|
369
|
-
Right: number;
|
|
370
|
-
Bottom: number;
|
|
371
|
-
};
|
|
372
|
-
Probability: number;
|
|
373
|
-
Colors?: {
|
|
374
|
-
Color: string;
|
|
375
|
-
}[];
|
|
376
|
-
} | {
|
|
377
|
-
Type: 'Car';
|
|
378
|
-
BodyType?: string;
|
|
379
|
-
Value?: string;
|
|
380
|
-
Number?: string;
|
|
381
|
-
Box: {
|
|
382
|
-
Left: number;
|
|
383
|
-
Top: number;
|
|
384
|
-
Right: number;
|
|
385
|
-
Bottom: number;
|
|
386
|
-
};
|
|
456
|
+
declare type DetectedObject = Car | LicensePlate | {
|
|
457
|
+
Type: 'Person' | 'Animal' | 'Bicycle' | 'Luggage' | 'Boat' | 'HardHat' | 'NoHardHat' | 'Fire' | 'Smoke' | 'Face';
|
|
458
|
+
Box: BoundingBox;
|
|
387
459
|
Probability: number;
|
|
388
460
|
Colors?: {
|
|
389
461
|
Color: string;
|
|
@@ -422,6 +494,7 @@ export default EventSearch;
|
|
|
422
494
|
declare class EventSearchStore extends ApiStore {
|
|
423
495
|
eventSchema: EventSchemaStore;
|
|
424
496
|
events: EventsStore;
|
|
497
|
+
private account;
|
|
425
498
|
private notification;
|
|
426
499
|
private heatmaps?;
|
|
427
500
|
api: ExtendedApi;
|
|
@@ -429,6 +502,7 @@ declare class EventSearchStore extends ApiStore {
|
|
|
429
502
|
readonly analyticsEnabled: boolean;
|
|
430
503
|
cameraId: number | null;
|
|
431
504
|
date: Date | null;
|
|
505
|
+
get startTime(): Date | null;
|
|
432
506
|
regions: {
|
|
433
507
|
x: number;
|
|
434
508
|
y: number;
|
|
@@ -443,12 +517,13 @@ declare class EventSearchStore extends ApiStore {
|
|
|
443
517
|
peopleCountingData: RawPeopleCountingData[];
|
|
444
518
|
probabilityThreshold: number;
|
|
445
519
|
brushFilter: null | [Date, Date];
|
|
520
|
+
loadTrigger: number;
|
|
446
521
|
eventsLoader: EventsLoader;
|
|
447
|
-
loaderFilters:
|
|
522
|
+
loaderFilters: AllEventsLoaderFilters;
|
|
448
523
|
get params(): SchemaDescriptionParameter[];
|
|
449
524
|
get filteredData(): CameraEvent[];
|
|
450
525
|
get filteredPeopleCountingData(): RawPeopleCountingData[];
|
|
451
|
-
constructor(eventSchema: EventSchemaStore, events: EventsStore, notification: NotificationService, heatmaps?: HeatmapsStore | undefined);
|
|
526
|
+
constructor(eventSchema: EventSchemaStore, events: EventsStore, account: AccountStore, notification: NotificationService, heatmaps?: HeatmapsStore | undefined);
|
|
452
527
|
/**
|
|
453
528
|
* Converts box (Top, Left, Bottom, Right) to axis-aligned bounding box
|
|
454
529
|
* @param box
|
|
@@ -464,8 +539,8 @@ declare class EventSearchStore extends ApiStore {
|
|
|
464
539
|
cameraId: number;
|
|
465
540
|
box: Box;
|
|
466
541
|
}) => void;
|
|
467
|
-
openForPlayer: (cameraId: number) => void;
|
|
468
542
|
searchFullFrame: (cameraId: number) => void;
|
|
543
|
+
triggerLoad: () => void;
|
|
469
544
|
setRegions: (polies: {
|
|
470
545
|
x: number;
|
|
471
546
|
y: number;
|
|
@@ -490,15 +565,7 @@ declare class EventSearchStore extends ApiStore {
|
|
|
490
565
|
|
|
491
566
|
declare class EventsLoader extends ApiStore {
|
|
492
567
|
private eventsStore;
|
|
493
|
-
filters:
|
|
494
|
-
updated$: Observable<null>;
|
|
495
|
-
sortDirection: 'ASC' | 'DESC';
|
|
496
|
-
cameras: number[];
|
|
497
|
-
from: Date | null;
|
|
498
|
-
to: Date | null;
|
|
499
|
-
probabilityThreshold: number | null;
|
|
500
|
-
apply: (events: CameraEvent[]) => CameraEvent[];
|
|
501
|
-
};
|
|
568
|
+
filters: EventsLoaderFilters;
|
|
502
569
|
fetcher: (api: Api<IApi> & IApi, pageToken?: number) => Observable<ApiPageResult<RawSensorEvent>>;
|
|
503
570
|
transformData: (data: CameraEvent) => {
|
|
504
571
|
data: CameraEvent;
|
|
@@ -513,7 +580,6 @@ declare class EventsLoader extends ApiStore {
|
|
|
513
580
|
objectIdx: number;
|
|
514
581
|
}[];
|
|
515
582
|
liveUpdateMode: 'manual' | 'auto' | 'disabled';
|
|
516
|
-
updateTrigger: number;
|
|
517
583
|
disposables: (IReactionDisposer | Subscription)[];
|
|
518
584
|
pageInfo: PageInfo_2 | null;
|
|
519
585
|
loading: boolean;
|
|
@@ -522,15 +588,7 @@ declare class EventsLoader extends ApiStore {
|
|
|
522
588
|
error: Error | null;
|
|
523
589
|
private loadingInitiated;
|
|
524
590
|
get isLive(): boolean;
|
|
525
|
-
constructor(eventsStore: EventsStore, filters: {
|
|
526
|
-
updated$: Observable<null>;
|
|
527
|
-
sortDirection: 'ASC' | 'DESC';
|
|
528
|
-
cameras: number[];
|
|
529
|
-
from: Date | null;
|
|
530
|
-
to: Date | null;
|
|
531
|
-
probabilityThreshold: number | null;
|
|
532
|
-
apply: (events: CameraEvent[]) => CameraEvent[];
|
|
533
|
-
}, fetcher: (api: Api<IApi> & IApi, pageToken?: number) => Observable<ApiPageResult<RawSensorEvent>>, transformData?: (data: CameraEvent) => {
|
|
591
|
+
constructor(eventsStore: EventsStore, filters: EventsLoaderFilters, fetcher: (api: Api<IApi> & IApi, pageToken?: number) => Observable<ApiPageResult<RawSensorEvent>>, transformData?: (data: CameraEvent) => {
|
|
534
592
|
data: CameraEvent;
|
|
535
593
|
objectIdx: number;
|
|
536
594
|
}[]);
|
|
@@ -556,30 +614,14 @@ declare class EventsLoader extends ApiStore {
|
|
|
556
614
|
dispose(): void;
|
|
557
615
|
}
|
|
558
616
|
|
|
559
|
-
declare
|
|
617
|
+
declare interface EventsLoaderFilters {
|
|
618
|
+
updated$: Observable<null>;
|
|
619
|
+
sortDirection: 'ASC' | 'DESC';
|
|
620
|
+
cameras: number[];
|
|
560
621
|
from: Date | null;
|
|
561
622
|
to: Date | null;
|
|
562
623
|
probabilityThreshold: number | null;
|
|
563
|
-
|
|
564
|
-
detectedObjects: string[];
|
|
565
|
-
colors: Set<string>;
|
|
566
|
-
regions: {
|
|
567
|
-
x: number;
|
|
568
|
-
y: number;
|
|
569
|
-
}[][] | null;
|
|
570
|
-
eventTypes: SensorEventType[];
|
|
571
|
-
sortDirection: 'ASC' | 'DESC';
|
|
572
|
-
updated$: Subject<null>;
|
|
573
|
-
get regionsWkt(): string[];
|
|
574
|
-
constructor();
|
|
575
|
-
apply(data: CameraEvent[]): CameraEvent[];
|
|
576
|
-
get filterJson(): string | null;
|
|
577
|
-
/**
|
|
578
|
-
* given region as array of vertices in normalized coordinates
|
|
579
|
-
* returns its representation in WKT: https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry
|
|
580
|
-
* @param region
|
|
581
|
-
*/
|
|
582
|
-
private regionToWktPolygon;
|
|
624
|
+
apply: (events: CameraEvent[]) => CameraEvent[];
|
|
583
625
|
}
|
|
584
626
|
|
|
585
627
|
declare interface EventsQuery {
|
|
@@ -606,10 +648,10 @@ declare class EventsStore extends ApiStore {
|
|
|
606
648
|
pendingRequestsByEnd: crossfilter.Dimension<PendingRequest, number>;
|
|
607
649
|
pendingRequestsByStart: crossfilter.Dimension<PendingRequest, number>;
|
|
608
650
|
pendingRequestsByCameraId: crossfilter.Dimension<PendingRequest, number>;
|
|
609
|
-
knownIntervals: crossfilter.Crossfilter<
|
|
610
|
-
knownIntervalsByCameraId: crossfilter.Dimension<
|
|
611
|
-
knownIntervalsByStart: crossfilter.Dimension<
|
|
612
|
-
knownIntervalsByEnd: crossfilter.Dimension<
|
|
651
|
+
knownIntervals: crossfilter.Crossfilter<Interval>;
|
|
652
|
+
knownIntervalsByCameraId: crossfilter.Dimension<Interval, number>;
|
|
653
|
+
knownIntervalsByStart: crossfilter.Dimension<Interval, number>;
|
|
654
|
+
knownIntervalsByEnd: crossfilter.Dimension<Interval, number>;
|
|
613
655
|
eventsById: Map<number, CameraEvent>;
|
|
614
656
|
updates: number;
|
|
615
657
|
/**
|
|
@@ -666,7 +708,7 @@ declare class EventsStore extends ApiStore {
|
|
|
666
708
|
dispose(): void;
|
|
667
709
|
}
|
|
668
710
|
|
|
669
|
-
declare type EventType = 'Motion' | 'Tampering' | 'PanTiltZoom' | 'CrossLine' | 'Intrusion' | 'LicensePlate' | 'FaceDetection' | 'Audio' | 'Analytic' | 'SpeedDetection' | 'PeopleCounter' | 'Temperature' | 'PoS' | 'GPS' | 'DigitalInput' | 'Normal' | 'Suspicious' | 'Loitering' | 'Vandalism' | 'Trespass' | 'Emergency' | 'LifeInDanger' | 'ErroneousAlert' | 'Misidentification' | 'Fire' | 'MedicalDuress' | 'HoldUp' | 'CheckIn' | 'CheckOut' | 'ClockIn' | 'ClockOut' | 'ParkingStart' | 'ParkingEnd' | 'ParkingViolation' | 'GateAccess' | 'DoorAccess' | 'TemperatureCheck' | 'IDCheck' | 'PPECheck' | 'WelfareCheck' | '
|
|
711
|
+
declare type EventType = 'Motion' | 'Tampering' | 'PanTiltZoom' | 'CrossLine' | 'Intrusion' | 'LicensePlate' | 'FaceDetection' | 'Audio' | 'Analytic' | 'SpeedDetection' | 'PeopleCounter' | 'Temperature' | 'PoS' | 'GPS' | 'DigitalInput' | 'Normal' | 'Suspicious' | 'Loitering' | 'Vandalism' | 'Trespass' | 'Emergency' | 'LifeInDanger' | 'ErroneousAlert' | 'Misidentification' | 'Fire' | 'MedicalDuress' | 'HoldUp' | 'CheckIn' | 'CheckOut' | 'ClockIn' | 'ClockOut' | 'ParkingStart' | 'ParkingEnd' | 'ParkingViolation' | 'GateAccess' | 'DoorAccess' | 'TemperatureCheck' | 'IDCheck' | 'PPECheck' | 'WelfareCheck' | 'VehicleBreakIn' | 'DrugTrafficking' | 'Assault' | 'PackageDelivery' | 'Uncategorized';
|
|
670
712
|
|
|
671
713
|
declare type ExtendedApi = Api<IApi> & IApi & {
|
|
672
714
|
archives: {
|
|
@@ -717,7 +759,6 @@ declare class Heatmap {
|
|
|
717
759
|
declare type HeatmapMode = 'fullframe' | 'selection' | 'none';
|
|
718
760
|
|
|
719
761
|
declare class HeatmapsStore extends ApiStore {
|
|
720
|
-
api: ExtendedApi;
|
|
721
762
|
fetchHeatmaps(cameraId: number, from: Date, to: Date, count: number): Observable<Heatmap[]>;
|
|
722
763
|
}
|
|
723
764
|
|
|
@@ -789,18 +830,18 @@ declare interface IApi {
|
|
|
789
830
|
from: Date;
|
|
790
831
|
to: Date;
|
|
791
832
|
count: number;
|
|
792
|
-
}) => Observable<
|
|
833
|
+
}) => Observable<ApiResult<RawThumbnail>>;
|
|
793
834
|
GetThumbnailInfo: (params: {
|
|
794
835
|
cameraId: number;
|
|
795
836
|
from: Date;
|
|
796
837
|
to: Date;
|
|
797
|
-
}) => Observable<
|
|
838
|
+
}) => Observable<ApiResult<RawThumbnail>>;
|
|
798
839
|
GetHeatMapsInfo: (params: {
|
|
799
840
|
cameraId: number;
|
|
800
841
|
from: Date;
|
|
801
842
|
to: Date;
|
|
802
843
|
count: number;
|
|
803
|
-
}) => Observable<
|
|
844
|
+
}) => Observable<ApiResult<RawHeatmap>>;
|
|
804
845
|
};
|
|
805
846
|
users: {
|
|
806
847
|
GetUser: () => Observable<ApiResult<RawUser>>;
|
|
@@ -819,18 +860,18 @@ declare interface InitParams {
|
|
|
819
860
|
tokenServiceUrl?: string;
|
|
820
861
|
}
|
|
821
862
|
|
|
822
|
-
declare interface
|
|
863
|
+
declare interface Interval {
|
|
823
864
|
cameraId: number;
|
|
824
865
|
from: Date;
|
|
825
866
|
to: Date;
|
|
826
867
|
}
|
|
827
868
|
|
|
828
869
|
declare type IntervalState = {
|
|
829
|
-
state: '
|
|
870
|
+
state: 'fulfilled';
|
|
830
871
|
data: Thumbnail;
|
|
831
872
|
} | {
|
|
832
873
|
state: 'pending';
|
|
833
|
-
request: Observable<
|
|
874
|
+
request: Observable<Thumbnail[]>;
|
|
834
875
|
};
|
|
835
876
|
|
|
836
877
|
declare class LibraryStore extends ApiStore {
|
|
@@ -869,8 +910,17 @@ declare class LibraryStore extends ApiStore {
|
|
|
869
910
|
dispose(): void;
|
|
870
911
|
}
|
|
871
912
|
|
|
913
|
+
declare interface LicensePlate {
|
|
914
|
+
Type: 'LicensePlate';
|
|
915
|
+
Value: string;
|
|
916
|
+
Number: string;
|
|
917
|
+
ParentIndex: number;
|
|
918
|
+
Box: BoundingBox;
|
|
919
|
+
Probability: number;
|
|
920
|
+
}
|
|
921
|
+
|
|
872
922
|
declare interface NotificationOptions_2 {
|
|
873
|
-
|
|
923
|
+
duration: number;
|
|
874
924
|
}
|
|
875
925
|
|
|
876
926
|
declare class NotificationService implements Notifier {
|
|
@@ -933,9 +983,177 @@ declare interface PendingRequest_2 {
|
|
|
933
983
|
from: Date;
|
|
934
984
|
to: Date;
|
|
935
985
|
count: number;
|
|
936
|
-
request: Observable<
|
|
986
|
+
request: Observable<Thumbnail[]>;
|
|
937
987
|
}
|
|
938
988
|
|
|
989
|
+
declare enum PREFERENCES {
|
|
990
|
+
DEFAULT_VIDEO_RESIZE_MODE = "defaultVideoResizeMode",
|
|
991
|
+
RESIZE_MODE_PER_CAMERA = "camerasResizeMode",
|
|
992
|
+
FISHEYE_CAMERAS = "fisheyeCameras",
|
|
993
|
+
UTC = "utc",
|
|
994
|
+
HOUR12 = "hour12",
|
|
995
|
+
START_OF_WEEK = "startOfWeek"
|
|
996
|
+
}
|
|
997
|
+
|
|
998
|
+
declare type Preferences = z.infer<typeof preferencesSchema>;
|
|
999
|
+
|
|
1000
|
+
declare const preferencesSchema: z.ZodObject<{
|
|
1001
|
+
defaultVideoResizeMode: z.ZodOptional<z.ZodNativeEnum<typeof VideoResizeMode>>;
|
|
1002
|
+
camerasResizeMode: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNativeEnum<typeof VideoResizeMode>], null>, "many">>;
|
|
1003
|
+
fisheyeCameras: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
|
|
1004
|
+
params: z.ZodObject<{
|
|
1005
|
+
x: z.ZodNumber;
|
|
1006
|
+
y: z.ZodNumber;
|
|
1007
|
+
r: z.ZodNumber;
|
|
1008
|
+
s: z.ZodNumber;
|
|
1009
|
+
}, "strip", z.ZodTypeAny, {
|
|
1010
|
+
x: number;
|
|
1011
|
+
y: number;
|
|
1012
|
+
r: number;
|
|
1013
|
+
s: number;
|
|
1014
|
+
}, {
|
|
1015
|
+
x: number;
|
|
1016
|
+
y: number;
|
|
1017
|
+
r: number;
|
|
1018
|
+
s: number;
|
|
1019
|
+
}>;
|
|
1020
|
+
positions: z.ZodOptional<z.ZodTuple<[z.ZodObject<{
|
|
1021
|
+
lat: z.ZodNumber;
|
|
1022
|
+
lon: z.ZodNumber;
|
|
1023
|
+
fov: z.ZodNumber;
|
|
1024
|
+
}, "strip", z.ZodTypeAny, {
|
|
1025
|
+
lat: number;
|
|
1026
|
+
lon: number;
|
|
1027
|
+
fov: number;
|
|
1028
|
+
}, {
|
|
1029
|
+
lat: number;
|
|
1030
|
+
lon: number;
|
|
1031
|
+
fov: number;
|
|
1032
|
+
}>, z.ZodObject<{
|
|
1033
|
+
lat: z.ZodNumber;
|
|
1034
|
+
lon: z.ZodNumber;
|
|
1035
|
+
fov: z.ZodNumber;
|
|
1036
|
+
}, "strip", z.ZodTypeAny, {
|
|
1037
|
+
lat: number;
|
|
1038
|
+
lon: number;
|
|
1039
|
+
fov: number;
|
|
1040
|
+
}, {
|
|
1041
|
+
lat: number;
|
|
1042
|
+
lon: number;
|
|
1043
|
+
fov: number;
|
|
1044
|
+
}>, z.ZodObject<{
|
|
1045
|
+
lat: z.ZodNumber;
|
|
1046
|
+
lon: z.ZodNumber;
|
|
1047
|
+
fov: z.ZodNumber;
|
|
1048
|
+
}, "strip", z.ZodTypeAny, {
|
|
1049
|
+
lat: number;
|
|
1050
|
+
lon: number;
|
|
1051
|
+
fov: number;
|
|
1052
|
+
}, {
|
|
1053
|
+
lat: number;
|
|
1054
|
+
lon: number;
|
|
1055
|
+
fov: number;
|
|
1056
|
+
}>], null>>;
|
|
1057
|
+
}, "strip", z.ZodTypeAny, {
|
|
1058
|
+
params: {
|
|
1059
|
+
x: number;
|
|
1060
|
+
y: number;
|
|
1061
|
+
r: number;
|
|
1062
|
+
s: number;
|
|
1063
|
+
};
|
|
1064
|
+
positions?: [{
|
|
1065
|
+
lat: number;
|
|
1066
|
+
lon: number;
|
|
1067
|
+
fov: number;
|
|
1068
|
+
}, {
|
|
1069
|
+
lat: number;
|
|
1070
|
+
lon: number;
|
|
1071
|
+
fov: number;
|
|
1072
|
+
}, {
|
|
1073
|
+
lat: number;
|
|
1074
|
+
lon: number;
|
|
1075
|
+
fov: number;
|
|
1076
|
+
}] | undefined;
|
|
1077
|
+
}, {
|
|
1078
|
+
params: {
|
|
1079
|
+
x: number;
|
|
1080
|
+
y: number;
|
|
1081
|
+
r: number;
|
|
1082
|
+
s: number;
|
|
1083
|
+
};
|
|
1084
|
+
positions?: [{
|
|
1085
|
+
lat: number;
|
|
1086
|
+
lon: number;
|
|
1087
|
+
fov: number;
|
|
1088
|
+
}, {
|
|
1089
|
+
lat: number;
|
|
1090
|
+
lon: number;
|
|
1091
|
+
fov: number;
|
|
1092
|
+
}, {
|
|
1093
|
+
lat: number;
|
|
1094
|
+
lon: number;
|
|
1095
|
+
fov: number;
|
|
1096
|
+
}] | undefined;
|
|
1097
|
+
}>, z.ZodNull]>], null>, "many">>;
|
|
1098
|
+
utc: z.ZodDefault<z.ZodBoolean>;
|
|
1099
|
+
hour12: z.ZodDefault<z.ZodBoolean>;
|
|
1100
|
+
startOfWeek: z.ZodDefault<z.ZodEnum<["monday", "sunday"]>>;
|
|
1101
|
+
}, "strip", z.ZodTypeAny, {
|
|
1102
|
+
utc: boolean;
|
|
1103
|
+
hour12: boolean;
|
|
1104
|
+
startOfWeek: "monday" | "sunday";
|
|
1105
|
+
defaultVideoResizeMode?: VideoResizeMode | undefined;
|
|
1106
|
+
camerasResizeMode?: [number, VideoResizeMode][] | undefined;
|
|
1107
|
+
fisheyeCameras?: [number, [number, number, number] | {
|
|
1108
|
+
params: {
|
|
1109
|
+
x: number;
|
|
1110
|
+
y: number;
|
|
1111
|
+
r: number;
|
|
1112
|
+
s: number;
|
|
1113
|
+
};
|
|
1114
|
+
positions?: [{
|
|
1115
|
+
lat: number;
|
|
1116
|
+
lon: number;
|
|
1117
|
+
fov: number;
|
|
1118
|
+
}, {
|
|
1119
|
+
lat: number;
|
|
1120
|
+
lon: number;
|
|
1121
|
+
fov: number;
|
|
1122
|
+
}, {
|
|
1123
|
+
lat: number;
|
|
1124
|
+
lon: number;
|
|
1125
|
+
fov: number;
|
|
1126
|
+
}] | undefined;
|
|
1127
|
+
} | null][] | undefined;
|
|
1128
|
+
}, {
|
|
1129
|
+
defaultVideoResizeMode?: VideoResizeMode | undefined;
|
|
1130
|
+
camerasResizeMode?: [number, VideoResizeMode][] | undefined;
|
|
1131
|
+
fisheyeCameras?: [number, [number, number, number] | {
|
|
1132
|
+
params: {
|
|
1133
|
+
x: number;
|
|
1134
|
+
y: number;
|
|
1135
|
+
r: number;
|
|
1136
|
+
s: number;
|
|
1137
|
+
};
|
|
1138
|
+
positions?: [{
|
|
1139
|
+
lat: number;
|
|
1140
|
+
lon: number;
|
|
1141
|
+
fov: number;
|
|
1142
|
+
}, {
|
|
1143
|
+
lat: number;
|
|
1144
|
+
lon: number;
|
|
1145
|
+
fov: number;
|
|
1146
|
+
}, {
|
|
1147
|
+
lat: number;
|
|
1148
|
+
lon: number;
|
|
1149
|
+
fov: number;
|
|
1150
|
+
}] | undefined;
|
|
1151
|
+
} | null][] | undefined;
|
|
1152
|
+
utc?: boolean | undefined;
|
|
1153
|
+
hour12?: boolean | undefined;
|
|
1154
|
+
startOfWeek?: "monday" | "sunday" | undefined;
|
|
1155
|
+
}>;
|
|
1156
|
+
|
|
939
1157
|
declare interface Props {
|
|
940
1158
|
store: EventSearchStore;
|
|
941
1159
|
onEventClick: (event: CameraEvent) => void;
|
|
@@ -1012,7 +1230,7 @@ declare interface RawCamgroup {
|
|
|
1012
1230
|
|
|
1013
1231
|
declare interface RawClip {
|
|
1014
1232
|
id: number;
|
|
1015
|
-
recordType:
|
|
1233
|
+
recordType: 'Archive' | 'Timelaps' | 'Timelaps to do';
|
|
1016
1234
|
isReady: boolean;
|
|
1017
1235
|
name: string;
|
|
1018
1236
|
description: string;
|
|
@@ -1080,6 +1298,12 @@ declare interface RawSharedClip {
|
|
|
1080
1298
|
validTo: string | Date;
|
|
1081
1299
|
}
|
|
1082
1300
|
|
|
1301
|
+
declare interface RawThumbnail {
|
|
1302
|
+
timestamp: string;
|
|
1303
|
+
realtimestamp: string;
|
|
1304
|
+
url: string;
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1083
1307
|
declare type RawToken = {
|
|
1084
1308
|
accessToken: string;
|
|
1085
1309
|
accessTokenExpires: string;
|
|
@@ -1200,8 +1424,11 @@ declare enum SensorEventType {
|
|
|
1200
1424
|
IDCheck = 37,
|
|
1201
1425
|
PPECheck = 38,
|
|
1202
1426
|
WelfareCheck = 39,
|
|
1203
|
-
|
|
1204
|
-
|
|
1427
|
+
VehicleBreakIn = 40,
|
|
1428
|
+
DrugTrafficking = 41,
|
|
1429
|
+
Assault = 42,
|
|
1430
|
+
PackageDelivery = 43,
|
|
1431
|
+
Uncategorized = 999
|
|
1205
1432
|
}
|
|
1206
1433
|
|
|
1207
1434
|
declare interface Storage_2 {
|
|
@@ -1215,8 +1442,6 @@ declare interface Thumbnail {
|
|
|
1215
1442
|
timestamp: Date;
|
|
1216
1443
|
realTimestamp: Date;
|
|
1217
1444
|
url: string;
|
|
1218
|
-
width: number;
|
|
1219
|
-
height: number;
|
|
1220
1445
|
}
|
|
1221
1446
|
|
|
1222
1447
|
declare class ThumbnailsStore extends ApiStore {
|
|
@@ -1238,7 +1463,7 @@ declare class ThumbnailsStore extends ApiStore {
|
|
|
1238
1463
|
* @param to - end of the period
|
|
1239
1464
|
* @param count - number of thumbnails
|
|
1240
1465
|
*/
|
|
1241
|
-
fetchThumbnails(cameraId: number, from: Date, to: Date, count: number)
|
|
1466
|
+
fetchThumbnails: (cameraId: number, from: Date, to: Date, count: number) => Observable<Thumbnail[]>;
|
|
1242
1467
|
getIntervalState(cameraId: number, from: Date, to: Date): IntervalState | null;
|
|
1243
1468
|
fetchThumbnail(cameraId: number, from: Date, to: Date): Observable<Thumbnail>;
|
|
1244
1469
|
/**
|
|
@@ -1249,11 +1474,9 @@ declare class ThumbnailsStore extends ApiStore {
|
|
|
1249
1474
|
* Returns previously obtained thumbnails for given camera within period
|
|
1250
1475
|
*/
|
|
1251
1476
|
getThumbnails({ cameraId, from, to }: GetThumbnailParams): Thumbnail[];
|
|
1252
|
-
toThumbnail: (cameraId: number) => ({ realtimestamp, url
|
|
1477
|
+
toThumbnail: (cameraId: number) => ({ realtimestamp, url }: {
|
|
1253
1478
|
realtimestamp: string;
|
|
1254
1479
|
url: string;
|
|
1255
|
-
width: number;
|
|
1256
|
-
height: number;
|
|
1257
1480
|
}) => Thumbnail;
|
|
1258
1481
|
}
|
|
1259
1482
|
|
|
@@ -1308,4 +1531,9 @@ declare class ToolkitApp {
|
|
|
1308
1531
|
|
|
1309
1532
|
declare type User = RawUser;
|
|
1310
1533
|
|
|
1534
|
+
declare enum VideoResizeMode {
|
|
1535
|
+
Fit = "contain",
|
|
1536
|
+
Stretch = "fill"
|
|
1537
|
+
}
|
|
1538
|
+
|
|
1311
1539
|
export { }
|