@overmap-ai/core 1.0.51-add-submitted-at-to-form-revisions.0 → 1.0.51-attachment-creation-flows.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.
Files changed (37) hide show
  1. package/dist/forms/renderer/FormSubmissionBrowser/FormSubmissionBrowser.d.ts +5 -5
  2. package/dist/forms/renderer/FormSubmissionViewer/FormSubmissionViewer.d.ts +3 -3
  3. package/dist/overmap-core.js +1235 -503
  4. package/dist/overmap-core.js.map +1 -1
  5. package/dist/overmap-core.umd.cjs +1235 -503
  6. package/dist/overmap-core.umd.cjs.map +1 -1
  7. package/dist/sdk/sdk.d.ts +6 -1
  8. package/dist/sdk/services/BaseAttachmentService.d.ts +31 -0
  9. package/dist/sdk/services/ComponentAttachmentService.d.ts +10 -0
  10. package/dist/sdk/services/ComponentTypeAttachmentService.d.ts +10 -0
  11. package/dist/sdk/services/DocumentAttachmentService.d.ts +10 -0
  12. package/dist/sdk/services/IssueAttachmentService.d.ts +10 -0
  13. package/dist/sdk/services/ProjectAttachmentService.d.ts +10 -0
  14. package/dist/sdk/services/UserFormSubmissionService.d.ts +9 -2
  15. package/dist/sdk/services/index.d.ts +5 -0
  16. package/dist/store/slices/categorySlice.d.ts +3 -1
  17. package/dist/store/slices/componentSlice.d.ts +15 -7
  18. package/dist/store/slices/componentTypeSlice.d.ts +16 -8
  19. package/dist/store/slices/documentSlice.d.ts +13 -3
  20. package/dist/store/slices/formRevisionSlice.d.ts +65 -0
  21. package/dist/store/slices/formSlice.d.ts +110 -0
  22. package/dist/store/slices/formSubmissionSlice.d.ts +47 -0
  23. package/dist/store/slices/index.d.ts +3 -1
  24. package/dist/store/slices/issueSlice.d.ts +36 -22
  25. package/dist/store/slices/projectFileSlice.d.ts +3 -1
  26. package/dist/store/slices/projectSlice.d.ts +12 -3
  27. package/dist/store/slices/utils.d.ts +4 -2
  28. package/dist/store/slices/workspaceSlice.d.ts +3 -1
  29. package/dist/store/store.d.ts +10 -4
  30. package/dist/typings/files.d.ts +11 -1
  31. package/dist/typings/models/attachments.d.ts +15 -11
  32. package/dist/typings/models/base.d.ts +7 -0
  33. package/dist/typings/models/forms.d.ts +6 -11
  34. package/dist/utils/file.d.ts +2 -0
  35. package/dist/utils/forms.d.ts +2 -0
  36. package/package.json +1 -1
  37. package/dist/store/slices/userFormSlice.d.ts +0 -145
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, IssueUpdateService, AgentService } from "./services";
1
+ import { AttachmentService, AuthService, CategoryService, ComponentService, ComponentStageCompletionService, ComponentStageService, ComponentAttachmentService, ComponentTypeService, ComponentTypeAttachmentService, EmailVerificationService, FileService, IssueCommentService, IssueAttachmentService, IssueService, MainService, OrganizationAccessService, ProjectAccessService, ProjectFileService, ProjectAttachmentService, ProjectService, UserFormService, UserFormSubmissionService, WorkspaceService, OrganizationService, EmailDomainsService, LicenseService, DocumentService, DocumentAttachmentService, 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 {
@@ -16,19 +16,24 @@ export declare class OvermapSDK {
16
16
  issues: IssueService;
17
17
  issueComments: IssueCommentService;
18
18
  issueUpdates: IssueUpdateService;
19
+ issueAttachments: IssueAttachmentService;
19
20
  workspaces: WorkspaceService;
20
21
  main: MainService;
21
22
  components: ComponentService;
23
+ componentAttachments: ComponentAttachmentService;
22
24
  componentTypes: ComponentTypeService;
25
+ componentTypeAttachments: ComponentTypeAttachmentService;
23
26
  componentStages: ComponentStageService;
24
27
  componentStageCompletions: ComponentStageCompletionService;
25
28
  userForms: UserFormService;
26
29
  userFormSubmissions: UserFormSubmissionService;
27
30
  projects: ProjectService;
28
31
  projectFiles: ProjectFileService;
32
+ projectAttachments: ProjectAttachmentService;
29
33
  emailVerification: EmailVerificationService;
30
34
  emailDomains: EmailDomainsService;
31
35
  licenses: LicenseService;
32
36
  documents: DocumentService;
37
+ documentAttachments: DocumentAttachmentService;
33
38
  }
34
39
  export declare const makeClient: (apiUrl: string, store: ToolkitStore<RootState>) => OvermapSDK;
@@ -0,0 +1,31 @@
1
+ import { ActionCreatorWithPayload } from "@reduxjs/toolkit";
2
+ import { BaseApiService } from "./BaseApiService";
3
+ import { OptimisticMultipleModelResult } from "../typings";
4
+ import { Attachment, AttachmentModel, SelectorWithArgs, Stored, Submitted } from "../../typings";
5
+ export interface BuildOfflineAttachmentData<TModelId> {
6
+ file: File;
7
+ sha1: string;
8
+ submittedAt: string;
9
+ createdBy: number;
10
+ description?: string;
11
+ modelId: TModelId;
12
+ }
13
+ export declare abstract class BaseAttachmentService extends BaseApiService {
14
+ abstract readonly attachmentModel: AttachmentModel;
15
+ private getNumberOfAttachmentsWithSha1;
16
+ private processPresignedUrls;
17
+ protected getAttachments<TAttachment extends Attachment>(actions: {
18
+ setAttachments: ActionCreatorWithPayload<Submitted<TAttachment>[]>;
19
+ }): Promise<void>;
20
+ protected attachFiles<TAttachment extends Attachment, TModelId = string | number>(files: File[], modelId: TModelId, buildOfflineAttachment: (data: BuildOfflineAttachmentData<TModelId>) => Stored<TAttachment>, actions: {
21
+ addAttachments: ActionCreatorWithPayload<Submitted<TAttachment>[]>;
22
+ updateAttachments: ActionCreatorWithPayload<Submitted<TAttachment>[]>;
23
+ removeAttachments: ActionCreatorWithPayload<string[]>;
24
+ }): Promise<OptimisticMultipleModelResult<TAttachment>>;
25
+ protected deleteAttachment<TAttachment extends Attachment>(attachmendId: string, actions: {
26
+ setAttachment: ActionCreatorWithPayload<Stored<TAttachment>>;
27
+ removeAttachment: ActionCreatorWithPayload<string>;
28
+ }, selectors: {
29
+ selectAttachment: SelectorWithArgs<string, Stored<TAttachment>>;
30
+ }): Promise<void>;
31
+ }
@@ -0,0 +1,10 @@
1
+ import { BaseAttachmentService } from "./BaseAttachmentService";
2
+ import { AttachmentModel, ComponentAttachment } from "../../typings";
3
+ import { OptimisticMultipleModelResult } from "../typings";
4
+ export declare class ComponentAttachmentService extends BaseAttachmentService {
5
+ attachmentModel: AttachmentModel;
6
+ private buildOfflineAttachment;
7
+ attachFilesToComponent(files: File[], componentId: string): Promise<OptimisticMultipleModelResult<ComponentAttachment>>;
8
+ deleteComponentAttachment(attachmentId: string): Promise<void>;
9
+ refreshStore(): Promise<void>;
10
+ }
@@ -0,0 +1,10 @@
1
+ import { BaseAttachmentService } from "./BaseAttachmentService";
2
+ import { AttachmentModel, ComponentTypeAttachment } from "../../typings";
3
+ import { OptimisticMultipleModelResult } from "../typings";
4
+ export declare class ComponentTypeAttachmentService extends BaseAttachmentService {
5
+ attachmentModel: AttachmentModel;
6
+ private buildOfflineAttachment;
7
+ attachFilesToComponentType(files: File[], componentTypeId: string): Promise<OptimisticMultipleModelResult<ComponentTypeAttachment>>;
8
+ deleteComponentTypeAttachment(attachmentId: string): Promise<void>;
9
+ refreshStore(): Promise<void>;
10
+ }
@@ -0,0 +1,10 @@
1
+ import { BaseAttachmentService } from "./BaseAttachmentService";
2
+ import { AttachmentModel, DocumentAttachment } from "../../typings";
3
+ import { OptimisticMultipleModelResult } from "../typings";
4
+ export declare class DocumentAttachmentService extends BaseAttachmentService {
5
+ attachmentModel: AttachmentModel;
6
+ private buildOfflineAttachment;
7
+ attachFilesToDocument(files: File[], documentId: string): Promise<OptimisticMultipleModelResult<DocumentAttachment>>;
8
+ deleteDocumentAttachment(attachmentId: string): Promise<void>;
9
+ refreshStore(): Promise<void>;
10
+ }
@@ -0,0 +1,10 @@
1
+ import { BaseAttachmentService } from "./BaseAttachmentService";
2
+ import { OptimisticMultipleModelResult } from "../typings";
3
+ import { AttachmentModel, IssueAttachment } from "../../typings";
4
+ export declare class IssueAttachmentService extends BaseAttachmentService {
5
+ attachmentModel: AttachmentModel;
6
+ private buildOfflineAttachment;
7
+ attachFilesToIssue(files: File[], issueId: string): Promise<OptimisticMultipleModelResult<IssueAttachment>>;
8
+ deleteIssueAttachment(attachmentId: string): Promise<void>;
9
+ refreshStore(): Promise<void>;
10
+ }
@@ -0,0 +1,10 @@
1
+ import { BaseAttachmentService } from "./BaseAttachmentService";
2
+ import { AttachmentModel, ProjectAttachment } from "../../typings";
3
+ import { OptimisticMultipleModelResult } from "../typings";
4
+ export declare class ProjectAttachmentService extends BaseAttachmentService {
5
+ attachmentModel: AttachmentModel;
6
+ private buildOfflineAttachment;
7
+ attachFilesToProject(files: File[], projectId: number): Promise<OptimisticMultipleModelResult<ProjectAttachment>>;
8
+ deleteProjectAttachment(attachmentId: string): Promise<void>;
9
+ refreshStore(): Promise<void>;
10
+ }
@@ -1,11 +1,18 @@
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 } from "../typings";
4
+ import { OptimisticModelResult, OptimisticMultipleModelResult } from "../typings";
5
+ import { FieldValue } from '../../forms';
6
+ import { Stored } from "../../typings";
5
7
  export declare class UserFormSubmissionService extends BaseApiService {
6
8
  private getAttachFilesPromises;
7
9
  add(payload: Offline<UserFormSubmissionPayload>): OptimisticModelResult<UserFormSubmission>;
8
- update(submission: UserFormSubmission): Promise<UserFormSubmission>;
10
+ bulkAdd(args: {
11
+ formRevision: string;
12
+ values: Record<string, FieldValue>;
13
+ componentOfflineIds: string[];
14
+ }): Promise<OptimisticMultipleModelResult<UserFormSubmission>>;
15
+ update(submission: Stored<UserFormSubmission>): OptimisticModelResult<UserFormSubmission>;
9
16
  delete(submissionId: string): Promise<undefined>;
10
17
  refreshStore(): Promise<void>;
11
18
  }
@@ -5,13 +5,17 @@ export * from "./CategoryService";
5
5
  export * from "./ComponentService";
6
6
  export * from "./ComponentStageCompletionService";
7
7
  export * from "./ComponentStageService";
8
+ export * from "./ComponentAttachmentService";
8
9
  export * from "./ComponentTypeService";
10
+ export * from "./ComponentTypeAttachmentService";
9
11
  export * from "./IssueCommentService";
10
12
  export * from "./IssueUpdateService";
13
+ export * from "./IssueAttachmentService";
11
14
  export * from "./IssueService";
12
15
  export * from "./MainService";
13
16
  export * from "./ProjectAccessService";
14
17
  export * from "./ProjectFileService";
18
+ export * from "./ProjectAttachmentService";
15
19
  export * from "./ProjectService";
16
20
  export * from "./UserFormService";
17
21
  export * from "./UserFormSubmissionService";
@@ -23,4 +27,5 @@ export * from "./EmailDomainsService";
23
27
  export * from "./OrganizationService";
24
28
  export * from "./LicenseService";
25
29
  export * from "./DocumentService";
30
+ export * from "./DocumentAttachmentService";
26
31
  export * from "./AgentService";
@@ -60,8 +60,10 @@ export declare const selectCategories: ((state: import("redux").EmptyObject & {
60
60
  projectFileReducer: import('..').ProjectFileState;
61
61
  rehydratedReducer: import('..').RehydratedState;
62
62
  settingReducer: import('..').SettingState;
63
- userFormReducer: import('..').UserFormState;
63
+ formReducer: import('..').FormState;
64
64
  userReducer: import('..').UserState;
65
+ formRevisionReducer: import('..').FormRevisionState;
66
+ formSubmissionReducer: import('..').FormSubmissionState;
65
67
  workspaceReducer: import('..').WorkspaceState;
66
68
  emailDomainsReducer: import('..').EmailDomainState;
67
69
  licenseReducer: import('..').LicenseState;
@@ -14,8 +14,17 @@ export declare const componentSlice: import("@reduxjs/toolkit").Slice<ComponentS
14
14
  setComponents: (state: import("immer/dist/internal.js").WritableDraft<ComponentState>, action: {
15
15
  payload: Component[];
16
16
  }) => void;
17
+ updateComponent: (state: import("immer/dist/internal.js").WritableDraft<ComponentState>, action: {
18
+ payload: Component;
19
+ }) => void;
20
+ removeComponent: (state: import("immer/dist/internal.js").WritableDraft<ComponentState>, action: PayloadAction<string>) => void;
21
+ removeAllComponentsOfType: (state: import("immer/dist/internal.js").WritableDraft<ComponentState>, action: PayloadAction<string>) => void;
22
+ setComponentAttachment: (state: ComponentState, action: {
23
+ payload: Stored<ComponentAttachment>;
24
+ type: string;
25
+ }) => void;
17
26
  setComponentAttachments: (state: ComponentState, action: {
18
- payload: import('../../typings/models/issues').Created<ComponentAttachment>[];
27
+ payload: Stored<ComponentAttachment>[];
19
28
  type: string;
20
29
  }) => void;
21
30
  addComponentAttachment: (state: ComponentState, action: {
@@ -30,6 +39,10 @@ export declare const componentSlice: import("@reduxjs/toolkit").Slice<ComponentS
30
39
  payload: Submitted<ComponentAttachment>;
31
40
  type: string;
32
41
  }) => void;
42
+ updateComponentAttachments: (state: ComponentState, action: {
43
+ payload: Submitted<ComponentAttachment>[];
44
+ type: string;
45
+ }) => void;
33
46
  removeComponentAttachment: (state: ComponentState, action: {
34
47
  payload: string;
35
48
  type: string;
@@ -38,12 +51,8 @@ export declare const componentSlice: import("@reduxjs/toolkit").Slice<ComponentS
38
51
  payload: string[];
39
52
  type: string;
40
53
  }) => void;
41
- updateComponent: (state: import("immer/dist/internal.js").WritableDraft<ComponentState>, action: {
42
- payload: Component;
43
- }) => void;
44
- removeComponent: (state: import("immer/dist/internal.js").WritableDraft<ComponentState>, action: PayloadAction<string>) => void;
45
- removeAllComponentsOfType: (state: import("immer/dist/internal.js").WritableDraft<ComponentState>, action: PayloadAction<string>) => void;
46
54
  }, "components">;
55
+ export declare const addComponent: import("@reduxjs/toolkit").ActionCreatorWithPayload<Component, "components/addComponent">, updateComponent: import("@reduxjs/toolkit").ActionCreatorWithPayload<Component, "components/updateComponent">, removeComponent: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "components/removeComponent">, addComponentsInBatches: import("@reduxjs/toolkit").ActionCreatorWithPayload<(Component | Submitted<Component>)[], "components/addComponentsInBatches">, setComponents: import("@reduxjs/toolkit").ActionCreatorWithPayload<Component[], "components/setComponents">, removeAllComponentsOfType: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "components/removeAllComponentsOfType">, setComponentAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<ComponentAttachment>, "components/setComponentAttachment">, setComponentAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<ComponentAttachment>[], "components/setComponentAttachments">, addComponentAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<ComponentAttachment>, "components/addComponentAttachment">, addComponentAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<ComponentAttachment>[], "components/addComponentAttachments">, updateComponentAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<ComponentAttachment>, "components/updateComponentAttachment">, updateComponentAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<ComponentAttachment>[], "components/updateComponentAttachments">, removeComponentAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "components/removeComponentAttachment">, removeComponentAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "components/removeComponentAttachments">;
47
56
  export declare const selectComponents: (state: RootState) => Component[];
48
57
  export declare const selectComponentsMapping: (state: RootState) => Record<string, Component | Submitted<Component>>;
49
58
  export declare const selectComponentsFromComponentType: SelectorWithArgs<string | undefined, Component[]>;
@@ -61,5 +70,4 @@ export declare const selectAttachmentsOfComponentByType: (args: string) => (stat
61
70
  fileAttachments: Stored<ComponentAttachment>[];
62
71
  imageAttachments: Stored<ComponentAttachment>[];
63
72
  };
64
- export declare const addComponent: import("@reduxjs/toolkit").ActionCreatorWithPayload<Component, "components/addComponent">, updateComponent: import("@reduxjs/toolkit").ActionCreatorWithPayload<Component, "components/updateComponent">, removeComponent: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "components/removeComponent">, addComponentsInBatches: import("@reduxjs/toolkit").ActionCreatorWithPayload<(Component | Submitted<Component>)[], "components/addComponentsInBatches">, setComponents: import("@reduxjs/toolkit").ActionCreatorWithPayload<Component[], "components/setComponents">, setComponentAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<import('../../typings/models/issues').Created<ComponentAttachment>[], "components/setComponentAttachments">, addComponentAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<ComponentAttachment>, "components/addComponentAttachment">, addComponentAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<ComponentAttachment>[], "components/addComponentAttachments">, updateComponentAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<ComponentAttachment>, "components/updateComponentAttachment">, removeComponentAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "components/removeComponentAttachment">, removeComponentAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "components/removeComponentAttachments">, removeAllComponentsOfType: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "components/removeAllComponentsOfType">;
65
73
  export declare const componentReducer: Reducer<ComponentState>;
@@ -12,8 +12,18 @@ export declare const componentTypeSlice: import("@reduxjs/toolkit").Slice<Compon
12
12
  setComponentTypes: (state: import("immer/dist/internal.js").WritableDraft<ComponentTypeState>, action: {
13
13
  payload: ComponentType[];
14
14
  }) => void;
15
+ toggleComponentTypeVisibility: (state: import("immer/dist/internal.js").WritableDraft<ComponentTypeState>, action: {
16
+ payload: string;
17
+ }) => void;
18
+ deleteComponentType: (state: import("immer/dist/internal.js").WritableDraft<ComponentTypeState>, action: {
19
+ payload: string;
20
+ }) => void;
21
+ setComponentTypeAttachment: (state: ComponentTypeState, action: {
22
+ payload: Stored<ComponentTypeAttachment>;
23
+ type: string;
24
+ }) => void;
15
25
  setComponentTypeAttachments: (state: ComponentTypeState, action: {
16
- payload: import('../../typings/models/issues').Created<ComponentTypeAttachment>[];
26
+ payload: Stored<ComponentTypeAttachment>[];
17
27
  type: string;
18
28
  }) => void;
19
29
  addComponentTypeAttachment: (state: ComponentTypeState, action: {
@@ -28,6 +38,10 @@ export declare const componentTypeSlice: import("@reduxjs/toolkit").Slice<Compon
28
38
  payload: import('../../typings/models/issues').Submitted<ComponentTypeAttachment>;
29
39
  type: string;
30
40
  }) => void;
41
+ updateComponentTypeAttachments: (state: ComponentTypeState, action: {
42
+ payload: import('../../typings/models/issues').Submitted<ComponentTypeAttachment>[];
43
+ type: string;
44
+ }) => void;
31
45
  removeComponentTypeAttachment: (state: ComponentTypeState, action: {
32
46
  payload: string;
33
47
  type: string;
@@ -36,13 +50,8 @@ export declare const componentTypeSlice: import("@reduxjs/toolkit").Slice<Compon
36
50
  payload: string[];
37
51
  type: string;
38
52
  }) => void;
39
- toggleComponentTypeVisibility: (state: import("immer/dist/internal.js").WritableDraft<ComponentTypeState>, action: {
40
- payload: string;
41
- }) => void;
42
- deleteComponentType: (state: import("immer/dist/internal.js").WritableDraft<ComponentTypeState>, action: {
43
- payload: string;
44
- }) => void;
45
53
  }, "componentTypes">;
54
+ export declare const addComponentType: import("@reduxjs/toolkit").ActionCreatorWithPayload<ComponentType, "componentTypes/addComponentType">, setComponentTypes: import("@reduxjs/toolkit").ActionCreatorWithPayload<ComponentType[], "componentTypes/setComponentTypes">, toggleComponentTypeVisibility: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "componentTypes/toggleComponentTypeVisibility">, deleteComponentType: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "componentTypes/deleteComponentType">, setComponentTypeAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<ComponentTypeAttachment>, "componentTypes/setComponentTypeAttachment">, setComponentTypeAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<ComponentTypeAttachment>[], "componentTypes/setComponentTypeAttachments">, addComponentTypeAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<import('../../typings/models/issues').Submitted<ComponentTypeAttachment>, "componentTypes/addComponentTypeAttachment">, addComponentTypeAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<import('../../typings/models/issues').Submitted<ComponentTypeAttachment>[], "componentTypes/addComponentTypeAttachments">, updateComponentTypeAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<import('../../typings/models/issues').Submitted<ComponentTypeAttachment>, "componentTypes/updateComponentTypeAttachment">, updateComponentTypeAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<import('../../typings/models/issues').Submitted<ComponentTypeAttachment>[], "componentTypes/updateComponentTypeAttachments">, removeComponentTypeAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "componentTypes/removeComponentTypeAttachment">, removeComponentTypeAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "componentTypes/removeComponentTypeAttachments">;
46
55
  export type AppSelector<TResult> = (state: RootState) => TResult;
47
56
  export declare const selectComponentTypesMapping: AppSelector<Record<string, ComponentType>>;
48
57
  export declare const selectComponentTypes: AppSelector<ComponentType[]>;
@@ -62,6 +71,5 @@ export declare const selectAttachmentsOfComponentTypeByType: (args: string) => (
62
71
  fileAttachments: Stored<ComponentTypeAttachment>[];
63
72
  imageAttachments: Stored<ComponentTypeAttachment>[];
64
73
  };
65
- export declare const addComponentType: import("@reduxjs/toolkit").ActionCreatorWithPayload<ComponentType, "componentTypes/addComponentType">, setComponentTypes: import("@reduxjs/toolkit").ActionCreatorWithPayload<ComponentType[], "componentTypes/setComponentTypes">, setComponentTypeAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<import('../../typings/models/issues').Created<ComponentTypeAttachment>[], "componentTypes/setComponentTypeAttachments">, addComponentTypeAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<import('../../typings/models/issues').Submitted<ComponentTypeAttachment>, "componentTypes/addComponentTypeAttachment">, addComponentTypeAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<import('../../typings/models/issues').Submitted<ComponentTypeAttachment>[], "componentTypes/addComponentTypeAttachments">, updateComponentTypeAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<import('../../typings/models/issues').Submitted<ComponentTypeAttachment>, "componentTypes/updateComponentTypeAttachment">, removeComponentTypeAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "componentTypes/removeComponentTypeAttachment">, removeComponentTypeAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "componentTypes/removeComponentTypeAttachments">, toggleComponentTypeVisibility: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "componentTypes/toggleComponentTypeVisibility">, deleteComponentType: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "componentTypes/deleteComponentType">;
66
74
  export declare const componentTypeReducer: Reducer<ComponentTypeState>;
67
75
  export {};
@@ -27,8 +27,12 @@ export declare const documentSlice: import("@reduxjs/toolkit").Slice<DocumentSta
27
27
  removeDocuments: (state: import("immer/dist/internal.js").WritableDraft<DocumentState>, action: {
28
28
  payload: string[];
29
29
  }) => void;
30
+ setDocumentAttachment: (state: DocumentState, action: {
31
+ payload: Stored<DocumentAttachment>;
32
+ type: string;
33
+ }) => void;
30
34
  setDocumentAttachments: (state: DocumentState, action: {
31
- payload: import('../../typings/models/issues').Created<DocumentAttachment>[];
35
+ payload: Stored<DocumentAttachment>[];
32
36
  type: string;
33
37
  }) => void;
34
38
  addDocumentAttachment: (state: DocumentState, action: {
@@ -43,6 +47,10 @@ export declare const documentSlice: import("@reduxjs/toolkit").Slice<DocumentSta
43
47
  payload: Submitted<DocumentAttachment>;
44
48
  type: string;
45
49
  }) => void;
50
+ updateDocumentAttachments: (state: DocumentState, action: {
51
+ payload: Submitted<DocumentAttachment>[];
52
+ type: string;
53
+ }) => void;
46
54
  removeDocumentAttachment: (state: DocumentState, action: {
47
55
  payload: string;
48
56
  type: string;
@@ -52,7 +60,7 @@ export declare const documentSlice: import("@reduxjs/toolkit").Slice<DocumentSta
52
60
  type: string;
53
61
  }) => void;
54
62
  }, "documents">;
55
- export declare const setDocuments: import("@reduxjs/toolkit").ActionCreatorWithPayload<ProjectDocument[], "documents/setDocuments">, addDocuments: import("@reduxjs/toolkit").ActionCreatorWithPayload<ProjectDocument[], "documents/addDocuments">, updateDocuments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<Partial<ProjectDocument>>[], "documents/updateDocuments">, moveDocument: import("@reduxjs/toolkit").ActionCreatorWithPayload<MoveDocumentPayload, "documents/moveDocument">, removeDocuments: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "documents/removeDocuments">, setDocumentAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<import('../../typings/models/issues').Created<DocumentAttachment>[], "documents/setDocumentAttachments">, addDocumentAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<DocumentAttachment>, "documents/addDocumentAttachment">, addDocumentAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<DocumentAttachment>[], "documents/addDocumentAttachments">, updateDocumentAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<DocumentAttachment>, "documents/updateDocumentAttachment">, removeDocumentAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "documents/removeDocumentAttachment">, removeDocumentAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "documents/removeDocumentAttachments">;
63
+ export declare const setDocuments: import("@reduxjs/toolkit").ActionCreatorWithPayload<ProjectDocument[], "documents/setDocuments">, addDocuments: import("@reduxjs/toolkit").ActionCreatorWithPayload<ProjectDocument[], "documents/addDocuments">, updateDocuments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<Partial<ProjectDocument>>[], "documents/updateDocuments">, moveDocument: import("@reduxjs/toolkit").ActionCreatorWithPayload<MoveDocumentPayload, "documents/moveDocument">, removeDocuments: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "documents/removeDocuments">, setDocumentAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<DocumentAttachment>, "documents/setDocumentAttachment">, setDocumentAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<DocumentAttachment>[], "documents/setDocumentAttachments">, addDocumentAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<DocumentAttachment>, "documents/addDocumentAttachment">, addDocumentAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<DocumentAttachment>[], "documents/addDocumentAttachments">, updateDocumentAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<DocumentAttachment>, "documents/updateDocumentAttachment">, updateDocumentAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<DocumentAttachment>[], "documents/updateDocumentAttachments">, removeDocumentAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "documents/removeDocumentAttachment">, removeDocumentAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "documents/removeDocumentAttachments">;
56
64
  export declare const selectDocumentsMapping: AppSelector<Record<string, Stored<ProjectDocument>>>;
57
65
  export declare const selectDocuments: AppSelector<Stored<ProjectDocument>[]>;
58
66
  export declare const selectDocument: (args: string) => (state: RootState) => Stored<ProjectDocument> | undefined;
@@ -76,8 +84,10 @@ export declare const selectRootDocuments: ((state: import("redux").EmptyObject &
76
84
  projectFileReducer: import('..').ProjectFileState;
77
85
  rehydratedReducer: import('..').RehydratedState;
78
86
  settingReducer: import('..').SettingState;
79
- userFormReducer: import('..').UserFormState;
87
+ formReducer: import('..').FormState;
80
88
  userReducer: import('..').UserState;
89
+ formRevisionReducer: import('..').FormRevisionState;
90
+ formSubmissionReducer: import('..').FormSubmissionState;
81
91
  workspaceReducer: import('..').WorkspaceState;
82
92
  emailDomainsReducer: import('..').EmailDomainState;
83
93
  licenseReducer: import('..').LicenseState;
@@ -0,0 +1,65 @@
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: PayloadAction<Stored<UserFormRevision>[]>) => void;
11
+ addFormRevision: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: PayloadAction<Stored<UserFormRevision>>) => void;
12
+ addFormRevisions: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: PayloadAction<Stored<UserFormRevision>[]>) => void;
13
+ deleteFormRevision: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: PayloadAction<UserFormRevision["offline_id"]>) => void;
14
+ deleteFormRevisions: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: PayloadAction<UserFormRevision["offline_id"][]>) => void;
15
+ setFormRevisionAttachments: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: PayloadAction<Stored<UserFormRevisionAttachment>[]>) => void;
16
+ addFormRevisionAttachment: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: PayloadAction<Stored<UserFormRevisionAttachment>>) => void;
17
+ addFormRevisionAttachments: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: PayloadAction<Stored<UserFormRevisionAttachment>[]>) => void;
18
+ deleteFormRevisionAttachment: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: PayloadAction<UserFormRevisionAttachment["offline_id"]>) => void;
19
+ deleteFormRevisionAttachments: (state: import("immer/dist/internal.js").WritableDraft<FormRevisionState>, action: PayloadAction<UserFormRevisionAttachment["offline_id"][]>) => void;
20
+ }, "formRevisions">;
21
+ export declare const setFormRevision: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormRevision<import("index.ts").ISerializedField>>, "formRevisions/setFormRevision">, setFormRevisions: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormRevision<import("index.ts").ISerializedField>>[], "formRevisions/setFormRevisions">, addFormRevision: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormRevision<import("index.ts").ISerializedField>>, "formRevisions/addFormRevision">, addFormRevisions: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormRevision<import("index.ts").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">;
22
+ export declare const selectFormRevisionMapping: (state: RootState) => Record<string, Stored<UserFormRevision<import("index.ts").ISerializedField>>>;
23
+ export declare const selectFormRevisions: ((state: import("redux").EmptyObject & {
24
+ versioning: import('../slices/versioningSlice.ts').VersioningState;
25
+ fileReducer: import("index.ts").FileState;
26
+ authReducer: import("index.ts").AuthState;
27
+ categoryReducer: import("index.ts").CategoryState;
28
+ componentReducer: import("index.ts").ComponentState;
29
+ componentStageCompletionReducer: import("index.ts").ComponentStageCompletionState;
30
+ componentStageReducer: import("index.ts").ComponentStageState;
31
+ componentTypeReducer: import("index.ts").ComponentTypeState;
32
+ issueReducer: import("index.ts").IssueState;
33
+ mapReducer: import("index.ts").MapState;
34
+ organizationReducer: import("index.ts").OrganizationState;
35
+ outboxReducer: import("index.ts").OutboxState;
36
+ projectReducer: import("index.ts").ProjectState;
37
+ projectAccessReducer: import("index.ts").ProjectAccessState;
38
+ organizationAccessReducer: import("index.ts").OrganizationAccessState;
39
+ projectFileReducer: import("index.ts").ProjectFileState;
40
+ rehydratedReducer: import("index.ts").RehydratedState;
41
+ settingReducer: import("index.ts").SettingState;
42
+ formReducer: import("index.ts").FormState;
43
+ userReducer: import("index.ts").UserState;
44
+ formRevisionReducer: FormRevisionState;
45
+ formSubmissionReducer: import("index.ts").FormSubmissionState;
46
+ workspaceReducer: import("index.ts").WorkspaceState;
47
+ emailDomainsReducer: import("index.ts").EmailDomainState;
48
+ licenseReducer: import("index.ts").LicenseState;
49
+ documentsReducer: import("index.ts").DocumentState;
50
+ } & {
51
+ offline: import("@redux-offline/redux-offline/lib/types").OfflineState;
52
+ }) => Stored<UserFormRevision<import("index.ts").ISerializedField>>[]) & import("reselect").OutputSelectorFields<(args_0: Record<string, Stored<UserFormRevision<import("index.ts").ISerializedField>>>) => Stored<UserFormRevision<import("index.ts").ISerializedField>>[], {
53
+ clearCache: () => void;
54
+ }> & {
55
+ clearCache: () => void;
56
+ };
57
+ export declare const selectFormRevision: SelectorWithArgs<string, Stored<UserFormRevision>>;
58
+ export declare const _selectLatestFormRevision: (formRevisions: FormRevisionState["formRevisions"], formId: string) => Stored<UserFormRevision>;
59
+ export declare const selectLatestFormRevisionOfForm: SelectorWithArgs<string, Stored<UserFormRevision>>;
60
+ export declare const selectFormRevisionsOfForm: SelectorWithArgs<string, Stored<UserFormRevision>[]>;
61
+ export declare const selectLatestFormRevisionsOfComponentTypes: SelectorWithArgs<string[], Record<string, Stored<UserFormRevision>>>;
62
+ export declare const selectLatestFormRevisionByForm: Selector<Record<Stored<UserForm>["offline_id"], Stored<UserFormRevision>>>;
63
+ export declare const selectUserFormRevisionAttachmentsMapping: Selector<FormRevisionState["attachments"]>;
64
+ export declare const selectAttachmentsOfFormRevision: SelectorWithArgs<string, Stored<UserFormRevisionAttachment>[]>;
65
+ export declare const formRevisionReducer: Reducer<FormRevisionState>;
@@ -0,0 +1,110 @@
1
+ import { Reducer, PayloadAction } from "@reduxjs/toolkit";
2
+ import { CachedUserForm, UserForm } 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 FormState {
7
+ forms: Record<string, Stored<UserForm>>;
8
+ }
9
+ export declare const formSlice: import("@reduxjs/toolkit").Slice<FormState, {
10
+ setForms: (state: import("immer/dist/internal.js").WritableDraft<FormState>, action: PayloadAction<Submitted<UserForm>[]>) => void;
11
+ addForm: (state: import("immer/dist/internal.js").WritableDraft<FormState>, action: PayloadAction<Submitted<UserForm>>) => void;
12
+ addForms: (state: import("immer/dist/internal.js").WritableDraft<FormState>, action: PayloadAction<Submitted<UserForm>[]>) => void;
13
+ favoriteForm: (state: import("immer/dist/internal.js").WritableDraft<FormState>, action: {
14
+ payload: {
15
+ formId: string;
16
+ };
17
+ }) => void;
18
+ unfavoriteForm: (state: import("immer/dist/internal.js").WritableDraft<FormState>, action: {
19
+ payload: {
20
+ formId: string;
21
+ };
22
+ }) => void;
23
+ deleteForm: (state: import("immer/dist/internal.js").WritableDraft<FormState>, action: PayloadAction<string>) => void;
24
+ }, "forms">;
25
+ export declare const setForms: import("@reduxjs/toolkit").ActionCreatorWithPayload<((Pick<import('../../typings/models/workspace').WorkspaceIndexedModel, "index_workspace"> & {
26
+ favorite: boolean;
27
+ component_type?: string | undefined;
28
+ } & {
29
+ owner_organization: number;
30
+ owner_user: undefined;
31
+ } & {
32
+ offline_id: string;
33
+ } & import('../../typings/models/base').OfflineModel & {
34
+ created_by: number;
35
+ submitted_at: string;
36
+ }) | (Pick<import('../../typings/models/workspace').WorkspaceIndexedModel, "index_workspace"> & {
37
+ favorite: boolean;
38
+ component_type?: string | undefined;
39
+ } & {
40
+ owner_organization: undefined;
41
+ owner_user: number;
42
+ } & {
43
+ offline_id: string;
44
+ } & import('../../typings/models/base').OfflineModel & {
45
+ created_by: number;
46
+ submitted_at: string;
47
+ }))[], "forms/setForms">, addForm: import("@reduxjs/toolkit").ActionCreatorWithPayload<(Pick<import('../../typings/models/workspace').WorkspaceIndexedModel, "index_workspace"> & {
48
+ favorite: boolean;
49
+ component_type?: string | undefined;
50
+ } & {
51
+ owner_organization: number;
52
+ owner_user: undefined;
53
+ } & {
54
+ offline_id: string;
55
+ } & import('../../typings/models/base').OfflineModel & {
56
+ created_by: number;
57
+ submitted_at: string;
58
+ }) | (Pick<import('../../typings/models/workspace').WorkspaceIndexedModel, "index_workspace"> & {
59
+ favorite: boolean;
60
+ component_type?: string | undefined;
61
+ } & {
62
+ owner_organization: undefined;
63
+ owner_user: number;
64
+ } & {
65
+ offline_id: string;
66
+ } & import('../../typings/models/base').OfflineModel & {
67
+ created_by: number;
68
+ submitted_at: string;
69
+ }), "forms/addForm">, addForms: import("@reduxjs/toolkit").ActionCreatorWithPayload<((Pick<import('../../typings/models/workspace').WorkspaceIndexedModel, "index_workspace"> & {
70
+ favorite: boolean;
71
+ component_type?: string | undefined;
72
+ } & {
73
+ owner_organization: number;
74
+ owner_user: undefined;
75
+ } & {
76
+ offline_id: string;
77
+ } & import('../../typings/models/base').OfflineModel & {
78
+ created_by: number;
79
+ submitted_at: string;
80
+ }) | (Pick<import('../../typings/models/workspace').WorkspaceIndexedModel, "index_workspace"> & {
81
+ favorite: boolean;
82
+ component_type?: string | undefined;
83
+ } & {
84
+ owner_organization: undefined;
85
+ owner_user: number;
86
+ } & {
87
+ offline_id: string;
88
+ } & import('../../typings/models/base').OfflineModel & {
89
+ created_by: number;
90
+ submitted_at: string;
91
+ }))[], "forms/addForms">, favoriteForm: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
92
+ formId: string;
93
+ }, "forms/favoriteForm">, unfavoriteForm: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
94
+ formId: string;
95
+ }, "forms/unfavoriteForm">, deleteForm: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "forms/deleteForm">;
96
+ export type FormSearchArgs = SearchArgs<{
97
+ /** `undefined` means don't filter by favorite. `boolean` filters forms. */
98
+ favorites?: boolean;
99
+ /** organization owner */
100
+ owner_organization?: number;
101
+ /** user owner */
102
+ owner_user?: number;
103
+ }>;
104
+ export declare const selectFilteredForms: SelectorWithArgs<FormSearchArgs, CachedUserForm[]>;
105
+ export declare const selectForm: SelectorWithArgs<string, Stored<UserForm>>;
106
+ export declare const selectFormMapping: Selector<Record<Stored<UserForm>["offline_id"], Stored<UserForm>>>;
107
+ export declare const selectFormOfComponentType: SelectorWithArgs<string, Stored<UserForm>>;
108
+ export declare const selectFormsCount: Selector<number>;
109
+ export declare const selectGeneralFormCount: Selector<number>;
110
+ export declare const formReducer: Reducer<FormState>;
@@ -0,0 +1,47 @@
1
+ import { PayloadAction, Reducer } from "@reduxjs/toolkit";
2
+ import { Selector, SelectorWithArgs, Stored, UserFormSubmission, UserFormSubmissionAttachment } from "../../typings";
3
+ export interface FormSubmissionState {
4
+ formSubmissions: Record<UserFormSubmission["offline_id"], Stored<UserFormSubmission>>;
5
+ attachments: Record<UserFormSubmissionAttachment["offline_id"], Stored<UserFormSubmissionAttachment>>;
6
+ }
7
+ export declare const formSubmissionSlice: import("@reduxjs/toolkit").Slice<FormSubmissionState, {
8
+ setFormSubmission: (state: import("immer/dist/internal.js").WritableDraft<FormSubmissionState>, action: PayloadAction<Stored<UserFormSubmission>>) => void;
9
+ setFormSubmissions: (state: import("immer/dist/internal.js").WritableDraft<FormSubmissionState>, action: {
10
+ payload: Stored<UserFormSubmission>[];
11
+ }) => void;
12
+ addFormSubmission: (state: import("immer/dist/internal.js").WritableDraft<FormSubmissionState>, action: PayloadAction<Stored<UserFormSubmission>>) => void;
13
+ addFormSubmissions: (state: import("immer/dist/internal.js").WritableDraft<FormSubmissionState>, action: {
14
+ payload: Stored<UserFormSubmission>[];
15
+ }) => void;
16
+ updateFormSubmission: (state: import("immer/dist/internal.js").WritableDraft<FormSubmissionState>, action: PayloadAction<Stored<UserFormSubmission>>) => void;
17
+ updateFormSubmissions: (state: import("immer/dist/internal.js").WritableDraft<FormSubmissionState>, action: {
18
+ payload: Stored<UserFormSubmission>[];
19
+ }) => void;
20
+ deleteFormSubmission: (state: import("immer/dist/internal.js").WritableDraft<FormSubmissionState>, action: PayloadAction<UserFormSubmission["offline_id"]>) => void;
21
+ deleteFormSubmissions: (state: import("immer/dist/internal.js").WritableDraft<FormSubmissionState>, action: {
22
+ payload: UserFormSubmission["offline_id"][];
23
+ }) => void;
24
+ addFormSubmissionAttachment: (state: import("immer/dist/internal.js").WritableDraft<FormSubmissionState>, action: PayloadAction<UserFormSubmissionAttachment>) => void;
25
+ addFormSubmissionAttachments: (state: import("immer/dist/internal.js").WritableDraft<FormSubmissionState>, action: {
26
+ payload: UserFormSubmissionAttachment[];
27
+ }) => void;
28
+ setFormSubmissionAttachments: (state: import("immer/dist/internal.js").WritableDraft<FormSubmissionState>, action: {
29
+ payload: UserFormSubmissionAttachment[];
30
+ }) => void;
31
+ updateFormSubmissionAttachments: (state: import("immer/dist/internal.js").WritableDraft<FormSubmissionState>, action: PayloadAction<Stored<UserFormSubmissionAttachment>[]>) => void;
32
+ deleteFormSubmissionAttachment: (state: import("immer/dist/internal.js").WritableDraft<FormSubmissionState>, action: PayloadAction<UserFormSubmissionAttachment["offline_id"]>) => void;
33
+ deleteFormSubmissionAttachments: (state: import("immer/dist/internal.js").WritableDraft<FormSubmissionState>, action: {
34
+ payload: UserFormSubmissionAttachment["offline_id"][];
35
+ }) => void;
36
+ }, "formSubmissions">;
37
+ export declare const setFormSubmission: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormSubmission>, "formSubmissions/setFormSubmission">, setFormSubmissions: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormSubmission>[], "formSubmissions/setFormSubmissions">, addFormSubmission: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormSubmission>, "formSubmissions/addFormSubmission">, addFormSubmissions: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormSubmission>[], "formSubmissions/addFormSubmissions">, updateFormSubmission: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormSubmission>, "formSubmissions/updateFormSubmission">, updateFormSubmissions: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormSubmission>[], "formSubmissions/updateFormSubmissions">, deleteFormSubmission: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "formSubmissions/deleteFormSubmission">, deleteFormSubmissions: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "formSubmissions/deleteFormSubmissions">, addFormSubmissionAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<UserFormSubmissionAttachment, "formSubmissions/addFormSubmissionAttachment">, addFormSubmissionAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<UserFormSubmissionAttachment[], "formSubmissions/addFormSubmissionAttachments">, setFormSubmissionAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<UserFormSubmissionAttachment[], "formSubmissions/setFormSubmissionAttachments">, updateFormSubmissionAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<UserFormSubmissionAttachment>[], "formSubmissions/updateFormSubmissionAttachments">, deleteFormSubmissionAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "formSubmissions/deleteFormSubmissionAttachment">, deleteFormSubmissionAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "formSubmissions/deleteFormSubmissionAttachments">;
38
+ export declare const selectFormSubmissionsMapping: Selector<FormSubmissionState["formSubmissions"]>;
39
+ export declare const selectFormSubmissions: Selector<Stored<UserFormSubmission>[]>;
40
+ export declare const selectFormSubmission: SelectorWithArgs<string, Stored<UserFormSubmission>>;
41
+ export declare const selectFormSubmissionsOfForm: SelectorWithArgs<string, Stored<UserFormSubmission>[]>;
42
+ export declare const selectFormSubmissionsOfIssue: SelectorWithArgs<string, Stored<UserFormSubmission>[]>;
43
+ export declare const selectFormSubmissionsOfComponent: SelectorWithArgs<string, Stored<UserFormSubmission>[]>;
44
+ export declare const selectFormSubmissionsByComponents: Selector<Record<string, Stored<UserFormSubmission>[]>>;
45
+ export declare const selectFormSubmissionAttachmentsMapping: Selector<FormSubmissionState["attachments"]>;
46
+ export declare const selectAttachmentsOfFormSubmission: SelectorWithArgs<string, Stored<UserFormSubmissionAttachment>[]>;
47
+ export declare const formSubmissionReducer: Reducer<FormSubmissionState>;
@@ -14,7 +14,9 @@ export * from "./projectFileSlice";
14
14
  export * from "./projectSlice";
15
15
  export * from "./rehydratedSlice";
16
16
  export * from "./settingsSlice";
17
- export * from "./userFormSlice";
17
+ export * from "./formSlice";
18
+ export * from "./formSubmissionSlice";
19
+ export * from "./formRevisionSlice";
18
20
  export * from "./userSlice";
19
21
  export * from "./workspaceSlice";
20
22
  export * from "./organizationAccessSlice";