@overmap-ai/core 1.0.50-bulk-form-submission.3 → 1.0.50-document-attachments.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/forms/renderer/FormSubmissionBrowser/FormSubmissionBrowser.d.ts +5 -5
- package/dist/forms/renderer/FormSubmissionViewer/FormSubmissionViewer.d.ts +3 -3
- package/dist/overmap-core.js +406 -710
- package/dist/overmap-core.js.map +1 -1
- package/dist/overmap-core.umd.cjs +406 -710
- package/dist/overmap-core.umd.cjs.map +1 -1
- package/dist/sdk/services/UserFormSubmissionService.d.ts +2 -9
- package/dist/store/slices/categorySlice.d.ts +1 -3
- package/dist/store/slices/componentSlice.d.ts +0 -1
- package/dist/store/slices/componentTypeSlice.d.ts +0 -1
- package/dist/store/slices/documentSlice.d.ts +2 -5
- package/dist/store/slices/index.d.ts +1 -3
- package/dist/store/slices/issueSlice.d.ts +1 -4
- package/dist/store/slices/projectFileSlice.d.ts +1 -3
- package/dist/store/slices/userFormSlice.d.ts +145 -0
- package/dist/store/slices/utils.d.ts +0 -1
- package/dist/store/slices/workspaceSlice.d.ts +1 -3
- package/dist/store/store.d.ts +4 -10
- package/dist/typings/files.d.ts +1 -11
- package/dist/typings/models/attachments.d.ts +11 -8
- package/dist/typings/models/base.d.ts +0 -7
- package/dist/typings/models/forms.d.ts +11 -6
- package/dist/utils/file.d.ts +0 -2
- package/package.json +1 -1
- package/dist/store/slices/formRevisionSlice.d.ts +0 -73
- package/dist/store/slices/formSlice.d.ts +0 -118
- package/dist/store/slices/formSubmissionSlice.d.ts +0 -47
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
import { Offline } from '../../typings/models/base';
|
|
2
2
|
import { BaseApiService } from "./BaseApiService";
|
|
3
3
|
import { UserFormSubmission, UserFormSubmissionPayload } from '../../typings/models/forms';
|
|
4
|
-
import { OptimisticModelResult
|
|
5
|
-
import { FieldValue } from '../../forms';
|
|
6
|
-
import { Stored } from "../../typings";
|
|
4
|
+
import { OptimisticModelResult } from "../typings";
|
|
7
5
|
export declare class UserFormSubmissionService extends BaseApiService {
|
|
8
6
|
private getAttachFilesPromises;
|
|
9
7
|
add(payload: Offline<UserFormSubmissionPayload>): OptimisticModelResult<UserFormSubmission>;
|
|
10
|
-
|
|
11
|
-
form_revision: string;
|
|
12
|
-
values: Record<string, FieldValue>;
|
|
13
|
-
componentOfflineIds: string[];
|
|
14
|
-
}): Promise<OptimisticMultipleModelResult<UserFormSubmission>>;
|
|
15
|
-
update(submission: Stored<UserFormSubmission>): OptimisticModelResult<UserFormSubmission>;
|
|
8
|
+
update(submission: UserFormSubmission): Promise<UserFormSubmission>;
|
|
16
9
|
delete(submissionId: string): Promise<undefined>;
|
|
17
10
|
refreshStore(): Promise<void>;
|
|
18
11
|
}
|
|
@@ -60,10 +60,8 @@ export declare const selectCategories: ((state: import("redux").EmptyObject & {
|
|
|
60
60
|
projectFileReducer: import('..').ProjectFileState;
|
|
61
61
|
rehydratedReducer: import('..').RehydratedState;
|
|
62
62
|
settingReducer: import('..').SettingState;
|
|
63
|
-
|
|
63
|
+
userFormReducer: import('..').UserFormState;
|
|
64
64
|
userReducer: import('..').UserState;
|
|
65
|
-
formRevisionReducer: import('..').FormRevisionState;
|
|
66
|
-
formSubmissionReducer: import('..').FormSubmissionState;
|
|
67
65
|
workspaceReducer: import('..').WorkspaceState;
|
|
68
66
|
emailDomainsReducer: import('..').EmailDomainState;
|
|
69
67
|
licenseReducer: import('..').LicenseState;
|
|
@@ -55,7 +55,6 @@ export declare const selectNumberOfComponentsOfComponentType: SelectorWithArgs<s
|
|
|
55
55
|
export declare const selectComponentTypesFromIds: SelectorWithArgs<string[], ComponentType[]>;
|
|
56
56
|
export declare const selectComponentAttachmentMapping: (state: RootState) => Record<string, Stored<ComponentAttachment>>;
|
|
57
57
|
export declare const selectAllComponentAttachments: Selector<Stored<ComponentAttachment>[]>;
|
|
58
|
-
export declare const selectComponentAttachment: SelectorWithArgs<string, Stored<ComponentAttachment>>;
|
|
59
58
|
export declare const selectAttachmentsOfComponent: (args: string) => (state: RootState) => Stored<ComponentAttachment>[];
|
|
60
59
|
export declare const selectAttachmentsOfComponentByType: (args: string) => (state: RootState) => {
|
|
61
60
|
fileAttachments: Stored<ComponentAttachment>[];
|
|
@@ -56,7 +56,6 @@ export declare const selectComponentTypesByName: SelectorWithArgs<string, Compon
|
|
|
56
56
|
export declare const selectHiddenComponentTypeIds: AppSelector<Record<string, boolean | undefined>>;
|
|
57
57
|
export declare const selectComponentTypeAttachmentMapping: (state: RootState) => Record<string, ComponentTypeAttachment>;
|
|
58
58
|
export declare const selectAllComponentTypeAttachments: Selector<Stored<ComponentTypeAttachment>[]>;
|
|
59
|
-
export declare const selectComponentTypeAttachment: SelectorWithArgs<string, Stored<ComponentTypeAttachment>>;
|
|
60
59
|
export declare const selectAttachmentsOfComponentType: (args: string) => (state: RootState) => Stored<ComponentTypeAttachment>[];
|
|
61
60
|
export declare const selectAttachmentsOfComponentTypeByType: (args: string) => (state: RootState) => {
|
|
62
61
|
fileAttachments: Stored<ComponentTypeAttachment>[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="@redux-offline/redux-offline" />
|
|
2
2
|
import { Reducer } from "@reduxjs/toolkit";
|
|
3
|
-
import { DocumentAttachment, MovePosition, ProjectDocument, RootState, Selector,
|
|
3
|
+
import { DocumentAttachment, MovePosition, ProjectDocument, RootState, Selector, Stored, Submitted } from "../../typings";
|
|
4
4
|
import { AppSelector } from "./componentTypeSlice";
|
|
5
5
|
export interface DocumentState {
|
|
6
6
|
documents: Record<string, Stored<ProjectDocument>>;
|
|
@@ -76,10 +76,8 @@ export declare const selectRootDocuments: ((state: import("redux").EmptyObject &
|
|
|
76
76
|
projectFileReducer: import('..').ProjectFileState;
|
|
77
77
|
rehydratedReducer: import('..').RehydratedState;
|
|
78
78
|
settingReducer: import('..').SettingState;
|
|
79
|
-
|
|
79
|
+
userFormReducer: import('..').UserFormState;
|
|
80
80
|
userReducer: import('..').UserState;
|
|
81
|
-
formRevisionReducer: import('..').FormRevisionState;
|
|
82
|
-
formSubmissionReducer: import('..').FormSubmissionState;
|
|
83
81
|
workspaceReducer: import('..').WorkspaceState;
|
|
84
82
|
emailDomainsReducer: import('..').EmailDomainState;
|
|
85
83
|
licenseReducer: import('..').LicenseState;
|
|
@@ -93,7 +91,6 @@ export declare const selectRootDocuments: ((state: import("redux").EmptyObject &
|
|
|
93
91
|
};
|
|
94
92
|
export declare const selectDocumentAttachmentMapping: (state: RootState) => Record<string, Stored<DocumentAttachment>>;
|
|
95
93
|
export declare const selectAllDocumentAttachments: Selector<Stored<DocumentAttachment>[]>;
|
|
96
|
-
export declare const selectDocumentAttachment: SelectorWithArgs<string, Stored<DocumentAttachment>>;
|
|
97
94
|
export declare const selectAttachmentsOfDocument: (args: string) => (state: RootState) => Stored<DocumentAttachment>[];
|
|
98
95
|
export declare const selectAttachmentsOfDocumentByType: (args: string) => (state: RootState) => {
|
|
99
96
|
fileAttachments: Stored<DocumentAttachment>[];
|
|
@@ -14,9 +14,7 @@ export * from "./projectFileSlice";
|
|
|
14
14
|
export * from "./projectSlice";
|
|
15
15
|
export * from "./rehydratedSlice";
|
|
16
16
|
export * from "./settingsSlice";
|
|
17
|
-
export * from "./
|
|
18
|
-
export * from "./formSubmissionSlice";
|
|
19
|
-
export * from "./formRevisionSlice";
|
|
17
|
+
export * from "./userFormSlice";
|
|
20
18
|
export * from "./userSlice";
|
|
21
19
|
export * from "./workspaceSlice";
|
|
22
20
|
export * from "./organizationAccessSlice";
|
|
@@ -106,7 +106,6 @@ export declare const selectCommentsOfIssue: (args: string) => (state: RootState)
|
|
|
106
106
|
export declare const selectIssueUpdateMapping: (state: RootState) => Record<string, Stored<IssueUpdate>>;
|
|
107
107
|
export declare const selectIssueUpdatesOfIssue: (args: string) => (state: RootState) => Stored<IssueUpdate>[];
|
|
108
108
|
export declare const selectAttachmentsOfIssue: (args: string) => (state: RootState) => Stored<IssueAttachment>[];
|
|
109
|
-
export declare const selectIssueAttachment: SelectorWithArgs<string, Stored<IssueAttachment>>;
|
|
110
109
|
export declare const selectAttachmentsOfIssueByType: (args: string) => (state: RootState) => {
|
|
111
110
|
fileAttachments: Stored<IssueAttachment>[];
|
|
112
111
|
imageAttachments: Stored<IssueAttachment>[];
|
|
@@ -132,10 +131,8 @@ export declare const selectAllAttachments: ((state: import("redux").EmptyObject
|
|
|
132
131
|
projectFileReducer: import('..').ProjectFileState;
|
|
133
132
|
rehydratedReducer: import('..').RehydratedState;
|
|
134
133
|
settingReducer: import('..').SettingState;
|
|
135
|
-
|
|
134
|
+
userFormReducer: import('..').UserFormState;
|
|
136
135
|
userReducer: import('..').UserState;
|
|
137
|
-
formRevisionReducer: import('..').FormRevisionState;
|
|
138
|
-
formSubmissionReducer: import('..').FormSubmissionState;
|
|
139
136
|
workspaceReducer: import("./workspaceSlice").WorkspaceState;
|
|
140
137
|
emailDomainsReducer: import('..').EmailDomainState;
|
|
141
138
|
licenseReducer: import('..').LicenseState;
|
|
@@ -68,10 +68,8 @@ export declare const selectProjectFiles: ((state: import("redux").EmptyObject &
|
|
|
68
68
|
projectFileReducer: ProjectFileState;
|
|
69
69
|
rehydratedReducer: import('..').RehydratedState;
|
|
70
70
|
settingReducer: import('..').SettingState;
|
|
71
|
-
|
|
71
|
+
userFormReducer: import('..').UserFormState;
|
|
72
72
|
userReducer: import('..').UserState;
|
|
73
|
-
formRevisionReducer: import('..').FormRevisionState;
|
|
74
|
-
formSubmissionReducer: import('..').FormSubmissionState;
|
|
75
73
|
workspaceReducer: import('..').WorkspaceState;
|
|
76
74
|
emailDomainsReducer: import('..').EmailDomainState;
|
|
77
75
|
licenseReducer: import('..').LicenseState;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { PayloadAction, Reducer } from "@reduxjs/toolkit";
|
|
2
|
+
import { CachedUserForm, UserForm, UserFormRevision, UserFormRevisionAttachment, UserFormSubmission, UserFormSubmissionAttachment } from '../../typings/models/forms';
|
|
3
|
+
import { SearchArgs } from '../../typings/search';
|
|
4
|
+
import { Selector, SelectorWithArgs } from '../../typings/store';
|
|
5
|
+
import { Stored, Submitted } from "../../typings";
|
|
6
|
+
export interface UserFormState {
|
|
7
|
+
userForms: Record<string, Stored<UserForm>>;
|
|
8
|
+
submissions: Record<string, UserFormSubmission>;
|
|
9
|
+
submissionAttachments: Record<UserFormSubmission["offline_id"], UserFormSubmissionAttachment[]>;
|
|
10
|
+
revisions: Record<string, UserFormRevision>;
|
|
11
|
+
revisionAttachments: Record<UserFormRevision["offline_id"], UserFormRevisionAttachment[]>;
|
|
12
|
+
}
|
|
13
|
+
export declare const userFormSlice: import("@reduxjs/toolkit").Slice<UserFormState, {
|
|
14
|
+
setUserForms: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: {
|
|
15
|
+
payload: Submitted<UserForm>[];
|
|
16
|
+
}) => void;
|
|
17
|
+
addUserForm: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: {
|
|
18
|
+
payload: Submitted<UserForm>;
|
|
19
|
+
}) => void;
|
|
20
|
+
addUserForms: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: {
|
|
21
|
+
payload: Submitted<UserForm>[];
|
|
22
|
+
}) => void;
|
|
23
|
+
addUserFormRevisions: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: {
|
|
24
|
+
payload: UserFormRevision[];
|
|
25
|
+
}) => void;
|
|
26
|
+
addUserFormRevision: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: PayloadAction<UserFormRevision>) => void;
|
|
27
|
+
deleteUserFormRevision: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: PayloadAction<string>) => void;
|
|
28
|
+
deleteUserFormRevisions: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: {
|
|
29
|
+
payload: UserFormRevision[];
|
|
30
|
+
}) => void;
|
|
31
|
+
updateOrCreateUserFormSubmission: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: {
|
|
32
|
+
payload: UserFormSubmission;
|
|
33
|
+
}) => void;
|
|
34
|
+
addUserFormSubmissionAttachment: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: {
|
|
35
|
+
payload: UserFormSubmissionAttachment;
|
|
36
|
+
}) => void;
|
|
37
|
+
addUserFormRevisionAttachment: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: {
|
|
38
|
+
payload: UserFormRevisionAttachment;
|
|
39
|
+
}) => void;
|
|
40
|
+
setUserFormSubmissionAttachments: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: {
|
|
41
|
+
payload: UserFormSubmissionAttachment[];
|
|
42
|
+
}) => void;
|
|
43
|
+
setUserFormRevisionAttachments: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: {
|
|
44
|
+
payload: UserFormRevisionAttachment[];
|
|
45
|
+
}) => void;
|
|
46
|
+
deleteUserFormSubmission: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: PayloadAction<string>) => void;
|
|
47
|
+
deleteUserFormSubmissions: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: {
|
|
48
|
+
payload: UserFormSubmission[];
|
|
49
|
+
}) => void;
|
|
50
|
+
addUserFormSubmissions: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: {
|
|
51
|
+
payload: UserFormSubmission[];
|
|
52
|
+
}) => void;
|
|
53
|
+
setUserFormSubmissions: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: {
|
|
54
|
+
payload: UserFormSubmission[];
|
|
55
|
+
}) => void;
|
|
56
|
+
favoriteForm: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: {
|
|
57
|
+
payload: {
|
|
58
|
+
formId: string;
|
|
59
|
+
};
|
|
60
|
+
}) => void;
|
|
61
|
+
unfavoriteForm: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: {
|
|
62
|
+
payload: {
|
|
63
|
+
formId: string;
|
|
64
|
+
};
|
|
65
|
+
}) => void;
|
|
66
|
+
deleteUserForm: (state: import("immer/dist/internal.js").WritableDraft<UserFormState>, action: {
|
|
67
|
+
payload: string;
|
|
68
|
+
}) => void;
|
|
69
|
+
}, "userForms">;
|
|
70
|
+
export declare const addUserForm: import("@reduxjs/toolkit").ActionCreatorWithPayload<(Pick<import('../../typings/models/workspace').WorkspaceIndexedModel, "index_workspace"> & {
|
|
71
|
+
favorite: boolean;
|
|
72
|
+
component_type?: string | undefined;
|
|
73
|
+
} & {
|
|
74
|
+
owner_organization: number;
|
|
75
|
+
owner_user: undefined;
|
|
76
|
+
} & {
|
|
77
|
+
offline_id: string;
|
|
78
|
+
} & import('../../typings/models/base').OfflineModel & {
|
|
79
|
+
created_by: number;
|
|
80
|
+
submitted_at: string;
|
|
81
|
+
}) | (Pick<import('../../typings/models/workspace').WorkspaceIndexedModel, "index_workspace"> & {
|
|
82
|
+
favorite: boolean;
|
|
83
|
+
component_type?: string | undefined;
|
|
84
|
+
} & {
|
|
85
|
+
owner_organization: undefined;
|
|
86
|
+
owner_user: number;
|
|
87
|
+
} & {
|
|
88
|
+
offline_id: string;
|
|
89
|
+
} & import('../../typings/models/base').OfflineModel & {
|
|
90
|
+
created_by: number;
|
|
91
|
+
submitted_at: string;
|
|
92
|
+
}), "userForms/addUserForm">, addUserForms: import("@reduxjs/toolkit").ActionCreatorWithPayload<((Pick<import('../../typings/models/workspace').WorkspaceIndexedModel, "index_workspace"> & {
|
|
93
|
+
favorite: boolean;
|
|
94
|
+
component_type?: string | undefined;
|
|
95
|
+
} & {
|
|
96
|
+
owner_organization: number;
|
|
97
|
+
owner_user: undefined;
|
|
98
|
+
} & {
|
|
99
|
+
offline_id: string;
|
|
100
|
+
} & import('../../typings/models/base').OfflineModel & {
|
|
101
|
+
created_by: number;
|
|
102
|
+
submitted_at: string;
|
|
103
|
+
}) | (Pick<import('../../typings/models/workspace').WorkspaceIndexedModel, "index_workspace"> & {
|
|
104
|
+
favorite: boolean;
|
|
105
|
+
component_type?: string | undefined;
|
|
106
|
+
} & {
|
|
107
|
+
owner_organization: undefined;
|
|
108
|
+
owner_user: number;
|
|
109
|
+
} & {
|
|
110
|
+
offline_id: string;
|
|
111
|
+
} & import('../../typings/models/base').OfflineModel & {
|
|
112
|
+
created_by: number;
|
|
113
|
+
submitted_at: string;
|
|
114
|
+
}))[], "userForms/addUserForms">, addUserFormRevisions: import("@reduxjs/toolkit").ActionCreatorWithPayload<UserFormRevision<import('../../forms').ISerializedField>[], "userForms/addUserFormRevisions">, updateOrCreateUserFormSubmission: import("@reduxjs/toolkit").ActionCreatorWithPayload<UserFormSubmission, "userForms/updateOrCreateUserFormSubmission">, addUserFormSubmissions: import("@reduxjs/toolkit").ActionCreatorWithPayload<UserFormSubmission[], "userForms/addUserFormSubmissions">, deleteUserFormSubmission: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "userForms/deleteUserFormSubmission">, deleteUserFormSubmissions: import("@reduxjs/toolkit").ActionCreatorWithPayload<UserFormSubmission[], "userForms/deleteUserFormSubmissions">, favoriteForm: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
115
|
+
formId: string;
|
|
116
|
+
}, "userForms/favoriteForm">, unfavoriteForm: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
117
|
+
formId: string;
|
|
118
|
+
}, "userForms/unfavoriteForm">, deleteUserForm: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "userForms/deleteUserForm">, deleteUserFormRevision: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "userForms/deleteUserFormRevision">, deleteUserFormRevisions: import("@reduxjs/toolkit").ActionCreatorWithPayload<UserFormRevision<import('../../forms').ISerializedField>[], "userForms/deleteUserFormRevisions">, setUserFormSubmissions: import("@reduxjs/toolkit").ActionCreatorWithPayload<UserFormSubmission[], "userForms/setUserFormSubmissions">, addUserFormRevision: import("@reduxjs/toolkit").ActionCreatorWithPayload<UserFormRevision<import('../../forms').ISerializedField>, "userForms/addUserFormRevision">, addUserFormSubmissionAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<UserFormSubmissionAttachment, "userForms/addUserFormSubmissionAttachment">, addUserFormRevisionAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<UserFormRevisionAttachment, "userForms/addUserFormRevisionAttachment">, setUserFormSubmissionAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<UserFormSubmissionAttachment[], "userForms/setUserFormSubmissionAttachments">, setUserFormRevisionAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<UserFormRevisionAttachment[], "userForms/setUserFormRevisionAttachments">;
|
|
119
|
+
export type UserFormSearchArgs = SearchArgs<{
|
|
120
|
+
/** `undefined` means don't filter by favorite. `boolean` filters forms. */
|
|
121
|
+
favorites?: boolean;
|
|
122
|
+
/** organization owner */
|
|
123
|
+
owner_organization?: number;
|
|
124
|
+
/** user owner */
|
|
125
|
+
owner_user?: number;
|
|
126
|
+
}>;
|
|
127
|
+
export declare const selectSubmissionAttachments: SelectorWithArgs<string, UserFormSubmissionAttachment[]>;
|
|
128
|
+
export declare const selectRevisionAttachments: SelectorWithArgs<string, UserFormRevisionAttachment[]>;
|
|
129
|
+
export declare const selectFilteredUserForms: SelectorWithArgs<UserFormSearchArgs, CachedUserForm[]>;
|
|
130
|
+
export declare const selectFormRevision: SelectorWithArgs<string, UserFormRevision>;
|
|
131
|
+
export declare const selectLatestFormRevision: SelectorWithArgs<string, UserFormRevision>;
|
|
132
|
+
export declare const selectUserForm: SelectorWithArgs<string, Stored<UserForm>>;
|
|
133
|
+
export declare const selectUserFormSubmission: SelectorWithArgs<string, UserFormSubmission>;
|
|
134
|
+
export declare const selectRevisionsForForm: SelectorWithArgs<string, UserFormRevision[]>;
|
|
135
|
+
export declare const selectSubmissionsForForm: SelectorWithArgs<string, UserFormSubmission[]>;
|
|
136
|
+
export declare const selectSubmissionsForIssue: SelectorWithArgs<string, UserFormSubmission[]>;
|
|
137
|
+
export declare const selectSubmissionsForComponent: SelectorWithArgs<string, UserFormSubmission[]>;
|
|
138
|
+
export declare const selectComponentSubmissionMapping: Selector<Record<string, UserFormSubmission[]>>;
|
|
139
|
+
export declare const selectUserFormMapping: Selector<Record<Stored<UserForm>["offline_id"], Stored<UserForm>>>;
|
|
140
|
+
export declare const selectComponentTypeForm: SelectorWithArgs<string, Stored<UserForm>>;
|
|
141
|
+
export declare const selectLatestRevisionsFromComponentTypeIds: SelectorWithArgs<string[], Record<string, Stored<UserFormRevision>>>;
|
|
142
|
+
export declare const selectLatestRevisionByFormId: Selector<Record<Stored<UserForm>["offline_id"], UserFormRevision>>;
|
|
143
|
+
export declare const selectNumberOfUserForms: Selector<number>;
|
|
144
|
+
export declare const selectNumberOfGeneralUserForms: Selector<number>;
|
|
145
|
+
export declare const userFormReducer: Reducer<UserFormState>;
|
|
@@ -7,7 +7,6 @@ export declare function setAttachments<TAttachment, TState extends AttachmentSta
|
|
|
7
7
|
export declare function addAttachment<TAttachment, TState extends AttachmentState<TAttachment>>(state: TState, action: PayloadAction<Submitted<TAttachment>>): void;
|
|
8
8
|
export declare function addAttachments<TAttachment, TState extends AttachmentState<TAttachment>>(state: TState, action: PayloadAction<Submitted<TAttachment>[]>): void;
|
|
9
9
|
export declare function updateAttachment<TAttachment, TState extends AttachmentState<TAttachment>>(state: TState, action: PayloadAction<Submitted<TAttachment>>): void;
|
|
10
|
-
export declare function updateAttachments<TAttachment, TState extends AttachmentState<TAttachment>>(state: TState, action: PayloadAction<Submitted<TAttachment>[]>): void;
|
|
11
10
|
export declare function removeAttachment<TAttachment, TState extends AttachmentState<TAttachment>>(state: TState, action: PayloadAction<string>): void;
|
|
12
11
|
export declare function removeAttachments<TAttachment, TState extends AttachmentState<TAttachment>>(state: TState, action: PayloadAction<string[]>): void;
|
|
13
12
|
export {};
|
|
@@ -46,10 +46,8 @@ export declare const selectWorkspaces: ((state: import("redux").EmptyObject & {
|
|
|
46
46
|
projectFileReducer: import('..').ProjectFileState;
|
|
47
47
|
rehydratedReducer: import('..').RehydratedState;
|
|
48
48
|
settingReducer: import('..').SettingState;
|
|
49
|
-
|
|
49
|
+
userFormReducer: import('..').UserFormState;
|
|
50
50
|
userReducer: import('..').UserState;
|
|
51
|
-
formRevisionReducer: import('..').FormRevisionState;
|
|
52
|
-
formSubmissionReducer: import('..').FormSubmissionState;
|
|
53
51
|
workspaceReducer: WorkspaceState;
|
|
54
52
|
emailDomainsReducer: import('..').EmailDomainState;
|
|
55
53
|
licenseReducer: import('..').LicenseState;
|
package/dist/store/store.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { AnyAction, Reducer } from "redux";
|
|
|
3
3
|
import { Config, OfflineAction, OfflineMetadata, OfflineState } from "@redux-offline/redux-offline/lib/types";
|
|
4
4
|
import request from "superagent";
|
|
5
5
|
import { type OfflineMetaEffect, type OvermapSDK, RequestDetails } from "../sdk";
|
|
6
|
-
import { AuthState, CategoryState, ComponentStageCompletionState, ComponentStageState, ComponentState, ComponentTypeState, EmailDomainState, FileState, IssueState, LicenseState, MapState, OrganizationAccessState, OrganizationState, OutboxState, ProjectAccessState, ProjectFileState, ProjectState, RehydratedState, SettingState,
|
|
6
|
+
import { AuthState, CategoryState, ComponentStageCompletionState, ComponentStageState, ComponentState, ComponentTypeState, EmailDomainState, FileState, IssueState, LicenseState, MapState, OrganizationAccessState, OrganizationState, OutboxState, ProjectAccessState, ProjectFileState, ProjectState, RehydratedState, SettingState, UserFormState, UserState, WorkspaceState, DocumentState } from "./slices";
|
|
7
7
|
import { VersioningState } from "./slices/versioningSlice";
|
|
8
8
|
import { RootState } from "../typings";
|
|
9
9
|
export declare const overmapReducers: {
|
|
@@ -25,10 +25,8 @@ export declare const overmapReducers: {
|
|
|
25
25
|
projectFileReducer: Reducer<ProjectFileState>;
|
|
26
26
|
rehydratedReducer: Reducer<RehydratedState>;
|
|
27
27
|
settingReducer: Reducer<SettingState>;
|
|
28
|
-
|
|
28
|
+
userFormReducer: Reducer<UserFormState>;
|
|
29
29
|
userReducer: Reducer<UserState>;
|
|
30
|
-
formRevisionReducer: Reducer<FormRevisionState>;
|
|
31
|
-
formSubmissionReducer: Reducer<FormSubmissionState>;
|
|
32
30
|
workspaceReducer: Reducer<WorkspaceState>;
|
|
33
31
|
emailDomainsReducer: Reducer<EmailDomainState>;
|
|
34
32
|
licenseReducer: Reducer<LicenseState>;
|
|
@@ -53,10 +51,8 @@ export declare const overmapReducer: Reducer<import("redux").CombinedState<{
|
|
|
53
51
|
projectFileReducer: ProjectFileState;
|
|
54
52
|
rehydratedReducer: RehydratedState;
|
|
55
53
|
settingReducer: SettingState;
|
|
56
|
-
|
|
54
|
+
userFormReducer: UserFormState;
|
|
57
55
|
userReducer: UserState;
|
|
58
|
-
formRevisionReducer: FormRevisionState;
|
|
59
|
-
formSubmissionReducer: FormSubmissionState;
|
|
60
56
|
workspaceReducer: WorkspaceState;
|
|
61
57
|
emailDomainsReducer: EmailDomainState;
|
|
62
58
|
licenseReducer: LicenseState;
|
|
@@ -99,10 +95,8 @@ export declare const defaultStore: import("@reduxjs/toolkit/dist/configureStore"
|
|
|
99
95
|
projectFileReducer: ProjectFileState;
|
|
100
96
|
rehydratedReducer: RehydratedState;
|
|
101
97
|
settingReducer: SettingState;
|
|
102
|
-
|
|
98
|
+
userFormReducer: UserFormState;
|
|
103
99
|
userReducer: UserState;
|
|
104
|
-
formRevisionReducer: FormRevisionState;
|
|
105
|
-
formSubmissionReducer: FormSubmissionState;
|
|
106
100
|
workspaceReducer: WorkspaceState;
|
|
107
101
|
emailDomainsReducer: EmailDomainState;
|
|
108
102
|
licenseReducer: LicenseState;
|
package/dist/typings/files.d.ts
CHANGED
|
@@ -5,17 +5,7 @@ export type MaybeObjectURL<T> = T & {
|
|
|
5
5
|
* Represents a file model that has been uploaded to the backend.
|
|
6
6
|
* A corresponding abstract model exists in the backend (FileModelMixin).
|
|
7
7
|
*/
|
|
8
|
-
export type
|
|
8
|
+
export type UploadedFileModel = MaybeObjectURL<{
|
|
9
9
|
file_sha1: string;
|
|
10
10
|
file: string;
|
|
11
11
|
}>;
|
|
12
|
-
export interface FileWithNameModel extends FileModel {
|
|
13
|
-
file_name: string;
|
|
14
|
-
}
|
|
15
|
-
/** the attributes needed to generate a presigned url for a file that is being attempted to be uploaded */
|
|
16
|
-
export interface FileUploadPayload {
|
|
17
|
-
sha1: string;
|
|
18
|
-
extension: string;
|
|
19
|
-
file_type: string;
|
|
20
|
-
size: number;
|
|
21
|
-
}
|
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
import { OfflineModel } from "./base";
|
|
2
|
-
import { MaybeObjectURL,
|
|
2
|
+
import { MaybeObjectURL, UploadedFileModel } from "../files";
|
|
3
3
|
import { Project } from "./projects";
|
|
4
4
|
import { ProjectDocument } from "./documents";
|
|
5
|
-
export interface Attachment extends OfflineModel,
|
|
5
|
+
export interface Attachment extends OfflineModel, UploadedFileModel {
|
|
6
6
|
description?: string;
|
|
7
|
+
file_name: string;
|
|
7
8
|
file_type: string;
|
|
8
9
|
submitted_at: string;
|
|
9
10
|
created_by: number;
|
|
10
11
|
}
|
|
11
|
-
export interface IssueAttachment extends Attachment {
|
|
12
|
+
export interface IssueAttachment extends Attachment, UploadedFileModel {
|
|
12
13
|
issue: string;
|
|
13
14
|
}
|
|
14
|
-
export interface ComponentAttachment extends Attachment {
|
|
15
|
+
export interface ComponentAttachment extends Attachment, UploadedFileModel {
|
|
15
16
|
component: string;
|
|
16
17
|
}
|
|
17
|
-
export interface ComponentTypeAttachment extends Attachment {
|
|
18
|
+
export interface ComponentTypeAttachment extends Attachment, UploadedFileModel {
|
|
18
19
|
component_type: string;
|
|
19
20
|
}
|
|
20
|
-
export interface ProjectAttachment extends Attachment {
|
|
21
|
+
export interface ProjectAttachment extends Attachment, UploadedFileModel {
|
|
21
22
|
project: Project["id"];
|
|
22
23
|
}
|
|
23
|
-
export interface DocumentAttachment extends Attachment {
|
|
24
|
+
export interface DocumentAttachment extends Attachment, UploadedFileModel {
|
|
24
25
|
document: ProjectDocument["offline_id"];
|
|
25
26
|
}
|
|
26
27
|
/** to get an AttachmentPayload for a specific type, pass in the given AttachmentType
|
|
@@ -28,4 +29,6 @@ export interface DocumentAttachment extends Attachment {
|
|
|
28
29
|
export type AttachmentPayload<TAttachment> = Omit<TAttachment, "file" | "submitted_at" | "created_by"> & {
|
|
29
30
|
file: MaybeObjectURL<File>;
|
|
30
31
|
};
|
|
31
|
-
export
|
|
32
|
+
export interface ProfilePic extends UploadedFileModel {
|
|
33
|
+
file: string;
|
|
34
|
+
}
|
|
@@ -4,13 +4,6 @@ export interface Model {
|
|
|
4
4
|
export interface OfflineModel extends Model {
|
|
5
5
|
offline_id: string;
|
|
6
6
|
}
|
|
7
|
-
export interface SubmittedAtModel extends Model {
|
|
8
|
-
submitted_at: string;
|
|
9
|
-
}
|
|
10
|
-
export interface TimeStampedModel extends Model {
|
|
11
|
-
created_at: string;
|
|
12
|
-
updated_at: string;
|
|
13
|
-
}
|
|
14
7
|
export type Offline<T> = T & {
|
|
15
8
|
offline_id: string;
|
|
16
9
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { OfflineModel, Payload
|
|
1
|
+
import { OfflineModel, Payload } from "./base";
|
|
2
2
|
import { BaseSerializedObject, FieldValue, ISerializedField } from "../../forms";
|
|
3
|
-
import {
|
|
3
|
+
import { UploadedFileModel } from '../files';
|
|
4
4
|
import { WorkspaceIndexedModel } from "./workspace";
|
|
5
5
|
export type UserForm = Pick<WorkspaceIndexedModel, "index_workspace"> & {
|
|
6
6
|
favorite: boolean;
|
|
@@ -31,20 +31,25 @@ export interface UserFormRevision<TFields extends BaseSerializedObject = ISerial
|
|
|
31
31
|
revision: number | "Pending";
|
|
32
32
|
}
|
|
33
33
|
export type UserFormRevisionPayload = Omit<Payload<UserFormRevision>, "created_by" | "revision" | "form">;
|
|
34
|
-
export interface UserFormSubmission extends OfflineModel
|
|
34
|
+
export interface UserFormSubmission extends OfflineModel {
|
|
35
35
|
form_revision: string;
|
|
36
36
|
values: Record<string, FieldValue>;
|
|
37
37
|
created_by: number;
|
|
38
|
+
created_at: string;
|
|
39
|
+
submitted_at: string;
|
|
40
|
+
updated_at: string;
|
|
38
41
|
issue?: string;
|
|
39
42
|
component?: string;
|
|
40
43
|
component_stage?: string;
|
|
41
44
|
}
|
|
42
|
-
export interface UserFormSubmissionAttachment extends OfflineModel,
|
|
45
|
+
export interface UserFormSubmissionAttachment extends OfflineModel, UploadedFileModel {
|
|
43
46
|
submission: string;
|
|
47
|
+
file_name: string;
|
|
44
48
|
field_identifier: string;
|
|
45
49
|
}
|
|
46
|
-
export interface UserFormRevisionAttachment extends OfflineModel,
|
|
50
|
+
export interface UserFormRevisionAttachment extends OfflineModel, UploadedFileModel {
|
|
47
51
|
revision: string;
|
|
52
|
+
file_name: string;
|
|
48
53
|
field_identifier: string;
|
|
49
54
|
}
|
|
50
|
-
export type UserFormSubmissionPayload = Omit<Payload<UserFormSubmission>, "created_by"
|
|
55
|
+
export type UserFormSubmissionPayload = Omit<Payload<UserFormSubmission>, "created_by">;
|
package/dist/utils/file.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { FileUploadPayload } from "../typings";
|
|
2
1
|
export declare const getFileS3Key: (file: File, hash?: string) => Promise<string>;
|
|
3
2
|
export declare function hashFile(file: Blob): Promise<string>;
|
|
4
3
|
export declare function getFileIdentifier(file: File): string;
|
|
@@ -6,7 +5,6 @@ export declare function getRenamedFile(file: File, newName: string): File & {
|
|
|
6
5
|
name: string;
|
|
7
6
|
};
|
|
8
7
|
export declare function downloadInMemoryFile(filename: string, text: string): void;
|
|
9
|
-
export declare const constructUploadedFilePayloads: (files: File[]) => Promise<FileUploadPayload[]>;
|
|
10
8
|
export declare const fileToBlob: (dataUrl: string) => Promise<Blob>;
|
|
11
9
|
export declare const blobToBase64: (blob: Blob) => Promise<string>;
|
|
12
10
|
export interface useFileSrcProps {
|
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.50-
|
|
6
|
+
"version": "1.0.50-document-attachments.0",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "dist/overmap-core.umd.cjs",
|
|
9
9
|
"module": "dist/overmap-core.js",
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/// <reference types="@redux-offline/redux-offline" />
|
|
2
|
-
import { PayloadAction, Reducer } from "@reduxjs/toolkit";
|
|
3
|
-
import { RootState, Selector, SelectorWithArgs, Stored, UserForm, UserFormRevision, UserFormRevisionAttachment } from "../../typings";
|
|
4
|
-
export interface FormRevisionState {
|
|
5
|
-
formRevisions: Record<UserFormRevision["offline_id"], Stored<UserFormRevision>>;
|
|
6
|
-
attachments: Record<UserFormRevisionAttachment["offline_id"], Stored<UserFormRevisionAttachment>>;
|
|
7
|
-
}
|
|
8
|
-
export declare const formRevisionsSlice: import("@reduxjs/toolkit").Slice<FormRevisionState, {
|
|
9
|
-
setFormRevision: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: PayloadAction<Stored<UserFormRevision>>) => void;
|
|
10
|
-
setFormRevisions: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: {
|
|
11
|
-
payload: Stored<UserFormRevision>[];
|
|
12
|
-
}) => void;
|
|
13
|
-
addFormRevision: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: PayloadAction<Stored<UserFormRevision>>) => void;
|
|
14
|
-
addFormRevisions: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: {
|
|
15
|
-
payload: Stored<UserFormRevision>[];
|
|
16
|
-
}) => void;
|
|
17
|
-
deleteFormRevision: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: PayloadAction<UserFormRevision["offline_id"]>) => void;
|
|
18
|
-
deleteFormRevisions: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: PayloadAction<UserFormRevision["offline_id"][]>) => void;
|
|
19
|
-
setFormRevisionAttachments: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: {
|
|
20
|
-
payload: Stored<UserFormRevisionAttachment>[];
|
|
21
|
-
}) => void;
|
|
22
|
-
addFormRevisionAttachment: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: PayloadAction<Stored<UserFormRevisionAttachment>>) => void;
|
|
23
|
-
addFormRevisionAttachments: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: {
|
|
24
|
-
payload: Stored<UserFormRevisionAttachment>[];
|
|
25
|
-
}) => void;
|
|
26
|
-
deleteFormRevisionAttachment: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: PayloadAction<UserFormRevisionAttachment["offline_id"]>) => void;
|
|
27
|
-
deleteFormRevisionAttachments: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: PayloadAction<UserFormRevisionAttachment["offline_id"][]>) => void;
|
|
28
|
-
}, "formRevisions">;
|
|
29
|
-
export declare const setFormRevision: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormRevision<import('../../forms').ISerializedField>>, "formRevisions/setFormRevision">, setFormRevisions: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormRevision<import('../../forms').ISerializedField>>[], "formRevisions/setFormRevisions">, addFormRevision: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormRevision<import('../../forms').ISerializedField>>, "formRevisions/addFormRevision">, addFormRevisions: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormRevision<import('../../forms').ISerializedField>>[], "formRevisions/addFormRevisions">, deleteFormRevision: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "formRevisions/deleteFormRevision">, deleteFormRevisions: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "formRevisions/deleteFormRevisions">, setFormRevisionAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormRevisionAttachment>[], "formRevisions/setFormRevisionAttachments">, addFormRevisionAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormRevisionAttachment>, "formRevisions/addFormRevisionAttachment">, addFormRevisionAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormRevisionAttachment>[], "formRevisions/addFormRevisionAttachments">, deleteFormRevisionAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "formRevisions/deleteFormRevisionAttachment">, deleteFormRevisionAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "formRevisions/deleteFormRevisionAttachments">;
|
|
30
|
-
export declare const selectFormRevisionMapping: (state: RootState) => Record<string, Stored<UserFormRevision<import('../../forms').ISerializedField>>>;
|
|
31
|
-
export declare const selectFormRevisions: ((state: import("redux").EmptyObject & {
|
|
32
|
-
versioning: import('../slices/versioningSlice').VersioningState;
|
|
33
|
-
fileReducer: import('..').FileState;
|
|
34
|
-
authReducer: import('..').AuthState;
|
|
35
|
-
categoryReducer: import('..').CategoryState;
|
|
36
|
-
componentReducer: import('..').ComponentState;
|
|
37
|
-
componentStageCompletionReducer: import('..').ComponentStageCompletionState;
|
|
38
|
-
componentStageReducer: import('..').ComponentStageState;
|
|
39
|
-
componentTypeReducer: import('..').ComponentTypeState;
|
|
40
|
-
issueReducer: import('..').IssueState;
|
|
41
|
-
mapReducer: import('..').MapState;
|
|
42
|
-
organizationReducer: import('..').OrganizationState;
|
|
43
|
-
outboxReducer: import('..').OutboxState;
|
|
44
|
-
projectReducer: import('..').ProjectState;
|
|
45
|
-
projectAccessReducer: import('..').ProjectAccessState;
|
|
46
|
-
organizationAccessReducer: import('..').OrganizationAccessState;
|
|
47
|
-
projectFileReducer: import('..').ProjectFileState;
|
|
48
|
-
rehydratedReducer: import('..').RehydratedState;
|
|
49
|
-
settingReducer: import('..').SettingState;
|
|
50
|
-
formReducer: import('..').FormState;
|
|
51
|
-
userReducer: import('..').UserState;
|
|
52
|
-
formRevisionReducer: FormRevisionState;
|
|
53
|
-
formSubmissionReducer: import('..').FormSubmissionState;
|
|
54
|
-
workspaceReducer: import('..').WorkspaceState;
|
|
55
|
-
emailDomainsReducer: import('..').EmailDomainState;
|
|
56
|
-
licenseReducer: import('..').LicenseState;
|
|
57
|
-
documentsReducer: import('..').DocumentState;
|
|
58
|
-
} & {
|
|
59
|
-
offline: import("@redux-offline/redux-offline/lib/types").OfflineState;
|
|
60
|
-
}) => Stored<UserFormRevision<import('../../forms').ISerializedField>>[]) & import("reselect").OutputSelectorFields<(args_0: Record<string, Stored<UserFormRevision<import('../../forms').ISerializedField>>>) => Stored<UserFormRevision<import('../../forms').ISerializedField>>[], {
|
|
61
|
-
clearCache: () => void;
|
|
62
|
-
}> & {
|
|
63
|
-
clearCache: () => void;
|
|
64
|
-
};
|
|
65
|
-
export declare const selectFormRevision: SelectorWithArgs<string, Stored<UserFormRevision>>;
|
|
66
|
-
export declare const _selectLatestFormRevision: (formRevisions: FormRevisionState["formRevisions"], formId: string) => Stored<UserFormRevision>;
|
|
67
|
-
export declare const selectLatestFormRevisionOfForm: SelectorWithArgs<string, Stored<UserFormRevision>>;
|
|
68
|
-
export declare const selectFormRevisionsOfForm: SelectorWithArgs<string, Stored<UserFormRevision>[]>;
|
|
69
|
-
export declare const selectLatestFormRevisionsOfComponentTypes: SelectorWithArgs<string[], Record<string, Stored<UserFormRevision>>>;
|
|
70
|
-
export declare const selectLatestFormRevisionByForm: Selector<Record<Stored<UserForm>["offline_id"], Stored<UserFormRevision>>>;
|
|
71
|
-
export declare const selectUserFormRevisionAttachmentsMapping: Selector<FormRevisionState["attachments"]>;
|
|
72
|
-
export declare const selectAttachmentsOfFormRevision: SelectorWithArgs<string, Stored<UserFormRevisionAttachment>[]>;
|
|
73
|
-
export declare const formRevisionReducer: Reducer<FormRevisionState>;
|