@overmap-ai/core 1.0.48-menu-improvements.1 → 1.0.48-tanstack-table.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/sdk/sdk.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AttachmentService, AuthService, CategoryService, ComponentService, ComponentStageCompletionService, ComponentStageService, ComponentTypeService, EmailVerificationService, FileService, IssueCommentService, IssueService, MainService, OrganizationAccessService, ProjectAccessService, ProjectFileService, ProjectService, UserFormService, UserFormSubmissionService, WorkspaceService, OrganizationService, EmailDomainsService, LicenseService, DocumentService, AgentService } from "./services";
1
+ import { AttachmentService, AuthService, CategoryService, ComponentService, ComponentStageCompletionService, ComponentStageService, ComponentTypeService, EmailVerificationService, FileService, IssueCommentService, IssueService, MainService, OrganizationAccessService, ProjectAccessService, ProjectFileService, ProjectService, UserFormService, UserFormSubmissionService, WorkspaceService, OrganizationService, EmailDomainsService, LicenseService, DocumentService, IssueUpdateService, AgentService } from "./services";
2
2
  import { ToolkitStore } from "@reduxjs/toolkit/dist/configureStore.js";
3
3
  import { RootState } from "../typings";
4
4
  export declare class OvermapSDK {
@@ -15,6 +15,7 @@ export declare class OvermapSDK {
15
15
  organizationAccess: OrganizationAccessService;
16
16
  issues: IssueService;
17
17
  issueComments: IssueCommentService;
18
+ issueUpdates: IssueUpdateService;
18
19
  workspaces: WorkspaceService;
19
20
  main: MainService;
20
21
  components: ComponentService;
@@ -2,8 +2,8 @@ import { BaseApiService } from "./BaseApiService";
2
2
  import { IssueComment, Payload, Submitted } from "../../typings";
3
3
  import { OptimisticModelResult } from "../typings";
4
4
  export declare class IssueCommentService extends BaseApiService {
5
- add(comment: Omit<Payload<IssueComment>, "author">): OptimisticModelResult<IssueComment>;
6
- refreshStore(): Promise<void>;
5
+ add(comment: Omit<Payload<IssueComment>, "author" | "submitted_at">): OptimisticModelResult<IssueComment>;
7
6
  update(comment: Submitted<IssueComment>): OptimisticModelResult<IssueComment>;
8
7
  remove(offline_id: string): Promise<undefined>;
8
+ refreshStore(): Promise<void>;
9
9
  }
@@ -0,0 +1,4 @@
1
+ import { BaseApiService } from "./BaseApiService";
2
+ export declare class IssueUpdateService extends BaseApiService {
3
+ refreshStore(): Promise<void>;
4
+ }
@@ -7,6 +7,7 @@ export * from "./ComponentStageCompletionService";
7
7
  export * from "./ComponentStageService";
8
8
  export * from "./ComponentTypeService";
9
9
  export * from "./IssueCommentService";
10
+ export * from "./IssueUpdateService";
10
11
  export * from "./IssueService";
11
12
  export * from "./MainService";
12
13
  export * from "./ProjectAccessService";
@@ -26,6 +26,7 @@ export declare const componentStageSlice: import("@reduxjs/toolkit").Slice<Compo
26
26
  }) => void;
27
27
  }, "componentStages">;
28
28
  export declare const selectStageMapping: (state: RootState) => Record<string, ComponentStage>;
29
+ export declare const selectStage: SelectorWithArgs<string, ComponentStage | undefined>;
29
30
  export declare const selectStages: (state: RootState) => ComponentStage[];
30
31
  export declare const selectStagesFromComponentTypeIds: SelectorWithArgs<string[], Record<string, ComponentStage[]>>;
31
32
  export declare const selectStagesFromComponentType: SelectorWithArgs<string, ComponentStage[]>;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="@redux-offline/redux-offline" />
2
2
  import { PayloadAction, Reducer } from "@reduxjs/toolkit";
3
- import { Created, Issue, IssueAttachment, IssueComment, RootState, SearchableRecentResult, SearchArgs, SearchResult, Selector, SelectorWithArgs, Stored, Submitted } from "../../typings";
3
+ import { Created, Issue, IssueAttachment, IssueComment, IssueUpdate, RootState, SearchableRecentResult, SearchArgs, SearchResult, Selector, SelectorWithArgs, Stored, Submitted } from "../../typings";
4
4
  import { IssueStatus } from "../../enums";
5
5
  interface RecentIssueId {
6
6
  offlineId: string;
@@ -10,6 +10,7 @@ export interface IssueState {
10
10
  issues: Record<string, Stored<Issue>>;
11
11
  attachments: Record<string, Stored<IssueAttachment>>;
12
12
  comments: Record<string, Stored<IssueComment>>;
13
+ updates: Record<string, Stored<IssueUpdate>>;
13
14
  visibleStatuses: IssueStatus[];
14
15
  visibleUserIds: (number | null)[] | null;
15
16
  recentIssueIds: RecentIssueId[];
@@ -28,6 +29,9 @@ export declare const issueSlice: import("@reduxjs/toolkit").Slice<IssueState, {
28
29
  payload: Created<IssueAttachment>[];
29
30
  type: string;
30
31
  }) => void;
32
+ setIssueUpdates: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: {
33
+ payload: Created<IssueUpdate>[];
34
+ }) => void;
31
35
  setActiveIssueId: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: {
32
36
  payload: string | null;
33
37
  }) => void;
@@ -42,6 +46,12 @@ export declare const issueSlice: import("@reduxjs/toolkit").Slice<IssueState, {
42
46
  payload: Submitted<IssueAttachment>[];
43
47
  type: string;
44
48
  }) => void;
49
+ addIssueUpdate: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: {
50
+ payload: Submitted<IssueUpdate>;
51
+ }) => void;
52
+ addIssueUpdates: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: {
53
+ payload: Submitted<IssueUpdate>[];
54
+ }) => void;
45
55
  updateIssue: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: {
46
56
  payload: Submitted<Partial<Issue>>;
47
57
  }) => void;
@@ -54,14 +64,20 @@ export declare const issueSlice: import("@reduxjs/toolkit").Slice<IssueState, {
54
64
  payload: string;
55
65
  type: string;
56
66
  }) => void;
67
+ removeIssueUpdate: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: PayloadAction<string>) => void;
68
+ removeIssueUpdates: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: PayloadAction<string[]>) => void;
57
69
  removeAttachmentsOfIssue: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: PayloadAction<string>) => void;
58
70
  setVisibleStatuses: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: PayloadAction<IssueStatus[]>) => void;
59
71
  setVisibleUserIds: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: {
60
72
  payload: (number | null)[];
61
73
  }) => void;
62
- setIssueComments: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: PayloadAction<Created<IssueComment>[]>) => void;
74
+ addIssueComment: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: PayloadAction<Submitted<IssueComment>>) => void;
75
+ addIssueComments: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: PayloadAction<Submitted<IssueComment>[]>) => void;
76
+ setIssueComment: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: PayloadAction<Stored<IssueComment>>) => void;
77
+ setIssueComments: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: PayloadAction<Stored<IssueComment>[]>) => void;
63
78
  addOrReplaceIssueComment: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: PayloadAction<Submitted<IssueComment>>) => void;
64
79
  removeIssueComment: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: PayloadAction<string>) => void;
80
+ removeIssueComments: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: PayloadAction<string[]>) => void;
65
81
  cleanRecentIssues: (state: import("immer/dist/internal.js").WritableDraft<IssueState>) => void;
66
82
  addToRecentIssues: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: {
67
83
  payload: string;
@@ -69,7 +85,7 @@ export declare const issueSlice: import("@reduxjs/toolkit").Slice<IssueState, {
69
85
  resetRecentIssues: (state: import("immer/dist/internal.js").WritableDraft<IssueState>) => void;
70
86
  removeRecentIssue: (state: import("immer/dist/internal.js").WritableDraft<IssueState>, action: PayloadAction<string>) => void;
71
87
  }, "issues">;
72
- export declare const addIssueAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<IssueAttachment>, "issues/addIssueAttachment">, addIssueAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<IssueAttachment>[], "issues/addIssueAttachments">, addIssue: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<Issue>, "issues/addIssue">, addOrReplaceIssueComment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<IssueComment>, "issues/addOrReplaceIssueComment">, addToRecentIssues: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "issues/addToRecentIssues">, cleanRecentIssues: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"issues/cleanRecentIssues">, removeIssueAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "issues/removeIssueAttachment">, removeAttachmentsOfIssue: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "issues/removeAttachmentsOfIssue">, removeIssue: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "issues/removeIssue">, removeIssueComment: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "issues/removeIssueComment">, removeRecentIssue: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "issues/removeRecentIssue">, resetRecentIssues: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"issues/resetRecentIssues">, setActiveIssueId: import("@reduxjs/toolkit").ActionCreatorWithPayload<string | null, "issues/setActiveIssueId">, setIssueAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Created<IssueAttachment>[], "issues/setIssueAttachments">, setIssueComments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Created<IssueComment>[], "issues/setIssueComments">, setIssues: import("@reduxjs/toolkit").ActionCreatorWithPayload<Created<Issue>[], "issues/setIssues">, setVisibleStatuses: import("@reduxjs/toolkit").ActionCreatorWithPayload<IssueStatus[], "issues/setVisibleStatuses">, setVisibleUserIds: import("@reduxjs/toolkit").ActionCreatorWithPayload<(number | null)[], "issues/setVisibleUserIds">, updateIssueAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<IssueAttachment>, "issues/updateIssueAttachment">, updateIssue: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<Partial<Issue>>, "issues/updateIssue">;
88
+ export declare const addIssueAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<IssueAttachment>, "issues/addIssueAttachment">, addIssueAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<IssueAttachment>[], "issues/addIssueAttachments">, addIssue: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<Issue>, "issues/addIssue">, addIssueUpdate: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<IssueUpdate>, "issues/addIssueUpdate">, addIssueUpdates: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<IssueUpdate>[], "issues/addIssueUpdates">, addOrReplaceIssueComment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<IssueComment>, "issues/addOrReplaceIssueComment">, addToRecentIssues: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "issues/addToRecentIssues">, cleanRecentIssues: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"issues/cleanRecentIssues">, removeIssueAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "issues/removeIssueAttachment">, removeAttachmentsOfIssue: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "issues/removeAttachmentsOfIssue">, removeIssue: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "issues/removeIssue">, removeIssueUpdate: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "issues/removeIssueUpdate">, removeIssueUpdates: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "issues/removeIssueUpdates">, removeRecentIssue: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "issues/removeRecentIssue">, resetRecentIssues: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"issues/resetRecentIssues">, setActiveIssueId: import("@reduxjs/toolkit").ActionCreatorWithPayload<string | null, "issues/setActiveIssueId">, setIssueAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Created<IssueAttachment>[], "issues/setIssueAttachments">, setIssueUpdates: import("@reduxjs/toolkit").ActionCreatorWithPayload<Created<IssueUpdate>[], "issues/setIssueUpdates">, setIssues: import("@reduxjs/toolkit").ActionCreatorWithPayload<Created<Issue>[], "issues/setIssues">, setVisibleStatuses: import("@reduxjs/toolkit").ActionCreatorWithPayload<IssueStatus[], "issues/setVisibleStatuses">, setVisibleUserIds: import("@reduxjs/toolkit").ActionCreatorWithPayload<(number | null)[], "issues/setVisibleUserIds">, updateIssueAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<IssueAttachment>, "issues/updateIssueAttachment">, updateIssue: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<Partial<Issue>>, "issues/updateIssue">, addIssueComment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<IssueComment>, "issues/addIssueComment">, addIssueComments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<IssueComment>[], "issues/addIssueComments">, setIssueComment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<IssueComment>, "issues/setIssueComment">, setIssueComments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<IssueComment>[], "issues/setIssueComments">, removeIssueComment: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "issues/removeIssueComment">, removeIssueComments: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "issues/removeIssueComments">;
73
89
  export interface IssueFilterArgs {
74
90
  filterByAssignedTo: boolean;
75
91
  filterByStatus: boolean;
@@ -87,6 +103,8 @@ export declare const selectIssueAttachments: Selector<Stored<IssueAttachment>[]>
87
103
  export declare const selectPhotoAttachmentsOfIssue: SelectorWithArgs<string, Stored<IssueAttachment>[]>;
88
104
  export declare const selectCommentMapping: (state: RootState) => Record<string, Stored<IssueComment>>;
89
105
  export declare const selectCommentsOfIssue: (args: string) => (state: RootState) => Stored<IssueComment>[];
106
+ export declare const selectIssueUpdateMapping: (state: RootState) => Record<string, Stored<IssueUpdate>>;
107
+ export declare const selectIssueUpdatesOfIssue: (args: string) => (state: RootState) => Stored<IssueUpdate>[];
90
108
  export declare const selectAttachmentsOfIssue: (args: string) => (state: RootState) => Stored<IssueAttachment>[];
91
109
  export declare const selectAttachmentsOfIssueByType: (args: string) => (state: RootState) => {
92
110
  fileAttachments: Stored<IssueAttachment>[];
@@ -5,6 +5,8 @@ export interface Attachment extends OfflineModel, UploadedFileModel {
5
5
  description?: string;
6
6
  file_name: string;
7
7
  file_type: string;
8
+ submitted_at: string;
9
+ created_by: number;
8
10
  }
9
11
  export interface IssueAttachment extends Attachment, UploadedFileModel {
10
12
  issue: string;
@@ -20,7 +22,7 @@ export interface ProjectAttachment extends Attachment, UploadedFileModel {
20
22
  }
21
23
  /** to get an AttachmentPayload for a specific type, pass in the given AttachmentType
22
24
  * ex. AttachmentPayload<IssueAttachment> */
23
- export type AttachmentPayload<TAttachment> = Omit<TAttachment, "file"> & {
25
+ export type AttachmentPayload<TAttachment> = Omit<TAttachment, "file" | "submitted_at" | "created_by"> & {
24
26
  file: MaybeObjectURL<File>;
25
27
  };
26
28
  export interface ProfilePic extends UploadedFileModel {
@@ -3,11 +3,13 @@ import { IssuePriority, IssueStatus } from "../../enums";
3
3
  import { WorkspaceIndexedModel } from "./workspace";
4
4
  import { Marker } from "./geo";
5
5
  import { CreatedUserForm, SubmittedUserForm, UserForm } from "./forms";
6
+ import { User } from "./users";
7
+ import { CSSColor } from "../colors";
6
8
  /**
7
9
  * Represents a model instance that has been submitted to the backend. Some properties (depending on which model, but in
8
10
  * all cases, the `offline_id`) are guaranteed to be set.
9
11
  */
10
- export type Submitted<TModel> = Offline<TModel> & (TModel extends Issue ? SubmittedIssue : TModel extends IssueComment ? SubmittedIssueComment : TModel extends UserForm ? SubmittedUserForm : Omit<TModel, "created_at" | "created_by" | "id">);
12
+ export type Submitted<TModel> = Offline<TModel> & (TModel extends Issue ? SubmittedIssue : TModel extends UserForm ? SubmittedUserForm : Omit<TModel, "created_at" | "created_by" | "id">);
11
13
  /**
12
14
  * Represents a model instance that has been submitted to the backend, accepted, then downloaded. Created models
13
15
  * typically have additional properties that are only known once it has been processed and accepted by the API, such as
@@ -62,6 +64,7 @@ export interface IssueComment extends OfflineModel {
62
64
  content: string;
63
65
  author?: number;
64
66
  created_at?: string;
67
+ submitted_at: string;
65
68
  }
66
69
  export interface SubmittedIssueComment {
67
70
  created_at: Exclude<IssueComment["created_at"], undefined>;
@@ -71,3 +74,34 @@ export interface CreatedIssueComment {
71
74
  created_at: Exclude<IssueComment["created_at"], undefined>;
72
75
  }
73
76
  export type IssueCommentPayload = Omit<IssueComment, "author" | "created_at" | "offline_id">;
77
+ export declare enum IssueUpdateChange {
78
+ STATUS = "status",
79
+ PRIORITY = "priority",
80
+ CATEGORY = "category",
81
+ DESCRIPTION = "description",
82
+ TITLE = "title",
83
+ ASSIGNED_TO = "assigned_to",
84
+ DUE_DATE = "due_date"
85
+ }
86
+ export interface IssueUpdateChangeTypes {
87
+ status: IssueStatus;
88
+ priority: IssuePriority;
89
+ category: {
90
+ name: string;
91
+ color: CSSColor;
92
+ offline_id: OfflineModel["offline_id"];
93
+ } | null;
94
+ description: string;
95
+ title: string;
96
+ assigned_to: {
97
+ full_name: string;
98
+ id: User["id"];
99
+ } | null;
100
+ due_date: string;
101
+ }
102
+ export interface IssueUpdate extends OfflineModel {
103
+ submitted_at: string;
104
+ created_by: User["id"];
105
+ issue: OfflineModel["offline_id"];
106
+ changes: Partial<Record<IssueUpdateChange, IssueUpdateChangeTypes[IssueUpdateChange]>>;
107
+ }
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Core functionality for Overmap",
4
4
  "author": "Wôrdn Inc.",
5
5
  "license": "UNLICENSED",
6
- "version": "1.0.48-menu-improvements.1",
6
+ "version": "1.0.48-tanstack-table.0",
7
7
  "type": "module",
8
8
  "main": "dist/overmap-core.umd.cjs",
9
9
  "module": "dist/overmap-core.js",
@@ -51,7 +51,7 @@
51
51
  "devDependencies": {
52
52
  "@esbuild-plugins/node-globals-polyfill": "^0.2.3",
53
53
  "@esbuild-plugins/node-modules-polyfill": "^0.2.2",
54
- "@overmap-ai/blocks": "1.0.29-menu-overhaul.8",
54
+ "@overmap-ai/blocks": "^1.0.29-alpha.1",
55
55
  "@rollup/plugin-commonjs": "^25.0.4",
56
56
  "@storybook/addon-essentials": "7.3.2",
57
57
  "@storybook/addon-interactions": "7.3.2",