@3deye-toolkit/react-event-search 0.0.3 → 0.0.5

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.
@@ -2,7 +2,6 @@ import { BehaviorSubject } from 'rxjs';
2
2
  import crossfilter from 'crossfilter2';
3
3
  import type { IReactionDisposer } from 'mobx';
4
4
  import { Observable } from 'rxjs';
5
- import { default as React_2 } from 'react';
6
5
  import { Subject } from 'rxjs';
7
6
  import { Subscription } from 'rxjs';
8
7
  import { z } from 'zod';
@@ -12,6 +11,7 @@ declare class AccountStore extends ApiStore {
12
11
  user: User | null;
13
12
  auth: Auth;
14
13
  constructor(notification?: NotificationService | undefined);
14
+ get isSharingUserAccount(): boolean;
15
15
  get userDisplayName(): string | null;
16
16
  protected afterInit(): void;
17
17
  loadUser$(): Observable<RawUser | null>;
@@ -29,34 +29,7 @@ declare class AccountStore extends ApiStore {
29
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
+ getPreference: <T extends keyof Preferences>(key: T) => Preferences[T];
60
33
  private retryOnVersionMismatch;
61
34
  }
62
35
 
@@ -96,11 +69,12 @@ declare class Api<T extends DeepPartial<IApi>> {
96
69
  event: string;
97
70
  data: any;
98
71
  }>;
99
- logging: boolean;
72
+ logLevel: LOG_LEVEL;
100
73
  authStore: Auth;
101
74
  createConnection: (accessToken: string) => Connection;
102
75
  apiConfig: PartialApi;
103
76
  constructor(apiConfig: T, authStore: Auth, createConnection: (accessToken: string) => Connection);
77
+ log: (level: LOG_LEVEL, ...args: unknown[]) => void;
104
78
  connect(token: Token): void;
105
79
  shutdownConnection(): void;
106
80
  private init;
@@ -139,6 +113,18 @@ declare abstract class ApiStore {
139
113
  dispose(): void;
140
114
  }
141
115
 
116
+ declare interface App {
117
+ cameras: CamerasStore;
118
+ archives: ArchivesStore;
119
+ events: EventsStore;
120
+ eventSchema: EventSchemaStore;
121
+ thumbnails: ThumbnailsStore;
122
+ account: AccountStore;
123
+ notification: NotificationService;
124
+ auth: Auth;
125
+ api: Api<IApi> & IApi;
126
+ }
127
+
142
128
  /**
143
129
  * @alpha
144
130
  */
@@ -286,7 +272,7 @@ declare class Camera {
286
272
  get supportsWebRTC(): boolean;
287
273
  constructor(raw: RawCamera);
288
274
  update: (raw: RawCamera) => void;
289
- can: (permission: CameraPermissions) => number;
275
+ can: (permission: CameraPermissions) => boolean;
290
276
  }
291
277
 
292
278
  declare interface CameraAddress {
@@ -379,44 +365,6 @@ declare interface ChunksQuery {
379
365
  to: Date;
380
366
  }
381
367
 
382
- declare class Clip {
383
- id: number;
384
- cameraId: number;
385
- name: string;
386
- startTime: Date;
387
- endTime: Date;
388
- type: 'Archive' | 'Timelaps' | 'Timelaps to do';
389
- createdAt: Date;
390
- /**
391
- * clip duration in seconds
392
- */
393
- duration: number;
394
- chunks: ArchiveChunk[];
395
- clipUrl?: string;
396
- description: string;
397
- version: string;
398
- raw: RawClip;
399
- isDownloading: boolean;
400
- archives?: ArchiveChunk[];
401
- constructor(raw: RawClip);
402
- get isTimelapse(): boolean;
403
- update(raw: RawClip): void;
404
- }
405
-
406
- declare interface ClipParams {
407
- cameraId: number;
408
- startTime: Date;
409
- endTime: Date;
410
- name: string;
411
- description?: string;
412
- }
413
-
414
- declare interface ClipsQuery {
415
- cameraId: number;
416
- from: Date;
417
- to: Date;
418
- }
419
-
420
368
  declare interface Connection {
421
369
  state: CONNECTION_STATE;
422
370
  stop: () => void;
@@ -430,7 +378,7 @@ declare interface Connection {
430
378
  proxies: {
431
379
  [P in keyof typeof FULL_API_CONFIG]: {
432
380
  on: (eventName: string, callback: (data: any) => void) => void;
433
- invoke: any;
381
+ invoke: (...params: unknown[]) => any;
434
382
  };
435
383
  };
436
384
  createHubProxy: (hubName: string) => void;
@@ -463,8 +411,8 @@ declare type DetectedObject = Car | LicensePlate | {
463
411
  };
464
412
 
465
413
  declare interface DetectedObjectOption {
466
- id: string;
467
- name: string;
414
+ value: string;
415
+ label: string;
468
416
  color: string;
469
417
  highlightColor: string;
470
418
  type: 'detectedObject';
@@ -488,7 +436,7 @@ declare class EventSchemaStore extends ApiStore {
488
436
  dispose(): void;
489
437
  }
490
438
 
491
- declare const EventSearch: React_2.FC<Props>;
439
+ declare const EventSearch: React.FC<Props>;
492
440
  export default EventSearch;
493
441
 
494
442
  declare class EventSearchStore extends ApiStore {
@@ -497,7 +445,6 @@ declare class EventSearchStore extends ApiStore {
497
445
  private account;
498
446
  private notification;
499
447
  private heatmaps?;
500
- api: ExtendedApi;
501
448
  disposables: (IReactionDisposer | Subscription)[];
502
449
  readonly analyticsEnabled: boolean;
503
450
  cameraId: number | null;
@@ -560,7 +507,6 @@ declare class EventSearchStore extends ApiStore {
560
507
  Bottom: number;
561
508
  };
562
509
  afterInit(): void;
563
- dispose(): void;
564
510
  }
565
511
 
566
512
  declare class EventsLoader extends ApiStore {
@@ -581,7 +527,7 @@ declare class EventsLoader extends ApiStore {
581
527
  }[];
582
528
  liveUpdateMode: 'manual' | 'auto' | 'disabled';
583
529
  disposables: (IReactionDisposer | Subscription)[];
584
- pageInfo: PageInfo_2 | null;
530
+ pageInfo: PageInfo | null;
585
531
  loading: boolean;
586
532
  loadMoreTrigger: number;
587
533
  retryTrigger: number;
@@ -593,7 +539,7 @@ declare class EventsLoader extends ApiStore {
593
539
  objectIdx: number;
594
540
  }[]);
595
541
  flushUpdates: () => void;
596
- setLiveUpdateMode: (mode: 'manual' | 'auto' | 'disabled') => void;
542
+ setLiveUpdateMode: (mode: "manual" | "auto" | "disabled") => void;
597
543
  load: () => void;
598
544
  reload: () => void;
599
545
  loadMore: () => void;
@@ -643,7 +589,6 @@ declare class EventsStore extends ApiStore {
643
589
  eventsByType: crossfilter.Dimension<CameraEvent, EventType>;
644
590
  eventsByFoundObjects: crossfilter.Dimension<CameraEvent, string>;
645
591
  eventsByColor: crossfilter.Dimension<CameraEvent, string>;
646
- eventsByLiveliness: crossfilter.Dimension<CameraEvent, boolean>;
647
592
  pendingRequests: crossfilter.Crossfilter<PendingRequest>;
648
593
  pendingRequestsByEnd: crossfilter.Dimension<PendingRequest, number>;
649
594
  pendingRequestsByStart: crossfilter.Dimension<PendingRequest, number>;
@@ -654,6 +599,7 @@ declare class EventsStore extends ApiStore {
654
599
  knownIntervalsByEnd: crossfilter.Dimension<Interval, number>;
655
600
  eventsById: Map<number, CameraEvent>;
656
601
  updates: number;
602
+ updatesByCameraId: Map<number, number>;
657
603
  /**
658
604
  * Contains recent additions to the store as list of event ids
659
605
  * NOTE: do not update several times in single action as we lose info about intermediate additions that way
@@ -688,6 +634,7 @@ declare class EventsStore extends ApiStore {
688
634
  misc: boolean;
689
635
  };
690
636
  }): CameraEvent;
637
+ getRunningEvent(cameraId: number): CameraEvent | undefined;
691
638
  getFirstNonAnalyticEventAfter({ cameraId, date }: {
692
639
  cameraId: number;
693
640
  date: Date;
@@ -710,12 +657,6 @@ declare class EventsStore extends ApiStore {
710
657
 
711
658
  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';
712
659
 
713
- declare type ExtendedApi = Api<IApi> & IApi & {
714
- archives: {
715
- GetLongLastingTimeLaps: (cameraId: number) => Observable<any>;
716
- };
717
- };
718
-
719
660
  declare type ExtractHubs<T, K> = {
720
661
  [P in keyof ExtractMethods<T, K>]: ExtractMethods<T[P], K[P]>;
721
662
  };
@@ -822,7 +763,7 @@ declare interface IApi {
822
763
  UpdateCamgroup: (params: any) => Observable<ApiResult<RawCamgroup>>;
823
764
  };
824
765
  sound: {
825
- GetPushSoundServiceUrl: (id: number) => Observable<any>;
766
+ GetPushSoundServiceUrl: (id: number) => Observable<ApiResult<string>>;
826
767
  };
827
768
  thumbnails: {
828
769
  GetThumbnailsInfo: (params: {
@@ -854,6 +795,7 @@ declare interface InitParams {
854
795
  widgetId: string;
855
796
  widgetToken: string;
856
797
  };
798
+ clientId?: string;
857
799
  tokenStorage?: Storage_2;
858
800
  tokenStorageKey?: string;
859
801
  apiUrl?: string;
@@ -874,51 +816,20 @@ declare type IntervalState = {
874
816
  request: Observable<Thumbnail[]>;
875
817
  };
876
818
 
877
- declare class LibraryStore extends ApiStore {
878
- private notification?;
879
- data: crossfilter.Crossfilter<Clip>;
880
- clipsByCameraId: crossfilter.Dimension<Clip, number>;
881
- clipsByCreationDate: crossfilter.Dimension<Clip, number>;
882
- clipsByStart: crossfilter.Dimension<Clip, number>;
883
- clipsByEnd: crossfilter.Dimension<Clip, number>;
884
- clipsByType: crossfilter.Dimension<Clip, string>;
885
- clipsById: crossfilter.Dimension<Clip, number>;
886
- clipsMap: Map<number, Clip>;
887
- loaded: boolean;
888
- loading: boolean;
889
- updates: number;
890
- constructor(notification?: NotificationService | undefined);
891
- /**
892
- * Fetches all clips from the server and updates the store
893
- */
894
- fetch(): Observable<Clip[]>;
895
- add: (clips: Clip[]) => void;
896
- addOrUpdate: (clips: Clip[]) => void;
897
- removeFromStore: (clips: {
898
- id: number;
899
- }[]) => void;
900
- getClips({ cameraId, from, to }: ClipsQuery): Clip[];
901
- getTimelapses(): Clip[];
902
- getRecentlyAdded(): Clip[];
903
- all(): Clip[];
904
- getOnly(type: 'clips' | 'timelapses' | null, sortDirection?: 'asc' | 'desc'): Clip[];
905
- createClip: (data: ClipParams) => void;
906
- createTimelapse: (data: TimelapseParams) => void;
907
- rename(clip: Clip, name: string): void;
908
- delete(clip: Clip): void;
909
- protected afterInit(): void;
910
- dispose(): void;
911
- }
912
-
913
819
  declare interface LicensePlate {
914
820
  Type: 'LicensePlate';
915
821
  Value: string;
916
- Number: string;
917
822
  ParentIndex: number;
918
823
  Box: BoundingBox;
919
824
  Probability: number;
920
825
  }
921
826
 
827
+ declare enum LOG_LEVEL {
828
+ INFO = 0,
829
+ WARN = 1,
830
+ ERROR = 2
831
+ }
832
+
922
833
  declare interface NotificationOptions_2 {
923
834
  duration: number;
924
835
  }
@@ -961,12 +872,6 @@ declare interface PageInfo {
961
872
  haveMore: boolean;
962
873
  }
963
874
 
964
- declare interface PageInfo_2 {
965
- isDescending: boolean;
966
- nextPageToken: number;
967
- haveMore: boolean;
968
- }
969
-
970
875
  declare type PartialApi = DeepPartial<IApi>;
971
876
 
972
877
  declare type PartialExcept<T, K extends keyof T> = Pick<T, K> & Partial<T>;
@@ -986,20 +891,11 @@ declare interface PendingRequest_2 {
986
891
  request: Observable<Thumbnail[]>;
987
892
  }
988
893
 
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
894
  declare type Preferences = z.infer<typeof preferencesSchema>;
999
895
 
1000
896
  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">>;
897
+ defaultVideoResizeMode: z.ZodOptional<z.ZodEnum<["fill", "contain"]>>;
898
+ camerasResizeMode: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodEnum<["fill", "contain"]>], null>, "many">>;
1003
899
  fisheyeCameras: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1004
900
  params: z.ZodObject<{
1005
901
  x: z.ZodNumber;
@@ -1009,13 +905,13 @@ declare const preferencesSchema: z.ZodObject<{
1009
905
  }, "strip", z.ZodTypeAny, {
1010
906
  x: number;
1011
907
  y: number;
1012
- r: number;
1013
908
  s: number;
909
+ r: number;
1014
910
  }, {
1015
911
  x: number;
1016
912
  y: number;
1017
- r: number;
1018
913
  s: number;
914
+ r: number;
1019
915
  }>;
1020
916
  positions: z.ZodOptional<z.ZodTuple<[z.ZodObject<{
1021
917
  lat: z.ZodNumber;
@@ -1058,8 +954,8 @@ declare const preferencesSchema: z.ZodObject<{
1058
954
  params: {
1059
955
  x: number;
1060
956
  y: number;
1061
- r: number;
1062
957
  s: number;
958
+ r: number;
1063
959
  };
1064
960
  positions?: [{
1065
961
  lat: number;
@@ -1078,8 +974,8 @@ declare const preferencesSchema: z.ZodObject<{
1078
974
  params: {
1079
975
  x: number;
1080
976
  y: number;
1081
- r: number;
1082
977
  s: number;
978
+ r: number;
1083
979
  };
1084
980
  positions?: [{
1085
981
  lat: number;
@@ -1102,14 +998,14 @@ declare const preferencesSchema: z.ZodObject<{
1102
998
  utc: boolean;
1103
999
  hour12: boolean;
1104
1000
  startOfWeek: "monday" | "sunday";
1105
- defaultVideoResizeMode?: VideoResizeMode | undefined;
1106
- camerasResizeMode?: [number, VideoResizeMode][] | undefined;
1107
- fisheyeCameras?: [number, [number, number, number] | {
1001
+ defaultVideoResizeMode?: "contain" | "fill" | undefined;
1002
+ camerasResizeMode?: [number, "contain" | "fill"][] | undefined;
1003
+ fisheyeCameras?: [number, {
1108
1004
  params: {
1109
1005
  x: number;
1110
1006
  y: number;
1111
- r: number;
1112
1007
  s: number;
1008
+ r: number;
1113
1009
  };
1114
1010
  positions?: [{
1115
1011
  lat: number;
@@ -1124,16 +1020,16 @@ declare const preferencesSchema: z.ZodObject<{
1124
1020
  lon: number;
1125
1021
  fov: number;
1126
1022
  }] | undefined;
1127
- } | null][] | undefined;
1023
+ } | [number, number, number] | null][] | undefined;
1128
1024
  }, {
1129
- defaultVideoResizeMode?: VideoResizeMode | undefined;
1130
- camerasResizeMode?: [number, VideoResizeMode][] | undefined;
1131
- fisheyeCameras?: [number, [number, number, number] | {
1025
+ defaultVideoResizeMode?: "contain" | "fill" | undefined;
1026
+ camerasResizeMode?: [number, "contain" | "fill"][] | undefined;
1027
+ fisheyeCameras?: [number, {
1132
1028
  params: {
1133
1029
  x: number;
1134
1030
  y: number;
1135
- r: number;
1136
1031
  s: number;
1032
+ r: number;
1137
1033
  };
1138
1034
  positions?: [{
1139
1035
  lat: number;
@@ -1148,7 +1044,7 @@ declare const preferencesSchema: z.ZodObject<{
1148
1044
  lon: number;
1149
1045
  fov: number;
1150
1046
  }] | undefined;
1151
- } | null][] | undefined;
1047
+ } | [number, number, number] | null][] | undefined;
1152
1048
  utc?: boolean | undefined;
1153
1049
  hour12?: boolean | undefined;
1154
1050
  startOfWeek?: "monday" | "sunday" | undefined;
@@ -1384,21 +1280,21 @@ declare interface SensorEventsRequest {
1384
1280
  }
1385
1281
 
1386
1282
  declare enum SensorEventType {
1387
- Motion = 0,
1388
- Tampering = 1,
1389
- PanTiltZoom = 2,
1390
- CrossLine = 3,
1391
- Intrusion = 4,
1392
- LicensePlate = 5,
1393
- FaceDetection = 6,
1394
- Audio = 7,
1395
- Analytic = 8,
1396
- SpeedDetection = 9,
1397
- PeopleCounter = 10,
1398
- Temperature = 11,
1399
- PoS = 12,
1400
- GPS = 13,
1401
- DigitalInput = 14,
1283
+ Motion = 0,// Has duration
1284
+ Tampering = 1,// Has duration
1285
+ PanTiltZoom = 2,// Has duration
1286
+ CrossLine = 3,// Has duration
1287
+ Intrusion = 4,// Has duration
1288
+ LicensePlate = 5,// Instant
1289
+ FaceDetection = 6,// Instant
1290
+ Audio = 7,// Has duration
1291
+ Analytic = 8,// Instant, has data
1292
+ SpeedDetection = 9,// Instant, has data
1293
+ PeopleCounter = 10,// Instant, has data
1294
+ Temperature = 11,// Instant, has data
1295
+ PoS = 12,// Instant, ? has data. Point of Sale transaction event
1296
+ GPS = 13,// Instant, has data. GPS coordinates event
1297
+ DigitalInput = 14,// Instant
1402
1298
  Normal = 15,
1403
1299
  Suspicious = 16,
1404
1300
  Loitering = 17,
@@ -1480,10 +1376,6 @@ declare class ThumbnailsStore extends ApiStore {
1480
1376
  }) => Thumbnail;
1481
1377
  }
1482
1378
 
1483
- declare type TimelapseParams = ClipParams & {
1484
- duration: number;
1485
- };
1486
-
1487
1379
  declare class Token {
1488
1380
  accessToken: string;
1489
1381
  accessTokenExpires: Date;
@@ -1502,7 +1394,7 @@ declare class Token {
1502
1394
  constructor(raw: RawToken);
1503
1395
  }
1504
1396
 
1505
- declare class ToolkitApp {
1397
+ declare class ToolkitApp implements App {
1506
1398
  readonly name: string;
1507
1399
  initialized: boolean;
1508
1400
  cameras: CamerasStore;
@@ -1512,13 +1404,12 @@ declare class ToolkitApp {
1512
1404
  thumbnails: ThumbnailsStore;
1513
1405
  account: AccountStore;
1514
1406
  notification: NotificationService;
1515
- library: LibraryStore;
1516
1407
  auth: Auth;
1517
1408
  api: Api<IApi> & IApi;
1518
1409
  private disposables;
1519
1410
  private tokenUpdateReactions;
1520
1411
  constructor(name: string);
1521
- init({ token, tokenStorage: storage, tokenStorageKey, apiUrl, tokenServiceUrl }: InitParams, name?: string): ToolkitApp;
1412
+ init({ clientId, token, tokenStorage: storage, tokenStorageKey, apiUrl, tokenServiceUrl }: InitParams, name?: string): ToolkitApp;
1522
1413
  dispose: () => void;
1523
1414
  /**
1524
1415
  * Adds a reaction to token changes
@@ -1531,9 +1422,4 @@ declare class ToolkitApp {
1531
1422
 
1532
1423
  declare type User = RawUser;
1533
1424
 
1534
- declare enum VideoResizeMode {
1535
- Fit = "contain",
1536
- Stretch = "fill"
1537
- }
1538
-
1539
1425
  export { }