xref: /openbmc/webui-vue/src/components/Composables/useDataFormatter.js (revision d3b05033fe82aed6c53f4f2b52c23d3bd285d423)
1/**
2 * Composable for data formatting utilities
3 * Extracted from DataFormatterMixin for use in Composition API
4 */
5
6export function useDataFormatter() {
7  const dataFormatter = (value) => {
8    if (value === undefined || value === null || value === '') {
9      return '--';
10    } else if (typeof value === 'number') {
11      return parseFloat(value.toFixed(3));
12    } else {
13      return value;
14    }
15  };
16
17  const statusIcon = (status) => {
18    switch (status) {
19      case 'OK':
20        return 'success';
21      case 'Warning':
22        return 'warning';
23      case 'Critical':
24        return 'danger';
25      default:
26        return '';
27    }
28  };
29
30  const dataFormatterArray = (value) => {
31    return value.join(', ');
32  };
33
34  return {
35    dataFormatter,
36    statusIcon,
37    dataFormatterArray,
38  };
39}
40