diff --git a/.github/workflows/delploy.yml b/.github/workflows/_disabled_delploy.yml
similarity index 99%
rename from .github/workflows/delploy.yml
rename to .github/workflows/_disabled_delploy.yml
index 8c62adb8..5b557ebb 100644
--- a/.github/workflows/delploy.yml
+++ b/.github/workflows/_disabled_delploy.yml
@@ -1,4 +1,4 @@
-name: deploy
+name: Deploy
on:
workflow_dispatch:
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 00000000..58d91a37
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,75 @@
+name: Build artifacts
+
+on:
+ push:
+ branches:
+ - main
+ - develop
+ workflow_dispatch:
+
+env:
+ REGISTRY: ghcr.io
+ REPOSITORY_OWNER: wkspower
+ KEYCLOAK_URL: http://localhost:8082
+ WKS_API_URL: http://localhost:8081
+ WKS_STORAGE_API_URL: http://localhost:8085
+ WEBSOCKET_ENABLED: false
+ WEBSOCKET_URL: ws://localhost:8484
+ TOPIC_CASE_CREATE: case-create
+ TOPIC_CREATE_HUMAN_TASK: human-task-create
+ NOVU_ENABLED: false
+ NOVU_PUBLISHER_API_URL: http://localhost:3002
+
+jobs:
+ checkout-repo:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ id: checkout
+ uses: actions/checkout@v3
+
+ build-java:
+ runs-on: ubuntu-latest
+ needs: checkout-repo
+ permissions:
+ contents: read
+ packages: write
+ steps:
+ - name: Set up jdk 18
+ uses: actions/setup-java@v3
+ with:
+ java-version: "18"
+ distribution: "temurin"
+
+ - name: Set up maven
+ uses: stCarolas/setup-maven@v4.5
+ with:
+ maven-version: 3.8.2
+
+ - name: Build all for backend api
+ run: mvn -B package --file ./apps/java/pom.xml
+
+ build-react:
+ runs-on: ubuntu-latest
+ needs: checkout-repo
+ permissions:
+ contents: read
+ packages: write
+ steps:
+ - name: Install dependencies for case-portal
+ run: yarn --cwd ./apps/react/case-portal install
+
+ - name: Build for case-portal
+ env:
+ NODE_OPTIONS: "--max_old_space_size=4096"
+ run: |
+ export REACT_APP_KEYCLOAK_URL="${{ env.KEYCLOAK_URL }}"
+ export REACT_APP_API_URL="${{ env.WKS_API_URL }}"
+ export REACT_APP_STORAGE_URL="${{ env.WKS_STORAGE_API_URL }}"
+ export REACT_APP_WEBSOCKETS_ENABLED="${{ env.WEBSOCKET_ENABLED }}"
+ export REACT_APP_WEBSOCKETS_URL="${{ env.WEBSOCKET_URL }}"
+ export REACT_APP_WEBSOCKETS_CASE_CREATED="${{ env.TOPIC_CASE_CREATE }}"
+ export REACT_APP_WEBSOCKETS_HUMAN_TASK_CREATED="${{ env.TOPIC_CREATE_HUMAN_TASK }}"
+ export REACT_APP_NOVU_ENABLED="${{ env.NOVU_ENABLED }}"
+ export REACT_APP_NOVU_PUBLISHER_API_URL="${{ env.NOVU_PUBLISHER_API_URL }}"
+ yarn --cwd ./apps/react/case-portal build
diff --git a/.github/workflows/jarDeploy.yml b/.github/workflows/jarDeploy.yml
deleted file mode 100644
index 5daf4190..00000000
--- a/.github/workflows/jarDeploy.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created
-# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path
-
-name: jar deploy
-
-on:
- workflow_dispatch:
-
-jobs:
- build:
-
- runs-on: ubuntu-latest
- permissions:
- contents: read
- packages: write
-
- steps:
- - uses: actions/checkout@v3
- - name: Set up JDK 17
- uses: actions/setup-java@v3.9.0
- with:
- java-version: '17'
- distribution: 'temurin'
- server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
- settings-path: ${{ github.workspace }} # location for the settings.xml file
-
- - name: Build with Maven
- run: mvn -B package --file pom.xml
-
- - name: Publish to GitHub Packages Apache Maven
- run: mvn deploy -s $GITHUB_WORKSPACE/settings.xml
- env:
- GITHUB_TOKEN: ${{ github.token }}
diff --git a/.github/workflows/tags.yml b/.github/workflows/release.yml
similarity index 93%
rename from .github/workflows/tags.yml
rename to .github/workflows/release.yml
index 8b852fbd..bcf9187b 100644
--- a/.github/workflows/tags.yml
+++ b/.github/workflows/release.yml
@@ -1,4 +1,4 @@
-name: tags
+name: Release - Build and Publish Docker Images
on:
push:
@@ -20,7 +20,8 @@ env:
NOVU_PUBLISHER_API_URL: http://localhost:3002
jobs:
- build:
+
+ checkout:
runs-on: ubuntu-latest
permissions:
contents: read
@@ -29,10 +30,13 @@ jobs:
steps:
- uses: actions/checkout@v3
- - name: Extract tag name
- id: extract_tag
- run: echo "::set-output name=tag::$(echo ${GITHUB_REF#refs/tags/})"
+ build-java:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ packages: write
+ steps:
- name: Set up jdk 18
uses: actions/setup-java@v3
with:
@@ -44,16 +48,16 @@ jobs:
with:
maven-version: 3.8.2
- - name: Log in to the Container registry
- uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ github.actor }}
- password: ${{ secrets.GITHUB_TOKEN }}
-
- name: Build all for backend api
run: mvn -B package --file apps/java/pom.xml
+ build-react:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ packages: write
+
+ steps:
- name: Install dependencies for case-portal
run: yarn --cwd apps/react/case-portal install
@@ -72,6 +76,19 @@ jobs:
export REACT_APP_NOVU_PUBLISHER_API_URL="${{ env.NOVU_PUBLISHER_API_URL }}"
yarn --cwd apps/react/case-portal build
+ build-docker-images:
+ steps:
+ - name: Extract tag name
+ id: extract_tag
+ run: echo "::set-output name=tag::$(echo ${GITHUB_REF#refs/tags/})"
+
+ - name: Log in to the Container registry
+ uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
+ with:
+ registry: ${{ env.REGISTRY }}
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
@@ -132,15 +149,6 @@ jobs:
push: true
tags: "${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-portal:${{ steps.extract_tag.outputs.tag }}"
- - name: Build and push Docker image for case-portal
- uses: docker/build-push-action@v2
- with:
- context: ./apps/react/case-portal
- platforms: linux/amd64,linux/arm64
- file: apps/react/case-portal/deployments/Dockerfile
- push: true
- tags: "${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-portal:${{ steps.extract_tag.outputs.tag }}"
-
- name: Build and push Docker image for websocket-publisher
uses: docker/build-push-action@v2
with:
diff --git a/apps/react/case-portal/package.json b/apps/react/case-portal/package.json
index 56f19390..3492119e 100644
--- a/apps/react/case-portal/package.json
+++ b/apps/react/case-portal/package.json
@@ -40,12 +40,13 @@
"simplebar-react": "^3.2.4"
},
"scripts": {
- "start": "webpack serve --mode=development --port 3001",
- "build": "eslint --fix . && webpack --mode=production",
- "test": "jest",
- "lint": "eslint --fix .",
- "format": "prettier --write \"**/*.{js,jsx,json,css,scss,md}\"",
- "format:check": "prettier --check \"**/*.{js,jsx,json,css,scss,md}\""
+ "start": "echo 'Starting development server...' && webpack serve --mode=development --port 3001",
+ "build": "echo 'Running ESLint...' && eslint . && echo 'Checking code formatting...' && prettier --check \"**/*.{js,jsx,json,css,scss,md}\" && echo 'Building for production...' && webpack --mode=production",
+ "lint:fix": "echo 'Fixing linting issues...' && eslint --fix .",
+ "lint:check": "echo 'Checking for linting issues...' && eslint .",
+ "format:fix": "echo 'Fixing code formatting...' && prettier --write \"**/*.{js,jsx,json,css,scss,md}\"",
+ "format:check": "echo 'Checking code formatting...' && prettier --check \"**/*.{js,jsx,json,css,scss,md}\"",
+ "test": "echo 'Running tests...' && jest"
},
"babel": {
"presets": [
diff --git a/apps/react/case-portal/src/SessionStoreContext.js b/apps/react/case-portal/src/SessionStoreContext.js
index 67edbb63..868d778a 100644
--- a/apps/react/case-portal/src/SessionStoreContext.js
+++ b/apps/react/case-portal/src/SessionStoreContext.js
@@ -1,8 +1,8 @@
-import React, { useContext } from 'react';
+import React, { useContext } from 'react'
-const SessionStoreContext = React.createContext({});
-export const SessionStoreProvider = SessionStoreContext.Provider;
-export const SessionStoreConsumer = SessionStoreContext.Consumer;
+const SessionStoreContext = React.createContext({})
+export const SessionStoreProvider = SessionStoreContext.Provider
+export const SessionStoreConsumer = SessionStoreContext.Consumer
export function withStore(WrappedComponent) {
function WithStoreComponent(props) {
@@ -10,24 +10,24 @@ export function withStore(WrappedComponent) {
{(stores) => }
- );
+ )
}
- return WithStoreComponent;
+ return WithStoreComponent
}
export const useSession = () => {
- const attrs = useContext(SessionStoreContext);
- return attrs['keycloak'];
-};
+ const attrs = useContext(SessionStoreContext)
+ return attrs['keycloak']
+}
export const useMenu = () => {
- const attrs = useContext(SessionStoreContext);
- return attrs['menu'];
-};
+ const attrs = useContext(SessionStoreContext)
+ return attrs['menu']
+}
export const useBpmEngine = () => {
- const attrs = useContext(SessionStoreContext);
- return attrs['bpmEngine'];
-};
+ const attrs = useContext(SessionStoreContext)
+ return attrs['bpmEngine']
+}
-export default SessionStoreContext;
+export default SessionStoreContext
diff --git a/apps/react/case-portal/src/assets/images/auth/AuthBackground.js b/apps/react/case-portal/src/assets/images/auth/AuthBackground.js
index cd8d693c..52643aeb 100644
--- a/apps/react/case-portal/src/assets/images/auth/AuthBackground.js
+++ b/apps/react/case-portal/src/assets/images/auth/AuthBackground.js
@@ -1,11 +1,11 @@
// material-ui
-import { useTheme } from '@mui/material/styles';
-import { Box } from '@mui/material';
+import { useTheme } from '@mui/material/styles'
+import { Box } from '@mui/material'
// ==============================|| AUTH BLUR BACK SVG ||============================== //
const AuthBackground = () => {
- const theme = useTheme();
+ const theme = useTheme()
return (
{
/>
- );
-};
+ )
+}
-export default AuthBackground;
+export default AuthBackground
diff --git a/apps/react/case-portal/src/common/caseStatus.js b/apps/react/case-portal/src/common/caseStatus.js
index 2efd5aa2..d48b6ab9 100644
--- a/apps/react/case-portal/src/common/caseStatus.js
+++ b/apps/react/case-portal/src/common/caseStatus.js
@@ -2,4 +2,4 @@ export const CaseStatus = {
WipCaseStatus: Symbol('WIP_CASE_STATUS'),
ClosedCaseStatus: Symbol('CLOSED_CASE_STATUS'),
ArchivedCaseStatus: Symbol('ARCHIVED_CASE_STATUS'),
-};
+}
diff --git a/apps/react/case-portal/src/components/@extended/AnimateButton.js b/apps/react/case-portal/src/components/@extended/AnimateButton.js
index 481ef42c..c06beb5b 100644
--- a/apps/react/case-portal/src/components/@extended/AnimateButton.js
+++ b/apps/react/case-portal/src/components/@extended/AnimateButton.js
@@ -1,7 +1,7 @@
-import PropTypes from 'prop-types';
+import PropTypes from 'prop-types'
// third-party
-import { motion } from 'framer-motion';
+import { motion } from 'framer-motion'
// ==============================|| ANIMATION BUTTON ||============================== //
@@ -15,15 +15,15 @@ export default function AnimateButton({ children, type }) {
{children}
- );
+ )
}
}
AnimateButton.propTypes = {
children: PropTypes.node,
type: PropTypes.oneOf(['slide', 'scale', 'rotate']),
-};
+}
AnimateButton.defaultProps = {
type: 'scale',
-};
+}
diff --git a/apps/react/case-portal/src/components/@extended/Breadcrumbs.js b/apps/react/case-portal/src/components/@extended/Breadcrumbs.js
index e65c0384..34a259ac 100644
--- a/apps/react/case-portal/src/components/@extended/Breadcrumbs.js
+++ b/apps/react/case-portal/src/components/@extended/Breadcrumbs.js
@@ -1,52 +1,52 @@
-import PropTypes from 'prop-types';
-import { useEffect, useState } from 'react';
-import { Link, useLocation } from 'react-router-dom';
+import PropTypes from 'prop-types'
+import { useEffect, useState } from 'react'
+import { Link, useLocation } from 'react-router-dom'
// material-ui
-import MuiBreadcrumbs from '@mui/material/Breadcrumbs';
-import { Grid, Typography } from '@mui/material';
-import MainCard from '../MainCard';
+import MuiBreadcrumbs from '@mui/material/Breadcrumbs'
+import { Grid, Typography } from '@mui/material'
+import MainCard from '../MainCard'
const Breadcrumbs = ({ navigation, title, ...others }) => {
- const location = useLocation();
- const [main, setMain] = useState();
- const [item, setItem] = useState();
+ const location = useLocation()
+ const [main, setMain] = useState()
+ const [item, setItem] = useState()
// set active item state
const getCollapse = (menu) => {
if (menu.children) {
menu.children.filter((collapse) => {
if (collapse.type && collapse.type === 'collapse') {
- getCollapse(collapse);
+ getCollapse(collapse)
} else if (collapse.type && collapse.type === 'item') {
if (location.pathname === collapse.url) {
- setMain(menu);
- setItem(collapse);
+ setMain(menu)
+ setItem(collapse)
}
}
- return false;
- });
+ return false
+ })
}
- };
+ }
useEffect(() => {
navigation?.items?.map((menu) => {
if (menu.type && menu.type === 'group') {
- getCollapse(menu);
+ getCollapse(menu)
}
- return false;
- });
- });
+ return false
+ })
+ })
// only used for component demo breadcrumbs
if (location.pathname === '/breadcrumbs') {
- location.pathname = '/dashboard/analytics';
+ location.pathname = '/dashboard/analytics'
}
- let mainContent;
- let itemContent;
- let breadcrumbContent = ;
- let itemTitle = '';
+ let mainContent
+ let itemContent
+ let breadcrumbContent =
+ let itemTitle = ''
// collapse item
if (main && main.type === 'collapse') {
@@ -59,17 +59,17 @@ const Breadcrumbs = ({ navigation, title, ...others }) => {
>
{main.title}
- );
+ )
}
// items
if (item && item.type === 'item') {
- itemTitle = item.title;
+ itemTitle = item.title
itemContent = (
{itemTitle}
- );
+ )
// main
if (item.breadcrumbs !== false) {
@@ -109,16 +109,16 @@ const Breadcrumbs = ({ navigation, title, ...others }) => {
)}
- );
+ )
}
}
- return breadcrumbContent;
-};
+ return breadcrumbContent
+}
Breadcrumbs.propTypes = {
navigation: PropTypes.object,
title: PropTypes.bool,
-};
+}
-export default Breadcrumbs;
+export default Breadcrumbs
diff --git a/apps/react/case-portal/src/components/@extended/Dot.js b/apps/react/case-portal/src/components/@extended/Dot.js
index fe99236e..0fc32511 100644
--- a/apps/react/case-portal/src/components/@extended/Dot.js
+++ b/apps/react/case-portal/src/components/@extended/Dot.js
@@ -1,29 +1,29 @@
-import PropTypes from 'prop-types';
-import { useTheme } from '@mui/material/styles';
-import Box from '@mui/material/Box';
+import PropTypes from 'prop-types'
+import { useTheme } from '@mui/material/styles'
+import Box from '@mui/material/Box'
const Dot = ({ color, size }) => {
- const theme = useTheme();
- let main;
+ const theme = useTheme()
+ let main
switch (color) {
case 'secondary':
- main = theme.palette.secondary.main;
- break;
+ main = theme.palette.secondary.main
+ break
case 'error':
- main = theme.palette.error.main;
- break;
+ main = theme.palette.error.main
+ break
case 'warning':
- main = theme.palette.warning.main;
- break;
+ main = theme.palette.warning.main
+ break
case 'info':
- main = theme.palette.info.main;
- break;
+ main = theme.palette.info.main
+ break
case 'success':
- main = theme.palette.success.main;
- break;
+ main = theme.palette.success.main
+ break
case 'primary':
default:
- main = theme.palette.primary.main;
+ main = theme.palette.primary.main
}
return (
@@ -35,12 +35,12 @@ const Dot = ({ color, size }) => {
bgcolor: main,
}}
/>
- );
-};
+ )
+}
Dot.propTypes = {
color: PropTypes.string,
size: PropTypes.number,
-};
+}
-export default Dot;
+export default Dot
diff --git a/apps/react/case-portal/src/components/@extended/Transitions.js b/apps/react/case-portal/src/components/@extended/Transitions.js
index b7bb90ae..90adfeec 100644
--- a/apps/react/case-portal/src/components/@extended/Transitions.js
+++ b/apps/react/case-portal/src/components/@extended/Transitions.js
@@ -1,15 +1,15 @@
-import PropTypes from 'prop-types';
-import { forwardRef } from 'react';
-import Fade from '@mui/material/Fade';
-import Box from '@mui/material/Box';
-import Grow from '@mui/material/Grow';
+import PropTypes from 'prop-types'
+import { forwardRef } from 'react'
+import Fade from '@mui/material/Fade'
+import Box from '@mui/material/Box'
+import Grow from '@mui/material/Grow'
// ==============================|| TRANSITIONS ||============================== //
function CreateTransitions({ children, position, type, ...others }, ref) {
let positionSX = {
transformOrigin: '0 0 0',
- };
+ }
switch (position) {
case 'top-right':
@@ -21,8 +21,8 @@ function CreateTransitions({ children, position, type, ...others }, ref) {
default:
positionSX = {
transformOrigin: '0 0 0',
- };
- break;
+ }
+ break
}
return (
@@ -45,10 +45,10 @@ function CreateTransitions({ children, position, type, ...others }, ref) {
)}
- );
+ )
}
-const Transitions = forwardRef(CreateTransitions);
+const Transitions = forwardRef(CreateTransitions)
Transitions.propTypes = {
children: PropTypes.node,
@@ -61,11 +61,11 @@ Transitions.propTypes = {
'bottom-right',
'bottom',
]),
-};
+}
Transitions.defaultProps = {
type: 'grow',
position: 'top-left',
-};
+}
-export default Transitions;
+export default Transitions
diff --git a/apps/react/case-portal/src/components/Kanban/kanban.js b/apps/react/case-portal/src/components/Kanban/kanban.js
index 3859eac6..17bf727a 100644
--- a/apps/react/case-portal/src/components/Kanban/kanban.js
+++ b/apps/react/case-portal/src/components/Kanban/kanban.js
@@ -1,12 +1,12 @@
-import './kanban.css';
-import { extend, addClass } from '@syncfusion/ej2-base';
+import './kanban.css'
+import { extend, addClass } from '@syncfusion/ej2-base'
import {
KanbanComponent,
ColumnsDirective,
ColumnDirective,
-} from '@syncfusion/ej2-react-kanban';
-import { registerLicense } from '@syncfusion/ej2-base';
-import Link from '@mui/material/Link';
+} from '@syncfusion/ej2-react-kanban'
+import { registerLicense } from '@syncfusion/ej2-base'
+import Link from '@mui/material/Link'
export const Kanban = ({
stages,
@@ -18,13 +18,13 @@ export const Kanban = ({
}) => {
registerLicense(
'ORg4AjUWIQA/Gnt2VVhkQlFadVdJXGFWfVJpTGpQdk5xdV9DaVZUTWY/P1ZhSXxQdkdiX39adXNWRGZYVkw=',
- );
+ )
- let data = extend([], cases, null, true);
+ let data = extend([], cases, null, true)
function cardRendered(args) {
- let val = 'Low';
- addClass([args.element], val);
+ let val = 'Low'
+ addClass([args.element], val)
}
function columnTemplate(props) {
@@ -33,14 +33,14 @@ export const Kanban = ({
{props.headerText}
- );
+ )
}
function cardTemplate(props) {
// card css styling docs: https://ej2.syncfusion.com/angular/documentation/card/style
- let title = kanbanConfig?.title;
- let content = kanbanConfig?.content;
+ let title = kanbanConfig?.title
+ let content = kanbanConfig?.content
return (
@@ -54,9 +54,9 @@ export const Kanban = ({
setACase({
businessKey: props.businessKey,
caseDefinitionId: caseDefId,
- });
- e.stopPropagation();
- setOpenCaseForm(true);
+ })
+ e.stopPropagation()
+ setOpenCaseForm(true)
}}
>
{props.businessKey}
@@ -67,7 +67,7 @@ export const Kanban = ({
{title
?.map((attributeName) => {
return props.attributes.find((o) => o.name === attributeName)
- ?.value;
+ ?.value
})
.join(' ')}
@@ -78,7 +78,7 @@ export const Kanban = ({
{content
?.map((attributeName) => {
return props.attributes.find((o) => o.name === attributeName)
- ?.value;
+ ?.value
})
.join(' ')}
@@ -89,11 +89,11 @@ export const Kanban = ({
- );
+ )
}
function DialogOpen(args) {
- args.cancel = true;
+ args.cancel = true
}
return (
@@ -122,12 +122,12 @@ export const Kanban = ({
allowDrop={false}
template={columnTemplate.bind(this)}
/>
- );
+ )
})}
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/components/Loadable.js b/apps/react/case-portal/src/components/Loadable.js
index 49bda4ec..afb2ab80 100644
--- a/apps/react/case-portal/src/components/Loadable.js
+++ b/apps/react/case-portal/src/components/Loadable.js
@@ -1,5 +1,5 @@
-import { Suspense } from 'react';
-import Loader from './Loader';
+import { Suspense } from 'react'
+import Loader from './Loader'
function Loadable(Component) {
return function LoadableComponent(props) {
@@ -7,8 +7,8 @@ function Loadable(Component) {
}>
- );
- };
+ )
+ }
}
-export default Loadable;
+export default Loadable
diff --git a/apps/react/case-portal/src/components/Loader.js b/apps/react/case-portal/src/components/Loader.js
index 8ba0e577..45f2e275 100644
--- a/apps/react/case-portal/src/components/Loader.js
+++ b/apps/react/case-portal/src/components/Loader.js
@@ -1,6 +1,6 @@
// material-ui
-import { styled } from '@mui/material/styles';
-import LinearProgress from '@mui/material/LinearProgress';
+import { styled } from '@mui/material/styles'
+import LinearProgress from '@mui/material/LinearProgress'
// loader style
const LoaderWrapper = styled('div')(({ theme }) => ({
@@ -12,7 +12,7 @@ const LoaderWrapper = styled('div')(({ theme }) => ({
'& > * + *': {
marginTop: theme.spacing(2),
},
-}));
+}))
// ==============================|| Loader ||============================== //
@@ -20,6 +20,6 @@ const Loader = () => (
-);
+)
-export default Loader;
+export default Loader
diff --git a/apps/react/case-portal/src/components/Logo/Logo.js b/apps/react/case-portal/src/components/Logo/Logo.js
index c9c09b1d..11a8eeef 100644
--- a/apps/react/case-portal/src/components/Logo/Logo.js
+++ b/apps/react/case-portal/src/components/Logo/Logo.js
@@ -1,8 +1,8 @@
-import { useTheme } from '@mui/material/styles';
-import logo from 'assets/images/logo.svg';
+import { useTheme } from '@mui/material/styles'
+import logo from 'assets/images/logo.svg'
const Logo = () => {
- const theme = useTheme();
+ const theme = useTheme()
return (
<>
@@ -49,7 +49,7 @@ const Logo = () => {
>
- );
-};
+ )
+}
-export default Logo;
+export default Logo
diff --git a/apps/react/case-portal/src/components/Logo/index.js b/apps/react/case-portal/src/components/Logo/index.js
index 3ff9668d..55a5029f 100644
--- a/apps/react/case-portal/src/components/Logo/index.js
+++ b/apps/react/case-portal/src/components/Logo/index.js
@@ -1,8 +1,8 @@
-import PropTypes from 'prop-types';
-import { Link } from 'react-router-dom';
-import ButtonBase from '@mui/material/ButtonBase';
-import Logo from './Logo';
-import config from 'config';
+import PropTypes from 'prop-types'
+import { Link } from 'react-router-dom'
+import ButtonBase from '@mui/material/ButtonBase'
+import Logo from './Logo'
+import config from 'config'
// ==============================|| MAIN LOGO ||============================== //
@@ -15,11 +15,11 @@ const LogoSection = ({ sx, to }) => (
>
-);
+)
LogoSection.propTypes = {
sx: PropTypes.object,
to: PropTypes.string,
-};
+}
-export default LogoSection;
+export default LogoSection
diff --git a/apps/react/case-portal/src/components/MainCard.js b/apps/react/case-portal/src/components/MainCard.js
index 295dcf8e..bec599bc 100644
--- a/apps/react/case-portal/src/components/MainCard.js
+++ b/apps/react/case-portal/src/components/MainCard.js
@@ -1,18 +1,18 @@
-import PropTypes from 'prop-types';
-import { forwardRef } from 'react';
-import { useTheme } from '@mui/material/styles';
-import Card from '@mui/material/Card';
-import CardContent from '@mui/material/CardContent';
-import CardHeader from '@mui/material/CardHeader';
-import Divider from '@mui/material/Divider';
-import Typography from '@mui/material/Typography';
-import Highlighter from './third-party/Highlighter';
+import PropTypes from 'prop-types'
+import { forwardRef } from 'react'
+import { useTheme } from '@mui/material/styles'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Divider from '@mui/material/Divider'
+import Typography from '@mui/material/Typography'
+import Highlighter from './third-party/Highlighter'
// header style
const headerSX = {
p: 2.5,
'& .MuiCardHeader-action': { m: '0px auto', alignSelf: 'center' },
-};
+}
// ==============================|| CUSTOM - MAIN CARD ||============================== //
@@ -35,8 +35,8 @@ function CreateMainCard(
},
ref,
) {
- const theme = useTheme();
- boxShadow = theme.palette.mode === 'dark' ? boxShadow || true : boxShadow;
+ const theme = useTheme()
+ boxShadow = theme.palette.mode === 'dark' ? boxShadow || true : boxShadow
return (
)}
- );
+ )
}
-const MainCard = forwardRef(CreateMainCard);
+const MainCard = forwardRef(CreateMainCard)
MainCard.propTypes = {
border: PropTypes.bool,
@@ -119,6 +119,6 @@ MainCard.propTypes = {
codeHighlight: PropTypes.bool,
content: PropTypes.bool,
children: PropTypes.node,
-};
+}
-export default MainCard;
+export default MainCard
diff --git a/apps/react/case-portal/src/components/ScrollTop.js b/apps/react/case-portal/src/components/ScrollTop.js
index a1d89cbf..68c39207 100644
--- a/apps/react/case-portal/src/components/ScrollTop.js
+++ b/apps/react/case-portal/src/components/ScrollTop.js
@@ -1,24 +1,24 @@
-import PropTypes from 'prop-types';
-import { useEffect } from 'react';
-import { useLocation } from 'react-router-dom';
+import PropTypes from 'prop-types'
+import { useEffect } from 'react'
+import { useLocation } from 'react-router-dom'
const ScrollTop = ({ children }) => {
- const location = useLocation();
- const { pathname } = location;
+ const location = useLocation()
+ const { pathname } = location
useEffect(() => {
window.scrollTo({
top: 0,
left: 0,
behavior: 'smooth',
- });
- }, [pathname]);
+ })
+ }, [pathname])
- return children || null;
-};
+ return children || null
+}
ScrollTop.propTypes = {
children: PropTypes.node,
-};
+}
-export default ScrollTop;
+export default ScrollTop
diff --git a/apps/react/case-portal/src/components/cards/AuthFooter.js b/apps/react/case-portal/src/components/cards/AuthFooter.js
index 2de1602c..230c23b4 100644
--- a/apps/react/case-portal/src/components/cards/AuthFooter.js
+++ b/apps/react/case-portal/src/components/cards/AuthFooter.js
@@ -1,11 +1,11 @@
-import useMediaQuery from '@mui/material/useMediaQuery';
-import Container from '@mui/material/Container';
-import Link from '@mui/material/Link';
-import Typography from '@mui/material/Typography';
-import Stack from '@mui/material/Stack';
+import useMediaQuery from '@mui/material/useMediaQuery'
+import Container from '@mui/material/Container'
+import Link from '@mui/material/Link'
+import Typography from '@mui/material/Typography'
+import Stack from '@mui/material/Stack'
const AuthFooter = () => {
- const matchDownSM = useMediaQuery((theme) => theme.breakpoints.down('sm'));
+ const matchDownSM = useMediaQuery((theme) => theme.breakpoints.down('sm'))
return (
@@ -66,7 +66,7 @@ const AuthFooter = () => {
- );
-};
+ )
+}
-export default AuthFooter;
+export default AuthFooter
diff --git a/apps/react/case-portal/src/components/cards/DashboardCard.js b/apps/react/case-portal/src/components/cards/DashboardCard.js
index 532d80fa..40724199 100644
--- a/apps/react/case-portal/src/components/cards/DashboardCard.js
+++ b/apps/react/case-portal/src/components/cards/DashboardCard.js
@@ -1,10 +1,10 @@
-import { Link as RouterLink } from 'react-router-dom';
-import Box from '@mui/material/Box';
-import Grid from '@mui/material/Grid';
-import Link from '@mui/material/Link';
-import Stack from '@mui/material/Stack';
-import Typography from '@mui/material/Typography';
-import MainCard from 'components/MainCard';
+import { Link as RouterLink } from 'react-router-dom'
+import Box from '@mui/material/Box'
+import Grid from '@mui/material/Grid'
+import Link from '@mui/material/Link'
+import Stack from '@mui/material/Stack'
+import Typography from '@mui/material/Typography'
+import MainCard from 'components/MainCard'
// assets
@@ -26,6 +26,6 @@ const DashboardCard = ({ title, subtitle, to, icon }) => (
-);
+)
-export default DashboardCard;
+export default DashboardCard
diff --git a/apps/react/case-portal/src/components/cards/statistics/AnalyticEcommerce.js b/apps/react/case-portal/src/components/cards/statistics/AnalyticEcommerce.js
index ea24eaf9..00d50b1c 100644
--- a/apps/react/case-portal/src/components/cards/statistics/AnalyticEcommerce.js
+++ b/apps/react/case-portal/src/components/cards/statistics/AnalyticEcommerce.js
@@ -1,12 +1,12 @@
-import PropTypes from 'prop-types';
-import Box from '@mui/material/Box';
-import Chip from '@mui/material/Chip';
-import Grid from '@mui/material/Grid';
-import Stack from '@mui/material/Stack';
-import Typography from '@mui/material/Typography';
-import MainCard from 'components/MainCard';
-import RiseOutlined from '@ant-design/icons/RiseOutlined';
-import FallOutlined from '@ant-design/icons/FallOutlined';
+import PropTypes from 'prop-types'
+import Box from '@mui/material/Box'
+import Chip from '@mui/material/Chip'
+import Grid from '@mui/material/Grid'
+import Stack from '@mui/material/Stack'
+import Typography from '@mui/material/Typography'
+import MainCard from 'components/MainCard'
+import RiseOutlined from '@ant-design/icons/RiseOutlined'
+import FallOutlined from '@ant-design/icons/FallOutlined'
const AnalyticEcommerce = ({
color,
@@ -68,7 +68,7 @@ const AnalyticEcommerce = ({
-);
+)
AnalyticEcommerce.propTypes = {
color: PropTypes.string,
@@ -77,10 +77,10 @@ AnalyticEcommerce.propTypes = {
percentage: PropTypes.number,
isLoss: PropTypes.bool,
extra: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),
-};
+}
AnalyticEcommerce.defaultProps = {
color: 'primary',
-};
+}
-export default AnalyticEcommerce;
+export default AnalyticEcommerce
diff --git a/apps/react/case-portal/src/components/third-party/Highlighter.js b/apps/react/case-portal/src/components/third-party/Highlighter.js
index a2c878e4..4d14b8a5 100644
--- a/apps/react/case-portal/src/components/third-party/Highlighter.js
+++ b/apps/react/case-portal/src/components/third-party/Highlighter.js
@@ -1,18 +1,18 @@
-import PropTypes from 'prop-types';
-import { useState } from 'react';
-import Box from '@mui/material/Box';
-import CardActions from '@mui/material/CardActions';
-import Collapse from '@mui/material/Collapse';
-import Divider from '@mui/material/Divider';
-import IconButton from '@mui/material/IconButton';
-import Tooltip from '@mui/material/Tooltip';
-import SyntaxHighlight from 'utils/SyntaxHighlight';
-import CodeOutlined from '@ant-design/icons/CodeOutlined';
+import PropTypes from 'prop-types'
+import { useState } from 'react'
+import Box from '@mui/material/Box'
+import CardActions from '@mui/material/CardActions'
+import Collapse from '@mui/material/Collapse'
+import Divider from '@mui/material/Divider'
+import IconButton from '@mui/material/IconButton'
+import Tooltip from '@mui/material/Tooltip'
+import SyntaxHighlight from 'utils/SyntaxHighlight'
+import CodeOutlined from '@ant-design/icons/CodeOutlined'
// ==============================|| CLIPBOARD & HIGHLIGHTER ||============================== //
const Highlighter = () => {
- const [highlight, setHighlight] = useState(false);
+ const [highlight, setHighlight] = useState(false)
return (
@@ -57,11 +57,11 @@ const Highlighter = () => {
)}
- );
-};
+ )
+}
Highlighter.propTypes = {
children: PropTypes.node,
-};
+}
-export default Highlighter;
+export default Highlighter
diff --git a/apps/react/case-portal/src/components/third-party/SimpleBar.js b/apps/react/case-portal/src/components/third-party/SimpleBar.js
index 6b210254..7b814bd4 100644
--- a/apps/react/case-portal/src/components/third-party/SimpleBar.js
+++ b/apps/react/case-portal/src/components/third-party/SimpleBar.js
@@ -1,15 +1,15 @@
-import PropTypes from 'prop-types';
-import { alpha, styled } from '@mui/material/styles';
-import Box from '@mui/material/Box';
-import SimpleBar from 'simplebar-react';
-import { BrowserView, MobileView } from 'react-device-detect';
+import PropTypes from 'prop-types'
+import { alpha, styled } from '@mui/material/styles'
+import Box from '@mui/material/Box'
+import SimpleBar from 'simplebar-react'
+import { BrowserView, MobileView } from 'react-device-detect'
// root style
const RootStyle = styled(BrowserView)({
flexGrow: 1,
height: '100%',
overflow: 'hidden',
-});
+})
// scroll bar wrapper
const SimpleBarStyle = styled(SimpleBar)(({ theme }) => ({
@@ -31,7 +31,7 @@ const SimpleBarStyle = styled(SimpleBar)(({ theme }) => ({
'& .simplebar-mask': {
zIndex: 'inherit',
},
-}));
+}))
// ==============================|| SIMPLE SCROLL BAR ||============================== //
@@ -49,10 +49,10 @@ export default function SimpleBarScroll({ children, sx, ...other }) {
>
- );
+ )
}
SimpleBarScroll.propTypes = {
children: PropTypes.node,
sx: PropTypes.object,
-};
+}
diff --git a/apps/react/case-portal/src/config.js b/apps/react/case-portal/src/config.js
index e2db3ebe..c52fc7de 100644
--- a/apps/react/case-portal/src/config.js
+++ b/apps/react/case-portal/src/config.js
@@ -1,18 +1,18 @@
const config = {
basename: '/',
defaultPath: '/home',
- fontFamily: '\'Public Sans\', sans-serif',
+ fontFamily: "'Public Sans', sans-serif",
i18n: 'en',
miniDrawer: false,
container: true,
mode: 'light',
presetColor: 'default',
themeDirection: 'ltr',
-};
+}
-export default config;
-export const drawerWidth = 260;
+export default config
+export const drawerWidth = 260
-export const twitterColor = '#1DA1F2';
-export const facebookColor = '#3b5998';
-export const linkedInColor = '#0e76a8';
+export const twitterColor = '#1DA1F2'
+export const facebookColor = '#3b5998'
+export const linkedInColor = '#0e76a8'
diff --git a/apps/react/case-portal/src/consts/index.js b/apps/react/case-portal/src/consts/index.js
index d6277b1d..d8b48c30 100644
--- a/apps/react/case-portal/src/consts/index.js
+++ b/apps/react/case-portal/src/consts/index.js
@@ -14,23 +14,23 @@ const Config = {
process.env.REACT_APP_NOVU_ENABLED === 'true'
? await fetchNovuAppId()
: undefined,
-};
+}
async function fetchNovuAppId() {
try {
- const apiUrl = `${process.env.REACT_APP_NOVU_PUBLISHER_API_URL}/novu-app-id`;
+ const apiUrl = `${process.env.REACT_APP_NOVU_PUBLISHER_API_URL}/novu-app-id`
- const response = await fetch(apiUrl);
+ const response = await fetch(apiUrl)
if (!response.ok) {
- throw new Error(`Failed to fetch NovuAppId. Status: ${response.status}`);
+ throw new Error(`Failed to fetch NovuAppId. Status: ${response.status}`)
}
- const data = await response.json();
- return data.novuAppId;
+ const data = await response.json()
+ return data.novuAppId
} catch (error) {
- console.error('Error fetching NovuAppId:', error);
- return null;
+ console.error('Error fetching NovuAppId:', error)
+ return null
}
}
-export default Config;
+export default Config
diff --git a/apps/react/case-portal/src/i18n/en_us.js b/apps/react/case-portal/src/i18n/en_us.js
index 49bb6c73..4f02315d 100644
--- a/apps/react/case-portal/src/i18n/en_us.js
+++ b/apps/react/case-portal/src/i18n/en_us.js
@@ -157,6 +157,6 @@ const defs = {
},
},
},
-};
+}
-export default defs;
+export default defs
diff --git a/apps/react/case-portal/src/i18n/index.js b/apps/react/case-portal/src/i18n/index.js
index 48f3683a..727c1802 100644
--- a/apps/react/case-portal/src/i18n/index.js
+++ b/apps/react/case-portal/src/i18n/index.js
@@ -1,12 +1,12 @@
-import i18n from 'i18next';
-import ptBR from './pt_br';
-import enUS from './en_us';
+import i18n from 'i18next'
+import ptBR from './pt_br'
+import enUS from './en_us'
-var lang = 'en';
-var fallbackLng = 'en';
+var lang = 'en'
+var fallbackLng = 'en'
if (navigator.language === 'pt-BR') {
- lang = 'ptBR';
+ lang = 'ptBR'
}
i18n.init({
@@ -23,6 +23,6 @@ i18n.init({
interpolation: {
escapeValue: false,
},
-});
+})
-export default i18n;
+export default i18n
diff --git a/apps/react/case-portal/src/i18n/pt_br.js b/apps/react/case-portal/src/i18n/pt_br.js
index 3bd685a5..4442a591 100644
--- a/apps/react/case-portal/src/i18n/pt_br.js
+++ b/apps/react/case-portal/src/i18n/pt_br.js
@@ -157,6 +157,6 @@ const defs = {
},
},
},
-};
+}
-export default defs;
+export default defs
diff --git a/apps/react/case-portal/src/index.js b/apps/react/case-portal/src/index.js
index 3eea7cb1..f47b70bd 100644
--- a/apps/react/case-portal/src/index.js
+++ b/apps/react/case-portal/src/index.js
@@ -1,13 +1,13 @@
-import { BrowserRouter } from 'react-router-dom';
-import { createRoot } from 'react-dom/client';
-import { Provider } from 'react-redux';
-import { store } from './store';
-import App from './App';
-import i18n from './i18n';
-import { I18nextProvider } from 'react-i18next';
+import { BrowserRouter } from 'react-router-dom'
+import { createRoot } from 'react-dom/client'
+import { Provider } from 'react-redux'
+import { store } from './store'
+import App from './App'
+import i18n from './i18n'
+import { I18nextProvider } from 'react-i18next'
-const container = document.getElementById('root');
-const root = createRoot(container);
+const container = document.getElementById('root')
+const root = createRoot(container)
root.render(
@@ -16,4 +16,4 @@ root.render(
,
-);
+)
diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavCollapse.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavCollapse.js
index 398ab6c5..d3f5859e 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavCollapse.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavCollapse.js
@@ -1,42 +1,42 @@
-import PropTypes from 'prop-types';
-import { useState } from 'react';
-import Collapse from '@mui/material/Collapse';
-import List from '@mui/material/List';
-import ListItemButton from '@mui/material/ListItemButton';
-import ListItemIcon from '@mui/material/ListItemIcon';
-import ListItemText from '@mui/material/ListItemText';
-import Typography from '@mui/material/Typography';
-import { useTheme } from '@mui/material/styles';
-import NavItem from './NavItem';
-import FiberManualRecordIcon from '@mui/icons-material/FiberManualRecord';
-import { IconChevronDown, IconChevronUp } from '@tabler/icons-react';
+import PropTypes from 'prop-types'
+import { useState } from 'react'
+import Collapse from '@mui/material/Collapse'
+import List from '@mui/material/List'
+import ListItemButton from '@mui/material/ListItemButton'
+import ListItemIcon from '@mui/material/ListItemIcon'
+import ListItemText from '@mui/material/ListItemText'
+import Typography from '@mui/material/Typography'
+import { useTheme } from '@mui/material/styles'
+import NavItem from './NavItem'
+import FiberManualRecordIcon from '@mui/icons-material/FiberManualRecord'
+import { IconChevronDown, IconChevronUp } from '@tabler/icons-react'
const NavCollapse = ({ menu, level }) => {
- const theme = useTheme();
- const [open, setOpen] = useState(false);
- const [selected, setSelected] = useState(null);
+ const theme = useTheme()
+ const [open, setOpen] = useState(false)
+ const [selected, setSelected] = useState(null)
const handleClick = () => {
- setOpen(!open);
- setSelected(!selected ? menu.id : null);
- };
+ setOpen(!open)
+ setSelected(!selected ? menu.id : null)
+ }
const menus = menu.children?.map((item) => {
switch (item.type) {
case 'collapse':
- return ;
+ return
case 'item':
- return ;
+ return
default:
return (
Menu Items Error
- );
+ )
}
- });
+ })
- const Icon = menu.icon;
+ const Icon = menu.icon
const menuIcon = menu.icon ? (
{
}}
fontSize={level > 0 ? 'inherit' : 'medium'}
/>
- );
+ )
return (
<>
@@ -114,7 +114,7 @@ const NavCollapse = ({ menu, level }) => {
sx={{
position: 'relative',
'&:after': {
- content: '\'\'',
+ content: "''",
position: 'absolute',
left: '32px',
top: 0,
@@ -129,12 +129,12 @@ const NavCollapse = ({ menu, level }) => {
>
- );
-};
+ )
+}
NavCollapse.propTypes = {
menu: PropTypes.object,
level: PropTypes.number,
-};
+}
-export default NavCollapse;
+export default NavCollapse
diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavGroup.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavGroup.js
index 883c549e..3017ff9b 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavGroup.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavGroup.js
@@ -1,21 +1,21 @@
-import PropTypes from 'prop-types';
-import { useSelector } from 'react-redux';
-import Box from '@mui/material/Box';
-import List from '@mui/material/List';
-import Typography from '@mui/material/Typography';
-import NavItem from './NavItem';
-import NavCollapse from './NavCollapse';
+import PropTypes from 'prop-types'
+import { useSelector } from 'react-redux'
+import Box from '@mui/material/Box'
+import List from '@mui/material/List'
+import Typography from '@mui/material/Typography'
+import NavItem from './NavItem'
+import NavCollapse from './NavCollapse'
const NavGroup = ({ item }) => {
- const menu = useSelector((state) => state.menu);
- const { drawerOpen } = menu;
+ const menu = useSelector((state) => state.menu)
+ const { drawerOpen } = menu
const navCollapse = item.children?.map((menuItem) => {
switch (menuItem.type) {
case 'collapse':
- return ;
+ return
case 'item':
- return ;
+ return
default:
return (
{
>
Fix - Group Collapse or Items
- );
+ )
}
- });
+ })
return (
{
>
{navCollapse}
- );
-};
+ )
+}
NavGroup.propTypes = {
item: PropTypes.object,
-};
+}
-export default NavGroup;
+export default NavGroup
diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavItem.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavItem.js
index 564080e2..eb938eb2 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavItem.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavItem.js
@@ -1,65 +1,65 @@
-import Avatar from '@mui/material/Avatar';
-import Chip from '@mui/material/Chip';
-import ListItemButton from '@mui/material/ListItemButton';
-import ListItemIcon from '@mui/material/ListItemIcon';
-import ListItemText from '@mui/material/ListItemText';
-import Typography from '@mui/material/Typography';
-import { useTheme } from '@mui/material/styles';
-import PropTypes from 'prop-types';
-import { forwardRef, useEffect } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { Link } from 'react-router-dom';
-import { activeItem } from 'store/reducers/menu';
+import Avatar from '@mui/material/Avatar'
+import Chip from '@mui/material/Chip'
+import ListItemButton from '@mui/material/ListItemButton'
+import ListItemIcon from '@mui/material/ListItemIcon'
+import ListItemText from '@mui/material/ListItemText'
+import Typography from '@mui/material/Typography'
+import { useTheme } from '@mui/material/styles'
+import PropTypes from 'prop-types'
+import { forwardRef, useEffect } from 'react'
+import { useDispatch, useSelector } from 'react-redux'
+import { Link } from 'react-router-dom'
+import { activeItem } from 'store/reducers/menu'
const NavItem = ({ item, level }) => {
- const theme = useTheme();
- const dispatch = useDispatch();
- const menu = useSelector((state) => state.menu);
- const { drawerOpen, openItem } = menu;
+ const theme = useTheme()
+ const dispatch = useDispatch()
+ const menu = useSelector((state) => state.menu)
+ const { drawerOpen, openItem } = menu
- let itemTarget = '_self';
+ let itemTarget = '_self'
if (item.target) {
- itemTarget = '_blank';
+ itemTarget = '_blank'
}
function CustomLink(props, ref) {
- return ;
+ return
}
- const ForwardedCustomLink = forwardRef(CustomLink);
+ const ForwardedCustomLink = forwardRef(CustomLink)
let listItemProps = {
component: ForwardedCustomLink,
- };
+ }
if (item?.external) {
- listItemProps = { component: 'a', href: item.url, target: itemTarget };
+ listItemProps = { component: 'a', href: item.url, target: itemTarget }
}
const itemHandler = (id) => {
- dispatch(activeItem({ openItem: [id] }));
- };
+ dispatch(activeItem({ openItem: [id] }))
+ }
- const Icon = item.icon;
+ const Icon = item.icon
const itemIcon = item.icon ? (
) : (
false
- );
+ )
- const isSelected = openItem.findIndex((id) => id === item.id) > -1;
+ const isSelected = openItem.findIndex((id) => id === item.id) > -1
useEffect(() => {
const currentIndex = document.location.pathname
.toString()
.split('/')
- .findIndex((id) => id === item.id);
+ .findIndex((id) => id === item.id)
if (currentIndex > -1) {
- dispatch(activeItem({ openItem: [item.id] }));
+ dispatch(activeItem({ openItem: [item.id] }))
}
- }, []);
+ }, [])
- const textColor = 'text.primary';
- const iconSelectedColor = 'primary.main';
+ const textColor = 'text.primary'
+ const iconSelectedColor = 'primary.main'
return (
{
/>
)}
- );
-};
+ )
+}
NavItem.propTypes = {
item: PropTypes.object,
level: PropTypes.number,
-};
+}
-export default NavItem;
+export default NavItem
diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/index.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/index.js
index 3dd11e60..da6c4812 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/index.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/index.js
@@ -1,25 +1,25 @@
-import Box from '@mui/material/Box';
-import Typography from '@mui/material/Typography';
-import NavGroup from './NavGroup';
-import { useMenu } from 'SessionStoreContext';
+import Box from '@mui/material/Box'
+import Typography from '@mui/material/Typography'
+import NavGroup from './NavGroup'
+import { useMenu } from 'SessionStoreContext'
const Navigation = () => {
- const menu = useMenu();
+ const menu = useMenu()
const navGroups = menu.items.map((item) => {
switch (item.type) {
case 'group':
- return ;
+ return
default:
return (
Fix - Navigation Group
- );
+ )
}
- });
+ })
- return {navGroups};
-};
+ return {navGroups}
+}
-export default Navigation;
+export default Navigation
diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/index.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/index.js
index a69acfed..70bc3d0f 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/index.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/index.js
@@ -1,5 +1,5 @@
-import SimpleBar from 'components/third-party/SimpleBar';
-import Navigation from './Navigation';
+import SimpleBar from 'components/third-party/SimpleBar'
+import Navigation from './Navigation'
const DrawerContent = () => (
(
>
-);
+)
-export default DrawerContent;
+export default DrawerContent
diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerHeader/DrawerHeaderStyled.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerHeader/DrawerHeaderStyled.js
index 53689678..005593c4 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerHeader/DrawerHeaderStyled.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerHeader/DrawerHeaderStyled.js
@@ -1,5 +1,5 @@
-import { styled } from '@mui/material/styles';
-import Box from '@mui/material/Box';
+import { styled } from '@mui/material/styles'
+import Box from '@mui/material/Box'
const DrawerHeaderStyled = styled(Box, {
shouldForwardProp: (prop) => prop !== 'open',
@@ -9,6 +9,6 @@ const DrawerHeaderStyled = styled(Box, {
alignItems: 'center',
justifyContent: open ? 'flex-start' : 'center',
paddingLeft: theme.spacing(open ? 3 : 0),
-}));
+}))
-export default DrawerHeaderStyled;
+export default DrawerHeaderStyled
diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerHeader/index.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerHeader/index.js
index 6a2a02e9..ef4a042b 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerHeader/index.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerHeader/index.js
@@ -1,11 +1,11 @@
-import PropTypes from 'prop-types';
-import { useTheme } from '@mui/material/styles';
-import Stack from '@mui/material/Stack';
-import DrawerHeaderStyled from './DrawerHeaderStyled';
-import Logo from 'components/Logo';
+import PropTypes from 'prop-types'
+import { useTheme } from '@mui/material/styles'
+import Stack from '@mui/material/Stack'
+import DrawerHeaderStyled from './DrawerHeaderStyled'
+import Logo from 'components/Logo'
const DrawerHeader = ({ open }) => {
- const theme = useTheme();
+ const theme = useTheme()
return (
@@ -13,11 +13,11 @@ const DrawerHeader = ({ open }) => {
- );
-};
+ )
+}
DrawerHeader.propTypes = {
open: PropTypes.bool,
-};
+}
-export default DrawerHeader;
+export default DrawerHeader
diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/MiniDrawerStyled.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/MiniDrawerStyled.js
index da5dbbcb..c94480e3 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Drawer/MiniDrawerStyled.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/MiniDrawerStyled.js
@@ -1,7 +1,7 @@
// material-ui
-import { styled } from '@mui/material/styles';
-import Drawer from '@mui/material/Drawer';
-import { drawerWidth } from 'config';
+import { styled } from '@mui/material/styles'
+import Drawer from '@mui/material/Drawer'
+import { drawerWidth } from 'config'
const openedMixin = (theme) => ({
width: drawerWidth,
@@ -12,7 +12,7 @@ const openedMixin = (theme) => ({
}),
overflowX: 'hidden',
boxShadow: 'none',
-});
+})
const closedMixin = (theme) => ({
transition: theme.transitions.create('width', {
@@ -23,7 +23,7 @@ const closedMixin = (theme) => ({
width: 0,
borderRight: 'none',
boxShadow: theme.customShadows.z1,
-});
+})
const MiniDrawerStyled = styled(Drawer, {
shouldForwardProp: (prop) => prop !== 'open',
@@ -40,6 +40,6 @@ const MiniDrawerStyled = styled(Drawer, {
...closedMixin(theme),
'& .MuiDrawer-paper': closedMixin(theme),
}),
-}));
+}))
-export default MiniDrawerStyled;
+export default MiniDrawerStyled
diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/index.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/index.js
index ca878af7..3ac4cf86 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Drawer/index.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/index.js
@@ -1,21 +1,21 @@
-import PropTypes from 'prop-types';
-import { useMemo } from 'react';
-import { useTheme } from '@mui/material/styles';
-import Box from '@mui/material/Box';
-import Drawer from '@mui/material/Drawer';
-import useMediaQuery from '@mui/material/useMediaQuery';
-import DrawerHeader from './DrawerHeader';
-import DrawerContent from './DrawerContent';
-import MiniDrawerStyled from './MiniDrawerStyled';
-import { drawerWidth } from 'config';
+import PropTypes from 'prop-types'
+import { useMemo } from 'react'
+import { useTheme } from '@mui/material/styles'
+import Box from '@mui/material/Box'
+import Drawer from '@mui/material/Drawer'
+import useMediaQuery from '@mui/material/useMediaQuery'
+import DrawerHeader from './DrawerHeader'
+import DrawerContent from './DrawerContent'
+import MiniDrawerStyled from './MiniDrawerStyled'
+import { drawerWidth } from 'config'
const MainDrawer = ({ open, handleDrawerToggle, window }) => {
- const theme = useTheme();
- const matchDownMD = useMediaQuery(theme.breakpoints.down('lg'));
+ const theme = useTheme()
+ const matchDownMD = useMediaQuery(theme.breakpoints.down('lg'))
const container =
- window !== undefined ? () => window().document.body : undefined;
- const drawerContent = useMemo(() => , []);
- const drawerHeader = useMemo(() => , [open]);
+ window !== undefined ? () => window().document.body : undefined
+ const drawerContent = useMemo(() => , [])
+ const drawerHeader = useMemo(() => , [open])
return (
{
)}
- );
-};
+ )
+}
MainDrawer.propTypes = {
open: PropTypes.bool,
handleDrawerToggle: PropTypes.func,
window: PropTypes.object,
-};
+}
-export default MainDrawer;
+export default MainDrawer
diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/AppBarStyled.js b/apps/react/case-portal/src/layout/MainLayout/Header/AppBarStyled.js
index b75662cd..0f167566 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Header/AppBarStyled.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Header/AppBarStyled.js
@@ -1,9 +1,9 @@
// material-ui
-import { styled } from '@mui/material/styles';
-import AppBar from '@mui/material/AppBar';
+import { styled } from '@mui/material/styles'
+import AppBar from '@mui/material/AppBar'
// project import
-import { drawerWidth } from 'config';
+import { drawerWidth } from 'config'
// ==============================|| HEADER - APP BAR STYLED ||============================== //
@@ -23,6 +23,6 @@ const AppBarStyled = styled(AppBar, {
duration: theme.transitions.duration.enteringScreen,
}),
}),
-}));
+}))
-export default AppBarStyled;
+export default AppBarStyled
diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/MobileSection.js b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/MobileSection.js
index e245719b..6ed9ad2f 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/MobileSection.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/MobileSection.js
@@ -1,5 +1,5 @@
-import { useEffect, useRef, useState } from 'react';
-import { useTheme } from '@mui/material/styles';
+import { useEffect, useRef, useState } from 'react'
+import { useTheme } from '@mui/material/styles'
import {
AppBar,
Box,
@@ -8,38 +8,38 @@ import {
Paper,
Popper,
Toolbar,
-} from '@mui/material';
-import Search from './Search';
-import Profile from './Profile';
-import Transitions from 'components/@extended/Transitions';
-import MoreOutlined from '@ant-design/icons/MoreOutlined';
+} from '@mui/material'
+import Search from './Search'
+import Profile from './Profile'
+import Transitions from 'components/@extended/Transitions'
+import MoreOutlined from '@ant-design/icons/MoreOutlined'
const MobileSection = () => {
- const theme = useTheme();
+ const theme = useTheme()
- const [open, setOpen] = useState(false);
- const anchorRef = useRef(null);
+ const [open, setOpen] = useState(false)
+ const anchorRef = useRef(null)
const handleToggle = () => {
- setOpen((prevOpen) => !prevOpen);
- };
+ setOpen((prevOpen) => !prevOpen)
+ }
const handleClose = (event) => {
if (anchorRef.current && anchorRef.current.contains(event.target)) {
- return;
+ return
}
- setOpen(false);
- };
+ setOpen(false)
+ }
- const prevOpen = useRef(open);
+ const prevOpen = useRef(open)
useEffect(() => {
if (prevOpen.current === true && open === false) {
- anchorRef.current.focus();
+ anchorRef.current.focus()
}
- prevOpen.current = open;
- }, [open]);
+ prevOpen.current = open
+ }, [open])
return (
<>
@@ -96,7 +96,7 @@ const MobileSection = () => {
)}
>
- );
-};
+ )
+}
-export default MobileSection;
+export default MobileSection
diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Notification.js b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Notification.js
index 81522b27..d662e973 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Notification.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Notification.js
@@ -1,5 +1,5 @@
-import { useRef, useState, useEffect } from 'react';
-import { useTheme } from '@mui/material/styles';
+import { useRef, useState, useEffect } from 'react'
+import { useTheme } from '@mui/material/styles'
import {
Avatar,
Badge,
@@ -16,23 +16,23 @@ import {
Popper,
Typography,
useMediaQuery,
-} from '@mui/material';
-import MainCard from 'components/MainCard';
-import Transitions from 'components/@extended/Transitions';
-import BellOutlined from '@ant-design/icons/BellOutlined';
-import CloseOutlined from '@ant-design/icons/CloseOutlined';
-import GiftOutlined from '@ant-design/icons/GiftOutlined';
-import MessageOutlined from '@ant-design/icons/MessageOutlined';
-import SettingOutlined from '@ant-design/icons/SettingOutlined';
-import { NotificationService } from '../../../../services';
-import { useSession } from 'SessionStoreContext';
+} from '@mui/material'
+import MainCard from 'components/MainCard'
+import Transitions from 'components/@extended/Transitions'
+import BellOutlined from '@ant-design/icons/BellOutlined'
+import CloseOutlined from '@ant-design/icons/CloseOutlined'
+import GiftOutlined from '@ant-design/icons/GiftOutlined'
+import MessageOutlined from '@ant-design/icons/MessageOutlined'
+import SettingOutlined from '@ant-design/icons/SettingOutlined'
+import { NotificationService } from '../../../../services'
+import { useSession } from 'SessionStoreContext'
// sx styles
const avatarSX = {
width: 36,
height: 36,
fontSize: '1rem',
-};
+}
const actionSX = {
mt: '6px',
@@ -42,54 +42,54 @@ const actionSX = {
alignSelf: 'flex-start',
transform: 'none',
-};
+}
-const iconBackColorOpen = 'grey.300';
-const iconBackColor = 'grey.100';
+const iconBackColorOpen = 'grey.300'
+const iconBackColor = 'grey.100'
const Notification = () => {
- const theme = useTheme();
- const matchesXs = useMediaQuery(theme.breakpoints.down('md'));
- const anchorRef = useRef(null);
- const [open, setOpen] = useState(false);
- const [messages, setMessages] = useState([]);
- const [badge, setBudget] = useState(0);
- const keycloak = useSession();
+ const theme = useTheme()
+ const matchesXs = useMediaQuery(theme.breakpoints.down('md'))
+ const anchorRef = useRef(null)
+ const [open, setOpen] = useState(false)
+ const [messages, setMessages] = useState([])
+ const [badge, setBudget] = useState(0)
+ const keycloak = useSession()
const handleToggle = () => {
- setOpen((prevOpen) => !prevOpen);
- };
+ setOpen((prevOpen) => !prevOpen)
+ }
const handleClose = (event) => {
if (anchorRef.current && anchorRef.current.contains(event.target)) {
- return;
+ return
}
- setOpen(false);
- };
+ setOpen(false)
+ }
useEffect(() => {
- let delay = 1000;
- let timeout = null;
+ let delay = 1000
+ let timeout = null
const updateNotify = () => {
NotificationService.getNotifications(keycloak)
.then((data) => {
- setBudget(data.length ? data[0].total : 0);
- setMessages(data);
- delay = delay * 30;
- timeout = setTimeout(updateNotify, delay);
+ setBudget(data.length ? data[0].total : 0)
+ setMessages(data)
+ delay = delay * 30
+ timeout = setTimeout(updateNotify, delay)
})
.catch((error) => {
- console.error('Could not update notify. waiting a bit...', error);
- delay = delay * 2;
- timeout = setTimeout(updateNotify, delay);
- });
- };
+ console.error('Could not update notify. waiting a bit...', error)
+ delay = delay * 2
+ timeout = setTimeout(updateNotify, delay)
+ })
+ }
- updateNotify();
+ updateNotify()
- return () => timeout && clearTimeout(timeout);
- }, []);
+ return () => timeout && clearTimeout(timeout)
+ }, [])
return (
@@ -177,11 +177,11 @@ const Notification = () => {
)}
- );
-};
+ )
+}
function NotificationList({ items }) {
- const hasMoreView = items.length ? items[0].total > 5 : false;
+ const hasMoreView = items.length ? items[0].total > 5 : false
return (
<>
@@ -200,7 +200,7 @@ function NotificationList({ items }) {
- );
+ )
})}
@@ -219,7 +219,7 @@ function NotificationList({ items }) {
)}
>
- );
+ )
}
function AvatarIcon({ stage }) {
@@ -233,7 +233,7 @@ function AvatarIcon({ stage }) {
>
- );
+ )
}
if (stage === 'contract_writing_stg') {
@@ -246,7 +246,7 @@ function AvatarIcon({ stage }) {
>
- );
+ )
}
if (stage === 'info_docs_analysis_stg') {
@@ -259,10 +259,10 @@ function AvatarIcon({ stage }) {
>
- );
+ )
}
- return;
+ return
}
-export default Notification;
+export default Notification
diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/ProfileTab.js b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/ProfileTab.js
index cecbcd97..3fb00f45 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/ProfileTab.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/ProfileTab.js
@@ -1,11 +1,11 @@
-import PropTypes from 'prop-types';
-import { useTheme } from '@mui/material/styles';
-import { List, ListItemButton, ListItemIcon, ListItemText } from '@mui/material';
-import LogoutOutlined from '@ant-design/icons/LogoutOutlined';
-import UserOutlined from '@ant-design/icons/UserOutlined';
+import PropTypes from 'prop-types'
+import { useTheme } from '@mui/material/styles'
+import { List, ListItemButton, ListItemIcon, ListItemText } from '@mui/material'
+import LogoutOutlined from '@ant-design/icons/LogoutOutlined'
+import UserOutlined from '@ant-design/icons/UserOutlined'
const ProfileTab = ({ handleLogout }) => {
- const theme = useTheme();
+ const theme = useTheme()
return (
{
- );
-};
+ )
+}
ProfileTab.propTypes = {
handleLogout: PropTypes.func,
-};
+}
-export default ProfileTab;
+export default ProfileTab
diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/SettingTab.js b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/SettingTab.js
index ecf9db80..6cc7d8e4 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/SettingTab.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/SettingTab.js
@@ -1,15 +1,15 @@
-import { useState } from 'react';
-import { useTheme } from '@mui/material/styles';
-import { List, ListItemButton, ListItemIcon, ListItemText } from '@mui/material';
-import UserOutlined from '@ant-design/icons/UserOutlined';
+import { useState } from 'react'
+import { useTheme } from '@mui/material/styles'
+import { List, ListItemButton, ListItemIcon, ListItemText } from '@mui/material'
+import UserOutlined from '@ant-design/icons/UserOutlined'
const SettingTab = () => {
- const theme = useTheme();
+ const theme = useTheme()
- const [selectedIndex, setSelectedIndex] = useState(0);
+ const [selectedIndex, setSelectedIndex] = useState(0)
const handleListItemClick = (event, index) => {
- setSelectedIndex(index);
- };
+ setSelectedIndex(index)
+ }
return (
{
- );
-};
+ )
+}
-export default SettingTab;
+export default SettingTab
diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/index.js b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/index.js
index e1c83750..88da1788 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/index.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/index.js
@@ -1,27 +1,27 @@
-import PropTypes from 'prop-types';
-import { useRef, useState } from 'react';
-import Avatar from '@mui/material/Avatar';
-import Box from '@mui/material/Box';
-import ButtonBase from '@mui/material/ButtonBase';
-import CardContent from '@mui/material/CardContent';
-import ClickAwayListener from '@mui/material/ClickAwayListener';
-import Grid from '@mui/material/Grid';
-import IconButton from '@mui/material/IconButton';
-import Paper from '@mui/material/Paper';
-import Popper from '@mui/material/Popper';
-import Stack from '@mui/material/Stack';
-import Tab from '@mui/material/Tab';
-import Tabs from '@mui/material/Tabs';
-import Typography from '@mui/material/Typography';
-import useTheme from '@mui/material/styles/useTheme';
-import Transitions from 'components/@extended/Transitions';
-import MainCard from 'components/MainCard';
-import ProfileTab from './ProfileTab';
-import SettingTab from './SettingTab';
-import LogoutOutlined from '@ant-design/icons/LogoutOutlined';
-import SettingOutlined from '@ant-design/icons/SettingOutlined';
-import UserOutlined from '@ant-design/icons/UserOutlined';
-import avatar2 from 'assets/images/users/avatar-2.png';
+import PropTypes from 'prop-types'
+import { useRef, useState } from 'react'
+import Avatar from '@mui/material/Avatar'
+import Box from '@mui/material/Box'
+import ButtonBase from '@mui/material/ButtonBase'
+import CardContent from '@mui/material/CardContent'
+import ClickAwayListener from '@mui/material/ClickAwayListener'
+import Grid from '@mui/material/Grid'
+import IconButton from '@mui/material/IconButton'
+import Paper from '@mui/material/Paper'
+import Popper from '@mui/material/Popper'
+import Stack from '@mui/material/Stack'
+import Tab from '@mui/material/Tab'
+import Tabs from '@mui/material/Tabs'
+import Typography from '@mui/material/Typography'
+import useTheme from '@mui/material/styles/useTheme'
+import Transitions from 'components/@extended/Transitions'
+import MainCard from 'components/MainCard'
+import ProfileTab from './ProfileTab'
+import SettingTab from './SettingTab'
+import LogoutOutlined from '@ant-design/icons/LogoutOutlined'
+import SettingOutlined from '@ant-design/icons/SettingOutlined'
+import UserOutlined from '@ant-design/icons/UserOutlined'
+import avatar2 from 'assets/images/users/avatar-2.png'
function TabPanel({ children, value, index, ...other }) {
return (
@@ -34,47 +34,47 @@ function TabPanel({ children, value, index, ...other }) {
>
{value === index && children}
- );
+ )
}
TabPanel.propTypes = {
children: PropTypes.node,
index: PropTypes.any.isRequired,
value: PropTypes.any.isRequired,
-};
+}
function a11yProps(index) {
return {
id: `profile-tab-${index}`,
'aria-controls': `profile-tabpanel-${index}`,
- };
+ }
}
const Profile = ({ keycloak }) => {
- const theme = useTheme();
- const iconBackColorOpen = 'grey.300';
- const anchorRef = useRef(null);
- const [open, setOpen] = useState(false);
- const [value, setValue] = useState(0);
+ const theme = useTheme()
+ const iconBackColorOpen = 'grey.300'
+ const anchorRef = useRef(null)
+ const [open, setOpen] = useState(false)
+ const [value, setValue] = useState(0)
const handleLogout = async () => {
- keycloak.logout({ redirectUri: window.location.origin });
- };
+ keycloak.logout({ redirectUri: window.location.origin })
+ }
const handleToggle = () => {
- setOpen((prevOpen) => !prevOpen);
- };
+ setOpen((prevOpen) => !prevOpen)
+ }
const handleClose = (event) => {
if (anchorRef.current && anchorRef.current.contains(event.target)) {
- return;
+ return
}
- setOpen(false);
- };
+ setOpen(false)
+ }
const handleChange = (event, newValue) => {
- setValue(newValue);
- };
+ setValue(newValue)
+ }
return (
@@ -239,7 +239,7 @@ const Profile = ({ keycloak }) => {
)}
- );
-};
+ )
+}
-export default Profile;
+export default Profile
diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Search.js b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Search.js
index f774bcbe..871dd4dc 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Search.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Search.js
@@ -1,5 +1,5 @@
-import { Box, FormControl, InputAdornment, OutlinedInput } from '@mui/material';
-import SearchOutlined from '@ant-design/icons/SearchOutlined';
+import { Box, FormControl, InputAdornment, OutlinedInput } from '@mui/material'
+import SearchOutlined from '@ant-design/icons/SearchOutlined'
// ==============================|| HEADER CONTENT - SEARCH ||============================== //
@@ -22,6 +22,6 @@ const Search = () => (
/>
-);
+)
-export default Search;
+export default Search
diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/index.js b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/index.js
index 02ce1889..a79eb0c6 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/index.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/index.js
@@ -1,17 +1,17 @@
-import { Box, useMediaQuery } from '@mui/material';
+import { Box, useMediaQuery } from '@mui/material'
import {
NotificationBell,
NovuProvider,
PopoverNotificationCenter,
-} from '@novu/notification-center';
-import MobileSection from './MobileSection';
-import Profile from './Profile';
-import Search from './Search';
-import Config from 'consts/index';
-import Notification from './Notification';
+} from '@novu/notification-center'
+import MobileSection from './MobileSection'
+import Profile from './Profile'
+import Search from './Search'
+import Config from 'consts/index'
+import Notification from './Notification'
const HeaderContent = ({ keycloak }) => {
- const matchesXs = useMediaQuery((theme) => theme.breakpoints.down('md'));
+ const matchesXs = useMediaQuery((theme) => theme.breakpoints.down('md'))
return (
<>
@@ -35,7 +35,7 @@ const HeaderContent = ({ keycloak }) => {
{!matchesXs && }
{matchesXs && }
>
- );
-};
+ )
+}
-export default HeaderContent;
+export default HeaderContent
diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/index.js b/apps/react/case-portal/src/layout/MainLayout/Header/index.js
index dd7bd960..144811d0 100644
--- a/apps/react/case-portal/src/layout/MainLayout/Header/index.js
+++ b/apps/react/case-portal/src/layout/MainLayout/Header/index.js
@@ -1,16 +1,16 @@
-import PropTypes from 'prop-types';
-import { AppBar, IconButton, Toolbar, useMediaQuery } from '@mui/material';
-import { useTheme } from '@mui/material/styles';
-import AppBarStyled from './AppBarStyled';
-import HeaderContent from './HeaderContent';
-import MenuFoldOutlined from '@ant-design/icons/MenuFoldOutlined';
-import MenuUnfoldOutlined from '@ant-design/icons/MenuUnfoldOutlined';
+import PropTypes from 'prop-types'
+import { AppBar, IconButton, Toolbar, useMediaQuery } from '@mui/material'
+import { useTheme } from '@mui/material/styles'
+import AppBarStyled from './AppBarStyled'
+import HeaderContent from './HeaderContent'
+import MenuFoldOutlined from '@ant-design/icons/MenuFoldOutlined'
+import MenuUnfoldOutlined from '@ant-design/icons/MenuUnfoldOutlined'
const Header = ({ open, handleDrawerToggle, keycloak }) => {
- const theme = useTheme();
- const matchDownMD = useMediaQuery(theme.breakpoints.down('lg'));
- const iconBackColor = 'grey.100';
- const iconBackColorOpen = 'grey.200';
+ const theme = useTheme()
+ const matchDownMD = useMediaQuery(theme.breakpoints.down('lg'))
+ const iconBackColor = 'grey.100'
+ const iconBackColorOpen = 'grey.200'
const mainHeader = (
@@ -30,7 +30,7 @@ const Header = ({ open, handleDrawerToggle, keycloak }) => {
- );
+ )
const appBar = {
position: 'fixed',
@@ -39,7 +39,7 @@ const Header = ({ open, handleDrawerToggle, keycloak }) => {
sx: {
borderBottom: `1px solid ${theme.palette.divider}`,
},
- };
+ }
return (
<>
@@ -51,12 +51,12 @@ const Header = ({ open, handleDrawerToggle, keycloak }) => {
{mainHeader}
)}
>
- );
-};
+ )
+}
Header.propTypes = {
open: PropTypes.bool,
handleDrawerToggle: PropTypes.func,
-};
+}
-export default Header;
+export default Header
diff --git a/apps/react/case-portal/src/layout/MainLayout/index.js b/apps/react/case-portal/src/layout/MainLayout/index.js
index b8601eee..5a43385b 100644
--- a/apps/react/case-portal/src/layout/MainLayout/index.js
+++ b/apps/react/case-portal/src/layout/MainLayout/index.js
@@ -1,23 +1,23 @@
-import { useState } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
-import { Outlet } from 'react-router-dom';
-import { Box, Toolbar } from '@mui/material';
-import Breadcrumbs from 'components/@extended/Breadcrumbs';
-import Drawer from './Drawer';
-import Header from './Header';
-import { openDrawer } from 'store/reducers/menu';
-import { useMenu } from 'SessionStoreContext';
+import { useState } from 'react'
+import { useDispatch, useSelector } from 'react-redux'
+import { Outlet } from 'react-router-dom'
+import { Box, Toolbar } from '@mui/material'
+import Breadcrumbs from 'components/@extended/Breadcrumbs'
+import Drawer from './Drawer'
+import Header from './Header'
+import { openDrawer } from 'store/reducers/menu'
+import { useMenu } from 'SessionStoreContext'
const MainLayout = ({ keycloak, authenticated }) => {
- const dispatch = useDispatch();
- const { drawerOpen } = useSelector((state) => state.menu);
- const [open, setOpen] = useState(drawerOpen);
- const menu = useMenu();
+ const dispatch = useDispatch()
+ const { drawerOpen } = useSelector((state) => state.menu)
+ const [open, setOpen] = useState(drawerOpen)
+ const menu = useMenu()
const handleDrawerToggle = () => {
- setOpen(!open);
- dispatch(openDrawer({ drawerOpen: !open }));
- };
+ setOpen(!open)
+ dispatch(openDrawer({ drawerOpen: !open }))
+ }
return (
keycloak &&
@@ -39,7 +39,7 @@ const MainLayout = ({ keycloak, authenticated }) => {
)
- );
-};
+ )
+}
-export default MainLayout;
+export default MainLayout
diff --git a/apps/react/case-portal/src/menu/dashboard.js b/apps/react/case-portal/src/menu/dashboard.js
index 966e899d..fd9db095 100644
--- a/apps/react/case-portal/src/menu/dashboard.js
+++ b/apps/react/case-portal/src/menu/dashboard.js
@@ -1,7 +1,7 @@
-import HomeOutlined from '@ant-design/icons/HomeOutlined';
-import i18n from '../i18n';
+import HomeOutlined from '@ant-design/icons/HomeOutlined'
+import i18n from '../i18n'
-const icons = { HomeOutlined };
+const icons = { HomeOutlined }
const dashboard = {
id: 'dashboard',
@@ -17,6 +17,6 @@ const dashboard = {
breadcrumbs: false,
},
],
-};
+}
-export default dashboard;
+export default dashboard
diff --git a/apps/react/case-portal/src/menu/index.js b/apps/react/case-portal/src/menu/index.js
index bd1d3062..cb045fcd 100644
--- a/apps/react/case-portal/src/menu/index.js
+++ b/apps/react/case-portal/src/menu/index.js
@@ -1,9 +1,9 @@
-import dashboard from './dashboard';
-import workspace from './workspace';
-import management from './management';
+import dashboard from './dashboard'
+import workspace from './workspace'
+import management from './management'
const menuItems = {
items: [dashboard, workspace, management],
-};
+}
-export default menuItems;
+export default menuItems
diff --git a/apps/react/case-portal/src/menu/management.js b/apps/react/case-portal/src/menu/management.js
index 69d48f88..3972e089 100644
--- a/apps/react/case-portal/src/menu/management.js
+++ b/apps/react/case-portal/src/menu/management.js
@@ -1,4 +1,4 @@
-import i18n from '../i18n';
+import i18n from '../i18n'
// assets
import {
@@ -6,7 +6,7 @@ import {
IconDatabase,
IconPencil,
IconSchema,
-} from '@tabler/icons-react';
+} from '@tabler/icons-react'
// icons
const icons = {
@@ -14,7 +14,7 @@ const icons = {
IconDatabase,
IconPencil,
IconSchema,
-};
+}
const management = {
id: 'management',
@@ -87,6 +87,6 @@ const management = {
],
},
],
-};
+}
-export default management;
+export default management
diff --git a/apps/react/case-portal/src/menu/workspace.js b/apps/react/case-portal/src/menu/workspace.js
index 07e2f4ab..9682af2d 100644
--- a/apps/react/case-portal/src/menu/workspace.js
+++ b/apps/react/case-portal/src/menu/workspace.js
@@ -1,4 +1,4 @@
-import FolderOutlined from '@ant-design/icons/FolderOutlined';
+import FolderOutlined from '@ant-design/icons/FolderOutlined'
import {
IconArchive,
@@ -7,9 +7,9 @@ import {
IconList,
IconSquareAsterisk,
IconDatabase,
-} from '@tabler/icons-react';
+} from '@tabler/icons-react'
-import i18n from '../i18n';
+import i18n from '../i18n'
const icons = {
FolderOutlined,
@@ -19,7 +19,7 @@ const icons = {
IconSquareAsterisk,
IconList,
IconDatabase,
-};
+}
const workspace = {
id: 'utilities',
@@ -49,6 +49,6 @@ const workspace = {
children: [],
},
],
-};
+}
-export default workspace;
+export default workspace
diff --git a/apps/react/case-portal/src/plugins/MemoryTokenManager.js b/apps/react/case-portal/src/plugins/MemoryTokenManager.js
index c3669ae7..652daf2e 100644
--- a/apps/react/case-portal/src/plugins/MemoryTokenManager.js
+++ b/apps/react/case-portal/src/plugins/MemoryTokenManager.js
@@ -1,14 +1,14 @@
-var _TokenInMemory_ = null;
+var _TokenInMemory_ = null
class MemoryTokenManager {
static getToken() {
- return _TokenInMemory_;
+ return _TokenInMemory_
}
static setToken(token) {
- _TokenInMemory_ = token;
- return true;
+ _TokenInMemory_ = token
+ return true
}
}
-export default MemoryTokenManager;
+export default MemoryTokenManager
diff --git a/apps/react/case-portal/src/plugins/RegisterInjectUserSession.js b/apps/react/case-portal/src/plugins/RegisterInjectUserSession.js
index 4b8c0ccb..77694e36 100644
--- a/apps/react/case-portal/src/plugins/RegisterInjectUserSession.js
+++ b/apps/react/case-portal/src/plugins/RegisterInjectUserSession.js
@@ -1,10 +1,10 @@
-import { Formio } from 'formiojs';
+import { Formio } from 'formiojs'
export function RegisterInjectUserSession(keycloak) {
- const name = 'injectUserSession';
+ const name = 'injectUserSession'
if (Formio.getPlugin(name)) {
- Formio.deregisterPlugin(name);
+ Formio.deregisterPlugin(name)
}
Formio.registerPlugin(
@@ -13,12 +13,12 @@ export function RegisterInjectUserSession(keycloak) {
preRequest: function (args) {
return new Promise(function (resolve) {
if (args.opts && args.opts.header) {
- args.opts.header.set('Authorization', `Bearer ${keycloak.token}`);
+ args.opts.header.set('Authorization', `Bearer ${keycloak.token}`)
}
- return resolve(args);
- });
+ return resolve(args)
+ })
},
},
'injectUserSession',
- );
+ )
}
diff --git a/apps/react/case-portal/src/plugins/RegisterOptions.js b/apps/react/case-portal/src/plugins/RegisterOptions.js
index f162828c..cad554fa 100644
--- a/apps/react/case-portal/src/plugins/RegisterOptions.js
+++ b/apps/react/case-portal/src/plugins/RegisterOptions.js
@@ -1,9 +1,9 @@
-import MemoryTokenManager from './MemoryTokenManager';
+import MemoryTokenManager from './MemoryTokenManager'
export function RegisteOptions(keycloak) {
if (keycloak == null) {
- MemoryTokenManager.setToken(null);
+ MemoryTokenManager.setToken(null)
} else {
- MemoryTokenManager.setToken(keycloak.token);
+ MemoryTokenManager.setToken(keycloak.token)
}
}
diff --git a/apps/react/case-portal/src/plugins/index.js b/apps/react/case-portal/src/plugins/index.js
index 4abc99b6..b7d06371 100644
--- a/apps/react/case-portal/src/plugins/index.js
+++ b/apps/react/case-portal/src/plugins/index.js
@@ -1,4 +1,4 @@
-import { RegisterInjectUserSession } from './RegisterInjectUserSession';
-import { RegisteOptions } from './RegisterOptions';
+import { RegisterInjectUserSession } from './RegisterInjectUserSession'
+import { RegisteOptions } from './RegisterOptions'
-export { RegisterInjectUserSession, RegisteOptions };
+export { RegisterInjectUserSession, RegisteOptions }
diff --git a/apps/react/case-portal/src/plugins/storage/index.js b/apps/react/case-portal/src/plugins/storage/index.js
index 2a524c9f..b6907ac6 100644
--- a/apps/react/case-portal/src/plugins/storage/index.js
+++ b/apps/react/case-portal/src/plugins/storage/index.js
@@ -1,6 +1,6 @@
-import { Formio } from 'formiojs';
-import Config from '../../consts';
-import MemoryTokenManager from '../MemoryTokenManager';
+import { Formio } from 'formiojs'
+import Config from '../../consts'
+import MemoryTokenManager from '../MemoryTokenManager'
export class StorageService {
async uploadFile(file, fileName, dir, evt) {
@@ -14,7 +14,7 @@ export class StorageService {
null,
null,
() => null,
- );
+ )
}
async deleteFile() {
@@ -22,7 +22,7 @@ export class StorageService {
}
async downloadFile(fileInfo) {
- return minio().downloadFile(fileInfo);
+ return minio().downloadFile(fileInfo)
}
}
@@ -32,34 +32,34 @@ export function minio() {
headers: {
Authorization: `Bearer ${MemoryTokenManager.getToken()}`,
},
- };
+ }
}
return {
uploadFile(file, dir, progressCallback, abortCallback) {
function doUpload(url, fd) {
return new Promise((resolve, reject) => {
- let request = new XMLHttpRequest();
+ let request = new XMLHttpRequest()
- request.open('POST', url);
+ request.open('POST', url)
request.addEventListener('openAndSetHeaders', function (...params) {
- request.open(...params);
+ request.open(...params)
request.setRequestHeader(
'Authorization',
`Bearer ${Formio.getToken()}`,
- );
- });
+ )
+ })
request.upload.addEventListener('progress', function (e) {
if (typeof progressCallback === 'function') {
- progressCallback(e);
+ progressCallback(e)
}
if (typeof abortCallback === 'function') {
- abortCallback(() => request.abort());
+ abortCallback(() => request.abort())
}
- });
+ })
request.addEventListener('load', function () {
if (request.status >= 200 && request.status < 300) {
@@ -70,88 +70,88 @@ export function minio() {
url: file.name,
size: file.size,
type: file.type,
- });
+ })
} else {
- reject(request.response || 'Unable to upload file');
+ reject(request.response || 'Unable to upload file')
}
- });
+ })
request.addEventListener('error', function (e) {
- e.networkError = true;
- reject(e);
- });
+ e.networkError = true
+ reject(e)
+ })
request.addEventListener('abort', function (e) {
- e.networkError = true;
- reject(e);
- });
+ e.networkError = true
+ reject(e)
+ })
- request.send(fd);
- });
+ request.send(fd)
+ })
}
- let goUploadToFileUrl = `${Config.StorageUrl}/storage/files/${dir}/uploads/${file.name}?content-type=${file.type}`;
+ let goUploadToFileUrl = `${Config.StorageUrl}/storage/files/${dir}/uploads/${file.name}?content-type=${file.type}`
if (!dir) {
- goUploadToFileUrl = `${Config.StorageUrl}/storage/files/uploads/${file.name}?content-type=${file.type}`;
+ goUploadToFileUrl = `${Config.StorageUrl}/storage/files/uploads/${file.name}?content-type=${file.type}`
}
return fetch(goUploadToFileUrl, createHeaders())
.then((resp) => resp.json())
.then((data) => {
- const form = new FormData();
+ const form = new FormData()
for (const key in data.formData) {
- form.append(key, data.formData[key]);
+ form.append(key, data.formData[key])
}
if (!dir) {
- form.append('key', file.name);
+ form.append('key', file.name)
} else {
- form.append('key', dir + '/' + file.name);
+ form.append('key', dir + '/' + file.name)
}
- form.append('content-type', file.type);
- form.append('file', file);
+ form.append('content-type', file.type)
+ form.append('file', file)
- return doUpload(data.url, form);
- });
+ return doUpload(data.url, form)
+ })
},
downloadFile(file) {
- let getObjectForUrl = `${Config.StorageUrl}/storage/files/${file.dir}/downloads/${file.name}?content-type=${file.type}`;
+ let getObjectForUrl = `${Config.StorageUrl}/storage/files/${file.dir}/downloads/${file.name}?content-type=${file.type}`
if (!file.dir) {
- getObjectForUrl = `${Config.StorageUrl}/storage/files/downloads/${file.name}?content-type=${file.type}`;
+ getObjectForUrl = `${Config.StorageUrl}/storage/files/downloads/${file.name}?content-type=${file.type}`
}
return fetch(getObjectForUrl, createHeaders())
.then((resp) => resp.json())
.then(async (data) => {
- const resp = await fetch(data.url);
- const blob = await resp.blob();
- const downloadUrl = window.URL.createObjectURL(blob);
+ const resp = await fetch(data.url)
+ const blob = await resp.blob()
+ const downloadUrl = window.URL.createObjectURL(blob)
- const anchor = document.createElement('a');
- document.body.appendChild(anchor);
- anchor.href = downloadUrl;
+ const anchor = document.createElement('a')
+ document.body.appendChild(anchor)
+ anchor.href = downloadUrl
- const url = new URL(data.url);
+ const url = new URL(data.url)
if (url.pathname) {
anchor.download = url.pathname
.slice(url.pathname.lastIndexOf('/') + 1)
- .replaceAll('\'');
+ .replaceAll("'")
} else {
- anchor.download = downloadUrl;
+ anchor.download = downloadUrl
}
- anchor.click();
+ anchor.click()
setTimeout(() => {
- window.URL.revokeObjectURL(downloadUrl);
- document.body.removeChild(anchor);
- }, 0);
- return;
- });
+ window.URL.revokeObjectURL(downloadUrl)
+ document.body.removeChild(anchor)
+ }, 0)
+ return
+ })
},
- };
+ }
}
-minio.title = 's3';
+minio.title = 's3'
diff --git a/apps/react/case-portal/src/routes/MainRoutes.js b/apps/react/case-portal/src/routes/MainRoutes.js
index 8b62eaa0..e3e4bde6 100644
--- a/apps/react/case-portal/src/routes/MainRoutes.js
+++ b/apps/react/case-portal/src/routes/MainRoutes.js
@@ -1,18 +1,18 @@
-import { lazy } from 'react';
-import Loadable from 'components/Loadable';
-import MainLayout from 'layout/MainLayout';
-import { CaseStatus } from 'common/caseStatus';
-import { CaseList } from 'views/caseList/caseList';
-import { RecordList } from 'views/record/recordList';
-import { TaskList } from 'views/taskList/taskList';
-import { CaseDefList } from 'views/management/caseDef/caseDefList/caseDefList';
-import { ProcessDefList } from 'views/management/processDef/processDefList';
-import { FormList } from 'views/management/form/formList';
-import { RecordTypeList } from 'views/management/recordType/recordTypeList';
-import { QueueList } from 'views/management/queue/queueList';
+import { lazy } from 'react'
+import Loadable from 'components/Loadable'
+import MainLayout from 'layout/MainLayout'
+import { CaseStatus } from 'common/caseStatus'
+import { CaseList } from 'views/caseList/caseList'
+import { RecordList } from 'views/record/recordList'
+import { TaskList } from 'views/taskList/taskList'
+import { CaseDefList } from 'views/management/caseDef/caseDefList/caseDefList'
+import { ProcessDefList } from 'views/management/processDef/processDefList'
+import { FormList } from 'views/management/form/formList'
+import { RecordTypeList } from 'views/management/recordType/recordTypeList'
+import { QueueList } from 'views/management/queue/queueList'
-const ManagamentDefault = Loadable(lazy(() => import('../views/management')));
-const DashboardDefault = Loadable(lazy(() => import('../views/dashboard')));
+const ManagamentDefault = Loadable(lazy(() => import('../views/management')))
+const DashboardDefault = Loadable(lazy(() => import('../views/dashboard')))
export const MainRoutes = (
keycloak,
@@ -97,21 +97,21 @@ export const MainRoutes = (
],
},
],
- };
+ }
casesDefinitions.forEach((element) => {
routes.children.push({
path: 'case-list/' + element.id,
element: ,
- });
- });
+ })
+ })
recordsTypes.forEach((element) => {
routes.children.push({
path: 'record-list/' + element.id,
element: ,
- });
- });
+ })
+ })
- return routes;
-};
+ return routes
+}
diff --git a/apps/react/case-portal/src/routes/index.js b/apps/react/case-portal/src/routes/index.js
index 8f736d08..93edfa05 100644
--- a/apps/react/case-portal/src/routes/index.js
+++ b/apps/react/case-portal/src/routes/index.js
@@ -1,5 +1,5 @@
-import { useRoutes } from 'react-router-dom';
-import { MainRoutes } from './MainRoutes';
+import { useRoutes } from 'react-router-dom'
+import { MainRoutes } from './MainRoutes'
export const ThemeRoutes = ({
keycloak,
@@ -9,5 +9,5 @@ export const ThemeRoutes = ({
}) => {
return useRoutes([
MainRoutes(keycloak, authenticated, recordsTypes, casesDefinitions),
- ]);
-};
+ ])
+}
diff --git a/apps/react/case-portal/src/services/CaseDefService.js b/apps/react/case-portal/src/services/CaseDefService.js
index 425aff04..1b48bbdd 100644
--- a/apps/react/case-portal/src/services/CaseDefService.js
+++ b/apps/react/case-portal/src/services/CaseDefService.js
@@ -1,15 +1,15 @@
-import { json, nop } from './request';
-import Config from '../consts';
+import { json, nop } from './request'
+import Config from '../consts'
export const CaseDefService = {
create,
update,
remove,
getAll,
-};
+}
async function create(keycloak, body) {
- const url = `${Config.CaseEngineUrl}/case-definition`;
+ const url = `${Config.CaseEngineUrl}/case-definition`
try {
const resp = await fetch(url, {
@@ -20,16 +20,16 @@ async function create(keycloak, body) {
Authorization: `Bearer ${keycloak.token}`,
},
body: JSON.stringify(body),
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
async function update(keycloak, id, body) {
- const url = `${Config.CaseEngineUrl}/case-definition/${id}`;
+ const url = `${Config.CaseEngineUrl}/case-definition/${id}`
try {
const resp = await fetch(url, {
@@ -40,16 +40,16 @@ async function update(keycloak, id, body) {
Authorization: `Bearer ${keycloak.token}`,
},
body: JSON.stringify(body),
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
async function remove(keycloak, id) {
- const url = `${Config.CaseEngineUrl}/case-definition/${id}`;
+ const url = `${Config.CaseEngineUrl}/case-definition/${id}`
try {
const resp = await fetch(url, {
@@ -59,30 +59,30 @@ async function remove(keycloak, id) {
'Content-Type': 'application/json',
Authorization: `Bearer ${keycloak.token}`,
},
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
async function getAll(keycloak) {
if (keycloak.isTokenExpired()) {
- keycloak.logout({ redirectUri: window.location.origin });
+ keycloak.logout({ redirectUri: window.location.origin })
}
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
- var url = `${Config.CaseEngineUrl}/case-definition`;
+ var url = `${Config.CaseEngineUrl}/case-definition`
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
diff --git a/apps/react/case-portal/src/services/CaseService.js b/apps/react/case-portal/src/services/CaseService.js
index 57224995..835eb314 100644
--- a/apps/react/case-portal/src/services/CaseService.js
+++ b/apps/react/case-portal/src/services/CaseService.js
@@ -1,6 +1,6 @@
-import Config from '../consts';
-import i18n from '../i18n';
-import { json, nop } from './request';
+import Config from '../consts'
+import i18n from '../i18n'
+import { json, nop } from './request'
export const CaseService = {
getAllByStatus,
@@ -14,102 +14,102 @@ export const CaseService = {
addComment,
updateComment,
deleteComment,
-};
+}
async function getAllByStatus(keycloak, status, limit) {
if (!status) {
- return Promise.resolve([]);
+ return Promise.resolve([])
}
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
- var url = `${Config.CaseEngineUrl}/case?status=${status}&limit=${limit}`;
+ var url = `${Config.CaseEngineUrl}/case?status=${status}&limit=${limit}`
try {
- const resp = await fetch(url, { headers });
- const data = await json(keycloak, resp);
- return mapperToCase(data);
+ const resp = await fetch(url, { headers })
+ const data = await json(keycloak, resp)
+ return mapperToCase(data)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function getCaseDefinitions(keycloak) {
- const url = `${Config.CaseEngineUrl}/case-definition?deployed=true`;
+ const url = `${Config.CaseEngineUrl}/case-definition?deployed=true`
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function getCaseDefinitionsById(keycloak, caseDefId) {
- const url = `${Config.CaseEngineUrl}/case-definition/${caseDefId || ''}`;
+ const url = `${Config.CaseEngineUrl}/case-definition/${caseDefId || ''}`
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function getCaseById(keycloak, id) {
- let url = `${Config.CaseEngineUrl}/case/${id}`;
+ let url = `${Config.CaseEngineUrl}/case/${id}`
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function filterCase(keycloak, caseDefId, status, cursor) {
- let url = `${Config.CaseEngineUrl}/case?`;
- url = url + (status ? `status=${status}` : '');
- url = url + (caseDefId ? `&caseDefinitionId=${caseDefId}` : '');
- url = url + `&before=${cursor.before || ''}`;
- url = url + `&after=${cursor.after || ''}`;
- url = url + `&sort=${cursor.sort || 'asc'}`;
- url = url + `&limit=${cursor.limit || 10}`;
+ let url = `${Config.CaseEngineUrl}/case?`
+ url = url + (status ? `status=${status}` : '')
+ url = url + (caseDefId ? `&caseDefinitionId=${caseDefId}` : '')
+ url = url + `&before=${cursor.before || ''}`
+ url = url + `&after=${cursor.after || ''}`
+ url = url + `&sort=${cursor.sort || 'asc'}`
+ url = url + `&limit=${cursor.limit || 10}`
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
try {
- const resp = await fetch(url, { headers });
- const data = await json(keycloak, resp);
- return mapperToCase(data);
+ const resp = await fetch(url, { headers })
+ const data = await json(keycloak, resp)
+ return mapperToCase(data)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function patch(keycloak, id, body) {
- const url = `${Config.CaseEngineUrl}/case/${id}`;
+ const url = `${Config.CaseEngineUrl}/case/${id}`
try {
const resp = await fetch(url, {
@@ -120,16 +120,16 @@ async function patch(keycloak, id, body) {
Authorization: `Bearer ${keycloak.token}`,
},
body: body,
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function createCase(keycloak, body) {
- const url = `${Config.CaseEngineUrl}/case`;
+ const url = `${Config.CaseEngineUrl}/case`
try {
const resp = await fetch(url, {
@@ -140,16 +140,16 @@ async function createCase(keycloak, body) {
Authorization: `Bearer ${keycloak.token}`,
},
body: body,
- });
- return json(keycloak, resp);
+ })
+ return json(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
async function addDocuments(keycloak, businessKey, document) {
- const url = `${Config.CaseEngineUrl}/case/${businessKey}/document`;
+ const url = `${Config.CaseEngineUrl}/case/${businessKey}/document`
try {
const resp = await fetch(url, {
@@ -160,16 +160,16 @@ async function addDocuments(keycloak, businessKey, document) {
Authorization: `Bearer ${keycloak.token}`,
},
body: JSON.stringify(document),
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function addComment(keycloak, text, parentId, businessKey) {
- const url = `${Config.CaseEngineUrl}/case/${businessKey}/comment`;
+ const url = `${Config.CaseEngineUrl}/case/${businessKey}/comment`
const comment = {
body: text,
@@ -177,7 +177,7 @@ async function addComment(keycloak, text, parentId, businessKey) {
userId: keycloak.tokenParsed.preferred_username,
userName: keycloak.tokenParsed.given_name,
caseId: businessKey,
- };
+ }
try {
const resp = await fetch(url, {
@@ -188,23 +188,23 @@ async function addComment(keycloak, text, parentId, businessKey) {
Authorization: `Bearer ${keycloak.token}`,
},
body: JSON.stringify(comment),
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function updateComment(keycloak, text, commentId, businessKey) {
- const url = `${Config.CaseEngineUrl}/case/${businessKey}/comment/${commentId}`;
+ const url = `${Config.CaseEngineUrl}/case/${businessKey}/comment/${commentId}`
const comment = {
id: commentId,
body: text,
userId: keycloak.tokenParsed.preferred_username,
caseId: businessKey,
- };
+ }
try {
const resp = await fetch(url, {
@@ -215,16 +215,16 @@ async function updateComment(keycloak, text, commentId, businessKey) {
Authorization: `Bearer ${keycloak.token}`,
},
body: JSON.stringify(comment),
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function deleteComment(keycloak, commentId, businessKey) {
- const url = `${Config.CaseEngineUrl}/case/${businessKey}/comment/${commentId}`;
+ const url = `${Config.CaseEngineUrl}/case/${businessKey}/comment/${commentId}`
try {
const resp = await fetch(url, {
@@ -234,19 +234,19 @@ async function deleteComment(keycloak, commentId, businessKey) {
'Content-Type': 'application/json',
Authorization: `Bearer ${keycloak.token}`,
},
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
function mapperToCase(resp) {
- const { data, paging } = resp;
+ const { data, paging } = resp
if (!data.length) {
- return Promise.resolve({ data: [], paging: {} });
+ return Promise.resolve({ data: [], paging: {} })
}
const toStatus = (status) => {
@@ -254,25 +254,25 @@ function mapperToCase(resp) {
WIP_CASE_STATUS: i18n.t('general.case.status.wip'),
CLOSED_CASE_STATUS: i18n.t('general.case.status.closed'),
ARCHIVED_CASE_STATUS: i18n.t('general.case.status.archived'),
- };
+ }
- return mapper[status] || '-';
- };
+ return mapper[status] || '-'
+ }
const toCase = data.map((element) => {
const createdAt = element?.attributes?.find(
(attribute) => attribute.name === 'createdAt',
- );
- element.createdAt = createdAt ? createdAt.value : '';
- element.statusDescription = toStatus(element.status);
- return element;
- });
+ )
+ element.createdAt = createdAt ? createdAt.value : ''
+ element.statusDescription = toStatus(element.status)
+ return element
+ })
const toPaging = {
cursors: paging.cursors,
hasPrevious: paging.hasPrevious,
hasNext: paging.hasNext,
- };
+ }
- return Promise.resolve({ data: toCase, paging: toPaging });
+ return Promise.resolve({ data: toCase, paging: toPaging })
}
diff --git a/apps/react/case-portal/src/services/DeploymentService.js b/apps/react/case-portal/src/services/DeploymentService.js
index 2c381007..f1d9c907 100644
--- a/apps/react/case-portal/src/services/DeploymentService.js
+++ b/apps/react/case-portal/src/services/DeploymentService.js
@@ -1,12 +1,12 @@
-import { nop } from './request';
-import Config from 'consts/index';
+import { nop } from './request'
+import Config from 'consts/index'
export const DeploymentService = {
deploy,
-};
+}
async function deploy(keycloak, file) {
- const url = `${Config.CaseEngineUrl}/deployment`;
+ const url = `${Config.CaseEngineUrl}/deployment`
try {
const resp = await fetch(url, {
@@ -17,10 +17,10 @@ async function deploy(keycloak, file) {
Authorization: `Bearer ${keycloak.token}`,
},
body: file,
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
diff --git a/apps/react/case-portal/src/services/EmailService.js b/apps/react/case-portal/src/services/EmailService.js
index ce7066f9..0590b65e 100644
--- a/apps/react/case-portal/src/services/EmailService.js
+++ b/apps/react/case-portal/src/services/EmailService.js
@@ -1,13 +1,13 @@
-import { json } from './request';
-import Config from '../consts';
+import { json } from './request'
+import Config from '../consts'
export const EmailService = {
send,
getAllByBusinessKey,
-};
+}
async function send(keycloak, body) {
- const url = `${Config.CaseEngineUrl}/case-email`;
+ const url = `${Config.CaseEngineUrl}/case-email`
try {
await fetch(url, {
@@ -18,25 +18,25 @@ async function send(keycloak, body) {
Authorization: `Bearer ${keycloak.token}`,
},
body: JSON.stringify(body),
- });
+ })
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
async function getAllByBusinessKey(keycloak, caseInstanceBusinessKey) {
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
- var url = `${Config.CaseEngineUrl}/case-email?caseInstanceBusinessKey=${caseInstanceBusinessKey}`;
+ var url = `${Config.CaseEngineUrl}/case-email?caseInstanceBusinessKey=${caseInstanceBusinessKey}`
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
diff --git a/apps/react/case-portal/src/services/FileService.js b/apps/react/case-portal/src/services/FileService.js
index 689dbfa4..2e384ec1 100644
--- a/apps/react/case-portal/src/services/FileService.js
+++ b/apps/react/case-portal/src/services/FileService.js
@@ -1,27 +1,27 @@
-import Config from '../consts';
+import Config from '../consts'
export const FileService = {
upload,
download,
-};
+}
function upload({ dir, file, progress, keycloak }) {
function doUpload(url, fd) {
return new Promise((resolve, reject) => {
- let request = new XMLHttpRequest();
+ let request = new XMLHttpRequest()
- request.open('POST', url);
+ request.open('POST', url)
request.addEventListener('openAndSetHeaders', function (...params) {
- request.open(...params);
- request.setRequestHeader('Authorization', `Bearer ${keycloak.token}`);
- });
+ request.open(...params)
+ request.setRequestHeader('Authorization', `Bearer ${keycloak.token}`)
+ })
request.upload.addEventListener('progress', function (e) {
if (typeof progress === 'function') {
- progress(e, (e.loaded / e.total) * 100);
+ progress(e, (e.loaded / e.total) * 100)
}
- });
+ })
request.addEventListener('load', function () {
if (request.status >= 200 && request.status < 300) {
@@ -32,87 +32,87 @@ function upload({ dir, file, progress, keycloak }) {
url: file.name,
size: file.size,
type: file.type,
- });
+ })
} else {
- reject(request.response || 'Unable to upload file');
+ reject(request.response || 'Unable to upload file')
}
- });
+ })
request.addEventListener('error', function (e) {
- e.networkError = true;
- reject(e);
- });
+ e.networkError = true
+ reject(e)
+ })
request.addEventListener('abort', function (e) {
- e.networkError = true;
- reject(e);
- });
+ e.networkError = true
+ reject(e)
+ })
- request.send(fd);
- });
+ request.send(fd)
+ })
}
- let goUploadToFileUrl = `${Config.StorageUrl}/storage/files/${dir}/uploads/${file.name}?content-type=${file.type}`;
+ let goUploadToFileUrl = `${Config.StorageUrl}/storage/files/${dir}/uploads/${file.name}?content-type=${file.type}`
if (!dir) {
- goUploadToFileUrl = `${Config.StorageUrl}/storage/files/uploads/${file.name}?content-type=${file.type}`;
+ goUploadToFileUrl = `${Config.StorageUrl}/storage/files/uploads/${file.name}?content-type=${file.type}`
}
return fetch(goUploadToFileUrl, createHeaders(keycloak))
.then((resp) => resp.json())
.then((data) => {
- const form = new FormData();
+ const form = new FormData()
for (const key in data.formData) {
- form.append(key, data.formData[key]);
+ form.append(key, data.formData[key])
}
if (!dir) {
- form.append('key', file.name);
+ form.append('key', file.name)
} else {
- form.append('key', dir + '/' + file.name);
+ form.append('key', dir + '/' + file.name)
}
- form.append('content-type', file.type);
- form.append('file', file);
+ form.append('content-type', file.type)
+ form.append('file', file)
- return doUpload(data.url, form);
- });
+ return doUpload(data.url, form)
+ })
}
function download(file, keycloak) {
- let getObjectForUrl = `${Config.StorageUrl}/storage/files/${file.dir}/downloads/${file.name}?content-type=${file.type}`;
+ let getObjectForUrl = `${Config.StorageUrl}/storage/files/${file.dir}/downloads/${file.name}?content-type=${file.type}`
if (!file.dir) {
- getObjectForUrl = `${Config.StorageUrl}/storage/files/downloads/${file.name}?content-type=${file.type}`;
+ getObjectForUrl = `${Config.StorageUrl}/storage/files/downloads/${file.name}?content-type=${file.type}`
}
return fetch(getObjectForUrl, createHeaders(keycloak))
.then((resp) => resp.json())
.then(async (data) => {
- const resp = await fetch(data.url);
- const blob = await resp.blob();
- const downloadUrl = window.URL.createObjectURL(blob);
+ const resp = await fetch(data.url)
+ const blob = await resp.blob()
+ const downloadUrl = window.URL.createObjectURL(blob)
- const anchor = document.createElement('a');
- document.body.appendChild(anchor);
- anchor.href = downloadUrl;
+ const anchor = document.createElement('a')
+ document.body.appendChild(anchor)
+ anchor.href = downloadUrl
- const url = new URL(data.url);
+ const url = new URL(data.url)
if (url.pathname) {
anchor.download = url.pathname
.slice(url.pathname.lastIndexOf('/') + 1)
- .replaceAll('\'');
+ .replaceAll("'")
} else {
- anchor.download = downloadUrl;
+ anchor.download = downloadUrl
}
- anchor.click();
+ anchor.click()
setTimeout(() => {
- window.URL.revokeObjectURL(downloadUrl);
- document.body.removeChild(anchor);
- }, 0);
- return;
- });
+ window.URL.revokeObjectURL(downloadUrl)
+ document.body.removeChild(anchor)
+ }, 0)
+ return
+ })
}
function createHeaders(keycloak) {
@@ -120,5 +120,5 @@ function createHeaders(keycloak) {
headers: {
Authorization: `Bearer ${keycloak.token}`,
},
- };
+ }
}
diff --git a/apps/react/case-portal/src/services/FormService.js b/apps/react/case-portal/src/services/FormService.js
index c656e7c7..37f8b569 100644
--- a/apps/react/case-portal/src/services/FormService.js
+++ b/apps/react/case-portal/src/services/FormService.js
@@ -1,5 +1,5 @@
-import { json, nop } from './request';
-import Config from '../consts';
+import { json, nop } from './request'
+import Config from '../consts'
export const FormService = {
getAll,
@@ -8,10 +8,10 @@ export const FormService = {
update,
remove,
create,
-};
+}
async function create(keycloak, body) {
- const url = `${Config.CaseEngineUrl}/form`;
+ const url = `${Config.CaseEngineUrl}/form`
try {
const resp = await fetch(url, {
@@ -22,16 +22,16 @@ async function create(keycloak, body) {
Authorization: `Bearer ${keycloak.token}`,
},
body: JSON.stringify(body),
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
async function update(keycloak, id, body) {
- const url = `${Config.CaseEngineUrl}/form/${id}`;
+ const url = `${Config.CaseEngineUrl}/form/${id}`
try {
const resp = await fetch(url, {
@@ -42,16 +42,16 @@ async function update(keycloak, id, body) {
Authorization: `Bearer ${keycloak.token}`,
},
body: JSON.stringify(body),
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
async function remove(keycloak, id) {
- const url = `${Config.CaseEngineUrl}/form/${id}`;
+ const url = `${Config.CaseEngineUrl}/form/${id}`
try {
const resp = await fetch(url, {
@@ -61,60 +61,60 @@ async function remove(keycloak, id) {
'Content-Type': 'application/json',
Authorization: `Bearer ${keycloak.token}`,
},
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
async function getAll(keycloak) {
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
- var url = `${Config.CaseEngineUrl}/form`;
+ var url = `${Config.CaseEngineUrl}/form`
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
async function getByKey(keycloak, formKey) {
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
- var url = `${Config.CaseEngineUrl}/form/${formKey}`;
+ var url = `${Config.CaseEngineUrl}/form/${formKey}`
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
async function getVariableById(keycloak, processInstanceId) {
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
- const body = JSON.stringify({ processInstanceId });
+ const body = JSON.stringify({ processInstanceId })
- var url = `${Config.CaseEngineUrl}/variable`;
+ var url = `${Config.CaseEngineUrl}/variable`
try {
- const resp = await fetch(url, { headers, body });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers, body })
+ return json(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
diff --git a/apps/react/case-portal/src/services/NotificationService.js b/apps/react/case-portal/src/services/NotificationService.js
index 4d70a347..b13f5324 100644
--- a/apps/react/case-portal/src/services/NotificationService.js
+++ b/apps/react/case-portal/src/services/NotificationService.js
@@ -1,17 +1,17 @@
-import moment from 'moment';
-import { CaseService } from './CaseService';
-import { Typography } from '@mui/material';
+import moment from 'moment'
+import { CaseService } from './CaseService'
+import { Typography } from '@mui/material'
export const NotificationService = {
getNotifications,
-};
+}
async function getNotifications(keycloak) {
function truncIfAboveFiveElements(resp) {
- const { data } = resp;
+ const { data } = resp
if (!data || !data.length) {
- return Promise.resolve({ data: [], page: {} });
+ return Promise.resolve({ data: [], page: {} })
}
return Promise.resolve({
@@ -20,7 +20,7 @@ async function getNotifications(keycloak) {
total: data.length,
limit: 5,
},
- });
+ })
}
function toMessage({ data, page }) {
@@ -31,9 +31,9 @@ async function getNotifications(keycloak) {
'Data Collection': 'data_collection_stg',
'Contract Writing': 'contract_writing_stg',
'Info & Docs Analysis': 'info_docs_analysis_stg',
- };
+ }
- return mapper[s] || 'data_collection_stg';
+ return mapper[s] || 'data_collection_stg'
}
return {
@@ -55,9 +55,9 @@ async function getNotifications(keycloak) {
stage
),
- };
+ }
}),
- );
+ )
}
try {
@@ -65,11 +65,11 @@ async function getNotifications(keycloak) {
keycloak,
'WIP_CASE_STATUS',
5,
- );
- const data = await truncIfAboveFiveElements(resp);
- return toMessage(data);
+ )
+ const data = await truncIfAboveFiveElements(resp)
+ return toMessage(data)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
diff --git a/apps/react/case-portal/src/services/ProcessDefService.js b/apps/react/case-portal/src/services/ProcessDefService.js
index fffd5314..607a7a26 100644
--- a/apps/react/case-portal/src/services/ProcessDefService.js
+++ b/apps/react/case-portal/src/services/ProcessDefService.js
@@ -1,14 +1,14 @@
-import { json } from './request';
-import Config from 'consts/index';
+import { json } from './request'
+import Config from 'consts/index'
export const ProcessDefService = {
start,
find,
getBPMNXml,
-};
+}
async function start(keycloak, procDefKey, businessKey) {
- const url = `${Config.CaseEngineUrl}/process-definition/key/${procDefKey}/start`;
+ const url = `${Config.CaseEngineUrl}/process-definition/key/${procDefKey}/start`
try {
const resp = await fetch(url, {
@@ -19,46 +19,46 @@ async function start(keycloak, procDefKey, businessKey) {
Authorization: `Bearer ${keycloak.token}`,
},
body: JSON.stringify({ businessKey: businessKey }),
- });
- return json(keycloak, resp);
+ })
+ return json(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
async function find(keycloak) {
if (keycloak.isTokenExpired()) {
- keycloak.logout({ redirectUri: window.location.origin });
+ keycloak.logout({ redirectUri: window.location.origin })
}
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
- var url = `${Config.CaseEngineUrl}/process-definition`;
+ var url = `${Config.CaseEngineUrl}/process-definition`
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
async function getBPMNXml(keycloak, processDefId) {
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
- var url = `${Config.CaseEngineUrl}/process-definition/${processDefId}/xml`;
+ var url = `${Config.CaseEngineUrl}/process-definition/${processDefId}/xml`
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp.text());
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp.text())
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
diff --git a/apps/react/case-portal/src/services/QueueService.js b/apps/react/case-portal/src/services/QueueService.js
index 10e42b5d..55df6d3a 100644
--- a/apps/react/case-portal/src/services/QueueService.js
+++ b/apps/react/case-portal/src/services/QueueService.js
@@ -1,5 +1,5 @@
-import Config from '../consts';
-import { json, nop } from './request';
+import Config from '../consts'
+import { json, nop } from './request'
export const QueueService = {
find,
@@ -7,10 +7,10 @@ export const QueueService = {
update,
remove,
save,
-};
+}
async function save(keycloak, body) {
- const url = `${Config.CaseEngineUrl}/queue`;
+ const url = `${Config.CaseEngineUrl}/queue`
try {
const resp = await fetch(url, {
@@ -21,16 +21,16 @@ async function save(keycloak, body) {
Authorization: `Bearer ${keycloak.token}`,
},
body: JSON.stringify(body),
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
async function update(keycloak, id, body) {
- const url = `${Config.CaseEngineUrl}/queue/${id}`;
+ const url = `${Config.CaseEngineUrl}/queue/${id}`
try {
const resp = await fetch(url, {
@@ -41,16 +41,16 @@ async function update(keycloak, id, body) {
Authorization: `Bearer ${keycloak.token}`,
},
body: JSON.stringify(body),
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
async function remove(keycloak, id) {
- const url = `${Config.CaseEngineUrl}/queue/${id}`;
+ const url = `${Config.CaseEngineUrl}/queue/${id}`
try {
const resp = await fetch(url, {
@@ -60,42 +60,42 @@ async function remove(keycloak, id) {
'Content-Type': 'application/json',
Authorization: `Bearer ${keycloak.token}`,
},
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
async function find(keycloak) {
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
- var url = `${Config.CaseEngineUrl}/queue`;
+ var url = `${Config.CaseEngineUrl}/queue`
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
async function get(keycloak, id) {
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
- var url = `${Config.CaseEngineUrl}/queue/${id}`;
+ var url = `${Config.CaseEngineUrl}/queue/${id}`
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
diff --git a/apps/react/case-portal/src/services/RecordService.js b/apps/react/case-portal/src/services/RecordService.js
index b5921fa6..c95cdf94 100644
--- a/apps/react/case-portal/src/services/RecordService.js
+++ b/apps/react/case-portal/src/services/RecordService.js
@@ -1,5 +1,5 @@
-import { json, nop } from './request';
-import Config from '../consts';
+import { json, nop } from './request'
+import Config from '../consts'
export const RecordService = {
getRecordTypeById,
@@ -9,58 +9,58 @@ export const RecordService = {
updateRecord,
createRecord,
deleteRecord,
-};
+}
async function getRecordById(keycloak, id) {
- const url = `${Config.CaseEngineUrl}/record/${id}`;
+ const url = `${Config.CaseEngineUrl}/record/${id}`
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function getAllRecordTypes(keycloak) {
- const url = `${Config.CaseEngineUrl}/record-type`;
+ const url = `${Config.CaseEngineUrl}/record-type`
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function getRecordTypeById(keycloak, id) {
- const url = `${Config.CaseEngineUrl}/record-type/${id}`;
+ const url = `${Config.CaseEngineUrl}/record-type/${id}`
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function createRecordType(keycloak, id, data) {
- const url = `${Config.CaseEngineUrl}/record-type/${id}`;
+ const url = `${Config.CaseEngineUrl}/record-type/${id}`
try {
const resp = await fetch(url, {
@@ -71,16 +71,16 @@ async function createRecordType(keycloak, id, data) {
Authorization: `Bearer ${keycloak.token}`,
},
body: JSON.stringify(data),
- });
- return json(keycloak, resp);
+ })
+ return json(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function createRecord(keycloak, id, data) {
- const url = `${Config.CaseEngineUrl}/record/${id}`;
+ const url = `${Config.CaseEngineUrl}/record/${id}`
try {
const resp = await fetch(url, {
@@ -91,16 +91,16 @@ async function createRecord(keycloak, id, data) {
Authorization: `Bearer ${keycloak.token}`,
},
body: JSON.stringify(data),
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function updateRecord(keycloak, id, oid, data) {
- const url = `${Config.CaseEngineUrl}/record/${id}/${oid}`;
+ const url = `${Config.CaseEngineUrl}/record/${id}/${oid}`
try {
const resp = await fetch(url, {
@@ -111,16 +111,16 @@ async function updateRecord(keycloak, id, oid, data) {
Authorization: `Bearer ${keycloak.token}`,
},
body: JSON.stringify(data),
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function deleteRecord(keycloak, id, oid) {
- const url = `${Config.CaseEngineUrl}/record/${id}/${oid}`;
+ const url = `${Config.CaseEngineUrl}/record/${id}/${oid}`
try {
const resp = await fetch(url, {
@@ -130,10 +130,10 @@ async function deleteRecord(keycloak, id, oid) {
'Content-Type': 'application/json',
Authorization: `Bearer ${keycloak.token}`,
},
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
diff --git a/apps/react/case-portal/src/services/RecordTypeService.js b/apps/react/case-portal/src/services/RecordTypeService.js
index 1c8713ca..3847cd10 100644
--- a/apps/react/case-portal/src/services/RecordTypeService.js
+++ b/apps/react/case-portal/src/services/RecordTypeService.js
@@ -1,15 +1,15 @@
-import { json, nop } from './request';
-import Config from '../consts';
+import { json, nop } from './request'
+import Config from '../consts'
export const RecordTypeService = {
create,
update,
remove,
getAll,
-};
+}
async function getAll(keycloak) {
- const url = `${Config.CaseEngineUrl}/record-type`;
+ const url = `${Config.CaseEngineUrl}/record-type`
try {
const resp = await fetch(url, {
@@ -18,16 +18,16 @@ async function getAll(keycloak) {
'Content-Type': 'application/json',
Authorization: `Bearer ${keycloak.token}`,
},
- });
- return json(keycloak, resp);
+ })
+ return json(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function create(keycloak, data) {
- const url = `${Config.CaseEngineUrl}/record-type`;
+ const url = `${Config.CaseEngineUrl}/record-type`
try {
const resp = await fetch(url, {
@@ -38,16 +38,16 @@ async function create(keycloak, data) {
Authorization: `Bearer ${keycloak.token}`,
},
body: JSON.stringify(data),
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function update(keycloak, id, data) {
- const url = `${Config.CaseEngineUrl}/record-type/${id}`;
+ const url = `${Config.CaseEngineUrl}/record-type/${id}`
try {
const resp = await fetch(url, {
@@ -58,16 +58,16 @@ async function update(keycloak, id, data) {
Authorization: `Bearer ${keycloak.token}`,
},
body: JSON.stringify(data),
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function remove(keycloak, id) {
- const url = `${Config.CaseEngineUrl}/record-type/${id}`;
+ const url = `${Config.CaseEngineUrl}/record-type/${id}`
try {
const resp = await fetch(url, {
@@ -77,10 +77,10 @@ async function remove(keycloak, id) {
'Content-Type': 'application/json',
Authorization: `Bearer ${keycloak.token}`,
},
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
diff --git a/apps/react/case-portal/src/services/TaskService.js b/apps/react/case-portal/src/services/TaskService.js
index 79d3b047..ab9e48f9 100644
--- a/apps/react/case-portal/src/services/TaskService.js
+++ b/apps/react/case-portal/src/services/TaskService.js
@@ -1,5 +1,5 @@
-import { json, nop } from './request';
-import Config from 'consts/index';
+import { json, nop } from './request'
+import Config from 'consts/index'
export const TaskService = {
getActivityInstancesById,
@@ -9,142 +9,142 @@ export const TaskService = {
createNewTask,
filterTasks,
filterProcessInstances,
-};
+}
async function getActivityInstancesById(keycloak, processInstanceId) {
- const url = `${Config.CaseEngineUrl}/process-instance/${processInstanceId}/activity-instances`;
+ const url = `${Config.CaseEngineUrl}/process-instance/${processInstanceId}/activity-instances`
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function claim(keycloak, taskId) {
- const url = `${Config.CaseEngineUrl}/task/${taskId}/claim/${keycloak.idTokenParsed.given_name}`;
+ const url = `${Config.CaseEngineUrl}/task/${taskId}/claim/${keycloak.idTokenParsed.given_name}`
const headers = {
Accept: 'application/json',
'Content-Type': 'application/json',
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
try {
- const resp = await fetch(url, { method: 'POST', headers });
- return nop(keycloak, resp);
+ const resp = await fetch(url, { method: 'POST', headers })
+ return nop(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function unclaim(keycloak, taskId) {
- const url = `${Config.CaseEngineUrl}/task/${taskId}/unclaim`;
+ const url = `${Config.CaseEngineUrl}/task/${taskId}/unclaim`
const headers = {
Accept: 'application/json',
'Content-Type': 'application/json',
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
try {
- const resp = await fetch(url, { method: 'POST', headers });
- return nop(keycloak, resp);
+ const resp = await fetch(url, { method: 'POST', headers })
+ return nop(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function complete(keycloak, taskId, body) {
- const url = `${Config.CaseEngineUrl}/task/${taskId}/complete`;
+ const url = `${Config.CaseEngineUrl}/task/${taskId}/complete`
const headers = {
Accept: 'application/json',
'Content-Type': 'application/json',
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
try {
const resp = await fetch(url, {
method: 'POST',
headers,
body: JSON.stringify(body),
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function createNewTask(keycloak, body) {
- const url = `${Config.CaseEngineUrl}/task/create`;
+ const url = `${Config.CaseEngineUrl}/task/create`
const headers = {
Accept: 'application/json',
'Content-Type': 'application/json',
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
try {
const resp = await fetch(url, {
method: 'POST',
headers,
body: JSON.stringify(body),
- });
- return nop(keycloak, resp);
+ })
+ return nop(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function filterTasks(keycloak, businessKey) {
- let query = '';
+ let query = ''
if (businessKey) {
- query = query + (businessKey ? 'businessKey=' + businessKey : '');
+ query = query + (businessKey ? 'businessKey=' + businessKey : '')
}
- const url = `${Config.CaseEngineUrl}/task?${query}`;
+ const url = `${Config.CaseEngineUrl}/task?${query}`
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
async function filterProcessInstances(keycloak, businessKey) {
if (!businessKey) {
- businessKey = '';
+ businessKey = ''
}
- const url = `${Config.CaseEngineUrl}/process-instance?businessKey=${businessKey}`;
+ const url = `${Config.CaseEngineUrl}/process-instance?businessKey=${businessKey}`
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp)
} catch (e) {
- console.log(e);
- return await Promise.reject(e);
+ console.log(e)
+ return await Promise.reject(e)
}
}
diff --git a/apps/react/case-portal/src/services/VariableService.js b/apps/react/case-portal/src/services/VariableService.js
index fb28d90d..f4a64f3a 100644
--- a/apps/react/case-portal/src/services/VariableService.js
+++ b/apps/react/case-portal/src/services/VariableService.js
@@ -1,22 +1,22 @@
-import { json } from './request';
-import Config from '../consts';
+import { json } from './request'
+import Config from '../consts'
export const VariableService = {
getByProcessInstanceId,
-};
+}
async function getByProcessInstanceId(keycloak, processInstanceId) {
const headers = {
Authorization: `Bearer ${keycloak.token}`,
- };
+ }
- var url = `${Config.CaseEngineUrl}/variable?processInstanceId=${processInstanceId}`;
+ var url = `${Config.CaseEngineUrl}/variable?processInstanceId=${processInstanceId}`
try {
- const resp = await fetch(url, { headers });
- return json(keycloak, resp);
+ const resp = await fetch(url, { headers })
+ return json(keycloak, resp)
} catch (err) {
- console.log(err);
- return await Promise.reject(err);
+ console.log(err)
+ return await Promise.reject(err)
}
}
diff --git a/apps/react/case-portal/src/services/index.js b/apps/react/case-portal/src/services/index.js
index 9bd0038f..92533d75 100644
--- a/apps/react/case-portal/src/services/index.js
+++ b/apps/react/case-portal/src/services/index.js
@@ -1,15 +1,15 @@
-import { CaseService } from './CaseService';
-import { NotificationService } from './NotificationService';
-import { EmailService } from './EmailService';
-import { FormService } from './FormService';
-import { RecordService } from './RecordService';
-import { TaskService } from './TaskService';
-import { CaseDefService } from './CaseDefService';
-import { ProcessDefService } from './ProcessDefService';
-import { RecordTypeService } from './RecordTypeService';
-import { FileService } from './FileService';
-import { DeploymentService } from './DeploymentService';
-import { VariableService } from './VariableService';
+import { CaseService } from './CaseService'
+import { NotificationService } from './NotificationService'
+import { EmailService } from './EmailService'
+import { FormService } from './FormService'
+import { RecordService } from './RecordService'
+import { TaskService } from './TaskService'
+import { CaseDefService } from './CaseDefService'
+import { ProcessDefService } from './ProcessDefService'
+import { RecordTypeService } from './RecordTypeService'
+import { FileService } from './FileService'
+import { DeploymentService } from './DeploymentService'
+import { VariableService } from './VariableService'
export {
NotificationService,
@@ -24,4 +24,4 @@ export {
FileService,
DeploymentService,
VariableService,
-};
+}
diff --git a/apps/react/case-portal/src/services/request.js b/apps/react/case-portal/src/services/request.js
index 05d8fecb..dbb1a968 100644
--- a/apps/react/case-portal/src/services/request.js
+++ b/apps/react/case-portal/src/services/request.js
@@ -1,28 +1,28 @@
export function json(keycloak, resp) {
if (resp.status === 401) {
- forceLogoutWhenTokenExpired(keycloak, resp);
- return Promise.reject(resp);
+ forceLogoutWhenTokenExpired(keycloak, resp)
+ return Promise.reject(resp)
}
if (resp.ok) {
- return resp.json();
+ return resp.json()
}
- return Promise.resolve(resp);
+ return Promise.resolve(resp)
}
export function nop(keycloak, resp) {
if (resp.status === 401) {
- forceLogoutWhenTokenExpired(keycloak, resp);
- return Promise.reject(resp);
+ forceLogoutWhenTokenExpired(keycloak, resp)
+ return Promise.reject(resp)
}
- return resp;
+ return resp
}
function forceLogoutWhenTokenExpired(keycloak, resp) {
if (keycloak.isTokenExpired()) {
- console.error(resp);
- keycloak.logout({ redirectUri: window.location.origin });
+ console.error(resp)
+ keycloak.logout({ redirectUri: window.location.origin })
}
}
diff --git a/apps/react/case-portal/src/setupTests.js b/apps/react/case-portal/src/setupTests.js
index df506c39..b35a9ffd 100644
--- a/apps/react/case-portal/src/setupTests.js
+++ b/apps/react/case-portal/src/setupTests.js
@@ -2,5 +2,5 @@
// allows you to do things like:
// expect(element).toHaveTextContent(/react/i)
// learn more: https://github.com/testing-library/jest-dom
-import '@testing-library/jest-dom';
-import 'jest-location-mock';
+import '@testing-library/jest-dom'
+import 'jest-location-mock'
diff --git a/apps/react/case-portal/src/store/account/AccountStore.test.js b/apps/react/case-portal/src/store/account/AccountStore.test.js
index 961315d2..901889a5 100644
--- a/apps/react/case-portal/src/store/account/AccountStore.test.js
+++ b/apps/react/case-portal/src/store/account/AccountStore.test.js
@@ -1,38 +1,38 @@
/* eslint-disable no-undef */
-import store from './index';
+import store from './index'
class Keycloak {
constructor(role) {
- this.hasRole = role;
+ this.hasRole = role
}
hasRealmRole(role) {
- return this.hasRole === role;
+ return this.hasRole === role
}
}
test('should be true when user has managament role', () => {
- expect(store.isManagerUser(new Keycloak('mgmt_case_def'))).toEqual(true);
- expect(store.isManagerUser(new Keycloak('mgmt_record_type'))).toEqual(true);
- expect(store.isManagerUser(new Keycloak('mgmt_form'))).toEqual(true);
-});
+ expect(store.isManagerUser(new Keycloak('mgmt_case_def'))).toEqual(true)
+ expect(store.isManagerUser(new Keycloak('mgmt_record_type'))).toEqual(true)
+ expect(store.isManagerUser(new Keycloak('mgmt_form'))).toEqual(true)
+})
test('should be false when user dont has managament role', () => {
- const results = store.isManagerUser(new Keycloak('client_user'));
+ const results = store.isManagerUser(new Keycloak('client_user'))
- expect(results).toEqual(false);
-});
+ expect(results).toEqual(false)
+})
test('should be true if user has some role', () => {
expect(store.hasRole(new Keycloak('mgmt_case_def'), 'mgmt_case_def')).toEqual(
true,
- );
+ )
expect(store.hasRole(new Keycloak('client_task'), 'client_task')).toEqual(
true,
- );
-});
+ )
+})
test('should be false if user dont have some role', () => {
- expect(store.hasRole(new Keycloak('client_task', 'unknown'))).toEqual(false);
-});
+ expect(store.hasRole(new Keycloak('client_task', 'unknown'))).toEqual(false)
+})
/* eslint-disable no-undef */
diff --git a/apps/react/case-portal/src/store/account/index.js b/apps/react/case-portal/src/store/account/index.js
index cc0fb18d..1a6c37ac 100644
--- a/apps/react/case-portal/src/store/account/index.js
+++ b/apps/react/case-portal/src/store/account/index.js
@@ -1,20 +1,20 @@
-const MGMT_ROLES = ['mgmt_case_def', 'mgmt_record_type', 'mgmt_form'];
+const MGMT_ROLES = ['mgmt_case_def', 'mgmt_record_type', 'mgmt_form']
-const CLT_ROLES = ['client_case', 'client_task', 'client_record'];
+const CLT_ROLES = ['client_case', 'client_task', 'client_record']
function isManagerUser(keycloak) {
- const count = MGMT_ROLES.filter((role) => keycloak.hasRealmRole(role));
- return count.length > 0;
+ const count = MGMT_ROLES.filter((role) => keycloak.hasRealmRole(role))
+ return count.length > 0
}
function hasRole(keycloak, role) {
- return keycloak.hasRealmRole(role);
+ return keycloak.hasRealmRole(role)
}
function hasAnyRole(keycloak) {
- const roles = [...CLT_ROLES, ...MGMT_ROLES];
- const count = roles.filter((role) => keycloak.hasRealmRole(role));
- return count.length > 0;
+ const roles = [...CLT_ROLES, ...MGMT_ROLES]
+ const count = roles.filter((role) => keycloak.hasRealmRole(role))
+ return count.length > 0
}
-export default { hasRole, hasAnyRole, isManagerUser };
+export default { hasRole, hasAnyRole, isManagerUser }
diff --git a/apps/react/case-portal/src/store/index.js b/apps/react/case-portal/src/store/index.js
index 96195742..646757a8 100644
--- a/apps/react/case-portal/src/store/index.js
+++ b/apps/react/case-portal/src/store/index.js
@@ -1,12 +1,12 @@
-import { configureStore } from '@reduxjs/toolkit';
-import reducers from './reducers';
-import accountStore from './account';
-import sessionStore from './session';
+import { configureStore } from '@reduxjs/toolkit'
+import reducers from './reducers'
+import accountStore from './account'
+import sessionStore from './session'
const store = configureStore({
reducer: reducers,
-});
+})
-const { dispatch } = store;
+const { dispatch } = store
-export { store, dispatch, accountStore, sessionStore };
+export { store, dispatch, accountStore, sessionStore }
diff --git a/apps/react/case-portal/src/store/reducers/actions.js b/apps/react/case-portal/src/store/reducers/actions.js
index d5a0eb8d..4143e695 100644
--- a/apps/react/case-portal/src/store/reducers/actions.js
+++ b/apps/react/case-portal/src/store/reducers/actions.js
@@ -1,4 +1,4 @@
// action - account reducer
-export const LOGIN = '@auth/LOGIN';
-export const LOGOUT = '@auth/LOGOUT';
-export const REGISTER = '@auth/REGISTER';
+export const LOGIN = '@auth/LOGIN'
+export const LOGOUT = '@auth/LOGOUT'
+export const REGISTER = '@auth/REGISTER'
diff --git a/apps/react/case-portal/src/store/reducers/index.js b/apps/react/case-portal/src/store/reducers/index.js
index e5c32610..f8ff228d 100644
--- a/apps/react/case-portal/src/store/reducers/index.js
+++ b/apps/react/case-portal/src/store/reducers/index.js
@@ -1,11 +1,11 @@
// third-party
-import { combineReducers } from 'redux';
+import { combineReducers } from 'redux'
// project import
-import menu from './menu';
+import menu from './menu'
// ==============================|| COMBINE REDUCERS ||============================== //
-const reducers = combineReducers({ menu });
+const reducers = combineReducers({ menu })
-export default reducers;
+export default reducers
diff --git a/apps/react/case-portal/src/store/reducers/menu.js b/apps/react/case-portal/src/store/reducers/menu.js
index 84a82ae1..9859c718 100644
--- a/apps/react/case-portal/src/store/reducers/menu.js
+++ b/apps/react/case-portal/src/store/reducers/menu.js
@@ -1,5 +1,5 @@
// types
-import { createSlice } from '@reduxjs/toolkit';
+import { createSlice } from '@reduxjs/toolkit'
// initial state
const initialState = {
@@ -7,7 +7,7 @@ const initialState = {
openComponent: 'buttons',
drawerOpen: true,
componentDrawerOpen: true,
-};
+}
// ==============================|| SLICE - MENU ||============================== //
@@ -16,24 +16,24 @@ const menu = createSlice({
initialState,
reducers: {
activeItem(state, action) {
- state.openItem = action.payload.openItem;
+ state.openItem = action.payload.openItem
},
activeComponent(state, action) {
- state.openComponent = action.payload.openComponent;
+ state.openComponent = action.payload.openComponent
},
openDrawer(state, action) {
- state.drawerOpen = action.payload.drawerOpen;
+ state.drawerOpen = action.payload.drawerOpen
},
openComponentDrawer(state, action) {
- state.componentDrawerOpen = action.payload.componentDrawerOpen;
+ state.componentDrawerOpen = action.payload.componentDrawerOpen
},
},
-});
+})
-export default menu.reducer;
+export default menu.reducer
export const { activeItem, activeComponent, openDrawer, openComponentDrawer } =
- menu.actions;
+ menu.actions
diff --git a/apps/react/case-portal/src/store/session/SessionStore.test.js b/apps/react/case-portal/src/store/session/SessionStore.test.js
index 96caceec..98a5b7fa 100644
--- a/apps/react/case-portal/src/store/session/SessionStore.test.js
+++ b/apps/react/case-portal/src/store/session/SessionStore.test.js
@@ -1,35 +1,35 @@
/* eslint-disable no-undef */
-import store from './index';
+import store from './index'
-jest.mock('keycloak-js');
+jest.mock('keycloak-js')
test('should be initialize realm with subdmain when using dns', () => {
- window.location.assign('http://marketshare.wkspower.local/');
+ window.location.assign('http://marketshare.wkspower.local/')
- const { keycloak, realm, clientId } = store.bootstrap();
+ const { keycloak, realm, clientId } = store.bootstrap()
- expect(keycloak).not.toBeNull();
- expect(realm).toEqual('marketshare');
- expect(clientId).toEqual('wks-portal');
-});
+ expect(keycloak).not.toBeNull()
+ expect(realm).toEqual('marketshare')
+ expect(clientId).toEqual('wks-portal')
+})
test('should be initialize realm default realm when using localhost', () => {
- window.location.assign('http://localhost:3001/');
+ window.location.assign('http://localhost:3001/')
- const { keycloak, realm, clientId } = store.bootstrap();
+ const { keycloak, realm, clientId } = store.bootstrap()
- expect(keycloak).not.toBeNull();
- expect(realm).toEqual('localhost');
- expect(clientId).toEqual('wks-portal');
-});
+ expect(keycloak).not.toBeNull()
+ expect(realm).toEqual('localhost')
+ expect(clientId).toEqual('wks-portal')
+})
test('should be initialize default realm when using app dns', () => {
- window.location.assign('http://app.wkspower.local/');
+ window.location.assign('http://app.wkspower.local/')
- const { keycloak, realm, clientId } = store.bootstrap();
+ const { keycloak, realm, clientId } = store.bootstrap()
- expect(keycloak).not.toBeNull();
- expect(realm).toEqual('app');
- expect(clientId).toEqual('wks-portal');
-});
+ expect(keycloak).not.toBeNull()
+ expect(realm).toEqual('app')
+ expect(clientId).toEqual('wks-portal')
+})
/* eslint-disable no-undef */
diff --git a/apps/react/case-portal/src/store/session/index.js b/apps/react/case-portal/src/store/session/index.js
index 3fb95be1..94a16758 100644
--- a/apps/react/case-portal/src/store/session/index.js
+++ b/apps/react/case-portal/src/store/session/index.js
@@ -1,30 +1,30 @@
-import Keycloak from 'keycloak-js';
-import Config from '../../consts';
+import Keycloak from 'keycloak-js'
+import Config from '../../consts'
function bootstrap() {
- let realm = '';
- const clientId = 'wks-portal';
- const hostname = window.location.hostname;
+ let realm = ''
+ const clientId = 'wks-portal'
+ const hostname = window.location.hostname
if (hostname !== 'localhost') {
- realm = hostname.substring(0, hostname.indexOf('.'));
+ realm = hostname.substring(0, hostname.indexOf('.'))
} else {
- realm = hostname;
+ realm = hostname
}
const kc = new Keycloak({
url: Config.LoginUrl,
realm: realm,
clientId: clientId,
- });
+ })
return {
keycloak: kc,
realm,
clientId,
- };
+ }
}
export default {
bootstrap,
-};
+}
diff --git a/apps/react/case-portal/src/themes/index.js b/apps/react/case-portal/src/themes/index.js
index 19623ac8..49a7a71c 100644
--- a/apps/react/case-portal/src/themes/index.js
+++ b/apps/react/case-portal/src/themes/index.js
@@ -1,23 +1,23 @@
-import PropTypes from 'prop-types';
-import { useMemo } from 'react';
+import PropTypes from 'prop-types'
+import { useMemo } from 'react'
// material-ui
-import { CssBaseline, StyledEngineProvider } from '@mui/material';
-import { createTheme, ThemeProvider } from '@mui/material/styles';
+import { CssBaseline, StyledEngineProvider } from '@mui/material'
+import { createTheme, ThemeProvider } from '@mui/material/styles'
// project import
-import Palette from './palette';
-import Typography from './typography';
-import CustomShadows from './shadows';
-import componentsOverride from './overrides';
+import Palette from './palette'
+import Typography from './typography'
+import CustomShadows from './shadows'
+import componentsOverride from './overrides'
// ==============================|| DEFAULT THEME - MAIN ||============================== //
export default function ThemeCustomization({ children }) {
- const theme = Palette('light', 'default');
+ const theme = Palette('light', 'default')
- const themeTypography = Typography('\'Open Sans\',\'Public Sans\', sans-serif');
- const themeCustomShadows = useMemo(() => CustomShadows(theme), [theme]);
+ const themeTypography = Typography("'Open Sans','Public Sans', sans-serif")
+ const themeCustomShadows = useMemo(() => CustomShadows(theme), [theme])
const themeOptions = useMemo(
() => ({
@@ -43,10 +43,10 @@ export default function ThemeCustomization({ children }) {
typography: themeTypography,
}),
[theme, themeTypography, themeCustomShadows],
- );
+ )
- const themes = createTheme(themeOptions);
- themes.components = componentsOverride(themes);
+ const themes = createTheme(themeOptions)
+ themes.components = componentsOverride(themes)
return (
@@ -55,9 +55,9 @@ export default function ThemeCustomization({ children }) {
{children}
- );
+ )
}
ThemeCustomization.propTypes = {
children: PropTypes.node,
-};
+}
diff --git a/apps/react/case-portal/src/themes/overrides/Badge.js b/apps/react/case-portal/src/themes/overrides/Badge.js
index 0fd6235d..b9708906 100644
--- a/apps/react/case-portal/src/themes/overrides/Badge.js
+++ b/apps/react/case-portal/src/themes/overrides/Badge.js
@@ -11,5 +11,5 @@ export default function Badge(theme) {
},
},
},
- };
+ }
}
diff --git a/apps/react/case-portal/src/themes/overrides/Button.js b/apps/react/case-portal/src/themes/overrides/Button.js
index 51c7abc1..e6da05bd 100644
--- a/apps/react/case-portal/src/themes/overrides/Button.js
+++ b/apps/react/case-portal/src/themes/overrides/Button.js
@@ -5,7 +5,7 @@ export default function Button(theme) {
'&.Mui-disabled': {
backgroundColor: theme.palette.grey[200],
},
- };
+ }
return {
MuiButton: {
@@ -24,5 +24,5 @@ export default function Button(theme) {
},
},
},
- };
+ }
}
diff --git a/apps/react/case-portal/src/themes/overrides/CardContent.js b/apps/react/case-portal/src/themes/overrides/CardContent.js
index 0d4b0aa4..3702c75a 100644
--- a/apps/react/case-portal/src/themes/overrides/CardContent.js
+++ b/apps/react/case-portal/src/themes/overrides/CardContent.js
@@ -12,5 +12,5 @@ export default function CardContent() {
},
},
},
- };
+ }
}
diff --git a/apps/react/case-portal/src/themes/overrides/Checkbox.js b/apps/react/case-portal/src/themes/overrides/Checkbox.js
index 3c89dd42..516598c2 100644
--- a/apps/react/case-portal/src/themes/overrides/Checkbox.js
+++ b/apps/react/case-portal/src/themes/overrides/Checkbox.js
@@ -9,5 +9,5 @@ export default function Checkbox(theme) {
},
},
},
- };
+ }
}
diff --git a/apps/react/case-portal/src/themes/overrides/Chip.js b/apps/react/case-portal/src/themes/overrides/Chip.js
index ec943bab..7376c2c6 100644
--- a/apps/react/case-portal/src/themes/overrides/Chip.js
+++ b/apps/react/case-portal/src/themes/overrides/Chip.js
@@ -36,5 +36,5 @@ export default function Chip(theme) {
},
},
},
- };
+ }
}
diff --git a/apps/react/case-portal/src/themes/overrides/Grid.js b/apps/react/case-portal/src/themes/overrides/Grid.js
index 4633d981..dd808468 100644
--- a/apps/react/case-portal/src/themes/overrides/Grid.js
+++ b/apps/react/case-portal/src/themes/overrides/Grid.js
@@ -20,5 +20,5 @@ export default function Grid(theme) {
},
},
},
- };
+ }
}
diff --git a/apps/react/case-portal/src/themes/overrides/IconButton.js b/apps/react/case-portal/src/themes/overrides/IconButton.js
index 70dbdc98..fb3eb814 100644
--- a/apps/react/case-portal/src/themes/overrides/IconButton.js
+++ b/apps/react/case-portal/src/themes/overrides/IconButton.js
@@ -24,5 +24,5 @@ export default function IconButton(theme) {
},
},
},
- };
+ }
}
diff --git a/apps/react/case-portal/src/themes/overrides/InputLabel.js b/apps/react/case-portal/src/themes/overrides/InputLabel.js
index 77c134b0..2dc6c578 100644
--- a/apps/react/case-portal/src/themes/overrides/InputLabel.js
+++ b/apps/react/case-portal/src/themes/overrides/InputLabel.js
@@ -21,5 +21,5 @@ export default function InputLabel(theme) {
},
},
},
- };
+ }
}
diff --git a/apps/react/case-portal/src/themes/overrides/LinearProgress.js b/apps/react/case-portal/src/themes/overrides/LinearProgress.js
index 8c9b4c90..714520c2 100644
--- a/apps/react/case-portal/src/themes/overrides/LinearProgress.js
+++ b/apps/react/case-portal/src/themes/overrides/LinearProgress.js
@@ -13,5 +13,5 @@ export default function LinearProgress() {
},
},
},
- };
+ }
}
diff --git a/apps/react/case-portal/src/themes/overrides/Link.js b/apps/react/case-portal/src/themes/overrides/Link.js
index ba8f9d6a..07677f73 100644
--- a/apps/react/case-portal/src/themes/overrides/Link.js
+++ b/apps/react/case-portal/src/themes/overrides/Link.js
@@ -7,5 +7,5 @@ export default function Link() {
underline: 'hover',
},
},
- };
+ }
}
diff --git a/apps/react/case-portal/src/themes/overrides/ListItemIcon.js b/apps/react/case-portal/src/themes/overrides/ListItemIcon.js
index 41daa4cf..b9622dcc 100644
--- a/apps/react/case-portal/src/themes/overrides/ListItemIcon.js
+++ b/apps/react/case-portal/src/themes/overrides/ListItemIcon.js
@@ -9,5 +9,5 @@ export default function ListItemIcon() {
},
},
},
- };
+ }
}
diff --git a/apps/react/case-portal/src/themes/overrides/OutlinedInput.js b/apps/react/case-portal/src/themes/overrides/OutlinedInput.js
index 7e25d6a2..dcaf2ee6 100644
--- a/apps/react/case-portal/src/themes/overrides/OutlinedInput.js
+++ b/apps/react/case-portal/src/themes/overrides/OutlinedInput.js
@@ -1,5 +1,5 @@
// material-ui
-import { alpha } from '@mui/material/styles';
+import { alpha } from '@mui/material/styles'
// ==============================|| OVERRIDES - OUTLINED INPUT ||============================== //
@@ -43,5 +43,5 @@ export default function OutlinedInput(theme) {
},
},
},
- };
+ }
}
diff --git a/apps/react/case-portal/src/themes/overrides/Tab.js b/apps/react/case-portal/src/themes/overrides/Tab.js
index 7b5e723f..49affcf8 100644
--- a/apps/react/case-portal/src/themes/overrides/Tab.js
+++ b/apps/react/case-portal/src/themes/overrides/Tab.js
@@ -10,5 +10,5 @@ export default function Tab(theme) {
},
},
},
- };
+ }
}
diff --git a/apps/react/case-portal/src/themes/overrides/TableCell.js b/apps/react/case-portal/src/themes/overrides/TableCell.js
index b6895c64..91559031 100644
--- a/apps/react/case-portal/src/themes/overrides/TableCell.js
+++ b/apps/react/case-portal/src/themes/overrides/TableCell.js
@@ -16,5 +16,5 @@ export default function TableCell(theme) {
},
},
},
- };
+ }
}
diff --git a/apps/react/case-portal/src/themes/overrides/Tabs.js b/apps/react/case-portal/src/themes/overrides/Tabs.js
index f61598da..8bcf519f 100644
--- a/apps/react/case-portal/src/themes/overrides/Tabs.js
+++ b/apps/react/case-portal/src/themes/overrides/Tabs.js
@@ -9,5 +9,5 @@ export default function Tabs() {
},
},
},
- };
+ }
}
diff --git a/apps/react/case-portal/src/themes/overrides/Typography.js b/apps/react/case-portal/src/themes/overrides/Typography.js
index 7a0df8d5..3cafabbc 100644
--- a/apps/react/case-portal/src/themes/overrides/Typography.js
+++ b/apps/react/case-portal/src/themes/overrides/Typography.js
@@ -9,5 +9,5 @@ export default function Typography() {
},
},
},
- };
+ }
}
diff --git a/apps/react/case-portal/src/themes/overrides/index.js b/apps/react/case-portal/src/themes/overrides/index.js
index 067ae82a..cec68d91 100644
--- a/apps/react/case-portal/src/themes/overrides/index.js
+++ b/apps/react/case-portal/src/themes/overrides/index.js
@@ -1,23 +1,23 @@
// third-party
-import { merge } from 'lodash';
+import { merge } from 'lodash'
// project import
-import Badge from './Badge';
-import Button from './Button';
-import CardContent from './CardContent';
-import Checkbox from './Checkbox';
-import Chip from './Chip';
-import IconButton from './IconButton';
-import InputLabel from './InputLabel';
-import LinearProgress from './LinearProgress';
-import Link from './Link';
-import ListItemIcon from './ListItemIcon';
-import OutlinedInput from './OutlinedInput';
-import Grid from './Grid';
-import Tab from './Tab';
-import TableCell from './TableCell';
-import Tabs from './Tabs';
-import Typography from './Typography';
+import Badge from './Badge'
+import Button from './Button'
+import CardContent from './CardContent'
+import Checkbox from './Checkbox'
+import Chip from './Chip'
+import IconButton from './IconButton'
+import InputLabel from './InputLabel'
+import LinearProgress from './LinearProgress'
+import Link from './Link'
+import ListItemIcon from './ListItemIcon'
+import OutlinedInput from './OutlinedInput'
+import Grid from './Grid'
+import Tab from './Tab'
+import TableCell from './TableCell'
+import Tabs from './Tabs'
+import Typography from './Typography'
// ==============================|| OVERRIDES - MAIN ||============================== //
@@ -39,5 +39,5 @@ export default function ComponentsOverrides(theme) {
TableCell(theme),
Tabs(),
Typography(),
- );
+ )
}
diff --git a/apps/react/case-portal/src/themes/palette.js b/apps/react/case-portal/src/themes/palette.js
index 2c3466b0..05e6fdba 100644
--- a/apps/react/case-portal/src/themes/palette.js
+++ b/apps/react/case-portal/src/themes/palette.js
@@ -1,16 +1,16 @@
// material-ui
-import { createTheme } from '@mui/material/styles';
+import { createTheme } from '@mui/material/styles'
// third-party
-import { presetPalettes } from '@ant-design/colors';
+import { presetPalettes } from '@ant-design/colors'
// project import
-import ThemeOption from './theme';
+import ThemeOption from './theme'
// ==============================|| DEFAULT THEME - PALETTE ||============================== //
const Palette = (mode) => {
- const colors = presetPalettes;
+ const colors = presetPalettes
const greyPrimary = [
'#ffffff',
@@ -24,13 +24,13 @@ const Palette = (mode) => {
'#262626',
'#141414',
'#000000',
- ];
- const greyAscent = ['#fafafa', '#bfbfbf', '#434343', '#1f1f1f'];
- const greyConstant = ['#fafafb', '#e6ebf1'];
+ ]
+ const greyAscent = ['#fafafa', '#bfbfbf', '#434343', '#1f1f1f']
+ const greyConstant = ['#fafafb', '#e6ebf1']
- colors.grey = [...greyPrimary, ...greyAscent, ...greyConstant];
+ colors.grey = [...greyPrimary, ...greyAscent, ...greyConstant]
- const paletteColor = ThemeOption(colors);
+ const paletteColor = ThemeOption(colors)
return createTheme({
palette: {
@@ -54,7 +54,7 @@ const Palette = (mode) => {
default: paletteColor.grey.A50,
},
},
- });
-};
+ })
+}
-export default Palette;
+export default Palette
diff --git a/apps/react/case-portal/src/themes/shadows.js b/apps/react/case-portal/src/themes/shadows.js
index 799abb18..eed81784 100644
--- a/apps/react/case-portal/src/themes/shadows.js
+++ b/apps/react/case-portal/src/themes/shadows.js
@@ -1,5 +1,5 @@
// material-ui
-import { alpha } from '@mui/material/styles';
+import { alpha } from '@mui/material/styles'
// ==============================|| DEFAULT THEME - CUSTOM SHADOWS ||============================== //
@@ -8,6 +8,6 @@ const CustomShadows = (theme) => ({
text: '0 -1px 0 rgb(0 0 0 / 12%)',
z1: `0px 2px 8px ${alpha(theme.palette.grey[900], 0.15)}`,
// only available in paid version
-});
+})
-export default CustomShadows;
+export default CustomShadows
diff --git a/apps/react/case-portal/src/themes/theme/index.js b/apps/react/case-portal/src/themes/theme/index.js
index e0c2b047..5170672a 100644
--- a/apps/react/case-portal/src/themes/theme/index.js
+++ b/apps/react/case-portal/src/themes/theme/index.js
@@ -1,7 +1,7 @@
// ==============================|| PRESET THEME - THEME SELECTOR ||============================== //
const Theme = (colors) => {
- const { red, gold, cyan, green, grey } = colors;
+ const { red, gold, cyan, green, grey } = colors
const blue = [
'#e8faff',
@@ -14,7 +14,7 @@ const Theme = (colors) => {
'#025ca6',
'#004280',
'#002b59',
- ];
+ ]
const greyColors = {
0: grey[0],
@@ -34,8 +34,8 @@ const Theme = (colors) => {
A400: grey[13],
A700: grey[14],
A800: grey[16],
- };
- const contrastText = '#fff';
+ }
+ const contrastText = '#fff'
return {
primary: {
@@ -100,7 +100,7 @@ const Theme = (colors) => {
contrastText,
},
grey: greyColors,
- };
-};
+ }
+}
-export default Theme;
+export default Theme
diff --git a/apps/react/case-portal/src/themes/typography.js b/apps/react/case-portal/src/themes/typography.js
index 9d72b762..4335a360 100644
--- a/apps/react/case-portal/src/themes/typography.js
+++ b/apps/react/case-portal/src/themes/typography.js
@@ -66,6 +66,6 @@ const Typography = (fontFamily) => ({
button: {
textTransform: 'capitalize',
},
-});
+})
-export default Typography;
+export default Typography
diff --git a/apps/react/case-portal/src/utils/SyntaxHighlight.js b/apps/react/case-portal/src/utils/SyntaxHighlight.js
index 6c922afb..ff724401 100644
--- a/apps/react/case-portal/src/utils/SyntaxHighlight.js
+++ b/apps/react/case-portal/src/utils/SyntaxHighlight.js
@@ -1,8 +1,8 @@
-import PropTypes from 'prop-types';
+import PropTypes from 'prop-types'
// third-party
-import SyntaxHighlighter from 'react-syntax-highlighter';
-import { a11yDark } from 'react-syntax-highlighter/dist/esm/styles/hljs';
+import SyntaxHighlighter from 'react-syntax-highlighter'
+import { a11yDark } from 'react-syntax-highlighter/dist/esm/styles/hljs'
// ==============================|| CODE HIGHLIGHTER ||============================== //
@@ -16,9 +16,9 @@ export default function SyntaxHighlight({ children, ...others }) {
>
{children}
- );
+ )
}
SyntaxHighlight.propTypes = {
children: PropTypes.node,
-};
+}
diff --git a/apps/react/case-portal/src/utils/jsonStringCheck.js b/apps/react/case-portal/src/utils/jsonStringCheck.js
index 99ddc8ad..00b9c926 100644
--- a/apps/react/case-portal/src/utils/jsonStringCheck.js
+++ b/apps/react/case-portal/src/utils/jsonStringCheck.js
@@ -1,8 +1,8 @@
export function tryParseJSONObject(jsonString) {
try {
- JSON.parse(jsonString);
+ JSON.parse(jsonString)
} catch (e) {
- return false;
+ return false
}
- return true;
+ return true
}
diff --git a/apps/react/case-portal/src/utils/password-strength.js b/apps/react/case-portal/src/utils/password-strength.js
index 33df7b82..d133695f 100644
--- a/apps/react/case-portal/src/utils/password-strength.js
+++ b/apps/react/case-portal/src/utils/password-strength.js
@@ -1,30 +1,30 @@
// has number
-const hasNumber = (number) => new RegExp(/[0-9]/).test(number);
+const hasNumber = (number) => new RegExp(/[0-9]/).test(number)
// has mix of small and capitals
const hasMixed = (number) =>
- new RegExp(/[a-z]/).test(number) && new RegExp(/[A-Z]/).test(number);
+ new RegExp(/[a-z]/).test(number) && new RegExp(/[A-Z]/).test(number)
// has special chars
-const hasSpecial = (number) => new RegExp(/[!#@$%^&*)(+=._-]/).test(number);
+const hasSpecial = (number) => new RegExp(/[!#@$%^&*)(+=._-]/).test(number)
// set color based on password strength
export const strengthColor = (count) => {
- if (count < 2) return { label: 'Poor', color: 'error.main' };
- if (count < 3) return { label: 'Weak', color: 'warning.main' };
- if (count < 4) return { label: 'Normal', color: 'warning.dark' };
- if (count < 5) return { label: 'Good', color: 'success.main' };
- if (count < 6) return { label: 'Strong', color: 'success.dark' };
- return { label: 'Poor', color: 'error.main' };
-};
+ if (count < 2) return { label: 'Poor', color: 'error.main' }
+ if (count < 3) return { label: 'Weak', color: 'warning.main' }
+ if (count < 4) return { label: 'Normal', color: 'warning.dark' }
+ if (count < 5) return { label: 'Good', color: 'success.main' }
+ if (count < 6) return { label: 'Strong', color: 'success.dark' }
+ return { label: 'Poor', color: 'error.main' }
+}
// password strength indicator
export const strengthIndicator = (number) => {
- let strengths = 0;
- if (number.length > 5) strengths += 1;
- if (number.length > 7) strengths += 1;
- if (hasNumber(number)) strengths += 1;
- if (hasSpecial(number)) strengths += 1;
- if (hasMixed(number)) strengths += 1;
- return strengths;
-};
+ let strengths = 0
+ if (number.length > 5) strengths += 1
+ if (number.length > 7) strengths += 1
+ if (hasNumber(number)) strengths += 1
+ if (hasSpecial(number)) strengths += 1
+ if (hasMixed(number)) strengths += 1
+ return strengths
+}
diff --git a/apps/react/case-portal/src/views/bpmnViewer/BpmnReact.js b/apps/react/case-portal/src/views/bpmnViewer/BpmnReact.js
index 251e250e..8b2ff17f 100644
--- a/apps/react/case-portal/src/views/bpmnViewer/BpmnReact.js
+++ b/apps/react/case-portal/src/views/bpmnViewer/BpmnReact.js
@@ -1,11 +1,11 @@
-import React, { useCallback, useEffect, useState } from 'react';
-import BpmnJS from 'bpmn-js/dist/bpmn-navigated-viewer.production.min.js';
-import './BpmnIo.css';
-import { useSession } from 'SessionStoreContext';
+import React, { useCallback, useEffect, useState } from 'react'
+import BpmnJS from 'bpmn-js/dist/bpmn-navigated-viewer.production.min.js'
+import './BpmnIo.css'
+import { useSession } from 'SessionStoreContext'
export const ReactBpmn = ({ url, activities }) => {
- const [containerRef, setContainerRef] = useState(React.createRef);
- const keycloak = useSession();
+ const [containerRef, setContainerRef] = useState(React.createRef)
+ const keycloak = useSession()
useEffect(() => {
fetch(url, {
@@ -15,26 +15,26 @@ export const ReactBpmn = ({ url, activities }) => {
})
.then((response) => response.text())
.then((text) => {
- memoizedCallback(text);
- });
- }, [activities]);
+ memoizedCallback(text)
+ })
+ }, [activities])
const memoizedCallback = useCallback(
(text) => {
- setContainerRef(React.createRef);
- const container = containerRef.current;
- const bpmnViewer = new BpmnJS({ container });
+ setContainerRef(React.createRef)
+ const container = containerRef.current
+ const bpmnViewer = new BpmnJS({ container })
bpmnViewer.importXML(text).then(() => {
- const canvas = bpmnViewer.get('canvas');
+ const canvas = bpmnViewer.get('canvas')
activities.forEach((activity) =>
canvas.addMarker(activity.activityId, 'highlight'),
- );
- canvas.zoom('fit-viewport');
- });
+ )
+ canvas.zoom('fit-viewport')
+ })
},
[activities],
- );
+ )
const Div = useCallback(
({ containerRef }) => {
@@ -49,11 +49,11 @@ export const ReactBpmn = ({ url, activities }) => {
className='react-bpmn-diagram-container'
ref={containerRef}
>
- );
+ )
},
[activities],
- );
+ )
- return ;
-};
+ return
+}
diff --git a/apps/react/case-portal/src/views/bpmnViewer/ProcessDiagram.js b/apps/react/case-portal/src/views/bpmnViewer/ProcessDiagram.js
index df22bebc..cf449efb 100644
--- a/apps/react/case-portal/src/views/bpmnViewer/ProcessDiagram.js
+++ b/apps/react/case-portal/src/views/bpmnViewer/ProcessDiagram.js
@@ -1,8 +1,8 @@
-import { ReactBpmn } from './BpmnReact';
-import Config from 'consts/index';
+import { ReactBpmn } from './BpmnReact'
+import Config from 'consts/index'
export const ProcessDiagram = ({ processDefinitionId, activityInstances }) => {
- const url = `${Config.CaseEngineUrl}/process-definition/${processDefinitionId}/xml`;
+ const url = `${Config.CaseEngineUrl}/process-definition/${processDefinitionId}/xml`
- return ;
-};
+ return
+}
diff --git a/apps/react/case-portal/src/views/caseComment/Comment.js b/apps/react/case-portal/src/views/caseComment/Comment.js
index 3fa9fb60..0da37271 100644
--- a/apps/react/case-portal/src/views/caseComment/Comment.js
+++ b/apps/react/case-portal/src/views/caseComment/Comment.js
@@ -1,10 +1,10 @@
-import Avatar from '@mui/material/Avatar';
-import Box from '@mui/material/Box';
-import Button from '@mui/material/Button';
-import Typography from '@mui/material/Typography';
-import User1 from 'assets/images/users/avatar-3.png';
-import { useTranslation } from 'react-i18next';
-import CommentForm from './CommentForm';
+import Avatar from '@mui/material/Avatar'
+import Box from '@mui/material/Box'
+import Button from '@mui/material/Button'
+import Typography from '@mui/material/Typography'
+import User1 from 'assets/images/users/avatar-3.png'
+import { useTranslation } from 'react-i18next'
+import CommentForm from './CommentForm'
const Comment = ({
comment,
@@ -20,20 +20,20 @@ const Comment = ({
const isEditing =
activeComment &&
activeComment.id === comment.id &&
- activeComment.type === 'editing';
+ activeComment.type === 'editing'
const isReplying =
activeComment &&
activeComment.id === comment.id &&
- activeComment.type === 'replying';
+ activeComment.type === 'replying'
// const fiveMinutes = 300000;
// const timePassed = new Date() - new Date(comment.createdAt) > fiveMinutes;
- const canDelete = replies.length === 0; // && currentUserId === comment.userId && !timePassed;
- const canReply = true; //Boolean(currentUserId);
- const canEdit = true; //currentUserId === comment.userId && !timePassed;
- const replyId = parentId ? parentId : comment.id;
- const createdAt = new Date(comment.createdAt).toLocaleDateString();
+ const canDelete = replies.length === 0 // && currentUserId === comment.userId && !timePassed;
+ const canReply = true //Boolean(currentUserId);
+ const canEdit = true //currentUserId === comment.userId && !timePassed;
+ const replyId = parentId ? parentId : comment.id
+ const createdAt = new Date(comment.createdAt).toLocaleDateString()
- const { t } = useTranslation();
+ const { t } = useTranslation()
return (
@@ -57,7 +57,7 @@ const Comment = ({
initialText={comment.body}
handleSubmit={(text) => updateComment(text, comment.id)}
handleCancel={() => {
- setActiveComment(null);
+ setActiveComment(null)
}}
/>
)}
@@ -117,7 +117,7 @@ const Comment = ({
)}
- );
-};
+ )
+}
-export default Comment;
+export default Comment
diff --git a/apps/react/case-portal/src/views/caseComment/CommentForm.js b/apps/react/case-portal/src/views/caseComment/CommentForm.js
index d9af9508..e078fac6 100644
--- a/apps/react/case-portal/src/views/caseComment/CommentForm.js
+++ b/apps/react/case-portal/src/views/caseComment/CommentForm.js
@@ -1,7 +1,7 @@
-import Box from '@mui/material/Box';
-import Button from '@mui/material/Button';
-import TextField from '@mui/material/TextField';
-import { useState } from 'react';
+import Box from '@mui/material/Box'
+import Button from '@mui/material/Button'
+import TextField from '@mui/material/TextField'
+import { useState } from 'react'
const CommentForm = ({
handleSubmit,
@@ -10,13 +10,13 @@ const CommentForm = ({
handleCancel,
initialText = '',
}) => {
- const [text, setText] = useState(initialText);
- const isTextareaDisabled = text.length === 0;
+ const [text, setText] = useState(initialText)
+ const isTextareaDisabled = text.length === 0
const onSubmit = (event) => {
- event.preventDefault();
- handleSubmit(text);
- setText('');
- };
+ event.preventDefault()
+ handleSubmit(text)
+ setText('')
+ }
return (
)}
- );
-};
+ )
+}
-export default CommentForm;
+export default CommentForm
diff --git a/apps/react/case-portal/src/views/caseComment/Comments.js b/apps/react/case-portal/src/views/caseComment/Comments.js
index 5deefecc..db8cc657 100644
--- a/apps/react/case-portal/src/views/caseComment/Comments.js
+++ b/apps/react/case-portal/src/views/caseComment/Comments.js
@@ -1,23 +1,23 @@
-import React from 'react';
-import Typography from '@mui/material/Typography';
-import { useSession } from 'SessionStoreContext';
-import { useEffect, useState } from 'react';
-import { CaseService } from '../../services';
-import Comment from './Comment';
-import CommentForm from './CommentForm';
-import { deleteComment as deleteCommentApi } from './api';
-import './comments.css';
+import React from 'react'
+import Typography from '@mui/material/Typography'
+import { useSession } from 'SessionStoreContext'
+import { useEffect, useState } from 'react'
+import { CaseService } from '../../services'
+import Comment from './Comment'
+import CommentForm from './CommentForm'
+import { deleteComment as deleteCommentApi } from './api'
+import './comments.css'
export const Comments = ({ comments, aCase, getCaseInfo }) => {
- const [backendComments, setBackendComments] = useState(comments);
+ const [backendComments, setBackendComments] = useState(comments)
- const [activeComment, setActiveComment] = useState(null);
+ const [activeComment, setActiveComment] = useState(null)
const rootComments = backendComments.filter(
(backendComment) =>
backendComment.parentId === null ||
!Object.prototype.hasOwnProperty.call(backendComment, 'parentId'),
- );
+ )
const getReplies = (commentId) =>
backendComments
@@ -25,57 +25,57 @@ export const Comments = ({ comments, aCase, getCaseInfo }) => {
.sort(
(a, b) =>
new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime(),
- );
+ )
- const keycloak = useSession();
+ const keycloak = useSession()
const addComment = async (text, parentId) => {
CaseService.addComment(keycloak, text, parentId, aCase.businessKey)
.then(() => {
- getCaseInfo(aCase);
+ getCaseInfo(aCase)
})
.then(() => {
- getCaseInfo(aCase);
- setActiveComment(null);
+ getCaseInfo(aCase)
+ setActiveComment(null)
})
- .catch((err) => console.error(err));
- };
+ .catch((err) => console.error(err))
+ }
const updateComment = (text, commentId) => {
CaseService.updateComment(keycloak, text, commentId, aCase.businessKey)
.then(() => {
- getCaseInfo(aCase);
- setActiveComment(null);
+ getCaseInfo(aCase)
+ setActiveComment(null)
})
.catch((err) => {
- console.error(err);
- setActiveComment(null);
- });
- };
+ console.error(err)
+ setActiveComment(null)
+ })
+ }
const deleteComment = (commentId) => {
// if (window.confirm('Are you sure you want to remove comment?')) {
deleteCommentApi().then(() => {
const updatedBackendComments = backendComments.filter(
(backendComment) => backendComment.id !== commentId,
- );
- setBackendComments(updatedBackendComments);
- });
+ )
+ setBackendComments(updatedBackendComments)
+ })
CaseService.deleteComment(keycloak, commentId, aCase.businessKey)
.then(() => {
- getCaseInfo(aCase, true);
- setActiveComment(null);
+ getCaseInfo(aCase, true)
+ setActiveComment(null)
})
.catch((err) => {
- console.error(err);
- setActiveComment(null);
- });
+ console.error(err)
+ setActiveComment(null)
+ })
// }
- };
+ }
useEffect(() => {
- setBackendComments(comments);
- });
+ setBackendComments(comments)
+ })
return (
@@ -102,5 +102,5 @@ export const Comments = ({ comments, aCase, getCaseInfo }) => {
/>
))}
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/caseComment/api.js b/apps/react/case-portal/src/views/caseComment/api.js
index df83b40e..c040a969 100644
--- a/apps/react/case-portal/src/views/caseComment/api.js
+++ b/apps/react/case-portal/src/views/caseComment/api.js
@@ -32,8 +32,8 @@ export const getComments = async () => {
parentId: '2',
createdAt: '2021-08-16T23:00:33.010+02:00',
},
- ];
-};
+ ]
+}
export const createComment = async (text, parentId = null) => {
return {
@@ -43,13 +43,13 @@ export const createComment = async (text, parentId = null) => {
userId: '1',
username: 'John',
createdAt: new Date().toISOString(),
- };
-};
+ }
+}
export const updateComment = async (text) => {
- return { text };
-};
+ return { text }
+}
export const deleteComment = async () => {
- return {};
-};
+ return {}
+}
diff --git a/apps/react/case-portal/src/views/caseEmail/caseEmailList.js b/apps/react/case-portal/src/views/caseEmail/caseEmailList.js
index 6faaf303..b6e13ccd 100644
--- a/apps/react/case-portal/src/views/caseEmail/caseEmailList.js
+++ b/apps/react/case-portal/src/views/caseEmail/caseEmailList.js
@@ -1,4 +1,4 @@
-import EmailIcon from '@mui/icons-material/Email';
+import EmailIcon from '@mui/icons-material/Email'
import {
Avatar,
Box,
@@ -10,51 +10,51 @@ import {
ListItemText,
Modal,
Typography,
-} from '@mui/material';
-import { useSession } from 'SessionStoreContext';
-import DOMPurify from 'dompurify';
-import { useEffect, useState } from 'react';
-import { useTranslation } from 'react-i18next';
-import { EmailService } from '../../services';
-import { EmailForm } from './emailForm';
+} from '@mui/material'
+import { useSession } from 'SessionStoreContext'
+import DOMPurify from 'dompurify'
+import { useEffect, useState } from 'react'
+import { useTranslation } from 'react-i18next'
+import { EmailService } from '../../services'
+import { EmailForm } from './emailForm'
export const CaseEmailsList = ({ caseInstanceBusinessKey }) => {
- const [emails, setEmails] = useState([]);
- const [expandedEmailId, setExpandedEmailId] = useState(null);
- const [isModalOpen, setIsModalOpen] = useState(false);
- const { t } = useTranslation();
- const keycloak = useSession();
+ const [emails, setEmails] = useState([])
+ const [expandedEmailId, setExpandedEmailId] = useState(null)
+ const [isModalOpen, setIsModalOpen] = useState(false)
+ const { t } = useTranslation()
+ const keycloak = useSession()
useEffect(() => {
EmailService.getAllByBusinessKey(keycloak, caseInstanceBusinessKey)
.then((data) => {
- setEmails(data);
+ setEmails(data)
})
.catch((err) => {
- console.log(err.message);
- });
- }, [caseInstanceBusinessKey]);
+ console.log(err.message)
+ })
+ }, [caseInstanceBusinessKey])
const handleExpandToggle = (emailId) => {
- setExpandedEmailId(expandedEmailId === emailId ? null : emailId);
- };
+ setExpandedEmailId(expandedEmailId === emailId ? null : emailId)
+ }
const handleEmailSend = (emailData) => {
EmailService.send(keycloak, {
...emailData,
outbound: true,
caseInstanceBusinessKey,
- });
- setIsModalOpen(false);
- };
+ })
+ setIsModalOpen(false)
+ }
const handleOpenModal = () => {
- setIsModalOpen(true);
- };
+ setIsModalOpen(true)
+ }
const handleCloseModal = () => {
- setIsModalOpen(false);
- };
+ setIsModalOpen(false)
+ }
return (
<>
@@ -138,5 +138,5 @@ export const CaseEmailsList = ({ caseInstanceBusinessKey }) => {
))}
>
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/caseForm/Documents.js b/apps/react/case-portal/src/views/caseForm/Documents.js
index d2043fcd..2eadf6cd 100644
--- a/apps/react/case-portal/src/views/caseForm/Documents.js
+++ b/apps/react/case-portal/src/views/caseForm/Documents.js
@@ -1,34 +1,34 @@
-import FileExcelOutlined from '@ant-design/icons/FileExcelOutlined';
-import FileImageOutlined from '@ant-design/icons/FileImageOutlined';
-import FileOutlined from '@ant-design/icons/FileOutlined';
-import FilePdfOutlined from '@ant-design/icons/FilePdfOutlined';
-import { Grid } from '@mui/material';
-import MuiAlert from '@mui/material/Alert';
-import Avatar from '@mui/material/Avatar';
-import Box from '@mui/material/Box';
-import CircularProgress from '@mui/material/CircularProgress';
-import Fade from '@mui/material/Fade';
-import List from '@mui/material/List';
-import ListItem from '@mui/material/ListItem';
-import ListItemAvatar from '@mui/material/ListItemAvatar';
-import ListItemText from '@mui/material/ListItemText';
-import Snackbar from '@mui/material/Snackbar';
-import Typography from '@mui/material/Typography';
-import { useSession } from 'SessionStoreContext';
-import React, { useState } from 'react';
-import Files from 'react-files';
-import { FileService } from '../../services';
-import CaseStore from './store';
+import FileExcelOutlined from '@ant-design/icons/FileExcelOutlined'
+import FileImageOutlined from '@ant-design/icons/FileImageOutlined'
+import FileOutlined from '@ant-design/icons/FileOutlined'
+import FilePdfOutlined from '@ant-design/icons/FilePdfOutlined'
+import { Grid } from '@mui/material'
+import MuiAlert from '@mui/material/Alert'
+import Avatar from '@mui/material/Avatar'
+import Box from '@mui/material/Box'
+import CircularProgress from '@mui/material/CircularProgress'
+import Fade from '@mui/material/Fade'
+import List from '@mui/material/List'
+import ListItem from '@mui/material/ListItem'
+import ListItemAvatar from '@mui/material/ListItemAvatar'
+import ListItemText from '@mui/material/ListItemText'
+import Snackbar from '@mui/material/Snackbar'
+import Typography from '@mui/material/Typography'
+import { useSession } from 'SessionStoreContext'
+import React, { useState } from 'react'
+import Files from 'react-files'
+import { FileService } from '../../services'
+import CaseStore from './store'
function Documents({ aCase, initialValue }) {
- const keycloak = useSession();
- const [fetching, setFetching] = useState(false);
- const [percent, setPercent] = useState(0);
- const [messageError, setMessageError] = useState(null);
- const [filesUploaded, setFilesUploaded] = useState(initialValue);
+ const keycloak = useSession()
+ const [fetching, setFetching] = useState(false)
+ const [percent, setPercent] = useState(0)
+ const [messageError, setMessageError] = useState(null)
+ const [filesUploaded, setFilesUploaded] = useState(initialValue)
const handleChange = (files) => {
- setFetching(true);
+ setFetching(true)
CaseStore.saveDocumentsFromFiles(
keycloak,
@@ -37,28 +37,28 @@ function Documents({ aCase, initialValue }) {
setPercent,
)
.then((data) => {
- setFilesUploaded([...filesUploaded, ...data]);
+ setFilesUploaded([...filesUploaded, ...data])
})
.catch((e) => {
- console.log(e);
- setMessageError(e);
+ console.log(e)
+ setMessageError(e)
})
.finally(() => {
const timer = setTimeout(() => {
- setPercent(0);
- setFetching(false);
- clearTimeout(timer);
- }, 800);
- });
- };
+ setPercent(0)
+ setFetching(false)
+ clearTimeout(timer)
+ }, 800)
+ })
+ }
const handleError = (error) => {
- console.log('error code ' + error.code + ': ' + error.message);
- };
+ console.log('error code ' + error.code + ': ' + error.message)
+ }
const handleCloseMesssage = () => {
- setMessageError(null);
- };
+ setMessageError(null)
+ }
const AnimatedCircularProgress = React.forwardRef(
function AnimatedCircularProgress(props, ref) {
@@ -86,13 +86,13 @@ function Documents({ aCase, initialValue }) {
- );
+ )
},
- );
+ )
const Alert = React.forwardRef(function Alert(props, ref) {
- return ;
- });
+ return
+ })
return (
- );
+ )
})}
)}
@@ -200,11 +200,11 @@ function Documents({ aCase, initialValue }) {
- );
+ )
}
const downloadFile = (file, keycloak) => {
- return FileService.download(file, keycloak);
-};
+ return FileService.download(file, keycloak)
+}
-export default Documents;
+export default Documents
diff --git a/apps/react/case-portal/src/views/caseForm/caseForm.js b/apps/react/case-portal/src/views/caseForm/caseForm.js
index 2f0cc6c6..df3de4c3 100644
--- a/apps/react/case-portal/src/views/caseForm/caseForm.js
+++ b/apps/react/case-portal/src/views/caseForm/caseForm.js
@@ -1,101 +1,101 @@
-import QuestionCircleOutlined from '@ant-design/icons/QuestionCircleOutlined';
-import { Form } from '@formio/react';
-import CloseIcon from '@mui/icons-material/Close';
-import MoreVertIcon from '@mui/icons-material/MoreVert';
-import NotificationsActiveIcon from '@mui/icons-material/NotificationsActive';
-import { Grid } from '@mui/material';
-import AppBar from '@mui/material/AppBar';
-import Box from '@mui/material/Box';
-import Button from '@mui/material/Button';
-import Dialog from '@mui/material/Dialog';
-import DialogTitle from '@mui/material/DialogTitle';
-import Divider from '@mui/material/Divider';
-import IconButton from '@mui/material/IconButton';
-import List from '@mui/material/List';
-import ListItem from '@mui/material/ListItem';
-import ListItemText from '@mui/material/ListItemText';
-import Menu from '@mui/material/Menu';
-import MenuItem from '@mui/material/MenuItem';
-import Slide from '@mui/material/Slide';
-import Step from '@mui/material/Step';
-import StepLabel from '@mui/material/StepLabel';
-import Stepper from '@mui/material/Stepper';
-import Tab from '@mui/material/Tab';
-import Tabs from '@mui/material/Tabs';
-import Toolbar from '@mui/material/Toolbar';
-import Tooltip from '@mui/material/Tooltip';
-import Typography from '@mui/material/Typography';
-import { CaseStatus } from 'common/caseStatus';
-import { StorageService } from 'plugins/storage';
-import PropTypes from 'prop-types';
-import React, { useEffect, useState } from 'react';
-import { useTranslation } from 'react-i18next';
-import { ProcessDefService } from 'services/ProcessDefService';
-import { Comments } from 'views/caseComment/Comments';
-import { CaseEmailsList } from 'views/caseEmail/caseEmailList';
-import { CaseService, FormService } from '../../services';
-import { tryParseJSONObject } from '../../utils/jsonStringCheck';
-import { TaskList } from '../taskList/taskList';
-import Documents from './Documents';
+import QuestionCircleOutlined from '@ant-design/icons/QuestionCircleOutlined'
+import { Form } from '@formio/react'
+import CloseIcon from '@mui/icons-material/Close'
+import MoreVertIcon from '@mui/icons-material/MoreVert'
+import NotificationsActiveIcon from '@mui/icons-material/NotificationsActive'
+import { Grid } from '@mui/material'
+import AppBar from '@mui/material/AppBar'
+import Box from '@mui/material/Box'
+import Button from '@mui/material/Button'
+import Dialog from '@mui/material/Dialog'
+import DialogTitle from '@mui/material/DialogTitle'
+import Divider from '@mui/material/Divider'
+import IconButton from '@mui/material/IconButton'
+import List from '@mui/material/List'
+import ListItem from '@mui/material/ListItem'
+import ListItemText from '@mui/material/ListItemText'
+import Menu from '@mui/material/Menu'
+import MenuItem from '@mui/material/MenuItem'
+import Slide from '@mui/material/Slide'
+import Step from '@mui/material/Step'
+import StepLabel from '@mui/material/StepLabel'
+import Stepper from '@mui/material/Stepper'
+import Tab from '@mui/material/Tab'
+import Tabs from '@mui/material/Tabs'
+import Toolbar from '@mui/material/Toolbar'
+import Tooltip from '@mui/material/Tooltip'
+import Typography from '@mui/material/Typography'
+import { CaseStatus } from 'common/caseStatus'
+import { StorageService } from 'plugins/storage'
+import PropTypes from 'prop-types'
+import React, { useEffect, useState } from 'react'
+import { useTranslation } from 'react-i18next'
+import { ProcessDefService } from 'services/ProcessDefService'
+import { Comments } from 'views/caseComment/Comments'
+import { CaseEmailsList } from 'views/caseEmail/caseEmailList'
+import { CaseService, FormService } from '../../services'
+import { tryParseJSONObject } from '../../utils/jsonStringCheck'
+import { TaskList } from '../taskList/taskList'
+import Documents from './Documents'
export const CaseForm = ({ open, handleClose, aCase, keycloak }) => {
- const [caseDef, setCaseDef] = useState(null);
- const [form, setForm] = useState(null);
- const [formData, setFormData] = useState(null);
- const [comments, setComments] = useState(null);
- const [documents, setDocuments] = useState(null);
- const [mainTabIndex, setMainTabIndex] = useState(0);
- const [rightTabIndex, setRightTabIndex] = useState(0);
- const [activeStage, setActiveStage] = React.useState(0);
- const [stages, setStages] = useState([]);
- const { t } = useTranslation();
-
- const [anchorEl, setAnchorEl] = React.useState(null);
- const isMenuOpen = Boolean(anchorEl);
-
- const [openProcessesDialog, setOpenProcessesDialog] = useState(false);
- const [manualInitProcessDefs, setManualInitProcessDefs] = useState([]);
-
- const [isFollowing, setIsFollowing] = useState(false);
+ const [caseDef, setCaseDef] = useState(null)
+ const [form, setForm] = useState(null)
+ const [formData, setFormData] = useState(null)
+ const [comments, setComments] = useState(null)
+ const [documents, setDocuments] = useState(null)
+ const [mainTabIndex, setMainTabIndex] = useState(0)
+ const [rightTabIndex, setRightTabIndex] = useState(0)
+ const [activeStage, setActiveStage] = React.useState(0)
+ const [stages, setStages] = useState([])
+ const { t } = useTranslation()
+
+ const [anchorEl, setAnchorEl] = React.useState(null)
+ const isMenuOpen = Boolean(anchorEl)
+
+ const [openProcessesDialog, setOpenProcessesDialog] = useState(false)
+ const [manualInitProcessDefs, setManualInitProcessDefs] = useState([])
+
+ const [isFollowing, setIsFollowing] = useState(false)
const handleFollowClick = () => {
- setIsFollowing(!isFollowing);
- };
+ setIsFollowing(!isFollowing)
+ }
useEffect(() => {
- getCaseInfo(aCase);
- }, [open, aCase]);
+ getCaseInfo(aCase)
+ }, [open, aCase])
useEffect(() => {
if (activeStage) {
- const stage = caseDef.stages.find((o) => o.name === activeStage);
- const stageProcesses = stage ? stage.processesDefinitions : [];
+ const stage = caseDef.stages.find((o) => o.name === activeStage)
+ const stageProcesses = stage ? stage.processesDefinitions : []
const autoStartProcesses = stageProcesses
? stageProcesses.filter((o) => o.autoStart === false)
- : undefined;
- setManualInitProcessDefs(autoStartProcesses);
+ : undefined
+ setManualInitProcessDefs(autoStartProcesses)
}
- }, [activeStage]);
+ }, [activeStage])
const handleMenuOpen = (event) => {
- setAnchorEl(event.currentTarget);
- };
+ setAnchorEl(event.currentTarget)
+ }
const handleMenuClose = () => {
- setAnchorEl(null);
- };
+ setAnchorEl(null)
+ }
const getCaseInfo = (aCase) => {
CaseService.getCaseDefinitionsById(keycloak, aCase.caseDefinitionId)
.then((data) => {
- setCaseDef(data);
+ setCaseDef(data)
setStages(
data.stages.sort((a, b) => a.index - b.index).map((o) => o.name),
- );
- return FormService.getByKey(keycloak, data.formKey);
+ )
+ return FormService.getByKey(keycloak, data.formKey)
})
.then((data) => {
- setForm(data);
- return CaseService.getCaseById(keycloak, aCase.businessKey);
+ setForm(data)
+ return CaseService.getCaseById(keycloak, aCase.businessKey)
})
.then((caseData) => {
setComments(
@@ -103,8 +103,8 @@ export const CaseForm = ({ open, handleClose, aCase, keycloak }) => {
(a, b) =>
new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime(),
),
- );
- setDocuments(caseData?.documents);
+ )
+ setDocuments(caseData?.documents)
setFormData({
data: caseData.attributes.reduce(
(obj, item) =>
@@ -117,21 +117,21 @@ export const CaseForm = ({ open, handleClose, aCase, keycloak }) => {
),
metadata: {},
isValid: true,
- });
- setActiveStage(caseData.stage);
+ })
+ setActiveStage(caseData.stage)
})
.catch((err) => {
- console.log(err.message);
- });
- };
+ console.log(err.message)
+ })
+ }
const handleMainTabChanged = (event, newValue) => {
- setMainTabIndex(newValue);
- };
+ setMainTabIndex(newValue)
+ }
const handleRightTabChanged = (event, newValue) => {
- setRightTabIndex(newValue);
- };
+ setRightTabIndex(newValue)
+ }
const handleUpdateCaseStatus = (newStatus) => {
CaseService.patch(
@@ -142,34 +142,34 @@ export const CaseForm = ({ open, handleClose, aCase, keycloak }) => {
}),
)
.then(() => {
- handleClose();
+ handleClose()
})
.catch((err) => {
- console.log(err.message);
- });
- };
+ console.log(err.message)
+ })
+ }
const updateActiveState = () => {
CaseService.getCaseById(keycloak, aCase.businessKey).then((data) =>
setActiveStage(data.stage),
- );
- };
+ )
+ }
const handleOpenProcessesDialog = () => {
- setOpenProcessesDialog(true);
- handleMenuClose();
- };
+ setOpenProcessesDialog(true)
+ handleMenuClose()
+ }
const handleCloseProcessesDialog = () => {
- setOpenProcessesDialog(false);
- };
+ setOpenProcessesDialog(false)
+ }
const startProcess = (key) => {
- ProcessDefService.start(keycloak, key, aCase.businessKey);
+ ProcessDefService.start(keycloak, key, aCase.businessKey)
// Close the dialog
- handleCloseProcessesDialog();
- };
+ handleCloseProcessesDialog()
+ }
return (
aCase &&
@@ -299,17 +299,17 @@ export const CaseForm = ({ open, handleClose, aCase, keycloak }) => {
>
{
- return o === activeStage;
+ return o === activeStage
})}
>
{stages.map((label) => {
- const stagesProps = {};
- const labelProps = {};
+ const stagesProps = {}
+ const labelProps = {}
return (
{label}
- );
+ )
})}
@@ -456,22 +456,22 @@ export const CaseForm = ({ open, handleClose, aCase, keycloak }) => {
)}
)
- );
-};
+ )
+}
const Transition = React.forwardRef(function Transition(props, ref) {
- return ;
-});
+ return
+})
function a11yProps(index) {
return {
id: `simple-tab-${index}`,
'aria-controls': `simple-tabpanel-${index}`,
- };
+ }
}
function TabPanel(props) {
- const { children, value, index, ...other } = props;
+ const { children, value, index, ...other } = props
return (
)}
- );
+ )
}
TabPanel.propTypes = {
children: PropTypes.node,
index: PropTypes.number.isRequired,
value: PropTypes.number.isRequired,
-};
+}
diff --git a/apps/react/case-portal/src/views/caseForm/newCaseForm.js b/apps/react/case-portal/src/views/caseForm/newCaseForm.js
index 9bbae5fa..cbe376ef 100644
--- a/apps/react/case-portal/src/views/caseForm/newCaseForm.js
+++ b/apps/react/case-portal/src/views/caseForm/newCaseForm.js
@@ -1,24 +1,24 @@
-import { useState } from 'react';
-import { QuestionCircleOutlined } from '@ant-design/icons';
-import CloseIcon from '@mui/icons-material/Close';
-import { Box, Tooltip } from '@mui/material';
-import AppBar from '@mui/material/AppBar';
-import Button from '@mui/material/Button';
-import Dialog from '@mui/material/Dialog';
-import Grid from '@mui/material/Grid';
-import IconButton from '@mui/material/IconButton';
-import Slide from '@mui/material/Slide';
-import Toolbar from '@mui/material/Toolbar';
-import Typography from '@mui/material/Typography';
-import React, { useEffect } from 'react';
-import { Form } from '@formio/react';
-import { useSession } from 'SessionStoreContext';
-import { CaseService, FormService } from '../../services';
-import { StorageService } from 'plugins/storage';
+import { useState } from 'react'
+import { QuestionCircleOutlined } from '@ant-design/icons'
+import CloseIcon from '@mui/icons-material/Close'
+import { Box, Tooltip } from '@mui/material'
+import AppBar from '@mui/material/AppBar'
+import Button from '@mui/material/Button'
+import Dialog from '@mui/material/Dialog'
+import Grid from '@mui/material/Grid'
+import IconButton from '@mui/material/IconButton'
+import Slide from '@mui/material/Slide'
+import Toolbar from '@mui/material/Toolbar'
+import Typography from '@mui/material/Typography'
+import React, { useEffect } from 'react'
+import { Form } from '@formio/react'
+import { useSession } from 'SessionStoreContext'
+import { CaseService, FormService } from '../../services'
+import { StorageService } from 'plugins/storage'
const Transition = React.forwardRef(function Transition(props, ref) {
- return ;
-});
+ return
+})
export const NewCaseForm = ({
open,
@@ -26,32 +26,32 @@ export const NewCaseForm = ({
caseDefId,
setLastCreatedCase,
}) => {
- const [caseDef, setCaseDef] = useState([]);
- const [form, setForm] = useState([]);
- const [formData, setFormData] = useState(null);
- const keycloak = useSession();
+ const [caseDef, setCaseDef] = useState([])
+ const [form, setForm] = useState([])
+ const [formData, setFormData] = useState(null)
+ const keycloak = useSession()
useEffect(() => {
CaseService.getCaseDefinitionsById(keycloak, caseDefId)
.then((data) => {
- setCaseDef(data);
- return FormService.getByKey(keycloak, data.formKey);
+ setCaseDef(data)
+ return FormService.getByKey(keycloak, data.formKey)
})
.then((data) => {
- setForm(data);
+ setForm(data)
setFormData({
data: {},
metadata: {},
isValid: true,
- });
+ })
})
.catch((err) => {
- console.log(err.message);
- });
- }, [open, caseDefId]);
+ console.log(err.message)
+ })
+ }, [open, caseDefId])
const onSave = () => {
- const caseAttributes = [];
+ const caseAttributes = []
Object.keys(formData.data).forEach((key) => {
caseAttributes.push({
name: key,
@@ -60,8 +60,8 @@ export const NewCaseForm = ({
? formData.data[key]
: JSON.stringify(formData.data[key]),
type: typeof formData.data[key] !== 'object' ? 'String' : 'Json',
- });
- });
+ })
+ })
CaseService.createCase(
keycloak,
@@ -77,13 +77,13 @@ export const NewCaseForm = ({
}),
)
.then((data) => {
- setLastCreatedCase(data);
- handleClose();
+ setLastCreatedCase(data)
+ handleClose()
})
.catch((err) => {
- console.log(err.message);
- });
- };
+ console.log(err.message)
+ })
+ }
return (
@@ -139,5 +139,5 @@ export const NewCaseForm = ({
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/caseForm/store/index.js b/apps/react/case-portal/src/views/caseForm/store/index.js
index 6990ff68..e7f0eec4 100644
--- a/apps/react/case-portal/src/views/caseForm/store/index.js
+++ b/apps/react/case-portal/src/views/caseForm/store/index.js
@@ -1,8 +1,8 @@
-import { CaseService, FileService } from '../../../services';
+import { CaseService, FileService } from '../../../services'
const CaseStore = {
saveDocumentsFromFiles,
-};
+}
async function saveDocumentsFromFiles(
keycloak,
@@ -17,32 +17,32 @@ async function saveDocumentsFromFiles(
file: file,
keycloak,
progress: (e, percent) => {
- progressCallback(percent);
+ progressCallback(percent)
},
- };
+ }
return FileService.upload(args)
.then((data) => saveDocument(keycloak, businessKey, data))
.catch(() => {
return Promise.reject(
`Could't upload this file "${file.name}", try again with other file.`,
- );
- });
+ )
+ })
}),
- );
+ )
}
async function saveDocument(keycloak, businessKey, document) {
try {
- const data = await CaseService.addDocuments(keycloak, businessKey, document);
+ const data = await CaseService.addDocuments(keycloak, businessKey, document)
if (!data.ok) {
- return Promise.reject(data);
+ return Promise.reject(data)
}
- return Promise.resolve(document);
+ return Promise.resolve(document)
} catch (e) {
- return Promise.reject(e);
+ return Promise.reject(e)
}
}
-export default CaseStore;
+export default CaseStore
diff --git a/apps/react/case-portal/src/views/dashboard/index.js b/apps/react/case-portal/src/views/dashboard/index.js
index 0e987f2f..38663d98 100644
--- a/apps/react/case-portal/src/views/dashboard/index.js
+++ b/apps/react/case-portal/src/views/dashboard/index.js
@@ -1,10 +1,10 @@
-import { Grid, Typography } from '@mui/material';
-import DashboardCard from 'components/cards/DashboardCard';
-import { IconArchive, IconList, IconSquareAsterisk } from '@tabler/icons-react';
-import { useTranslation } from 'react-i18next';
+import { Grid, Typography } from '@mui/material'
+import DashboardCard from 'components/cards/DashboardCard'
+import { IconArchive, IconList, IconSquareAsterisk } from '@tabler/icons-react'
+import { useTranslation } from 'react-i18next'
const DashboardDefault = () => {
- const { t } = useTranslation();
+ const { t } = useTranslation()
return (
@@ -40,7 +40,7 @@ const DashboardDefault = () => {
sx={{ display: { sm: 'none', md: 'block', lg: 'none' } }}
/>
- );
-};
+ )
+}
-export default DashboardDefault;
+export default DashboardDefault
diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefForm.js b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefForm.js
index f3b0a6c0..19cf86f2 100644
--- a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefForm.js
+++ b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefForm.js
@@ -1,38 +1,38 @@
-import CloseIcon from '@mui/icons-material/Close';
-import AppBar from '@mui/material/AppBar';
-import Button from '@mui/material/Button';
-import Dialog from '@mui/material/Dialog';
-import IconButton from '@mui/material/IconButton';
-import Slide from '@mui/material/Slide';
-import Toolbar from '@mui/material/Toolbar';
-import Typography from '@mui/material/Typography';
-import React, { useState } from 'react';
-import Box from '@mui/material/Box';
-import Tab from '@mui/material/Tab';
-import Tabs from '@mui/material/Tabs';
-import PropTypes from 'prop-types';
-import { useEffect } from 'react';
-import { CaseDefFormEvents } from './listeners/caseDefFormListenerList';
-import { CaseDefFormStages } from './caseDefFormStages';
-import { CaseDefGeneralForm } from './caseDefGeneralForm';
-import { CaseDefFormForm } from './caseDefFormForm';
-import { CaseKanbanForm } from './caseDefKanban';
-import { CaseDefService } from 'services';
-import { useSession } from 'SessionStoreContext';
+import CloseIcon from '@mui/icons-material/Close'
+import AppBar from '@mui/material/AppBar'
+import Button from '@mui/material/Button'
+import Dialog from '@mui/material/Dialog'
+import IconButton from '@mui/material/IconButton'
+import Slide from '@mui/material/Slide'
+import Toolbar from '@mui/material/Toolbar'
+import Typography from '@mui/material/Typography'
+import React, { useState } from 'react'
+import Box from '@mui/material/Box'
+import Tab from '@mui/material/Tab'
+import Tabs from '@mui/material/Tabs'
+import PropTypes from 'prop-types'
+import { useEffect } from 'react'
+import { CaseDefFormEvents } from './listeners/caseDefFormListenerList'
+import { CaseDefFormStages } from './caseDefFormStages'
+import { CaseDefGeneralForm } from './caseDefGeneralForm'
+import { CaseDefFormForm } from './caseDefFormForm'
+import { CaseKanbanForm } from './caseDefKanban'
+import { CaseDefService } from 'services'
+import { useSession } from 'SessionStoreContext'
const Transition = React.forwardRef(function Transition(props, ref) {
- return ;
-});
+ return
+})
function a11yProps(index) {
return {
id: `simple-tab-${index}`,
'aria-controls': `simple-tabpanel-${index}`,
- };
+ }
}
function TabPanel(props) {
- const { children, value, index, ...other } = props;
+ const { children, value, index, ...other } = props
return (
)}
- );
+ )
}
TabPanel.propTypes = {
children: PropTypes.node,
index: PropTypes.number.isRequired,
value: PropTypes.number.isRequired,
-};
+}
export const CaseDefForm = ({ open, handleClose, caseDefParam }) => {
- const [tabValue, setTabValue] = useState(0);
- const [caseDef, setCaseDef] = useState(caseDefParam);
- const keycloak = useSession();
+ const [tabValue, setTabValue] = useState(0)
+ const [caseDef, setCaseDef] = useState(caseDefParam)
+ const keycloak = useSession()
useEffect(() => {
- setCaseDef(caseDefParam);
- }, [open, caseDefParam]);
+ setCaseDef(caseDefParam)
+ }, [open, caseDefParam])
const handleTabChange = (event, newValue) => {
- setTabValue(newValue);
- };
+ setTabValue(newValue)
+ }
const handleSave = () => {
if (caseDef.status && caseDef.status === 'new') {
CaseDefService.create(keycloak, caseDef)
.then(() => handleClose())
.catch((err) => {
- console.log(err.message);
- });
+ console.log(err.message)
+ })
} else {
CaseDefService.update(keycloak, caseDef.id, caseDef)
.then(() => handleClose())
.catch((err) => {
- console.log(err.message);
- });
+ console.log(err.message)
+ })
}
- };
+ }
const handleDelete = () => {
CaseDefService.remove(keycloak, caseDef.id)
.then(() => handleClose())
.catch((err) => {
- console.log(err.message);
- });
- };
+ console.log(err.message)
+ })
+ }
return (
@@ -162,5 +162,5 @@ export const CaseDefForm = ({ open, handleClose, caseDefParam }) => {
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefFormForm.js b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefFormForm.js
index 0f5a776f..ab3a284e 100644
--- a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefFormForm.js
+++ b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefFormForm.js
@@ -1,29 +1,29 @@
-import FormControl from '@mui/material/FormControl';
-import InputLabel from '@mui/material/InputLabel';
-import MenuItem from '@mui/material/MenuItem';
-import Select from '@mui/material/Select';
-import React from 'react';
-import { useEffect, useState } from 'react';
-import { FormService } from 'services';
-import { useSession } from 'SessionStoreContext';
+import FormControl from '@mui/material/FormControl'
+import InputLabel from '@mui/material/InputLabel'
+import MenuItem from '@mui/material/MenuItem'
+import Select from '@mui/material/Select'
+import React from 'react'
+import { useEffect, useState } from 'react'
+import { FormService } from 'services'
+import { useSession } from 'SessionStoreContext'
export const CaseDefFormForm = ({ caseDef, setCaseDef }) => {
- const [forms, setForms] = useState();
- const keycloak = useSession();
+ const [forms, setForms] = useState()
+ const keycloak = useSession()
useEffect(() => {
FormService.getAll(keycloak)
.then((data) => {
- setForms(data);
+ setForms(data)
})
.catch((err) => {
- console.log(err.message);
- });
- }, [caseDef]);
+ console.log(err.message)
+ })
+ }, [caseDef])
const handleFormChange = (event) => {
- setCaseDef({ ...caseDef, formKey: event.target.value });
- };
+ setCaseDef({ ...caseDef, formKey: event.target.value })
+ }
return (
@@ -42,11 +42,11 @@ export const CaseDefFormForm = ({ caseDef, setCaseDef }) => {
- );
+ )
})}
)}
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefFormStages.js b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefFormStages.js
index 118bfadc..71639334 100644
--- a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefFormStages.js
+++ b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefFormStages.js
@@ -1,20 +1,20 @@
-import React from 'react';
-import Box from '@mui/material/Box';
-import { DataGrid } from '@mui/x-data-grid';
-import MainCard from 'components/MainCard';
-import Button from '@mui/material/Button';
-import { CaseDefStageProcesses } from './caseDefStageProcesses';
+import React from 'react'
+import Box from '@mui/material/Box'
+import { DataGrid } from '@mui/x-data-grid'
+import MainCard from 'components/MainCard'
+import Button from '@mui/material/Button'
+import { CaseDefStageProcesses } from './caseDefStageProcesses'
export const CaseDefFormStages = ({ caseDef, setCaseDef }) => {
- const [openProcessesList, setOpenProcessesList] = React.useState(false);
- const [currentStage, setCurrentStage] = React.useState(null);
+ const [openProcessesList, setOpenProcessesList] = React.useState(false)
+ const [currentStage, setCurrentStage] = React.useState(null)
const [sortModel] = React.useState([
{
field: 'index',
sort: 'asc',
},
- ]);
+ ])
const columns = [
{
@@ -43,7 +43,7 @@ export const CaseDefFormStages = ({ caseDef, setCaseDef }) => {
Processes
- );
+ )
},
},
{
@@ -53,24 +53,24 @@ export const CaseDefFormStages = ({ caseDef, setCaseDef }) => {
renderCell: (params) => {
const onClick = (e) => {
const newCaseDefStages = caseDef.stages.filter(function (value) {
- return value.id !== params.row.id;
- });
- setCaseDef({ ...caseDef, stages: newCaseDefStages });
- e.stopPropagation(); // don't select this row after clicking
- };
+ return value.id !== params.row.id
+ })
+ setCaseDef({ ...caseDef, stages: newCaseDefStages })
+ e.stopPropagation() // don't select this row after clicking
+ }
return (
- );
+ )
},
},
- ];
+ ]
const handleNewStage = () => {
- const length = caseDef.stages.length;
- const lastStage = caseDef.stages[length - 1];
+ const length = caseDef.stages.length
+ const lastStage = caseDef.stages[length - 1]
setCaseDef({
...caseDef,
stages: [
@@ -81,32 +81,32 @@ export const CaseDefFormStages = ({ caseDef, setCaseDef }) => {
name: 'Stage ' + (parseInt(lastStage.id) + 1),
},
],
- });
- };
+ })
+ }
const processRowUpdate = (newRow) => {
- let newCaseDefStages = [...caseDef.stages];
- newCaseDefStages[newRow.id] = newRow;
- setCaseDef({ ...caseDef, stages: newCaseDefStages });
- return newRow;
- };
+ let newCaseDefStages = [...caseDef.stages]
+ newCaseDefStages[newRow.id] = newRow
+ setCaseDef({ ...caseDef, stages: newCaseDefStages })
+ return newRow
+ }
const openProcessesDialog = (stage) => {
- setCurrentStage(stage);
- setOpenProcessesList(true);
- };
+ setCurrentStage(stage)
+ setOpenProcessesList(true)
+ }
const closeProcessesDialog = () => {
- setOpenProcessesList(false);
- setCurrentStage(null);
- };
+ setOpenProcessesList(false)
+ setCurrentStage(null)
+ }
const updateProcesses = (stageId, processes) => {
- let newStages = [...caseDef.stages];
- let stage = newStages.find((s) => s.id === stageId);
- stage.processesDefinitions = processes;
- setCaseDef({ ...caseDef, stages: newStages });
- };
+ let newStages = [...caseDef.stages]
+ let stage = newStages.find((s) => s.id === stageId)
+ stage.processesDefinitions = processes
+ setCaseDef({ ...caseDef, stages: newStages })
+ }
return (
@@ -139,5 +139,5 @@ export const CaseDefFormStages = ({ caseDef, setCaseDef }) => {
)}
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefGeneralForm.js b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefGeneralForm.js
index f38fa8fe..6a95e76d 100644
--- a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefGeneralForm.js
+++ b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefGeneralForm.js
@@ -1,44 +1,44 @@
-import Checkbox from '@mui/material/Checkbox';
-import FormControl from '@mui/material/FormControl';
-import FormControlLabel from '@mui/material/FormControlLabel';
-import InputLabel from '@mui/material/InputLabel';
-import MenuItem from '@mui/material/MenuItem';
-import Select from '@mui/material/Select';
-import TextField from '@mui/material/TextField';
-import { useSession } from 'SessionStoreContext';
-import React, { useEffect, useState } from 'react';
-import { ProcessDefService } from 'services/ProcessDefService';
+import Checkbox from '@mui/material/Checkbox'
+import FormControl from '@mui/material/FormControl'
+import FormControlLabel from '@mui/material/FormControlLabel'
+import InputLabel from '@mui/material/InputLabel'
+import MenuItem from '@mui/material/MenuItem'
+import Select from '@mui/material/Select'
+import TextField from '@mui/material/TextField'
+import { useSession } from 'SessionStoreContext'
+import React, { useEffect, useState } from 'react'
+import { ProcessDefService } from 'services/ProcessDefService'
export const CaseDefGeneralForm = ({ caseDef, setCaseDef }) => {
- const [processesDefinitions, setProcessesDefinitions] = useState();
- const keycloak = useSession();
+ const [processesDefinitions, setProcessesDefinitions] = useState()
+ const keycloak = useSession()
useEffect(() => {
ProcessDefService.find(keycloak)
.then((data) => {
- setProcessesDefinitions(data);
+ setProcessesDefinitions(data)
})
.catch((err) => {
- setProcessesDefinitions(null);
- console.log(err.message);
- });
- }, [caseDef]);
+ setProcessesDefinitions(null)
+ console.log(err.message)
+ })
+ }, [caseDef])
const handleInputChange = (event) => {
setCaseDef({
...caseDef,
deployed: event.target.checked,
[event.target.name]: event.target.value,
- });
- };
+ })
+ }
const handleDeployedChange = (event) => {
- setCaseDef({ ...caseDef, deployed: event.target.checked });
- };
+ setCaseDef({ ...caseDef, deployed: event.target.checked })
+ }
const handleProcessDefinitionChange = (event) => {
- setCaseDef({ ...caseDef, stagesLifecycleProcessKey: event.target.value });
- };
+ setCaseDef({ ...caseDef, stagesLifecycleProcessKey: event.target.value })
+ }
return (
@@ -88,7 +88,7 @@ export const CaseDefGeneralForm = ({ caseDef, setCaseDef }) => {
>
{processDefinition.name}
- );
+ )
})}
@@ -104,5 +104,5 @@ export const CaseDefGeneralForm = ({ caseDef, setCaseDef }) => {
/>
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefKanban.js b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefKanban.js
index 8d7371c8..bcc42140 100644
--- a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefKanban.js
+++ b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefKanban.js
@@ -1,6 +1,6 @@
-import FormControl from '@mui/material/FormControl';
-import TextField from '@mui/material/TextField';
-import React from 'react';
+import FormControl from '@mui/material/FormControl'
+import TextField from '@mui/material/TextField'
+import React from 'react'
export const CaseKanbanForm = ({ caseDef, setCaseDef }) => {
const handleInputChange = (event) => {
@@ -10,8 +10,8 @@ export const CaseKanbanForm = ({ caseDef, setCaseDef }) => {
...caseDef.kanbanConfig,
[event.target.name]: event.target.value.split(','),
},
- });
- };
+ })
+ }
return (
@@ -35,5 +35,5 @@ export const CaseKanbanForm = ({ caseDef, setCaseDef }) => {
/>
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefStageProcesses.js b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefStageProcesses.js
index 533e1ef3..fff07051 100644
--- a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefStageProcesses.js
+++ b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefStageProcesses.js
@@ -1,22 +1,22 @@
-import React, { useEffect, useState } from 'react';
-import DeleteIcon from '@mui/icons-material/Delete';
-import Checkbox from '@mui/material/Checkbox';
-import Dialog from '@mui/material/Dialog';
-import DialogActions from '@mui/material/DialogActions';
-import DialogContent from '@mui/material/DialogContent';
-import DialogTitle from '@mui/material/DialogTitle';
-import IconButton from '@mui/material/IconButton';
-import List from '@mui/material/List';
-import Button from '@mui/material/Button';
-import ListItem from '@mui/material/ListItem';
-import ListItemSecondaryAction from '@mui/material/ListItemSecondaryAction';
-import ListItemText from '@mui/material/ListItemText';
-import MenuItem from '@mui/material/MenuItem';
-import Select from '@mui/material/Select';
-import { ProcessDefService } from 'services/ProcessDefService';
-import { useSession } from 'SessionStoreContext';
-import FormControl from '@mui/material/FormControl';
-import InputLabel from '@mui/material/InputLabel';
+import React, { useEffect, useState } from 'react'
+import DeleteIcon from '@mui/icons-material/Delete'
+import Checkbox from '@mui/material/Checkbox'
+import Dialog from '@mui/material/Dialog'
+import DialogActions from '@mui/material/DialogActions'
+import DialogContent from '@mui/material/DialogContent'
+import DialogTitle from '@mui/material/DialogTitle'
+import IconButton from '@mui/material/IconButton'
+import List from '@mui/material/List'
+import Button from '@mui/material/Button'
+import ListItem from '@mui/material/ListItem'
+import ListItemSecondaryAction from '@mui/material/ListItemSecondaryAction'
+import ListItemText from '@mui/material/ListItemText'
+import MenuItem from '@mui/material/MenuItem'
+import Select from '@mui/material/Select'
+import { ProcessDefService } from 'services/ProcessDefService'
+import { useSession } from 'SessionStoreContext'
+import FormControl from '@mui/material/FormControl'
+import InputLabel from '@mui/material/InputLabel'
export const CaseDefStageProcesses = ({
open,
@@ -24,45 +24,45 @@ export const CaseDefStageProcesses = ({
stage,
updateProcesses,
}) => {
- const keycloak = useSession();
+ const keycloak = useSession()
const [processes, setProcesses] = React.useState(
stage.processesDefinitions || [],
- );
+ )
const [newProcess, setNewProcess] = React.useState({
definitionKey: '',
autoStart: false,
- });
+ })
- const [processesDefinitions, setProcessesDefinitions] = useState();
+ const [processesDefinitions, setProcessesDefinitions] = useState()
useEffect(() => {
ProcessDefService.find(keycloak)
.then((data) => {
- setProcessesDefinitions(data);
+ setProcessesDefinitions(data)
})
.catch((err) => {
- setProcessesDefinitions(null);
- console.log(err.message);
- });
- }, [open]);
+ setProcessesDefinitions(null)
+ console.log(err.message)
+ })
+ }, [open])
const handleAddProcess = () => {
if (newProcess.definitionKey) {
- setProcesses([...processes, newProcess]);
- setNewProcess({ definitionKey: '', autoStart: false });
+ setProcesses([...processes, newProcess])
+ setNewProcess({ definitionKey: '', autoStart: false })
}
- };
+ }
const handleDeleteProcess = (index) => {
- const updatedProcesses = [...processes];
- updatedProcesses.splice(index, 1);
- setProcesses(updatedProcesses);
- };
+ const updatedProcesses = [...processes]
+ updatedProcesses.splice(index, 1)
+ setProcesses(updatedProcesses)
+ }
const handleSave = () => {
- updateProcesses(stage.id, processes);
- handleClose();
- };
+ updateProcesses(stage.id, processes)
+ handleClose()
+ }
return (
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/listeners/caseDefFormListenerForm.js b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/listeners/caseDefFormListenerForm.js
index 7109fbbd..46a33b21 100644
--- a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/listeners/caseDefFormListenerForm.js
+++ b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/listeners/caseDefFormListenerForm.js
@@ -10,11 +10,11 @@ import {
MenuItem,
Select,
TextField,
-} from '@mui/material';
-import React, { useEffect, useState } from 'react';
-import { ProcessDefService } from 'services/ProcessDefService';
-import { useSession } from 'SessionStoreContext';
-import { QueueService } from 'services/QueueService';
+} from '@mui/material'
+import React, { useEffect, useState } from 'react'
+import { ProcessDefService } from 'services/ProcessDefService'
+import { useSession } from 'SessionStoreContext'
+import { QueueService } from 'services/QueueService'
const styles = {
dialogContent: {
@@ -34,7 +34,7 @@ const styles = {
saveButton: {
color: '#4caf50',
},
-};
+}
export const CaseDefFormEventsForm = ({
open,
@@ -43,60 +43,60 @@ export const CaseDefFormEventsForm = ({
hookData,
stages,
}) => {
- const keycloak = useSession();
- const [taskDefKey, setTaskDefKey] = useState('');
- const [processDefKey, setProcessDefKey] = useState('');
- const [eventType, setEventType] = useState('');
- const [actionType, setActionType] = useState('');
- const [newStage, setNewStage] = useState('');
- const [queueId, setQueueId] = useState('');
+ const keycloak = useSession()
+ const [taskDefKey, setTaskDefKey] = useState('')
+ const [processDefKey, setProcessDefKey] = useState('')
+ const [eventType, setEventType] = useState('')
+ const [actionType, setActionType] = useState('')
+ const [newStage, setNewStage] = useState('')
+ const [queueId, setQueueId] = useState('')
- const [processesDefinitions, setProcessesDefinitions] = useState();
- const [queues, setQueues] = useState();
+ const [processesDefinitions, setProcessesDefinitions] = useState()
+ const [queues, setQueues] = useState()
useEffect(() => {
ProcessDefService.find(keycloak)
.then((data) => {
- setProcessesDefinitions(data);
+ setProcessesDefinitions(data)
})
.catch((err) => {
- setProcessesDefinitions(null);
- console.log(err.message);
- });
+ setProcessesDefinitions(null)
+ console.log(err.message)
+ })
QueueService.find(keycloak)
.then((data) => {
- setQueues(data);
+ setQueues(data)
})
.catch((err) => {
- setQueues(null);
- console.log(err.message);
- });
+ setQueues(null)
+ console.log(err.message)
+ })
if (hookData) {
- setTaskDefKey(hookData.taskDefKey || '');
- setProcessDefKey(hookData.processDefKey || '');
- setEventType(hookData.eventType || '');
- setActionType(hookData.actions[0]?.actionType || '');
- setNewStage(hookData.actions[0]?.newStage || '');
- setQueueId(hookData.actions[0]?.queueId || '');
+ setTaskDefKey(hookData.taskDefKey || '')
+ setProcessDefKey(hookData.processDefKey || '')
+ setEventType(hookData.eventType || '')
+ setActionType(hookData.actions[0]?.actionType || '')
+ setNewStage(hookData.actions[0]?.newStage || '')
+ setQueueId(hookData.actions[0]?.queueId || '')
} else {
- setTaskDefKey('');
- setProcessDefKey('');
- setEventType('');
- setActionType('');
- setNewStage('');
- setQueueId('');
+ setTaskDefKey('')
+ setProcessDefKey('')
+ setEventType('')
+ setActionType('')
+ setNewStage('')
+ setQueueId('')
}
- }, [hookData]);
+ }, [hookData])
const handleSubmit = () => {
- let actions = [];
+ let actions = []
if (actionType === 'CASE_STAGE_UPDATE_ACTION') {
- actions = [...actions, { actionType: actionType, newStage: newStage }];
+ actions = [...actions, { actionType: actionType, newStage: newStage }]
} else if (actionType === 'CASE_QUEUE_UPDATE_ACTION') {
- actions = [...actions, { actionType: actionType, queueId: queueId }];
+ actions = [...actions, { actionType: actionType, queueId: queueId }]
}
const newHook = {
@@ -104,9 +104,9 @@ export const CaseDefFormEventsForm = ({
taskDefKey,
processDefKey,
actions,
- };
- onSubmit(newHook);
- };
+ }
+ onSubmit(newHook)
+ }
return (
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/listeners/caseDefFormListenerList.js b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/listeners/caseDefFormListenerList.js
index 56c12fbc..95ac9478 100644
--- a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/listeners/caseDefFormListenerList.js
+++ b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/listeners/caseDefFormListenerList.js
@@ -3,8 +3,8 @@ import {
AssignmentTurnedIn,
DeleteOutline,
EditOutlined,
-} from '@mui/icons-material';
-import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
+} from '@mui/icons-material'
+import ExpandMoreIcon from '@mui/icons-material/ExpandMore'
import {
Accordion,
AccordionDetails,
@@ -17,17 +17,17 @@ import {
Grid,
IconButton,
Typography,
-} from '@mui/material';
-import MainCard from 'components/MainCard';
-import React, { useEffect, useState } from 'react';
-import { CaseDefFormEventsForm } from './caseDefFormListenerForm';
+} from '@mui/material'
+import MainCard from 'components/MainCard'
+import React, { useEffect, useState } from 'react'
+import { CaseDefFormEventsForm } from './caseDefFormListenerForm'
export const CaseDefFormEvents = ({ caseDef, setCaseDef }) => {
- const [isLoading, setIsLoading] = useState(false);
- const [hooks, setHooks] = useState([]);
- const [selectedHookIndex, setSelectedHookIndex] = useState(null);
+ const [isLoading, setIsLoading] = useState(false)
+ const [hooks, setHooks] = useState([])
+ const [selectedHookIndex, setSelectedHookIndex] = useState(null)
- const [isHookFormOpen, setIsHookFormOpen] = useState(false);
+ const [isHookFormOpen, setIsHookFormOpen] = useState(false)
const addButtonStyle = {
position: 'fixed',
@@ -37,30 +37,30 @@ export const CaseDefFormEvents = ({ caseDef, setCaseDef }) => {
boxShadow: '0px 2px 5px rgba(0, 0, 0, 0.2)',
borderRadius: '50%',
background: '#fff',
- };
+ }
useEffect(() => {
- setIsLoading(true);
- setHooks(caseDef.caseHooks);
- setIsLoading(false);
- }, [caseDef.caseHooks]);
+ setIsLoading(true)
+ setHooks(caseDef.caseHooks)
+ setIsLoading(false)
+ }, [caseDef.caseHooks])
const handleAddHook = (event) => {
- setCaseDef({ ...caseDef, caseHooks: [...caseDef.caseHooks, event] });
- closeHookForm();
- };
+ setCaseDef({ ...caseDef, caseHooks: [...caseDef.caseHooks, event] })
+ closeHookForm()
+ }
const handleReplaceHook = (event) => {
- let hooksCopy = [...caseDef.caseHooks];
- hooksCopy[selectedHookIndex] = event;
- setCaseDef({ ...caseDef, caseHooks: hooksCopy });
- closeHookForm();
- };
+ let hooksCopy = [...caseDef.caseHooks]
+ hooksCopy[selectedHookIndex] = event
+ setCaseDef({ ...caseDef, caseHooks: hooksCopy })
+ closeHookForm()
+ }
const handleEditHook = (hookIndex) => {
- setSelectedHookIndex(hookIndex);
- setIsHookFormOpen(true);
- };
+ setSelectedHookIndex(hookIndex)
+ setIsHookFormOpen(true)
+ }
const handleRemoveHook = (hookIndex) => {
setCaseDef({
@@ -68,34 +68,34 @@ export const CaseDefFormEvents = ({ caseDef, setCaseDef }) => {
caseHooks: caseDef.caseHooks.filter(
(element, index) => index !== hookIndex,
),
- });
- closeHookForm();
- };
+ })
+ closeHookForm()
+ }
const formatActionList = (actions) => {
- if (!actions.length) return '';
+ if (!actions.length) return ''
const actionList = actions.map((action) => {
if (action.actionType === 'CASE_STAGE_UPDATE_ACTION') {
- return `Progress Case Stage to ${action.newStage}`;
+ return `Progress Case Stage to ${action.newStage}`
} else if (action.actionType === 'CASE_QUEUE_UPDATE_ACTION') {
- return `Update Case Queue to ${action.queueId}`;
+ return `Update Case Queue to ${action.queueId}`
} else {
- return '';
+ return ''
}
- });
+ })
- return actionList.join(' AND ');
- };
+ return actionList.join(' AND ')
+ }
const openHookForm = () => {
- setSelectedHookIndex(null); // Reset the selected hook index when opening the form for adding
- setIsHookFormOpen(true);
- };
+ setSelectedHookIndex(null) // Reset the selected hook index when opening the form for adding
+ setIsHookFormOpen(true)
+ }
const closeHookForm = () => {
- setIsHookFormOpen(false);
- };
+ setIsHookFormOpen(false)
+ }
return (
@@ -207,5 +207,5 @@ export const CaseDefFormEvents = ({ caseDef, setCaseDef }) => {
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefList/caseDefList.js b/apps/react/case-portal/src/views/management/caseDef/caseDefList/caseDefList.js
index c602bf8b..c09e9d4a 100644
--- a/apps/react/case-portal/src/views/management/caseDef/caseDefList/caseDefList.js
+++ b/apps/react/case-portal/src/views/management/caseDef/caseDefList/caseDefList.js
@@ -1,30 +1,30 @@
-import React, { useEffect, useState } from 'react';
-import Box from '@mui/material/Box';
-import Button from '@mui/material/Button';
-import { DataGrid } from '@mui/x-data-grid';
-import MainCard from 'components/MainCard';
-import { CaseDefForm } from '../caseDefForm/caseDefForm';
-import { CaseDefService } from 'services';
-import { useSession } from 'SessionStoreContext';
+import React, { useEffect, useState } from 'react'
+import Box from '@mui/material/Box'
+import Button from '@mui/material/Button'
+import { DataGrid } from '@mui/x-data-grid'
+import MainCard from 'components/MainCard'
+import { CaseDefForm } from '../caseDefForm/caseDefForm'
+import { CaseDefService } from 'services'
+import { useSession } from 'SessionStoreContext'
export const CaseDefList = () => {
- const [caseDefs, setCaseDefs] = useState([]);
- const [aCaseDef, setACaseDef] = useState(null);
- const [openCaseDefForm, setOpenCaseDefForm] = useState(false);
- const [fetching, setFetching] = useState(false);
- const keycloak = useSession();
+ const [caseDefs, setCaseDefs] = useState([])
+ const [aCaseDef, setACaseDef] = useState(null)
+ const [openCaseDefForm, setOpenCaseDefForm] = useState(false)
+ const [fetching, setFetching] = useState(false)
+ const keycloak = useSession()
useEffect(() => {
- setFetching(true);
+ setFetching(true)
CaseDefService.getAll(keycloak)
.then((data) => {
- setCaseDefs(data);
+ setCaseDefs(data)
})
.finally(() => {
- setFetching(false);
- });
- }, [openCaseDefForm]);
+ setFetching(false)
+ })
+ }, [openCaseDefForm])
const columns = [
{ field: 'id', headerName: 'Id', width: 300 },
@@ -35,23 +35,23 @@ export const CaseDefList = () => {
sortable: false,
renderCell: (params) => {
const onClick = (e) => {
- setACaseDef(params.row);
- e.stopPropagation(); // don't select this row after clicking
- setOpenCaseDefForm(true);
- };
+ setACaseDef(params.row)
+ e.stopPropagation() // don't select this row after clicking
+ setOpenCaseDefForm(true)
+ }
return (
- );
+ )
},
},
- ];
+ ]
const handleCloseCaseDefForm = () => {
- setOpenCaseDefForm(false);
- };
+ setOpenCaseDefForm(false)
+ }
const handleNewCaseDef = () => {
setACaseDef({
@@ -63,9 +63,9 @@ export const CaseDefList = () => {
stages: [{ id: 0, index: 0, name: 'Stage 0' }],
taskCompleteHooks: [],
kanbanConfig: {},
- });
- setOpenCaseDefForm(true);
- };
+ })
+ setOpenCaseDefForm(true)
+ }
return (
@@ -92,5 +92,5 @@ export const CaseDefList = () => {
/>
)}
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/form/formDetail.js b/apps/react/case-portal/src/views/management/form/formDetail.js
index 18b62716..ab5ab532 100644
--- a/apps/react/case-portal/src/views/management/form/formDetail.js
+++ b/apps/react/case-portal/src/views/management/form/formDetail.js
@@ -1,28 +1,28 @@
-import React from 'react';
-import CloseIcon from '@mui/icons-material/Close';
-import AppBar from '@mui/material/AppBar';
-import Box from '@mui/material/Box';
-import Button from '@mui/material/Button';
-import Dialog from '@mui/material/Dialog';
-import FormControl from '@mui/material/FormControl';
-import Grid from '@mui/material/Grid';
-import IconButton from '@mui/material/IconButton';
-import InputLabel from '@mui/material/InputLabel';
-import MenuItem from '@mui/material/MenuItem';
-import Select from '@mui/material/Select';
-import Slide from '@mui/material/Slide';
-import Toolbar from '@mui/material/Toolbar';
-import Typography from '@mui/material/Typography';
-import { FormBuilder } from '@formio/react';
-import { TextField } from '@mui/material';
-import MainCard from 'components/MainCard';
-import { FormService } from 'services';
-import { useSession } from 'SessionStoreContext';
-import { StorageService } from 'plugins/storage';
+import React from 'react'
+import CloseIcon from '@mui/icons-material/Close'
+import AppBar from '@mui/material/AppBar'
+import Box from '@mui/material/Box'
+import Button from '@mui/material/Button'
+import Dialog from '@mui/material/Dialog'
+import FormControl from '@mui/material/FormControl'
+import Grid from '@mui/material/Grid'
+import IconButton from '@mui/material/IconButton'
+import InputLabel from '@mui/material/InputLabel'
+import MenuItem from '@mui/material/MenuItem'
+import Select from '@mui/material/Select'
+import Slide from '@mui/material/Slide'
+import Toolbar from '@mui/material/Toolbar'
+import Typography from '@mui/material/Typography'
+import { FormBuilder } from '@formio/react'
+import { TextField } from '@mui/material'
+import MainCard from 'components/MainCard'
+import { FormService } from 'services'
+import { useSession } from 'SessionStoreContext'
+import { StorageService } from 'plugins/storage'
const Transition = React.forwardRef(function Transition(props, ref) {
- return ;
-});
+ return
+})
export const FormDetail = ({
open,
@@ -31,23 +31,23 @@ export const FormDetail = ({
handleInputChange,
handleSelectDisplay,
}) => {
- const keycloak = useSession();
+ const keycloak = useSession()
const saveForm = () => {
FormService.update(keycloak, form.key, form)
.then(() => handleClose())
.catch((err) => {
- console.log(err.message);
- });
- };
+ console.log(err.message)
+ })
+ }
const deleteForm = () => {
FormService.remove(keycloak, form.key)
.then(() => handleClose())
.catch((err) => {
- console.log(err.message);
- });
- };
+ console.log(err.message)
+ })
+ }
return (
form && (
@@ -144,5 +144,5 @@ export const FormDetail = ({
)
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/form/formList.js b/apps/react/case-portal/src/views/management/form/formList.js
index 8886df29..1f86188b 100644
--- a/apps/react/case-portal/src/views/management/form/formList.js
+++ b/apps/react/case-portal/src/views/management/form/formList.js
@@ -1,33 +1,33 @@
-import { useEffect, useState } from 'react';
-import Box from '@mui/material/Box';
-import { DataGrid } from '@mui/x-data-grid';
-import MainCard from 'components/MainCard';
-import Button from '@mui/material/Button';
-import { FormDetail } from './formDetail';
-import { FormNew as NewForm } from './formNew';
-import { FormService } from 'services';
-import { useSession } from 'SessionStoreContext';
+import { useEffect, useState } from 'react'
+import Box from '@mui/material/Box'
+import { DataGrid } from '@mui/x-data-grid'
+import MainCard from 'components/MainCard'
+import Button from '@mui/material/Button'
+import { FormDetail } from './formDetail'
+import { FormNew as NewForm } from './formNew'
+import { FormService } from 'services'
+import { useSession } from 'SessionStoreContext'
export const FormList = () => {
- const [forms, setForms] = useState([]);
- const [openForm, setOpenForm] = useState(false);
- const [openNewForm, setOpenNewForm] = useState(false);
- const [form, setForm] = useState(null);
- const keycloak = useSession();
+ const [forms, setForms] = useState([])
+ const [openForm, setOpenForm] = useState(false)
+ const [openNewForm, setOpenNewForm] = useState(false)
+ const [form, setForm] = useState(null)
+ const keycloak = useSession()
useEffect(() => {
FormService.getAll(keycloak)
.then((data) => {
- setForms(data);
+ setForms(data)
})
.catch((err) => {
- console.log(err.message);
- });
- }, [openForm, openNewForm]);
+ console.log(err.message)
+ })
+ }, [openForm, openNewForm])
const handleCloseForm = () => {
- setOpenForm(false);
- };
+ setOpenForm(false)
+ }
const columns = [
{ field: 'key', headerName: 'Form Key', width: 300 },
@@ -38,33 +38,33 @@ export const FormList = () => {
sortable: false,
renderCell: (params) => {
const onDetailsClick = (e) => {
- setForm(params.row);
- e.stopPropagation(); // don't select this row after clicking
- setOpenForm(true);
- };
+ setForm(params.row)
+ e.stopPropagation() // don't select this row after clicking
+ setOpenForm(true)
+ }
- return ;
+ return
},
},
- ];
+ ]
const handleNewForm = () => {
- setOpenNewForm(true);
- };
+ setOpenNewForm(true)
+ }
const handleCloseNewForm = () => {
- setOpenNewForm(false);
- };
+ setOpenNewForm(false)
+ }
const handleInputChange = (event) => {
- setForm({ ...form, [event.target.name]: event.target.value });
- };
+ setForm({ ...form, [event.target.name]: event.target.value })
+ }
const handleSelectDisplay = (event) => {
- let structure = { ...form.structure };
- structure.display = event.target.value;
- setForm({ ...form, structure: structure });
- };
+ let structure = { ...form.structure }
+ structure.display = event.target.value
+ setForm({ ...form, structure: structure })
+ }
return (
@@ -94,5 +94,5 @@ export const FormList = () => {
)}
{}
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/form/formNew.js b/apps/react/case-portal/src/views/management/form/formNew.js
index 6b7d9990..4a3b779b 100644
--- a/apps/react/case-portal/src/views/management/form/formNew.js
+++ b/apps/react/case-portal/src/views/management/form/formNew.js
@@ -1,58 +1,58 @@
-import React, { useEffect, useState } from 'react';
-import FormControl from '@mui/material/FormControl';
-import TextField from '@mui/material/TextField';
-import AppBar from '@mui/material/AppBar';
-import Button from '@mui/material/Button';
-import Dialog from '@mui/material/Dialog';
-import Grid from '@mui/material/Grid';
-import IconButton from '@mui/material/IconButton';
-import InputLabel from '@mui/material/InputLabel';
-import Slide from '@mui/material/Slide';
-import Toolbar from '@mui/material/Toolbar';
-import CloseIcon from '@mui/icons-material/Close';
-import Box from '@mui/material/Box';
-import Typography from '@mui/material/Typography';
-import MenuItem from '@mui/material/MenuItem';
-import Select from '@mui/material/Select';
-import MainCard from 'components/MainCard';
-import { FormBuilder } from '@formio/react';
-import { FormService } from 'services';
-import { useSession } from 'SessionStoreContext';
-import { StorageService } from 'plugins/storage';
+import React, { useEffect, useState } from 'react'
+import FormControl from '@mui/material/FormControl'
+import TextField from '@mui/material/TextField'
+import AppBar from '@mui/material/AppBar'
+import Button from '@mui/material/Button'
+import Dialog from '@mui/material/Dialog'
+import Grid from '@mui/material/Grid'
+import IconButton from '@mui/material/IconButton'
+import InputLabel from '@mui/material/InputLabel'
+import Slide from '@mui/material/Slide'
+import Toolbar from '@mui/material/Toolbar'
+import CloseIcon from '@mui/icons-material/Close'
+import Box from '@mui/material/Box'
+import Typography from '@mui/material/Typography'
+import MenuItem from '@mui/material/MenuItem'
+import Select from '@mui/material/Select'
+import MainCard from 'components/MainCard'
+import { FormBuilder } from '@formio/react'
+import { FormService } from 'services'
+import { useSession } from 'SessionStoreContext'
+import { StorageService } from 'plugins/storage'
const Transition = React.forwardRef(function Transition(props, ref) {
- return ;
-});
+ return
+})
export const FormNew = ({ open, handleClose }) => {
- const [form, setForm] = useState(null);
- const keycloak = useSession();
+ const [form, setForm] = useState(null)
+ const keycloak = useSession()
useEffect(() => {
setForm({
key: '',
description: '',
structure: { components: [], display: 'form' },
- });
- }, [open]);
+ })
+ }, [open])
const saveNewForm = () => {
FormService.create(keycloak, form)
.then(() => handleClose())
.catch((err) => {
- console.log(err.message);
- });
- };
+ console.log(err.message)
+ })
+ }
const handleInputChange = (event) => {
- setForm({ ...form, [event.target.name]: event.target.value });
- };
+ setForm({ ...form, [event.target.name]: event.target.value })
+ }
const handleSelectDisplay = (event) => {
- let structure = { ...form.structure };
- structure.display = event.target.value;
- setForm({ ...form, structure: structure });
- };
+ let structure = { ...form.structure }
+ structure.display = event.target.value
+ setForm({ ...form, structure: structure })
+ }
return (
form && (
@@ -145,5 +145,5 @@ export const FormNew = ({ open, handleClose }) => {
)
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/index.js b/apps/react/case-portal/src/views/management/index.js
index 401132fc..3acc66d2 100644
--- a/apps/react/case-portal/src/views/management/index.js
+++ b/apps/react/case-portal/src/views/management/index.js
@@ -1,6 +1,6 @@
-import { Grid, Typography } from '@mui/material';
-import DashboardCard from 'components/cards/DashboardCard';
-import { IconForms, IconPalette, IconPencil } from '@tabler/icons-react';
+import { Grid, Typography } from '@mui/material'
+import DashboardCard from 'components/cards/DashboardCard'
+import { IconForms, IconPalette, IconPencil } from '@tabler/icons-react'
const DashboardDefault = () => {
return (
@@ -59,7 +59,7 @@ const DashboardDefault = () => {
sx={{ display: { sm: 'none', md: 'block', lg: 'none' } }}
/>
- );
-};
+ )
+}
-export default DashboardDefault;
+export default DashboardDefault
diff --git a/apps/react/case-portal/src/views/management/processDef/bpmnModeler.js b/apps/react/case-portal/src/views/management/processDef/bpmnModeler.js
index c9a14434..00202a8a 100644
--- a/apps/react/case-portal/src/views/management/processDef/bpmnModeler.js
+++ b/apps/react/case-portal/src/views/management/processDef/bpmnModeler.js
@@ -1,14 +1,14 @@
-import CloseIcon from '@mui/icons-material/Close';
-import AppBar from '@mui/material/AppBar';
-import Button from '@mui/material/Button';
-import Dialog from '@mui/material/Dialog';
-import IconButton from '@mui/material/IconButton';
-import Slide from '@mui/material/Slide';
-import Toolbar from '@mui/material/Toolbar';
-import Typography from '@mui/material/Typography';
-import React, { useCallback, useMemo, useRef, useState, useEffect } from 'react';
-import { ProcessDefService } from 'services/ProcessDefService';
-import { DeploymentService } from 'services/DeploymentService';
+import CloseIcon from '@mui/icons-material/Close'
+import AppBar from '@mui/material/AppBar'
+import Button from '@mui/material/Button'
+import Dialog from '@mui/material/Dialog'
+import IconButton from '@mui/material/IconButton'
+import Slide from '@mui/material/Slide'
+import Toolbar from '@mui/material/Toolbar'
+import Typography from '@mui/material/Typography'
+import React, { useCallback, useMemo, useRef, useState, useEffect } from 'react'
+import { ProcessDefService } from 'services/ProcessDefService'
+import { DeploymentService } from 'services/DeploymentService'
import {
BpmnModeler as CamundaWebModeler,
@@ -17,92 +17,92 @@ import {
isNotificationEvent,
isPropertiesPanelResizedEvent,
isUIUpdateRequiredEvent,
-} from '@wkspower/camunda-web-modeler';
-import newProcessXml from './new-process';
+} from '@wkspower/camunda-web-modeler'
+import newProcessXml from './new-process'
const Transition = React.forwardRef(function Transition(props, ref) {
- return ;
-});
+ return
+})
export const BPMNModeler = ({ open, keycloak, processDef, handleClose }) => {
- const [bpmnXml, setBpmnXml] = useState();
+ const [bpmnXml, setBpmnXml] = useState()
useEffect(() => {
if (!processDef.id) {
- setBpmnXml(newProcessXml);
+ setBpmnXml(newProcessXml)
} else {
ProcessDefService.getBPMNXml(keycloak, processDef.id)
.then((data) => {
- setBpmnXml(data);
+ setBpmnXml(data)
})
.catch((err) => {
- setBpmnXml(null);
- console.log(err.message);
- });
+ setBpmnXml(null)
+ console.log(err.message)
+ })
}
- }, [open]);
+ }, [open])
- const modelerRef = useRef();
+ const modelerRef = useRef()
const onXmlChanged = useCallback((newXml) => {
// console.log(`Model has been changed because of ${reason}`);
// Do whatever you want here, save the XML and SVG in the backend etc.
- setBpmnXml(newXml);
- }, []);
+ setBpmnXml(newXml)
+ }, [])
const onSaveClicked = useCallback(async () => {
if (!modelerRef.current) {
// Should actually never happen, but required for type safety
- return;
+ return
}
// console.log("Saving model...");
- const result = await modelerRef.current.save();
+ const result = await modelerRef.current.save()
DeploymentService.deploy(keycloak, result.xml).then(() => {
- handleClose();
- });
+ handleClose()
+ })
// console.log("Saved model!", result.xml, result.svg);
- }, []);
+ }, [])
const onEvent = useCallback(
async (event) => {
if (isContentSavedEvent(event)) {
// Content has been saved, e.g. because user edited the model or because he switched
// from BPMN to XML.
- onXmlChanged(event.data.xml, event.data.svg, event.data.reason);
- return;
+ onXmlChanged(event.data.xml, event.data.svg, event.data.reason)
+ return
}
if (isNotificationEvent(event)) {
// There's a notification the user is supposed to see, e.g. the model could not be
// imported because it was invalid.
- return;
+ return
}
if (isUIUpdateRequiredEvent(event)) {
// Something in the modeler has changed and the UI (e.g. menu) should be updated.
// This happens when the user selects an element, for example.
- return;
+ return
}
if (isPropertiesPanelResizedEvent(event)) {
// The user has resized the properties panel. You can save this value e.g. in local
// storage to restore it on next load and pass it as initializing option.
// console.log(`Properties panel has been resized to ${event.data.width}`);
- return;
+ return
}
if (isBpmnIoEvent(event)) {
// Just a regular bpmn-js event - actually lots of them
- return;
+ return
}
// console.log("Unhandled event received", event);
},
[onXmlChanged],
- );
+ )
/**
* ====
@@ -117,7 +117,7 @@ export const BPMNModeler = ({ open, keycloak, processDef, handleClose }) => {
monacoOptions: undefined,
}),
[],
- );
+ )
const propertiesPanelOptions = useMemo(
() => ({
@@ -133,7 +133,7 @@ export const BPMNModeler = ({ open, keycloak, processDef, handleClose }) => {
},
}),
[],
- );
+ )
const modelerOptions = useMemo(
() => ({
@@ -148,9 +148,9 @@ export const BPMNModeler = ({ open, keycloak, processDef, handleClose }) => {
},
}),
[],
- );
+ )
- const bpmnJsOptions = useMemo(() => undefined, []);
+ const bpmnJsOptions = useMemo(() => undefined, [])
const modelerTabOptions = useMemo(
() => ({
@@ -161,7 +161,7 @@ export const BPMNModeler = ({ open, keycloak, processDef, handleClose }) => {
propertiesPanelOptions: propertiesPanelOptions,
}),
[bpmnJsOptions, modelerOptions, propertiesPanelOptions],
- );
+ )
return (
@@ -184,7 +184,9 @@ export const BPMNModeler = ({ open, keycloak, processDef, handleClose }) => {
/>
-
+
{
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/processDef/new-process.js b/apps/react/case-portal/src/views/management/processDef/new-process.js
index 2b3b375c..cb1ae68e 100644
--- a/apps/react/case-portal/src/views/management/processDef/new-process.js
+++ b/apps/react/case-portal/src/views/management/processDef/new-process.js
@@ -1,3 +1,3 @@
const xml =
- '';
-export default xml;
+ ''
+export default xml
diff --git a/apps/react/case-portal/src/views/management/processDef/processDefList.js b/apps/react/case-portal/src/views/management/processDef/processDefList.js
index 0d7abd90..dcc5015a 100644
--- a/apps/react/case-portal/src/views/management/processDef/processDefList.js
+++ b/apps/react/case-portal/src/views/management/processDef/processDefList.js
@@ -1,10 +1,10 @@
-import React, { useEffect, useState, lazy } from 'react';
-import Box from '@mui/material/Box';
-import Button from '@mui/material/Button';
-import { DataGrid } from '@mui/x-data-grid';
-import MainCard from 'components/MainCard';
-import { useSession } from 'SessionStoreContext';
-import { ProcessDefService } from 'services/ProcessDefService';
+import React, { useEffect, useState, lazy } from 'react'
+import Box from '@mui/material/Box'
+import Button from '@mui/material/Button'
+import { DataGrid } from '@mui/x-data-grid'
+import MainCard from 'components/MainCard'
+import { useSession } from 'SessionStoreContext'
+import { ProcessDefService } from 'services/ProcessDefService'
const BPMNModeler = lazy(() =>
import('./bpmnModeler').then((module) => ({
@@ -13,23 +13,23 @@ const BPMNModeler = lazy(() =>
)
export const ProcessDefList = () => {
- const [processDefs, setProcessDefs] = useState([]);
- const [processDef, setProcessDef] = useState(null);
- const [openBPMNModeler, setOpenBPMNModeler] = useState(false);
- const [fetching, setFetching] = useState(false);
- const keycloak = useSession();
+ const [processDefs, setProcessDefs] = useState([])
+ const [processDef, setProcessDef] = useState(null)
+ const [openBPMNModeler, setOpenBPMNModeler] = useState(false)
+ const [fetching, setFetching] = useState(false)
+ const keycloak = useSession()
useEffect(() => {
- setFetching(true);
+ setFetching(true)
ProcessDefService.find(keycloak)
.then((data) => {
- setProcessDefs(data);
+ setProcessDefs(data)
})
.finally(() => {
- setFetching(false);
- });
- }, [openBPMNModeler]);
+ setFetching(false)
+ })
+ }, [openBPMNModeler])
const columns = [
{ field: 'id', headerName: 'Id', width: 300 },
@@ -42,32 +42,32 @@ export const ProcessDefList = () => {
sortable: false,
renderCell: (params) => {
const onClick = (e) => {
- setProcessDef(params.row);
- e.stopPropagation(); // don't select this row after clicking
- setOpenBPMNModeler(true);
- };
+ setProcessDef(params.row)
+ e.stopPropagation() // don't select this row after clicking
+ setOpenBPMNModeler(true)
+ }
return (
- );
+ )
},
},
- ];
+ ]
const handleCloseBPMNModeler = () => {
- setOpenBPMNModeler(false);
- };
+ setOpenBPMNModeler(false)
+ }
const handleNewProcessDef = () => {
setProcessDef({
id: '',
name: '',
key: '',
- });
- setOpenBPMNModeler(true);
- };
+ })
+ setOpenBPMNModeler(true)
+ }
return (
@@ -99,5 +99,5 @@ export const ProcessDefList = () => {
/>
)}
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/queue/queueForm.js b/apps/react/case-portal/src/views/management/queue/queueForm.js
index 4b28eebe..6b49d8dd 100644
--- a/apps/react/case-portal/src/views/management/queue/queueForm.js
+++ b/apps/react/case-portal/src/views/management/queue/queueForm.js
@@ -1,48 +1,48 @@
-import CloseIcon from '@mui/icons-material/Close';
-import { FormControl, TextField } from '@mui/material';
-import AppBar from '@mui/material/AppBar';
-import Box from '@mui/material/Box';
-import Button from '@mui/material/Button';
-import Dialog from '@mui/material/Dialog';
-import IconButton from '@mui/material/IconButton';
-import Slide from '@mui/material/Slide';
-import Toolbar from '@mui/material/Toolbar';
-import Typography from '@mui/material/Typography';
-import { useSession } from 'SessionStoreContext';
-import MainCard from 'components/MainCard';
-import React from 'react';
-import { QueueService } from 'services/QueueService';
+import CloseIcon from '@mui/icons-material/Close'
+import { FormControl, TextField } from '@mui/material'
+import AppBar from '@mui/material/AppBar'
+import Box from '@mui/material/Box'
+import Button from '@mui/material/Button'
+import Dialog from '@mui/material/Dialog'
+import IconButton from '@mui/material/IconButton'
+import Slide from '@mui/material/Slide'
+import Toolbar from '@mui/material/Toolbar'
+import Typography from '@mui/material/Typography'
+import { useSession } from 'SessionStoreContext'
+import MainCard from 'components/MainCard'
+import React from 'react'
+import { QueueService } from 'services/QueueService'
const Transition = React.forwardRef(function Transition(props, ref) {
- return ;
-});
+ return
+})
export const QueueForm = ({ open, handleClose, queue, handleInputChange }) => {
- const keycloak = useSession();
+ const keycloak = useSession()
const save = () => {
if (queue.mode && queue.mode === 'new') {
QueueService.save(keycloak, queue)
.then(() => handleClose())
.catch((err) => {
- console.log(err.message);
- });
+ console.log(err.message)
+ })
} else {
QueueService.update(keycloak, queue.id, queue)
.then(() => handleClose())
.catch((err) => {
- console.log(err.message);
- });
+ console.log(err.message)
+ })
}
- };
+ }
const deleteQueue = () => {
QueueService.remove(keycloak, queue.id)
.then(() => handleClose())
.catch((err) => {
- console.log(err.message);
- });
- };
+ console.log(err.message)
+ })
+ }
return (
queue && (
@@ -111,5 +111,5 @@ export const QueueForm = ({ open, handleClose, queue, handleInputChange }) => {
)
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/queue/queueList.js b/apps/react/case-portal/src/views/management/queue/queueList.js
index c326d497..507ec0a3 100644
--- a/apps/react/case-portal/src/views/management/queue/queueList.js
+++ b/apps/react/case-portal/src/views/management/queue/queueList.js
@@ -1,31 +1,31 @@
-import Box from '@mui/material/Box';
-import Button from '@mui/material/Button';
-import { DataGrid } from '@mui/x-data-grid';
-import { useSession } from 'SessionStoreContext';
-import MainCard from 'components/MainCard';
-import { useEffect, useState } from 'react';
-import { QueueService } from 'services/QueueService';
-import { QueueForm } from './queueForm';
+import Box from '@mui/material/Box'
+import Button from '@mui/material/Button'
+import { DataGrid } from '@mui/x-data-grid'
+import { useSession } from 'SessionStoreContext'
+import MainCard from 'components/MainCard'
+import { useEffect, useState } from 'react'
+import { QueueService } from 'services/QueueService'
+import { QueueForm } from './queueForm'
export const QueueList = () => {
- const [queues, setQueues] = useState([]);
- const [openForm, setOpenForm] = useState(false);
- const [queue, setQueue] = useState(null);
- const keycloak = useSession();
+ const [queues, setQueues] = useState([])
+ const [openForm, setOpenForm] = useState(false)
+ const [queue, setQueue] = useState(null)
+ const keycloak = useSession()
useEffect(() => {
QueueService.find(keycloak)
.then((data) => {
- setQueues(data);
+ setQueues(data)
})
.catch((err) => {
- console.log(err.message);
- });
- }, [openForm]);
+ console.log(err.message)
+ })
+ }, [openForm])
const handleCloseForm = () => {
- setOpenForm(false);
- };
+ setOpenForm(false)
+ }
const columns = [
{ field: 'id', headerName: 'Id', width: 300 },
@@ -37,28 +37,28 @@ export const QueueList = () => {
sortable: false,
renderCell: (params) => {
const onDetailsClick = (e) => {
- setQueue(params.row);
- e.stopPropagation(); // don't select this row after clicking
- setOpenForm(true);
- };
+ setQueue(params.row)
+ e.stopPropagation() // don't select this row after clicking
+ setOpenForm(true)
+ }
- return ;
+ return
},
},
- ];
+ ]
const handleInputChange = (event) => {
- setQueue({ ...queue, [event.target.name]: event.target.value });
- };
+ setQueue({ ...queue, [event.target.name]: event.target.value })
+ }
const handleNew = () => {
setQueue({
id: '',
fields: { components: [], display: 'form' },
mode: 'new',
- });
- setOpenForm(true);
- };
+ })
+ setOpenForm(true)
+ }
return (
@@ -85,5 +85,5 @@ export const QueueList = () => {
/>
)}
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/recordType/recordTypeForm.js b/apps/react/case-portal/src/views/management/recordType/recordTypeForm.js
index e40024fd..e64ddb48 100644
--- a/apps/react/case-portal/src/views/management/recordType/recordTypeForm.js
+++ b/apps/react/case-portal/src/views/management/recordType/recordTypeForm.js
@@ -1,24 +1,24 @@
-import React from 'react';
-import CloseIcon from '@mui/icons-material/Close';
-import AppBar from '@mui/material/AppBar';
-import Box from '@mui/material/Box';
-import Button from '@mui/material/Button';
-import Dialog from '@mui/material/Dialog';
-import Grid from '@mui/material/Grid';
-import IconButton from '@mui/material/IconButton';
-import Slide from '@mui/material/Slide';
-import Toolbar from '@mui/material/Toolbar';
-import Typography from '@mui/material/Typography';
-import { FormBuilder } from '@formio/react';
-import { TextField } from '@mui/material';
-import MainCard from 'components/MainCard';
-import { RecordTypeService } from 'services';
-import { useSession } from 'SessionStoreContext';
-import { StorageService } from 'plugins/storage';
+import React from 'react'
+import CloseIcon from '@mui/icons-material/Close'
+import AppBar from '@mui/material/AppBar'
+import Box from '@mui/material/Box'
+import Button from '@mui/material/Button'
+import Dialog from '@mui/material/Dialog'
+import Grid from '@mui/material/Grid'
+import IconButton from '@mui/material/IconButton'
+import Slide from '@mui/material/Slide'
+import Toolbar from '@mui/material/Toolbar'
+import Typography from '@mui/material/Typography'
+import { FormBuilder } from '@formio/react'
+import { TextField } from '@mui/material'
+import MainCard from 'components/MainCard'
+import { RecordTypeService } from 'services'
+import { useSession } from 'SessionStoreContext'
+import { StorageService } from 'plugins/storage'
const Transition = React.forwardRef(function Transition(props, ref) {
- return ;
-});
+ return
+})
export const RecordTypeForm = ({
open,
@@ -26,31 +26,31 @@ export const RecordTypeForm = ({
recordType,
handleInputChange,
}) => {
- const keycloak = useSession();
+ const keycloak = useSession()
const save = () => {
if (recordType.mode && recordType.mode === 'new') {
RecordTypeService.create(keycloak, recordType)
.then(() => handleClose())
.catch((err) => {
- console.log(err.message);
- });
+ console.log(err.message)
+ })
} else {
RecordTypeService.update(keycloak, recordType.id, recordType)
.then(() => handleClose())
.catch((err) => {
- console.log(err.message);
- });
+ console.log(err.message)
+ })
}
- };
+ }
const deleteRecordType = () => {
RecordTypeService.remove(keycloak, recordType.id)
.then(() => handleClose())
.catch((err) => {
- console.log(err.message);
- });
- };
+ console.log(err.message)
+ })
+ }
return (
recordType && (
@@ -114,5 +114,5 @@ export const RecordTypeForm = ({
)
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/recordType/recordTypeList.js b/apps/react/case-portal/src/views/management/recordType/recordTypeList.js
index 3bee44dd..21f59a9a 100644
--- a/apps/react/case-portal/src/views/management/recordType/recordTypeList.js
+++ b/apps/react/case-portal/src/views/management/recordType/recordTypeList.js
@@ -1,31 +1,31 @@
-import { useEffect, useState } from 'react';
-import Box from '@mui/material/Box';
-import { DataGrid } from '@mui/x-data-grid';
-import MainCard from 'components/MainCard';
-import Button from '@mui/material/Button';
-import { RecordTypeForm } from './recordTypeForm';
-import { RecordTypeService } from 'services';
-import { useSession } from 'SessionStoreContext';
+import { useEffect, useState } from 'react'
+import Box from '@mui/material/Box'
+import { DataGrid } from '@mui/x-data-grid'
+import MainCard from 'components/MainCard'
+import Button from '@mui/material/Button'
+import { RecordTypeForm } from './recordTypeForm'
+import { RecordTypeService } from 'services'
+import { useSession } from 'SessionStoreContext'
export const RecordTypeList = () => {
- const [recordTypes, setRecordTypes] = useState([]);
- const [openForm, setOpenForm] = useState(false);
- const [recordType, setRecordType] = useState(null);
- const keycloak = useSession();
+ const [recordTypes, setRecordTypes] = useState([])
+ const [openForm, setOpenForm] = useState(false)
+ const [recordType, setRecordType] = useState(null)
+ const keycloak = useSession()
useEffect(() => {
RecordTypeService.getAll(keycloak)
.then((data) => {
- setRecordTypes(data);
+ setRecordTypes(data)
})
.catch((err) => {
- console.log(err.message);
- });
- }, [openForm]);
+ console.log(err.message)
+ })
+ }, [openForm])
const handleCloseForm = () => {
- setOpenForm(false);
- };
+ setOpenForm(false)
+ }
const columns = [
{ field: 'id', headerName: 'Id', width: 300 },
@@ -35,28 +35,28 @@ export const RecordTypeList = () => {
sortable: false,
renderCell: (params) => {
const onDetailsClick = (e) => {
- setRecordType(params.row);
- e.stopPropagation(); // don't select this row after clicking
- setOpenForm(true);
- };
+ setRecordType(params.row)
+ e.stopPropagation() // don't select this row after clicking
+ setOpenForm(true)
+ }
- return ;
+ return
},
},
- ];
+ ]
const handleInputChange = (event) => {
- setRecordType({ ...recordType, [event.target.name]: event.target.value });
- };
+ setRecordType({ ...recordType, [event.target.name]: event.target.value })
+ }
const handleNew = () => {
setRecordType({
id: '',
fields: { components: [], display: 'form' },
mode: 'new',
- });
- setOpenForm(true);
- };
+ })
+ setOpenForm(true)
+ }
return (
@@ -83,5 +83,5 @@ export const RecordTypeList = () => {
/>
)}
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/management/utilities/Color.js b/apps/react/case-portal/src/views/management/utilities/Color.js
index c0868228..5a9a9b65 100644
--- a/apps/react/case-portal/src/views/management/utilities/Color.js
+++ b/apps/react/case-portal/src/views/management/utilities/Color.js
@@ -1,12 +1,12 @@
-import PropTypes from 'prop-types';
-import Box from '@mui/material/Box';
-import Card from '@mui/material/Card';
-import Grid from '@mui/material/Grid';
-import Typography from '@mui/material/Typography';
-import SubCard from 'ui-component/cards/SubCard';
-import MainCard from 'ui-component/cards/MainCard';
-import SecondaryAction from 'ui-component/cards/CardSecondaryAction';
-import { gridSpacing } from 'store/constant';
+import PropTypes from 'prop-types'
+import Box from '@mui/material/Box'
+import Card from '@mui/material/Card'
+import Grid from '@mui/material/Grid'
+import Typography from '@mui/material/Typography'
+import SubCard from 'ui-component/cards/SubCard'
+import MainCard from 'ui-component/cards/MainCard'
+import SecondaryAction from 'ui-component/cards/CardSecondaryAction'
+import { gridSpacing } from 'store/constant'
// ===============================|| COLOR BOX ||=============================== //
@@ -44,14 +44,14 @@ const ColorBox = ({ bgcolor, title, data, dark }) => (
)}
>
-);
+)
ColorBox.propTypes = {
bgcolor: PropTypes.string,
title: PropTypes.string,
data: PropTypes.object.isRequired,
dark: PropTypes.bool,
-};
+}
// ===============================|| UI COLOR ||=============================== //
@@ -345,6 +345,6 @@ const UIColor = () => (
-);
+)
-export default UIColor;
+export default UIColor
diff --git a/apps/react/case-portal/src/views/management/utilities/MaterialIcons.js b/apps/react/case-portal/src/views/management/utilities/MaterialIcons.js
index 2261c063..9a38866b 100644
--- a/apps/react/case-portal/src/views/management/utilities/MaterialIcons.js
+++ b/apps/react/case-portal/src/views/management/utilities/MaterialIcons.js
@@ -1,14 +1,14 @@
-import { styled } from '@mui/material/styles';
-import Card from '@mui/material/Card';
-import MainCard from 'ui-component/cards/MainCard';
-import SecondaryAction from 'ui-component/cards/CardSecondaryAction';
+import { styled } from '@mui/material/styles'
+import Card from '@mui/material/Card'
+import MainCard from 'ui-component/cards/MainCard'
+import SecondaryAction from 'ui-component/cards/CardSecondaryAction'
// styles
const IFrameWrapper = styled('iframe')(({ theme }) => ({
height: 'calc(100vh - 210px)',
border: '1px solid',
borderColor: theme.palette.primary.light,
-}));
+}))
const MaterialIcons = () => (
(
/>
-);
+)
-export default MaterialIcons;
+export default MaterialIcons
diff --git a/apps/react/case-portal/src/views/management/utilities/Shadow.js b/apps/react/case-portal/src/views/management/utilities/Shadow.js
index 44dd2583..88dcdd9f 100644
--- a/apps/react/case-portal/src/views/management/utilities/Shadow.js
+++ b/apps/react/case-portal/src/views/management/utilities/Shadow.js
@@ -1,11 +1,11 @@
-import PropTypes from 'prop-types';
-import Box from '@mui/material/Box';
-import Card from '@mui/material/Card';
-import Grid from '@mui/material/Grid';
-import SubCard from 'ui-component/cards/SubCard';
-import MainCard from 'ui-component/cards/MainCard';
-import SecondaryAction from 'ui-component/cards/CardSecondaryAction';
-import { gridSpacing } from 'store/constant';
+import PropTypes from 'prop-types'
+import Box from '@mui/material/Box'
+import Card from '@mui/material/Card'
+import Grid from '@mui/material/Grid'
+import SubCard from 'ui-component/cards/SubCard'
+import MainCard from 'ui-component/cards/MainCard'
+import SecondaryAction from 'ui-component/cards/CardSecondaryAction'
+import { gridSpacing } from 'store/constant'
const ShadowBox = ({ shadow }) => (
@@ -22,11 +22,11 @@ const ShadowBox = ({ shadow }) => (
boxShadow: {shadow}
-);
+)
ShadowBox.propTypes = {
shadow: PropTypes.string.isRequired,
-};
+}
// ============================|| UTILITIES SHADOW ||============================ //
@@ -121,6 +121,6 @@ const UtilitiesShadow = () => (
-);
+)
-export default UtilitiesShadow;
+export default UtilitiesShadow
diff --git a/apps/react/case-portal/src/views/management/utilities/TablerIcons.js b/apps/react/case-portal/src/views/management/utilities/TablerIcons.js
index 52ea67af..73ff66c2 100644
--- a/apps/react/case-portal/src/views/management/utilities/TablerIcons.js
+++ b/apps/react/case-portal/src/views/management/utilities/TablerIcons.js
@@ -1,15 +1,15 @@
-import { styled } from '@mui/material/styles';
-import Card from '@mui/material/Card';
-import MainCard from 'ui-component/cards/MainCard';
-import SecondaryAction from 'ui-component/cards/CardSecondaryAction';
-import LinkIcon from '@mui/icons-material/Link';
+import { styled } from '@mui/material/styles'
+import Card from '@mui/material/Card'
+import MainCard from 'ui-component/cards/MainCard'
+import SecondaryAction from 'ui-component/cards/CardSecondaryAction'
+import LinkIcon from '@mui/icons-material/Link'
// styles
const IFrameWrapper = styled('iframe')(({ theme }) => ({
height: 'calc(100vh - 210px)',
border: '1px solid',
borderColor: theme.palette.primary.light,
-}));
+}))
const TablerIcons = () => (
(
/>
-);
+)
-export default TablerIcons;
+export default TablerIcons
diff --git a/apps/react/case-portal/src/views/management/utilities/Typography.js b/apps/react/case-portal/src/views/management/utilities/Typography.js
index 79a5e758..913d32ed 100644
--- a/apps/react/case-portal/src/views/management/utilities/Typography.js
+++ b/apps/react/case-portal/src/views/management/utilities/Typography.js
@@ -1,9 +1,9 @@
-import { Grid, Link } from '@mui/material';
-import MuiTypography from '@mui/material/Typography';
-import SubCard from 'ui-component/cards/SubCard';
-import MainCard from 'ui-component/cards/MainCard';
-import SecondaryAction from 'ui-component/cards/CardSecondaryAction';
-import { gridSpacing } from 'store/constant';
+import { Grid, Link } from '@mui/material'
+import MuiTypography from '@mui/material/Typography'
+import SubCard from 'ui-component/cards/SubCard'
+import MainCard from 'ui-component/cards/MainCard'
+import SecondaryAction from 'ui-component/cards/CardSecondaryAction'
+import { gridSpacing } from 'store/constant'
// ==============================|| TYPOGRAPHY ||============================== //
@@ -128,6 +128,6 @@ const Typography = () => (
-);
+)
-export default Typography;
+export default Typography
diff --git a/apps/react/case-portal/src/views/record/recordForm.js b/apps/react/case-portal/src/views/record/recordForm.js
index 90c30a47..13d8a4dd 100644
--- a/apps/react/case-portal/src/views/record/recordForm.js
+++ b/apps/react/case-portal/src/views/record/recordForm.js
@@ -1,47 +1,47 @@
-import React, { useState } from 'react';
-import CloseIcon from '@mui/icons-material/Close';
-import AppBar from '@mui/material/AppBar';
-import Button from '@mui/material/Button';
-import Dialog from '@mui/material/Dialog';
-import IconButton from '@mui/material/IconButton';
-import Slide from '@mui/material/Slide';
-import Toolbar from '@mui/material/Toolbar';
-import Typography from '@mui/material/Typography';
-import { Form } from '@formio/react';
-import Grid from '@mui/material/Grid';
-import MainCard from 'components/MainCard';
-import { useEffect } from 'react';
-import { RecordService } from '../../services';
-import { useSession } from 'SessionStoreContext';
-import { StorageService } from 'plugins/storage';
+import React, { useState } from 'react'
+import CloseIcon from '@mui/icons-material/Close'
+import AppBar from '@mui/material/AppBar'
+import Button from '@mui/material/Button'
+import Dialog from '@mui/material/Dialog'
+import IconButton from '@mui/material/IconButton'
+import Slide from '@mui/material/Slide'
+import Toolbar from '@mui/material/Toolbar'
+import Typography from '@mui/material/Typography'
+import { Form } from '@formio/react'
+import Grid from '@mui/material/Grid'
+import MainCard from 'components/MainCard'
+import { useEffect } from 'react'
+import { RecordService } from '../../services'
+import { useSession } from 'SessionStoreContext'
+import { StorageService } from 'plugins/storage'
const Transition = React.forwardRef(function Transition(props, ref) {
- return ;
-});
+ return
+})
export const RecordForm = ({ open, recordType, record, handleClose, mode }) => {
- const [form, setForm] = useState(null);
- const [formData, setFormData] = useState(null);
- const keycloak = useSession();
+ const [form, setForm] = useState(null)
+ const [formData, setFormData] = useState(null)
+ const keycloak = useSession()
useEffect(() => {
- setForm(recordType.fields);
+ setForm(recordType.fields)
setFormData({
data: record,
metadata: {},
isValid: true,
- });
- }, [record]);
+ })
+ }, [record])
const save = () => {
if (mode === 'new') {
RecordService.createRecord(keycloak, recordType.id, formData.data)
.then(() => {
- handleClose();
+ handleClose()
})
.catch((err) => {
- console.log(err.message);
- });
+ console.log(err.message)
+ })
} else {
RecordService.updateRecord(
keycloak,
@@ -50,23 +50,23 @@ export const RecordForm = ({ open, recordType, record, handleClose, mode }) => {
formData.data,
)
.then(() => {
- handleClose();
+ handleClose()
})
.catch((err) => {
- console.log(err.message);
- });
+ console.log(err.message)
+ })
}
- };
+ }
const deleteRecord = () => {
RecordService.deleteRecord(recordType.id, record._id.$oid)
.then(() => {
- handleClose();
+ handleClose()
})
.catch((err) => {
- console.log(err.message);
- });
- };
+ console.log(err.message)
+ })
+ }
return (
form &&
@@ -121,5 +121,5 @@ export const RecordForm = ({ open, recordType, record, handleClose, mode }) => {
)
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/record/recordList.js b/apps/react/case-portal/src/views/record/recordList.js
index 6ae0338a..1d652bf6 100644
--- a/apps/react/case-portal/src/views/record/recordList.js
+++ b/apps/react/case-portal/src/views/record/recordList.js
@@ -1,36 +1,36 @@
-import { useEffect, useState } from 'react';
-import Box from '@mui/material/Box';
-import { DataGrid } from '@mui/x-data-grid';
-import MainCard from 'components/MainCard';
-import Button from '@mui/material/Button';
-import { RecordForm } from './recordForm';
-import { useTranslation } from 'react-i18next';
-import { RecordService } from '../../services';
-import { useSession } from 'SessionStoreContext';
+import { useEffect, useState } from 'react'
+import Box from '@mui/material/Box'
+import { DataGrid } from '@mui/x-data-grid'
+import MainCard from 'components/MainCard'
+import Button from '@mui/material/Button'
+import { RecordForm } from './recordForm'
+import { useTranslation } from 'react-i18next'
+import { RecordService } from '../../services'
+import { useSession } from 'SessionStoreContext'
export const RecordList = ({ recordTypeId }) => {
- const [records, setRecords] = useState([]);
- const [record, setRecord] = useState(null);
- const [recordType, setRecordType] = useState([]);
- const [openForm, setOpenForm] = useState(false);
- const [columns, setColumns] = useState([]);
- const [mode, setMode] = useState('new');
- const { t } = useTranslation();
- const keycloak = useSession();
+ const [records, setRecords] = useState([])
+ const [record, setRecord] = useState(null)
+ const [recordType, setRecordType] = useState([])
+ const [openForm, setOpenForm] = useState(false)
+ const [columns, setColumns] = useState([])
+ const [mode, setMode] = useState('new')
+ const { t } = useTranslation()
+ const keycloak = useSession()
useEffect(() => {
RecordService.getRecordTypeById(keycloak, recordTypeId)
.then((data) => {
- let dynamicColumns = [];
+ let dynamicColumns = []
data.fields.components
.filter((element) => element.input === true)
.forEach((element) => {
- const key = element.key;
- const label = element.label;
+ const key = element.key
+ const label = element.label
- dynamicColumns.push({ field: key, headerName: label, width: 100 });
- });
+ dynamicColumns.push({ field: key, headerName: label, width: 100 })
+ })
dynamicColumns.push({
field: 'action',
@@ -38,44 +38,44 @@ export const RecordList = ({ recordTypeId }) => {
sortable: false,
renderCell: (params) => {
const onDetailsClick = (e) => {
- setRecord(params.row);
- e.stopPropagation(); // don't select this row after clicking
- setMode('update');
- setOpenForm(true);
- };
+ setRecord(params.row)
+ e.stopPropagation() // don't select this row after clicking
+ setMode('update')
+ setOpenForm(true)
+ }
return (
- );
+ )
},
- });
- setColumns(dynamicColumns);
- setRecordType(data);
+ })
+ setColumns(dynamicColumns)
+ setRecordType(data)
})
.catch((err) => {
- console.log(err.message);
- });
+ console.log(err.message)
+ })
RecordService.getRecordById(keycloak, recordTypeId)
.then((data) => {
- setRecords(data);
+ setRecords(data)
})
.catch((err) => {
- console.log(err.message);
- });
- }, [recordTypeId, openForm]);
+ console.log(err.message)
+ })
+ }, [recordTypeId, openForm])
const handleCloseForm = () => {
- setOpenForm(false);
- };
+ setOpenForm(false)
+ }
const handleNew = () => {
- setMode('new');
- setRecord({});
- setOpenForm(true);
- };
+ setMode('new')
+ setRecord({})
+ setOpenForm(true)
+ }
return (
@@ -104,5 +104,5 @@ export const RecordList = ({ recordTypeId }) => {
/>
)}
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/taskForm/taskForm.js b/apps/react/case-portal/src/views/taskForm/taskForm.js
index 5b4776c9..459ef42c 100644
--- a/apps/react/case-portal/src/views/taskForm/taskForm.js
+++ b/apps/react/case-portal/src/views/taskForm/taskForm.js
@@ -1,104 +1,104 @@
-import { Form } from '@formio/react';
-import CloseIcon from '@mui/icons-material/Close';
-import AppBar from '@mui/material/AppBar';
-import Box from '@mui/material/Box';
-import Button from '@mui/material/Button';
-import Dialog from '@mui/material/Dialog';
-import IconButton from '@mui/material/IconButton';
-import Slide from '@mui/material/Slide';
-import Toolbar from '@mui/material/Toolbar';
-import Typography from '@mui/material/Typography';
-import MainCard from 'components/MainCard';
-import { StorageService } from 'plugins/storage';
-import React, { useEffect, useState } from 'react';
-import { useTranslation } from 'react-i18next';
-import { FormService, TaskService, VariableService } from 'services';
-import { ProcessDiagram } from 'views/bpmnViewer/ProcessDiagram';
-import { useSession } from '../../SessionStoreContext';
+import { Form } from '@formio/react'
+import CloseIcon from '@mui/icons-material/Close'
+import AppBar from '@mui/material/AppBar'
+import Box from '@mui/material/Box'
+import Button from '@mui/material/Button'
+import Dialog from '@mui/material/Dialog'
+import IconButton from '@mui/material/IconButton'
+import Slide from '@mui/material/Slide'
+import Toolbar from '@mui/material/Toolbar'
+import Typography from '@mui/material/Typography'
+import MainCard from 'components/MainCard'
+import { StorageService } from 'plugins/storage'
+import React, { useEffect, useState } from 'react'
+import { useTranslation } from 'react-i18next'
+import { FormService, TaskService, VariableService } from 'services'
+import { ProcessDiagram } from 'views/bpmnViewer/ProcessDiagram'
+import { useSession } from '../../SessionStoreContext'
const Transition = React.forwardRef(function Transition(props, ref) {
- return ;
-});
+ return
+})
export const TaskForm = ({ open, handleClose, task }) => {
- const [claimed, setClaimed] = useState(false);
- const [assignee, setAssignee] = useState(null);
- const [formComponents, setFormComponents] = useState(null);
- const [variableValues, setVariableValues] = useState(null);
- const [activityInstances, setActivityInstances] = useState(null);
- const { t } = useTranslation();
- const keycloak = useSession();
+ const [claimed, setClaimed] = useState(false)
+ const [assignee, setAssignee] = useState(null)
+ const [formComponents, setFormComponents] = useState(null)
+ const [variableValues, setVariableValues] = useState(null)
+ const [activityInstances, setActivityInstances] = useState(null)
+ const { t } = useTranslation()
+ const keycloak = useSession()
useEffect(() => {
- let apiDataVariables = {};
- let apiDataFormComponents = {};
+ let apiDataVariables = {}
+ let apiDataFormComponents = {}
FormService.getByKey(keycloak, task.formKey)
.then((data) => {
- apiDataFormComponents = data.structure;
+ apiDataFormComponents = data.structure
apiDataVariables = {
data: {},
metadata: {},
isValid: true,
- };
+ }
return VariableService.getByProcessInstanceId(
keycloak,
task.processInstanceId,
- );
+ )
})
.then((data) => {
data.forEach((item) => {
if (item.type === 'Json') {
- apiDataVariables.data[item.name] = JSON.parse(item.value);
+ apiDataVariables.data[item.name] = JSON.parse(item.value)
} else {
- apiDataVariables.data[item.name] = item.value;
+ apiDataVariables.data[item.name] = item.value
}
- });
+ })
- setFormComponents(apiDataFormComponents);
- setVariableValues(apiDataVariables);
- setClaimed(task.assignee !== null && task.assignee !== undefined);
- setAssignee(task.assignee);
+ setFormComponents(apiDataFormComponents)
+ setVariableValues(apiDataVariables)
+ setClaimed(task.assignee !== null && task.assignee !== undefined)
+ setAssignee(task.assignee)
})
.catch((err) => {
- console.log(err.message);
- });
+ console.log(err.message)
+ })
TaskService.getActivityInstancesById(keycloak, task.processInstanceId).then(
(data) => {
- setActivityInstances(data);
+ setActivityInstances(data)
},
- );
- }, [open, task]);
+ )
+ }, [open, task])
const handleClaim = function () {
TaskService.claim(keycloak, task.id)
.then(() => {
- setClaimed(true);
- setAssignee(keycloak.idTokenParsed.given_name);
+ setClaimed(true)
+ setAssignee(keycloak.idTokenParsed.given_name)
})
.catch((err) => {
- console.log(err.message);
- });
- };
+ console.log(err.message)
+ })
+ }
const handleUnclaim = function () {
TaskService.unclaim(keycloak, task.id)
.then(() => {
- setClaimed(false);
- setAssignee(null);
+ setClaimed(false)
+ setAssignee(null)
})
.catch((err) => {
- console.log(err.message);
- });
- };
+ console.log(err.message)
+ })
+ }
const handleComplete = function () {
- let variables = { ...variableValues.data };
+ let variables = { ...variableValues.data }
- let variablesList = [];
+ let variablesList = []
Object.keys(variables).forEach(function (key) {
let variable = {
@@ -109,16 +109,16 @@ export const TaskForm = ({ open, handleClose, task }) => {
: variables[key],
type:
typeof variables[key] === 'object' ? 'Json' : typeof variables[key],
- };
- variablesList.push(variable);
- });
+ }
+ variablesList.push(variable)
+ })
TaskService.complete(keycloak, task.id, variablesList)
.then(() => handleClose())
.catch((err) => {
- console.log(err.message);
- });
- };
+ console.log(err.message)
+ })
+ }
return (
@@ -187,5 +187,5 @@ export const TaskForm = ({ open, handleClose, task }) => {
- );
-};
+ )
+}
diff --git a/apps/react/case-portal/src/views/taskList/taskList.js b/apps/react/case-portal/src/views/taskList/taskList.js
index 28a33fb4..399777f3 100644
--- a/apps/react/case-portal/src/views/taskList/taskList.js
+++ b/apps/react/case-portal/src/views/taskList/taskList.js
@@ -1,62 +1,62 @@
-import { AddCircleOutline, PlayCircle } from '@mui/icons-material';
-import { Box } from '@mui/material';
-import Button from '@mui/material/Button';
-import List from '@mui/material/List';
+import { AddCircleOutline, PlayCircle } from '@mui/icons-material'
+import { Box } from '@mui/material'
+import Button from '@mui/material/Button'
+import List from '@mui/material/List'
import {
default as IconButton,
default as ListItem,
-} from '@mui/material/ListItem';
-import { default as ListItemSecondaryAction } from '@mui/material/ListItemIcon';
-import ListSubheader from '@mui/material/ListSubheader';
-import Modal from '@mui/material/Modal';
-import TextField from '@mui/material/TextField';
-import Typography from '@mui/material/Typography';
-import Config from 'consts/index';
-import { format } from 'date-fns';
-import React, { useEffect, useState } from 'react';
-import { useTranslation } from 'react-i18next';
-import { TaskService } from 'services';
-import { useSession } from '../../SessionStoreContext';
-import { TaskForm } from '../taskForm/taskForm';
-import './taskList.css';
+} from '@mui/material/ListItem'
+import { default as ListItemSecondaryAction } from '@mui/material/ListItemIcon'
+import ListSubheader from '@mui/material/ListSubheader'
+import Modal from '@mui/material/Modal'
+import TextField from '@mui/material/TextField'
+import Typography from '@mui/material/Typography'
+import Config from 'consts/index'
+import { format } from 'date-fns'
+import React, { useEffect, useState } from 'react'
+import { useTranslation } from 'react-i18next'
+import { TaskService } from 'services'
+import { useSession } from '../../SessionStoreContext'
+import { TaskForm } from '../taskForm/taskForm'
+import './taskList.css'
export const TaskList = ({ businessKey, callback }) => {
- const [tasks, setTasks] = useState(null);
- const [open, setOpen] = useState(false);
- const [task, setTask] = useState(null);
- const { t } = useTranslation();
- const [fetching, setFetching] = useState(false);
- const keycloak = useSession();
+ const [tasks, setTasks] = useState(null)
+ const [open, setOpen] = useState(false)
+ const [task, setTask] = useState(null)
+ const { t } = useTranslation()
+ const [fetching, setFetching] = useState(false)
+ const keycloak = useSession()
- const [isModalOpen, setModalOpen] = useState(false);
+ const [isModalOpen, setModalOpen] = useState(false)
const [newTaskData, setNewTaskData] = useState({
name: '',
description: '',
due: null,
assignee: '',
caseInstanceId: businessKey,
- });
+ })
useEffect(() => {
if (Config.WebsocketsEnabled) {
- const websocketUrl = Config.WebsocketUrl;
- const topic = Config.WebsocketsTopicHumanTaskCreated;
- const ws = new WebSocket(`${websocketUrl}/${topic}`);
+ const websocketUrl = Config.WebsocketUrl
+ const topic = Config.WebsocketsTopicHumanTaskCreated
+ const ws = new WebSocket(`${websocketUrl}/${topic}`)
ws.onmessage = () => {
- fetchTasks(setFetching, keycloak, businessKey, setTasks);
- };
+ fetchTasks(setFetching, keycloak, businessKey, setTasks)
+ }
return () => {
- ws.close(); // Close WebSocket connection when component unmounts
- };
+ ws.close() // Close WebSocket connection when component unmounts
+ }
}
- }, []);
+ }, [])
const handleNewTaskSubmit = () => {
// Perform any necessary validation on the new task data
// ...
TaskService.createNewTask(keycloak, newTaskData).then(() => {
- fetchTasks(setFetching, keycloak, businessKey, setTasks);
- });
+ fetchTasks(setFetching, keycloak, businessKey, setTasks)
+ })
// Reset the new task form
setNewTaskData({
@@ -65,20 +65,20 @@ export const TaskList = ({ businessKey, callback }) => {
due: null,
assignee: '',
caseInstanceId: businessKey,
- });
+ })
// Close the modal
- setModalOpen(false);
- };
+ setModalOpen(false)
+ }
useEffect(() => {
- fetchTasks(setFetching, keycloak, businessKey, setTasks);
- }, [open, businessKey]);
+ fetchTasks(setFetching, keycloak, businessKey, setTasks)
+ }, [open, businessKey])
const handleClose = () => {
- setOpen(false);
- callback();
- };
+ setOpen(false)
+ callback()
+ }
return (
@@ -143,8 +143,8 @@ export const TaskList = ({ businessKey, callback }) => {
edge='end'
aria-label='complete'
onClick={() => {
- setTask(task);
- setOpen(true);
+ setTask(task)
+ setOpen(true)
}}
>
@@ -230,11 +230,11 @@ export const TaskList = ({ businessKey, callback }) => {
/>
)}
- );
-};
+ )
+}
function fetchTasks(setFetching, keycloak, businessKey, setTasks) {
- setFetching(true);
+ setFetching(true)
TaskService.filterTasks(keycloak, businessKey)
.then((data) => {
@@ -248,9 +248,9 @@ function fetchTasks(setFetching, keycloak, businessKey, setTasks) {
followUp: o.followUp && format(new Date(o.followUp), 'P'),
}),
),
- );
+ )
})
.finally(() => {
- setFetching(false);
- });
+ setFetching(false)
+ })
}
diff --git a/apps/react/case-portal/src/views/utilities/Color.js b/apps/react/case-portal/src/views/utilities/Color.js
index c0868228..5a9a9b65 100644
--- a/apps/react/case-portal/src/views/utilities/Color.js
+++ b/apps/react/case-portal/src/views/utilities/Color.js
@@ -1,12 +1,12 @@
-import PropTypes from 'prop-types';
-import Box from '@mui/material/Box';
-import Card from '@mui/material/Card';
-import Grid from '@mui/material/Grid';
-import Typography from '@mui/material/Typography';
-import SubCard from 'ui-component/cards/SubCard';
-import MainCard from 'ui-component/cards/MainCard';
-import SecondaryAction from 'ui-component/cards/CardSecondaryAction';
-import { gridSpacing } from 'store/constant';
+import PropTypes from 'prop-types'
+import Box from '@mui/material/Box'
+import Card from '@mui/material/Card'
+import Grid from '@mui/material/Grid'
+import Typography from '@mui/material/Typography'
+import SubCard from 'ui-component/cards/SubCard'
+import MainCard from 'ui-component/cards/MainCard'
+import SecondaryAction from 'ui-component/cards/CardSecondaryAction'
+import { gridSpacing } from 'store/constant'
// ===============================|| COLOR BOX ||=============================== //
@@ -44,14 +44,14 @@ const ColorBox = ({ bgcolor, title, data, dark }) => (
)}
>
-);
+)
ColorBox.propTypes = {
bgcolor: PropTypes.string,
title: PropTypes.string,
data: PropTypes.object.isRequired,
dark: PropTypes.bool,
-};
+}
// ===============================|| UI COLOR ||=============================== //
@@ -345,6 +345,6 @@ const UIColor = () => (
-);
+)
-export default UIColor;
+export default UIColor
diff --git a/apps/react/case-portal/src/views/utilities/MaterialIcons.js b/apps/react/case-portal/src/views/utilities/MaterialIcons.js
index 2261c063..9a38866b 100644
--- a/apps/react/case-portal/src/views/utilities/MaterialIcons.js
+++ b/apps/react/case-portal/src/views/utilities/MaterialIcons.js
@@ -1,14 +1,14 @@
-import { styled } from '@mui/material/styles';
-import Card from '@mui/material/Card';
-import MainCard from 'ui-component/cards/MainCard';
-import SecondaryAction from 'ui-component/cards/CardSecondaryAction';
+import { styled } from '@mui/material/styles'
+import Card from '@mui/material/Card'
+import MainCard from 'ui-component/cards/MainCard'
+import SecondaryAction from 'ui-component/cards/CardSecondaryAction'
// styles
const IFrameWrapper = styled('iframe')(({ theme }) => ({
height: 'calc(100vh - 210px)',
border: '1px solid',
borderColor: theme.palette.primary.light,
-}));
+}))
const MaterialIcons = () => (
(
/>
-);
+)
-export default MaterialIcons;
+export default MaterialIcons
diff --git a/apps/react/case-portal/src/views/utilities/TablerIcons.js b/apps/react/case-portal/src/views/utilities/TablerIcons.js
index 52ea67af..73ff66c2 100644
--- a/apps/react/case-portal/src/views/utilities/TablerIcons.js
+++ b/apps/react/case-portal/src/views/utilities/TablerIcons.js
@@ -1,15 +1,15 @@
-import { styled } from '@mui/material/styles';
-import Card from '@mui/material/Card';
-import MainCard from 'ui-component/cards/MainCard';
-import SecondaryAction from 'ui-component/cards/CardSecondaryAction';
-import LinkIcon from '@mui/icons-material/Link';
+import { styled } from '@mui/material/styles'
+import Card from '@mui/material/Card'
+import MainCard from 'ui-component/cards/MainCard'
+import SecondaryAction from 'ui-component/cards/CardSecondaryAction'
+import LinkIcon from '@mui/icons-material/Link'
// styles
const IFrameWrapper = styled('iframe')(({ theme }) => ({
height: 'calc(100vh - 210px)',
border: '1px solid',
borderColor: theme.palette.primary.light,
-}));
+}))
const TablerIcons = () => (
(
/>
-);
+)
-export default TablerIcons;
+export default TablerIcons
diff --git a/apps/react/case-portal/src/views/utilities/Typography.js b/apps/react/case-portal/src/views/utilities/Typography.js
index 4fea6129..2d206d8f 100644
--- a/apps/react/case-portal/src/views/utilities/Typography.js
+++ b/apps/react/case-portal/src/views/utilities/Typography.js
@@ -1,10 +1,10 @@
-import Grid from '@mui/material/Grid';
-import Link from '@mui/material/Link';
-import MuiTypography from '@mui/material/Typography';
-import SubCard from 'ui-component/cards/SubCard';
-import MainCard from 'ui-component/cards/MainCard';
-import SecondaryAction from 'ui-component/cards/CardSecondaryAction';
-import { gridSpacing } from 'store/constant';
+import Grid from '@mui/material/Grid'
+import Link from '@mui/material/Link'
+import MuiTypography from '@mui/material/Typography'
+import SubCard from 'ui-component/cards/SubCard'
+import MainCard from 'ui-component/cards/MainCard'
+import SecondaryAction from 'ui-component/cards/CardSecondaryAction'
+import { gridSpacing } from 'store/constant'
// ==============================|| TYPOGRAPHY ||============================== //
@@ -129,6 +129,6 @@ const Typography = () => (
-);
+)
-export default Typography;
+export default Typography