mirror of
				https://github.com/ClusterCockpit/cc-backend
				synced 2025-10-31 07:55:06 +01:00 
			
		
		
		
	Move common logic into systems view again
- adds backend log if subcluster for node not configured
This commit is contained in:
		| @@ -22,10 +22,10 @@ | ||||
|  | ||||
|     function tile(items, itemsPerRow) { | ||||
|         const rows = [] | ||||
|         for (let ri = 0; ri < items.length; ri += itemsPerRow) { | ||||
|         for (let ri = 0; ri < items?.length; ri += itemsPerRow) { | ||||
|             const row = [] | ||||
|             for (let ci = 0; ci < itemsPerRow; ci += 1) { | ||||
|                 if (ri + ci < items.length) | ||||
|                 if (ri + ci < items?.length) | ||||
|                     row.push(items[ri + ci]) | ||||
|                 else | ||||
|                     row.push({ _is_placeholder: true, ri, ci }) | ||||
|   | ||||
| @@ -227,7 +227,7 @@ | ||||
|  | ||||
|     function update(u) { | ||||
|       const { left, top } = u.cursor; | ||||
|       const width = u.over.querySelector(".u-legend").offsetWidth; | ||||
|       const width = u?.over?.querySelector(".u-legend")?.offsetWidth ? u.over.querySelector(".u-legend").offsetWidth : 0; | ||||
|       legendEl.style.transform = | ||||
|         "translate(" + (left - width - 15) + "px, " + (top + 15) + "px)"; | ||||
|     } | ||||
|   | ||||
| @@ -303,8 +303,19 @@ export function stickyHeader(datatableHeaderSelector, updatePading) { | ||||
|  | ||||
| export function checkMetricDisabled(m, c, s) { // [m]etric, [c]luster, [s]ubcluster | ||||
|     const metrics = getContext("globalMetrics"); | ||||
|     const result = metrics?.find((gm) => gm.name === m)?.availability?.find((av) => av.cluster === c)?.subClusters?.includes(s) | ||||
|     return !result | ||||
|     const available = metrics?.find((gm) => gm.name === m)?.availability?.find((av) => av.cluster === c)?.subClusters?.includes(s) | ||||
|     // Return inverse logic | ||||
|     return !available | ||||
| } | ||||
|  | ||||
| export function checkMetricsDisabled(ma, c, s) { // [m]etric[a]rray, [c]luster, [s]ubcluster | ||||
|     let result = {}; | ||||
|     const metrics = getContext("globalMetrics"); | ||||
|     ma.forEach((m) => { | ||||
|         // Return named inverse logic: !available | ||||
|         result[m] = !(metrics?.find((gm) => gm.name === m)?.availability?.find((av) => av.cluster === c)?.subClusters?.includes(s)) | ||||
|     }); | ||||
|     return result | ||||
| } | ||||
|  | ||||
| export function getStatsItems() { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user