>({
+ installationName: '',
name: '',
region: '',
location: '',
@@ -32,7 +33,14 @@ function installationForm(props: installationFormProps) {
vpnIp: '',
orderNumbers: ''
});
- const requiredFields = ['name', 'region', 'location', 'country', 'vpnIp'];
+ const requiredFields = [
+ 'installationName',
+ 'name',
+ 'region',
+ 'location',
+ 'country',
+ 'vpnIp'
+ ];
const tokencontext = useContext(TokenContext);
const { removeToken } = tokencontext;
@@ -105,6 +113,21 @@ function installationForm(props: installationFormProps) {
noValidate
autoComplete="off"
>
+
+
+ }
+ name="installationName"
+ value={formValues.installationName}
+ onChange={handleChange}
+ required
+ error={formValues.installationName === ''}
+ />
+
+
}
diff --git a/typescript/frontend-marios2/src/content/dashboards/Log/graph.util.tsx b/typescript/frontend-marios2/src/content/dashboards/Log/graph.util.tsx
index 7a6c15155..79237a1e5 100644
--- a/typescript/frontend-marios2/src/content/dashboards/Log/graph.util.tsx
+++ b/typescript/frontend-marios2/src/content/dashboards/Log/graph.util.tsx
@@ -174,7 +174,6 @@ const batteryPaths = [
'/Battery/Devices/%id%/Dc/Voltage',
'/Battery/Devices/%id%/Soc',
'/Battery/Devices/%id%/Temperatures/Cells/Average',
- //'/Log/SalimaxWarnings/Battery/%id%',
'/Battery/Devices/%id%/Warnings',
'/Battery/Devices/%id%/Alarms',
@@ -319,6 +318,8 @@ export const extractValues = (
): TopologyValues | null => {
const extractedValues: TopologyValues = {} as TopologyValues;
+ // console.log('timeSeriesData=', timeSeriesData);
+
for (const topologyKey of Object.keys(topologyPaths)) {
//Each topologykey may have more than one paths (for example inverter)
const paths = topologyPaths[topologyKey];
diff --git a/typescript/frontend-marios2/src/content/dashboards/SalidomoInstallations/FlatInstallationView.tsx b/typescript/frontend-marios2/src/content/dashboards/SalidomoInstallations/FlatInstallationView.tsx
index 1d0c4d7fe..6f218af27 100644
--- a/typescript/frontend-marios2/src/content/dashboards/SalidomoInstallations/FlatInstallationView.tsx
+++ b/typescript/frontend-marios2/src/content/dashboards/SalidomoInstallations/FlatInstallationView.tsx
@@ -100,11 +100,11 @@ const FlatInstallationView = (props: FlatInstallationViewProps) => {
{props.installations.map((installation) => {
const isInstallationSelected =
- installation.id === selectedInstallation;
+ installation.s3BucketId === selectedInstallation;
const status = getStatus(installation.id);
const rowStyles =
- isRowHovered === installation.id
+ isRowHovered === installation.s3BucketId
? {
cursor: 'pointer',
backgroundColor: theme.colors.primary.lighter
@@ -114,13 +114,15 @@ const FlatInstallationView = (props: FlatInstallationViewProps) => {
return (
- handleSelectOneInstallation(installation.id)
+ handleSelectOneInstallation(installation.s3BucketId)
+ }
+ onMouseEnter={() =>
+ handleRowMouseEnter(installation.s3BucketId)
}
- onMouseEnter={() => handleRowMouseEnter(installation.id)}
onMouseLeave={() => handleRowMouseLeave()}
>
@@ -132,7 +134,7 @@ const FlatInstallationView = (props: FlatInstallationViewProps) => {
noWrap
sx={{ marginTop: '10px', fontSize: 'small' }}
>
- {installation.name}
+ {installation.installationName}
diff --git a/typescript/frontend-marios2/src/content/dashboards/SalidomoInstallations/Installation.tsx b/typescript/frontend-marios2/src/content/dashboards/SalidomoInstallations/Installation.tsx
index 90025f2c7..781503724 100644
--- a/typescript/frontend-marios2/src/content/dashboards/SalidomoInstallations/Installation.tsx
+++ b/typescript/frontend-marios2/src/content/dashboards/SalidomoInstallations/Installation.tsx
@@ -10,7 +10,6 @@ import {
} from 'src/content/dashboards/Log/graph.util';
import { WebSocketContext } from 'src/contexts/WebSocketContextProvider';
import { FormattedMessage } from 'react-intl';
-import Overview from '../Overview/overview';
import { fetchData } from 'src/content/dashboards/Installations/fetchData';
import { Navigate, Route, Routes, useLocation } from 'react-router-dom';
import routes from '../../../Resources/routes.json';
@@ -41,11 +40,12 @@ function Installation(props: singleInstallationProps) {
s3Region: props.current_installation.s3Region,
s3Provider: props.current_installation.s3Provider,
s3Key: props.current_installation.s3Key,
- s3Secret: props.current_installation.s3Secret
+ s3Secret: props.current_installation.s3Secret,
+ s3BucketId: props.current_installation.s3BucketId
};
const s3Bucket =
- props.current_installation.id.toString() +
+ props.current_installation.s3BucketId.toString() +
'-' +
'c0436b6a-d276-4cd8-9c44-1eae86cf5d0e';
@@ -182,13 +182,10 @@ function Installation(props: singleInstallationProps) {
values={values}
s3Credentials={s3Credentials}
installationId={props.current_installation.id}
+ productNum={props.current_installation.product}
>
}
>
- }
- />
{
return (
diff --git a/typescript/frontend-marios2/src/content/dashboards/SalidomoInstallations/SalidomoInstallationForm.tsx b/typescript/frontend-marios2/src/content/dashboards/SalidomoInstallations/SalidomoInstallationForm.tsx
index b308af2a1..254ebf80a 100644
--- a/typescript/frontend-marios2/src/content/dashboards/SalidomoInstallations/SalidomoInstallationForm.tsx
+++ b/typescript/frontend-marios2/src/content/dashboards/SalidomoInstallations/SalidomoInstallationForm.tsx
@@ -23,14 +23,20 @@ function SalidomonstallationForm(props: SalidomoInstallationFormProps) {
const theme = useTheme();
const [open, setOpen] = useState(true);
const [formValues, setFormValues] = useState>({
- name: '',
+ installationName: '',
region: '',
location: '',
country: '',
vpnIp: '',
vrmLink: ''
});
- const requiredFields = ['name', 'location', 'country', 'vpnIp', 'vrmLink'];
+ const requiredFields = [
+ 'installationName',
+ 'location',
+ 'country',
+ 'vpnIp',
+ 'vrmLink'
+ ];
const installationContext = useContext(InstallationsContext);
const { createInstallation, loading, setLoading, error, setError } =
installationContext;
@@ -108,11 +114,11 @@ function SalidomonstallationForm(props: SalidomoInstallationFormProps) {
defaultMessage="Installation Name"
/>
}
- name="name"
- value={formValues.name}
+ name="installationName"
+ value={formValues.installationName}
onChange={handleChange}
required
- error={formValues.name === ''}
+ error={formValues.installationName === ''}
/>
diff --git a/typescript/frontend-marios2/src/content/dashboards/Tree/CustomTreeItem.tsx b/typescript/frontend-marios2/src/content/dashboards/Tree/CustomTreeItem.tsx
index 42df26c7e..7183e8f4d 100644
--- a/typescript/frontend-marios2/src/content/dashboards/Tree/CustomTreeItem.tsx
+++ b/typescript/frontend-marios2/src/content/dashboards/Tree/CustomTreeItem.tsx
@@ -52,7 +52,7 @@ function CustomTreeItem(props: CustomTreeItemProps) {
routes.installations +
routes.tree +
routes.installation +
- installation.id +
+ installation.s3BucketId +
'/' +
routes.live,
{
diff --git a/typescript/frontend-marios2/src/content/dashboards/Tree/InstallationTree.tsx b/typescript/frontend-marios2/src/content/dashboards/Tree/InstallationTree.tsx
index 650f5f842..afb84ab99 100644
--- a/typescript/frontend-marios2/src/content/dashboards/Tree/InstallationTree.tsx
+++ b/typescript/frontend-marios2/src/content/dashboards/Tree/InstallationTree.tsx
@@ -28,7 +28,11 @@ function InstallationTree() {
subnode != node &&
subnode.parentId == node.id && (
@@ -58,7 +62,11 @@ function InstallationTree() {
{foldersAndInstallations.map((node, index) => {
return (
@@ -72,11 +80,11 @@ function InstallationTree() {
if (installation.type == 'Installation') {
return (
diff --git a/typescript/frontend-marios2/src/interfaces/InstallationTypes.tsx b/typescript/frontend-marios2/src/interfaces/InstallationTypes.tsx
index 2c85c9b37..74b1836cd 100644
--- a/typescript/frontend-marios2/src/interfaces/InstallationTypes.tsx
+++ b/typescript/frontend-marios2/src/interfaces/InstallationTypes.tsx
@@ -25,5 +25,6 @@ export interface I_Folder {
information: string;
parentId: number;
type: string;
+ s3BucketId: number;
children?: (I_Installation | I_Folder)[];
}
diff --git a/typescript/frontend-marios2/src/interfaces/S3Types.tsx b/typescript/frontend-marios2/src/interfaces/S3Types.tsx
index e910f702a..7309b1cb5 100644
--- a/typescript/frontend-marios2/src/interfaces/S3Types.tsx
+++ b/typescript/frontend-marios2/src/interfaces/S3Types.tsx
@@ -3,7 +3,8 @@ export interface I_S3Credentials {
s3Provider: string;
s3Key: string;
s3Secret: string;
- s3Bucket?: string;
+ s3Bucket: string;
+ s3BucketId: number;
}
export interface ErrorMessage {