@procore/saved-views 5.0.0-alpha.4
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/README.md +90 -0
- package/dist/legacy/index.d.mts +167 -0
- package/dist/legacy/index.d.ts +167 -0
- package/dist/legacy/index.js +14839 -0
- package/dist/legacy/index.mjs +14878 -0
- package/dist/modern/index.d.mts +167 -0
- package/dist/modern/index.d.ts +167 -0
- package/dist/modern/index.js +14833 -0
- package/dist/modern/index.mjs +14872 -0
- package/package.json +121 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { Locale, MapLocalesToTranslations } from '@procore/globalization-toolkit';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import React__default from 'react';
|
|
4
|
+
import { DataTableConfig, TableApi, ColumnDefinition } from '@procore/data-table';
|
|
5
|
+
import { ColumnState, FilterModel, GridApi } from 'ag-grid-community';
|
|
6
|
+
import * as styled_components from 'styled-components';
|
|
7
|
+
import { UseQueryResult, UseMutationResult } from '@tanstack/react-query';
|
|
8
|
+
|
|
9
|
+
declare function getTranslations(envLocale: Locale): Partial<MapLocalesToTranslations>;
|
|
10
|
+
|
|
11
|
+
declare const useSavedViewsPanel: (domain: string, tableName: string) => {
|
|
12
|
+
isOpen: boolean;
|
|
13
|
+
SavedViewsButton: () => React__default.JSX.Element;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
interface IQueryInputProps {
|
|
17
|
+
domain: string;
|
|
18
|
+
tableName: string;
|
|
19
|
+
enableSavedViews: boolean;
|
|
20
|
+
projectId?: number;
|
|
21
|
+
companyId?: number;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface ISmartGridConfig {
|
|
25
|
+
columnState: ColumnState[];
|
|
26
|
+
columnGroupState: {
|
|
27
|
+
groupId: string;
|
|
28
|
+
open: boolean;
|
|
29
|
+
}[];
|
|
30
|
+
rowGroupState: string[];
|
|
31
|
+
rowHeight: number | undefined;
|
|
32
|
+
filterState: FilterModel;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
declare const VIEW_LEVELS: readonly ["company", "project", "personal"];
|
|
36
|
+
type ViewLevel = (typeof VIEW_LEVELS)[number];
|
|
37
|
+
|
|
38
|
+
interface ISavedView {
|
|
39
|
+
id: string;
|
|
40
|
+
name: string;
|
|
41
|
+
description?: string;
|
|
42
|
+
table_config?: DataTableConfig | ISmartGridConfig;
|
|
43
|
+
view_level: ViewLevel | 'default';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
type TableProvider = 'smart-grid' | 'data-table';
|
|
47
|
+
|
|
48
|
+
interface ISavedViewError {
|
|
49
|
+
code: string;
|
|
50
|
+
message: string | Record<string, string[]> | Record<string, string>;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
interface IPermissions {
|
|
54
|
+
can_create_project_saved_views: boolean;
|
|
55
|
+
can_create_company_saved_views: boolean;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
interface ISavedViewsBackend {
|
|
59
|
+
useSavedViewsQuery: (props: IQueryInputProps) => UseQueryResult<ISavedView[], Error>;
|
|
60
|
+
useSavedViewsPermissions: (props: IQueryInputProps) => UseQueryResult<IPermissions, Error>;
|
|
61
|
+
useCreateSavedView: (props: IQueryInputProps) => UseMutationResult<ISavedView, ISavedViewError, ISavedView, unknown>;
|
|
62
|
+
useUpdateSavedView: (props: IQueryInputProps) => UseMutationResult<ISavedView, ISavedViewError, ISavedView, unknown>;
|
|
63
|
+
useDeleteSavedView: (props: IQueryInputProps) => UseMutationResult<ISavedView, ISavedViewError, ISavedView, unknown>;
|
|
64
|
+
}
|
|
65
|
+
interface IBaseSavedViewsProps {
|
|
66
|
+
tableName: string;
|
|
67
|
+
domain: string;
|
|
68
|
+
stickyViewsKey: string;
|
|
69
|
+
enableSavedViews: boolean;
|
|
70
|
+
userId: string;
|
|
71
|
+
projectId: number;
|
|
72
|
+
companyId: number;
|
|
73
|
+
backend?: ISavedViewsBackend;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
interface IDataTableSavedViewsExternalConsumerProps extends IBaseSavedViewsProps {
|
|
77
|
+
tableApi: TableApi;
|
|
78
|
+
onTableConfigChange: (config: DataTableConfig) => void;
|
|
79
|
+
defaultViewName?: string;
|
|
80
|
+
defaultViewConfig?: DataTableConfig;
|
|
81
|
+
columnDefinitions: ColumnDefinition[];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
interface ISmartGridSavedViewsExternalConsumerProps extends IBaseSavedViewsProps {
|
|
85
|
+
gridApi: GridApi;
|
|
86
|
+
defaultViewName?: string;
|
|
87
|
+
defaultViewFilters: FilterModel | null;
|
|
88
|
+
defaultRowHeight: number;
|
|
89
|
+
transformSettings?: (config: ISmartGridConfig) => ISmartGridConfig;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
type SavedViewCollectionMenuItemProps = {
|
|
93
|
+
item: ISavedView;
|
|
94
|
+
key?: string;
|
|
95
|
+
selected: boolean;
|
|
96
|
+
canUpdate?: boolean;
|
|
97
|
+
canEditOrDelete?: boolean;
|
|
98
|
+
onUpdate?: (data: ISavedView) => void;
|
|
99
|
+
onDelete?: (data: {
|
|
100
|
+
savedView: ISavedView;
|
|
101
|
+
}) => void;
|
|
102
|
+
onEdit?: (data: {
|
|
103
|
+
savedView: ISavedView;
|
|
104
|
+
}) => void;
|
|
105
|
+
isUpdateProcessing?: boolean;
|
|
106
|
+
permissions?: IPermissions;
|
|
107
|
+
};
|
|
108
|
+
declare const SavedViewCollectionMenuItem: (props: SavedViewCollectionMenuItemProps) => React.JSX.Element;
|
|
109
|
+
|
|
110
|
+
declare const ExpandedPanel: styled_components.StyledComponent<any, any, any, any>;
|
|
111
|
+
|
|
112
|
+
declare enum ModalType {
|
|
113
|
+
CREATE = "create",
|
|
114
|
+
UPDATE = "update"
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
type PanelContentProps = {
|
|
118
|
+
openModal: (type: ModalType) => void;
|
|
119
|
+
onDelete: () => void;
|
|
120
|
+
onSelect: (data: {
|
|
121
|
+
item: ISavedView;
|
|
122
|
+
}) => void;
|
|
123
|
+
updateLocalStorage: (data: ISavedView) => void;
|
|
124
|
+
setSelectedSavedView: (data: ISavedView) => void;
|
|
125
|
+
queryInput: IQueryInputProps;
|
|
126
|
+
selectedSavedView: ISavedView | undefined;
|
|
127
|
+
tableConfig: DataTableConfig | ISmartGridConfig;
|
|
128
|
+
provider: TableProvider;
|
|
129
|
+
defaultView: ISavedView;
|
|
130
|
+
stickyViewsKey: string;
|
|
131
|
+
userId: string;
|
|
132
|
+
backend: ISavedViewsBackend;
|
|
133
|
+
};
|
|
134
|
+
declare const PanelContent: (props: PanelContentProps) => React__default.JSX.Element;
|
|
135
|
+
|
|
136
|
+
declare const SmartGridSavedViews: (props: ISmartGridSavedViewsExternalConsumerProps) => React__default.JSX.Element;
|
|
137
|
+
|
|
138
|
+
interface IDataTableSavedViewsRef {
|
|
139
|
+
setTableConfig: (config: DataTableConfig) => void;
|
|
140
|
+
}
|
|
141
|
+
declare const DataTableSavedViews: React__default.ForwardRefExoticComponent<IDataTableSavedViewsExternalConsumerProps & React__default.RefAttributes<IDataTableSavedViewsRef>>;
|
|
142
|
+
|
|
143
|
+
type Props = {
|
|
144
|
+
onDelete(): void;
|
|
145
|
+
onCancel(): void;
|
|
146
|
+
open: boolean;
|
|
147
|
+
};
|
|
148
|
+
declare const SavedViewsDeleteConfirmationModalShared: React__default.FC<Props>;
|
|
149
|
+
|
|
150
|
+
type SavedViewsFormModalProps = {
|
|
151
|
+
open: boolean;
|
|
152
|
+
mode: ModalType;
|
|
153
|
+
isLoading?: boolean;
|
|
154
|
+
onCancel(): void;
|
|
155
|
+
queryInput: IQueryInputProps;
|
|
156
|
+
tableConfig: DataTableConfig | ISmartGridConfig;
|
|
157
|
+
tableName: string;
|
|
158
|
+
selectedSavedView: ISavedView | undefined;
|
|
159
|
+
setSelectedSavedView: (data: ISavedView) => void;
|
|
160
|
+
onSelect: (item: ISavedView) => void;
|
|
161
|
+
setOpenEditCreateModal: (open: boolean) => void;
|
|
162
|
+
defaultView: ISavedView;
|
|
163
|
+
backend: ISavedViewsBackend;
|
|
164
|
+
};
|
|
165
|
+
declare const SavedViewsFormModal: React__default.FC<SavedViewsFormModalProps>;
|
|
166
|
+
|
|
167
|
+
export { DataTableSavedViews, ExpandedPanel, type IDataTableSavedViewsRef, PanelContent, type PanelContentProps, SavedViewCollectionMenuItem, SavedViewsDeleteConfirmationModalShared, SavedViewsFormModal, SmartGridSavedViews, getTranslations, useSavedViewsPanel };
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { Locale, MapLocalesToTranslations } from '@procore/globalization-toolkit';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import React__default from 'react';
|
|
4
|
+
import { DataTableConfig, TableApi, ColumnDefinition } from '@procore/data-table';
|
|
5
|
+
import { ColumnState, FilterModel, GridApi } from 'ag-grid-community';
|
|
6
|
+
import * as styled_components from 'styled-components';
|
|
7
|
+
import { UseQueryResult, UseMutationResult } from '@tanstack/react-query';
|
|
8
|
+
|
|
9
|
+
declare function getTranslations(envLocale: Locale): Partial<MapLocalesToTranslations>;
|
|
10
|
+
|
|
11
|
+
declare const useSavedViewsPanel: (domain: string, tableName: string) => {
|
|
12
|
+
isOpen: boolean;
|
|
13
|
+
SavedViewsButton: () => React__default.JSX.Element;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
interface IQueryInputProps {
|
|
17
|
+
domain: string;
|
|
18
|
+
tableName: string;
|
|
19
|
+
enableSavedViews: boolean;
|
|
20
|
+
projectId?: number;
|
|
21
|
+
companyId?: number;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface ISmartGridConfig {
|
|
25
|
+
columnState: ColumnState[];
|
|
26
|
+
columnGroupState: {
|
|
27
|
+
groupId: string;
|
|
28
|
+
open: boolean;
|
|
29
|
+
}[];
|
|
30
|
+
rowGroupState: string[];
|
|
31
|
+
rowHeight: number | undefined;
|
|
32
|
+
filterState: FilterModel;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
declare const VIEW_LEVELS: readonly ["company", "project", "personal"];
|
|
36
|
+
type ViewLevel = (typeof VIEW_LEVELS)[number];
|
|
37
|
+
|
|
38
|
+
interface ISavedView {
|
|
39
|
+
id: string;
|
|
40
|
+
name: string;
|
|
41
|
+
description?: string;
|
|
42
|
+
table_config?: DataTableConfig | ISmartGridConfig;
|
|
43
|
+
view_level: ViewLevel | 'default';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
type TableProvider = 'smart-grid' | 'data-table';
|
|
47
|
+
|
|
48
|
+
interface ISavedViewError {
|
|
49
|
+
code: string;
|
|
50
|
+
message: string | Record<string, string[]> | Record<string, string>;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
interface IPermissions {
|
|
54
|
+
can_create_project_saved_views: boolean;
|
|
55
|
+
can_create_company_saved_views: boolean;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
interface ISavedViewsBackend {
|
|
59
|
+
useSavedViewsQuery: (props: IQueryInputProps) => UseQueryResult<ISavedView[], Error>;
|
|
60
|
+
useSavedViewsPermissions: (props: IQueryInputProps) => UseQueryResult<IPermissions, Error>;
|
|
61
|
+
useCreateSavedView: (props: IQueryInputProps) => UseMutationResult<ISavedView, ISavedViewError, ISavedView, unknown>;
|
|
62
|
+
useUpdateSavedView: (props: IQueryInputProps) => UseMutationResult<ISavedView, ISavedViewError, ISavedView, unknown>;
|
|
63
|
+
useDeleteSavedView: (props: IQueryInputProps) => UseMutationResult<ISavedView, ISavedViewError, ISavedView, unknown>;
|
|
64
|
+
}
|
|
65
|
+
interface IBaseSavedViewsProps {
|
|
66
|
+
tableName: string;
|
|
67
|
+
domain: string;
|
|
68
|
+
stickyViewsKey: string;
|
|
69
|
+
enableSavedViews: boolean;
|
|
70
|
+
userId: string;
|
|
71
|
+
projectId: number;
|
|
72
|
+
companyId: number;
|
|
73
|
+
backend?: ISavedViewsBackend;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
interface IDataTableSavedViewsExternalConsumerProps extends IBaseSavedViewsProps {
|
|
77
|
+
tableApi: TableApi;
|
|
78
|
+
onTableConfigChange: (config: DataTableConfig) => void;
|
|
79
|
+
defaultViewName?: string;
|
|
80
|
+
defaultViewConfig?: DataTableConfig;
|
|
81
|
+
columnDefinitions: ColumnDefinition[];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
interface ISmartGridSavedViewsExternalConsumerProps extends IBaseSavedViewsProps {
|
|
85
|
+
gridApi: GridApi;
|
|
86
|
+
defaultViewName?: string;
|
|
87
|
+
defaultViewFilters: FilterModel | null;
|
|
88
|
+
defaultRowHeight: number;
|
|
89
|
+
transformSettings?: (config: ISmartGridConfig) => ISmartGridConfig;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
type SavedViewCollectionMenuItemProps = {
|
|
93
|
+
item: ISavedView;
|
|
94
|
+
key?: string;
|
|
95
|
+
selected: boolean;
|
|
96
|
+
canUpdate?: boolean;
|
|
97
|
+
canEditOrDelete?: boolean;
|
|
98
|
+
onUpdate?: (data: ISavedView) => void;
|
|
99
|
+
onDelete?: (data: {
|
|
100
|
+
savedView: ISavedView;
|
|
101
|
+
}) => void;
|
|
102
|
+
onEdit?: (data: {
|
|
103
|
+
savedView: ISavedView;
|
|
104
|
+
}) => void;
|
|
105
|
+
isUpdateProcessing?: boolean;
|
|
106
|
+
permissions?: IPermissions;
|
|
107
|
+
};
|
|
108
|
+
declare const SavedViewCollectionMenuItem: (props: SavedViewCollectionMenuItemProps) => React.JSX.Element;
|
|
109
|
+
|
|
110
|
+
declare const ExpandedPanel: styled_components.StyledComponent<any, any, any, any>;
|
|
111
|
+
|
|
112
|
+
declare enum ModalType {
|
|
113
|
+
CREATE = "create",
|
|
114
|
+
UPDATE = "update"
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
type PanelContentProps = {
|
|
118
|
+
openModal: (type: ModalType) => void;
|
|
119
|
+
onDelete: () => void;
|
|
120
|
+
onSelect: (data: {
|
|
121
|
+
item: ISavedView;
|
|
122
|
+
}) => void;
|
|
123
|
+
updateLocalStorage: (data: ISavedView) => void;
|
|
124
|
+
setSelectedSavedView: (data: ISavedView) => void;
|
|
125
|
+
queryInput: IQueryInputProps;
|
|
126
|
+
selectedSavedView: ISavedView | undefined;
|
|
127
|
+
tableConfig: DataTableConfig | ISmartGridConfig;
|
|
128
|
+
provider: TableProvider;
|
|
129
|
+
defaultView: ISavedView;
|
|
130
|
+
stickyViewsKey: string;
|
|
131
|
+
userId: string;
|
|
132
|
+
backend: ISavedViewsBackend;
|
|
133
|
+
};
|
|
134
|
+
declare const PanelContent: (props: PanelContentProps) => React__default.JSX.Element;
|
|
135
|
+
|
|
136
|
+
declare const SmartGridSavedViews: (props: ISmartGridSavedViewsExternalConsumerProps) => React__default.JSX.Element;
|
|
137
|
+
|
|
138
|
+
interface IDataTableSavedViewsRef {
|
|
139
|
+
setTableConfig: (config: DataTableConfig) => void;
|
|
140
|
+
}
|
|
141
|
+
declare const DataTableSavedViews: React__default.ForwardRefExoticComponent<IDataTableSavedViewsExternalConsumerProps & React__default.RefAttributes<IDataTableSavedViewsRef>>;
|
|
142
|
+
|
|
143
|
+
type Props = {
|
|
144
|
+
onDelete(): void;
|
|
145
|
+
onCancel(): void;
|
|
146
|
+
open: boolean;
|
|
147
|
+
};
|
|
148
|
+
declare const SavedViewsDeleteConfirmationModalShared: React__default.FC<Props>;
|
|
149
|
+
|
|
150
|
+
type SavedViewsFormModalProps = {
|
|
151
|
+
open: boolean;
|
|
152
|
+
mode: ModalType;
|
|
153
|
+
isLoading?: boolean;
|
|
154
|
+
onCancel(): void;
|
|
155
|
+
queryInput: IQueryInputProps;
|
|
156
|
+
tableConfig: DataTableConfig | ISmartGridConfig;
|
|
157
|
+
tableName: string;
|
|
158
|
+
selectedSavedView: ISavedView | undefined;
|
|
159
|
+
setSelectedSavedView: (data: ISavedView) => void;
|
|
160
|
+
onSelect: (item: ISavedView) => void;
|
|
161
|
+
setOpenEditCreateModal: (open: boolean) => void;
|
|
162
|
+
defaultView: ISavedView;
|
|
163
|
+
backend: ISavedViewsBackend;
|
|
164
|
+
};
|
|
165
|
+
declare const SavedViewsFormModal: React__default.FC<SavedViewsFormModalProps>;
|
|
166
|
+
|
|
167
|
+
export { DataTableSavedViews, ExpandedPanel, type IDataTableSavedViewsRef, PanelContent, type PanelContentProps, SavedViewCollectionMenuItem, SavedViewsDeleteConfirmationModalShared, SavedViewsFormModal, SmartGridSavedViews, getTranslations, useSavedViewsPanel };
|