@procore/saved-views 1.0.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/README.md +708 -0
- package/dist/legacy/index.d.mts +170 -0
- package/dist/legacy/index.d.ts +170 -0
- package/dist/legacy/index.js +15396 -0
- package/dist/legacy/index.mjs +15444 -0
- package/dist/modern/index.d.mts +170 -0
- package/dist/modern/index.d.ts +170 -0
- package/dist/modern/index.js +15391 -0
- package/dist/modern/index.mjs +15439 -0
- package/package.json +123 -0
|
@@ -0,0 +1,170 @@
|
|
|
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
|
+
|
|
8
|
+
declare function getTranslations(envLocale: Locale): Partial<MapLocalesToTranslations>;
|
|
9
|
+
|
|
10
|
+
declare const useSavedViewsPanel: (domain: string, tableName: string) => {
|
|
11
|
+
isOpen: boolean;
|
|
12
|
+
SavedViewsButton: () => React__default.JSX.Element;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
interface IQueryInputProps {
|
|
16
|
+
domain: string;
|
|
17
|
+
tableName: string;
|
|
18
|
+
projectId: number;
|
|
19
|
+
companyId: number;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
interface ISmartGridConfig {
|
|
23
|
+
columnState: ColumnState[];
|
|
24
|
+
columnGroupState: {
|
|
25
|
+
groupId: string;
|
|
26
|
+
open: boolean;
|
|
27
|
+
}[];
|
|
28
|
+
rowGroupState: string[];
|
|
29
|
+
rowHeight: number | undefined;
|
|
30
|
+
filterState: FilterModel;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
declare const VIEW_LEVELS: readonly ["company", "project", "personal"];
|
|
34
|
+
type ViewLevel = (typeof VIEW_LEVELS)[number];
|
|
35
|
+
|
|
36
|
+
interface ISavedView {
|
|
37
|
+
id: string;
|
|
38
|
+
share_token: string;
|
|
39
|
+
name: string;
|
|
40
|
+
description?: string;
|
|
41
|
+
table_config?: DataTableConfig | ISmartGridConfig;
|
|
42
|
+
view_level: ViewLevel | 'default' | 'temporary';
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
interface IDefaultViewConfig<ProviderConfig = DataTableConfig | ISmartGridConfig> {
|
|
46
|
+
id: string;
|
|
47
|
+
name: string;
|
|
48
|
+
table_config: ProviderConfig;
|
|
49
|
+
view_level: 'default';
|
|
50
|
+
}
|
|
51
|
+
interface IDataTableDefaultViewConfig extends IDefaultViewConfig<DataTableConfig> {
|
|
52
|
+
}
|
|
53
|
+
interface ISmartGridDefaultViewConfig extends IDefaultViewConfig<ISmartGridConfig> {
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
type TableProvider = 'smart-grid' | 'data-table';
|
|
57
|
+
|
|
58
|
+
interface IBaseSavedViewsProps {
|
|
59
|
+
tableName: string;
|
|
60
|
+
domain: string;
|
|
61
|
+
userId: number;
|
|
62
|
+
projectId: number;
|
|
63
|
+
companyId: number;
|
|
64
|
+
stickyViewsKey: string;
|
|
65
|
+
}
|
|
66
|
+
interface ISavedViewsProps extends Omit<IBaseSavedViewsProps, 'stickyViewsKey'> {
|
|
67
|
+
defaultView: ISavedView;
|
|
68
|
+
presetViews: ISavedView[];
|
|
69
|
+
onSelect: ({ item }: {
|
|
70
|
+
item: ISavedView;
|
|
71
|
+
}) => ISavedView;
|
|
72
|
+
tableConfig: ISmartGridConfig | DataTableConfig;
|
|
73
|
+
provider: TableProvider;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
interface IDataTableSavedViewsExternalConsumerProps extends IBaseSavedViewsProps {
|
|
77
|
+
tableApi: TableApi;
|
|
78
|
+
defaultViews: IDataTableDefaultViewConfig[];
|
|
79
|
+
columnDefinitions: ColumnDefinition[];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
interface ISmartGridSavedViewsExternalConsumerProps extends IBaseSavedViewsProps {
|
|
83
|
+
gridApi: GridApi;
|
|
84
|
+
defaultViews: ISmartGridDefaultViewConfig[];
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
interface IPermissions {
|
|
88
|
+
can_create_project_saved_views: boolean;
|
|
89
|
+
can_create_company_saved_views: boolean;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
declare enum ModalType {
|
|
93
|
+
CREATE = "create",
|
|
94
|
+
UPDATE = "update",
|
|
95
|
+
DELETE = "delete",
|
|
96
|
+
SHARED_VIEW = "sharedView"
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
interface IPanelContentProps {
|
|
100
|
+
openModal: (type: ModalType) => void;
|
|
101
|
+
onDelete: () => void;
|
|
102
|
+
onSelect: (data: {
|
|
103
|
+
item: ISavedView;
|
|
104
|
+
}) => void;
|
|
105
|
+
queryInput: IQueryInputProps;
|
|
106
|
+
selectedSavedView: ISavedView | undefined;
|
|
107
|
+
tableConfig: DataTableConfig | ISmartGridConfig;
|
|
108
|
+
provider: TableProvider;
|
|
109
|
+
defaultView: ISavedView;
|
|
110
|
+
presetViews: ISavedView[];
|
|
111
|
+
userId: number;
|
|
112
|
+
savedViews?: ISavedView[];
|
|
113
|
+
onClearTemporary?: () => void;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
type SavedViewCollectionMenuItemProps = {
|
|
117
|
+
item: ISavedView;
|
|
118
|
+
key?: string;
|
|
119
|
+
selected: boolean;
|
|
120
|
+
canUpdate?: boolean;
|
|
121
|
+
canEditOrDelete?: boolean;
|
|
122
|
+
onUpdate?: (data: ISavedView) => void;
|
|
123
|
+
onDelete?: (data: {
|
|
124
|
+
savedView: ISavedView;
|
|
125
|
+
}) => void;
|
|
126
|
+
onEdit?: (data: {
|
|
127
|
+
savedView: ISavedView;
|
|
128
|
+
}) => void;
|
|
129
|
+
isUpdateProcessing?: boolean;
|
|
130
|
+
permissions?: IPermissions;
|
|
131
|
+
onClearTemporary?: () => void;
|
|
132
|
+
};
|
|
133
|
+
declare const SavedViewCollectionMenuItem: (props: SavedViewCollectionMenuItemProps) => React.JSX.Element;
|
|
134
|
+
|
|
135
|
+
declare const ExpandedPanel: styled_components.StyledComponent<any, any, any, any>;
|
|
136
|
+
|
|
137
|
+
declare const PanelContent: (props: IPanelContentProps) => React__default.JSX.Element;
|
|
138
|
+
|
|
139
|
+
declare const SavedViews: (props: ISavedViewsProps) => React__default.JSX.Element;
|
|
140
|
+
|
|
141
|
+
type Props = {
|
|
142
|
+
onDelete(): void;
|
|
143
|
+
onCancel(): void;
|
|
144
|
+
open: boolean;
|
|
145
|
+
};
|
|
146
|
+
declare const SavedViewsDeleteConfirmationModalShared: React__default.FC<Props>;
|
|
147
|
+
|
|
148
|
+
type FormModalProps = {
|
|
149
|
+
open: boolean;
|
|
150
|
+
mode: ModalType;
|
|
151
|
+
isLoading?: boolean;
|
|
152
|
+
onCancel(): void;
|
|
153
|
+
queryInput: IQueryInputProps;
|
|
154
|
+
tableConfig: DataTableConfig | ISmartGridConfig;
|
|
155
|
+
tableName: string;
|
|
156
|
+
selectedSavedView: ISavedView | undefined;
|
|
157
|
+
onSelect: (item: ISavedView) => void;
|
|
158
|
+
setOpenEditCreateModal: (open: boolean) => void;
|
|
159
|
+
defaultView: ISavedView;
|
|
160
|
+
};
|
|
161
|
+
declare const FormModal: React__default.FC<FormModalProps>;
|
|
162
|
+
|
|
163
|
+
declare const SmartGridSavedViews: (props: ISmartGridSavedViewsExternalConsumerProps) => React__default.JSX.Element;
|
|
164
|
+
|
|
165
|
+
interface IDataTableSavedViewsRef {
|
|
166
|
+
setTableConfig: (config: DataTableConfig) => void;
|
|
167
|
+
}
|
|
168
|
+
declare const DataTableSavedViews: React__default.ForwardRefExoticComponent<IDataTableSavedViewsExternalConsumerProps & React__default.RefAttributes<IDataTableSavedViewsRef>>;
|
|
169
|
+
|
|
170
|
+
export { DataTableSavedViews, ExpandedPanel, FormModal, type IDataTableDefaultViewConfig, type IDataTableSavedViewsRef, type ISmartGridDefaultViewConfig, PanelContent, SavedViewCollectionMenuItem, SavedViews, SavedViewsDeleteConfirmationModalShared, SmartGridSavedViews, getTranslations, useSavedViewsPanel };
|
|
@@ -0,0 +1,170 @@
|
|
|
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
|
+
|
|
8
|
+
declare function getTranslations(envLocale: Locale): Partial<MapLocalesToTranslations>;
|
|
9
|
+
|
|
10
|
+
declare const useSavedViewsPanel: (domain: string, tableName: string) => {
|
|
11
|
+
isOpen: boolean;
|
|
12
|
+
SavedViewsButton: () => React__default.JSX.Element;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
interface IQueryInputProps {
|
|
16
|
+
domain: string;
|
|
17
|
+
tableName: string;
|
|
18
|
+
projectId: number;
|
|
19
|
+
companyId: number;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
interface ISmartGridConfig {
|
|
23
|
+
columnState: ColumnState[];
|
|
24
|
+
columnGroupState: {
|
|
25
|
+
groupId: string;
|
|
26
|
+
open: boolean;
|
|
27
|
+
}[];
|
|
28
|
+
rowGroupState: string[];
|
|
29
|
+
rowHeight: number | undefined;
|
|
30
|
+
filterState: FilterModel;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
declare const VIEW_LEVELS: readonly ["company", "project", "personal"];
|
|
34
|
+
type ViewLevel = (typeof VIEW_LEVELS)[number];
|
|
35
|
+
|
|
36
|
+
interface ISavedView {
|
|
37
|
+
id: string;
|
|
38
|
+
share_token: string;
|
|
39
|
+
name: string;
|
|
40
|
+
description?: string;
|
|
41
|
+
table_config?: DataTableConfig | ISmartGridConfig;
|
|
42
|
+
view_level: ViewLevel | 'default' | 'temporary';
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
interface IDefaultViewConfig<ProviderConfig = DataTableConfig | ISmartGridConfig> {
|
|
46
|
+
id: string;
|
|
47
|
+
name: string;
|
|
48
|
+
table_config: ProviderConfig;
|
|
49
|
+
view_level: 'default';
|
|
50
|
+
}
|
|
51
|
+
interface IDataTableDefaultViewConfig extends IDefaultViewConfig<DataTableConfig> {
|
|
52
|
+
}
|
|
53
|
+
interface ISmartGridDefaultViewConfig extends IDefaultViewConfig<ISmartGridConfig> {
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
type TableProvider = 'smart-grid' | 'data-table';
|
|
57
|
+
|
|
58
|
+
interface IBaseSavedViewsProps {
|
|
59
|
+
tableName: string;
|
|
60
|
+
domain: string;
|
|
61
|
+
userId: number;
|
|
62
|
+
projectId: number;
|
|
63
|
+
companyId: number;
|
|
64
|
+
stickyViewsKey: string;
|
|
65
|
+
}
|
|
66
|
+
interface ISavedViewsProps extends Omit<IBaseSavedViewsProps, 'stickyViewsKey'> {
|
|
67
|
+
defaultView: ISavedView;
|
|
68
|
+
presetViews: ISavedView[];
|
|
69
|
+
onSelect: ({ item }: {
|
|
70
|
+
item: ISavedView;
|
|
71
|
+
}) => ISavedView;
|
|
72
|
+
tableConfig: ISmartGridConfig | DataTableConfig;
|
|
73
|
+
provider: TableProvider;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
interface IDataTableSavedViewsExternalConsumerProps extends IBaseSavedViewsProps {
|
|
77
|
+
tableApi: TableApi;
|
|
78
|
+
defaultViews: IDataTableDefaultViewConfig[];
|
|
79
|
+
columnDefinitions: ColumnDefinition[];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
interface ISmartGridSavedViewsExternalConsumerProps extends IBaseSavedViewsProps {
|
|
83
|
+
gridApi: GridApi;
|
|
84
|
+
defaultViews: ISmartGridDefaultViewConfig[];
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
interface IPermissions {
|
|
88
|
+
can_create_project_saved_views: boolean;
|
|
89
|
+
can_create_company_saved_views: boolean;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
declare enum ModalType {
|
|
93
|
+
CREATE = "create",
|
|
94
|
+
UPDATE = "update",
|
|
95
|
+
DELETE = "delete",
|
|
96
|
+
SHARED_VIEW = "sharedView"
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
interface IPanelContentProps {
|
|
100
|
+
openModal: (type: ModalType) => void;
|
|
101
|
+
onDelete: () => void;
|
|
102
|
+
onSelect: (data: {
|
|
103
|
+
item: ISavedView;
|
|
104
|
+
}) => void;
|
|
105
|
+
queryInput: IQueryInputProps;
|
|
106
|
+
selectedSavedView: ISavedView | undefined;
|
|
107
|
+
tableConfig: DataTableConfig | ISmartGridConfig;
|
|
108
|
+
provider: TableProvider;
|
|
109
|
+
defaultView: ISavedView;
|
|
110
|
+
presetViews: ISavedView[];
|
|
111
|
+
userId: number;
|
|
112
|
+
savedViews?: ISavedView[];
|
|
113
|
+
onClearTemporary?: () => void;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
type SavedViewCollectionMenuItemProps = {
|
|
117
|
+
item: ISavedView;
|
|
118
|
+
key?: string;
|
|
119
|
+
selected: boolean;
|
|
120
|
+
canUpdate?: boolean;
|
|
121
|
+
canEditOrDelete?: boolean;
|
|
122
|
+
onUpdate?: (data: ISavedView) => void;
|
|
123
|
+
onDelete?: (data: {
|
|
124
|
+
savedView: ISavedView;
|
|
125
|
+
}) => void;
|
|
126
|
+
onEdit?: (data: {
|
|
127
|
+
savedView: ISavedView;
|
|
128
|
+
}) => void;
|
|
129
|
+
isUpdateProcessing?: boolean;
|
|
130
|
+
permissions?: IPermissions;
|
|
131
|
+
onClearTemporary?: () => void;
|
|
132
|
+
};
|
|
133
|
+
declare const SavedViewCollectionMenuItem: (props: SavedViewCollectionMenuItemProps) => React.JSX.Element;
|
|
134
|
+
|
|
135
|
+
declare const ExpandedPanel: styled_components.StyledComponent<any, any, any, any>;
|
|
136
|
+
|
|
137
|
+
declare const PanelContent: (props: IPanelContentProps) => React__default.JSX.Element;
|
|
138
|
+
|
|
139
|
+
declare const SavedViews: (props: ISavedViewsProps) => React__default.JSX.Element;
|
|
140
|
+
|
|
141
|
+
type Props = {
|
|
142
|
+
onDelete(): void;
|
|
143
|
+
onCancel(): void;
|
|
144
|
+
open: boolean;
|
|
145
|
+
};
|
|
146
|
+
declare const SavedViewsDeleteConfirmationModalShared: React__default.FC<Props>;
|
|
147
|
+
|
|
148
|
+
type FormModalProps = {
|
|
149
|
+
open: boolean;
|
|
150
|
+
mode: ModalType;
|
|
151
|
+
isLoading?: boolean;
|
|
152
|
+
onCancel(): void;
|
|
153
|
+
queryInput: IQueryInputProps;
|
|
154
|
+
tableConfig: DataTableConfig | ISmartGridConfig;
|
|
155
|
+
tableName: string;
|
|
156
|
+
selectedSavedView: ISavedView | undefined;
|
|
157
|
+
onSelect: (item: ISavedView) => void;
|
|
158
|
+
setOpenEditCreateModal: (open: boolean) => void;
|
|
159
|
+
defaultView: ISavedView;
|
|
160
|
+
};
|
|
161
|
+
declare const FormModal: React__default.FC<FormModalProps>;
|
|
162
|
+
|
|
163
|
+
declare const SmartGridSavedViews: (props: ISmartGridSavedViewsExternalConsumerProps) => React__default.JSX.Element;
|
|
164
|
+
|
|
165
|
+
interface IDataTableSavedViewsRef {
|
|
166
|
+
setTableConfig: (config: DataTableConfig) => void;
|
|
167
|
+
}
|
|
168
|
+
declare const DataTableSavedViews: React__default.ForwardRefExoticComponent<IDataTableSavedViewsExternalConsumerProps & React__default.RefAttributes<IDataTableSavedViewsRef>>;
|
|
169
|
+
|
|
170
|
+
export { DataTableSavedViews, ExpandedPanel, FormModal, type IDataTableDefaultViewConfig, type IDataTableSavedViewsRef, type ISmartGridDefaultViewConfig, PanelContent, SavedViewCollectionMenuItem, SavedViews, SavedViewsDeleteConfirmationModalShared, SmartGridSavedViews, getTranslations, useSavedViewsPanel };
|