1 line
73 KiB
JSON
1 line
73 KiB
JSON
{"ast":null,"code":"var _jsxFileName = \"/home/gnx/Desktop/ETB/ETB-FrontEnd/src/components/SLA/SLAManager.tsx\",\n _s = $RefreshSig$();\nimport React, { useState } from 'react';\nimport { Grid, Paper, Typography, Box, Button, Chip, TextField, FormControl, InputLabel, Select, MenuItem, Card, CardContent, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, Dialog, DialogTitle, DialogContent, DialogActions, LinearProgress, IconButton } from '@mui/material';\nimport { Add, Edit, Delete, Warning, CheckCircle, Error } from '@mui/icons-material';\n\n// Type definitions\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n// SLA Definitions\nconst defaultSLAs = [{\n id: 1,\n name: 'Critical Infrastructure',\n category: 'Infrastructure',\n priority: 'Critical',\n responseTime: 15,\n // minutes\n resolutionTime: 120,\n // minutes\n escalationLevels: [{\n level: 1,\n time: 15,\n action: 'Auto-assign to on-call engineer'\n }, {\n level: 2,\n time: 30,\n action: 'Notify team lead'\n }, {\n level: 3,\n time: 60,\n action: 'Escalate to manager'\n }, {\n level: 4,\n time: 120,\n action: 'Notify C-level executives'\n }],\n status: 'active',\n compliance: 95.2\n}, {\n id: 2,\n name: 'High Priority Applications',\n category: 'Application',\n priority: 'High',\n responseTime: 60,\n resolutionTime: 480,\n escalationLevels: [{\n level: 1,\n time: 60,\n action: 'Assign to application team'\n }, {\n level: 2,\n time: 120,\n action: 'Notify application manager'\n }, {\n level: 3,\n time: 240,\n action: 'Escalate to IT director'\n }],\n status: 'active',\n compliance: 88.7\n}, {\n id: 3,\n name: 'Standard User Issues',\n category: 'User Support',\n priority: 'Medium',\n responseTime: 240,\n resolutionTime: 1440,\n escalationLevels: [{\n level: 1,\n time: 240,\n action: 'Assign to help desk'\n }, {\n level: 2,\n time: 480,\n action: 'Notify help desk supervisor'\n }, {\n level: 3,\n time: 1440,\n action: 'Escalate to IT manager'\n }],\n status: 'active',\n compliance: 92.1\n}, {\n id: 4,\n name: 'Low Priority Requests',\n category: 'General',\n priority: 'Low',\n responseTime: 1440,\n resolutionTime: 4320,\n escalationLevels: [{\n level: 1,\n time: 1440,\n action: 'Assign to available technician'\n }, {\n level: 2,\n time: 2880,\n action: 'Notify team lead'\n }],\n status: 'active',\n compliance: 98.5\n}];\nconst categories = ['Infrastructure', 'Application', 'Network', 'Security', 'User Support', 'General'];\nconst priorities = ['Critical', 'High', 'Medium', 'Low'];\nconst SLAManager = () => {\n _s();\n const [slas, setSlas] = useState(defaultSLAs);\n const [selectedSLA, setSelectedSLA] = useState(null);\n const [slaDialogOpen, setSlaDialogOpen] = useState(false);\n const [newSLA, setNewSLA] = useState({\n name: '',\n category: '',\n priority: '',\n responseTime: 60,\n resolutionTime: 480,\n escalationLevels: [],\n status: 'active'\n });\n const getComplianceColor = compliance => {\n if (compliance >= 95) return 'success';\n if (compliance >= 85) return 'warning';\n return 'error';\n };\n const getComplianceIcon = compliance => {\n if (compliance >= 95) return /*#__PURE__*/_jsxDEV(CheckCircle, {\n color: \"success\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 155,\n columnNumber: 34\n }, this);\n if (compliance >= 85) return /*#__PURE__*/_jsxDEV(Warning, {\n color: \"warning\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 156,\n columnNumber: 34\n }, this);\n return /*#__PURE__*/_jsxDEV(Error, {\n color: \"error\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 157,\n columnNumber: 12\n }, this);\n };\n const handleCreateSLA = () => {\n setSelectedSLA(null);\n setNewSLA({\n name: '',\n category: '',\n priority: '',\n responseTime: 60,\n resolutionTime: 480,\n escalationLevels: [],\n status: 'active'\n });\n setSlaDialogOpen(true);\n };\n const handleEditSLA = sla => {\n setSelectedSLA(sla);\n setNewSLA(sla);\n setSlaDialogOpen(true);\n };\n const handleDeleteSLA = slaId => {\n if (window.confirm('Are you sure you want to delete this SLA?')) {\n setSlas(slas.filter(s => s.id !== slaId));\n }\n };\n const handleSaveSLA = () => {\n if (selectedSLA) {\n setSlas(slas.map(s => s.id === selectedSLA.id ? {\n ...newSLA,\n id: selectedSLA.id,\n compliance: selectedSLA.compliance\n } : s));\n } else {\n const newId = Math.max(...slas.map(s => s.id)) + 1;\n setSlas([...slas, {\n ...newSLA,\n id: newId,\n compliance: 100\n }]);\n }\n setSlaDialogOpen(false);\n };\n const addEscalationLevel = () => {\n const newLevel = {\n level: newSLA.escalationLevels.length + 1,\n time: 60,\n action: ''\n };\n setNewSLA(prev => ({\n ...prev,\n escalationLevels: [...prev.escalationLevels, newLevel]\n }));\n };\n const updateEscalationLevel = (index, field, value) => {\n const updatedLevels = [...newSLA.escalationLevels];\n updatedLevels[index] = {\n ...updatedLevels[index],\n [field]: value\n };\n setNewSLA(prev => ({\n ...prev,\n escalationLevels: updatedLevels\n }));\n };\n const removeEscalationLevel = index => {\n const updatedLevels = newSLA.escalationLevels.filter((_, i) => i !== index);\n setNewSLA(prev => ({\n ...prev,\n escalationLevels: updatedLevels\n }));\n };\n const formatTime = minutes => {\n if (minutes < 60) return `${minutes}m`;\n if (minutes < 1440) return `${Math.floor(minutes / 60)}h`;\n return `${Math.floor(minutes / 1440)}d`;\n };\n return /*#__PURE__*/_jsxDEV(Box, {\n children: [/*#__PURE__*/_jsxDEV(Box, {\n sx: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n mb: 3\n },\n children: [/*#__PURE__*/_jsxDEV(Typography, {\n variant: \"h4\",\n gutterBottom: true,\n children: \"SLA Management\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 228,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(Button, {\n variant: \"contained\",\n startIcon: /*#__PURE__*/_jsxDEV(Add, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 233,\n columnNumber: 22\n }, this),\n onClick: handleCreateSLA,\n children: \"Create SLA\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 231,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 227,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Grid, {\n container: true,\n spacing: 3,\n sx: {\n mb: 3\n },\n children: slas.map(sla => /*#__PURE__*/_jsxDEV(Grid, {\n item: true,\n xs: 12,\n md: 6,\n lg: 3,\n children: /*#__PURE__*/_jsxDEV(Card, {\n children: /*#__PURE__*/_jsxDEV(CardContent, {\n children: [/*#__PURE__*/_jsxDEV(Box, {\n sx: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n mb: 2\n },\n children: [/*#__PURE__*/_jsxDEV(Typography, {\n variant: \"h6\",\n children: sla.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 247,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(IconButton, {\n size: \"small\",\n onClick: () => handleEditSLA(sla),\n children: /*#__PURE__*/_jsxDEV(Edit, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 249,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 248,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 246,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n mb: 2\n },\n children: [/*#__PURE__*/_jsxDEV(Chip, {\n label: sla.category,\n size: \"small\",\n sx: {\n mr: 1\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 253,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(Chip, {\n label: sla.priority,\n size: \"small\",\n color: sla.priority === 'Critical' ? 'error' : sla.priority === 'High' ? 'warning' : 'default'\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 254,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 252,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n mb: 2\n },\n children: [/*#__PURE__*/_jsxDEV(Typography, {\n variant: \"body2\",\n color: \"text.secondary\",\n children: [\"Response: \", formatTime(sla.responseTime)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 262,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"body2\",\n color: \"text.secondary\",\n children: [\"Resolution: \", formatTime(sla.resolutionTime)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 265,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 261,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n display: 'flex',\n alignItems: 'center',\n mb: 1\n },\n children: [getComplianceIcon(sla.compliance), /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"body2\",\n sx: {\n ml: 1\n },\n children: [\"Compliance: \", sla.compliance, \"%\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 271,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 269,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(LinearProgress, {\n variant: \"determinate\",\n value: sla.compliance,\n color: getComplianceColor(sla.compliance),\n sx: {\n height: 8,\n borderRadius: 4\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 275,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 245,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 244,\n columnNumber: 13\n }, this)\n }, sla.id, false, {\n fileName: _jsxFileName,\n lineNumber: 243,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 241,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Paper, {\n sx: {\n p: 2\n },\n children: [/*#__PURE__*/_jsxDEV(Typography, {\n variant: \"h6\",\n gutterBottom: true,\n children: \"SLA Definitions\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 289,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(TableContainer, {\n children: /*#__PURE__*/_jsxDEV(Table, {\n children: [/*#__PURE__*/_jsxDEV(TableHead, {\n children: /*#__PURE__*/_jsxDEV(TableRow, {\n children: [/*#__PURE__*/_jsxDEV(TableCell, {\n children: \"SLA Name\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 296,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n children: \"Category\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 297,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n children: \"Priority\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 298,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n children: \"Response Time\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 299,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n children: \"Resolution Time\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 300,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n children: \"Compliance\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 301,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n children: \"Status\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 302,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n children: \"Actions\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 303,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 295,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 294,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(TableBody, {\n children: slas.map(sla => /*#__PURE__*/_jsxDEV(TableRow, {\n children: [/*#__PURE__*/_jsxDEV(TableCell, {\n children: sla.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 309,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n children: sla.category\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 310,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n children: /*#__PURE__*/_jsxDEV(Chip, {\n label: sla.priority,\n size: \"small\",\n color: sla.priority === 'Critical' ? 'error' : sla.priority === 'High' ? 'warning' : 'default'\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 312,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 311,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n children: formatTime(sla.responseTime)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 319,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n children: formatTime(sla.resolutionTime)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 320,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n children: /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n display: 'flex',\n alignItems: 'center'\n },\n children: [getComplianceIcon(sla.compliance), /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"body2\",\n sx: {\n ml: 1\n },\n children: [sla.compliance, \"%\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 324,\n columnNumber: 23\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 322,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 321,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n children: /*#__PURE__*/_jsxDEV(Chip, {\n label: sla.status,\n size: \"small\",\n color: sla.status === 'active' ? 'success' : 'default'\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 330,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 329,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n children: [/*#__PURE__*/_jsxDEV(IconButton, {\n size: \"small\",\n onClick: () => handleEditSLA(sla),\n children: /*#__PURE__*/_jsxDEV(Edit, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 338,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 337,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(IconButton, {\n size: \"small\",\n onClick: () => handleDeleteSLA(sla.id),\n children: /*#__PURE__*/_jsxDEV(Delete, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 341,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 340,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 336,\n columnNumber: 19\n }, this)]\n }, sla.id, true, {\n fileName: _jsxFileName,\n lineNumber: 308,\n columnNumber: 17\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 306,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 293,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 292,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 288,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Dialog, {\n open: slaDialogOpen,\n onClose: () => setSlaDialogOpen(false),\n maxWidth: \"md\",\n fullWidth: true,\n children: [/*#__PURE__*/_jsxDEV(DialogTitle, {\n children: selectedSLA ? 'Edit SLA' : 'Create New SLA'\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 353,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(DialogContent, {\n children: /*#__PURE__*/_jsxDEV(Grid, {\n container: true,\n spacing: 2,\n sx: {\n mt: 1\n },\n children: [/*#__PURE__*/_jsxDEV(Grid, {\n item: true,\n xs: 12,\n md: 6,\n children: /*#__PURE__*/_jsxDEV(TextField, {\n fullWidth: true,\n label: \"SLA Name\",\n value: newSLA.name,\n onChange: e => setNewSLA(prev => ({\n ...prev,\n name: e.target.value\n })),\n required: true\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 359,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 358,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Grid, {\n item: true,\n xs: 12,\n md: 6,\n children: /*#__PURE__*/_jsxDEV(FormControl, {\n fullWidth: true,\n required: true,\n children: [/*#__PURE__*/_jsxDEV(InputLabel, {\n children: \"Category\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 369,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(Select, {\n value: newSLA.category,\n label: \"Category\",\n onChange: e => setNewSLA(prev => ({\n ...prev,\n category: e.target.value\n })),\n children: categories.map(category => /*#__PURE__*/_jsxDEV(MenuItem, {\n value: category,\n children: category\n }, category, false, {\n fileName: _jsxFileName,\n lineNumber: 376,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 370,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 368,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 367,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Grid, {\n item: true,\n xs: 12,\n md: 6,\n children: /*#__PURE__*/_jsxDEV(FormControl, {\n fullWidth: true,\n required: true,\n children: [/*#__PURE__*/_jsxDEV(InputLabel, {\n children: \"Priority\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 385,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(Select, {\n value: newSLA.priority,\n label: \"Priority\",\n onChange: e => setNewSLA(prev => ({\n ...prev,\n priority: e.target.value\n })),\n children: priorities.map(priority => /*#__PURE__*/_jsxDEV(MenuItem, {\n value: priority,\n children: priority\n }, priority, false, {\n fileName: _jsxFileName,\n lineNumber: 392,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 386,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 384,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 383,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Grid, {\n item: true,\n xs: 12,\n md: 6,\n children: /*#__PURE__*/_jsxDEV(FormControl, {\n fullWidth: true,\n children: [/*#__PURE__*/_jsxDEV(InputLabel, {\n children: \"Status\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 401,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(Select, {\n value: newSLA.status,\n label: \"Status\",\n onChange: e => setNewSLA(prev => ({\n ...prev,\n status: e.target.value\n })),\n children: [/*#__PURE__*/_jsxDEV(MenuItem, {\n value: \"active\",\n children: \"Active\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 407,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(MenuItem, {\n value: \"inactive\",\n children: \"Inactive\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 408,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 402,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 400,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 399,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Grid, {\n item: true,\n xs: 12,\n md: 6,\n children: /*#__PURE__*/_jsxDEV(TextField, {\n fullWidth: true,\n label: \"Response Time (minutes)\",\n type: \"number\",\n value: newSLA.responseTime,\n onChange: e => setNewSLA(prev => ({\n ...prev,\n responseTime: parseInt(e.target.value)\n })),\n required: true\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 413,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 412,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Grid, {\n item: true,\n xs: 12,\n md: 6,\n children: /*#__PURE__*/_jsxDEV(TextField, {\n fullWidth: true,\n label: \"Resolution Time (minutes)\",\n type: \"number\",\n value: newSLA.resolutionTime,\n onChange: e => setNewSLA(prev => ({\n ...prev,\n resolutionTime: parseInt(e.target.value)\n })),\n required: true\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 423,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 422,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Grid, {\n item: true,\n xs: 12,\n children: [/*#__PURE__*/_jsxDEV(Typography, {\n variant: \"h6\",\n gutterBottom: true,\n children: \"Escalation Levels\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 433,\n columnNumber: 15\n }, this), newSLA.escalationLevels.map((level, index) => /*#__PURE__*/_jsxDEV(Card, {\n sx: {\n mb: 2,\n p: 2\n },\n children: /*#__PURE__*/_jsxDEV(Grid, {\n container: true,\n spacing: 2,\n alignItems: \"center\",\n children: [/*#__PURE__*/_jsxDEV(Grid, {\n item: true,\n xs: 2,\n children: /*#__PURE__*/_jsxDEV(TextField, {\n label: \"Level\",\n value: level.level,\n disabled: true,\n size: \"small\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 440,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 439,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(Grid, {\n item: true,\n xs: 3,\n children: /*#__PURE__*/_jsxDEV(TextField, {\n label: \"Time (minutes)\",\n type: \"number\",\n value: level.time,\n onChange: e => updateEscalationLevel(index, 'time', parseInt(e.target.value)),\n size: \"small\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 448,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 447,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(Grid, {\n item: true,\n xs: 6,\n children: /*#__PURE__*/_jsxDEV(TextField, {\n label: \"Action\",\n value: level.action,\n onChange: e => updateEscalationLevel(index, 'action', e.target.value),\n size: \"small\",\n fullWidth: true\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 457,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 456,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(Grid, {\n item: true,\n xs: 1,\n children: /*#__PURE__*/_jsxDEV(IconButton, {\n onClick: () => removeEscalationLevel(index),\n children: /*#__PURE__*/_jsxDEV(Delete, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 467,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 466,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 465,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 438,\n columnNumber: 19\n }, this)\n }, index, false, {\n fileName: _jsxFileName,\n lineNumber: 437,\n columnNumber: 17\n }, this)), /*#__PURE__*/_jsxDEV(Button, {\n variant: \"outlined\",\n startIcon: /*#__PURE__*/_jsxDEV(Add, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 475,\n columnNumber: 28\n }, this),\n onClick: addEscalationLevel,\n sx: {\n mt: 1\n },\n children: \"Add Escalation Level\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 473,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 432,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 357,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 356,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(DialogActions, {\n children: [/*#__PURE__*/_jsxDEV(Button, {\n onClick: () => setSlaDialogOpen(false),\n children: \"Cancel\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 485,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Button, {\n variant: \"contained\",\n onClick: handleSaveSLA,\n children: selectedSLA ? 'Update' : 'Create'\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 486,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 484,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 352,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 226,\n columnNumber: 5\n }, this);\n};\n_s(SLAManager, \"E9X7ZdPuuRwWsQUQqYVt0wWizvk=\");\n_c = SLAManager;\nexport default SLAManager;\nvar _c;\n$RefreshReg$(_c, \"SLAManager\");","map":{"version":3,"names":["React","useState","Grid","Paper","Typography","Box","Button","Chip","TextField","FormControl","InputLabel","Select","MenuItem","Card","CardContent","Table","TableBody","TableCell","TableContainer","TableHead","TableRow","Dialog","DialogTitle","DialogContent","DialogActions","LinearProgress","IconButton","Add","Edit","Delete","Warning","CheckCircle","Error","jsxDEV","_jsxDEV","defaultSLAs","id","name","category","priority","responseTime","resolutionTime","escalationLevels","level","time","action","status","compliance","categories","priorities","SLAManager","_s","slas","setSlas","selectedSLA","setSelectedSLA","slaDialogOpen","setSlaDialogOpen","newSLA","setNewSLA","getComplianceColor","getComplianceIcon","color","fileName","_jsxFileName","lineNumber","columnNumber","handleCreateSLA","handleEditSLA","sla","handleDeleteSLA","slaId","window","confirm","filter","s","handleSaveSLA","map","newId","Math","max","addEscalationLevel","newLevel","length","prev","updateEscalationLevel","index","field","value","updatedLevels","removeEscalationLevel","_","i","formatTime","minutes","floor","children","sx","display","justifyContent","alignItems","mb","variant","gutterBottom","startIcon","onClick","container","spacing","item","xs","md","lg","size","label","mr","ml","height","borderRadius","p","open","onClose","maxWidth","fullWidth","mt","onChange","e","target","required","type","parseInt","disabled","_c","$RefreshReg$"],"sources":["/home/gnx/Desktop/ETB/ETB-FrontEnd/src/components/SLA/SLAManager.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Grid,\n Paper,\n Typography,\n Box,\n Button,\n Chip,\n TextField,\n FormControl,\n InputLabel,\n Select,\n MenuItem,\n Card,\n CardContent,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n LinearProgress,\n IconButton,\n} from '@mui/material';\nimport {\n Add,\n Edit,\n Delete,\n Warning,\n CheckCircle,\n Error,\n} from '@mui/icons-material';\n\n// Type definitions\ninterface EscalationLevel {\n level: number;\n time: number;\n action: string;\n}\n\ninterface SLA {\n id: number;\n name: string;\n category: string;\n priority: string;\n responseTime: number;\n resolutionTime: number;\n escalationLevels: EscalationLevel[];\n status: string;\n compliance: number;\n}\n\ninterface NewSLA {\n name: string;\n category: string;\n priority: string;\n responseTime: number;\n resolutionTime: number;\n escalationLevels: EscalationLevel[];\n status: string;\n}\n\n// SLA Definitions\nconst defaultSLAs: SLA[] = [\n {\n id: 1,\n name: 'Critical Infrastructure',\n category: 'Infrastructure',\n priority: 'Critical',\n responseTime: 15, // minutes\n resolutionTime: 120, // minutes\n escalationLevels: [\n { level: 1, time: 15, action: 'Auto-assign to on-call engineer' },\n { level: 2, time: 30, action: 'Notify team lead' },\n { level: 3, time: 60, action: 'Escalate to manager' },\n { level: 4, time: 120, action: 'Notify C-level executives' }\n ],\n status: 'active',\n compliance: 95.2\n },\n {\n id: 2,\n name: 'High Priority Applications',\n category: 'Application',\n priority: 'High',\n responseTime: 60,\n resolutionTime: 480,\n escalationLevels: [\n { level: 1, time: 60, action: 'Assign to application team' },\n { level: 2, time: 120, action: 'Notify application manager' },\n { level: 3, time: 240, action: 'Escalate to IT director' }\n ],\n status: 'active',\n compliance: 88.7\n },\n {\n id: 3,\n name: 'Standard User Issues',\n category: 'User Support',\n priority: 'Medium',\n responseTime: 240,\n resolutionTime: 1440,\n escalationLevels: [\n { level: 1, time: 240, action: 'Assign to help desk' },\n { level: 2, time: 480, action: 'Notify help desk supervisor' },\n { level: 3, time: 1440, action: 'Escalate to IT manager' }\n ],\n status: 'active',\n compliance: 92.1\n },\n {\n id: 4,\n name: 'Low Priority Requests',\n category: 'General',\n priority: 'Low',\n responseTime: 1440,\n resolutionTime: 4320,\n escalationLevels: [\n { level: 1, time: 1440, action: 'Assign to available technician' },\n { level: 2, time: 2880, action: 'Notify team lead' }\n ],\n status: 'active',\n compliance: 98.5\n }\n];\n\nconst categories: string[] = ['Infrastructure', 'Application', 'Network', 'Security', 'User Support', 'General'];\nconst priorities: string[] = ['Critical', 'High', 'Medium', 'Low'];\n\nconst SLAManager: React.FC = () => {\n const [slas, setSlas] = useState<SLA[]>(defaultSLAs);\n const [selectedSLA, setSelectedSLA] = useState<SLA | null>(null);\n const [slaDialogOpen, setSlaDialogOpen] = useState<boolean>(false);\n const [newSLA, setNewSLA] = useState<NewSLA>({\n name: '',\n category: '',\n priority: '',\n responseTime: 60,\n resolutionTime: 480,\n escalationLevels: [],\n status: 'active'\n });\n\n const getComplianceColor = (compliance: number): 'success' | 'warning' | 'error' => {\n if (compliance >= 95) return 'success';\n if (compliance >= 85) return 'warning';\n return 'error';\n };\n\n const getComplianceIcon = (compliance: number): React.ReactElement => {\n if (compliance >= 95) return <CheckCircle color=\"success\" />;\n if (compliance >= 85) return <Warning color=\"warning\" />;\n return <Error color=\"error\" />;\n };\n\n const handleCreateSLA = (): void => {\n setSelectedSLA(null);\n setNewSLA({\n name: '',\n category: '',\n priority: '',\n responseTime: 60,\n resolutionTime: 480,\n escalationLevels: [],\n status: 'active'\n });\n setSlaDialogOpen(true);\n };\n\n const handleEditSLA = (sla: SLA): void => {\n setSelectedSLA(sla);\n setNewSLA(sla);\n setSlaDialogOpen(true);\n };\n\n const handleDeleteSLA = (slaId: number): void => {\n if (window.confirm('Are you sure you want to delete this SLA?')) {\n setSlas(slas.filter(s => s.id !== slaId));\n }\n };\n\n const handleSaveSLA = (): void => {\n if (selectedSLA) {\n setSlas(slas.map(s => s.id === selectedSLA.id ? { ...newSLA, id: selectedSLA.id, compliance: selectedSLA.compliance } : s));\n } else {\n const newId = Math.max(...slas.map(s => s.id)) + 1;\n setSlas([...slas, { ...newSLA, id: newId, compliance: 100 }]);\n }\n setSlaDialogOpen(false);\n };\n\n const addEscalationLevel = (): void => {\n const newLevel: EscalationLevel = {\n level: newSLA.escalationLevels.length + 1,\n time: 60,\n action: ''\n };\n setNewSLA(prev => ({\n ...prev,\n escalationLevels: [...prev.escalationLevels, newLevel]\n }));\n };\n\n const updateEscalationLevel = (index: number, field: keyof EscalationLevel, value: string | number): void => {\n const updatedLevels = [...newSLA.escalationLevels];\n updatedLevels[index] = { ...updatedLevels[index], [field]: value };\n setNewSLA(prev => ({ ...prev, escalationLevels: updatedLevels }));\n };\n\n const removeEscalationLevel = (index: number): void => {\n const updatedLevels = newSLA.escalationLevels.filter((_, i) => i !== index);\n setNewSLA(prev => ({ ...prev, escalationLevels: updatedLevels }));\n };\n\n const formatTime = (minutes: number): string => {\n if (minutes < 60) return `${minutes}m`;\n if (minutes < 1440) return `${Math.floor(minutes / 60)}h`;\n return `${Math.floor(minutes / 1440)}d`;\n };\n\n return (\n <Box>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', mb: 3 }}>\n <Typography variant=\"h4\" gutterBottom>\n SLA Management\n </Typography>\n <Button\n variant=\"contained\"\n startIcon={<Add />}\n onClick={handleCreateSLA}\n >\n Create SLA\n </Button>\n </Box>\n\n {/* SLA Overview Cards */}\n <Grid container spacing={3} sx={{ mb: 3 }}>\n {slas.map((sla) => (\n <Grid item xs={12} md={6} lg={3} key={sla.id}>\n <Card>\n <CardContent>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', mb: 2 }}>\n <Typography variant=\"h6\">{sla.name}</Typography>\n <IconButton size=\"small\" onClick={() => handleEditSLA(sla)}>\n <Edit />\n </IconButton>\n </Box>\n <Box sx={{ mb: 2 }}>\n <Chip label={sla.category} size=\"small\" sx={{ mr: 1 }} />\n <Chip \n label={sla.priority} \n size=\"small\" \n color={sla.priority === 'Critical' ? 'error' : \n sla.priority === 'High' ? 'warning' : 'default'}\n />\n </Box>\n <Box sx={{ mb: 2 }}>\n <Typography variant=\"body2\" color=\"text.secondary\">\n Response: {formatTime(sla.responseTime)}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n Resolution: {formatTime(sla.resolutionTime)}\n </Typography>\n </Box>\n <Box sx={{ display: 'flex', alignItems: 'center', mb: 1 }}>\n {getComplianceIcon(sla.compliance)}\n <Typography variant=\"body2\" sx={{ ml: 1 }}>\n Compliance: {sla.compliance}%\n </Typography>\n </Box>\n <LinearProgress\n variant=\"determinate\"\n value={sla.compliance}\n color={getComplianceColor(sla.compliance)}\n sx={{ height: 8, borderRadius: 4 }}\n />\n </CardContent>\n </Card>\n </Grid>\n ))}\n </Grid>\n\n {/* SLA Table */}\n <Paper sx={{ p: 2 }}>\n <Typography variant=\"h6\" gutterBottom>\n SLA Definitions\n </Typography>\n <TableContainer>\n <Table>\n <TableHead>\n <TableRow>\n <TableCell>SLA Name</TableCell>\n <TableCell>Category</TableCell>\n <TableCell>Priority</TableCell>\n <TableCell>Response Time</TableCell>\n <TableCell>Resolution Time</TableCell>\n <TableCell>Compliance</TableCell>\n <TableCell>Status</TableCell>\n <TableCell>Actions</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {slas.map((sla) => (\n <TableRow key={sla.id}>\n <TableCell>{sla.name}</TableCell>\n <TableCell>{sla.category}</TableCell>\n <TableCell>\n <Chip \n label={sla.priority} \n size=\"small\"\n color={sla.priority === 'Critical' ? 'error' : \n sla.priority === 'High' ? 'warning' : 'default'}\n />\n </TableCell>\n <TableCell>{formatTime(sla.responseTime)}</TableCell>\n <TableCell>{formatTime(sla.resolutionTime)}</TableCell>\n <TableCell>\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\n {getComplianceIcon(sla.compliance)}\n <Typography variant=\"body2\" sx={{ ml: 1 }}>\n {sla.compliance}%\n </Typography>\n </Box>\n </TableCell>\n <TableCell>\n <Chip \n label={sla.status} \n size=\"small\"\n color={sla.status === 'active' ? 'success' : 'default'}\n />\n </TableCell>\n <TableCell>\n <IconButton size=\"small\" onClick={() => handleEditSLA(sla)}>\n <Edit />\n </IconButton>\n <IconButton size=\"small\" onClick={() => handleDeleteSLA(sla.id)}>\n <Delete />\n </IconButton>\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n </Paper>\n\n {/* SLA Dialog */}\n <Dialog open={slaDialogOpen} onClose={() => setSlaDialogOpen(false)} maxWidth=\"md\" fullWidth>\n <DialogTitle>\n {selectedSLA ? 'Edit SLA' : 'Create New SLA'}\n </DialogTitle>\n <DialogContent>\n <Grid container spacing={2} sx={{ mt: 1 }}>\n <Grid item xs={12} md={6}>\n <TextField\n fullWidth\n label=\"SLA Name\"\n value={newSLA.name}\n onChange={(e) => setNewSLA(prev => ({ ...prev, name: e.target.value }))}\n required\n />\n </Grid>\n <Grid item xs={12} md={6}>\n <FormControl fullWidth required>\n <InputLabel>Category</InputLabel>\n <Select\n value={newSLA.category}\n label=\"Category\"\n onChange={(e) => setNewSLA(prev => ({ ...prev, category: e.target.value }))}\n >\n {categories.map((category) => (\n <MenuItem key={category} value={category}>\n {category}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Grid>\n <Grid item xs={12} md={6}>\n <FormControl fullWidth required>\n <InputLabel>Priority</InputLabel>\n <Select\n value={newSLA.priority}\n label=\"Priority\"\n onChange={(e) => setNewSLA(prev => ({ ...prev, priority: e.target.value }))}\n >\n {priorities.map((priority) => (\n <MenuItem key={priority} value={priority}>\n {priority}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Grid>\n <Grid item xs={12} md={6}>\n <FormControl fullWidth>\n <InputLabel>Status</InputLabel>\n <Select\n value={newSLA.status}\n label=\"Status\"\n onChange={(e) => setNewSLA(prev => ({ ...prev, status: e.target.value }))}\n >\n <MenuItem value=\"active\">Active</MenuItem>\n <MenuItem value=\"inactive\">Inactive</MenuItem>\n </Select>\n </FormControl>\n </Grid>\n <Grid item xs={12} md={6}>\n <TextField\n fullWidth\n label=\"Response Time (minutes)\"\n type=\"number\"\n value={newSLA.responseTime}\n onChange={(e) => setNewSLA(prev => ({ ...prev, responseTime: parseInt(e.target.value) }))}\n required\n />\n </Grid>\n <Grid item xs={12} md={6}>\n <TextField\n fullWidth\n label=\"Resolution Time (minutes)\"\n type=\"number\"\n value={newSLA.resolutionTime}\n onChange={(e) => setNewSLA(prev => ({ ...prev, resolutionTime: parseInt(e.target.value) }))}\n required\n />\n </Grid>\n <Grid item xs={12}>\n <Typography variant=\"h6\" gutterBottom>\n Escalation Levels\n </Typography>\n {newSLA.escalationLevels.map((level, index) => (\n <Card key={index} sx={{ mb: 2, p: 2 }}>\n <Grid container spacing={2} alignItems=\"center\">\n <Grid item xs={2}>\n <TextField\n label=\"Level\"\n value={level.level}\n disabled\n size=\"small\"\n />\n </Grid>\n <Grid item xs={3}>\n <TextField\n label=\"Time (minutes)\"\n type=\"number\"\n value={level.time}\n onChange={(e) => updateEscalationLevel(index, 'time', parseInt(e.target.value))}\n size=\"small\"\n />\n </Grid>\n <Grid item xs={6}>\n <TextField\n label=\"Action\"\n value={level.action}\n onChange={(e) => updateEscalationLevel(index, 'action', e.target.value)}\n size=\"small\"\n fullWidth\n />\n </Grid>\n <Grid item xs={1}>\n <IconButton onClick={() => removeEscalationLevel(index)}>\n <Delete />\n </IconButton>\n </Grid>\n </Grid>\n </Card>\n ))}\n <Button\n variant=\"outlined\"\n startIcon={<Add />}\n onClick={addEscalationLevel}\n sx={{ mt: 1 }}\n >\n Add Escalation Level\n </Button>\n </Grid>\n </Grid>\n </DialogContent>\n <DialogActions>\n <Button onClick={() => setSlaDialogOpen(false)}>Cancel</Button>\n <Button variant=\"contained\" onClick={handleSaveSLA}>\n {selectedSLA ? 'Update' : 'Create'}\n </Button>\n </DialogActions>\n </Dialog>\n </Box>\n );\n}\n\nexport default SLAManager;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |