diff --git a/package-lock.json b/package-lock.json
index 182495d..b9eb9d1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -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": {
diff --git a/package.json b/package.json
index 080dc6b..52634e7 100644
--- a/package.json
+++ b/package.json
@@ -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",
diff --git a/public/locales/de/translation.json b/public/locales/de/translation.json
index d49e621..f4d3095 100644
--- a/public/locales/de/translation.json
+++ b/public/locales/de/translation.json
@@ -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",
diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json
index 7fa0bdd..695b283 100644
--- a/public/locales/en/translation.json
+++ b/public/locales/en/translation.json
@@ -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",
diff --git a/public/locales/es/translation.json b/public/locales/es/translation.json
index 25c7a29..daca997 100644
--- a/public/locales/es/translation.json
+++ b/public/locales/es/translation.json
@@ -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",
diff --git a/public/locales/fr/translation.json b/public/locales/fr/translation.json
index e9d46cd..464367a 100644
--- a/public/locales/fr/translation.json
+++ b/public/locales/fr/translation.json
@@ -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",
diff --git a/public/locales/pt/translation.json b/public/locales/pt/translation.json
index ea47a91..900c9bd 100644
--- a/public/locales/pt/translation.json
+++ b/public/locales/pt/translation.json
@@ -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",
diff --git a/src/layout/index.js b/src/layout/index.js
index 095cfc9..b4ca430 100644
--- a/src/layout/index.js
+++ b/src/layout/index.js
@@ -89,7 +89,7 @@ const TheLayout = () => {
-
+
);
diff --git a/src/pages/FirmwareListPage/index.js b/src/pages/FirmwareListPage/index.js
index 3832cc0..0bb7990 100644
--- a/src/pages/FirmwareListPage/index.js
+++ b/src/pages/FirmwareListPage/index.js
@@ -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 (
);
};