@procore/saved-views 1.0.0 → 5.0.0-alpha.5

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.
@@ -4,6 +4,7 @@ import React__default from 'react';
4
4
  import { DataTableConfig, TableApi, ColumnDefinition } from '@procore/data-table';
5
5
  import { ColumnState, FilterModel, GridApi } from 'ag-grid-community';
6
6
  import * as styled_components from 'styled-components';
7
+ import { UseQueryResult, UseMutationResult } from '@tanstack/react-query';
7
8
 
8
9
  declare function getTranslations(envLocale: Locale): Partial<MapLocalesToTranslations>;
9
10
 
@@ -15,8 +16,9 @@ declare const useSavedViewsPanel: (domain: string, tableName: string) => {
15
16
  interface IQueryInputProps {
16
17
  domain: string;
17
18
  tableName: string;
18
- projectId: number;
19
- companyId: number;
19
+ enableSavedViews: boolean;
20
+ projectId?: number;
21
+ companyId?: number;
20
22
  }
21
23
 
22
24
  interface ISmartGridConfig {
@@ -35,82 +37,56 @@ type ViewLevel = (typeof VIEW_LEVELS)[number];
35
37
 
36
38
  interface ISavedView {
37
39
  id: string;
38
- share_token: string;
39
40
  name: string;
40
41
  description?: string;
41
42
  table_config?: DataTableConfig | ISmartGridConfig;
42
- view_level: ViewLevel | 'default' | 'temporary';
43
+ view_level: ViewLevel | 'default';
43
44
  }
44
45
 
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> {
46
+ type TableProvider = 'smart-grid' | 'data-table';
47
+
48
+ interface ISavedViewError {
49
+ code: string;
50
+ message: string | Record<string, string[]> | Record<string, string>;
54
51
  }
55
52
 
56
- type TableProvider = 'smart-grid' | 'data-table';
53
+ interface IPermissions {
54
+ can_create_project_saved_views: boolean;
55
+ can_create_company_saved_views: boolean;
56
+ }
57
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
+ }
58
65
  interface IBaseSavedViewsProps {
59
66
  tableName: string;
60
67
  domain: string;
61
- userId: number;
68
+ stickyViewsKey: string;
69
+ enableSavedViews: boolean;
70
+ userId: string;
62
71
  projectId: number;
63
72
  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;
73
+ backend?: ISavedViewsBackend;
74
74
  }
75
75
 
76
76
  interface IDataTableSavedViewsExternalConsumerProps extends IBaseSavedViewsProps {
77
77
  tableApi: TableApi;
78
- defaultViews: IDataTableDefaultViewConfig[];
78
+ onTableConfigChange: (config: DataTableConfig) => void;
79
+ defaultViewName?: string;
80
+ defaultViewConfig?: DataTableConfig;
79
81
  columnDefinitions: ColumnDefinition[];
80
82
  }
81
83
 
82
84
  interface ISmartGridSavedViewsExternalConsumerProps extends IBaseSavedViewsProps {
83
85
  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;
86
+ defaultViewName?: string;
87
+ defaultViewFilters: FilterModel | null;
88
+ defaultRowHeight: number;
89
+ transformSettings?: (config: ISmartGridConfig) => ISmartGridConfig;
114
90
  }
115
91
 
116
92
  type SavedViewCollectionMenuItemProps = {
@@ -128,15 +104,41 @@ type SavedViewCollectionMenuItemProps = {
128
104
  }) => void;
129
105
  isUpdateProcessing?: boolean;
130
106
  permissions?: IPermissions;
131
- onClearTemporary?: () => void;
132
107
  };
133
108
  declare const SavedViewCollectionMenuItem: (props: SavedViewCollectionMenuItemProps) => React.JSX.Element;
134
109
 
135
110
  declare const ExpandedPanel: styled_components.StyledComponent<any, any, any, any>;
136
111
 
137
- declare const PanelContent: (props: IPanelContentProps) => React__default.JSX.Element;
112
+ declare enum ModalType {
113
+ CREATE = "create",
114
+ UPDATE = "update"
115
+ }
138
116
 
139
- declare const SavedViews: (props: ISavedViewsProps) => React__default.JSX.Element;
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>>;
140
142
 
141
143
  type Props = {
142
144
  onDelete(): void;
@@ -145,7 +147,7 @@ type Props = {
145
147
  };
146
148
  declare const SavedViewsDeleteConfirmationModalShared: React__default.FC<Props>;
147
149
 
148
- type FormModalProps = {
150
+ type SavedViewsFormModalProps = {
149
151
  open: boolean;
150
152
  mode: ModalType;
151
153
  isLoading?: boolean;
@@ -154,17 +156,12 @@ type FormModalProps = {
154
156
  tableConfig: DataTableConfig | ISmartGridConfig;
155
157
  tableName: string;
156
158
  selectedSavedView: ISavedView | undefined;
159
+ setSelectedSavedView: (data: ISavedView) => void;
157
160
  onSelect: (item: ISavedView) => void;
158
161
  setOpenEditCreateModal: (open: boolean) => void;
159
162
  defaultView: ISavedView;
163
+ backend: ISavedViewsBackend;
160
164
  };
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>>;
165
+ declare const SavedViewsFormModal: React__default.FC<SavedViewsFormModalProps>;
169
166
 
170
- export { DataTableSavedViews, ExpandedPanel, FormModal, type IDataTableDefaultViewConfig, type IDataTableSavedViewsRef, type ISmartGridDefaultViewConfig, PanelContent, SavedViewCollectionMenuItem, SavedViews, SavedViewsDeleteConfirmationModalShared, SmartGridSavedViews, getTranslations, useSavedViewsPanel };
167
+ export { DataTableSavedViews, ExpandedPanel, type IDataTableSavedViewsRef, PanelContent, type PanelContentProps, SavedViewCollectionMenuItem, SavedViewsDeleteConfirmationModalShared, SavedViewsFormModal, SmartGridSavedViews, getTranslations, useSavedViewsPanel };
@@ -4,6 +4,7 @@ import React__default from 'react';
4
4
  import { DataTableConfig, TableApi, ColumnDefinition } from '@procore/data-table';
5
5
  import { ColumnState, FilterModel, GridApi } from 'ag-grid-community';
6
6
  import * as styled_components from 'styled-components';
7
+ import { UseQueryResult, UseMutationResult } from '@tanstack/react-query';
7
8
 
8
9
  declare function getTranslations(envLocale: Locale): Partial<MapLocalesToTranslations>;
9
10
 
@@ -15,8 +16,9 @@ declare const useSavedViewsPanel: (domain: string, tableName: string) => {
15
16
  interface IQueryInputProps {
16
17
  domain: string;
17
18
  tableName: string;
18
- projectId: number;
19
- companyId: number;
19
+ enableSavedViews: boolean;
20
+ projectId?: number;
21
+ companyId?: number;
20
22
  }
21
23
 
22
24
  interface ISmartGridConfig {
@@ -35,82 +37,56 @@ type ViewLevel = (typeof VIEW_LEVELS)[number];
35
37
 
36
38
  interface ISavedView {
37
39
  id: string;
38
- share_token: string;
39
40
  name: string;
40
41
  description?: string;
41
42
  table_config?: DataTableConfig | ISmartGridConfig;
42
- view_level: ViewLevel | 'default' | 'temporary';
43
+ view_level: ViewLevel | 'default';
43
44
  }
44
45
 
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> {
46
+ type TableProvider = 'smart-grid' | 'data-table';
47
+
48
+ interface ISavedViewError {
49
+ code: string;
50
+ message: string | Record<string, string[]> | Record<string, string>;
54
51
  }
55
52
 
56
- type TableProvider = 'smart-grid' | 'data-table';
53
+ interface IPermissions {
54
+ can_create_project_saved_views: boolean;
55
+ can_create_company_saved_views: boolean;
56
+ }
57
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
+ }
58
65
  interface IBaseSavedViewsProps {
59
66
  tableName: string;
60
67
  domain: string;
61
- userId: number;
68
+ stickyViewsKey: string;
69
+ enableSavedViews: boolean;
70
+ userId: string;
62
71
  projectId: number;
63
72
  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;
73
+ backend?: ISavedViewsBackend;
74
74
  }
75
75
 
76
76
  interface IDataTableSavedViewsExternalConsumerProps extends IBaseSavedViewsProps {
77
77
  tableApi: TableApi;
78
- defaultViews: IDataTableDefaultViewConfig[];
78
+ onTableConfigChange: (config: DataTableConfig) => void;
79
+ defaultViewName?: string;
80
+ defaultViewConfig?: DataTableConfig;
79
81
  columnDefinitions: ColumnDefinition[];
80
82
  }
81
83
 
82
84
  interface ISmartGridSavedViewsExternalConsumerProps extends IBaseSavedViewsProps {
83
85
  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;
86
+ defaultViewName?: string;
87
+ defaultViewFilters: FilterModel | null;
88
+ defaultRowHeight: number;
89
+ transformSettings?: (config: ISmartGridConfig) => ISmartGridConfig;
114
90
  }
115
91
 
116
92
  type SavedViewCollectionMenuItemProps = {
@@ -128,15 +104,41 @@ type SavedViewCollectionMenuItemProps = {
128
104
  }) => void;
129
105
  isUpdateProcessing?: boolean;
130
106
  permissions?: IPermissions;
131
- onClearTemporary?: () => void;
132
107
  };
133
108
  declare const SavedViewCollectionMenuItem: (props: SavedViewCollectionMenuItemProps) => React.JSX.Element;
134
109
 
135
110
  declare const ExpandedPanel: styled_components.StyledComponent<any, any, any, any>;
136
111
 
137
- declare const PanelContent: (props: IPanelContentProps) => React__default.JSX.Element;
112
+ declare enum ModalType {
113
+ CREATE = "create",
114
+ UPDATE = "update"
115
+ }
138
116
 
139
- declare const SavedViews: (props: ISavedViewsProps) => React__default.JSX.Element;
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>>;
140
142
 
141
143
  type Props = {
142
144
  onDelete(): void;
@@ -145,7 +147,7 @@ type Props = {
145
147
  };
146
148
  declare const SavedViewsDeleteConfirmationModalShared: React__default.FC<Props>;
147
149
 
148
- type FormModalProps = {
150
+ type SavedViewsFormModalProps = {
149
151
  open: boolean;
150
152
  mode: ModalType;
151
153
  isLoading?: boolean;
@@ -154,17 +156,12 @@ type FormModalProps = {
154
156
  tableConfig: DataTableConfig | ISmartGridConfig;
155
157
  tableName: string;
156
158
  selectedSavedView: ISavedView | undefined;
159
+ setSelectedSavedView: (data: ISavedView) => void;
157
160
  onSelect: (item: ISavedView) => void;
158
161
  setOpenEditCreateModal: (open: boolean) => void;
159
162
  defaultView: ISavedView;
163
+ backend: ISavedViewsBackend;
160
164
  };
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>>;
165
+ declare const SavedViewsFormModal: React__default.FC<SavedViewsFormModalProps>;
169
166
 
170
- export { DataTableSavedViews, ExpandedPanel, FormModal, type IDataTableDefaultViewConfig, type IDataTableSavedViewsRef, type ISmartGridDefaultViewConfig, PanelContent, SavedViewCollectionMenuItem, SavedViews, SavedViewsDeleteConfirmationModalShared, SmartGridSavedViews, getTranslations, useSavedViewsPanel };
167
+ export { DataTableSavedViews, ExpandedPanel, type IDataTableSavedViewsRef, PanelContent, type PanelContentProps, SavedViewCollectionMenuItem, SavedViewsDeleteConfirmationModalShared, SavedViewsFormModal, SmartGridSavedViews, getTranslations, useSavedViewsPanel };