Skip to content

Commit 6bd74bf

Browse files
authored
Merge pull request #705 from hpcc-systems/yadhap/asr-domain-category-relation
Yadhap/asr domain category relation
2 parents 153da1a + aa296f3 commit 6bd74bf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+3219
-701
lines changed

Diff for: client-reactjs/package-lock.json

+172-193
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: client-reactjs/src/App.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ const OrbitMonitoring = React.lazy(() => import('./components/application/orbitM
3939
const SuperFileMonitoring = React.lazy(() =>
4040
import('./components/application/superfileMonitoring/SuperFileMonitoring')
4141
);
42-
// const Notifications = React.lazy(() => import('./components/application/dashboard/notifications/Notifications'));
4342
const Orbit = React.lazy(() => import('./components/application/dashboard/Orbit/Orbit'));
44-
// const ClusterUsage = React.lazy(() => import('./components/application/dashboard/clusterUsage/ClusterUsage'));
4543
const Notifications = React.lazy(() => import('./components/application/dashboard/notifications'));
4644
const ClusterUsage = React.lazy(() => import('./components/application/dashboard/clusterUsage/'));
4745
const ClusterMonitoring = React.lazy(() => import('./components/application/clusterMonitoring'));
@@ -57,7 +55,8 @@ const Regulations = React.lazy(() => import('./components/admin/ControlsAndRegul
5755
const GitHubSettings = React.lazy(() => import('./components/admin/GitHubSettings/GitHubSettings'));
5856
const ScheduledJobsPage = React.lazy(() => import('./components/admin/ScheduledJobsPage'));
5957
const Compliance = React.lazy(() => import('./components/admin/Compliance/Compliance'));
60-
const Integrations = React.lazy(() => import('./components/admin/Integrations/Integrations'));
58+
const Integrations = React.lazy(() => import('./components/admin/Integrations'));
59+
const IntegrationSettings = React.lazy(() => import('./components/admin/Integrations/IntegrationSettings'));
6160
const TeamsNotification = React.lazy(() => import('./components/admin/notifications/MsTeams/Teams'));
6261

6362
// Shared layout, etc.
@@ -213,6 +212,7 @@ class App extends React.Component {
213212
<PrivateRoute path="/admin/users" component={Users} />
214213
<PrivateRoute path="/admin/consumers" component={AdminConsumers} />
215214
<PrivateRoute path="/admin/controlsAndRegulations" component={Regulations} />
215+
<PrivateRoute path="/admin/integrations/:integrationName" component={IntegrationSettings} />
216216
<PrivateRoute path="/admin/integrations" component={Integrations} />
217217
<PrivateRoute
218218
path="/:applicationId/dataflowinstances/dataflowInstanceDetails/:dataflowId?/:executionGroupId?"

Diff for: client-reactjs/src/components/admin/Integrations/IntegrationForms/ASRForm.js

-137
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Package Imports
2+
import React from 'react';
3+
import { Result, Button } from 'antd';
4+
import { useHistory } from 'react-router-dom';
5+
6+
// Local Imports
7+
import './integrations.css';
8+
9+
function IntegrationNotFound() {
10+
const history = useHistory();
11+
12+
// Handle Go to Integration
13+
const handleGoToIntegration = () => {
14+
history.push('/admin/integrations');
15+
};
16+
17+
return (
18+
<div className="integrationSettings__unavailable">
19+
<Result
20+
status="500"
21+
title="Oops !!"
22+
subTitle="Integration settings not available."
23+
extra={
24+
<Button type="primary" onClick={handleGoToIntegration}>
25+
Go to Integrations
26+
</Button>
27+
}
28+
/>
29+
</div>
30+
);
31+
}
32+
33+
export default IntegrationNotFound;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
// Package imports
2+
import React from 'react';
3+
import { useParams } from 'react-router-dom';
4+
import { useSelector } from 'react-redux';
5+
6+
// Local imports
7+
import IntegrationNotFound from './IntegrationNotFound';
8+
9+
function IntegrationSettings() {
10+
// Redux
11+
const {
12+
applicationReducer: {
13+
integrations,
14+
application: { applicationId },
15+
},
16+
} = useSelector((state) => state);
17+
18+
// Integration name from URL
19+
let { integrationName } = useParams();
20+
21+
// The integration name from url be present in the integrations list in redux store
22+
const valid = integrations.some((i) => i.name === integrationName && i.application_id === applicationId);
23+
24+
// If the integration name is not valid, show the IntegrationNotFound component
25+
if (!valid) {
26+
return <IntegrationNotFound />;
27+
} else {
28+
// Try importing the integration component with the name - integrationName
29+
// If error occurs, show the IntegrationNotFound component
30+
try {
31+
// pass relation id as props
32+
const relation_id = integrations.find(
33+
(i) => i.name === integrationName && i.application_id === applicationId
34+
).integration_to_app_mapping_id;
35+
36+
const IntegrationComponent = require(`./${integrationName.toLowerCase()}`).default;
37+
38+
return <IntegrationComponent integration_to_app_mapping_id={relation_id} />;
39+
} catch (error) {
40+
return <IntegrationNotFound />;
41+
}
42+
}
43+
}
44+
45+
export default IntegrationSettings;

0 commit comments

Comments
 (0)