@adaptabletools/adaptable-plugin-ipushpull 22.0.2 → 22.0.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/package.json +1 -1
- package/src/View/IPushPullAddPagePopup.js +8 -8
- package/src/View/IPushPullLoginPopup.js +5 -5
- package/src/View/IPushPullViewPanel.js +31 -47
- package/src/index.d.ts +4 -4
- package/src/index.js +4 -3
- package/src/ipushpull-client/IPushPullClient.d.ts +1 -0
- package/src/ipushpull-client/IPushPullClient.js +7 -6
- package/src/types.d.ts +1 -0
- package/src/types.js +1 -0
- package/src/View/IPushPullPopup.d.ts +0 -2
- package/src/View/IPushPullPopup.js +0 -37
package/package.json
CHANGED
|
@@ -4,14 +4,14 @@ import * as PopupRedux from '@adaptabletools/adaptable/src/Redux/ActionsReducers
|
|
|
4
4
|
import * as IPushPullRedux from '../Redux/ActionReducers/IPushPullRedux';
|
|
5
5
|
import { StringExtensions } from '@adaptabletools/adaptable/src/Utilities/Extensions/StringExtensions';
|
|
6
6
|
import FormLayout, { FormRow } from '@adaptabletools/adaptable/src/components/FormLayout';
|
|
7
|
-
import
|
|
7
|
+
import AdaptableInput from '@adaptabletools/adaptable/src/View/Components/AdaptableInput';
|
|
8
8
|
import SimpleButton from '@adaptabletools/adaptable/src/components/SimpleButton';
|
|
9
9
|
import { PanelWithImage } from '@adaptabletools/adaptable/src/View/Components/Panels/PanelWithImage';
|
|
10
10
|
import { usePopupContext } from '@adaptabletools/adaptable/src/View/Components/Popups/AdaptablePopup/PopupContext';
|
|
11
11
|
import ErrorBox from '@adaptabletools/adaptable/src/components/ErrorBox';
|
|
12
12
|
import HelpBlock from '@adaptabletools/adaptable/src/components/HelpBlock';
|
|
13
13
|
import { Flex } from '@adaptabletools/adaptable/src/components/Flex';
|
|
14
|
-
import
|
|
14
|
+
import { Select } from '@adaptabletools/adaptable/src/components/Select';
|
|
15
15
|
import { EMPTY_STRING, EMPTY_ARRAY, } from '@adaptabletools/adaptable/src/Utilities/Constants/GeneralConstants';
|
|
16
16
|
import ArrayExtensions from '@adaptabletools/adaptable/src/Utilities/Extensions/ArrayExtensions';
|
|
17
17
|
const IPushPullAddPageComponent = (props) => {
|
|
@@ -35,11 +35,11 @@ const IPushPullAddPageComponent = (props) => {
|
|
|
35
35
|
setState({ ...state, Page: e.value });
|
|
36
36
|
};
|
|
37
37
|
const onFolderChanged = (folderName) => {
|
|
38
|
-
if (StringExtensions.IsNotNullOrEmpty(folderName)
|
|
39
|
-
let
|
|
38
|
+
if (StringExtensions.IsNotNullOrEmpty(folderName)) {
|
|
39
|
+
let availablePages = props.IPushPullDomainsPages.find((f) => f.Name == folderName)?.Pages ?? [];
|
|
40
40
|
setState({
|
|
41
41
|
Folder: folderName,
|
|
42
|
-
AvailablePages:
|
|
42
|
+
AvailablePages: availablePages,
|
|
43
43
|
Page: EMPTY_STRING,
|
|
44
44
|
ErrorMessage: EMPTY_STRING,
|
|
45
45
|
});
|
|
@@ -67,10 +67,10 @@ const IPushPullAddPageComponent = (props) => {
|
|
|
67
67
|
React.createElement(Flex, { flexDirection: "column", className: "twa:p-2 twa:m-2" },
|
|
68
68
|
React.createElement(HelpBlock, { className: "twa:mb-1" }, "Select a folder and then choose the name of the new ipushpull page it should contain."),
|
|
69
69
|
React.createElement(FormLayout, { className: "twa:m-3" },
|
|
70
|
-
React.createElement(FormRow, { label: "Folder
|
|
71
|
-
React.createElement(
|
|
70
|
+
React.createElement(FormRow, { label: "Folder" },
|
|
71
|
+
React.createElement(Select, { disabled: availableFolders.length == 0, options: availableFolders, className: "ab-Popup__IPushPull__select twa:min-w-[50%] twa:mr-2", onChange: (folder) => onFolderChanged(folder), value: state.Folder || undefined, placeholder: "Select Folder", isClearable: true })),
|
|
72
72
|
React.createElement(FormRow, { label: "Page" },
|
|
73
|
-
React.createElement(
|
|
73
|
+
React.createElement(AdaptableInput, { className: "twa:w-1/2", type: "text", placeholder: "Page Name", value: state.Page, disabled: StringExtensions.IsNullOrEmpty(state.Folder), onChange: onPageNameChange })),
|
|
74
74
|
state.ErrorMessage ? (React.createElement(FormRow, { label: "" },
|
|
75
75
|
React.createElement(ErrorBox, null, state.ErrorMessage))) : null)),
|
|
76
76
|
React.createElement(Flex, { className: "twa:p-2", justifyContent: "space-between" },
|
|
@@ -5,7 +5,7 @@ import * as PopupRedux from '@adaptabletools/adaptable/src/Redux/ActionsReducers
|
|
|
5
5
|
import * as IPushPullRedux from '../Redux/ActionReducers/IPushPullRedux';
|
|
6
6
|
import { StringExtensions } from '@adaptabletools/adaptable/src/Utilities/Extensions/StringExtensions';
|
|
7
7
|
import FormLayout, { FormRow } from '@adaptabletools/adaptable/src/components/FormLayout';
|
|
8
|
-
import
|
|
8
|
+
import AdaptableInput from '@adaptabletools/adaptable/src/View/Components/AdaptableInput';
|
|
9
9
|
import SimpleButton from '@adaptabletools/adaptable/src/components/SimpleButton';
|
|
10
10
|
import { PanelWithImage } from '@adaptabletools/adaptable/src/View/Components/Panels/PanelWithImage';
|
|
11
11
|
import { usePopupContext } from '@adaptabletools/adaptable/src/View/Components/Popups/AdaptablePopup/PopupContext';
|
|
@@ -39,10 +39,10 @@ const IPushPullLoginComponent = (props) => {
|
|
|
39
39
|
React.createElement(Flex, { flexDirection: "column", className: "twa:p-2 twa:m-2" },
|
|
40
40
|
React.createElement(HelpBlock, { className: "twa:mb-1" }, "Login to ipushpull using your login (email address) and password."),
|
|
41
41
|
React.createElement(FormLayout, { className: "twa:m-3" },
|
|
42
|
-
React.createElement(FormRow, { label: "
|
|
43
|
-
React.createElement(
|
|
44
|
-
React.createElement(FormRow, { label: "
|
|
45
|
-
React.createElement(
|
|
42
|
+
React.createElement(FormRow, { label: "User" },
|
|
43
|
+
React.createElement(AdaptableInput, { className: "twa:w-full", type: "email", placeholder: "Email address", value: state.Login, onChange: onLoginChange })),
|
|
44
|
+
React.createElement(FormRow, { label: "Password" },
|
|
45
|
+
React.createElement(AdaptableInput, { className: "twa:w-full", type: "password", placeholder: "Password", value: state.Password, onChange: onPasswordChange })),
|
|
46
46
|
props.pushpullLoginErrorMessage ? (React.createElement(FormRow, { label: "" },
|
|
47
47
|
React.createElement(ErrorBox, null, props.pushpullLoginErrorMessage))) : null)),
|
|
48
48
|
React.createElement(Flex, { className: "twa:p-2", justifyContent: "space-between" },
|
|
@@ -4,7 +4,7 @@ import * as React from 'react';
|
|
|
4
4
|
import ObjectFactory from '@adaptabletools/adaptable/src/Utilities/ObjectFactory';
|
|
5
5
|
import { StringExtensions } from '@adaptabletools/adaptable/src/Utilities/Extensions/StringExtensions';
|
|
6
6
|
import { Flex } from '@adaptabletools/adaptable/src/components/Flex';
|
|
7
|
-
import
|
|
7
|
+
import { Select } from '@adaptabletools/adaptable/src/components/Select';
|
|
8
8
|
import { ButtonExport } from '@adaptabletools/adaptable/src/View/Components/Buttons/ButtonExport';
|
|
9
9
|
import { ButtonPause } from '@adaptabletools/adaptable/src/View/Components/Buttons/ButtonPause';
|
|
10
10
|
import { ButtonPlay } from '@adaptabletools/adaptable/src/View/Components/Buttons/ButtonPlay';
|
|
@@ -62,58 +62,42 @@ const IPushPullViewPanelComponent = (props) => {
|
|
|
62
62
|
let allReports = systemReports
|
|
63
63
|
.filter((s) => props.api.exportApi.internalApi.isSystemReportActive(s))
|
|
64
64
|
.concat(props.Reports.map((r) => r.Name));
|
|
65
|
-
let availableReports = allReports.map((report) => {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
let
|
|
80
|
-
|
|
81
|
-
label: page,
|
|
82
|
-
value: page,
|
|
83
|
-
onClick: () => onPageChanged(page),
|
|
84
|
-
};
|
|
85
|
-
}) ?? [];
|
|
86
|
-
// this is clearly ridiculous!
|
|
87
|
-
// im getting tired...
|
|
88
|
-
let isCompletedReport = StringExtensions.IsNotNullOrEmpty(props.CurrentIPushPullReportName) &&
|
|
89
|
-
StringExtensions.IsNotNullOrEmpty(props.CurrentIPushPullFolder) &&
|
|
90
|
-
StringExtensions.IsNotNullOrEmpty(props.CurrentIPushPullPage);
|
|
65
|
+
let availableReports = allReports.map((report) => ({
|
|
66
|
+
label: report,
|
|
67
|
+
value: report,
|
|
68
|
+
}));
|
|
69
|
+
let availableFolders = props.IPushPullDomainsPages?.map((iPushPullDomain) => ({
|
|
70
|
+
label: iPushPullDomain.Name,
|
|
71
|
+
value: iPushPullDomain.Name,
|
|
72
|
+
})) ?? [];
|
|
73
|
+
let availablePages = props.CurrentIPushPullAvailablePages?.map((page) => ({
|
|
74
|
+
label: page,
|
|
75
|
+
value: page,
|
|
76
|
+
})) ?? [];
|
|
77
|
+
let hasReport = StringExtensions.IsNotNullOrEmpty(props.CurrentIPushPullReportName);
|
|
78
|
+
let hasFolder = StringExtensions.IsNotNullOrEmpty(props.CurrentIPushPullFolder);
|
|
79
|
+
let hasPage = StringExtensions.IsNotNullOrEmpty(props.CurrentIPushPullPage);
|
|
80
|
+
let isCompletedReport = hasReport && hasFolder && hasPage;
|
|
91
81
|
let isLiveIPushPullReport = isCompletedReport &&
|
|
92
82
|
props.CurrentLiveIPushPullReport &&
|
|
93
83
|
props.CurrentIPushPullReportName == props.CurrentLiveIPushPullReport.ReportName &&
|
|
94
84
|
props.CurrentIPushPullFolder == props.CurrentLiveIPushPullReport.Folder &&
|
|
95
85
|
props.CurrentIPushPullPage == props.CurrentLiveIPushPullReport.Page;
|
|
96
86
|
const elementType = props.viewType === 'Toolbar' ? 'DashboardToolbar' : 'ToolPanel';
|
|
97
|
-
return props.IsIPushPullRunning ? (React.createElement(Flex, { flexDirection: "row", className: `ab-${elementType}__IPushPull__wrap`, flexWrap: props.viewType === 'ToolPanel' ? 'wrap' : 'nowrap' },
|
|
98
|
-
React.createElement(Flex,
|
|
99
|
-
React.createElement(
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
React.createElement(Flex,
|
|
103
|
-
React.createElement(
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
:
|
|
110
|
-
|
|
111
|
-
React.createElement(ButtonExport, { className: `ab-${elementType}__IPushPull__export twa:ml-1`, onClick: () => onIPushPullSendSnapshot(), tooltip: "Send Snapshot to ipushpull", disabled: isLiveIPushPullReport || !isCompletedReport, accessLevel: props.accessLevel }),
|
|
112
|
-
isLiveIPushPullReport ? (React.createElement(ButtonPause, { className: `ab-${elementType}__IPushPull__pause twa:ml-1 twa:fill-red-500`, onClick: () => props.onIPushPullStopLiveData(), tooltip: "Stop sync with ipushpull", disabled: !isLiveIPushPullReport, accessLevel: props.accessLevel })) : (React.createElement(ButtonPlay, { className: `ab-${elementType}__IPushPull__play twa:ml-1`, onClick: () => onIPushPullStartLiveData(), tooltip: "Start sync with ipushpull", disabled: isLiveIPushPullReport || !isCompletedReport, accessLevel: props.accessLevel })),
|
|
113
|
-
isCompletedReport && (React.createElement(Flex, { className: join(props.accessLevel == 'ReadOnly' ? GeneralConstants.READ_ONLY_STYLE : '', `ab-${elementType}__IPushPull__controls`), alignItems: "stretch" }, props.api.entitlementApi.isModuleFullEntitlement('Schedule') && (React.createElement(ButtonSchedule, { className: `ab-${elementType}__IPushPull__schedule twa:ml-1`, onClick: () => onNewIPushPullSchedule(), tooltip: "Schedule", disabled: isLiveIPushPullReport || !isCompletedReport, accessLevel: props.accessLevel })))),
|
|
114
|
-
' ',
|
|
115
|
-
React.createElement(ButtonNewPage, { className: `ab-${elementType}__IPushPull__newpage twa:ml-1`, onClick: () => props.onShowAddIPushPullPage(), tooltip: "New Page", disabled: isLiveIPushPullReport, accessLevel: props.accessLevel }),
|
|
116
|
-
React.createElement(ButtonLogout, { className: `ab-${elementType}__IPushPull__logout twa:ml-1`, onClick: () => getIPPApi().logoutFromIPushPull(), tooltip: "Logout", disabled: isLiveIPushPullReport, accessLevel: props.accessLevel })))) : (React.createElement(ButtonLogin, { className: `ab-${elementType}__IPushPull__login twa:ml-1`, onClick: () => props.onShowIPushPullLogin(), tooltip: "Login to ipushpull", accessLevel: props.accessLevel },
|
|
87
|
+
return props.IsIPushPullRunning ? (React.createElement(Flex, { flexDirection: "row", className: `ab-${elementType}__IPushPull__wrap twa:gap-1`, flexWrap: props.viewType === 'ToolPanel' ? 'wrap' : 'nowrap' },
|
|
88
|
+
React.createElement(Flex, { className: "twa:min-w-[140px]" },
|
|
89
|
+
React.createElement(Select, { disabled: allReports.length == 0 || isLiveIPushPullReport, options: availableReports, className: `ab-${elementType}__IPushPull__select twa:w-full`, placeholder: "Select Report", onChange: (reportName) => onSelectedReportChanged(reportName), value: props.CurrentIPushPullReportName, isClearable: true })),
|
|
90
|
+
React.createElement(Flex, { className: "twa:min-w-[140px]" },
|
|
91
|
+
React.createElement(Select, { disabled: !hasReport || isLiveIPushPullReport, options: availableFolders, className: `ab-${elementType}__IPushPull__select twa:w-full`, placeholder: "Select Folder", onChange: (folder) => onFolderChanged(folder), value: props.CurrentIPushPullFolder, isClearable: true })),
|
|
92
|
+
React.createElement(Flex, { className: "twa:min-w-[140px]" },
|
|
93
|
+
React.createElement(Select, { disabled: !hasFolder || isLiveIPushPullReport, options: availablePages, className: `ab-${elementType}__IPushPull__select twa:w-full`, placeholder: "Select Page", onChange: (page) => onPageChanged(page), value: props.CurrentIPushPullPage, isClearable: true })),
|
|
94
|
+
React.createElement(Flex, { className: join(props.accessLevel == 'ReadOnly' ? GeneralConstants.READ_ONLY_STYLE : '', `ab-${elementType}__IPushPull__controls twa:w-full`) },
|
|
95
|
+
React.createElement(Flex, null,
|
|
96
|
+
React.createElement(ButtonExport, { className: `ab-${elementType}__IPushPull__export`, onClick: () => onIPushPullSendSnapshot(), tooltip: "Send Snapshot to ipushpull", disabled: isLiveIPushPullReport || !isCompletedReport, accessLevel: props.accessLevel }),
|
|
97
|
+
isLiveIPushPullReport ? (React.createElement(ButtonPause, { className: `ab-${elementType}__IPushPull__pause twa:fill-red-500`, onClick: () => props.onIPushPullStopLiveData(), tooltip: "Stop sync with ipushpull", disabled: !isLiveIPushPullReport, accessLevel: props.accessLevel })) : (React.createElement(ButtonPlay, { className: `ab-${elementType}__IPushPull__play`, onClick: () => onIPushPullStartLiveData(), tooltip: "Start sync with ipushpull", disabled: isLiveIPushPullReport || !isCompletedReport, accessLevel: props.accessLevel })),
|
|
98
|
+
props.api.entitlementApi.isModuleFullEntitlement('Schedule') && (React.createElement(ButtonSchedule, { className: `ab-${elementType}__IPushPull__schedule`, onClick: () => onNewIPushPullSchedule(), tooltip: "Schedule", disabled: isLiveIPushPullReport || !isCompletedReport, accessLevel: props.accessLevel })),
|
|
99
|
+
React.createElement(ButtonNewPage, { className: `ab-${elementType}__IPushPull__newpage`, onClick: () => props.onShowAddIPushPullPage(), tooltip: "New Page", disabled: !hasFolder || isLiveIPushPullReport, accessLevel: props.accessLevel }),
|
|
100
|
+
React.createElement(ButtonLogout, { className: `ab-${elementType}__IPushPull__logout`, onClick: () => getIPPApi().logoutFromIPushPull(), tooltip: "Logout", disabled: isLiveIPushPullReport, accessLevel: props.accessLevel }))))) : (React.createElement(ButtonLogin, { className: `ab-${elementType}__IPushPull__login twa:ml-1`, onClick: () => props.onShowIPushPullLogin(), tooltip: "Login to ipushpull", accessLevel: props.accessLevel },
|
|
117
101
|
' ',
|
|
118
102
|
"Login"));
|
|
119
103
|
};
|
package/src/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { Middleware } from 'redux';
|
|
|
3
3
|
import * as Redux from 'redux';
|
|
4
4
|
import { IPushPullState } from '@adaptabletools/adaptable/src/AdaptableState/IPushPullState';
|
|
5
5
|
import { IPushPullApi } from '@adaptabletools/adaptable/src/Api/IPushPullApi';
|
|
6
|
-
import { IPushPullPluginOptions } from './
|
|
6
|
+
import { IPushPullPluginOptions } from './types';
|
|
7
7
|
import { IAdaptable } from '@adaptabletools/adaptable/src/AdaptableInterfaces/IAdaptable';
|
|
8
8
|
declare class IPushPullPlugin extends AdaptablePlugin {
|
|
9
9
|
options: IPushPullPluginOptions;
|
|
@@ -18,6 +18,6 @@ declare class IPushPullPlugin extends AdaptablePlugin {
|
|
|
18
18
|
reduxMiddleware: (adaptable: IAdaptable) => Middleware;
|
|
19
19
|
afterInitStore(adaptable: IAdaptable): void;
|
|
20
20
|
}
|
|
21
|
-
export type { IPushPullPluginOptions, IPushPullConfig } from './
|
|
22
|
-
declare const
|
|
23
|
-
export default
|
|
21
|
+
export type { IPushPullPluginOptions, IPushPullConfig } from './types';
|
|
22
|
+
export declare const ipushpullPlugin: (options?: IPushPullPluginOptions) => IPushPullPlugin;
|
|
23
|
+
export default ipushpullPlugin;
|
package/src/index.js
CHANGED
|
@@ -132,7 +132,7 @@ class IPushPullPlugin extends AdaptablePlugin {
|
|
|
132
132
|
return next(action);
|
|
133
133
|
}
|
|
134
134
|
case IPUSHPULL_DOMAIN_PAGES_SET: {
|
|
135
|
-
|
|
135
|
+
const result = next(action);
|
|
136
136
|
const currentFolder = middlewareAPI.getState().Internal.IPushPullCurrentFolder;
|
|
137
137
|
const isFolderValid = StringExtensions.IsNotNullOrEmpty(currentFolder);
|
|
138
138
|
if (isFolderValid) {
|
|
@@ -141,7 +141,7 @@ class IPushPullPlugin extends AdaptablePlugin {
|
|
|
141
141
|
.getPagesForIPushPullDomain(currentFolder);
|
|
142
142
|
middlewareAPI.dispatch(IPushPullSetCurrentAvailablePages(availablePages));
|
|
143
143
|
}
|
|
144
|
-
return
|
|
144
|
+
return result;
|
|
145
145
|
}
|
|
146
146
|
default: {
|
|
147
147
|
return next(action);
|
|
@@ -157,4 +157,5 @@ class IPushPullPlugin extends AdaptablePlugin {
|
|
|
157
157
|
AdaptableViewPanelFactory.set(IPushPullModuleId, IPushPullViewPanelControl);
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
|
-
export
|
|
160
|
+
export const ipushpullPlugin = (options) => new IPushPullPlugin(options);
|
|
161
|
+
export default ipushpullPlugin;
|
|
@@ -4,6 +4,7 @@ export declare class IPushPullClient {
|
|
|
4
4
|
private tokens;
|
|
5
5
|
private refreshPromise;
|
|
6
6
|
constructor(config: IPushPullClientConfig);
|
|
7
|
+
private getBasicAuthHeader;
|
|
7
8
|
private buildOAuthBody;
|
|
8
9
|
login(username: string, password: string): Promise<IPushPullTokens>;
|
|
9
10
|
refreshToken(): Promise<IPushPullTokens>;
|
|
@@ -5,13 +5,12 @@ export class IPushPullClient {
|
|
|
5
5
|
constructor(config) {
|
|
6
6
|
this.config = config;
|
|
7
7
|
}
|
|
8
|
+
getBasicAuthHeader() {
|
|
9
|
+
const credentials = `${this.config.api_key}:${this.config.api_secret}`;
|
|
10
|
+
return `Basic ${btoa(credentials)}`;
|
|
11
|
+
}
|
|
8
12
|
buildOAuthBody(params) {
|
|
9
|
-
|
|
10
|
-
...params,
|
|
11
|
-
client_id: this.config.api_key,
|
|
12
|
-
client_secret: this.config.api_secret,
|
|
13
|
-
};
|
|
14
|
-
return Object.entries(allParams)
|
|
13
|
+
return Object.entries(params)
|
|
15
14
|
.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)
|
|
16
15
|
.join('&');
|
|
17
16
|
}
|
|
@@ -26,6 +25,7 @@ export class IPushPullClient {
|
|
|
26
25
|
method: 'POST',
|
|
27
26
|
headers: {
|
|
28
27
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
28
|
+
Authorization: this.getBasicAuthHeader(),
|
|
29
29
|
},
|
|
30
30
|
body,
|
|
31
31
|
});
|
|
@@ -66,6 +66,7 @@ export class IPushPullClient {
|
|
|
66
66
|
method: 'POST',
|
|
67
67
|
headers: {
|
|
68
68
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
69
|
+
Authorization: this.getBasicAuthHeader(),
|
|
69
70
|
},
|
|
70
71
|
body,
|
|
71
72
|
});
|
package/src/types.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { IPushPullPluginOptions, IPushPullConfig } from './IPushPullPluginOptions';
|
package/src/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { connect } from 'react-redux';
|
|
3
|
-
import { PanelWithButton } from '@adaptabletools/adaptable/src/View/Components/Panels/PanelWithButton';
|
|
4
|
-
import * as IPushPullRedux from '../Redux/ActionReducers/IPushPullRedux';
|
|
5
|
-
import * as TeamSharingRedux from '@adaptabletools/adaptable/src/Redux/ActionsReducers/TeamSharingRedux';
|
|
6
|
-
import * as ModuleConstants from '@adaptabletools/adaptable/src/Utilities/Constants/ModuleConstants';
|
|
7
|
-
import { UIHelper } from '@adaptabletools/adaptable/src/View/UIHelper';
|
|
8
|
-
class IPushPullPopupComponent extends React.Component {
|
|
9
|
-
constructor(props) {
|
|
10
|
-
super(props);
|
|
11
|
-
this.state = UIHelper.getEmptyConfigState();
|
|
12
|
-
}
|
|
13
|
-
shouldClosePopupOnFinishWizard = false;
|
|
14
|
-
componentDidMount() {
|
|
15
|
-
if (this.props.popupParams) {
|
|
16
|
-
this.shouldClosePopupOnFinishWizard =
|
|
17
|
-
this.props.popupParams.source && this.props.popupParams.source == 'Toolbar';
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
render() {
|
|
21
|
-
return (React.createElement(PanelWithButton, { headerText: this.props.moduleInfo.FriendlyName, bodyProps: { className: 'twa:p-0' }, glyphicon: this.props.moduleInfo.Glyph, infoLink: this.props.moduleInfo.HelpPage, infoLinkDisabled: !this.props.api.internalApi.isDocumentationLinksDisplayed() }));
|
|
22
|
-
}
|
|
23
|
-
onApplyExport(iPushPullReport) {
|
|
24
|
-
this.props.onIPushPullSendSnapshot(iPushPullReport);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
function mapStateToProps(state) {
|
|
28
|
-
return {};
|
|
29
|
-
}
|
|
30
|
-
function mapDispatchToProps(dispatch) {
|
|
31
|
-
return {
|
|
32
|
-
onIPushPullSendSnapshot: (report) => dispatch(IPushPullRedux.IPushPullSendSnapshot(report)),
|
|
33
|
-
onIPushPullStopLiveData: () => dispatch(IPushPullRedux.IPushPullStopLiveData()),
|
|
34
|
-
onShare: (entity, config) => dispatch(TeamSharingRedux.TeamSharingShare(entity, ModuleConstants.IPushPullModuleId, config)),
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
export let IPushPullPopup = connect(mapStateToProps, mapDispatchToProps)(IPushPullPopupComponent);
|