@3deye-toolkit/react-event-search 0.0.4 → 0.0.6

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';
@@ -30,34 +29,7 @@ declare class AccountStore extends ApiStore {
30
29
  updateCustomPreferences: (preferences: Partial<Preferences>) => Observable<RawUser>;
31
30
  setDefaultGroup(groupId: number): Observable<RawUser> | undefined;
32
31
  get preferences(): Preferences;
33
- getPreference: <T extends (PREFERENCES.UTC | PREFERENCES.HOUR12 | PREFERENCES.START_OF_WEEK) | (PREFERENCES.DEFAULT_VIDEO_RESIZE_MODE | PREFERENCES.RESIZE_MODE_PER_CAMERA | PREFERENCES.FISHEYE_CAMERAS)>(key: T) => {
34
- utc: boolean;
35
- hour12: boolean;
36
- startOfWeek: "monday" | "sunday";
37
- defaultVideoResizeMode?: VideoResizeMode | undefined;
38
- camerasResizeMode?: [number, VideoResizeMode][] | undefined;
39
- fisheyeCameras?: [number, [number, number, number] | {
40
- params: {
41
- x: number;
42
- y: number;
43
- r: number;
44
- s: number;
45
- };
46
- positions?: [{
47
- lat: number;
48
- lon: number;
49
- fov: number;
50
- }, {
51
- lat: number;
52
- lon: number;
53
- fov: number;
54
- }, {
55
- lat: number;
56
- lon: number;
57
- fov: number;
58
- }] | undefined;
59
- } | null][] | undefined;
60
- }[T];
32
+ getPreference: <T extends keyof Preferences>(key: T) => Preferences[T];
61
33
  private retryOnVersionMismatch;
62
34
  }
63
35
 
@@ -141,6 +113,18 @@ declare abstract class ApiStore {
141
113
  dispose(): void;
142
114
  }
143
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
+
144
128
  /**
145
129
  * @alpha
146
130
  */
@@ -288,7 +272,7 @@ declare class Camera {
288
272
  get supportsWebRTC(): boolean;
289
273
  constructor(raw: RawCamera);
290
274
  update: (raw: RawCamera) => void;
291
- can: (permission: CameraPermissions) => number;
275
+ can: (permission: CameraPermissions) => boolean;
292
276
  }
293
277
 
294
278
  declare interface CameraAddress {
@@ -381,44 +365,6 @@ declare interface ChunksQuery {
381
365
  to: Date;
382
366
  }
383
367
 
384
- declare class Clip {
385
- id: number;
386
- cameraId: number;
387
- name: string;
388
- startTime: Date;
389
- endTime: Date;
390
- type: 'Archive' | 'Timelaps' | 'Timelaps to do';
391
- createdAt: Date;
392
- /**
393
- * clip duration in seconds
394
- */
395
- duration: number;
396
- chunks: ArchiveChunk[];
397
- clipUrl?: string;
398
- description: string;
399
- version: string;
400
- raw: RawClip;
401
- isDownloading: boolean;
402
- archives?: ArchiveChunk[];
403
- constructor(raw: RawClip);
404
- get isTimelapse(): boolean;
405
- update(raw: RawClip): void;
406
- }
407
-
408
- declare interface ClipParams {
409
- cameraId: number;
410
- startTime: Date;
411
- endTime: Date;
412
- name: string;
413
- description?: string;
414
- }
415
-
416
- declare interface ClipsQuery {
417
- cameraId: number;
418
- from: Date;
419
- to: Date;
420
- }
421
-
422
368
  declare interface Connection {
423
369
  state: CONNECTION_STATE;
424
370
  stop: () => void;
@@ -465,8 +411,8 @@ declare type DetectedObject = Car | LicensePlate | {
465
411
  };
466
412
 
467
413
  declare interface DetectedObjectOption {
468
- id: string;
469
- name: string;
414
+ value: string;
415
+ label: string;
470
416
  color: string;
471
417
  highlightColor: string;
472
418
  type: 'detectedObject';
@@ -490,7 +436,7 @@ declare class EventSchemaStore extends ApiStore {
490
436
  dispose(): void;
491
437
  }
492
438
 
493
- declare const EventSearch: React_2.FC<Props>;
439
+ declare const EventSearch: React.FC<Props>;
494
440
  export default EventSearch;
495
441
 
496
442
  declare class EventSearchStore extends ApiStore {
@@ -499,7 +445,6 @@ declare class EventSearchStore extends ApiStore {
499
445
  private account;
500
446
  private notification;
501
447
  private heatmaps?;
502
- api: ExtendedApi;
503
448
  disposables: (IReactionDisposer | Subscription)[];
504
449
  readonly analyticsEnabled: boolean;
505
450
  cameraId: number | null;
@@ -562,7 +507,6 @@ declare class EventSearchStore extends ApiStore {
562
507
  Bottom: number;
563
508
  };
564
509
  afterInit(): void;
565
- dispose(): void;
566
510
  }
567
511
 
568
512
  declare class EventsLoader extends ApiStore {
@@ -595,7 +539,7 @@ declare class EventsLoader extends ApiStore {
595
539
  objectIdx: number;
596
540
  }[]);
597
541
  flushUpdates: () => void;
598
- setLiveUpdateMode: (mode: 'manual' | 'auto' | 'disabled') => void;
542
+ setLiveUpdateMode: (mode: "manual" | "auto" | "disabled") => void;
599
543
  load: () => void;
600
544
  reload: () => void;
601
545
  loadMore: () => void;
@@ -713,12 +657,6 @@ declare class EventsStore extends ApiStore {
713
657
 
714
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';
715
659
 
716
- declare type ExtendedApi = Api<IApi> & IApi & {
717
- archives: {
718
- GetLongLastingTimeLaps: (cameraId: number) => Observable<ApiResult<RawClip>>;
719
- };
720
- };
721
-
722
660
  declare type ExtractHubs<T, K> = {
723
661
  [P in keyof ExtractMethods<T, K>]: ExtractMethods<T[P], K[P]>;
724
662
  };
@@ -825,7 +763,7 @@ declare interface IApi {
825
763
  UpdateCamgroup: (params: any) => Observable<ApiResult<RawCamgroup>>;
826
764
  };
827
765
  sound: {
828
- GetPushSoundServiceUrl: (id: number) => Observable<any>;
766
+ GetPushSoundServiceUrl: (id: number) => Observable<ApiResult<string>>;
829
767
  };
830
768
  thumbnails: {
831
769
  GetThumbnailsInfo: (params: {
@@ -857,6 +795,7 @@ declare interface InitParams {
857
795
  widgetId: string;
858
796
  widgetToken: string;
859
797
  };
798
+ clientId?: string;
860
799
  tokenStorage?: Storage_2;
861
800
  tokenStorageKey?: string;
862
801
  apiUrl?: string;
@@ -877,42 +816,6 @@ declare type IntervalState = {
877
816
  request: Observable<Thumbnail[]>;
878
817
  };
879
818
 
880
- declare class LibraryStore extends ApiStore {
881
- private notification?;
882
- data: crossfilter.Crossfilter<Clip>;
883
- clipsByCameraId: crossfilter.Dimension<Clip, number>;
884
- clipsByCreationDate: crossfilter.Dimension<Clip, number>;
885
- clipsByStart: crossfilter.Dimension<Clip, number>;
886
- clipsByEnd: crossfilter.Dimension<Clip, number>;
887
- clipsByType: crossfilter.Dimension<Clip, string>;
888
- clipsById: crossfilter.Dimension<Clip, number>;
889
- clipsMap: Map<number, Clip>;
890
- loaded: boolean;
891
- loading: boolean;
892
- updates: number;
893
- constructor(notification?: NotificationService | undefined);
894
- /**
895
- * Fetches all clips from the server and updates the store
896
- */
897
- fetch(): Observable<Clip[]>;
898
- add: (clips: Clip[]) => void;
899
- addOrUpdate: (clips: Clip[]) => void;
900
- removeFromStore: (clips: {
901
- id: number;
902
- }[]) => void;
903
- getClips({ cameraId, from, to }: ClipsQuery): Clip[];
904
- getTimelapses(): Clip[];
905
- getRecentlyAdded(): Clip[];
906
- all(): Clip[];
907
- getOnly(type: 'clips' | 'timelapses' | null, sortDirection?: 'asc' | 'desc'): Clip[];
908
- createClip: (data: ClipParams) => void;
909
- createTimelapse: (data: TimelapseParams) => void;
910
- rename(clip: Clip, name: string): void;
911
- delete(clip: Clip): void;
912
- protected afterInit(): void;
913
- dispose(): void;
914
- }
915
-
916
819
  declare interface LicensePlate {
917
820
  Type: 'LicensePlate';
918
821
  Value: string;
@@ -988,20 +891,11 @@ declare interface PendingRequest_2 {
988
891
  request: Observable<Thumbnail[]>;
989
892
  }
990
893
 
991
- declare enum PREFERENCES {
992
- DEFAULT_VIDEO_RESIZE_MODE = "defaultVideoResizeMode",
993
- RESIZE_MODE_PER_CAMERA = "camerasResizeMode",
994
- FISHEYE_CAMERAS = "fisheyeCameras",
995
- UTC = "utc",
996
- HOUR12 = "hour12",
997
- START_OF_WEEK = "startOfWeek"
998
- }
999
-
1000
894
  declare type Preferences = z.infer<typeof preferencesSchema>;
1001
895
 
1002
896
  declare const preferencesSchema: z.ZodObject<{
1003
- defaultVideoResizeMode: z.ZodOptional<z.ZodNativeEnum<typeof VideoResizeMode>>;
1004
- 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">>;
1005
899
  fisheyeCameras: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1006
900
  params: z.ZodObject<{
1007
901
  x: z.ZodNumber;
@@ -1011,13 +905,13 @@ declare const preferencesSchema: z.ZodObject<{
1011
905
  }, "strip", z.ZodTypeAny, {
1012
906
  x: number;
1013
907
  y: number;
1014
- r: number;
1015
908
  s: number;
909
+ r: number;
1016
910
  }, {
1017
911
  x: number;
1018
912
  y: number;
1019
- r: number;
1020
913
  s: number;
914
+ r: number;
1021
915
  }>;
1022
916
  positions: z.ZodOptional<z.ZodTuple<[z.ZodObject<{
1023
917
  lat: z.ZodNumber;
@@ -1060,8 +954,8 @@ declare const preferencesSchema: z.ZodObject<{
1060
954
  params: {
1061
955
  x: number;
1062
956
  y: number;
1063
- r: number;
1064
957
  s: number;
958
+ r: number;
1065
959
  };
1066
960
  positions?: [{
1067
961
  lat: number;
@@ -1080,8 +974,8 @@ declare const preferencesSchema: z.ZodObject<{
1080
974
  params: {
1081
975
  x: number;
1082
976
  y: number;
1083
- r: number;
1084
977
  s: number;
978
+ r: number;
1085
979
  };
1086
980
  positions?: [{
1087
981
  lat: number;
@@ -1104,14 +998,14 @@ declare const preferencesSchema: z.ZodObject<{
1104
998
  utc: boolean;
1105
999
  hour12: boolean;
1106
1000
  startOfWeek: "monday" | "sunday";
1107
- defaultVideoResizeMode?: VideoResizeMode | undefined;
1108
- camerasResizeMode?: [number, VideoResizeMode][] | undefined;
1109
- fisheyeCameras?: [number, [number, number, number] | {
1001
+ defaultVideoResizeMode?: "contain" | "fill" | undefined;
1002
+ camerasResizeMode?: [number, "contain" | "fill"][] | undefined;
1003
+ fisheyeCameras?: [number, {
1110
1004
  params: {
1111
1005
  x: number;
1112
1006
  y: number;
1113
- r: number;
1114
1007
  s: number;
1008
+ r: number;
1115
1009
  };
1116
1010
  positions?: [{
1117
1011
  lat: number;
@@ -1126,16 +1020,16 @@ declare const preferencesSchema: z.ZodObject<{
1126
1020
  lon: number;
1127
1021
  fov: number;
1128
1022
  }] | undefined;
1129
- } | null][] | undefined;
1023
+ } | [number, number, number] | null][] | undefined;
1130
1024
  }, {
1131
- defaultVideoResizeMode?: VideoResizeMode | undefined;
1132
- camerasResizeMode?: [number, VideoResizeMode][] | undefined;
1133
- fisheyeCameras?: [number, [number, number, number] | {
1025
+ defaultVideoResizeMode?: "contain" | "fill" | undefined;
1026
+ camerasResizeMode?: [number, "contain" | "fill"][] | undefined;
1027
+ fisheyeCameras?: [number, {
1134
1028
  params: {
1135
1029
  x: number;
1136
1030
  y: number;
1137
- r: number;
1138
1031
  s: number;
1032
+ r: number;
1139
1033
  };
1140
1034
  positions?: [{
1141
1035
  lat: number;
@@ -1150,7 +1044,7 @@ declare const preferencesSchema: z.ZodObject<{
1150
1044
  lon: number;
1151
1045
  fov: number;
1152
1046
  }] | undefined;
1153
- } | null][] | undefined;
1047
+ } | [number, number, number] | null][] | undefined;
1154
1048
  utc?: boolean | undefined;
1155
1049
  hour12?: boolean | undefined;
1156
1050
  startOfWeek?: "monday" | "sunday" | undefined;
@@ -1482,13 +1376,8 @@ declare class ThumbnailsStore extends ApiStore {
1482
1376
  }) => Thumbnail;
1483
1377
  }
1484
1378
 
1485
- declare type TimelapseParams = ClipParams & {
1486
- duration: number;
1487
- };
1488
-
1489
1379
  declare class Token {
1490
1380
  accessToken: string;
1491
- accessTokenExpires: Date;
1492
1381
  accessTokenIssued: Date;
1493
1382
  clientId: string;
1494
1383
  expiresIn: number;
@@ -1502,9 +1391,11 @@ declare class Token {
1502
1391
  widgetToken?: string;
1503
1392
  json: RawToken;
1504
1393
  constructor(raw: RawToken);
1394
+ private _exp;
1395
+ get accessTokenExpires(): Date;
1505
1396
  }
1506
1397
 
1507
- declare class ToolkitApp {
1398
+ declare class ToolkitApp implements App {
1508
1399
  readonly name: string;
1509
1400
  initialized: boolean;
1510
1401
  cameras: CamerasStore;
@@ -1514,13 +1405,12 @@ declare class ToolkitApp {
1514
1405
  thumbnails: ThumbnailsStore;
1515
1406
  account: AccountStore;
1516
1407
  notification: NotificationService;
1517
- library: LibraryStore;
1518
1408
  auth: Auth;
1519
1409
  api: Api<IApi> & IApi;
1520
1410
  private disposables;
1521
1411
  private tokenUpdateReactions;
1522
1412
  constructor(name: string);
1523
- init({ token, tokenStorage: storage, tokenStorageKey, apiUrl, tokenServiceUrl }: InitParams, name?: string): ToolkitApp;
1413
+ init({ clientId, token, tokenStorage: storage, tokenStorageKey, apiUrl, tokenServiceUrl }: InitParams, name?: string): ToolkitApp;
1524
1414
  dispose: () => void;
1525
1415
  /**
1526
1416
  * Adds a reaction to token changes
@@ -1533,9 +1423,4 @@ declare class ToolkitApp {
1533
1423
 
1534
1424
  declare type User = RawUser;
1535
1425
 
1536
- declare enum VideoResizeMode {
1537
- Fit = "contain",
1538
- Stretch = "fill"
1539
- }
1540
-
1541
1426
  export { }