From 48538842513cf70baf1c3c08df27f9ed3a0699a8 Mon Sep 17 00:00:00 2001 From: Ivan <8611739+IRBorisov@users.noreply.github.com> Date: Wed, 12 Feb 2025 21:36:25 +0300 Subject: [PATCH] R: Improve import sorting --- README.md | 1 + rsconcept/frontend/eslint.config.js | 32 ++- rsconcept/frontend/package-lock.json | 246 ++++++++++++++++++ rsconcept/frontend/package.json | 2 + .../frontend/src/app/ApplicationLayout.tsx | 2 +- .../frontend/src/app/GlobalProviders.tsx | 2 +- rsconcept/frontend/src/app/GlobalTooltips.tsx | 3 +- .../src/app/Navigation/Navigation.tsx | 1 + .../src/app/Navigation/UserButton.tsx | 3 +- .../src/app/Navigation/UserDropdown.tsx | 4 +- .../frontend/src/app/Navigation/UserMenu.tsx | 1 + rsconcept/frontend/src/app/Router.tsx | 3 +- .../frontend/src/backend/apiTransport.ts | 2 +- .../src/components/Container/Tooltip.tsx | 2 +- .../src/components/DataTable/DataTable.tsx | 3 +- .../components/DataTable/PaginationTools.tsx | 2 +- .../src/components/DataTable/TableBody.tsx | 3 +- .../src/components/Input/CheckboxTristate.tsx | 1 + .../src/components/Input/ErrorField.tsx | 2 +- .../src/components/Input/FileInput.tsx | 3 +- .../src/components/Input/SelectTree.tsx | 2 +- .../src/components/Input/TextArea.tsx | 1 + .../src/components/Input/TextInput.tsx | 1 + .../src/components/Modal/ModalForm.tsx | 2 + .../src/components/Modal/ModalView.tsx | 2 + .../frontend/src/components/Tabs/TabLabel.tsx | 2 +- .../auth/components/ExpectedAnonymous.tsx | 1 + .../src/features/auth/pages/LoginPage.tsx | 3 +- .../auth/pages/PasswordChangePage.tsx | 3 +- .../auth/pages/RestorePasswordPage.tsx | 2 +- .../features/help/components/InfoCstClass.tsx | 1 + .../help/components/InfoCstStatus.tsx | 1 + .../features/help/components/LinkTopic.tsx | 1 + .../features/help/components/Subtopics.tsx | 1 + .../features/help/items/info/HelpRules.tsx | 1 + .../help/pages/ManualsPage/ManualsPage.tsx | 2 + .../help/pages/ManualsPage/TopicsDropdown.tsx | 6 +- .../help/pages/ManualsPage/TopicsList.tsx | 1 + .../help/pages/ManualsPage/ViewTopic.tsx | 1 + .../frontend/src/features/home/HomePage.tsx | 3 +- .../src/features/library/backend/api.ts | 4 +- .../src/features/library/backend/types.ts | 1 + .../library/backend/useApplyLibraryFilter.tsx | 1 + .../features/library/backend/useFolders.tsx | 1 + .../features/library/backend/useLibrary.tsx | 3 +- .../library/backend/useSetAccessPolicy.tsx | 4 +- .../library/backend/useSetEditors.tsx | 3 +- .../library/backend/useSetLocation.tsx | 4 +- .../features/library/backend/useSetOwner.tsx | 4 +- .../library/backend/useUpdateItem.tsx | 4 +- .../library/backend/useUpdateTimestamp.tsx | 1 + .../library/backend/useVersionDelete.tsx | 3 +- .../library/backend/useVersionUpdate.tsx | 3 +- .../library/components/EditorLibraryItem.tsx | 3 +- .../library/components/PickSchema.tsx | 3 +- .../library/components/SelectLocation.tsx | 2 +- .../library/components/ToolbarItemAccess.tsx | 6 +- .../library/dialogs/DlgChangeLocation.tsx | 5 +- .../library/dialogs/DlgCloneLibraryItem.tsx | 5 +- .../library/dialogs/DlgCreateVersion.tsx | 2 +- .../dialogs/DlgEditEditors/DlgEditEditors.tsx | 5 +- .../DlgEditVersions/DlgEditVersions.tsx | 6 +- .../dialogs/DlgEditVersions/TableVersions.tsx | 2 +- .../pages/CreateItemPage/FormCreateItem.tsx | 7 +- .../library/pages/LibraryPage/LibraryPage.tsx | 3 +- .../pages/LibraryPage/TableLibraryItems.tsx | 5 +- .../pages/LibraryPage/ToolbarSearch.tsx | 3 +- .../pages/LibraryPage/ViewSideLocation.tsx | 7 +- .../src/features/oss/backend/OssLoader.ts | 2 + .../frontend/src/features/oss/backend/api.ts | 3 +- .../src/features/oss/backend/useOSS.tsx | 3 +- .../oss/backend/useOperationUpdate.tsx | 3 +- .../oss/components/PickMultiOperation.tsx | 3 +- .../oss/dialogs/DlgChangeInputSchema.tsx | 5 +- .../DlgCreateOperation/DlgCreateOperation.tsx | 8 +- .../DlgCreateOperation/TabInputOperation.tsx | 4 +- .../TabSynthesisOperation.tsx | 1 + .../oss/dialogs/DlgDeleteOperation.tsx | 5 +- .../DlgEditOperation/DlgEditOperation.tsx | 8 +- .../dialogs/DlgEditOperation/TabArguments.tsx | 1 + .../dialogs/DlgEditOperation/TabSynthesis.tsx | 4 +- .../oss/dialogs/DlgRelocateConstituents.tsx | 11 +- .../frontend/src/features/oss/models/oss.ts | 1 + .../src/features/oss/models/ossAPI.ts | 2 + .../OssPage/EditorOssCard/EditorOssCard.tsx | 4 +- .../pages/OssPage/EditorOssCard/FormOSS.tsx | 9 +- .../pages/OssPage/EditorOssGraph/OssFlow.tsx | 6 +- .../EditorOssGraph/ToolbarOssGraph.tsx | 3 +- .../EditorOssGraph/graph/InputNode.tsx | 1 + .../EditorOssGraph/graph/OperationNode.tsx | 1 + .../oss/pages/OssPage/MenuOssTabs.tsx | 6 +- .../oss/pages/OssPage/OssEditContext.tsx | 1 + .../features/oss/pages/OssPage/OssPage.tsx | 1 + .../features/oss/pages/OssPage/OssTabs.tsx | 3 +- .../features/rsform/backend/RSFormLoader.ts | 1 + .../src/features/rsform/backend/api.ts | 1 + .../src/features/rsform/backend/types.ts | 1 + .../features/rsform/backend/useCstCreate.tsx | 3 +- .../features/rsform/backend/useCstDelete.tsx | 4 +- .../features/rsform/backend/useCstRename.tsx | 3 +- .../rsform/backend/useCstSubstitute.tsx | 3 +- .../features/rsform/backend/useCstUpdate.tsx | 3 +- .../rsform/backend/useInlineSynthesis.tsx | 3 +- .../rsform/backend/useProduceStructure.tsx | 4 +- .../features/rsform/backend/useRSForms.tsx | 1 + .../rsform/backend/useResetAliases.tsx | 3 +- .../features/rsform/backend/useUploadTRS.tsx | 3 +- .../rsform/components/BadgeWordForm.tsx | 1 + .../rsform/components/PickConstituenta.tsx | 3 +- .../components/PickMultiConstituenta.tsx | 3 +- .../rsform/components/PickSubstitutions.tsx | 6 +- .../rsform/components/RSInput/RSInput.tsx | 3 +- .../components/RSInput/clickNavigation.ts | 1 + .../rsform/components/RSInput/tooltip.ts | 1 + .../rsform/components/RefsInput/RefsInput.tsx | 5 +- .../components/RefsInput/clickNavigation.ts | 1 + .../rsform/components/RefsInput/tooltip.ts | 4 +- .../rsform/components/RefsInput/utils.ts | 3 +- .../rsform/components/SelectConstituenta.tsx | 3 +- .../rsform/components/ToolbarRSFormCard.tsx | 7 +- .../dialogs/DlgCreateCst/DlgCreateCst.tsx | 1 + .../dialogs/DlgCreateCst/FormCreateCst.tsx | 5 +- .../dialogs/DlgCstTemplate/DlgCstTemplate.tsx | 6 +- .../dialogs/DlgCstTemplate/TabArguments.tsx | 2 +- .../dialogs/DlgCstTemplate/TabTemplate.tsx | 3 +- .../dialogs/DlgDeleteCst/DlgDeleteCst.tsx | 3 +- .../DlgEditReference/DlgEditReference.tsx | 6 +- .../DlgEditReference/TabEntityReference.tsx | 1 + .../TabSyntacticReference.tsx | 1 + .../DlgEditWordForms/DlgEditWordForms.tsx | 6 +- .../DlgInlineSynthesis/DlgInlineSynthesis.tsx | 5 +- .../dialogs/DlgInlineSynthesis/TabSource.tsx | 4 +- .../DlgInlineSynthesis/TabSubstitutions.tsx | 1 + .../features/rsform/dialogs/DlgRenameCst.tsx | 5 +- .../rsform/dialogs/DlgShowAST/ASTFlow.tsx | 1 + .../rsform/dialogs/DlgShowAST/DlgShowAST.tsx | 4 +- .../dialogs/DlgShowAST/graph/ASTLayout.ts | 2 +- .../DlgShowTypeGraph/DlgShowTypeGraph.tsx | 4 +- .../dialogs/DlgShowTypeGraph/MGraphFlow.tsx | 1 + .../DlgShowTypeGraph/graph/MGraphLayout.ts | 2 +- .../rsform/dialogs/DlgSubstituteCst.tsx | 5 +- .../src/features/rsform/models/languageAPI.ts | 1 + .../src/features/rsform/models/rsform.ts | 1 + .../src/features/rsform/models/rsformAPI.ts | 2 + .../EditorConstituenta/EditorConstituenta.tsx | 3 +- .../EditorConstituenta/FormConstituenta.tsx | 2 +- .../ToolbarConstituenta.tsx | 7 +- .../EditorRSExpression/EditorRSExpression.tsx | 6 +- .../EditorRSExpression/RSEditControls.tsx | 1 + .../EditorRSFormCard/EditorRSFormCard.tsx | 4 +- .../EditorRSFormCard/FormRSForm.tsx | 10 +- .../EditorRSFormCard/ToolbarVersioning.tsx | 5 +- .../RSFormPage/EditorRSList/EditorRSList.tsx | 3 +- .../RSFormPage/EditorRSList/TableRSList.tsx | 2 +- .../RSFormPage/EditorRSList/ToolbarRSList.tsx | 5 +- .../EditorTermGraph/GraphSelectors.tsx | 4 +- .../EditorTermGraph/SchemasGuide.tsx | 3 +- .../RSFormPage/EditorTermGraph/TGFlow.tsx | 9 +- .../EditorTermGraph/ToolbarTermGraph.tsx | 5 +- .../EditorTermGraph/graph/TGLayout.ts | 2 +- .../rsform/pages/RSFormPage/MenuRSTabs.tsx | 8 +- .../rsform/pages/RSFormPage/RSEditContext.tsx | 1 + .../rsform/pages/RSFormPage/RSFormPage.tsx | 1 + .../rsform/pages/RSFormPage/RSTabs.tsx | 4 +- .../ViewConstituents/ConstituentsSearch.tsx | 1 + .../ViewConstituents/ViewConstituents.tsx | 4 +- .../src/features/users/backend/api.ts | 1 + .../users/pages/RegisterPage/FormSignup.tsx | 7 +- .../pages/UserProfilePage/EditorPassword.tsx | 7 +- .../pages/UserProfilePage/EditorProfile.tsx | 3 +- rsconcept/frontend/src/main.tsx | 6 +- rsconcept/frontend/src/utils/utils.ts | 2 +- rsconcept/frontend/vite.config.ts | 3 +- 173 files changed, 637 insertions(+), 182 deletions(-) diff --git a/README.md b/README.md index db432eba..c2941b1e 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,7 @@ This readme file is used mostly to document project dependencies and conventions - tailwindcss - postcss - autoprefixer + - eslint-plugin-import - eslint-plugin-react-compiler - eslint-plugin-simple-import-sort - eslint-plugin-react-hooks diff --git a/rsconcept/frontend/eslint.config.js b/rsconcept/frontend/eslint.config.js index 2c660815..f48b6d52 100644 --- a/rsconcept/frontend/eslint.config.js +++ b/rsconcept/frontend/eslint.config.js @@ -4,7 +4,7 @@ import typescriptParser from '@typescript-eslint/parser'; import reactPlugin from 'eslint-plugin-react'; import reactCompilerPlugin from 'eslint-plugin-react-compiler'; import reactHooksPlugin from 'eslint-plugin-react-hooks'; - +import importPlugin from 'eslint-plugin-import'; import simpleImportSort from 'eslint-plugin-simple-import-sort'; export default [ @@ -37,7 +37,8 @@ export default [ 'react': reactPlugin, 'react-compiler': reactCompilerPlugin, 'react-hooks': reactHooksPlugin, - 'simple-import-sort': simpleImportSort + 'simple-import-sort': simpleImportSort, + 'import': importPlugin }, settings: { react: { version: 'detect' } }, rules: { @@ -57,8 +58,33 @@ export default [ 'react-refresh/only-export-components': ['off', { allowConstantExport: true }], - 'simple-import-sort/imports': 'warn', + 'simple-import-sort/imports': [ + 'warn', + { + groups: [ + // Node.js builtins. + [ + '^(assert|buffer|child_process|cluster|console|constants|crypto|dgram|dns|domain|events|fs|http|https|module|net|os|path|punycode|querystring|readline|repl|stream|string_decoder|sys|timers|tls|tty|url|util|vm|zlib|freelist|v8|process|async_hooks|http2|perf_hooks)(/.*|$)' + ], + // Packages. `react` related packages come first. + ['^react', '^@?\\w'], + // Global app and features + ['^(@/app|@/features)(/.*|$)'], + // Internal packages. + ['^(@)(/.*|$)'], + // Side effect imports. + ['^\\u0000'], + // Parent imports. Put `..` last. + ['^\\.\\.(?!/?$)', '^\\.\\./?$'], + // Other relative imports. Put same-folder imports and `.` last. + ['^\\./(?=.*/)(?!/?$)', '^\\.(?!/?$)', '^\\./?$'], + // Style imports. + ['^.+\\.s?css$'] + ] + } + ], 'simple-import-sort/exports': 'error', + 'import/no-duplicates': 'warn', ...reactHooksPlugin.configs.recommended.rules } diff --git a/rsconcept/frontend/package-lock.json b/rsconcept/frontend/package-lock.json index 8c99fbb7..5e861366 100644 --- a/rsconcept/frontend/package-lock.json +++ b/rsconcept/frontend/package-lock.json @@ -51,6 +51,7 @@ "autoprefixer": "^10.4.20", "babel-plugin-react-compiler": "^19.0.0-beta-37ed2a7-20241206", "eslint": "^9.19.0", + "eslint-plugin-import": "^2.31.0", "eslint-plugin-react": "^7.37.4", "eslint-plugin-react-compiler": "^19.0.0-beta-37ed2a7-20241206", "eslint-plugin-react-hooks": "^5.1.0", @@ -2981,6 +2982,13 @@ "win32" ] }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -3476,6 +3484,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { "version": "22.13.1", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.1.tgz", @@ -4005,6 +4020,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array.prototype.flat": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", @@ -5540,6 +5576,155 @@ } } }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/eslint-plugin-react": { "version": "7.37.4", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz", @@ -8185,6 +8370,16 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", @@ -8383,6 +8578,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/object.values": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", @@ -10337,6 +10547,42 @@ } } }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", diff --git a/rsconcept/frontend/package.json b/rsconcept/frontend/package.json index aa607cce..89236b54 100644 --- a/rsconcept/frontend/package.json +++ b/rsconcept/frontend/package.json @@ -9,6 +9,7 @@ "dev": "vite --host", "build": "tsc && vite build", "lint": "eslint . --report-unused-disable-directives --max-warnings 0", + "lintFix": "eslint . --report-unused-disable-directives --max-warnings 0 --fix", "preview": "vite preview --port 3000" }, "dependencies": { @@ -55,6 +56,7 @@ "autoprefixer": "^10.4.20", "babel-plugin-react-compiler": "^19.0.0-beta-37ed2a7-20241206", "eslint": "^9.19.0", + "eslint-plugin-import": "^2.31.0", "eslint-plugin-react": "^7.37.4", "eslint-plugin-react-compiler": "^19.0.0-beta-37ed2a7-20241206", "eslint-plugin-react-hooks": "^5.1.0", diff --git a/rsconcept/frontend/src/app/ApplicationLayout.tsx b/rsconcept/frontend/src/app/ApplicationLayout.tsx index 609d1ee5..305b1b00 100644 --- a/rsconcept/frontend/src/app/ApplicationLayout.tsx +++ b/rsconcept/frontend/src/app/ApplicationLayout.tsx @@ -6,12 +6,12 @@ import { ModalLoader } from '@/components/Modal'; import { useAppLayoutStore, useMainHeight, useViewportHeight } from '@/stores/appLayout'; import { globals } from '@/utils/constants'; +import { NavigationState } from './Navigation/NavigationContext'; import { Footer } from './Footer'; import { GlobalDialogs } from './GlobalDialogs'; import ConceptToaster from './GlobalToaster'; import { GlobalTooltips } from './GlobalTooltips'; import { Navigation } from './Navigation'; -import { NavigationState } from './Navigation/NavigationContext'; function ApplicationLayout() { const mainHeight = useMainHeight(); diff --git a/rsconcept/frontend/src/app/GlobalProviders.tsx b/rsconcept/frontend/src/app/GlobalProviders.tsx index 7694b57e..e038f43a 100644 --- a/rsconcept/frontend/src/app/GlobalProviders.tsx +++ b/rsconcept/frontend/src/app/GlobalProviders.tsx @@ -1,8 +1,8 @@ 'use client'; +import { IntlProvider } from 'react-intl'; import { QueryClientProvider } from '@tanstack/react-query'; import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; -import { IntlProvider } from 'react-intl'; import { queryClient } from '@/backend/queryClient'; diff --git a/rsconcept/frontend/src/app/GlobalTooltips.tsx b/rsconcept/frontend/src/app/GlobalTooltips.tsx index 23076de8..9b633016 100644 --- a/rsconcept/frontend/src/app/GlobalTooltips.tsx +++ b/rsconcept/frontend/src/app/GlobalTooltips.tsx @@ -1,8 +1,9 @@ 'use client'; +import InfoConstituenta from '@/features/rsform/components/InfoConstituenta'; + import { Tooltip } from '@/components/Container'; import { Loader } from '@/components/Loader'; -import InfoConstituenta from '@/features/rsform/components/InfoConstituenta'; import { useTooltipsStore } from '@/stores/tooltips'; import { globals } from '@/utils/constants'; diff --git a/rsconcept/frontend/src/app/Navigation/Navigation.tsx b/rsconcept/frontend/src/app/Navigation/Navigation.tsx index 027bca07..809692f8 100644 --- a/rsconcept/frontend/src/app/Navigation/Navigation.tsx +++ b/rsconcept/frontend/src/app/Navigation/Navigation.tsx @@ -7,6 +7,7 @@ import { useAppLayoutStore } from '@/stores/appLayout'; import { PARAMETER } from '@/utils/constants'; import { urls } from '../urls'; + import Logo from './Logo'; import NavigationButton from './NavigationButton'; import { useConceptNavigation } from './NavigationContext'; diff --git a/rsconcept/frontend/src/app/Navigation/UserButton.tsx b/rsconcept/frontend/src/app/Navigation/UserButton.tsx index 251e9ab5..22b83c12 100644 --- a/rsconcept/frontend/src/app/Navigation/UserButton.tsx +++ b/rsconcept/frontend/src/app/Navigation/UserButton.tsx @@ -1,5 +1,6 @@ -import { IconLogin, IconUser2 } from '@/components/Icons'; import { useAuthSuspense } from '@/features/auth'; + +import { IconLogin, IconUser2 } from '@/components/Icons'; import { usePreferencesStore } from '@/stores/preferences'; import NavigationButton from './NavigationButton'; diff --git a/rsconcept/frontend/src/app/Navigation/UserDropdown.tsx b/rsconcept/frontend/src/app/Navigation/UserDropdown.tsx index 55971996..e441f421 100644 --- a/rsconcept/frontend/src/app/Navigation/UserDropdown.tsx +++ b/rsconcept/frontend/src/app/Navigation/UserDropdown.tsx @@ -1,3 +1,5 @@ +import { useAuthSuspense, useLogout } from '@/features/auth'; + import { Dropdown, DropdownButton } from '@/components/Dropdown'; import { IconAdmin, @@ -14,10 +16,10 @@ import { IconUser } from '@/components/Icons'; import { CProps } from '@/components/props'; -import { useAuthSuspense, useLogout } from '@/features/auth'; import { usePreferencesStore } from '@/stores/preferences'; import { urls } from '../urls'; + import { useConceptNavigation } from './NavigationContext'; interface UserDropdownProps { diff --git a/rsconcept/frontend/src/app/Navigation/UserMenu.tsx b/rsconcept/frontend/src/app/Navigation/UserMenu.tsx index 24ffc9eb..dfa3e4d5 100644 --- a/rsconcept/frontend/src/app/Navigation/UserMenu.tsx +++ b/rsconcept/frontend/src/app/Navigation/UserMenu.tsx @@ -4,6 +4,7 @@ import { useDropdown } from '@/components/Dropdown'; import { Loader } from '@/components/Loader'; import { urls } from '../urls'; + import { useConceptNavigation } from './NavigationContext'; import UserButton from './UserButton'; import UserDropdown from './UserDropdown'; diff --git a/rsconcept/frontend/src/app/Router.tsx b/rsconcept/frontend/src/app/Router.tsx index 11705362..1a5836f9 100644 --- a/rsconcept/frontend/src/app/Router.tsx +++ b/rsconcept/frontend/src/app/Router.tsx @@ -1,6 +1,5 @@ import { createBrowserRouter } from 'react-router'; -import { Loader } from '@/components/Loader'; import { prefetchAuth } from '@/features/auth/backend/useAuth'; import LoginPage from '@/features/auth/pages/LoginPage'; import HomePage from '@/features/home/HomePage'; @@ -12,6 +11,8 @@ import { prefetchRSForm } from '@/features/rsform/backend/useRSForm'; import { prefetchProfile } from '@/features/users/backend/useProfile'; import { prefetchUsers } from '@/features/users/backend/useUsers'; +import { Loader } from '@/components/Loader'; + import ApplicationLayout from './ApplicationLayout'; import { ErrorFallback } from './ErrorFallback'; import { routes } from './urls'; diff --git a/rsconcept/frontend/src/backend/apiTransport.ts b/rsconcept/frontend/src/backend/apiTransport.ts index de256c10..790a1747 100644 --- a/rsconcept/frontend/src/backend/apiTransport.ts +++ b/rsconcept/frontend/src/backend/apiTransport.ts @@ -1,8 +1,8 @@ /** * Module: generic API for backend REST communications using axios library. */ -import axios, { AxiosError, AxiosRequestConfig } from 'axios'; import { toast } from 'react-toastify'; +import axios, { AxiosError, AxiosRequestConfig } from 'axios'; import { buildConstants } from '@/utils/buildConstants'; import { extractErrorMessage } from '@/utils/utils'; diff --git a/rsconcept/frontend/src/components/Container/Tooltip.tsx b/rsconcept/frontend/src/components/Container/Tooltip.tsx index 0ca58304..4464e7d0 100644 --- a/rsconcept/frontend/src/components/Container/Tooltip.tsx +++ b/rsconcept/frontend/src/components/Container/Tooltip.tsx @@ -1,9 +1,9 @@ 'use client'; -import clsx from 'clsx'; import { ReactNode } from 'react'; import { createPortal } from 'react-dom'; import { ITooltip, Tooltip as TooltipImpl } from 'react-tooltip'; +import clsx from 'clsx'; import { usePreferencesStore } from '@/stores/preferences'; diff --git a/rsconcept/frontend/src/components/DataTable/DataTable.tsx b/rsconcept/frontend/src/components/DataTable/DataTable.tsx index a167de43..cb38630d 100644 --- a/rsconcept/frontend/src/components/DataTable/DataTable.tsx +++ b/rsconcept/frontend/src/components/DataTable/DataTable.tsx @@ -1,6 +1,7 @@ 'use client'; 'use no memo'; +import { useMemo, useState } from 'react'; import { ColumnSort, createColumnHelper, @@ -15,9 +16,9 @@ import { useReactTable, type VisibilityState } from '@tanstack/react-table'; -import { useMemo, useState } from 'react'; import { CProps } from '../props'; + import DefaultNoData from './DefaultNoData'; import PaginationTools from './PaginationTools'; import TableBody from './TableBody'; diff --git a/rsconcept/frontend/src/components/DataTable/PaginationTools.tsx b/rsconcept/frontend/src/components/DataTable/PaginationTools.tsx index d0af5820..c1fafb27 100644 --- a/rsconcept/frontend/src/components/DataTable/PaginationTools.tsx +++ b/rsconcept/frontend/src/components/DataTable/PaginationTools.tsx @@ -1,9 +1,9 @@ 'use client'; 'use no memo'; +import { useCallback } from 'react'; import { Table } from '@tanstack/react-table'; import clsx from 'clsx'; -import { useCallback } from 'react'; import { prefixes } from '@/utils/constants'; diff --git a/rsconcept/frontend/src/components/DataTable/TableBody.tsx b/rsconcept/frontend/src/components/DataTable/TableBody.tsx index 052b1ca2..247d4591 100644 --- a/rsconcept/frontend/src/components/DataTable/TableBody.tsx +++ b/rsconcept/frontend/src/components/DataTable/TableBody.tsx @@ -4,8 +4,9 @@ import { Cell, flexRender, Row, Table } from '@tanstack/react-table'; import clsx from 'clsx'; import { CProps } from '../props'; -import { IConditionalStyle } from '.'; + import SelectRow from './SelectRow'; +import { IConditionalStyle } from '.'; interface TableBodyProps { table: Table; diff --git a/rsconcept/frontend/src/components/Input/CheckboxTristate.tsx b/rsconcept/frontend/src/components/Input/CheckboxTristate.tsx index 6686e22d..21ab4fea 100644 --- a/rsconcept/frontend/src/components/Input/CheckboxTristate.tsx +++ b/rsconcept/frontend/src/components/Input/CheckboxTristate.tsx @@ -4,6 +4,7 @@ import { globals } from '@/utils/constants'; import { CheckboxChecked, CheckboxNull } from '../Icons'; import { CProps } from '../props'; + import { CheckboxProps } from './Checkbox'; export interface CheckboxTristateProps extends Omit { diff --git a/rsconcept/frontend/src/components/Input/ErrorField.tsx b/rsconcept/frontend/src/components/Input/ErrorField.tsx index 98900c60..bda81dbb 100644 --- a/rsconcept/frontend/src/components/Input/ErrorField.tsx +++ b/rsconcept/frontend/src/components/Input/ErrorField.tsx @@ -1,5 +1,5 @@ -import clsx from 'clsx'; import { FieldError, GlobalError } from 'react-hook-form'; +import clsx from 'clsx'; import { CProps } from '../props'; diff --git a/rsconcept/frontend/src/components/Input/FileInput.tsx b/rsconcept/frontend/src/components/Input/FileInput.tsx index 2b993cf9..abc878a5 100644 --- a/rsconcept/frontend/src/components/Input/FileInput.tsx +++ b/rsconcept/frontend/src/components/Input/FileInput.tsx @@ -1,11 +1,12 @@ 'use client'; -import clsx from 'clsx'; import { useRef, useState } from 'react'; +import clsx from 'clsx'; import { Button } from '../Control'; import { IconUpload } from '../Icons'; import { CProps } from '../props'; + import { Label } from './Label'; interface FileInputProps extends Omit { diff --git a/rsconcept/frontend/src/components/Input/SelectTree.tsx b/rsconcept/frontend/src/components/Input/SelectTree.tsx index 966f0508..6adb9dc8 100644 --- a/rsconcept/frontend/src/components/Input/SelectTree.tsx +++ b/rsconcept/frontend/src/components/Input/SelectTree.tsx @@ -1,5 +1,5 @@ -import clsx from 'clsx'; import { useEffect, useState } from 'react'; +import clsx from 'clsx'; import { globals, PARAMETER } from '@/utils/constants'; diff --git a/rsconcept/frontend/src/components/Input/TextArea.tsx b/rsconcept/frontend/src/components/Input/TextArea.tsx index 8ed54bdb..5b51d33a 100644 --- a/rsconcept/frontend/src/components/Input/TextArea.tsx +++ b/rsconcept/frontend/src/components/Input/TextArea.tsx @@ -2,6 +2,7 @@ import clsx from 'clsx'; import { Label } from '../Input/Label'; import { CProps } from '../props'; + import { ErrorField } from './ErrorField'; export interface TextAreaProps extends CProps.Editor, CProps.ErrorProcessing, CProps.Colors, CProps.TextArea { diff --git a/rsconcept/frontend/src/components/Input/TextInput.tsx b/rsconcept/frontend/src/components/Input/TextInput.tsx index 179fbe40..1130fd13 100644 --- a/rsconcept/frontend/src/components/Input/TextInput.tsx +++ b/rsconcept/frontend/src/components/Input/TextInput.tsx @@ -2,6 +2,7 @@ import clsx from 'clsx'; import { Label } from '../Input/Label'; import { CProps } from '../props'; + import { ErrorField } from './ErrorField'; interface TextInputProps extends CProps.Editor, CProps.ErrorProcessing, CProps.Colors, CProps.Input { diff --git a/rsconcept/frontend/src/components/Modal/ModalForm.tsx b/rsconcept/frontend/src/components/Modal/ModalForm.tsx index cb126bea..1bdbc393 100644 --- a/rsconcept/frontend/src/components/Modal/ModalForm.tsx +++ b/rsconcept/frontend/src/components/Modal/ModalForm.tsx @@ -3,6 +3,7 @@ import clsx from 'clsx'; import { BadgeHelp, HelpTopic } from '@/features/help'; + import useEscapeKey from '@/hooks/useEscapeKey'; import { useDialogsStore } from '@/stores/dialogs'; import { PARAMETER } from '@/utils/constants'; @@ -11,6 +12,7 @@ import { prepareTooltip } from '@/utils/utils'; import { Button, MiniButton, SubmitButton } from '../Control'; import { IconClose } from '../Icons'; import { CProps } from '../props'; + import { ModalBackdrop } from './ModalBackdrop'; export interface ModalProps extends CProps.Styling { diff --git a/rsconcept/frontend/src/components/Modal/ModalView.tsx b/rsconcept/frontend/src/components/Modal/ModalView.tsx index 1a194676..8ee40d5c 100644 --- a/rsconcept/frontend/src/components/Modal/ModalView.tsx +++ b/rsconcept/frontend/src/components/Modal/ModalView.tsx @@ -3,6 +3,7 @@ import clsx from 'clsx'; import { BadgeHelp } from '@/features/help'; + import useEscapeKey from '@/hooks/useEscapeKey'; import { useDialogsStore } from '@/stores/dialogs'; import { PARAMETER } from '@/utils/constants'; @@ -10,6 +11,7 @@ import { prepareTooltip } from '@/utils/utils'; import { Button, MiniButton } from '../Control'; import { IconClose } from '../Icons'; + import { ModalBackdrop } from './ModalBackdrop'; import { ModalProps } from './ModalForm'; diff --git a/rsconcept/frontend/src/components/Tabs/TabLabel.tsx b/rsconcept/frontend/src/components/Tabs/TabLabel.tsx index b887c163..34707668 100644 --- a/rsconcept/frontend/src/components/Tabs/TabLabel.tsx +++ b/rsconcept/frontend/src/components/Tabs/TabLabel.tsx @@ -1,6 +1,6 @@ -import clsx from 'clsx'; import type { TabProps as TabPropsImpl } from 'react-tabs'; import { Tab as TabImpl } from 'react-tabs'; +import clsx from 'clsx'; import { globals } from '@/utils/constants'; diff --git a/rsconcept/frontend/src/features/auth/components/ExpectedAnonymous.tsx b/rsconcept/frontend/src/features/auth/components/ExpectedAnonymous.tsx index 1baa81d9..1ca71e2b 100644 --- a/rsconcept/frontend/src/features/auth/components/ExpectedAnonymous.tsx +++ b/rsconcept/frontend/src/features/auth/components/ExpectedAnonymous.tsx @@ -1,4 +1,5 @@ import { urls, useConceptNavigation } from '@/app'; + import { TextURL } from '@/components/Control'; import { useAuthSuspense } from '../backend/useAuth'; diff --git a/rsconcept/frontend/src/features/auth/pages/LoginPage.tsx b/rsconcept/frontend/src/features/auth/pages/LoginPage.tsx index 3690e1b5..4b38f292 100644 --- a/rsconcept/frontend/src/features/auth/pages/LoginPage.tsx +++ b/rsconcept/frontend/src/features/auth/pages/LoginPage.tsx @@ -1,10 +1,11 @@ 'use client'; +import { useForm } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import clsx from 'clsx'; -import { useForm } from 'react-hook-form'; import { urls, useConceptNavigation } from '@/app'; + import { isAxiosError } from '@/backend/apiTransport'; import { SubmitButton, TextURL } from '@/components/Control'; import { ErrorData } from '@/components/InfoError'; diff --git a/rsconcept/frontend/src/features/auth/pages/PasswordChangePage.tsx b/rsconcept/frontend/src/features/auth/pages/PasswordChangePage.tsx index 8884f9e6..efd30838 100644 --- a/rsconcept/frontend/src/features/auth/pages/PasswordChangePage.tsx +++ b/rsconcept/frontend/src/features/auth/pages/PasswordChangePage.tsx @@ -1,9 +1,10 @@ 'use client'; -import clsx from 'clsx'; import { useEffect, useState } from 'react'; +import clsx from 'clsx'; import { urls, useConceptNavigation } from '@/app'; + import { isAxiosError } from '@/backend/apiTransport'; import { SubmitButton } from '@/components/Control'; import { ErrorData, InfoError } from '@/components/InfoError'; diff --git a/rsconcept/frontend/src/features/auth/pages/RestorePasswordPage.tsx b/rsconcept/frontend/src/features/auth/pages/RestorePasswordPage.tsx index 350d8fed..f163e57f 100644 --- a/rsconcept/frontend/src/features/auth/pages/RestorePasswordPage.tsx +++ b/rsconcept/frontend/src/features/auth/pages/RestorePasswordPage.tsx @@ -1,7 +1,7 @@ 'use client'; -import clsx from 'clsx'; import { useState } from 'react'; +import clsx from 'clsx'; import { isAxiosError } from '@/backend/apiTransport'; import { SubmitButton, TextURL } from '@/components/Control'; diff --git a/rsconcept/frontend/src/features/help/components/InfoCstClass.tsx b/rsconcept/frontend/src/features/help/components/InfoCstClass.tsx index 79bf0c13..7d6aaa41 100644 --- a/rsconcept/frontend/src/features/help/components/InfoCstClass.tsx +++ b/rsconcept/frontend/src/features/help/components/InfoCstClass.tsx @@ -3,6 +3,7 @@ import clsx from 'clsx'; import { colorBgCstClass } from '@/features/rsform/colors'; import { describeCstClass, labelCstClass } from '@/features/rsform/labels'; import { CstClass } from '@/features/rsform/models/rsform'; + import { prefixes } from '@/utils/constants'; interface InfoCstClassProps { diff --git a/rsconcept/frontend/src/features/help/components/InfoCstStatus.tsx b/rsconcept/frontend/src/features/help/components/InfoCstStatus.tsx index d2b058ec..28e9212f 100644 --- a/rsconcept/frontend/src/features/help/components/InfoCstStatus.tsx +++ b/rsconcept/frontend/src/features/help/components/InfoCstStatus.tsx @@ -3,6 +3,7 @@ import clsx from 'clsx'; import { colorBgCstStatus } from '@/features/rsform/colors'; import { describeExpressionStatus, labelExpressionStatus } from '@/features/rsform/labels'; import { ExpressionStatus } from '@/features/rsform/models/rsform'; + import { prefixes } from '@/utils/constants'; interface InfoCstStatusProps { diff --git a/rsconcept/frontend/src/features/help/components/LinkTopic.tsx b/rsconcept/frontend/src/features/help/components/LinkTopic.tsx index 8770ce92..4ffa7d2c 100644 --- a/rsconcept/frontend/src/features/help/components/LinkTopic.tsx +++ b/rsconcept/frontend/src/features/help/components/LinkTopic.tsx @@ -1,4 +1,5 @@ import { urls } from '@/app'; + import { TextURL } from '@/components/Control'; import { HelpTopic } from '../models/helpTopic'; diff --git a/rsconcept/frontend/src/features/help/components/Subtopics.tsx b/rsconcept/frontend/src/features/help/components/Subtopics.tsx index 38c3e06c..bd655376 100644 --- a/rsconcept/frontend/src/features/help/components/Subtopics.tsx +++ b/rsconcept/frontend/src/features/help/components/Subtopics.tsx @@ -1,6 +1,7 @@ import { prefixes } from '@/utils/constants'; import { HelpTopic, topicParent } from '../models/helpTopic'; + import { TopicItem } from './TopicItem'; interface SubtopicsProps { diff --git a/rsconcept/frontend/src/features/help/items/info/HelpRules.tsx b/rsconcept/frontend/src/features/help/items/info/HelpRules.tsx index 4b0e6f5c..74b7c6a2 100644 --- a/rsconcept/frontend/src/features/help/items/info/HelpRules.tsx +++ b/rsconcept/frontend/src/features/help/items/info/HelpRules.tsx @@ -1,4 +1,5 @@ import { urls } from '@/app'; + import { TextURL } from '@/components/Control'; import { external_urls } from '@/utils/constants'; diff --git a/rsconcept/frontend/src/features/help/pages/ManualsPage/ManualsPage.tsx b/rsconcept/frontend/src/features/help/pages/ManualsPage/ManualsPage.tsx index 5f408d28..b8af8e2d 100644 --- a/rsconcept/frontend/src/features/help/pages/ManualsPage/ManualsPage.tsx +++ b/rsconcept/frontend/src/features/help/pages/ManualsPage/ManualsPage.tsx @@ -1,11 +1,13 @@ 'use client'; import { urls, useConceptNavigation } from '@/app'; + import useQueryStrings from '@/hooks/useQueryStrings'; import { useMainHeight } from '@/stores/appLayout'; import { PARAMETER } from '@/utils/constants'; import { HelpTopic } from '../../models/helpTopic'; + import TopicsList from './TopicsList'; import ViewTopic from './ViewTopic'; diff --git a/rsconcept/frontend/src/features/help/pages/ManualsPage/TopicsDropdown.tsx b/rsconcept/frontend/src/features/help/pages/ManualsPage/TopicsDropdown.tsx index c65e6642..123a031a 100644 --- a/rsconcept/frontend/src/features/help/pages/ManualsPage/TopicsDropdown.tsx +++ b/rsconcept/frontend/src/features/help/pages/ManualsPage/TopicsDropdown.tsx @@ -9,10 +9,8 @@ import { SelectTree } from '@/components/Input'; import { useAppLayoutStore, useFitHeight } from '@/stores/appLayout'; import { PARAMETER, prefixes } from '@/utils/constants'; -import { describeHelpTopic } from '../../labels'; -import { labelHelpTopic } from '../../labels'; -import { topicParent } from '../../models/helpTopic'; -import { HelpTopic } from '../../models/helpTopic'; +import { describeHelpTopic, labelHelpTopic } from '../../labels'; +import { HelpTopic, topicParent } from '../../models/helpTopic'; interface TopicsDropdownProps { activeTopic: HelpTopic; diff --git a/rsconcept/frontend/src/features/help/pages/ManualsPage/TopicsList.tsx b/rsconcept/frontend/src/features/help/pages/ManualsPage/TopicsList.tsx index 5577cd51..c51493b3 100644 --- a/rsconcept/frontend/src/features/help/pages/ManualsPage/TopicsList.tsx +++ b/rsconcept/frontend/src/features/help/pages/ManualsPage/TopicsList.tsx @@ -3,6 +3,7 @@ import useWindowSize from '@/hooks/useWindowSize'; import { HelpTopic } from '../../models/helpTopic'; + import TopicsDropdown from './TopicsDropdown'; import TopicsStatic from './TopicsStatic'; diff --git a/rsconcept/frontend/src/features/help/pages/ManualsPage/ViewTopic.tsx b/rsconcept/frontend/src/features/help/pages/ManualsPage/ViewTopic.tsx index d2973057..5cb2608d 100644 --- a/rsconcept/frontend/src/features/help/pages/ManualsPage/ViewTopic.tsx +++ b/rsconcept/frontend/src/features/help/pages/ManualsPage/ViewTopic.tsx @@ -3,6 +3,7 @@ import { useMainHeight } from '@/stores/appLayout'; import { HelpTopic } from '../../models/helpTopic'; + import TopicPage from './TopicPage'; interface ViewTopicProps { diff --git a/rsconcept/frontend/src/features/home/HomePage.tsx b/rsconcept/frontend/src/features/home/HomePage.tsx index c8c9dc74..c2575989 100644 --- a/rsconcept/frontend/src/features/home/HomePage.tsx +++ b/rsconcept/frontend/src/features/home/HomePage.tsx @@ -1,8 +1,9 @@ import { useEffect } from 'react'; import { urls, useConceptNavigation } from '@/app'; -import { Loader } from '@/components/Loader'; import { useAuthSuspense } from '@/features/auth'; + +import { Loader } from '@/components/Loader'; import { PARAMETER } from '@/utils/constants'; function HomePage() { diff --git a/rsconcept/frontend/src/features/library/backend/api.ts b/rsconcept/frontend/src/features/library/backend/api.ts index 76ec6f80..b04e1131 100644 --- a/rsconcept/frontend/src/features/library/backend/api.ts +++ b/rsconcept/frontend/src/features/library/backend/api.ts @@ -1,11 +1,13 @@ import { queryOptions } from '@tanstack/react-query'; +import { IRSFormDTO } from '@/features/rsform/backend/types'; + import { axiosDelete, axiosGet, axiosPatch, axiosPost } from '@/backend/apiTransport'; import { DELAYS, KEYS } from '@/backend/configuration'; -import { IRSFormDTO } from '@/features/rsform/backend/types'; import { infoMsg } from '@/utils/labels'; import { AccessPolicy, ILibraryItem, IVersionInfo } from '../models/library'; + import { ICloneLibraryItemDTO, ICreateLibraryItemDTO, diff --git a/rsconcept/frontend/src/features/library/backend/types.ts b/rsconcept/frontend/src/features/library/backend/types.ts index 983e2f45..dbb10cfd 100644 --- a/rsconcept/frontend/src/features/library/backend/types.ts +++ b/rsconcept/frontend/src/features/library/backend/types.ts @@ -1,6 +1,7 @@ import { z } from 'zod'; import { IRSFormDTO } from '@/features/rsform/backend/types'; + import { errorMsg } from '@/utils/labels'; import { AccessPolicy, LibraryItemType } from '../models/library'; diff --git a/rsconcept/frontend/src/features/library/backend/useApplyLibraryFilter.tsx b/rsconcept/frontend/src/features/library/backend/useApplyLibraryFilter.tsx index 9d736fab..2f37cfb5 100644 --- a/rsconcept/frontend/src/features/library/backend/useApplyLibraryFilter.tsx +++ b/rsconcept/frontend/src/features/library/backend/useApplyLibraryFilter.tsx @@ -2,6 +2,7 @@ import { useAuthSuspense } from '@/features/auth'; import { ILibraryFilter } from '../models/library'; import { matchLibraryItem, matchLibraryItemLocation } from '../models/libraryAPI'; + import { useLibrary } from './useLibrary'; export function useApplyLibraryFilter(filter: ILibraryFilter) { diff --git a/rsconcept/frontend/src/features/library/backend/useFolders.tsx b/rsconcept/frontend/src/features/library/backend/useFolders.tsx index b266e01e..f198ac14 100644 --- a/rsconcept/frontend/src/features/library/backend/useFolders.tsx +++ b/rsconcept/frontend/src/features/library/backend/useFolders.tsx @@ -1,5 +1,6 @@ import { FolderTree } from '../models/FolderTree'; import { LocationHead } from '../models/library'; + import { useLibrary } from './useLibrary'; export function useFolders() { diff --git a/rsconcept/frontend/src/features/library/backend/useLibrary.tsx b/rsconcept/frontend/src/features/library/backend/useLibrary.tsx index 29fce69b..8e7ff8aa 100644 --- a/rsconcept/frontend/src/features/library/backend/useLibrary.tsx +++ b/rsconcept/frontend/src/features/library/backend/useLibrary.tsx @@ -1,7 +1,8 @@ import { useQuery, useSuspenseQuery } from '@tanstack/react-query'; -import { queryClient } from '@/backend/queryClient'; import { useAuthSuspense } from '@/features/auth'; + +import { queryClient } from '@/backend/queryClient'; import { usePreferencesStore } from '@/stores/preferences'; import { libraryApi } from './api'; diff --git a/rsconcept/frontend/src/features/library/backend/useSetAccessPolicy.tsx b/rsconcept/frontend/src/features/library/backend/useSetAccessPolicy.tsx index 65eda3bd..ed76bb8f 100644 --- a/rsconcept/frontend/src/features/library/backend/useSetAccessPolicy.tsx +++ b/rsconcept/frontend/src/features/library/backend/useSetAccessPolicy.tsx @@ -1,10 +1,12 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { KEYS } from '@/backend/configuration'; import { IOperationSchemaDTO } from '@/features/oss/backend/types'; import { IRSFormDTO } from '@/features/rsform/backend/types'; +import { KEYS } from '@/backend/configuration'; + import { AccessPolicy, ILibraryItem } from '../models/library'; + import { libraryApi } from './api'; export const useSetAccessPolicy = () => { diff --git a/rsconcept/frontend/src/features/library/backend/useSetEditors.tsx b/rsconcept/frontend/src/features/library/backend/useSetEditors.tsx index 944994b5..cf2434d0 100644 --- a/rsconcept/frontend/src/features/library/backend/useSetEditors.tsx +++ b/rsconcept/frontend/src/features/library/backend/useSetEditors.tsx @@ -1,9 +1,10 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { KEYS } from '@/backend/configuration'; import { IOperationSchemaDTO } from '@/features/oss/backend/types'; import { IRSFormDTO } from '@/features/rsform/backend/types'; +import { KEYS } from '@/backend/configuration'; + import { libraryApi } from './api'; export const useSetEditors = () => { diff --git a/rsconcept/frontend/src/features/library/backend/useSetLocation.tsx b/rsconcept/frontend/src/features/library/backend/useSetLocation.tsx index aef9760c..d11fd075 100644 --- a/rsconcept/frontend/src/features/library/backend/useSetLocation.tsx +++ b/rsconcept/frontend/src/features/library/backend/useSetLocation.tsx @@ -1,10 +1,12 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { KEYS } from '@/backend/configuration'; import { IOperationSchemaDTO } from '@/features/oss/backend/types'; import { IRSFormDTO } from '@/features/rsform/backend/types'; +import { KEYS } from '@/backend/configuration'; + import { ILibraryItem } from '../models/library'; + import { libraryApi } from './api'; export const useSetLocation = () => { diff --git a/rsconcept/frontend/src/features/library/backend/useSetOwner.tsx b/rsconcept/frontend/src/features/library/backend/useSetOwner.tsx index 184fffed..ebf4d6af 100644 --- a/rsconcept/frontend/src/features/library/backend/useSetOwner.tsx +++ b/rsconcept/frontend/src/features/library/backend/useSetOwner.tsx @@ -1,10 +1,12 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { KEYS } from '@/backend/configuration'; import { IOperationSchemaDTO } from '@/features/oss/backend/types'; import { IRSFormDTO } from '@/features/rsform/backend/types'; +import { KEYS } from '@/backend/configuration'; + import { ILibraryItem } from '../models/library'; + import { libraryApi } from './api'; export const useSetOwner = () => { diff --git a/rsconcept/frontend/src/features/library/backend/useUpdateItem.tsx b/rsconcept/frontend/src/features/library/backend/useUpdateItem.tsx index ccc9300d..f306c8f1 100644 --- a/rsconcept/frontend/src/features/library/backend/useUpdateItem.tsx +++ b/rsconcept/frontend/src/features/library/backend/useUpdateItem.tsx @@ -1,10 +1,12 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { KEYS } from '@/backend/configuration'; import { IOperationSchemaDTO } from '@/features/oss/backend/types'; import { IRSFormDTO } from '@/features/rsform/backend/types'; +import { KEYS } from '@/backend/configuration'; + import { ILibraryItem, LibraryItemType } from '../models/library'; + import { libraryApi } from './api'; import { IUpdateLibraryItemDTO } from './types'; diff --git a/rsconcept/frontend/src/features/library/backend/useUpdateTimestamp.tsx b/rsconcept/frontend/src/features/library/backend/useUpdateTimestamp.tsx index 37d73b39..55ba4fed 100644 --- a/rsconcept/frontend/src/features/library/backend/useUpdateTimestamp.tsx +++ b/rsconcept/frontend/src/features/library/backend/useUpdateTimestamp.tsx @@ -1,6 +1,7 @@ import { useQueryClient } from '@tanstack/react-query'; import { ILibraryItem } from '../models/library'; + import { libraryApi } from './api'; export function useUpdateTimestamp() { diff --git a/rsconcept/frontend/src/features/library/backend/useVersionDelete.tsx b/rsconcept/frontend/src/features/library/backend/useVersionDelete.tsx index 8e99e194..3fbdbb16 100644 --- a/rsconcept/frontend/src/features/library/backend/useVersionDelete.tsx +++ b/rsconcept/frontend/src/features/library/backend/useVersionDelete.tsx @@ -1,8 +1,9 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { KEYS } from '@/backend/configuration'; import { IRSFormDTO } from '@/features/rsform/backend/types'; +import { KEYS } from '@/backend/configuration'; + import { libraryApi } from './api'; export const useVersionDelete = () => { diff --git a/rsconcept/frontend/src/features/library/backend/useVersionUpdate.tsx b/rsconcept/frontend/src/features/library/backend/useVersionUpdate.tsx index 53e04e68..491e0da4 100644 --- a/rsconcept/frontend/src/features/library/backend/useVersionUpdate.tsx +++ b/rsconcept/frontend/src/features/library/backend/useVersionUpdate.tsx @@ -1,8 +1,9 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { KEYS } from '@/backend/configuration'; import { IRSFormDTO } from '@/features/rsform/backend/types'; +import { KEYS } from '@/backend/configuration'; + import { libraryApi } from './api'; import { IVersionUpdateDTO } from './types'; diff --git a/rsconcept/frontend/src/features/library/components/EditorLibraryItem.tsx b/rsconcept/frontend/src/features/library/components/EditorLibraryItem.tsx index 8fd538f0..11493ce0 100644 --- a/rsconcept/frontend/src/features/library/components/EditorLibraryItem.tsx +++ b/rsconcept/frontend/src/features/library/components/EditorLibraryItem.tsx @@ -2,6 +2,8 @@ import { Suspense } from 'react'; import { useIntl } from 'react-intl'; import { urls, useConceptNavigation } from '@/app'; +import { InfoUsers, SelectUser, useLabelUser, useRoleStore, UserRole } from '@/features/users'; + import { Overlay, Tooltip } from '@/components/Container'; import { MiniButton } from '@/components/Control'; import { useDropdown } from '@/components/Dropdown'; @@ -16,7 +18,6 @@ import { import { Loader } from '@/components/Loader'; import { CProps } from '@/components/props'; import { ValueIcon } from '@/components/View'; -import { InfoUsers, SelectUser, useLabelUser, useRoleStore, UserRole } from '@/features/users'; import { useDialogsStore } from '@/stores/dialogs'; import { useModificationStore } from '@/stores/modification'; import { prefixes } from '@/utils/constants'; diff --git a/rsconcept/frontend/src/features/library/components/PickSchema.tsx b/rsconcept/frontend/src/features/library/components/PickSchema.tsx index ac911919..9d1a9169 100644 --- a/rsconcept/frontend/src/features/library/components/PickSchema.tsx +++ b/rsconcept/frontend/src/features/library/components/PickSchema.tsx @@ -1,6 +1,6 @@ -import clsx from 'clsx'; import { useState } from 'react'; import { useIntl } from 'react-intl'; +import clsx from 'clsx'; import { FlexColumn } from '@/components/Container'; import { MiniButton } from '@/components/Control'; @@ -14,6 +14,7 @@ import { prefixes } from '@/utils/constants'; import { ILibraryItem, LibraryItemType } from '../models/library'; import { matchLibraryItem } from '../models/libraryAPI'; + import SelectLocation from './SelectLocation'; interface PickSchemaProps extends CProps.Styling { diff --git a/rsconcept/frontend/src/features/library/components/SelectLocation.tsx b/rsconcept/frontend/src/features/library/components/SelectLocation.tsx index 1135dc6a..fdc5ba8a 100644 --- a/rsconcept/frontend/src/features/library/components/SelectLocation.tsx +++ b/rsconcept/frontend/src/features/library/components/SelectLocation.tsx @@ -1,7 +1,7 @@ 'use client'; -import clsx from 'clsx'; import { useEffect, useState } from 'react'; +import clsx from 'clsx'; import { MiniButton } from '@/components/Control'; import { IconFolder, IconFolderClosed, IconFolderEmpty, IconFolderOpened } from '@/components/Icons'; diff --git a/rsconcept/frontend/src/features/library/components/ToolbarItemAccess.tsx b/rsconcept/frontend/src/features/library/components/ToolbarItemAccess.tsx index f8b83689..a7a1c208 100644 --- a/rsconcept/frontend/src/features/library/components/ToolbarItemAccess.tsx +++ b/rsconcept/frontend/src/features/library/components/ToolbarItemAccess.tsx @@ -1,15 +1,17 @@ +import { BadgeHelp, HelpTopic } from '@/features/help'; +import { useRoleStore, UserRole } from '@/features/users'; + import { Overlay } from '@/components/Container'; import { MiniButton } from '@/components/Control'; import { VisibilityIcon } from '@/components/DomainIcons'; import { IconImmutable, IconMutable } from '@/components/Icons'; import { Label } from '@/components/Input'; -import { BadgeHelp, HelpTopic } from '@/features/help'; -import { useRoleStore, UserRole } from '@/features/users'; import { PARAMETER } from '@/utils/constants'; import { useMutatingLibrary } from '../backend/useMutatingLibrary'; import { useSetAccessPolicy } from '../backend/useSetAccessPolicy'; import { AccessPolicy } from '../models/library'; + import { ILibraryItemEditor } from './EditorLibraryItem'; import { SelectAccessPolicy } from './SelectAccessPolicy'; diff --git a/rsconcept/frontend/src/features/library/dialogs/DlgChangeLocation.tsx b/rsconcept/frontend/src/features/library/dialogs/DlgChangeLocation.tsx index 269c7589..a311c3e6 100644 --- a/rsconcept/frontend/src/features/library/dialogs/DlgChangeLocation.tsx +++ b/rsconcept/frontend/src/features/library/dialogs/DlgChangeLocation.tsx @@ -1,13 +1,14 @@ 'use client'; +import { Controller, useForm } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import clsx from 'clsx'; -import { Controller, useForm } from 'react-hook-form'; import { z } from 'zod'; +import { useAuthSuspense } from '@/features/auth'; + import { Label, TextArea } from '@/components/Input'; import { ModalForm } from '@/components/Modal'; -import { useAuthSuspense } from '@/features/auth'; import { useDialogsStore } from '@/stores/dialogs'; import { limits } from '@/utils/constants'; import { errorMsg } from '@/utils/labels'; diff --git a/rsconcept/frontend/src/features/library/dialogs/DlgCloneLibraryItem.tsx b/rsconcept/frontend/src/features/library/dialogs/DlgCloneLibraryItem.tsx index 6a90ba28..d3c93fb2 100644 --- a/rsconcept/frontend/src/features/library/dialogs/DlgCloneLibraryItem.tsx +++ b/rsconcept/frontend/src/features/library/dialogs/DlgCloneLibraryItem.tsx @@ -1,15 +1,16 @@ 'use client'; +import { Controller, useForm } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import clsx from 'clsx'; -import { Controller, useForm } from 'react-hook-form'; import { urls, useConceptNavigation } from '@/app'; +import { useAuthSuspense } from '@/features/auth'; + import { MiniButton } from '@/components/Control'; import { VisibilityIcon } from '@/components/DomainIcons'; import { Checkbox, Label, TextArea, TextInput } from '@/components/Input'; import { ModalForm } from '@/components/Modal'; -import { useAuthSuspense } from '@/features/auth'; import { useDialogsStore } from '@/stores/dialogs'; import { ICloneLibraryItemDTO, schemaCloneLibraryItem } from '../backend/types'; diff --git a/rsconcept/frontend/src/features/library/dialogs/DlgCreateVersion.tsx b/rsconcept/frontend/src/features/library/dialogs/DlgCreateVersion.tsx index 3c4054bd..b1acbdcf 100644 --- a/rsconcept/frontend/src/features/library/dialogs/DlgCreateVersion.tsx +++ b/rsconcept/frontend/src/features/library/dialogs/DlgCreateVersion.tsx @@ -1,8 +1,8 @@ 'use client'; +import { Controller, useForm, useWatch } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import clsx from 'clsx'; -import { Controller, useForm, useWatch } from 'react-hook-form'; import { Checkbox, TextArea, TextInput } from '@/components/Input'; import { ModalForm } from '@/components/Modal'; diff --git a/rsconcept/frontend/src/features/library/dialogs/DlgEditEditors/DlgEditEditors.tsx b/rsconcept/frontend/src/features/library/dialogs/DlgEditEditors/DlgEditEditors.tsx index e5fdef12..e1d38c85 100644 --- a/rsconcept/frontend/src/features/library/dialogs/DlgEditEditors/DlgEditEditors.tsx +++ b/rsconcept/frontend/src/features/library/dialogs/DlgEditEditors/DlgEditEditors.tsx @@ -1,13 +1,14 @@ 'use client'; -import clsx from 'clsx'; import { useState } from 'react'; +import clsx from 'clsx'; + +import { SelectUser, TableUsers, useUsers } from '@/features/users'; import { MiniButton } from '@/components/Control'; import { IconRemove } from '@/components/Icons'; import { Label } from '@/components/Input'; import { ModalForm } from '@/components/Modal'; -import { SelectUser, TableUsers, useUsers } from '@/features/users'; import { useDialogsStore } from '@/stores/dialogs'; import { useSetEditors } from '../../backend/useSetEditors'; diff --git a/rsconcept/frontend/src/features/library/dialogs/DlgEditVersions/DlgEditVersions.tsx b/rsconcept/frontend/src/features/library/dialogs/DlgEditVersions/DlgEditVersions.tsx index 8461bc66..9e0e1857 100644 --- a/rsconcept/frontend/src/features/library/dialogs/DlgEditVersions/DlgEditVersions.tsx +++ b/rsconcept/frontend/src/features/library/dialogs/DlgEditVersions/DlgEditVersions.tsx @@ -1,15 +1,16 @@ 'use no memo'; // TODO: remove when react hook forms are compliant with react compiler 'use client'; -import { zodResolver } from '@hookform/resolvers/zod'; import { useMemo } from 'react'; import { useForm, useWatch } from 'react-hook-form'; +import { zodResolver } from '@hookform/resolvers/zod'; + +import { useRSFormSuspense } from '@/features/rsform'; import { MiniButton } from '@/components/Control'; import { IconReset, IconSave } from '@/components/Icons'; import { TextArea, TextInput } from '@/components/Input'; import { ModalView } from '@/components/Modal'; -import { useRSFormSuspense } from '@/features/rsform'; import { useDialogsStore } from '@/stores/dialogs'; import { errorMsg } from '@/utils/labels'; @@ -17,6 +18,7 @@ import { IVersionUpdateDTO, schemaVersionUpdate } from '../../backend/types'; import { useMutatingLibrary } from '../../backend/useMutatingLibrary'; import { useVersionDelete } from '../../backend/useVersionDelete'; import { useVersionUpdate } from '../../backend/useVersionUpdate'; + import TableVersions from './TableVersions'; export interface DlgEditVersionsProps { diff --git a/rsconcept/frontend/src/features/library/dialogs/DlgEditVersions/TableVersions.tsx b/rsconcept/frontend/src/features/library/dialogs/DlgEditVersions/TableVersions.tsx index f1012f05..4cc6cc0b 100644 --- a/rsconcept/frontend/src/features/library/dialogs/DlgEditVersions/TableVersions.tsx +++ b/rsconcept/frontend/src/features/library/dialogs/DlgEditVersions/TableVersions.tsx @@ -1,7 +1,7 @@ 'use client'; -import clsx from 'clsx'; import { useIntl } from 'react-intl'; +import clsx from 'clsx'; import { MiniButton } from '@/components/Control'; import DataTable, { createColumnHelper, IConditionalStyle } from '@/components/DataTable'; diff --git a/rsconcept/frontend/src/features/library/pages/CreateItemPage/FormCreateItem.tsx b/rsconcept/frontend/src/features/library/pages/CreateItemPage/FormCreateItem.tsx index e82a3d5c..64b330d5 100644 --- a/rsconcept/frontend/src/features/library/pages/CreateItemPage/FormCreateItem.tsx +++ b/rsconcept/frontend/src/features/library/pages/CreateItemPage/FormCreateItem.tsx @@ -1,18 +1,19 @@ 'use client'; -import { zodResolver } from '@hookform/resolvers/zod'; -import clsx from 'clsx'; import { useRef } from 'react'; import { Controller, useForm, useWatch } from 'react-hook-form'; +import { zodResolver } from '@hookform/resolvers/zod'; +import clsx from 'clsx'; import { urls, useConceptNavigation } from '@/app'; +import { useAuthSuspense } from '@/features/auth'; + import { Overlay } from '@/components/Container'; import { Button, MiniButton, SubmitButton } from '@/components/Control'; import { VisibilityIcon } from '@/components/DomainIcons'; import { IconDownload } from '@/components/Icons'; import { InfoError } from '@/components/InfoError'; import { Label, TextArea, TextInput } from '@/components/Input'; -import { useAuthSuspense } from '@/features/auth'; import { EXTEOR_TRS_FILE } from '@/utils/constants'; import { ICreateLibraryItemDTO, schemaCreateLibraryItem } from '../../backend/types'; diff --git a/rsconcept/frontend/src/features/library/pages/LibraryPage/LibraryPage.tsx b/rsconcept/frontend/src/features/library/pages/LibraryPage/LibraryPage.tsx index e49c98e0..f7ee03e2 100644 --- a/rsconcept/frontend/src/features/library/pages/LibraryPage/LibraryPage.tsx +++ b/rsconcept/frontend/src/features/library/pages/LibraryPage/LibraryPage.tsx @@ -1,7 +1,7 @@ 'use client'; -import fileDownload from 'js-file-download'; import { toast } from 'react-toastify'; +import fileDownload from 'js-file-download'; import { Overlay } from '@/components/Container'; import { MiniButton } from '@/components/Control'; @@ -15,6 +15,7 @@ import { useApplyLibraryFilter } from '../../backend/useApplyLibraryFilter'; import { useLibrarySuspense } from '../../backend/useLibrary'; import { useRenameLocation } from '../../backend/useRenameLocation'; import { useCreateLibraryFilter, useLibrarySearchStore } from '../../stores/librarySearch'; + import TableLibraryItems from './TableLibraryItems'; import ToolbarSearch from './ToolbarSearch'; import ViewSideLocation from './ViewSideLocation'; diff --git a/rsconcept/frontend/src/features/library/pages/LibraryPage/TableLibraryItems.tsx b/rsconcept/frontend/src/features/library/pages/LibraryPage/TableLibraryItems.tsx index 2577d496..77af1613 100644 --- a/rsconcept/frontend/src/features/library/pages/LibraryPage/TableLibraryItems.tsx +++ b/rsconcept/frontend/src/features/library/pages/LibraryPage/TableLibraryItems.tsx @@ -1,16 +1,17 @@ 'use client'; -import clsx from 'clsx'; import { useLayoutEffect, useState } from 'react'; import { useIntl } from 'react-intl'; +import clsx from 'clsx'; import { urls, useConceptNavigation } from '@/app'; +import { useLabelUser } from '@/features/users'; + import { FlexColumn } from '@/components/Container'; import { MiniButton, TextURL } from '@/components/Control'; import DataTable, { createColumnHelper, IConditionalStyle, VisibilityState } from '@/components/DataTable'; import { IconFolderTree } from '@/components/Icons'; import { CProps } from '@/components/props'; -import { useLabelUser } from '@/features/users'; import useWindowSize from '@/hooks/useWindowSize'; import { useFitHeight } from '@/stores/appLayout'; import { usePreferencesStore } from '@/stores/preferences'; diff --git a/rsconcept/frontend/src/features/library/pages/LibraryPage/ToolbarSearch.tsx b/rsconcept/frontend/src/features/library/pages/LibraryPage/ToolbarSearch.tsx index 91e99e1c..13440453 100644 --- a/rsconcept/frontend/src/features/library/pages/LibraryPage/ToolbarSearch.tsx +++ b/rsconcept/frontend/src/features/library/pages/LibraryPage/ToolbarSearch.tsx @@ -2,6 +2,8 @@ import clsx from 'clsx'; +import { SelectUser } from '@/features/users'; + import { MiniButton, SelectorButton } from '@/components/Control'; import { LocationIcon, VisibilityIcon } from '@/components/DomainIcons'; import { Dropdown, DropdownButton, useDropdown } from '@/components/Dropdown'; @@ -16,7 +18,6 @@ import { } from '@/components/Icons'; import { SearchBar } from '@/components/Input'; import { CProps } from '@/components/props'; -import { SelectUser } from '@/features/users'; import { prefixes } from '@/utils/constants'; import { tripleToggleColor } from '@/utils/utils'; diff --git a/rsconcept/frontend/src/features/library/pages/LibraryPage/ViewSideLocation.tsx b/rsconcept/frontend/src/features/library/pages/LibraryPage/ViewSideLocation.tsx index d640e721..a500bdbe 100644 --- a/rsconcept/frontend/src/features/library/pages/LibraryPage/ViewSideLocation.tsx +++ b/rsconcept/frontend/src/features/library/pages/LibraryPage/ViewSideLocation.tsx @@ -1,12 +1,13 @@ -import clsx from 'clsx'; import { toast } from 'react-toastify'; +import clsx from 'clsx'; + +import { useAuthSuspense } from '@/features/auth'; +import { BadgeHelp, HelpTopic } from '@/features/help'; import { MiniButton } from '@/components/Control'; import { SubfoldersIcon } from '@/components/DomainIcons'; import { IconFolderEdit, IconFolderTree } from '@/components/Icons'; import { CProps } from '@/components/props'; -import { useAuthSuspense } from '@/features/auth'; -import { BadgeHelp, HelpTopic } from '@/features/help'; import useWindowSize from '@/hooks/useWindowSize'; import { useFitHeight } from '@/stores/appLayout'; import { PARAMETER, prefixes } from '@/utils/constants'; diff --git a/rsconcept/frontend/src/features/oss/backend/OssLoader.ts b/rsconcept/frontend/src/features/oss/backend/OssLoader.ts index f2146e5f..a6c7f306 100644 --- a/rsconcept/frontend/src/features/oss/backend/OssLoader.ts +++ b/rsconcept/frontend/src/features/oss/backend/OssLoader.ts @@ -3,9 +3,11 @@ */ import { ILibraryItem } from '@/features/library/models/library'; + import { Graph } from '@/models/Graph'; import { IOperation, IOperationSchema, IOperationSchemaStats, OperationType } from '../models/oss'; + import { IOperationSchemaDTO } from './types'; /** diff --git a/rsconcept/frontend/src/features/oss/backend/api.ts b/rsconcept/frontend/src/features/oss/backend/api.ts index f96f1f05..4b86d0c2 100644 --- a/rsconcept/frontend/src/features/oss/backend/api.ts +++ b/rsconcept/frontend/src/features/oss/backend/api.ts @@ -1,8 +1,9 @@ import { queryOptions } from '@tanstack/react-query'; +import { IConstituentaReference, ITargetCst } from '@/features/rsform/models/rsform'; + import { axiosGet, axiosPatch, axiosPost } from '@/backend/apiTransport'; import { DELAYS, KEYS } from '@/backend/configuration'; -import { IConstituentaReference, ITargetCst } from '@/features/rsform/models/rsform'; import { infoMsg } from '@/utils/labels'; import { diff --git a/rsconcept/frontend/src/features/oss/backend/useOSS.tsx b/rsconcept/frontend/src/features/oss/backend/useOSS.tsx index abddd515..60fc6f3c 100644 --- a/rsconcept/frontend/src/features/oss/backend/useOSS.tsx +++ b/rsconcept/frontend/src/features/oss/backend/useOSS.tsx @@ -1,8 +1,9 @@ import { useQuery, useSuspenseQuery } from '@tanstack/react-query'; -import { queryClient } from '@/backend/queryClient'; import { useLibrary, useLibrarySuspense } from '@/features/library/backend/useLibrary'; +import { queryClient } from '@/backend/queryClient'; + import { ossApi } from './api'; import { OssLoader } from './OssLoader'; diff --git a/rsconcept/frontend/src/features/oss/backend/useOperationUpdate.tsx b/rsconcept/frontend/src/features/oss/backend/useOperationUpdate.tsx index 34d8626a..6c6c6c77 100644 --- a/rsconcept/frontend/src/features/oss/backend/useOperationUpdate.tsx +++ b/rsconcept/frontend/src/features/oss/backend/useOperationUpdate.tsx @@ -1,8 +1,9 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { KEYS } from '@/backend/configuration'; import { ILibraryItem } from '@/features/library/models/library'; +import { KEYS } from '@/backend/configuration'; + import { ossApi } from './api'; import { IOperationUpdateDTO } from './types'; diff --git a/rsconcept/frontend/src/features/oss/components/PickMultiOperation.tsx b/rsconcept/frontend/src/features/oss/components/PickMultiOperation.tsx index eecf616c..8918918c 100644 --- a/rsconcept/frontend/src/features/oss/components/PickMultiOperation.tsx +++ b/rsconcept/frontend/src/features/oss/components/PickMultiOperation.tsx @@ -1,7 +1,7 @@ 'use client'; -import clsx from 'clsx'; import { useState } from 'react'; +import clsx from 'clsx'; import { MiniButton } from '@/components/Control'; import DataTable, { createColumnHelper } from '@/components/DataTable'; @@ -10,6 +10,7 @@ import { CProps } from '@/components/props'; import { NoData } from '@/components/View'; import { IOperation, OperationID } from '../models/oss'; + import SelectOperation from './SelectOperation'; interface PickMultiOperationProps extends CProps.Styling { diff --git a/rsconcept/frontend/src/features/oss/dialogs/DlgChangeInputSchema.tsx b/rsconcept/frontend/src/features/oss/dialogs/DlgChangeInputSchema.tsx index 23157382..7bab46fb 100644 --- a/rsconcept/frontend/src/features/oss/dialogs/DlgChangeInputSchema.tsx +++ b/rsconcept/frontend/src/features/oss/dialogs/DlgChangeInputSchema.tsx @@ -1,14 +1,15 @@ 'use client'; +import { Controller, useForm } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import clsx from 'clsx'; -import { Controller, useForm } from 'react-hook-form'; + +import { ILibraryItem, LibraryItemType, PickSchema, useLibrary } from '@/features/library'; import { MiniButton } from '@/components/Control'; import { IconReset } from '@/components/Icons'; import { Label } from '@/components/Input'; import { ModalForm } from '@/components/Modal'; -import { ILibraryItem, LibraryItemType, PickSchema, useLibrary } from '@/features/library'; import { useDialogsStore } from '@/stores/dialogs'; import { IInputUpdateDTO, IOperationPosition, schemaInputUpdate } from '../backend/types'; diff --git a/rsconcept/frontend/src/features/oss/dialogs/DlgCreateOperation/DlgCreateOperation.tsx b/rsconcept/frontend/src/features/oss/dialogs/DlgCreateOperation/DlgCreateOperation.tsx index 388f53b5..a3bd2af9 100644 --- a/rsconcept/frontend/src/features/oss/dialogs/DlgCreateOperation/DlgCreateOperation.tsx +++ b/rsconcept/frontend/src/features/oss/dialogs/DlgCreateOperation/DlgCreateOperation.tsx @@ -1,13 +1,14 @@ 'use client'; -import { zodResolver } from '@hookform/resolvers/zod'; -import clsx from 'clsx'; import { useState } from 'react'; import { FormProvider, useForm, useWatch } from 'react-hook-form'; +import { zodResolver } from '@hookform/resolvers/zod'; +import clsx from 'clsx'; + +import { HelpTopic } from '@/features/help'; import { ModalForm } from '@/components/Modal'; import { TabLabel, TabList, TabPanel, Tabs } from '@/components/Tabs'; -import { HelpTopic } from '@/features/help'; import { useDialogsStore } from '@/stores/dialogs'; import { IOperationCreateDTO, IOperationPosition, schemaOperationCreate } from '../../backend/types'; @@ -15,6 +16,7 @@ import { useOperationCreate } from '../../backend/useOperationCreate'; import { describeOperationType, labelOperationType } from '../../labels'; import { IOperationSchema, OperationID, OperationType } from '../../models/oss'; import { calculateInsertPosition } from '../../models/ossAPI'; + import TabInputOperation from './TabInputOperation'; import TabSynthesisOperation from './TabSynthesisOperation'; diff --git a/rsconcept/frontend/src/features/oss/dialogs/DlgCreateOperation/TabInputOperation.tsx b/rsconcept/frontend/src/features/oss/dialogs/DlgCreateOperation/TabInputOperation.tsx index 96b53f06..a9d78693 100644 --- a/rsconcept/frontend/src/features/oss/dialogs/DlgCreateOperation/TabInputOperation.tsx +++ b/rsconcept/frontend/src/features/oss/dialogs/DlgCreateOperation/TabInputOperation.tsx @@ -2,14 +2,16 @@ import { Controller, useFormContext, useWatch } from 'react-hook-form'; +import { ILibraryItem, LibraryItemType, PickSchema, useLibrary } from '@/features/library'; + import { MiniButton } from '@/components/Control'; import { IconReset } from '@/components/Icons'; import { Checkbox, Label, TextArea, TextInput } from '@/components/Input'; -import { ILibraryItem, LibraryItemType, PickSchema, useLibrary } from '@/features/library'; import { useDialogsStore } from '@/stores/dialogs'; import { IOperationCreateDTO } from '../../backend/types'; import { sortItemsForOSS } from '../../models/ossAPI'; + import { DlgCreateOperationProps } from './DlgCreateOperation'; function TabInputOperation() { diff --git a/rsconcept/frontend/src/features/oss/dialogs/DlgCreateOperation/TabSynthesisOperation.tsx b/rsconcept/frontend/src/features/oss/dialogs/DlgCreateOperation/TabSynthesisOperation.tsx index ab89c4b2..0f3a3371 100644 --- a/rsconcept/frontend/src/features/oss/dialogs/DlgCreateOperation/TabSynthesisOperation.tsx +++ b/rsconcept/frontend/src/features/oss/dialogs/DlgCreateOperation/TabSynthesisOperation.tsx @@ -6,6 +6,7 @@ import { useDialogsStore } from '@/stores/dialogs'; import { IOperationCreateDTO } from '../../backend/types'; import { PickMultiOperation } from '../../components/PickMultiOperation'; + import { DlgCreateOperationProps } from './DlgCreateOperation'; function TabSynthesisOperation() { diff --git a/rsconcept/frontend/src/features/oss/dialogs/DlgDeleteOperation.tsx b/rsconcept/frontend/src/features/oss/dialogs/DlgDeleteOperation.tsx index a5ade07a..6233d601 100644 --- a/rsconcept/frontend/src/features/oss/dialogs/DlgDeleteOperation.tsx +++ b/rsconcept/frontend/src/features/oss/dialogs/DlgDeleteOperation.tsx @@ -1,12 +1,13 @@ 'use client'; +import { Controller, useForm } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import clsx from 'clsx'; -import { Controller, useForm } from 'react-hook-form'; + +import { HelpTopic } from '@/features/help'; import { Checkbox, TextInput } from '@/components/Input'; import { ModalForm } from '@/components/Modal'; -import { HelpTopic } from '@/features/help'; import { useDialogsStore } from '@/stores/dialogs'; import { IOperationDeleteDTO, IOperationPosition, schemaOperationDelete } from '../backend/types'; diff --git a/rsconcept/frontend/src/features/oss/dialogs/DlgEditOperation/DlgEditOperation.tsx b/rsconcept/frontend/src/features/oss/dialogs/DlgEditOperation/DlgEditOperation.tsx index 4da15929..8231042b 100644 --- a/rsconcept/frontend/src/features/oss/dialogs/DlgEditOperation/DlgEditOperation.tsx +++ b/rsconcept/frontend/src/features/oss/dialogs/DlgEditOperation/DlgEditOperation.tsx @@ -1,19 +1,21 @@ 'use client'; -import { zodResolver } from '@hookform/resolvers/zod'; -import clsx from 'clsx'; import { Suspense, useState } from 'react'; import { FormProvider, useForm, useWatch } from 'react-hook-form'; +import { zodResolver } from '@hookform/resolvers/zod'; +import clsx from 'clsx'; + +import { HelpTopic } from '@/features/help'; import { Loader } from '@/components/Loader'; import { ModalForm } from '@/components/Modal'; import { TabLabel, TabList, TabPanel, Tabs } from '@/components/Tabs'; -import { HelpTopic } from '@/features/help'; import { useDialogsStore } from '@/stores/dialogs'; import { IOperationPosition, IOperationUpdateDTO, schemaOperationUpdate } from '../../backend/types'; import { useOperationUpdate } from '../../backend/useOperationUpdate'; import { IOperation, IOperationSchema, OperationType } from '../../models/oss'; + import TabArguments from './TabArguments'; import TabOperation from './TabOperation'; import TabSynthesis from './TabSynthesis'; diff --git a/rsconcept/frontend/src/features/oss/dialogs/DlgEditOperation/TabArguments.tsx b/rsconcept/frontend/src/features/oss/dialogs/DlgEditOperation/TabArguments.tsx index 0828924d..f804c75e 100644 --- a/rsconcept/frontend/src/features/oss/dialogs/DlgEditOperation/TabArguments.tsx +++ b/rsconcept/frontend/src/features/oss/dialogs/DlgEditOperation/TabArguments.tsx @@ -7,6 +7,7 @@ import { useDialogsStore } from '@/stores/dialogs'; import { IOperationUpdateDTO } from '../../backend/types'; import { PickMultiOperation } from '../../components/PickMultiOperation'; + import { DlgEditOperationProps } from './DlgEditOperation'; function TabArguments() { diff --git a/rsconcept/frontend/src/features/oss/dialogs/DlgEditOperation/TabSynthesis.tsx b/rsconcept/frontend/src/features/oss/dialogs/DlgEditOperation/TabSynthesis.tsx index 450e0394..1a4aed05 100644 --- a/rsconcept/frontend/src/features/oss/dialogs/DlgEditOperation/TabSynthesis.tsx +++ b/rsconcept/frontend/src/features/oss/dialogs/DlgEditOperation/TabSynthesis.tsx @@ -2,13 +2,15 @@ import { Controller, useFormContext, useWatch } from 'react-hook-form'; -import { TextArea } from '@/components/Input'; import { PickSubstitutions, useRSForms } from '@/features/rsform'; + +import { TextArea } from '@/components/Input'; import { useDialogsStore } from '@/stores/dialogs'; import { APP_COLORS } from '@/styling/colors'; import { IOperationUpdateDTO } from '../../backend/types'; import { SubstitutionValidator } from '../../models/ossAPI'; + import { DlgEditOperationProps } from './DlgEditOperation'; function TabSynthesis() { diff --git a/rsconcept/frontend/src/features/oss/dialogs/DlgRelocateConstituents.tsx b/rsconcept/frontend/src/features/oss/dialogs/DlgRelocateConstituents.tsx index adb65b36..50b52afe 100644 --- a/rsconcept/frontend/src/features/oss/dialogs/DlgRelocateConstituents.tsx +++ b/rsconcept/frontend/src/features/oss/dialogs/DlgRelocateConstituents.tsx @@ -1,17 +1,18 @@ 'use client'; -import { zodResolver } from '@hookform/resolvers/zod'; -import clsx from 'clsx'; import { useState } from 'react'; import { Controller, useForm, useWatch } from 'react-hook-form'; +import { zodResolver } from '@hookform/resolvers/zod'; +import clsx from 'clsx'; + +import { HelpTopic } from '@/features/help'; +import { ILibraryItem, SelectLibraryItem, useLibrary } from '@/features/library'; +import { PickMultiConstituenta, useRSForm } from '@/features/rsform'; import { MiniButton } from '@/components/Control'; import { RelocateUpIcon } from '@/components/DomainIcons'; import { Loader } from '@/components/Loader'; import { ModalForm } from '@/components/Modal'; -import { HelpTopic } from '@/features/help'; -import { ILibraryItem, SelectLibraryItem, useLibrary } from '@/features/library'; -import { PickMultiConstituenta, useRSForm } from '@/features/rsform'; import { useDialogsStore } from '@/stores/dialogs'; import { ICstRelocateDTO, IOperationPosition, schemaCstRelocate } from '../backend/types'; diff --git a/rsconcept/frontend/src/features/oss/models/oss.ts b/rsconcept/frontend/src/features/oss/models/oss.ts index 36b2512e..e4fa22c3 100644 --- a/rsconcept/frontend/src/features/oss/models/oss.ts +++ b/rsconcept/frontend/src/features/oss/models/oss.ts @@ -3,6 +3,7 @@ */ import { ILibraryItemData } from '@/features/library/models/library'; import { ICstSubstitute } from '@/features/rsform'; + import { Graph } from '@/models/Graph'; /** diff --git a/rsconcept/frontend/src/features/oss/models/ossAPI.ts b/rsconcept/frontend/src/features/oss/models/ossAPI.ts index b043215e..372972ac 100644 --- a/rsconcept/frontend/src/features/oss/models/ossAPI.ts +++ b/rsconcept/frontend/src/features/oss/models/ossAPI.ts @@ -12,6 +12,7 @@ import { extractGlobals, isSetTypification } from '@/features/rsform/models/rslangAPI'; + import { limits, PARAMETER } from '@/utils/constants'; import { infoMsg } from '@/utils/labels'; import { TextMatcher } from '@/utils/utils'; @@ -19,6 +20,7 @@ import { TextMatcher } from '@/utils/utils'; import { Graph } from '../../../models/Graph'; import { IOperationPosition } from '../backend/types'; import { describeSubstitutionError } from '../labels'; + import { IOperation, IOperationSchema, OperationID, OperationType, SubstitutionErrorType } from './oss'; import { Position2D } from './ossLayout'; diff --git a/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssCard/EditorOssCard.tsx b/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssCard/EditorOssCard.tsx index 4cd4f9aa..8d7b2fff 100644 --- a/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssCard/EditorOssCard.tsx +++ b/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssCard/EditorOssCard.tsx @@ -2,13 +2,15 @@ import clsx from 'clsx'; -import { FlexColumn } from '@/components/Container'; import { EditorLibraryItem } from '@/features/library'; import { ToolbarRSFormCard } from '@/features/rsform'; + +import { FlexColumn } from '@/components/Container'; import { useModificationStore } from '@/stores/modification'; import { globals } from '@/utils/constants'; import { useOssEdit } from '../OssEditContext'; + import FormOSS from './FormOSS'; import OssStats from './OssStats'; diff --git a/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssCard/FormOSS.tsx b/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssCard/FormOSS.tsx index cc2f90a1..6cdee388 100644 --- a/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssCard/FormOSS.tsx +++ b/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssCard/FormOSS.tsx @@ -1,16 +1,17 @@ 'use no memo'; // TODO: remove when react hook forms are compliant with react compiler 'use client'; -import { zodResolver } from '@hookform/resolvers/zod'; -import clsx from 'clsx'; import { useEffect } from 'react'; import { useForm, useWatch } from 'react-hook-form'; +import { zodResolver } from '@hookform/resolvers/zod'; +import clsx from 'clsx'; + +import { LibraryItemType, ToolbarItemAccess, useUpdateItem } from '@/features/library'; +import { IUpdateLibraryItemDTO, schemaUpdateLibraryItem } from '@/features/library/backend/types'; import { SubmitButton } from '@/components/Control'; import { IconSave } from '@/components/Icons'; import { TextArea, TextInput } from '@/components/Input'; -import { LibraryItemType, ToolbarItemAccess, useUpdateItem } from '@/features/library'; -import { IUpdateLibraryItemDTO, schemaUpdateLibraryItem } from '@/features/library/backend/types'; import { useModificationStore } from '@/stores/modification'; import { globals } from '@/utils/constants'; diff --git a/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssGraph/OssFlow.tsx b/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssGraph/OssFlow.tsx index f2e9e2af..899f197b 100644 --- a/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssGraph/OssFlow.tsx +++ b/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssGraph/OssFlow.tsx @@ -1,6 +1,5 @@ 'use client'; -import { toPng } from 'html-to-image'; import { useEffect, useState } from 'react'; import { toast } from 'react-toastify'; import { @@ -15,11 +14,13 @@ import { useOnSelectionChange, useReactFlow } from 'reactflow'; +import { toPng } from 'html-to-image'; import { urls, useConceptNavigation } from '@/app'; +import { useLibrary } from '@/features/library'; + import { Overlay } from '@/components/Container'; import { CProps } from '@/components/props'; -import { useLibrary } from '@/features/library'; import { useMainHeight } from '@/stores/appLayout'; import { useModificationStore } from '@/stores/modification'; import { APP_COLORS } from '@/styling/colors'; @@ -34,6 +35,7 @@ import { OperationID } from '../../../models/oss'; import { OssNode } from '../../../models/ossLayout'; import { useOSSGraphStore } from '../../../stores/ossGraph'; import { useOssEdit } from '../OssEditContext'; + import { OssNodeTypes } from './graph/OssNodeTypes'; import NodeContextMenu, { ContextMenuData } from './NodeContextMenu'; import ToolbarOssGraph from './ToolbarOssGraph'; diff --git a/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssGraph/ToolbarOssGraph.tsx b/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssGraph/ToolbarOssGraph.tsx index f0d724b7..62bbf75a 100644 --- a/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssGraph/ToolbarOssGraph.tsx +++ b/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssGraph/ToolbarOssGraph.tsx @@ -2,6 +2,8 @@ import clsx from 'clsx'; +import { BadgeHelp, HelpTopic } from '@/features/help'; + import { MiniButton } from '@/components/Control'; import { IconAnimation, @@ -18,7 +20,6 @@ import { IconReset, IconSave } from '@/components/Icons'; -import { BadgeHelp, HelpTopic } from '@/features/help'; import { useModificationStore } from '@/stores/modification'; import { PARAMETER } from '@/utils/constants'; import { prepareTooltip } from '@/utils/utils'; diff --git a/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssGraph/graph/InputNode.tsx b/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssGraph/graph/InputNode.tsx index 0acf10b7..3888fd87 100644 --- a/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssGraph/graph/InputNode.tsx +++ b/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssGraph/graph/InputNode.tsx @@ -1,6 +1,7 @@ import { Handle, Position } from 'reactflow'; import { OssNodeInternal } from '../../../../models/ossLayout'; + import NodeCore from './NodeCore'; function InputNode(node: OssNodeInternal) { diff --git a/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssGraph/graph/OperationNode.tsx b/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssGraph/graph/OperationNode.tsx index c567fb66..f0b1ae16 100644 --- a/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssGraph/graph/OperationNode.tsx +++ b/rsconcept/frontend/src/features/oss/pages/OssPage/EditorOssGraph/graph/OperationNode.tsx @@ -3,6 +3,7 @@ import { Handle, Position } from 'reactflow'; import { OssNodeInternal } from '../../../../models/ossLayout'; + import NodeCore from './NodeCore'; function OperationNode(node: OssNodeInternal) { diff --git a/rsconcept/frontend/src/features/oss/pages/OssPage/MenuOssTabs.tsx b/rsconcept/frontend/src/features/oss/pages/OssPage/MenuOssTabs.tsx index 6496524e..efcf383d 100644 --- a/rsconcept/frontend/src/features/oss/pages/OssPage/MenuOssTabs.tsx +++ b/rsconcept/frontend/src/features/oss/pages/OssPage/MenuOssTabs.tsx @@ -1,6 +1,9 @@ 'use client'; import { urls, useConceptNavigation } from '@/app'; +import { useAuthSuspense } from '@/features/auth'; +import { useRoleStore, UserRole } from '@/features/users'; + import { Divider } from '@/components/Container'; import { Button } from '@/components/Control'; import { Dropdown, DropdownButton, useDropdown } from '@/components/Dropdown'; @@ -18,12 +21,11 @@ import { IconReader, IconShare } from '@/components/Icons'; -import { useAuthSuspense } from '@/features/auth'; -import { useRoleStore, UserRole } from '@/features/users'; import { describeAccessMode as describeUserRole, labelAccessMode as labelUserRole } from '@/utils/labels'; import { sharePage } from '@/utils/utils'; import { useMutatingOss } from '../../backend/useMutatingOss'; + import { useOssEdit } from './OssEditContext'; function MenuOssTabs() { diff --git a/rsconcept/frontend/src/features/oss/pages/OssPage/OssEditContext.tsx b/rsconcept/frontend/src/features/oss/pages/OssPage/OssEditContext.tsx index cd7bcd3d..957b5e94 100644 --- a/rsconcept/frontend/src/features/oss/pages/OssPage/OssEditContext.tsx +++ b/rsconcept/frontend/src/features/oss/pages/OssPage/OssEditContext.tsx @@ -7,6 +7,7 @@ import { useAuthSuspense } from '@/features/auth'; import { ILibraryItemEditor, useDeleteItem, useLibrarySearchStore } from '@/features/library'; import { RSTabID } from '@/features/rsform/pages/RSFormPage/RSEditContext'; import { useRoleStore, UserRole } from '@/features/users'; + import { useDialogsStore } from '@/stores/dialogs'; import { usePreferencesStore } from '@/stores/preferences'; import { promptText } from '@/utils/labels'; diff --git a/rsconcept/frontend/src/features/oss/pages/OssPage/OssPage.tsx b/rsconcept/frontend/src/features/oss/pages/OssPage/OssPage.tsx index 9ca45a8d..3968d40b 100644 --- a/rsconcept/frontend/src/features/oss/pages/OssPage/OssPage.tsx +++ b/rsconcept/frontend/src/features/oss/pages/OssPage/OssPage.tsx @@ -6,6 +6,7 @@ import { useParams } from 'react-router'; import { z } from 'zod'; import { urls, useBlockNavigation, useConceptNavigation } from '@/app'; + import { isAxiosError } from '@/backend/apiTransport'; import { TextURL } from '@/components/Control'; import { ErrorData } from '@/components/InfoError'; diff --git a/rsconcept/frontend/src/features/oss/pages/OssPage/OssTabs.tsx b/rsconcept/frontend/src/features/oss/pages/OssPage/OssTabs.tsx index d870f697..47475f8d 100644 --- a/rsconcept/frontend/src/features/oss/pages/OssPage/OssTabs.tsx +++ b/rsconcept/frontend/src/features/oss/pages/OssPage/OssTabs.tsx @@ -1,9 +1,10 @@ 'use client'; -import clsx from 'clsx'; import { useEffect } from 'react'; +import clsx from 'clsx'; import { useConceptNavigation } from '@/app/Navigation/NavigationContext'; + import { Overlay } from '@/components/Container'; import { TabLabel, TabList, TabPanel, Tabs } from '@/components/Tabs'; import { useAppLayoutStore } from '@/stores/appLayout'; diff --git a/rsconcept/frontend/src/features/rsform/backend/RSFormLoader.ts b/rsconcept/frontend/src/features/rsform/backend/RSFormLoader.ts index e024ce52..e2e3f1f5 100644 --- a/rsconcept/frontend/src/features/rsform/backend/RSFormLoader.ts +++ b/rsconcept/frontend/src/features/rsform/backend/RSFormLoader.ts @@ -8,6 +8,7 @@ import { CstType, IConstituenta, IRSForm, IRSFormStats } from '../models/rsform' import { inferClass, inferStatus, inferTemplate, isBaseSet, isFunctional } from '../models/rsformAPI'; import { ParsingStatus, ValueClass } from '../models/rslang'; import { extractGlobals, isSimpleExpression, splitTemplateDefinition } from '../models/rslangAPI'; + import { IRSFormDTO } from './types'; /** diff --git a/rsconcept/frontend/src/features/rsform/backend/api.ts b/rsconcept/frontend/src/features/rsform/backend/api.ts index 5da3cf1c..9affecd4 100644 --- a/rsconcept/frontend/src/features/rsform/backend/api.ts +++ b/rsconcept/frontend/src/features/rsform/backend/api.ts @@ -6,6 +6,7 @@ import { infoMsg } from '@/utils/labels'; import { IConstituentaList, IConstituentaMeta, ITargetCst } from '../models/rsform'; import { IExpressionParse } from '../models/rslang'; + import { ICheckConstituentaDTO, ICstCreatedResponse, diff --git a/rsconcept/frontend/src/features/rsform/backend/types.ts b/rsconcept/frontend/src/features/rsform/backend/types.ts index aa179f7e..d259ffda 100644 --- a/rsconcept/frontend/src/features/rsform/backend/types.ts +++ b/rsconcept/frontend/src/features/rsform/backend/types.ts @@ -1,6 +1,7 @@ import { z } from 'zod'; import { ILibraryItemReference, ILibraryItemVersioned } from '@/features/library/models/library'; + import { errorMsg } from '@/utils/labels'; import { CstType, IConstituentaMeta, IInheritanceInfo, TermForm } from '../models/rsform'; diff --git a/rsconcept/frontend/src/features/rsform/backend/useCstCreate.tsx b/rsconcept/frontend/src/features/rsform/backend/useCstCreate.tsx index cf43623a..2994c90f 100644 --- a/rsconcept/frontend/src/features/rsform/backend/useCstCreate.tsx +++ b/rsconcept/frontend/src/features/rsform/backend/useCstCreate.tsx @@ -1,8 +1,9 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { KEYS } from '@/backend/configuration'; import { useUpdateTimestamp } from '@/features/library'; +import { KEYS } from '@/backend/configuration'; + import { rsformsApi } from './api'; import { ICstCreateDTO } from './types'; diff --git a/rsconcept/frontend/src/features/rsform/backend/useCstDelete.tsx b/rsconcept/frontend/src/features/rsform/backend/useCstDelete.tsx index 04e99594..7434ac25 100644 --- a/rsconcept/frontend/src/features/rsform/backend/useCstDelete.tsx +++ b/rsconcept/frontend/src/features/rsform/backend/useCstDelete.tsx @@ -1,9 +1,11 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { KEYS } from '@/backend/configuration'; import { useUpdateTimestamp } from '@/features/library'; +import { KEYS } from '@/backend/configuration'; + import { IConstituentaList } from '../models/rsform'; + import { rsformsApi } from './api'; export const useCstDelete = () => { diff --git a/rsconcept/frontend/src/features/rsform/backend/useCstRename.tsx b/rsconcept/frontend/src/features/rsform/backend/useCstRename.tsx index 6193efa1..d0630beb 100644 --- a/rsconcept/frontend/src/features/rsform/backend/useCstRename.tsx +++ b/rsconcept/frontend/src/features/rsform/backend/useCstRename.tsx @@ -1,8 +1,9 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { KEYS } from '@/backend/configuration'; import { useUpdateTimestamp } from '@/features/library'; +import { KEYS } from '@/backend/configuration'; + import { rsformsApi } from './api'; import { ICstRenameDTO } from './types'; diff --git a/rsconcept/frontend/src/features/rsform/backend/useCstSubstitute.tsx b/rsconcept/frontend/src/features/rsform/backend/useCstSubstitute.tsx index a55af2a9..d15b1bf8 100644 --- a/rsconcept/frontend/src/features/rsform/backend/useCstSubstitute.tsx +++ b/rsconcept/frontend/src/features/rsform/backend/useCstSubstitute.tsx @@ -1,8 +1,9 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { KEYS } from '@/backend/configuration'; import { useUpdateTimestamp } from '@/features/library'; +import { KEYS } from '@/backend/configuration'; + import { rsformsApi } from './api'; import { ICstSubstitutionsDTO } from './types'; diff --git a/rsconcept/frontend/src/features/rsform/backend/useCstUpdate.tsx b/rsconcept/frontend/src/features/rsform/backend/useCstUpdate.tsx index 31dc7bb0..a6b8d16c 100644 --- a/rsconcept/frontend/src/features/rsform/backend/useCstUpdate.tsx +++ b/rsconcept/frontend/src/features/rsform/backend/useCstUpdate.tsx @@ -1,8 +1,9 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { KEYS } from '@/backend/configuration'; import { useUpdateTimestamp } from '@/features/library'; +import { KEYS } from '@/backend/configuration'; + import { rsformsApi } from './api'; import { ICstUpdateDTO } from './types'; diff --git a/rsconcept/frontend/src/features/rsform/backend/useInlineSynthesis.tsx b/rsconcept/frontend/src/features/rsform/backend/useInlineSynthesis.tsx index 3befa891..91bbfea7 100644 --- a/rsconcept/frontend/src/features/rsform/backend/useInlineSynthesis.tsx +++ b/rsconcept/frontend/src/features/rsform/backend/useInlineSynthesis.tsx @@ -1,8 +1,9 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { KEYS } from '@/backend/configuration'; import { useUpdateTimestamp } from '@/features/library'; +import { KEYS } from '@/backend/configuration'; + import { rsformsApi } from './api'; import { IInlineSynthesisDTO } from './types'; diff --git a/rsconcept/frontend/src/features/rsform/backend/useProduceStructure.tsx b/rsconcept/frontend/src/features/rsform/backend/useProduceStructure.tsx index 05fe8a78..c267c4aa 100644 --- a/rsconcept/frontend/src/features/rsform/backend/useProduceStructure.tsx +++ b/rsconcept/frontend/src/features/rsform/backend/useProduceStructure.tsx @@ -1,9 +1,11 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { KEYS } from '@/backend/configuration'; import { useUpdateTimestamp } from '@/features/library'; +import { KEYS } from '@/backend/configuration'; + import { ITargetCst } from '../models/rsform'; + import { rsformsApi } from './api'; export const useProduceStructure = () => { diff --git a/rsconcept/frontend/src/features/rsform/backend/useRSForms.tsx b/rsconcept/frontend/src/features/rsform/backend/useRSForms.tsx index eb77627d..e6ccb361 100644 --- a/rsconcept/frontend/src/features/rsform/backend/useRSForms.tsx +++ b/rsconcept/frontend/src/features/rsform/backend/useRSForms.tsx @@ -1,6 +1,7 @@ import { useSuspenseQueries } from '@tanstack/react-query'; import { DELAYS } from '../../../backend/configuration'; + import { rsformsApi } from './api'; import { RSFormLoader } from './RSFormLoader'; diff --git a/rsconcept/frontend/src/features/rsform/backend/useResetAliases.tsx b/rsconcept/frontend/src/features/rsform/backend/useResetAliases.tsx index bfac8ac0..aa5bb2a5 100644 --- a/rsconcept/frontend/src/features/rsform/backend/useResetAliases.tsx +++ b/rsconcept/frontend/src/features/rsform/backend/useResetAliases.tsx @@ -1,8 +1,9 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { KEYS } from '@/backend/configuration'; import { useUpdateTimestamp } from '@/features/library'; +import { KEYS } from '@/backend/configuration'; + import { rsformsApi } from './api'; export const useResetAliases = () => { diff --git a/rsconcept/frontend/src/features/rsform/backend/useUploadTRS.tsx b/rsconcept/frontend/src/features/rsform/backend/useUploadTRS.tsx index 49a68a93..7a8b88c6 100644 --- a/rsconcept/frontend/src/features/rsform/backend/useUploadTRS.tsx +++ b/rsconcept/frontend/src/features/rsform/backend/useUploadTRS.tsx @@ -1,8 +1,9 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { KEYS } from '@/backend/configuration'; import { ILibraryItem } from '@/features/library/models/library'; +import { KEYS } from '@/backend/configuration'; + import { rsformsApi } from './api'; import { IRSFormUploadDTO } from './types'; diff --git a/rsconcept/frontend/src/features/rsform/components/BadgeWordForm.tsx b/rsconcept/frontend/src/features/rsform/components/BadgeWordForm.tsx index 4ecaaa3c..cb3e9117 100644 --- a/rsconcept/frontend/src/features/rsform/components/BadgeWordForm.tsx +++ b/rsconcept/frontend/src/features/rsform/components/BadgeWordForm.tsx @@ -1,4 +1,5 @@ import { IWordForm } from '../models/language'; + import BadgeGrammeme from './BadgeGrammeme'; interface BadgeWordFormProps { diff --git a/rsconcept/frontend/src/features/rsform/components/PickConstituenta.tsx b/rsconcept/frontend/src/features/rsform/components/PickConstituenta.tsx index cae024c8..236ab569 100644 --- a/rsconcept/frontend/src/features/rsform/components/PickConstituenta.tsx +++ b/rsconcept/frontend/src/features/rsform/components/PickConstituenta.tsx @@ -1,7 +1,7 @@ 'use client'; -import clsx from 'clsx'; import { useState } from 'react'; +import clsx from 'clsx'; import DataTable, { createColumnHelper, IConditionalStyle } from '@/components/DataTable'; import { SearchBar } from '@/components/Input'; @@ -13,6 +13,7 @@ import { describeConstituenta } from '../labels'; import { IConstituenta } from '../models/rsform'; import { matchConstituenta } from '../models/rsformAPI'; import { CstMatchMode } from '../stores/cstSearch'; + import BadgeConstituenta from './BadgeConstituenta'; interface PickConstituentaProps extends CProps.Styling { diff --git a/rsconcept/frontend/src/features/rsform/components/PickMultiConstituenta.tsx b/rsconcept/frontend/src/features/rsform/components/PickMultiConstituenta.tsx index 191e5dbc..d1568c32 100644 --- a/rsconcept/frontend/src/features/rsform/components/PickMultiConstituenta.tsx +++ b/rsconcept/frontend/src/features/rsform/components/PickMultiConstituenta.tsx @@ -1,7 +1,7 @@ 'use client'; -import clsx from 'clsx'; import { useState } from 'react'; +import clsx from 'clsx'; import DataTable, { createColumnHelper, RowSelectionState } from '@/components/DataTable'; import { SearchBar } from '@/components/Input'; @@ -13,6 +13,7 @@ import { describeConstituenta } from '../labels'; import { IConstituenta, IRSForm } from '../models/rsform'; import { isBasicConcept, matchConstituenta } from '../models/rsformAPI'; import { CstMatchMode } from '../stores/cstSearch'; + import BadgeConstituenta from './BadgeConstituenta'; import ToolbarGraphSelection from './ToolbarGraphSelection'; diff --git a/rsconcept/frontend/src/features/rsform/components/PickSubstitutions.tsx b/rsconcept/frontend/src/features/rsform/components/PickSubstitutions.tsx index 9c0e6d7b..2a018da4 100644 --- a/rsconcept/frontend/src/features/rsform/components/PickSubstitutions.tsx +++ b/rsconcept/frontend/src/features/rsform/components/PickSubstitutions.tsx @@ -1,20 +1,22 @@ 'use client'; -import clsx from 'clsx'; import { useState } from 'react'; import { toast } from 'react-toastify'; +import clsx from 'clsx'; + +import { ILibraryItem, SelectLibraryItem } from '@/features/library'; import { MiniButton } from '@/components/Control'; import DataTable, { createColumnHelper, IConditionalStyle } from '@/components/DataTable'; import { IconAccept, IconPageLeft, IconPageRight, IconRemove, IconReplace } from '@/components/Icons'; import { CProps } from '@/components/props'; import { NoData } from '@/components/View'; -import { ILibraryItem, SelectLibraryItem } from '@/features/library'; import { APP_COLORS } from '@/styling/colors'; import { errorMsg } from '@/utils/labels'; import { ICstSubstitute } from '../backend/types'; import { IConstituenta, IRSForm } from '../models/rsform'; + import BadgeConstituenta from './BadgeConstituenta'; import SelectConstituenta from './SelectConstituenta'; diff --git a/rsconcept/frontend/src/features/rsform/components/RSInput/RSInput.tsx b/rsconcept/frontend/src/features/rsform/components/RSInput/RSInput.tsx index 28860716..2ef3ef89 100644 --- a/rsconcept/frontend/src/features/rsform/components/RSInput/RSInput.tsx +++ b/rsconcept/frontend/src/features/rsform/components/RSInput/RSInput.tsx @@ -1,12 +1,12 @@ 'use client'; +import { forwardRef, useRef } from 'react'; import { Extension } from '@codemirror/state'; import { tags } from '@lezer/highlight'; import { createTheme } from '@uiw/codemirror-themes'; import CodeMirror, { BasicSetupOptions, ReactCodeMirrorProps, ReactCodeMirrorRef } from '@uiw/react-codemirror'; import clsx from 'clsx'; import { EditorView } from 'codemirror'; -import { forwardRef, useRef } from 'react'; import { Label } from '@/components/Input'; import { usePreferencesStore } from '@/stores/preferences'; @@ -15,6 +15,7 @@ import { APP_COLORS } from '@/styling/colors'; import { IRSForm } from '../../models/rsform'; import { generateAlias, getCstTypePrefix, guessCstType } from '../../models/rsformAPI'; import { extractGlobals } from '../../models/rslangAPI'; + import { ccBracketMatching } from './bracketMatching'; import { rsNavigation } from './clickNavigation'; import { RSLanguage } from './rslang'; diff --git a/rsconcept/frontend/src/features/rsform/components/RSInput/clickNavigation.ts b/rsconcept/frontend/src/features/rsform/components/RSInput/clickNavigation.ts index a9890c04..b6ebb9cf 100644 --- a/rsconcept/frontend/src/features/rsform/components/RSInput/clickNavigation.ts +++ b/rsconcept/frontend/src/features/rsform/components/RSInput/clickNavigation.ts @@ -2,6 +2,7 @@ import { Extension } from '@codemirror/state'; import { EditorView } from '@uiw/react-codemirror'; import { IRSForm } from '../../models/rsform'; + import { findAliasAt } from './utils'; const navigationProducer = (schema: IRSForm, onOpenEdit: (cstID: number) => void) => { diff --git a/rsconcept/frontend/src/features/rsform/components/RSInput/tooltip.ts b/rsconcept/frontend/src/features/rsform/components/RSInput/tooltip.ts index e20fb858..a50ed917 100644 --- a/rsconcept/frontend/src/features/rsform/components/RSInput/tooltip.ts +++ b/rsconcept/frontend/src/features/rsform/components/RSInput/tooltip.ts @@ -5,6 +5,7 @@ import clsx from 'clsx'; import { labelCstTypification } from '../../labels'; import { IConstituenta, IRSForm } from '../../models/rsform'; import { isBasicConcept } from '../../models/rsformAPI'; + import { findAliasAt } from './utils'; const tooltipProducer = (schema: IRSForm, canClick?: boolean) => { diff --git a/rsconcept/frontend/src/features/rsform/components/RefsInput/RefsInput.tsx b/rsconcept/frontend/src/features/rsform/components/RefsInput/RefsInput.tsx index 30004d3c..50806ab3 100644 --- a/rsconcept/frontend/src/features/rsform/components/RefsInput/RefsInput.tsx +++ b/rsconcept/frontend/src/features/rsform/components/RefsInput/RefsInput.tsx @@ -1,12 +1,12 @@ 'use client'; +import { forwardRef, useRef, useState } from 'react'; import { Extension } from '@codemirror/state'; import { tags } from '@lezer/highlight'; import { createTheme } from '@uiw/codemirror-themes'; import CodeMirror, { BasicSetupOptions, ReactCodeMirrorProps, ReactCodeMirrorRef } from '@uiw/react-codemirror'; import clsx from 'clsx'; import { EditorView } from 'codemirror'; -import { forwardRef, useRef, useState } from 'react'; import { Label } from '@/components/Input'; import { DialogType, useDialogsStore } from '@/stores/dialogs'; @@ -16,9 +16,10 @@ import { CodeMirrorWrapper } from '@/utils/codemirror'; import { ReferenceType } from '../../models/language'; import { IRSForm } from '../../models/rsform'; + +import { RefEntity } from './parse/parser.terms'; import { refsNavigation } from './clickNavigation'; import { NaturalLanguage, ReferenceTokens } from './parse'; -import { RefEntity } from './parse/parser.terms'; import { refsHoverTooltip } from './tooltip'; const editorSetup: BasicSetupOptions = { diff --git a/rsconcept/frontend/src/features/rsform/components/RefsInput/clickNavigation.ts b/rsconcept/frontend/src/features/rsform/components/RefsInput/clickNavigation.ts index 96db452e..542d555b 100644 --- a/rsconcept/frontend/src/features/rsform/components/RefsInput/clickNavigation.ts +++ b/rsconcept/frontend/src/features/rsform/components/RefsInput/clickNavigation.ts @@ -2,6 +2,7 @@ import { Extension } from '@codemirror/state'; import { EditorView } from '@uiw/react-codemirror'; import { IRSForm } from '../../models/rsform'; + import { findReferenceAt } from './utils'; const navigationProducer = (schema: IRSForm, onOpenEdit: (cstID: number) => void) => { diff --git a/rsconcept/frontend/src/features/rsform/components/RefsInput/tooltip.ts b/rsconcept/frontend/src/features/rsform/components/RefsInput/tooltip.ts index ada46b38..80c41a1b 100644 --- a/rsconcept/frontend/src/features/rsform/components/RefsInput/tooltip.ts +++ b/rsconcept/frontend/src/features/rsform/components/RefsInput/tooltip.ts @@ -7,11 +7,11 @@ import { APP_COLORS } from '@/styling/colors'; import { findContainedNodes } from '@/utils/codemirror'; import { colorFgGrammeme } from '../../colors'; -import { labelGrammeme } from '../../labels'; -import { describeConstituentaTerm } from '../../labels'; +import { describeConstituentaTerm, labelGrammeme } from '../../labels'; import { IEntityReference, ISyntacticReference } from '../../models/language'; import { parseGrammemes } from '../../models/languageAPI'; import { IConstituenta, IRSForm } from '../../models/rsform'; + import { RefEntity } from './parse/parser.terms'; import { findReferenceAt } from './utils'; diff --git a/rsconcept/frontend/src/features/rsform/components/RefsInput/utils.ts b/rsconcept/frontend/src/features/rsform/components/RefsInput/utils.ts index d2907ff3..fb2fbea9 100644 --- a/rsconcept/frontend/src/features/rsform/components/RefsInput/utils.ts +++ b/rsconcept/frontend/src/features/rsform/components/RefsInput/utils.ts @@ -4,8 +4,9 @@ import { EditorState } from '@uiw/react-codemirror'; import { findEnvelopingNodes } from '@/utils/codemirror'; import { parseEntityReference, parseSyntacticReference } from '../../models/languageAPI'; -import { ReferenceTokens } from './parse'; + import { RefEntity } from './parse/parser.terms'; +import { ReferenceTokens } from './parse'; /** * Retrieves reference from position in Editor. diff --git a/rsconcept/frontend/src/features/rsform/components/SelectConstituenta.tsx b/rsconcept/frontend/src/features/rsform/components/SelectConstituenta.tsx index f5ecd521..7555d9dc 100644 --- a/rsconcept/frontend/src/features/rsform/components/SelectConstituenta.tsx +++ b/rsconcept/frontend/src/features/rsform/components/SelectConstituenta.tsx @@ -5,8 +5,7 @@ import clsx from 'clsx'; import { SelectSingle } from '@/components/Input'; import { CProps } from '@/components/props'; -import { describeConstituentaTerm } from '../labels'; -import { describeConstituenta } from '../labels'; +import { describeConstituenta, describeConstituentaTerm } from '../labels'; import { IConstituenta } from '../models/rsform'; import { matchConstituenta } from '../models/rsformAPI'; import { CstMatchMode } from '../stores/cstSearch'; diff --git a/rsconcept/frontend/src/features/rsform/components/ToolbarRSFormCard.tsx b/rsconcept/frontend/src/features/rsform/components/ToolbarRSFormCard.tsx index b2f0b933..2f71a9d8 100644 --- a/rsconcept/frontend/src/features/rsform/components/ToolbarRSFormCard.tsx +++ b/rsconcept/frontend/src/features/rsform/components/ToolbarRSFormCard.tsx @@ -1,8 +1,5 @@ 'use client'; -import { Overlay } from '@/components/Container'; -import { MiniButton } from '@/components/Control'; -import { IconDestroy, IconSave, IconShare } from '@/components/Icons'; import { BadgeHelp, HelpTopic } from '@/features/help'; import { AccessPolicy, @@ -12,6 +9,10 @@ import { useMutatingLibrary } from '@/features/library'; import { useRoleStore, UserRole } from '@/features/users'; + +import { Overlay } from '@/components/Container'; +import { MiniButton } from '@/components/Control'; +import { IconDestroy, IconSave, IconShare } from '@/components/Icons'; import { useModificationStore } from '@/stores/modification'; import { PARAMETER } from '@/utils/constants'; import { tooltipText } from '@/utils/labels'; diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgCreateCst/DlgCreateCst.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgCreateCst/DlgCreateCst.tsx index 3e6fc6ee..81a6b77c 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgCreateCst/DlgCreateCst.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgCreateCst/DlgCreateCst.tsx @@ -9,6 +9,7 @@ import { useDialogsStore } from '@/stores/dialogs'; import { ICstCreateDTO } from '../../backend/types'; import { CstType, IRSForm } from '../../models/rsform'; import { generateAlias } from '../../models/rsformAPI'; + import FormCreateCst from './FormCreateCst'; export interface DlgCreateCstProps { diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgCreateCst/FormCreateCst.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgCreateCst/FormCreateCst.tsx index 1a8a13b3..ccaa5f0a 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgCreateCst/FormCreateCst.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgCreateCst/FormCreateCst.tsx @@ -1,10 +1,11 @@ 'use client'; -import clsx from 'clsx'; import { useEffect, useState } from 'react'; +import clsx from 'clsx'; + +import { BadgeHelp, HelpTopic } from '@/features/help'; import { TextArea, TextInput } from '@/components/Input'; -import { BadgeHelp, HelpTopic } from '@/features/help'; import { PARAMETER } from '@/utils/constants'; import { ICstCreateDTO } from '../../backend/types'; diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgCstTemplate/DlgCstTemplate.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgCstTemplate/DlgCstTemplate.tsx index 170b18b9..cf90eb4e 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgCstTemplate/DlgCstTemplate.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgCstTemplate/DlgCstTemplate.tsx @@ -1,12 +1,13 @@ 'use client'; -import clsx from 'clsx'; import { Suspense, useEffect, useState } from 'react'; +import clsx from 'clsx'; + +import { HelpTopic } from '@/features/help'; import { Loader } from '@/components/Loader'; import { ModalForm } from '@/components/Modal'; import { TabLabel, TabList, TabPanel, Tabs } from '@/components/Tabs'; -import { HelpTopic } from '@/features/help'; import usePartialUpdate from '@/hooks/usePartialUpdate'; import { useDialogsStore } from '@/stores/dialogs'; import { promptText } from '@/utils/labels'; @@ -17,6 +18,7 @@ import { CstType, IRSForm } from '../../models/rsform'; import { generateAlias, validateNewAlias } from '../../models/rsformAPI'; import { inferTemplatedType, substituteTemplateArgs } from '../../models/rslangAPI'; import FormCreateCst from '../DlgCreateCst/FormCreateCst'; + import TabArguments, { IArgumentsState } from './TabArguments'; import TabTemplate, { ITemplateState } from './TabTemplate'; diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgCstTemplate/TabArguments.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgCstTemplate/TabArguments.tsx index 022ebd31..d13ea82d 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgCstTemplate/TabArguments.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgCstTemplate/TabArguments.tsx @@ -1,8 +1,8 @@ 'use client'; +import { useEffect, useState } from 'react'; import { createColumnHelper } from '@tanstack/react-table'; import clsx from 'clsx'; -import { useEffect, useState } from 'react'; import { MiniButton } from '@/components/Control'; import DataTable, { IConditionalStyle } from '@/components/DataTable'; diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgCstTemplate/TabTemplate.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgCstTemplate/TabTemplate.tsx index 6954e064..200ec927 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgCstTemplate/TabTemplate.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgCstTemplate/TabTemplate.tsx @@ -2,9 +2,10 @@ import { Dispatch, useEffect, useState } from 'react'; -import { SelectSingle, TextArea } from '@/components/Input'; import { useTemplatesSuspense } from '@/features/library'; +import { SelectSingle, TextArea } from '@/components/Input'; + import { PickConstituenta } from '../../components/PickConstituenta'; import RSInput from '../../components/RSInput'; import { CATEGORY_CST_TYPE, IConstituenta, IRSForm } from '../../models/rsform'; diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgDeleteCst/DlgDeleteCst.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgDeleteCst/DlgDeleteCst.tsx index f6ac484f..d132a7b8 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgDeleteCst/DlgDeleteCst.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgDeleteCst/DlgDeleteCst.tsx @@ -1,7 +1,7 @@ 'use client'; -import clsx from 'clsx'; import { useState } from 'react'; +import clsx from 'clsx'; import { Checkbox } from '@/components/Input'; import { ModalForm } from '@/components/Modal'; @@ -10,6 +10,7 @@ import { prefixes } from '@/utils/constants'; import { useCstDelete } from '../../backend/useCstDelete'; import { IRSForm } from '../../models/rsform'; + import ListConstituents from './ListConstituents'; export interface DlgDeleteCstProps { diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgEditReference/DlgEditReference.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgEditReference/DlgEditReference.tsx index 315b2943..81fe4d06 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgEditReference/DlgEditReference.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgEditReference/DlgEditReference.tsx @@ -1,16 +1,18 @@ 'use client'; -import clsx from 'clsx'; import { useState } from 'react'; +import clsx from 'clsx'; + +import { HelpTopic } from '@/features/help'; import { ModalForm } from '@/components/Modal'; import { TabLabel, TabList, TabPanel, Tabs } from '@/components/Tabs'; -import { HelpTopic } from '@/features/help'; import { useDialogsStore } from '@/stores/dialogs'; import { labelReferenceType } from '../../labels'; import { ReferenceType } from '../../models/language'; import { IRSForm } from '../../models/rsform'; + import TabEntityReference from './TabEntityReference'; import TabSyntacticReference from './TabSyntacticReference'; diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgEditReference/TabEntityReference.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgEditReference/TabEntityReference.tsx index ab8ed3ce..baadf5a4 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgEditReference/TabEntityReference.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgEditReference/TabEntityReference.tsx @@ -12,6 +12,7 @@ import { parseEntityReference, parseGrammemes, supportedGrammeOptions } from '.. import { IConstituenta, IRSForm } from '../../models/rsform'; import { matchConstituenta } from '../../models/rsformAPI'; import { CstMatchMode } from '../../stores/cstSearch'; + import { IReferenceInputState } from './DlgEditReference'; interface TabEntityReferenceProps { diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgEditReference/TabSyntacticReference.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgEditReference/TabSyntacticReference.tsx index 95a9bcd4..0bcb8c48 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgEditReference/TabSyntacticReference.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgEditReference/TabSyntacticReference.tsx @@ -6,6 +6,7 @@ import { TextInput } from '@/components/Input'; import { ReferenceType } from '../../models/language'; import { parseSyntacticReference } from '../../models/languageAPI'; + import { IReferenceInputState } from './DlgEditReference'; interface TabSyntacticReferenceProps { diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgEditWordForms/DlgEditWordForms.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgEditWordForms/DlgEditWordForms.tsx index 56654ee0..c8c82f52 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgEditWordForms/DlgEditWordForms.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgEditWordForms/DlgEditWordForms.tsx @@ -1,13 +1,14 @@ 'use client'; -import clsx from 'clsx'; import { useEffect, useState } from 'react'; +import clsx from 'clsx'; + +import { HelpTopic } from '@/features/help'; import { MiniButton } from '@/components/Control'; import { IconAccept, IconMoveDown, IconMoveLeft, IconMoveRight, IconRemove } from '@/components/Icons'; import { Label, TextArea } from '@/components/Input'; import { ModalForm } from '@/components/Modal'; -import { HelpTopic } from '@/features/help'; import { useDialogsStore } from '@/stores/dialogs'; import { promptText } from '@/utils/labels'; @@ -19,6 +20,7 @@ import SelectMultiGrammeme from '../../components/SelectMultiGrammeme'; import { Grammeme, IGrammemeOption, IWordForm, supportedGrammemes } from '../../models/language'; import { parseGrammemes, supportedGrammeOptions, wordFormEquals } from '../../models/languageAPI'; import { IConstituenta, TermForm } from '../../models/rsform'; + import TableWordForms from './TableWordForms'; export interface DlgEditWordFormsProps { diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgInlineSynthesis/DlgInlineSynthesis.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgInlineSynthesis/DlgInlineSynthesis.tsx index b0b5fb8c..8451e3b0 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgInlineSynthesis/DlgInlineSynthesis.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgInlineSynthesis/DlgInlineSynthesis.tsx @@ -1,9 +1,9 @@ 'use client'; -import { zodResolver } from '@hookform/resolvers/zod'; -import clsx from 'clsx'; import { Suspense, useState } from 'react'; import { FormProvider, useForm, useWatch } from 'react-hook-form'; +import { zodResolver } from '@hookform/resolvers/zod'; +import clsx from 'clsx'; import { Loader } from '@/components/Loader'; import { ModalForm } from '@/components/Modal'; @@ -13,6 +13,7 @@ import { useDialogsStore } from '@/stores/dialogs'; import { IInlineSynthesisDTO, schemaInlineSynthesis } from '../../backend/types'; import { useInlineSynthesis } from '../../backend/useInlineSynthesis'; import { IRSForm } from '../../models/rsform'; + import TabConstituents from './TabConstituents'; import TabSource from './TabSource'; import TabSubstitutions from './TabSubstitutions'; diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgInlineSynthesis/TabSource.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgInlineSynthesis/TabSource.tsx index a0af6a25..463c4a6c 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgInlineSynthesis/TabSource.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgInlineSynthesis/TabSource.tsx @@ -2,12 +2,14 @@ import { useFormContext, useWatch } from 'react-hook-form'; -import { TextInput } from '@/components/Input'; import { LibraryItemType, PickSchema, useLibrary } from '@/features/library'; + +import { TextInput } from '@/components/Input'; import { useDialogsStore } from '@/stores/dialogs'; import { IInlineSynthesisDTO } from '../../backend/types'; import { sortItemsForInlineSynthesis } from '../../models/rsformAPI'; + import { DlgInlineSynthesisProps } from './DlgInlineSynthesis'; function TabSource() { diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgInlineSynthesis/TabSubstitutions.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgInlineSynthesis/TabSubstitutions.tsx index 1dda0b53..2fbe315e 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgInlineSynthesis/TabSubstitutions.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgInlineSynthesis/TabSubstitutions.tsx @@ -7,6 +7,7 @@ import { useDialogsStore } from '@/stores/dialogs'; import { IInlineSynthesisDTO } from '../../backend/types'; import { useRSFormSuspense } from '../../backend/useRSForm'; import { PickSubstitutions } from '../../components/PickSubstitutions'; + import { DlgInlineSynthesisProps } from './DlgInlineSynthesis'; function TabSubstitutions() { diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgRenameCst.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgRenameCst.tsx index 4fabec1a..cff1d99c 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgRenameCst.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgRenameCst.tsx @@ -1,12 +1,13 @@ 'use client'; +import { useForm, useWatch } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import clsx from 'clsx'; -import { useForm, useWatch } from 'react-hook-form'; + +import { HelpTopic } from '@/features/help'; import { TextInput } from '@/components/Input'; import { ModalForm } from '@/components/Modal'; -import { HelpTopic } from '@/features/help'; import { useDialogsStore } from '@/stores/dialogs'; import { ICstRenameDTO, schemaCstRename } from '../backend/types'; diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgShowAST/ASTFlow.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgShowAST/ASTFlow.tsx index 0cf347c4..08e33a6b 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgShowAST/ASTFlow.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgShowAST/ASTFlow.tsx @@ -4,6 +4,7 @@ import { useEffect } from 'react'; import { Edge, MarkerType, Node, ReactFlow, useEdgesState, useNodesState } from 'reactflow'; import { SyntaxTree } from '../../models/rslang'; + import { ASTEdgeTypes } from './graph/ASTEdgeTypes'; import { applyLayout } from './graph/ASTLayout'; import { ASTNodeTypes } from './graph/ASTNodeTypes'; diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgShowAST/DlgShowAST.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgShowAST/DlgShowAST.tsx index ddc7b5c9..c24cd0c8 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgShowAST/DlgShowAST.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgShowAST/DlgShowAST.tsx @@ -3,12 +3,14 @@ import { useState } from 'react'; import { ReactFlowProvider } from 'reactflow'; +import { HelpTopic } from '@/features/help'; + import { Overlay } from '@/components/Container'; import { ModalView } from '@/components/Modal'; -import { HelpTopic } from '@/features/help'; import { useDialogsStore } from '@/stores/dialogs'; import { SyntaxTree } from '../../models/rslang'; + import ASTFlow from './ASTFlow'; export interface DlgShowASTProps { diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgShowAST/graph/ASTLayout.ts b/rsconcept/frontend/src/features/rsform/dialogs/DlgShowAST/graph/ASTLayout.ts index d2fc57b0..ca68f230 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgShowAST/graph/ASTLayout.ts +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgShowAST/graph/ASTLayout.ts @@ -1,5 +1,5 @@ -import dagre from '@dagrejs/dagre'; import { Edge, Node } from 'reactflow'; +import dagre from '@dagrejs/dagre'; import { PARAMETER } from '@/utils/constants'; diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgShowTypeGraph/DlgShowTypeGraph.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgShowTypeGraph/DlgShowTypeGraph.tsx index ccf83ff5..fe46a4b7 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgShowTypeGraph/DlgShowTypeGraph.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgShowTypeGraph/DlgShowTypeGraph.tsx @@ -3,13 +3,15 @@ import { toast } from 'react-toastify'; import { ReactFlowProvider } from 'reactflow'; -import { ModalView } from '@/components/Modal'; import { HelpTopic } from '@/features/help'; + +import { ModalView } from '@/components/Modal'; import { useDialogsStore } from '@/stores/dialogs'; import { errorMsg } from '@/utils/labels'; import { ITypeInfo } from '../../models/rslang'; import { TMGraph } from '../../models/TMGraph'; + import MGraphFlow from './MGraphFlow'; export interface DlgShowTypeGraphProps { diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgShowTypeGraph/MGraphFlow.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgShowTypeGraph/MGraphFlow.tsx index 3a78d7e9..4da9856b 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgShowTypeGraph/MGraphFlow.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgShowTypeGraph/MGraphFlow.tsx @@ -4,6 +4,7 @@ import { useEffect } from 'react'; import { Edge, ReactFlow, useEdgesState, useNodesState } from 'reactflow'; import { TMGraph } from '../../models/TMGraph'; + import { TMGraphEdgeTypes } from './graph/MGraphEdgeTypes'; import { applyLayout } from './graph/MGraphLayout'; import { TMGraphNodeTypes } from './graph/MGraphNodeTypes'; diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgShowTypeGraph/graph/MGraphLayout.ts b/rsconcept/frontend/src/features/rsform/dialogs/DlgShowTypeGraph/graph/MGraphLayout.ts index 636d1ab0..b7f16566 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgShowTypeGraph/graph/MGraphLayout.ts +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgShowTypeGraph/graph/MGraphLayout.ts @@ -1,5 +1,5 @@ -import dagre from '@dagrejs/dagre'; import { Edge, Node } from 'reactflow'; +import dagre from '@dagrejs/dagre'; import { TMGraphNode } from '../../../models/TMGraph'; diff --git a/rsconcept/frontend/src/features/rsform/dialogs/DlgSubstituteCst.tsx b/rsconcept/frontend/src/features/rsform/dialogs/DlgSubstituteCst.tsx index 7f9f5936..78a43edf 100644 --- a/rsconcept/frontend/src/features/rsform/dialogs/DlgSubstituteCst.tsx +++ b/rsconcept/frontend/src/features/rsform/dialogs/DlgSubstituteCst.tsx @@ -1,12 +1,13 @@ 'use client'; +import { Controller, useForm } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import clsx from 'clsx'; -import { Controller, useForm } from 'react-hook-form'; + +import { HelpTopic } from '@/features/help'; import { ErrorField } from '@/components/Input'; import { ModalForm } from '@/components/Modal'; -import { HelpTopic } from '@/features/help'; import { useDialogsStore } from '@/stores/dialogs'; import { ICstSubstitutionsDTO, schemaCstSubstitutions } from '../backend/types'; diff --git a/rsconcept/frontend/src/features/rsform/models/languageAPI.ts b/rsconcept/frontend/src/features/rsform/models/languageAPI.ts index 2ec9de7b..c78667b4 100644 --- a/rsconcept/frontend/src/features/rsform/models/languageAPI.ts +++ b/rsconcept/frontend/src/features/rsform/models/languageAPI.ts @@ -3,6 +3,7 @@ */ import { labelGrammeme } from '../labels'; + import { GramData, Grammeme, diff --git a/rsconcept/frontend/src/features/rsform/models/rsform.ts b/rsconcept/frontend/src/features/rsform/models/rsform.ts index e50ba10b..f16b562f 100644 --- a/rsconcept/frontend/src/features/rsform/models/rsform.ts +++ b/rsconcept/frontend/src/features/rsform/models/rsform.ts @@ -3,6 +3,7 @@ */ import { ILibraryItemReference, ILibraryItemVersioned } from '@/features/library/models/library'; + import { Graph } from '@/models/Graph'; import { IArgumentInfo, ParsingStatus, ValueClass } from './rslang'; diff --git a/rsconcept/frontend/src/features/rsform/models/rsformAPI.ts b/rsconcept/frontend/src/features/rsform/models/rsformAPI.ts index f674423f..e2e114ee 100644 --- a/rsconcept/frontend/src/features/rsform/models/rsformAPI.ts +++ b/rsconcept/frontend/src/features/rsform/models/rsformAPI.ts @@ -3,9 +3,11 @@ */ import { BASIC_SCHEMAS, ILibraryItem } from '@/features/library/models/library'; + import { TextMatcher } from '@/utils/utils'; import { CstMatchMode } from '../stores/cstSearch'; + import { CATEGORY_CST_TYPE, CstClass, CstType, ExpressionStatus, IConstituenta, IRSForm } from './rsform'; import { ParsingStatus, ValueClass } from './rslang'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorConstituenta/EditorConstituenta.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorConstituenta/EditorConstituenta.tsx index 087a8fef..bfba5b63 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorConstituenta/EditorConstituenta.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorConstituenta/EditorConstituenta.tsx @@ -1,7 +1,7 @@ 'use client'; -import clsx from 'clsx'; import { useState } from 'react'; +import clsx from 'clsx'; import useWindowSize from '@/hooks/useWindowSize'; import { useMainHeight } from '@/stores/appLayout'; @@ -15,6 +15,7 @@ import { useCstUpdate } from '../../../backend/useCstUpdate'; import { useMutatingRSForm } from '../../../backend/useMutatingRSForm'; import { useRSEdit } from '../RSEditContext'; import ViewConstituents from '../ViewConstituents'; + import EditorControls from './EditorControls'; import FormConstituenta from './FormConstituenta'; import ToolbarConstituenta from './ToolbarConstituenta'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorConstituenta/FormConstituenta.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorConstituenta/FormConstituenta.tsx index 056c2528..52c749f2 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorConstituenta/FormConstituenta.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorConstituenta/FormConstituenta.tsx @@ -1,10 +1,10 @@ 'use no memo'; // TODO: remove when react hook forms are compliant with react compiler 'use client'; -import { zodResolver } from '@hookform/resolvers/zod'; import { useEffect, useLayoutEffect, useMemo, useState } from 'react'; import { Controller, useForm } from 'react-hook-form'; import { toast } from 'react-toastify'; +import { zodResolver } from '@hookform/resolvers/zod'; import { Overlay } from '@/components/Container'; import { SubmitButton } from '@/components/Control'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorConstituenta/ToolbarConstituenta.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorConstituenta/ToolbarConstituenta.tsx index 69c62d9b..ecad06e3 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorConstituenta/ToolbarConstituenta.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorConstituenta/ToolbarConstituenta.tsx @@ -3,6 +3,10 @@ import clsx from 'clsx'; import { urls, useConceptNavigation } from '@/app'; +import { BadgeHelp, HelpTopic } from '@/features/help'; +import { MiniSelectorOSS } from '@/features/library'; +import { useFindPredecessor } from '@/features/oss'; + import { Overlay } from '@/components/Container'; import { MiniButton } from '@/components/Control'; import { @@ -17,9 +21,6 @@ import { IconReset, IconSave } from '@/components/Icons'; -import { BadgeHelp, HelpTopic } from '@/features/help'; -import { MiniSelectorOSS } from '@/features/library'; -import { useFindPredecessor } from '@/features/oss'; import { useModificationStore } from '@/stores/modification'; import { usePreferencesStore } from '@/stores/preferences'; import { PARAMETER } from '@/utils/constants'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSExpression/EditorRSExpression.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSExpression/EditorRSExpression.tsx index 1f574395..a6f7423a 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSExpression/EditorRSExpression.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSExpression/EditorRSExpression.tsx @@ -1,13 +1,14 @@ 'use client'; -import { ReactCodeMirrorRef } from '@uiw/react-codemirror'; import { useEffect, useRef, useState } from 'react'; import { toast } from 'react-toastify'; +import { ReactCodeMirrorRef } from '@uiw/react-codemirror'; + +import { BadgeHelp, HelpTopic } from '@/features/help'; import { DataCallback } from '@/backend/apiTransport'; import { Overlay } from '@/components/Container'; import { CProps } from '@/components/props'; -import { BadgeHelp, HelpTopic } from '@/features/help'; import { useDialogsStore } from '@/stores/dialogs'; import { usePreferencesStore } from '@/stores/preferences'; import { errorMsg } from '@/utils/labels'; @@ -23,6 +24,7 @@ import { getDefinitionPrefix } from '../../../models/rsformAPI'; import { IExpressionParse, IRSErrorDescription, TokenID } from '../../../models/rslang'; import { transformAST } from '../../../models/rslangAPI'; import { useRSEdit } from '../RSEditContext'; + import ParsingResult from './ParsingResult'; import RSEditorControls from './RSEditControls'; import StatusBar from './StatusBar'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSExpression/RSEditControls.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSExpression/RSEditControls.tsx index 15fde83b..e7c30584 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSExpression/RSEditControls.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSExpression/RSEditControls.tsx @@ -3,6 +3,7 @@ import clsx from 'clsx'; import { PARAMETER, prefixes } from '@/utils/constants'; import { TokenID } from '../../../models/rslang'; + import RSLocalButton from './RSLocalButton'; import RSTokenButton from './RSTokenButton'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSFormCard/EditorRSFormCard.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSFormCard/EditorRSFormCard.tsx index 223cd6ce..1ed84b2e 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSFormCard/EditorRSFormCard.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSFormCard/EditorRSFormCard.tsx @@ -2,13 +2,15 @@ import clsx from 'clsx'; -import { FlexColumn } from '@/components/Container'; import { EditorLibraryItem } from '@/features/library'; + +import { FlexColumn } from '@/components/Container'; import { useModificationStore } from '@/stores/modification'; import { globals } from '@/utils/constants'; import { ToolbarRSFormCard } from '../../../components/ToolbarRSFormCard'; import { useRSEdit } from '../RSEditContext'; + import FormRSForm from './FormRSForm'; import RSFormStats from './RSFormStats'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSFormCard/FormRSForm.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSFormCard/FormRSForm.tsx index c8b1cf9b..8cf49c71 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSFormCard/FormRSForm.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSFormCard/FormRSForm.tsx @@ -1,22 +1,24 @@ 'use no memo'; // TODO: remove when react hook forms are compliant with react compiler 'use client'; -import { zodResolver } from '@hookform/resolvers/zod'; -import clsx from 'clsx'; import { useEffect } from 'react'; import { useForm, useWatch } from 'react-hook-form'; +import { zodResolver } from '@hookform/resolvers/zod'; +import clsx from 'clsx'; import { urls, useConceptNavigation } from '@/app'; +import { LibraryItemType, SelectVersion, ToolbarItemAccess, useUpdateItem } from '@/features/library'; +import { IUpdateLibraryItemDTO, schemaUpdateLibraryItem } from '@/features/library/backend/types'; + import { SubmitButton } from '@/components/Control'; import { IconSave } from '@/components/Icons'; import { Label, TextArea, TextInput } from '@/components/Input'; -import { LibraryItemType, SelectVersion, ToolbarItemAccess, useUpdateItem } from '@/features/library'; -import { IUpdateLibraryItemDTO, schemaUpdateLibraryItem } from '@/features/library/backend/types'; import { useModificationStore } from '@/stores/modification'; import { globals } from '@/utils/constants'; import { useMutatingRSForm } from '../../../backend/useMutatingRSForm'; import { useRSEdit } from '../RSEditContext'; + import ToolbarVersioning from './ToolbarVersioning'; function FormRSForm() { diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSFormCard/ToolbarVersioning.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSFormCard/ToolbarVersioning.tsx index dd9779c7..821ad78a 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSFormCard/ToolbarVersioning.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSFormCard/ToolbarVersioning.tsx @@ -1,10 +1,11 @@ 'use client'; +import { BadgeHelp, HelpTopic } from '@/features/help'; +import { useVersionRestore } from '@/features/library'; + import { Overlay } from '@/components/Container'; import { MiniButton } from '@/components/Control'; import { IconNewVersion, IconUpload, IconVersions } from '@/components/Icons'; -import { BadgeHelp, HelpTopic } from '@/features/help'; -import { useVersionRestore } from '@/features/library'; import { useDialogsStore } from '@/stores/dialogs'; import { useModificationStore } from '@/stores/modification'; import { PARAMETER } from '@/utils/constants'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSList/EditorRSList.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSList/EditorRSList.tsx index b33c9ef8..b8485b4c 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSList/EditorRSList.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSList/EditorRSList.tsx @@ -1,8 +1,8 @@ 'use client'; -import fileDownload from 'js-file-download'; import { useState } from 'react'; import { toast } from 'react-toastify'; +import fileDownload from 'js-file-download'; import { Overlay } from '@/components/Container'; import { MiniButton } from '@/components/Control'; @@ -18,6 +18,7 @@ import { CstType } from '../../../models/rsform'; import { matchConstituenta } from '../../../models/rsformAPI'; import { CstMatchMode } from '../../../stores/cstSearch'; import { useRSEdit } from '../RSEditContext'; + import TableRSList from './TableRSList'; import ToolbarRSList from './ToolbarRSList'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSList/TableRSList.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSList/TableRSList.tsx index 2c3ad888..b3970758 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSList/TableRSList.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSList/TableRSList.tsx @@ -1,7 +1,7 @@ 'use client'; -import clsx from 'clsx'; import { useLayoutEffect, useState } from 'react'; +import clsx from 'clsx'; import { TextURL } from '@/components/Control'; import DataTable, { createColumnHelper, RowSelectionState, VisibilityState } from '@/components/DataTable'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSList/ToolbarRSList.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSList/ToolbarRSList.tsx index 553c24dc..8fea37ff 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSList/ToolbarRSList.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorRSList/ToolbarRSList.tsx @@ -1,3 +1,6 @@ +import { BadgeHelp, HelpTopic } from '@/features/help'; +import { MiniSelectorOSS } from '@/features/library'; + import { Overlay } from '@/components/Container'; import { MiniButton } from '@/components/Control'; import { CstTypeIcon } from '@/components/DomainIcons'; @@ -11,8 +14,6 @@ import { IconOpenList, IconReset } from '@/components/Icons'; -import { BadgeHelp, HelpTopic } from '@/features/help'; -import { MiniSelectorOSS } from '@/features/library'; import { prefixes } from '@/utils/constants'; import { prepareTooltip } from '@/utils/utils'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/GraphSelectors.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/GraphSelectors.tsx index c8da56a0..e0bc136e 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/GraphSelectors.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/GraphSelectors.tsx @@ -1,10 +1,12 @@ +import { BadgeHelp, HelpTopic } from '@/features/help'; + import { Overlay } from '@/components/Container'; import { SelectSingle } from '@/components/Input'; -import { BadgeHelp, HelpTopic } from '@/features/help'; import { mapLabelColoring } from '../../../labels'; import { IRSForm } from '../../../models/rsform'; import { GraphColoring } from '../../../stores/termGraph'; + import SchemasGuide from './SchemasGuide'; /** diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/SchemasGuide.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/SchemasGuide.tsx index a8301090..f6c41513 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/SchemasGuide.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/SchemasGuide.tsx @@ -1,6 +1,7 @@ +import { useLibrary } from '@/features/library'; + import { Tooltip } from '@/components/Container'; import { IconHelp } from '@/components/Icons'; -import { useLibrary } from '@/features/library'; import { globals, prefixes } from '@/utils/constants'; import { colorBgSchemas } from '../../../colors'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/TGFlow.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/TGFlow.tsx index 9c7db162..7dcbd8a4 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/TGFlow.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/TGFlow.tsx @@ -1,7 +1,5 @@ 'use client'; -import clsx from 'clsx'; -import { toPng } from 'html-to-image'; import { useCallback, useEffect, useState } from 'react'; import { toast } from 'react-toastify'; import { @@ -14,9 +12,11 @@ import { useEdgesState, useNodesState, useOnSelectionChange, - useReactFlow + useReactFlow, + useStoreApi } from 'reactflow'; -import { useStoreApi } from 'reactflow'; +import clsx from 'clsx'; +import { toPng } from 'html-to-image'; import { useDebounce } from 'use-debounce'; import { Overlay } from '@/components/Container'; @@ -35,6 +35,7 @@ import { CstType, IConstituenta, IRSForm } from '../../../models/rsform'; import { isBasicConcept } from '../../../models/rsformAPI'; import { GraphFilterParams, useTermGraphStore } from '../../../stores/termGraph'; import { useRSEdit } from '../RSEditContext'; + import { TGEdgeTypes } from './graph/TGEdgeTypes'; import { applyLayout } from './graph/TGLayout'; import { TGNodeData } from './graph/TGNode'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/ToolbarTermGraph.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/ToolbarTermGraph.tsx index 4974b2d9..ccf5df61 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/ToolbarTermGraph.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/ToolbarTermGraph.tsx @@ -1,5 +1,8 @@ import clsx from 'clsx'; +import { BadgeHelp, HelpTopic } from '@/features/help'; +import { MiniSelectorOSS } from '@/features/library'; + import { MiniButton } from '@/components/Control'; import { IconClustering, @@ -13,8 +16,6 @@ import { IconTextOff, IconTypeGraph } from '@/components/Icons'; -import { BadgeHelp, HelpTopic } from '@/features/help'; -import { MiniSelectorOSS } from '@/features/library'; import { useDialogsStore } from '@/stores/dialogs'; import { PARAMETER } from '@/utils/constants'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/graph/TGLayout.ts b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/graph/TGLayout.ts index 44f50999..4b577efb 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/graph/TGLayout.ts +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/EditorTermGraph/graph/TGLayout.ts @@ -1,5 +1,5 @@ -import dagre from '@dagrejs/dagre'; import { Edge, Node } from 'reactflow'; +import dagre from '@dagrejs/dagre'; import { PARAMETER } from '@/utils/constants'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/MenuRSTabs.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/MenuRSTabs.tsx index 147d1b4a..ae6fab35 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/MenuRSTabs.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/MenuRSTabs.tsx @@ -3,6 +3,10 @@ import fileDownload from 'js-file-download'; import { urls, useConceptNavigation } from '@/app'; +import { useAuthSuspense } from '@/features/auth'; +import { AccessPolicy, LocationHead } from '@/features/library/models/library'; +import { useRoleStore, UserRole } from '@/features/users'; + import { Divider } from '@/components/Container'; import { Button } from '@/components/Control'; import { Dropdown, DropdownButton, useDropdown } from '@/components/Dropdown'; @@ -31,9 +35,6 @@ import { IconTemplates, IconUpload } from '@/components/Icons'; -import { useAuthSuspense } from '@/features/auth'; -import { AccessPolicy, LocationHead } from '@/features/library/models/library'; -import { useRoleStore, UserRole } from '@/features/users'; import { useDialogsStore } from '@/stores/dialogs'; import { useModificationStore } from '@/stores/modification'; import { EXTEOR_TRS_FILE } from '@/utils/constants'; @@ -46,6 +47,7 @@ import { useProduceStructure } from '../../backend/useProduceStructure'; import { useResetAliases } from '../../backend/useResetAliases'; import { useRestoreOrder } from '../../backend/useRestoreOrder'; import { CstType } from '../../models/rsform'; + import { useRSEdit } from './RSEditContext'; function MenuRSTabs() { diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/RSEditContext.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/RSEditContext.tsx index 0d5b5ab1..4ffa9f47 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/RSEditContext.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/RSEditContext.tsx @@ -6,6 +6,7 @@ import { urls, useConceptNavigation } from '@/app'; import { useAuthSuspense } from '@/features/auth'; import { ILibraryItemEditor, useDeleteItem, useLibrarySearchStore } from '@/features/library'; import { useRoleStore, UserRole } from '@/features/users'; + import { useDialogsStore } from '@/stores/dialogs'; import { useModificationStore } from '@/stores/modification'; import { usePreferencesStore } from '@/stores/preferences'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/RSFormPage.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/RSFormPage.tsx index 93d24610..9c6f1538 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/RSFormPage.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/RSFormPage.tsx @@ -6,6 +6,7 @@ import { useParams } from 'react-router'; import { z } from 'zod'; import { urls, useBlockNavigation, useConceptNavigation } from '@/app'; + import { isAxiosError } from '@/backend/apiTransport'; import { Divider } from '@/components/Container'; import { TextURL } from '@/components/Control'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/RSTabs.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/RSTabs.tsx index 7ea3eabe..510dec29 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/RSTabs.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/RSTabs.tsx @@ -1,15 +1,17 @@ 'use client'; -import clsx from 'clsx'; import { useEffect } from 'react'; +import clsx from 'clsx'; import { useConceptNavigation } from '@/app/Navigation/NavigationContext'; + import { Overlay } from '@/components/Container'; import { TabLabel, TabList, TabPanel, Tabs } from '@/components/Tabs'; import { useAppLayoutStore } from '@/stores/appLayout'; import { useModificationStore } from '@/stores/modification'; import { labelVersion } from '../../labels'; + import EditorConstituenta from './EditorConstituenta'; import EditorRSForm from './EditorRSFormCard'; import EditorRSList from './EditorRSList'; diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/ViewConstituents/ConstituentsSearch.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/ViewConstituents/ConstituentsSearch.tsx index f907cdfb..36136e3a 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/ViewConstituents/ConstituentsSearch.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/ViewConstituents/ConstituentsSearch.tsx @@ -10,6 +10,7 @@ import { IConstituenta, IRSForm } from '../../../models/rsform'; import { matchConstituenta } from '../../../models/rsformAPI'; import SelectMatchMode from '../../../pages/RSFormPage/ViewConstituents/SelectMatchMode'; import { DependencyMode, useCstSearchStore } from '../../../stores/cstSearch'; + import SelectGraphFilter from './SelectGraphFilter'; interface ConstituentsSearchProps { diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/ViewConstituents/ViewConstituents.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/ViewConstituents/ViewConstituents.tsx index 5497b0bf..9b1da02d 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/ViewConstituents/ViewConstituents.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/ViewConstituents/ViewConstituents.tsx @@ -1,15 +1,17 @@ 'use client'; -import clsx from 'clsx'; import { useState } from 'react'; +import clsx from 'clsx'; import { useRoleStore, UserRole } from '@/features/users'; + import useWindowSize from '@/hooks/useWindowSize'; import { useFitHeight } from '@/stores/appLayout'; import { PARAMETER } from '@/utils/constants'; import { IConstituenta } from '../../../models/rsform'; import { useRSEdit } from '../RSEditContext'; + import ConstituentsSearch from './ConstituentsSearch'; import TableSideConstituents from './TableSideConstituents'; diff --git a/rsconcept/frontend/src/features/users/backend/api.ts b/rsconcept/frontend/src/features/users/backend/api.ts index e56f616a..cbc7f009 100644 --- a/rsconcept/frontend/src/features/users/backend/api.ts +++ b/rsconcept/frontend/src/features/users/backend/api.ts @@ -5,6 +5,7 @@ import { DELAYS, KEYS } from '@/backend/configuration'; import { infoMsg } from '@/utils/labels'; import { IUserInfo, IUserProfile } from '../models/user'; + import { IUpdateProfileDTO, IUserSignupDTO } from './types'; export const usersApi = { diff --git a/rsconcept/frontend/src/features/users/pages/RegisterPage/FormSignup.tsx b/rsconcept/frontend/src/features/users/pages/RegisterPage/FormSignup.tsx index 46afa71f..8aaeabb9 100644 --- a/rsconcept/frontend/src/features/users/pages/RegisterPage/FormSignup.tsx +++ b/rsconcept/frontend/src/features/users/pages/RegisterPage/FormSignup.tsx @@ -1,11 +1,13 @@ 'use client'; -import { zodResolver } from '@hookform/resolvers/zod'; -import clsx from 'clsx'; import { useState } from 'react'; import { useForm } from 'react-hook-form'; +import { zodResolver } from '@hookform/resolvers/zod'; +import clsx from 'clsx'; import { urls, useBlockNavigation, useConceptNavigation } from '@/app'; +import { HelpTopic } from '@/features/help'; + import { isAxiosError } from '@/backend/apiTransport'; import { FlexColumn, Overlay, Tooltip } from '@/components/Container'; import { Button, SubmitButton, TextURL } from '@/components/Control'; @@ -13,7 +15,6 @@ import { IconHelp } from '@/components/Icons'; import { ErrorData } from '@/components/InfoError'; import { Checkbox, TextInput } from '@/components/Input'; import { PrettyJson } from '@/components/View'; -import { HelpTopic } from '@/features/help'; import { globals, patterns } from '@/utils/constants'; import { IUserSignupDTO, schemaUserSignup } from '../../backend/types'; diff --git a/rsconcept/frontend/src/features/users/pages/UserProfilePage/EditorPassword.tsx b/rsconcept/frontend/src/features/users/pages/UserProfilePage/EditorPassword.tsx index 27427ae1..788492e7 100644 --- a/rsconcept/frontend/src/features/users/pages/UserProfilePage/EditorPassword.tsx +++ b/rsconcept/frontend/src/features/users/pages/UserProfilePage/EditorPassword.tsx @@ -1,17 +1,18 @@ 'use client'; +import { useForm } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import clsx from 'clsx'; -import { useForm } from 'react-hook-form'; import { urls, useConceptNavigation } from '@/app'; +import { useChangePassword } from '@/features/auth'; +import { IChangePasswordDTO, schemaChangePassword } from '@/features/auth/backend/types'; + import { isAxiosError } from '@/backend/apiTransport'; import { FlexColumn } from '@/components/Container'; import { SubmitButton } from '@/components/Control'; import { ErrorData } from '@/components/InfoError'; import { TextInput } from '@/components/Input'; -import { useChangePassword } from '@/features/auth'; -import { IChangePasswordDTO, schemaChangePassword } from '@/features/auth/backend/types'; function EditorPassword() { const router = useConceptNavigation(); diff --git a/rsconcept/frontend/src/features/users/pages/UserProfilePage/EditorProfile.tsx b/rsconcept/frontend/src/features/users/pages/UserProfilePage/EditorProfile.tsx index 40903517..eb0f2cec 100644 --- a/rsconcept/frontend/src/features/users/pages/UserProfilePage/EditorProfile.tsx +++ b/rsconcept/frontend/src/features/users/pages/UserProfilePage/EditorProfile.tsx @@ -1,9 +1,10 @@ 'use client'; -import { zodResolver } from '@hookform/resolvers/zod'; import { useForm } from 'react-hook-form'; +import { zodResolver } from '@hookform/resolvers/zod'; import { useBlockNavigation } from '@/app'; + import { isAxiosError } from '@/backend/apiTransport'; import { SubmitButton } from '@/components/Control'; import { ErrorData } from '@/components/InfoError'; diff --git a/rsconcept/frontend/src/main.tsx b/rsconcept/frontend/src/main.tsx index 90bb9b99..0676c3cd 100644 --- a/rsconcept/frontend/src/main.tsx +++ b/rsconcept/frontend/src/main.tsx @@ -1,9 +1,9 @@ -import './index.css'; - import { createRoot } from 'react-dom/client'; -import App from './app'; import GlobalProviders from './app/GlobalProviders'; +import App from './app'; + +import './index.css'; createRoot(document.getElementById('root')!).render( diff --git a/rsconcept/frontend/src/utils/utils.ts b/rsconcept/frontend/src/utils/utils.ts index a3017abb..fb26491e 100644 --- a/rsconcept/frontend/src/utils/utils.ts +++ b/rsconcept/frontend/src/utils/utils.ts @@ -2,8 +2,8 @@ * Module: Utility functions. */ -import { AxiosError, AxiosHeaderValue, AxiosResponse, isAxiosError } from 'axios'; import { toast } from 'react-toastify'; +import { AxiosError, AxiosHeaderValue, AxiosResponse, isAxiosError } from 'axios'; import { infoMsg, promptText } from './labels'; diff --git a/rsconcept/frontend/vite.config.ts b/rsconcept/frontend/vite.config.ts index 50237d61..5adb4dbb 100644 --- a/rsconcept/frontend/vite.config.ts +++ b/rsconcept/frontend/vite.config.ts @@ -1,5 +1,6 @@ -import react from '@vitejs/plugin-react'; import path from 'path'; + +import react from '@vitejs/plugin-react'; import { defineConfig, loadEnv, PluginOption } from 'vite'; import { dependencies } from './package.json';