diff --git a/ui/dev-dist/sw.js b/ui/dev-dist/sw.js index 0869ddba..1251093b 100644 --- a/ui/dev-dist/sw.js +++ b/ui/dev-dist/sw.js @@ -82,7 +82,7 @@ define(['./workbox-a959eb95'], (function (workbox) { 'use strict'; "revision": "3ca0b8505b4bec776b69afdba2768812" }, { "url": "/index.html", - "revision": "0.7curt4sl6" + "revision": "0.au42u1lvc1" }], {}); workbox.cleanupOutdatedCaches(); workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("/index.html"), { diff --git a/ui/src/views/form/FormButtons.tsx b/ui/src/views/form/FormButtons.tsx index 5515284c..bff79d9c 100644 --- a/ui/src/views/form/FormButtons.tsx +++ b/ui/src/views/form/FormButtons.tsx @@ -3,14 +3,17 @@ import navigationIcon from '@/configs/navigation-icon.config' import { useLocalization } from '@/utils/hooks/useLocalization' import CustomStore from 'devextreme/data/custom_store' import { useState } from 'react' -import { FaPlus, FaTrash, FaEdit, FaFileAlt, FaSave } from 'react-icons/fa' +import { FaPlus, FaTrash, FaEdit, FaFileAlt, FaSave, FaInfo, FaBackward } from 'react-icons/fa' import { useNavigate } from 'react-router-dom' -import { GridColumnData, GridExtraFilterState } from '../list/GridColumnData' +import { GridColumnData } from '../list/GridColumnData' import { useToolbar } from '../list/useToolbar' import { PermissionResults, RowMode } from './types' import { GridDto } from '@/proxy/form/models' import React from 'react' import { ROUTES_ENUM } from '@/routes/route.constant' +import { usePermission } from '@/utils/hooks/usePermission' +import { GridExtraFilterState } from '../list/Utils' +import { usePWA } from '@/utils/hooks/usePWA' const FormButtons = (props: { mode: RowMode @@ -50,6 +53,8 @@ const FormButtons = (props: { const [loading, setLoading] = useState(false) const [deleteRowId, setDeleteRowId] = useState() const [extraFilters, setExtraFilters] = useState([]) + const { checkPermission } = usePermission() + const isPwaMode = usePWA() const navigate = useNavigate() const { translate } = useLocalization() @@ -112,7 +117,7 @@ const FormButtons = (props: { )} + {mode === 'new' && ( + + )} {(mode == 'edit' || mode == 'new') && ( )} + {checkPermission(gridDto?.gridOptions.permissionDto.c) && ( + + )} { setFormData({ ...formData, [e.dataField!]: e.value }) }} + onContentReady={(e) => { + const firstItem = formItems?.flatMap((g) => g.items || []).find((it) => !!it.name) + + if (firstItem?.name) { + const editor = e.component.getEditor(firstItem.name as string) + editor?.focus() + } + }} > {formItems.map((formGroupItem, i) => { return ( @@ -90,7 +98,7 @@ const FormDevExpress = (props: { {...formItem} editorOptions={{ ...formItem.editorOptions, - ...(mode === 'view' ? { readOnly: true } : {}), + ...(mode === 'view' ? { readOnly: true } : { autoFocus: i === 1 }), }} /> ) diff --git a/ui/src/views/form/FormEdit.tsx b/ui/src/views/form/FormEdit.tsx index 7fa3791a..eb6710c7 100644 --- a/ui/src/views/form/FormEdit.tsx +++ b/ui/src/views/form/FormEdit.tsx @@ -94,7 +94,7 @@ const FormEdit = ( formItems={formItems} setFormData={setFormData} /> -
+
) diff --git a/ui/src/views/form/FormView.tsx b/ui/src/views/form/FormView.tsx index 0af9a13a..ad05860b 100644 --- a/ui/src/views/form/FormView.tsx +++ b/ui/src/views/form/FormView.tsx @@ -89,7 +89,7 @@ const FormView = ( formItems={formItems} setFormData={() => {}} /> -
+
)