mirror of
https://github.com/optim-enterprises-bv/OptimCloud-gw-ui.git
synced 2025-11-03 03:37:45 +00:00
Filtering dev firmware in firmware list
This commit is contained in:
18
package-lock.json
generated
18
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "ucentral-client",
|
||||
"version": "2.0.10",
|
||||
"version": "2.0.11",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "ucentral-client",
|
||||
"version": "2.0.10",
|
||||
"version": "2.0.11",
|
||||
"dependencies": {
|
||||
"@coreui/coreui": "^3.4.0",
|
||||
"@coreui/icons": "^2.0.1",
|
||||
@@ -29,7 +29,7 @@
|
||||
"react-tooltip": "^4.2.21",
|
||||
"react-widgets": "^5.1.1",
|
||||
"sass": "^1.35.1",
|
||||
"ucentral-libs": "^0.8.50",
|
||||
"ucentral-libs": "^0.8.51",
|
||||
"uuid": "^8.3.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -14311,9 +14311,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ucentral-libs": {
|
||||
"version": "0.8.50",
|
||||
"resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.8.50.tgz",
|
||||
"integrity": "sha512-wxnZzC7WiWEXhmPNH0qF7euy+f2Xk2K5crfpQ6HI6YZV6brYwyA1qOti55IU9jBhfyjYK7sTgtgBhBGXE5+oLg==",
|
||||
"version": "0.8.51",
|
||||
"resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.8.51.tgz",
|
||||
"integrity": "sha512-gZHo07Mu1Wl5Gq8fRwRKQOCGVuUC5FA/QrOiLalMahyIhmocRW3rBnE/ieWtV9O3nW5hkBXEpFigiZxX/T9LmA==",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
@@ -26634,9 +26634,9 @@
|
||||
}
|
||||
},
|
||||
"ucentral-libs": {
|
||||
"version": "0.8.50",
|
||||
"resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.8.50.tgz",
|
||||
"integrity": "sha512-wxnZzC7WiWEXhmPNH0qF7euy+f2Xk2K5crfpQ6HI6YZV6brYwyA1qOti55IU9jBhfyjYK7sTgtgBhBGXE5+oLg==",
|
||||
"version": "0.8.51",
|
||||
"resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.8.51.tgz",
|
||||
"integrity": "sha512-gZHo07Mu1Wl5Gq8fRwRKQOCGVuUC5FA/QrOiLalMahyIhmocRW3rBnE/ieWtV9O3nW5hkBXEpFigiZxX/T9LmA==",
|
||||
"requires": {}
|
||||
},
|
||||
"unbox-primitive": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ucentral-client",
|
||||
"version": "2.0.10",
|
||||
"version": "2.0.11",
|
||||
"dependencies": {
|
||||
"@coreui/coreui": "^3.4.0",
|
||||
"@coreui/icons": "^2.0.1",
|
||||
@@ -23,7 +23,7 @@
|
||||
"react-tooltip": "^4.2.21",
|
||||
"react-widgets": "^5.1.1",
|
||||
"sass": "^1.35.1",
|
||||
"ucentral-libs": "^0.8.50",
|
||||
"ucentral-libs": "^0.8.51",
|
||||
"uuid": "^8.3.2"
|
||||
},
|
||||
"main": "index.js",
|
||||
|
||||
@@ -203,6 +203,7 @@
|
||||
"newer_firmware_available": "Neuere Versionen verfügbar",
|
||||
"reinstall_latest": "Neu installieren",
|
||||
"revision": "Revision",
|
||||
"show_dev": "Dev . anzeigen",
|
||||
"size": "Größe",
|
||||
"status": "Firmware-Status",
|
||||
"title": "Firmware",
|
||||
|
||||
@@ -203,6 +203,7 @@
|
||||
"newer_firmware_available": "Newer Revisions Available",
|
||||
"reinstall_latest": "Reinstall ",
|
||||
"revision": "Revision",
|
||||
"show_dev": "Show Dev",
|
||||
"size": "Size",
|
||||
"status": "Firmware Status",
|
||||
"title": "Firmware",
|
||||
|
||||
@@ -203,6 +203,7 @@
|
||||
"newer_firmware_available": "Nuevas revisiones disponibles",
|
||||
"reinstall_latest": "Reinstalar",
|
||||
"revision": "Revisión",
|
||||
"show_dev": "Mostrar desarrollador",
|
||||
"size": "Tamaño",
|
||||
"status": "Estado del firmware",
|
||||
"title": "Firmware",
|
||||
|
||||
@@ -203,6 +203,7 @@
|
||||
"newer_firmware_available": "Révisions plus récentes disponibles",
|
||||
"reinstall_latest": "Réinstaller",
|
||||
"revision": "Révision",
|
||||
"show_dev": "Afficher les développeurs",
|
||||
"size": "Taille",
|
||||
"status": "État du micrologiciel",
|
||||
"title": "Micrologiciel",
|
||||
|
||||
@@ -203,6 +203,7 @@
|
||||
"newer_firmware_available": "Novas revisões disponíveis",
|
||||
"reinstall_latest": "Reinstalar",
|
||||
"revision": "Revisão",
|
||||
"show_dev": "Mostrar Dev",
|
||||
"size": "Tamanho",
|
||||
"status": "Status do firmware",
|
||||
"title": "Firmware",
|
||||
|
||||
@@ -89,7 +89,7 @@ const TheLayout = () => {
|
||||
<PageContainer t={t} routes={routes} redirectTo="/devices" />
|
||||
</ToastProvider>
|
||||
</div>
|
||||
<Footer t={t} version="2.0.10" />
|
||||
<Footer t={t} version="2.0.11" />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -13,21 +13,41 @@ const FirmwareListPage = () => {
|
||||
const [selectedDeviceType, setSelectedDeviceType] = useState('');
|
||||
const [deviceTypes, setDeviceTypes] = useState([]);
|
||||
const [firmware, setFirmware] = useState([]);
|
||||
const [filteredFirmware, setFilteredFirmware] = useState([]);
|
||||
const [displayedFirmware, setDisplayedFirmware] = useState([]);
|
||||
const [displayDev, setDisplayDev] = useState(false);
|
||||
const [addNoteLoading, setAddNoteLoading] = useState(false);
|
||||
const [updateDescriptionLoading, setUpdateDescriptionLoading] = useState(false);
|
||||
const [loading, setLoading] = useState(false);
|
||||
|
||||
const displayFirmware = () => {
|
||||
const displayFirmware = (currentPage, perPage, firmwareToDisplay) => {
|
||||
setLoading(true);
|
||||
|
||||
const startIndex = page.selected * firmwarePerPage;
|
||||
const endIndex = parseInt(startIndex, 10) + parseInt(firmwarePerPage, 10);
|
||||
const startIndex = currentPage.selected * perPage;
|
||||
const endIndex = parseInt(startIndex, 10) + parseInt(perPage, 10);
|
||||
|
||||
setDisplayedFirmware(firmware.slice(startIndex, endIndex));
|
||||
setDisplayedFirmware(firmwareToDisplay.slice(startIndex, endIndex));
|
||||
setLoading(false);
|
||||
};
|
||||
|
||||
const filterFirmware = (newFirmware, displayDevDevices) => {
|
||||
let firmwareToDisplay = newFirmware;
|
||||
if (!displayDevDevices) {
|
||||
firmwareToDisplay = firmwareToDisplay.filter((i) => !i.revision.includes('devel'));
|
||||
}
|
||||
|
||||
const count = Math.ceil(firmwareToDisplay.length / firmwarePerPage);
|
||||
setPageCount(count);
|
||||
setPage({ selected: 0 });
|
||||
setFilteredFirmware(firmwareToDisplay);
|
||||
displayFirmware({ selected: 0 }, firmwarePerPage, firmwareToDisplay);
|
||||
};
|
||||
|
||||
const toggleDevDisplay = () => {
|
||||
setDisplayDev(!displayDev);
|
||||
filterFirmware(firmware, !displayDev);
|
||||
};
|
||||
|
||||
const getFirmware = (deviceType) => {
|
||||
setLoading(true);
|
||||
|
||||
@@ -51,6 +71,7 @@ const FirmwareListPage = () => {
|
||||
return firstDate > secondDate ? -1 : 0;
|
||||
});
|
||||
setFirmware(sortedFirmware);
|
||||
filterFirmware(sortedFirmware, displayDev);
|
||||
})
|
||||
.catch(() => {
|
||||
setLoading(false);
|
||||
@@ -93,7 +114,22 @@ const FirmwareListPage = () => {
|
||||
};
|
||||
|
||||
const updateFirmwarePerPage = (value) => {
|
||||
const count = Math.ceil(filteredFirmware.length / value);
|
||||
setPageCount(count);
|
||||
setPage({ selected: 0 });
|
||||
|
||||
setFirmwarePerPage(value);
|
||||
displayFirmware({ selected: 0 }, value, filteredFirmware);
|
||||
};
|
||||
|
||||
const updatePage = (value) => {
|
||||
setPage(value);
|
||||
displayFirmware(value, firmwarePerPage, filteredFirmware);
|
||||
};
|
||||
|
||||
const updateSelectedType = (value) => {
|
||||
setSelectedDeviceType(value);
|
||||
getFirmware(value);
|
||||
};
|
||||
|
||||
const addNote = (value, id) => {
|
||||
@@ -160,50 +196,29 @@ const FirmwareListPage = () => {
|
||||
});
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (firmware.length > 0) {
|
||||
displayFirmware();
|
||||
} else {
|
||||
setDisplayedFirmware([]);
|
||||
setLoading(false);
|
||||
}
|
||||
}, [firmware, firmwarePerPage, page]);
|
||||
|
||||
useEffect(() => {
|
||||
if (selectedDeviceType === '' && !loading) getDeviceTypes();
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
if (selectedDeviceType !== '') {
|
||||
getFirmware();
|
||||
}
|
||||
}, [selectedDeviceType]);
|
||||
|
||||
useEffect(() => {
|
||||
if (firmware !== []) {
|
||||
const count = Math.ceil(firmware.length / firmwarePerPage);
|
||||
setPageCount(count);
|
||||
setPage({ selected: 0 });
|
||||
}
|
||||
}, [firmwarePerPage, firmware]);
|
||||
|
||||
return (
|
||||
<FirmwareList
|
||||
t={t}
|
||||
loading={loading}
|
||||
page={page}
|
||||
pageCount={pageCount}
|
||||
setPage={setPage}
|
||||
setPage={updatePage}
|
||||
data={displayedFirmware}
|
||||
firmwarePerPage={firmwarePerPage}
|
||||
setFirmwarePerPage={updateFirmwarePerPage}
|
||||
selectedDeviceType={selectedDeviceType}
|
||||
deviceTypes={deviceTypes}
|
||||
setSelectedDeviceType={setSelectedDeviceType}
|
||||
setSelectedDeviceType={updateSelectedType}
|
||||
addNote={addNote}
|
||||
addNoteLoading={addNoteLoading}
|
||||
updateDescription={updateDescription}
|
||||
updateDescriptionLoading={updateDescriptionLoading}
|
||||
displayDev={displayDev}
|
||||
toggleDevDisplay={toggleDevDisplay}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user