R: Improve import sorting
This commit is contained in:
parent
6bb02c6462
commit
3c92e07d0f
|
@ -63,6 +63,7 @@ This readme file is used mostly to document project dependencies and conventions
|
||||||
- tailwindcss
|
- tailwindcss
|
||||||
- postcss
|
- postcss
|
||||||
- autoprefixer
|
- autoprefixer
|
||||||
|
- eslint-plugin-import
|
||||||
- eslint-plugin-react-compiler
|
- eslint-plugin-react-compiler
|
||||||
- eslint-plugin-simple-import-sort
|
- eslint-plugin-simple-import-sort
|
||||||
- eslint-plugin-react-hooks
|
- eslint-plugin-react-hooks
|
||||||
|
|
|
@ -4,7 +4,7 @@ import typescriptParser from '@typescript-eslint/parser';
|
||||||
import reactPlugin from 'eslint-plugin-react';
|
import reactPlugin from 'eslint-plugin-react';
|
||||||
import reactCompilerPlugin from 'eslint-plugin-react-compiler';
|
import reactCompilerPlugin from 'eslint-plugin-react-compiler';
|
||||||
import reactHooksPlugin from 'eslint-plugin-react-hooks';
|
import reactHooksPlugin from 'eslint-plugin-react-hooks';
|
||||||
|
import importPlugin from 'eslint-plugin-import';
|
||||||
import simpleImportSort from 'eslint-plugin-simple-import-sort';
|
import simpleImportSort from 'eslint-plugin-simple-import-sort';
|
||||||
|
|
||||||
export default [
|
export default [
|
||||||
|
@ -37,7 +37,8 @@ export default [
|
||||||
'react': reactPlugin,
|
'react': reactPlugin,
|
||||||
'react-compiler': reactCompilerPlugin,
|
'react-compiler': reactCompilerPlugin,
|
||||||
'react-hooks': reactHooksPlugin,
|
'react-hooks': reactHooksPlugin,
|
||||||
'simple-import-sort': simpleImportSort
|
'simple-import-sort': simpleImportSort,
|
||||||
|
'import': importPlugin
|
||||||
},
|
},
|
||||||
settings: { react: { version: 'detect' } },
|
settings: { react: { version: 'detect' } },
|
||||||
rules: {
|
rules: {
|
||||||
|
@ -57,8 +58,33 @@ export default [
|
||||||
|
|
||||||
'react-refresh/only-export-components': ['off', { allowConstantExport: true }],
|
'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',
|
'simple-import-sort/exports': 'error',
|
||||||
|
'import/no-duplicates': 'warn',
|
||||||
|
|
||||||
...reactHooksPlugin.configs.recommended.rules
|
...reactHooksPlugin.configs.recommended.rules
|
||||||
}
|
}
|
||||||
|
|
246
rsconcept/frontend/package-lock.json
generated
246
rsconcept/frontend/package-lock.json
generated
|
@ -51,6 +51,7 @@
|
||||||
"autoprefixer": "^10.4.20",
|
"autoprefixer": "^10.4.20",
|
||||||
"babel-plugin-react-compiler": "^19.0.0-beta-37ed2a7-20241206",
|
"babel-plugin-react-compiler": "^19.0.0-beta-37ed2a7-20241206",
|
||||||
"eslint": "^9.19.0",
|
"eslint": "^9.19.0",
|
||||||
|
"eslint-plugin-import": "^2.31.0",
|
||||||
"eslint-plugin-react": "^7.37.4",
|
"eslint-plugin-react": "^7.37.4",
|
||||||
"eslint-plugin-react-compiler": "^19.0.0-beta-37ed2a7-20241206",
|
"eslint-plugin-react-compiler": "^19.0.0-beta-37ed2a7-20241206",
|
||||||
"eslint-plugin-react-hooks": "^5.1.0",
|
"eslint-plugin-react-hooks": "^5.1.0",
|
||||||
|
@ -2981,6 +2982,13 @@
|
||||||
"win32"
|
"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": {
|
"node_modules/@sinclair/typebox": {
|
||||||
"version": "0.27.8",
|
"version": "0.27.8",
|
||||||
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
|
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
|
||||||
|
@ -3476,6 +3484,13 @@
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"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": {
|
"node_modules/@types/node": {
|
||||||
"version": "22.13.1",
|
"version": "22.13.1",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.1.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.1.tgz",
|
||||||
|
@ -4005,6 +4020,27 @@
|
||||||
"url": "https://github.com/sponsors/ljharb"
|
"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": {
|
"node_modules/array.prototype.flat": {
|
||||||
"version": "1.3.3",
|
"version": "1.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz",
|
"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": {
|
"node_modules/eslint-plugin-react": {
|
||||||
"version": "7.37.4",
|
"version": "7.37.4",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz",
|
"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"
|
"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": {
|
"node_modules/minipass": {
|
||||||
"version": "7.1.2",
|
"version": "7.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
|
||||||
|
@ -8383,6 +8578,21 @@
|
||||||
"url": "https://github.com/sponsors/ljharb"
|
"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": {
|
"node_modules/object.values": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz",
|
"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": {
|
"node_modules/tslib": {
|
||||||
"version": "2.8.1",
|
"version": "2.8.1",
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
"dev": "vite --host",
|
"dev": "vite --host",
|
||||||
"build": "tsc && vite build",
|
"build": "tsc && vite build",
|
||||||
"lint": "eslint . --report-unused-disable-directives --max-warnings 0",
|
"lint": "eslint . --report-unused-disable-directives --max-warnings 0",
|
||||||
|
"lintFix": "eslint . --report-unused-disable-directives --max-warnings 0 --fix",
|
||||||
"preview": "vite preview --port 3000"
|
"preview": "vite preview --port 3000"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -55,6 +56,7 @@
|
||||||
"autoprefixer": "^10.4.20",
|
"autoprefixer": "^10.4.20",
|
||||||
"babel-plugin-react-compiler": "^19.0.0-beta-37ed2a7-20241206",
|
"babel-plugin-react-compiler": "^19.0.0-beta-37ed2a7-20241206",
|
||||||
"eslint": "^9.19.0",
|
"eslint": "^9.19.0",
|
||||||
|
"eslint-plugin-import": "^2.31.0",
|
||||||
"eslint-plugin-react": "^7.37.4",
|
"eslint-plugin-react": "^7.37.4",
|
||||||
"eslint-plugin-react-compiler": "^19.0.0-beta-37ed2a7-20241206",
|
"eslint-plugin-react-compiler": "^19.0.0-beta-37ed2a7-20241206",
|
||||||
"eslint-plugin-react-hooks": "^5.1.0",
|
"eslint-plugin-react-hooks": "^5.1.0",
|
||||||
|
|
|
@ -6,12 +6,12 @@ import { ModalLoader } from '@/components/Modal';
|
||||||
import { useAppLayoutStore, useMainHeight, useViewportHeight } from '@/stores/appLayout';
|
import { useAppLayoutStore, useMainHeight, useViewportHeight } from '@/stores/appLayout';
|
||||||
import { globals } from '@/utils/constants';
|
import { globals } from '@/utils/constants';
|
||||||
|
|
||||||
|
import { NavigationState } from './Navigation/NavigationContext';
|
||||||
import { Footer } from './Footer';
|
import { Footer } from './Footer';
|
||||||
import { GlobalDialogs } from './GlobalDialogs';
|
import { GlobalDialogs } from './GlobalDialogs';
|
||||||
import ConceptToaster from './GlobalToaster';
|
import ConceptToaster from './GlobalToaster';
|
||||||
import { GlobalTooltips } from './GlobalTooltips';
|
import { GlobalTooltips } from './GlobalTooltips';
|
||||||
import { Navigation } from './Navigation';
|
import { Navigation } from './Navigation';
|
||||||
import { NavigationState } from './Navigation/NavigationContext';
|
|
||||||
|
|
||||||
function ApplicationLayout() {
|
function ApplicationLayout() {
|
||||||
const mainHeight = useMainHeight();
|
const mainHeight = useMainHeight();
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
|
import { IntlProvider } from 'react-intl';
|
||||||
import { QueryClientProvider } from '@tanstack/react-query';
|
import { QueryClientProvider } from '@tanstack/react-query';
|
||||||
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
|
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
|
||||||
import { IntlProvider } from 'react-intl';
|
|
||||||
|
|
||||||
import { queryClient } from '@/backend/queryClient';
|
import { queryClient } from '@/backend/queryClient';
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
|
import InfoConstituenta from '@/features/rsform/components/InfoConstituenta';
|
||||||
|
|
||||||
import { Tooltip } from '@/components/Container';
|
import { Tooltip } from '@/components/Container';
|
||||||
import { Loader } from '@/components/Loader';
|
import { Loader } from '@/components/Loader';
|
||||||
import InfoConstituenta from '@/features/rsform/components/InfoConstituenta';
|
|
||||||
import { useTooltipsStore } from '@/stores/tooltips';
|
import { useTooltipsStore } from '@/stores/tooltips';
|
||||||
import { globals } from '@/utils/constants';
|
import { globals } from '@/utils/constants';
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ import { useAppLayoutStore } from '@/stores/appLayout';
|
||||||
import { PARAMETER } from '@/utils/constants';
|
import { PARAMETER } from '@/utils/constants';
|
||||||
|
|
||||||
import { urls } from '../urls';
|
import { urls } from '../urls';
|
||||||
|
|
||||||
import Logo from './Logo';
|
import Logo from './Logo';
|
||||||
import NavigationButton from './NavigationButton';
|
import NavigationButton from './NavigationButton';
|
||||||
import { useConceptNavigation } from './NavigationContext';
|
import { useConceptNavigation } from './NavigationContext';
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import { IconLogin, IconUser2 } from '@/components/Icons';
|
|
||||||
import { useAuthSuspense } from '@/features/auth';
|
import { useAuthSuspense } from '@/features/auth';
|
||||||
|
|
||||||
|
import { IconLogin, IconUser2 } from '@/components/Icons';
|
||||||
import { usePreferencesStore } from '@/stores/preferences';
|
import { usePreferencesStore } from '@/stores/preferences';
|
||||||
|
|
||||||
import NavigationButton from './NavigationButton';
|
import NavigationButton from './NavigationButton';
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
import { useAuthSuspense, useLogout } from '@/features/auth';
|
||||||
|
|
||||||
import { Dropdown, DropdownButton } from '@/components/Dropdown';
|
import { Dropdown, DropdownButton } from '@/components/Dropdown';
|
||||||
import {
|
import {
|
||||||
IconAdmin,
|
IconAdmin,
|
||||||
|
@ -14,10 +16,10 @@ import {
|
||||||
IconUser
|
IconUser
|
||||||
} from '@/components/Icons';
|
} from '@/components/Icons';
|
||||||
import { CProps } from '@/components/props';
|
import { CProps } from '@/components/props';
|
||||||
import { useAuthSuspense, useLogout } from '@/features/auth';
|
|
||||||
import { usePreferencesStore } from '@/stores/preferences';
|
import { usePreferencesStore } from '@/stores/preferences';
|
||||||
|
|
||||||
import { urls } from '../urls';
|
import { urls } from '../urls';
|
||||||
|
|
||||||
import { useConceptNavigation } from './NavigationContext';
|
import { useConceptNavigation } from './NavigationContext';
|
||||||
|
|
||||||
interface UserDropdownProps {
|
interface UserDropdownProps {
|
||||||
|
|
|
@ -4,6 +4,7 @@ import { useDropdown } from '@/components/Dropdown';
|
||||||
import { Loader } from '@/components/Loader';
|
import { Loader } from '@/components/Loader';
|
||||||
|
|
||||||
import { urls } from '../urls';
|
import { urls } from '../urls';
|
||||||
|
|
||||||
import { useConceptNavigation } from './NavigationContext';
|
import { useConceptNavigation } from './NavigationContext';
|
||||||
import UserButton from './UserButton';
|
import UserButton from './UserButton';
|
||||||
import UserDropdown from './UserDropdown';
|
import UserDropdown from './UserDropdown';
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import { createBrowserRouter } from 'react-router';
|
import { createBrowserRouter } from 'react-router';
|
||||||
|
|
||||||
import { Loader } from '@/components/Loader';
|
|
||||||
import { prefetchAuth } from '@/features/auth/backend/useAuth';
|
import { prefetchAuth } from '@/features/auth/backend/useAuth';
|
||||||
import LoginPage from '@/features/auth/pages/LoginPage';
|
import LoginPage from '@/features/auth/pages/LoginPage';
|
||||||
import HomePage from '@/features/home/HomePage';
|
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 { prefetchProfile } from '@/features/users/backend/useProfile';
|
||||||
import { prefetchUsers } from '@/features/users/backend/useUsers';
|
import { prefetchUsers } from '@/features/users/backend/useUsers';
|
||||||
|
|
||||||
|
import { Loader } from '@/components/Loader';
|
||||||
|
|
||||||
import ApplicationLayout from './ApplicationLayout';
|
import ApplicationLayout from './ApplicationLayout';
|
||||||
import { ErrorFallback } from './ErrorFallback';
|
import { ErrorFallback } from './ErrorFallback';
|
||||||
import { routes } from './urls';
|
import { routes } from './urls';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
/**
|
/**
|
||||||
* Module: generic API for backend REST communications using axios library.
|
* Module: generic API for backend REST communications using axios library.
|
||||||
*/
|
*/
|
||||||
import axios, { AxiosError, AxiosRequestConfig } from 'axios';
|
|
||||||
import { toast } from 'react-toastify';
|
import { toast } from 'react-toastify';
|
||||||
|
import axios, { AxiosError, AxiosRequestConfig } from 'axios';
|
||||||
|
|
||||||
import { buildConstants } from '@/utils/buildConstants';
|
import { buildConstants } from '@/utils/buildConstants';
|
||||||
import { extractErrorMessage } from '@/utils/utils';
|
import { extractErrorMessage } from '@/utils/utils';
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import { ReactNode } from 'react';
|
import { ReactNode } from 'react';
|
||||||
import { createPortal } from 'react-dom';
|
import { createPortal } from 'react-dom';
|
||||||
import { ITooltip, Tooltip as TooltipImpl } from 'react-tooltip';
|
import { ITooltip, Tooltip as TooltipImpl } from 'react-tooltip';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { usePreferencesStore } from '@/stores/preferences';
|
import { usePreferencesStore } from '@/stores/preferences';
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
'use client';
|
'use client';
|
||||||
'use no memo';
|
'use no memo';
|
||||||
|
|
||||||
|
import { useMemo, useState } from 'react';
|
||||||
import {
|
import {
|
||||||
ColumnSort,
|
ColumnSort,
|
||||||
createColumnHelper,
|
createColumnHelper,
|
||||||
|
@ -15,9 +16,9 @@ import {
|
||||||
useReactTable,
|
useReactTable,
|
||||||
type VisibilityState
|
type VisibilityState
|
||||||
} from '@tanstack/react-table';
|
} from '@tanstack/react-table';
|
||||||
import { useMemo, useState } from 'react';
|
|
||||||
|
|
||||||
import { CProps } from '../props';
|
import { CProps } from '../props';
|
||||||
|
|
||||||
import DefaultNoData from './DefaultNoData';
|
import DefaultNoData from './DefaultNoData';
|
||||||
import PaginationTools from './PaginationTools';
|
import PaginationTools from './PaginationTools';
|
||||||
import TableBody from './TableBody';
|
import TableBody from './TableBody';
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
'use client';
|
'use client';
|
||||||
'use no memo';
|
'use no memo';
|
||||||
|
|
||||||
|
import { useCallback } from 'react';
|
||||||
import { Table } from '@tanstack/react-table';
|
import { Table } from '@tanstack/react-table';
|
||||||
import clsx from 'clsx';
|
import clsx from 'clsx';
|
||||||
import { useCallback } from 'react';
|
|
||||||
|
|
||||||
import { prefixes } from '@/utils/constants';
|
import { prefixes } from '@/utils/constants';
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,9 @@ import { Cell, flexRender, Row, Table } from '@tanstack/react-table';
|
||||||
import clsx from 'clsx';
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { CProps } from '../props';
|
import { CProps } from '../props';
|
||||||
import { IConditionalStyle } from '.';
|
|
||||||
import SelectRow from './SelectRow';
|
import SelectRow from './SelectRow';
|
||||||
|
import { IConditionalStyle } from '.';
|
||||||
|
|
||||||
interface TableBodyProps<TData> {
|
interface TableBodyProps<TData> {
|
||||||
table: Table<TData>;
|
table: Table<TData>;
|
||||||
|
|
|
@ -4,6 +4,7 @@ import { globals } from '@/utils/constants';
|
||||||
|
|
||||||
import { CheckboxChecked, CheckboxNull } from '../Icons';
|
import { CheckboxChecked, CheckboxNull } from '../Icons';
|
||||||
import { CProps } from '../props';
|
import { CProps } from '../props';
|
||||||
|
|
||||||
import { CheckboxProps } from './Checkbox';
|
import { CheckboxProps } from './Checkbox';
|
||||||
|
|
||||||
export interface CheckboxTristateProps extends Omit<CheckboxProps, 'value' | 'onChange'> {
|
export interface CheckboxTristateProps extends Omit<CheckboxProps, 'value' | 'onChange'> {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import clsx from 'clsx';
|
|
||||||
import { FieldError, GlobalError } from 'react-hook-form';
|
import { FieldError, GlobalError } from 'react-hook-form';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { CProps } from '../props';
|
import { CProps } from '../props';
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import { useRef, useState } from 'react';
|
import { useRef, useState } from 'react';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { Button } from '../Control';
|
import { Button } from '../Control';
|
||||||
import { IconUpload } from '../Icons';
|
import { IconUpload } from '../Icons';
|
||||||
import { CProps } from '../props';
|
import { CProps } from '../props';
|
||||||
|
|
||||||
import { Label } from './Label';
|
import { Label } from './Label';
|
||||||
|
|
||||||
interface FileInputProps extends Omit<CProps.Input, 'accept' | 'type'> {
|
interface FileInputProps extends Omit<CProps.Input, 'accept' | 'type'> {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import clsx from 'clsx';
|
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { globals, PARAMETER } from '@/utils/constants';
|
import { globals, PARAMETER } from '@/utils/constants';
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ import clsx from 'clsx';
|
||||||
|
|
||||||
import { Label } from '../Input/Label';
|
import { Label } from '../Input/Label';
|
||||||
import { CProps } from '../props';
|
import { CProps } from '../props';
|
||||||
|
|
||||||
import { ErrorField } from './ErrorField';
|
import { ErrorField } from './ErrorField';
|
||||||
|
|
||||||
export interface TextAreaProps extends CProps.Editor, CProps.ErrorProcessing, CProps.Colors, CProps.TextArea {
|
export interface TextAreaProps extends CProps.Editor, CProps.ErrorProcessing, CProps.Colors, CProps.TextArea {
|
||||||
|
|
|
@ -2,6 +2,7 @@ import clsx from 'clsx';
|
||||||
|
|
||||||
import { Label } from '../Input/Label';
|
import { Label } from '../Input/Label';
|
||||||
import { CProps } from '../props';
|
import { CProps } from '../props';
|
||||||
|
|
||||||
import { ErrorField } from './ErrorField';
|
import { ErrorField } from './ErrorField';
|
||||||
|
|
||||||
interface TextInputProps extends CProps.Editor, CProps.ErrorProcessing, CProps.Colors, CProps.Input {
|
interface TextInputProps extends CProps.Editor, CProps.ErrorProcessing, CProps.Colors, CProps.Input {
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
import clsx from 'clsx';
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { BadgeHelp, HelpTopic } from '@/features/help';
|
import { BadgeHelp, HelpTopic } from '@/features/help';
|
||||||
|
|
||||||
import useEscapeKey from '@/hooks/useEscapeKey';
|
import useEscapeKey from '@/hooks/useEscapeKey';
|
||||||
import { useDialogsStore } from '@/stores/dialogs';
|
import { useDialogsStore } from '@/stores/dialogs';
|
||||||
import { PARAMETER } from '@/utils/constants';
|
import { PARAMETER } from '@/utils/constants';
|
||||||
|
@ -11,6 +12,7 @@ import { prepareTooltip } from '@/utils/utils';
|
||||||
import { Button, MiniButton, SubmitButton } from '../Control';
|
import { Button, MiniButton, SubmitButton } from '../Control';
|
||||||
import { IconClose } from '../Icons';
|
import { IconClose } from '../Icons';
|
||||||
import { CProps } from '../props';
|
import { CProps } from '../props';
|
||||||
|
|
||||||
import { ModalBackdrop } from './ModalBackdrop';
|
import { ModalBackdrop } from './ModalBackdrop';
|
||||||
|
|
||||||
export interface ModalProps extends CProps.Styling {
|
export interface ModalProps extends CProps.Styling {
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
import clsx from 'clsx';
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { BadgeHelp } from '@/features/help';
|
import { BadgeHelp } from '@/features/help';
|
||||||
|
|
||||||
import useEscapeKey from '@/hooks/useEscapeKey';
|
import useEscapeKey from '@/hooks/useEscapeKey';
|
||||||
import { useDialogsStore } from '@/stores/dialogs';
|
import { useDialogsStore } from '@/stores/dialogs';
|
||||||
import { PARAMETER } from '@/utils/constants';
|
import { PARAMETER } from '@/utils/constants';
|
||||||
|
@ -10,6 +11,7 @@ import { prepareTooltip } from '@/utils/utils';
|
||||||
|
|
||||||
import { Button, MiniButton } from '../Control';
|
import { Button, MiniButton } from '../Control';
|
||||||
import { IconClose } from '../Icons';
|
import { IconClose } from '../Icons';
|
||||||
|
|
||||||
import { ModalBackdrop } from './ModalBackdrop';
|
import { ModalBackdrop } from './ModalBackdrop';
|
||||||
import { ModalProps } from './ModalForm';
|
import { ModalProps } from './ModalForm';
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import clsx from 'clsx';
|
|
||||||
import type { TabProps as TabPropsImpl } from 'react-tabs';
|
import type { TabProps as TabPropsImpl } from 'react-tabs';
|
||||||
import { Tab as TabImpl } from 'react-tabs';
|
import { Tab as TabImpl } from 'react-tabs';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { globals } from '@/utils/constants';
|
import { globals } from '@/utils/constants';
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import { urls, useConceptNavigation } from '@/app';
|
import { urls, useConceptNavigation } from '@/app';
|
||||||
|
|
||||||
import { TextURL } from '@/components/Control';
|
import { TextURL } from '@/components/Control';
|
||||||
|
|
||||||
import { useAuthSuspense } from '../backend/useAuth';
|
import { useAuthSuspense } from '../backend/useAuth';
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
|
import { useForm } from 'react-hook-form';
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
import clsx from 'clsx';
|
import clsx from 'clsx';
|
||||||
import { useForm } from 'react-hook-form';
|
|
||||||
|
|
||||||
import { urls, useConceptNavigation } from '@/app';
|
import { urls, useConceptNavigation } from '@/app';
|
||||||
|
|
||||||
import { isAxiosError } from '@/backend/apiTransport';
|
import { isAxiosError } from '@/backend/apiTransport';
|
||||||
import { SubmitButton, TextURL } from '@/components/Control';
|
import { SubmitButton, TextURL } from '@/components/Control';
|
||||||
import { ErrorData } from '@/components/InfoError';
|
import { ErrorData } from '@/components/InfoError';
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { urls, useConceptNavigation } from '@/app';
|
import { urls, useConceptNavigation } from '@/app';
|
||||||
|
|
||||||
import { isAxiosError } from '@/backend/apiTransport';
|
import { isAxiosError } from '@/backend/apiTransport';
|
||||||
import { SubmitButton } from '@/components/Control';
|
import { SubmitButton } from '@/components/Control';
|
||||||
import { ErrorData, InfoError } from '@/components/InfoError';
|
import { ErrorData, InfoError } from '@/components/InfoError';
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { isAxiosError } from '@/backend/apiTransport';
|
import { isAxiosError } from '@/backend/apiTransport';
|
||||||
import { SubmitButton, TextURL } from '@/components/Control';
|
import { SubmitButton, TextURL } from '@/components/Control';
|
||||||
|
|
|
@ -3,6 +3,7 @@ import clsx from 'clsx';
|
||||||
import { colorBgCstClass } from '@/features/rsform/colors';
|
import { colorBgCstClass } from '@/features/rsform/colors';
|
||||||
import { describeCstClass, labelCstClass } from '@/features/rsform/labels';
|
import { describeCstClass, labelCstClass } from '@/features/rsform/labels';
|
||||||
import { CstClass } from '@/features/rsform/models/rsform';
|
import { CstClass } from '@/features/rsform/models/rsform';
|
||||||
|
|
||||||
import { prefixes } from '@/utils/constants';
|
import { prefixes } from '@/utils/constants';
|
||||||
|
|
||||||
interface InfoCstClassProps {
|
interface InfoCstClassProps {
|
||||||
|
|
|
@ -3,6 +3,7 @@ import clsx from 'clsx';
|
||||||
import { colorBgCstStatus } from '@/features/rsform/colors';
|
import { colorBgCstStatus } from '@/features/rsform/colors';
|
||||||
import { describeExpressionStatus, labelExpressionStatus } from '@/features/rsform/labels';
|
import { describeExpressionStatus, labelExpressionStatus } from '@/features/rsform/labels';
|
||||||
import { ExpressionStatus } from '@/features/rsform/models/rsform';
|
import { ExpressionStatus } from '@/features/rsform/models/rsform';
|
||||||
|
|
||||||
import { prefixes } from '@/utils/constants';
|
import { prefixes } from '@/utils/constants';
|
||||||
|
|
||||||
interface InfoCstStatusProps {
|
interface InfoCstStatusProps {
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import { urls } from '@/app';
|
import { urls } from '@/app';
|
||||||
|
|
||||||
import { TextURL } from '@/components/Control';
|
import { TextURL } from '@/components/Control';
|
||||||
|
|
||||||
import { HelpTopic } from '../models/helpTopic';
|
import { HelpTopic } from '../models/helpTopic';
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import { prefixes } from '@/utils/constants';
|
import { prefixes } from '@/utils/constants';
|
||||||
|
|
||||||
import { HelpTopic, topicParent } from '../models/helpTopic';
|
import { HelpTopic, topicParent } from '../models/helpTopic';
|
||||||
|
|
||||||
import { TopicItem } from './TopicItem';
|
import { TopicItem } from './TopicItem';
|
||||||
|
|
||||||
interface SubtopicsProps {
|
interface SubtopicsProps {
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import { urls } from '@/app';
|
import { urls } from '@/app';
|
||||||
|
|
||||||
import { TextURL } from '@/components/Control';
|
import { TextURL } from '@/components/Control';
|
||||||
import { external_urls } from '@/utils/constants';
|
import { external_urls } from '@/utils/constants';
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { urls, useConceptNavigation } from '@/app';
|
import { urls, useConceptNavigation } from '@/app';
|
||||||
|
|
||||||
import useQueryStrings from '@/hooks/useQueryStrings';
|
import useQueryStrings from '@/hooks/useQueryStrings';
|
||||||
import { useMainHeight } from '@/stores/appLayout';
|
import { useMainHeight } from '@/stores/appLayout';
|
||||||
import { PARAMETER } from '@/utils/constants';
|
import { PARAMETER } from '@/utils/constants';
|
||||||
|
|
||||||
import { HelpTopic } from '../../models/helpTopic';
|
import { HelpTopic } from '../../models/helpTopic';
|
||||||
|
|
||||||
import TopicsList from './TopicsList';
|
import TopicsList from './TopicsList';
|
||||||
import ViewTopic from './ViewTopic';
|
import ViewTopic from './ViewTopic';
|
||||||
|
|
||||||
|
|
|
@ -9,10 +9,8 @@ import { SelectTree } from '@/components/Input';
|
||||||
import { useAppLayoutStore, useFitHeight } from '@/stores/appLayout';
|
import { useAppLayoutStore, useFitHeight } from '@/stores/appLayout';
|
||||||
import { PARAMETER, prefixes } from '@/utils/constants';
|
import { PARAMETER, prefixes } from '@/utils/constants';
|
||||||
|
|
||||||
import { describeHelpTopic } from '../../labels';
|
import { describeHelpTopic, labelHelpTopic } from '../../labels';
|
||||||
import { labelHelpTopic } from '../../labels';
|
import { HelpTopic, topicParent } from '../../models/helpTopic';
|
||||||
import { topicParent } from '../../models/helpTopic';
|
|
||||||
import { HelpTopic } from '../../models/helpTopic';
|
|
||||||
|
|
||||||
interface TopicsDropdownProps {
|
interface TopicsDropdownProps {
|
||||||
activeTopic: HelpTopic;
|
activeTopic: HelpTopic;
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
import useWindowSize from '@/hooks/useWindowSize';
|
import useWindowSize from '@/hooks/useWindowSize';
|
||||||
|
|
||||||
import { HelpTopic } from '../../models/helpTopic';
|
import { HelpTopic } from '../../models/helpTopic';
|
||||||
|
|
||||||
import TopicsDropdown from './TopicsDropdown';
|
import TopicsDropdown from './TopicsDropdown';
|
||||||
import TopicsStatic from './TopicsStatic';
|
import TopicsStatic from './TopicsStatic';
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
import { useMainHeight } from '@/stores/appLayout';
|
import { useMainHeight } from '@/stores/appLayout';
|
||||||
|
|
||||||
import { HelpTopic } from '../../models/helpTopic';
|
import { HelpTopic } from '../../models/helpTopic';
|
||||||
|
|
||||||
import TopicPage from './TopicPage';
|
import TopicPage from './TopicPage';
|
||||||
|
|
||||||
interface ViewTopicProps {
|
interface ViewTopicProps {
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
|
|
||||||
import { urls, useConceptNavigation } from '@/app';
|
import { urls, useConceptNavigation } from '@/app';
|
||||||
import { Loader } from '@/components/Loader';
|
|
||||||
import { useAuthSuspense } from '@/features/auth';
|
import { useAuthSuspense } from '@/features/auth';
|
||||||
|
|
||||||
|
import { Loader } from '@/components/Loader';
|
||||||
import { PARAMETER } from '@/utils/constants';
|
import { PARAMETER } from '@/utils/constants';
|
||||||
|
|
||||||
function HomePage() {
|
function HomePage() {
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
import { queryOptions } from '@tanstack/react-query';
|
import { queryOptions } from '@tanstack/react-query';
|
||||||
|
|
||||||
|
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
||||||
|
|
||||||
import { axiosDelete, axiosGet, axiosPatch, axiosPost } from '@/backend/apiTransport';
|
import { axiosDelete, axiosGet, axiosPatch, axiosPost } from '@/backend/apiTransport';
|
||||||
import { DELAYS, KEYS } from '@/backend/configuration';
|
import { DELAYS, KEYS } from '@/backend/configuration';
|
||||||
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
|
||||||
import { infoMsg } from '@/utils/labels';
|
import { infoMsg } from '@/utils/labels';
|
||||||
|
|
||||||
import { AccessPolicy, ILibraryItem, IVersionInfo } from '../models/library';
|
import { AccessPolicy, ILibraryItem, IVersionInfo } from '../models/library';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
ICloneLibraryItemDTO,
|
ICloneLibraryItemDTO,
|
||||||
ICreateLibraryItemDTO,
|
ICreateLibraryItemDTO,
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
|
|
||||||
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
||||||
|
|
||||||
import { errorMsg } from '@/utils/labels';
|
import { errorMsg } from '@/utils/labels';
|
||||||
|
|
||||||
import { AccessPolicy, LibraryItemType } from '../models/library';
|
import { AccessPolicy, LibraryItemType } from '../models/library';
|
||||||
|
|
|
@ -2,6 +2,7 @@ import { useAuthSuspense } from '@/features/auth';
|
||||||
|
|
||||||
import { ILibraryFilter } from '../models/library';
|
import { ILibraryFilter } from '../models/library';
|
||||||
import { matchLibraryItem, matchLibraryItemLocation } from '../models/libraryAPI';
|
import { matchLibraryItem, matchLibraryItemLocation } from '../models/libraryAPI';
|
||||||
|
|
||||||
import { useLibrary } from './useLibrary';
|
import { useLibrary } from './useLibrary';
|
||||||
|
|
||||||
export function useApplyLibraryFilter(filter: ILibraryFilter) {
|
export function useApplyLibraryFilter(filter: ILibraryFilter) {
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import { FolderTree } from '../models/FolderTree';
|
import { FolderTree } from '../models/FolderTree';
|
||||||
import { LocationHead } from '../models/library';
|
import { LocationHead } from '../models/library';
|
||||||
|
|
||||||
import { useLibrary } from './useLibrary';
|
import { useLibrary } from './useLibrary';
|
||||||
|
|
||||||
export function useFolders() {
|
export function useFolders() {
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
import { useQuery, useSuspenseQuery } from '@tanstack/react-query';
|
import { useQuery, useSuspenseQuery } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { queryClient } from '@/backend/queryClient';
|
|
||||||
import { useAuthSuspense } from '@/features/auth';
|
import { useAuthSuspense } from '@/features/auth';
|
||||||
|
|
||||||
|
import { queryClient } from '@/backend/queryClient';
|
||||||
import { usePreferencesStore } from '@/stores/preferences';
|
import { usePreferencesStore } from '@/stores/preferences';
|
||||||
|
|
||||||
import { libraryApi } from './api';
|
import { libraryApi } from './api';
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
|
||||||
import { IOperationSchemaDTO } from '@/features/oss/backend/types';
|
import { IOperationSchemaDTO } from '@/features/oss/backend/types';
|
||||||
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
||||||
|
|
||||||
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { AccessPolicy, ILibraryItem } from '../models/library';
|
import { AccessPolicy, ILibraryItem } from '../models/library';
|
||||||
|
|
||||||
import { libraryApi } from './api';
|
import { libraryApi } from './api';
|
||||||
|
|
||||||
export const useSetAccessPolicy = () => {
|
export const useSetAccessPolicy = () => {
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
|
||||||
import { IOperationSchemaDTO } from '@/features/oss/backend/types';
|
import { IOperationSchemaDTO } from '@/features/oss/backend/types';
|
||||||
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
||||||
|
|
||||||
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { libraryApi } from './api';
|
import { libraryApi } from './api';
|
||||||
|
|
||||||
export const useSetEditors = () => {
|
export const useSetEditors = () => {
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
|
||||||
import { IOperationSchemaDTO } from '@/features/oss/backend/types';
|
import { IOperationSchemaDTO } from '@/features/oss/backend/types';
|
||||||
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
||||||
|
|
||||||
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { ILibraryItem } from '../models/library';
|
import { ILibraryItem } from '../models/library';
|
||||||
|
|
||||||
import { libraryApi } from './api';
|
import { libraryApi } from './api';
|
||||||
|
|
||||||
export const useSetLocation = () => {
|
export const useSetLocation = () => {
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
|
||||||
import { IOperationSchemaDTO } from '@/features/oss/backend/types';
|
import { IOperationSchemaDTO } from '@/features/oss/backend/types';
|
||||||
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
||||||
|
|
||||||
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { ILibraryItem } from '../models/library';
|
import { ILibraryItem } from '../models/library';
|
||||||
|
|
||||||
import { libraryApi } from './api';
|
import { libraryApi } from './api';
|
||||||
|
|
||||||
export const useSetOwner = () => {
|
export const useSetOwner = () => {
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
|
||||||
import { IOperationSchemaDTO } from '@/features/oss/backend/types';
|
import { IOperationSchemaDTO } from '@/features/oss/backend/types';
|
||||||
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
||||||
|
|
||||||
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { ILibraryItem, LibraryItemType } from '../models/library';
|
import { ILibraryItem, LibraryItemType } from '../models/library';
|
||||||
|
|
||||||
import { libraryApi } from './api';
|
import { libraryApi } from './api';
|
||||||
import { IUpdateLibraryItemDTO } from './types';
|
import { IUpdateLibraryItemDTO } from './types';
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import { useQueryClient } from '@tanstack/react-query';
|
import { useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { ILibraryItem } from '../models/library';
|
import { ILibraryItem } from '../models/library';
|
||||||
|
|
||||||
import { libraryApi } from './api';
|
import { libraryApi } from './api';
|
||||||
|
|
||||||
export function useUpdateTimestamp() {
|
export function useUpdateTimestamp() {
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
|
||||||
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
||||||
|
|
||||||
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { libraryApi } from './api';
|
import { libraryApi } from './api';
|
||||||
|
|
||||||
export const useVersionDelete = () => {
|
export const useVersionDelete = () => {
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
|
||||||
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
import { IRSFormDTO } from '@/features/rsform/backend/types';
|
||||||
|
|
||||||
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { libraryApi } from './api';
|
import { libraryApi } from './api';
|
||||||
import { IVersionUpdateDTO } from './types';
|
import { IVersionUpdateDTO } from './types';
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,8 @@ import { Suspense } from 'react';
|
||||||
import { useIntl } from 'react-intl';
|
import { useIntl } from 'react-intl';
|
||||||
|
|
||||||
import { urls, useConceptNavigation } from '@/app';
|
import { urls, useConceptNavigation } from '@/app';
|
||||||
|
import { InfoUsers, SelectUser, useLabelUser, useRoleStore, UserRole } from '@/features/users';
|
||||||
|
|
||||||
import { Overlay, Tooltip } from '@/components/Container';
|
import { Overlay, Tooltip } from '@/components/Container';
|
||||||
import { MiniButton } from '@/components/Control';
|
import { MiniButton } from '@/components/Control';
|
||||||
import { useDropdown } from '@/components/Dropdown';
|
import { useDropdown } from '@/components/Dropdown';
|
||||||
|
@ -16,7 +18,6 @@ import {
|
||||||
import { Loader } from '@/components/Loader';
|
import { Loader } from '@/components/Loader';
|
||||||
import { CProps } from '@/components/props';
|
import { CProps } from '@/components/props';
|
||||||
import { ValueIcon } from '@/components/View';
|
import { ValueIcon } from '@/components/View';
|
||||||
import { InfoUsers, SelectUser, useLabelUser, useRoleStore, UserRole } from '@/features/users';
|
|
||||||
import { useDialogsStore } from '@/stores/dialogs';
|
import { useDialogsStore } from '@/stores/dialogs';
|
||||||
import { useModificationStore } from '@/stores/modification';
|
import { useModificationStore } from '@/stores/modification';
|
||||||
import { prefixes } from '@/utils/constants';
|
import { prefixes } from '@/utils/constants';
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import clsx from 'clsx';
|
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import { useIntl } from 'react-intl';
|
import { useIntl } from 'react-intl';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { FlexColumn } from '@/components/Container';
|
import { FlexColumn } from '@/components/Container';
|
||||||
import { MiniButton } from '@/components/Control';
|
import { MiniButton } from '@/components/Control';
|
||||||
|
@ -14,6 +14,7 @@ import { prefixes } from '@/utils/constants';
|
||||||
|
|
||||||
import { ILibraryItem, LibraryItemType } from '../models/library';
|
import { ILibraryItem, LibraryItemType } from '../models/library';
|
||||||
import { matchLibraryItem } from '../models/libraryAPI';
|
import { matchLibraryItem } from '../models/libraryAPI';
|
||||||
|
|
||||||
import SelectLocation from './SelectLocation';
|
import SelectLocation from './SelectLocation';
|
||||||
|
|
||||||
interface PickSchemaProps extends CProps.Styling {
|
interface PickSchemaProps extends CProps.Styling {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { MiniButton } from '@/components/Control';
|
import { MiniButton } from '@/components/Control';
|
||||||
import { IconFolder, IconFolderClosed, IconFolderEmpty, IconFolderOpened } from '@/components/Icons';
|
import { IconFolder, IconFolderClosed, IconFolderEmpty, IconFolderOpened } from '@/components/Icons';
|
||||||
|
|
|
@ -1,15 +1,17 @@
|
||||||
|
import { BadgeHelp, HelpTopic } from '@/features/help';
|
||||||
|
import { useRoleStore, UserRole } from '@/features/users';
|
||||||
|
|
||||||
import { Overlay } from '@/components/Container';
|
import { Overlay } from '@/components/Container';
|
||||||
import { MiniButton } from '@/components/Control';
|
import { MiniButton } from '@/components/Control';
|
||||||
import { VisibilityIcon } from '@/components/DomainIcons';
|
import { VisibilityIcon } from '@/components/DomainIcons';
|
||||||
import { IconImmutable, IconMutable } from '@/components/Icons';
|
import { IconImmutable, IconMutable } from '@/components/Icons';
|
||||||
import { Label } from '@/components/Input';
|
import { Label } from '@/components/Input';
|
||||||
import { BadgeHelp, HelpTopic } from '@/features/help';
|
|
||||||
import { useRoleStore, UserRole } from '@/features/users';
|
|
||||||
import { PARAMETER } from '@/utils/constants';
|
import { PARAMETER } from '@/utils/constants';
|
||||||
|
|
||||||
import { useMutatingLibrary } from '../backend/useMutatingLibrary';
|
import { useMutatingLibrary } from '../backend/useMutatingLibrary';
|
||||||
import { useSetAccessPolicy } from '../backend/useSetAccessPolicy';
|
import { useSetAccessPolicy } from '../backend/useSetAccessPolicy';
|
||||||
import { AccessPolicy } from '../models/library';
|
import { AccessPolicy } from '../models/library';
|
||||||
|
|
||||||
import { ILibraryItemEditor } from './EditorLibraryItem';
|
import { ILibraryItemEditor } from './EditorLibraryItem';
|
||||||
import { SelectAccessPolicy } from './SelectAccessPolicy';
|
import { SelectAccessPolicy } from './SelectAccessPolicy';
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
|
import { Controller, useForm } from 'react-hook-form';
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
import clsx from 'clsx';
|
import clsx from 'clsx';
|
||||||
import { Controller, useForm } from 'react-hook-form';
|
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
|
|
||||||
|
import { useAuthSuspense } from '@/features/auth';
|
||||||
|
|
||||||
import { Label, TextArea } from '@/components/Input';
|
import { Label, TextArea } from '@/components/Input';
|
||||||
import { ModalForm } from '@/components/Modal';
|
import { ModalForm } from '@/components/Modal';
|
||||||
import { useAuthSuspense } from '@/features/auth';
|
|
||||||
import { useDialogsStore } from '@/stores/dialogs';
|
import { useDialogsStore } from '@/stores/dialogs';
|
||||||
import { limits } from '@/utils/constants';
|
import { limits } from '@/utils/constants';
|
||||||
import { errorMsg } from '@/utils/labels';
|
import { errorMsg } from '@/utils/labels';
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
|
import { Controller, useForm } from 'react-hook-form';
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
import clsx from 'clsx';
|
import clsx from 'clsx';
|
||||||
import { Controller, useForm } from 'react-hook-form';
|
|
||||||
|
|
||||||
import { urls, useConceptNavigation } from '@/app';
|
import { urls, useConceptNavigation } from '@/app';
|
||||||
|
import { useAuthSuspense } from '@/features/auth';
|
||||||
|
|
||||||
import { MiniButton } from '@/components/Control';
|
import { MiniButton } from '@/components/Control';
|
||||||
import { VisibilityIcon } from '@/components/DomainIcons';
|
import { VisibilityIcon } from '@/components/DomainIcons';
|
||||||
import { Checkbox, Label, TextArea, TextInput } from '@/components/Input';
|
import { Checkbox, Label, TextArea, TextInput } from '@/components/Input';
|
||||||
import { ModalForm } from '@/components/Modal';
|
import { ModalForm } from '@/components/Modal';
|
||||||
import { useAuthSuspense } from '@/features/auth';
|
|
||||||
import { useDialogsStore } from '@/stores/dialogs';
|
import { useDialogsStore } from '@/stores/dialogs';
|
||||||
|
|
||||||
import { ICloneLibraryItemDTO, schemaCloneLibraryItem } from '../backend/types';
|
import { ICloneLibraryItemDTO, schemaCloneLibraryItem } from '../backend/types';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
|
import { Controller, useForm, useWatch } from 'react-hook-form';
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
import clsx from 'clsx';
|
import clsx from 'clsx';
|
||||||
import { Controller, useForm, useWatch } from 'react-hook-form';
|
|
||||||
|
|
||||||
import { Checkbox, TextArea, TextInput } from '@/components/Input';
|
import { Checkbox, TextArea, TextInput } from '@/components/Input';
|
||||||
import { ModalForm } from '@/components/Modal';
|
import { ModalForm } from '@/components/Modal';
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
|
||||||
|
import { SelectUser, TableUsers, useUsers } from '@/features/users';
|
||||||
|
|
||||||
import { MiniButton } from '@/components/Control';
|
import { MiniButton } from '@/components/Control';
|
||||||
import { IconRemove } from '@/components/Icons';
|
import { IconRemove } from '@/components/Icons';
|
||||||
import { Label } from '@/components/Input';
|
import { Label } from '@/components/Input';
|
||||||
import { ModalForm } from '@/components/Modal';
|
import { ModalForm } from '@/components/Modal';
|
||||||
import { SelectUser, TableUsers, useUsers } from '@/features/users';
|
|
||||||
import { useDialogsStore } from '@/stores/dialogs';
|
import { useDialogsStore } from '@/stores/dialogs';
|
||||||
|
|
||||||
import { useSetEditors } from '../../backend/useSetEditors';
|
import { useSetEditors } from '../../backend/useSetEditors';
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
'use no memo'; // TODO: remove when react hook forms are compliant with react compiler
|
'use no memo'; // TODO: remove when react hook forms are compliant with react compiler
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
|
||||||
import { useMemo } from 'react';
|
import { useMemo } from 'react';
|
||||||
import { useForm, useWatch } from 'react-hook-form';
|
import { useForm, useWatch } from 'react-hook-form';
|
||||||
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
|
|
||||||
|
import { useRSFormSuspense } from '@/features/rsform';
|
||||||
|
|
||||||
import { MiniButton } from '@/components/Control';
|
import { MiniButton } from '@/components/Control';
|
||||||
import { IconReset, IconSave } from '@/components/Icons';
|
import { IconReset, IconSave } from '@/components/Icons';
|
||||||
import { TextArea, TextInput } from '@/components/Input';
|
import { TextArea, TextInput } from '@/components/Input';
|
||||||
import { ModalView } from '@/components/Modal';
|
import { ModalView } from '@/components/Modal';
|
||||||
import { useRSFormSuspense } from '@/features/rsform';
|
|
||||||
import { useDialogsStore } from '@/stores/dialogs';
|
import { useDialogsStore } from '@/stores/dialogs';
|
||||||
import { errorMsg } from '@/utils/labels';
|
import { errorMsg } from '@/utils/labels';
|
||||||
|
|
||||||
|
@ -17,6 +18,7 @@ import { IVersionUpdateDTO, schemaVersionUpdate } from '../../backend/types';
|
||||||
import { useMutatingLibrary } from '../../backend/useMutatingLibrary';
|
import { useMutatingLibrary } from '../../backend/useMutatingLibrary';
|
||||||
import { useVersionDelete } from '../../backend/useVersionDelete';
|
import { useVersionDelete } from '../../backend/useVersionDelete';
|
||||||
import { useVersionUpdate } from '../../backend/useVersionUpdate';
|
import { useVersionUpdate } from '../../backend/useVersionUpdate';
|
||||||
|
|
||||||
import TableVersions from './TableVersions';
|
import TableVersions from './TableVersions';
|
||||||
|
|
||||||
export interface DlgEditVersionsProps {
|
export interface DlgEditVersionsProps {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import { useIntl } from 'react-intl';
|
import { useIntl } from 'react-intl';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { MiniButton } from '@/components/Control';
|
import { MiniButton } from '@/components/Control';
|
||||||
import DataTable, { createColumnHelper, IConditionalStyle } from '@/components/DataTable';
|
import DataTable, { createColumnHelper, IConditionalStyle } from '@/components/DataTable';
|
||||||
|
|
|
@ -1,18 +1,19 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import { useRef } from 'react';
|
import { useRef } from 'react';
|
||||||
import { Controller, useForm, useWatch } from 'react-hook-form';
|
import { Controller, useForm, useWatch } from 'react-hook-form';
|
||||||
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { urls, useConceptNavigation } from '@/app';
|
import { urls, useConceptNavigation } from '@/app';
|
||||||
|
import { useAuthSuspense } from '@/features/auth';
|
||||||
|
|
||||||
import { Overlay } from '@/components/Container';
|
import { Overlay } from '@/components/Container';
|
||||||
import { Button, MiniButton, SubmitButton } from '@/components/Control';
|
import { Button, MiniButton, SubmitButton } from '@/components/Control';
|
||||||
import { VisibilityIcon } from '@/components/DomainIcons';
|
import { VisibilityIcon } from '@/components/DomainIcons';
|
||||||
import { IconDownload } from '@/components/Icons';
|
import { IconDownload } from '@/components/Icons';
|
||||||
import { InfoError } from '@/components/InfoError';
|
import { InfoError } from '@/components/InfoError';
|
||||||
import { Label, TextArea, TextInput } from '@/components/Input';
|
import { Label, TextArea, TextInput } from '@/components/Input';
|
||||||
import { useAuthSuspense } from '@/features/auth';
|
|
||||||
import { EXTEOR_TRS_FILE } from '@/utils/constants';
|
import { EXTEOR_TRS_FILE } from '@/utils/constants';
|
||||||
|
|
||||||
import { ICreateLibraryItemDTO, schemaCreateLibraryItem } from '../../backend/types';
|
import { ICreateLibraryItemDTO, schemaCreateLibraryItem } from '../../backend/types';
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import fileDownload from 'js-file-download';
|
|
||||||
import { toast } from 'react-toastify';
|
import { toast } from 'react-toastify';
|
||||||
|
import fileDownload from 'js-file-download';
|
||||||
|
|
||||||
import { Overlay } from '@/components/Container';
|
import { Overlay } from '@/components/Container';
|
||||||
import { MiniButton } from '@/components/Control';
|
import { MiniButton } from '@/components/Control';
|
||||||
|
@ -15,6 +15,7 @@ import { useApplyLibraryFilter } from '../../backend/useApplyLibraryFilter';
|
||||||
import { useLibrarySuspense } from '../../backend/useLibrary';
|
import { useLibrarySuspense } from '../../backend/useLibrary';
|
||||||
import { useRenameLocation } from '../../backend/useRenameLocation';
|
import { useRenameLocation } from '../../backend/useRenameLocation';
|
||||||
import { useCreateLibraryFilter, useLibrarySearchStore } from '../../stores/librarySearch';
|
import { useCreateLibraryFilter, useLibrarySearchStore } from '../../stores/librarySearch';
|
||||||
|
|
||||||
import TableLibraryItems from './TableLibraryItems';
|
import TableLibraryItems from './TableLibraryItems';
|
||||||
import ToolbarSearch from './ToolbarSearch';
|
import ToolbarSearch from './ToolbarSearch';
|
||||||
import ViewSideLocation from './ViewSideLocation';
|
import ViewSideLocation from './ViewSideLocation';
|
||||||
|
|
|
@ -1,16 +1,17 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import { useLayoutEffect, useState } from 'react';
|
import { useLayoutEffect, useState } from 'react';
|
||||||
import { useIntl } from 'react-intl';
|
import { useIntl } from 'react-intl';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { urls, useConceptNavigation } from '@/app';
|
import { urls, useConceptNavigation } from '@/app';
|
||||||
|
import { useLabelUser } from '@/features/users';
|
||||||
|
|
||||||
import { FlexColumn } from '@/components/Container';
|
import { FlexColumn } from '@/components/Container';
|
||||||
import { MiniButton, TextURL } from '@/components/Control';
|
import { MiniButton, TextURL } from '@/components/Control';
|
||||||
import DataTable, { createColumnHelper, IConditionalStyle, VisibilityState } from '@/components/DataTable';
|
import DataTable, { createColumnHelper, IConditionalStyle, VisibilityState } from '@/components/DataTable';
|
||||||
import { IconFolderTree } from '@/components/Icons';
|
import { IconFolderTree } from '@/components/Icons';
|
||||||
import { CProps } from '@/components/props';
|
import { CProps } from '@/components/props';
|
||||||
import { useLabelUser } from '@/features/users';
|
|
||||||
import useWindowSize from '@/hooks/useWindowSize';
|
import useWindowSize from '@/hooks/useWindowSize';
|
||||||
import { useFitHeight } from '@/stores/appLayout';
|
import { useFitHeight } from '@/stores/appLayout';
|
||||||
import { usePreferencesStore } from '@/stores/preferences';
|
import { usePreferencesStore } from '@/stores/preferences';
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
import clsx from 'clsx';
|
import clsx from 'clsx';
|
||||||
|
|
||||||
|
import { SelectUser } from '@/features/users';
|
||||||
|
|
||||||
import { MiniButton, SelectorButton } from '@/components/Control';
|
import { MiniButton, SelectorButton } from '@/components/Control';
|
||||||
import { LocationIcon, VisibilityIcon } from '@/components/DomainIcons';
|
import { LocationIcon, VisibilityIcon } from '@/components/DomainIcons';
|
||||||
import { Dropdown, DropdownButton, useDropdown } from '@/components/Dropdown';
|
import { Dropdown, DropdownButton, useDropdown } from '@/components/Dropdown';
|
||||||
|
@ -16,7 +18,6 @@ import {
|
||||||
} from '@/components/Icons';
|
} from '@/components/Icons';
|
||||||
import { SearchBar } from '@/components/Input';
|
import { SearchBar } from '@/components/Input';
|
||||||
import { CProps } from '@/components/props';
|
import { CProps } from '@/components/props';
|
||||||
import { SelectUser } from '@/features/users';
|
|
||||||
import { prefixes } from '@/utils/constants';
|
import { prefixes } from '@/utils/constants';
|
||||||
import { tripleToggleColor } from '@/utils/utils';
|
import { tripleToggleColor } from '@/utils/utils';
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
import clsx from 'clsx';
|
|
||||||
import { toast } from 'react-toastify';
|
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 { MiniButton } from '@/components/Control';
|
||||||
import { SubfoldersIcon } from '@/components/DomainIcons';
|
import { SubfoldersIcon } from '@/components/DomainIcons';
|
||||||
import { IconFolderEdit, IconFolderTree } from '@/components/Icons';
|
import { IconFolderEdit, IconFolderTree } from '@/components/Icons';
|
||||||
import { CProps } from '@/components/props';
|
import { CProps } from '@/components/props';
|
||||||
import { useAuthSuspense } from '@/features/auth';
|
|
||||||
import { BadgeHelp, HelpTopic } from '@/features/help';
|
|
||||||
import useWindowSize from '@/hooks/useWindowSize';
|
import useWindowSize from '@/hooks/useWindowSize';
|
||||||
import { useFitHeight } from '@/stores/appLayout';
|
import { useFitHeight } from '@/stores/appLayout';
|
||||||
import { PARAMETER, prefixes } from '@/utils/constants';
|
import { PARAMETER, prefixes } from '@/utils/constants';
|
||||||
|
|
|
@ -3,9 +3,11 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { ILibraryItem } from '@/features/library/models/library';
|
import { ILibraryItem } from '@/features/library/models/library';
|
||||||
|
|
||||||
import { Graph } from '@/models/Graph';
|
import { Graph } from '@/models/Graph';
|
||||||
|
|
||||||
import { IOperation, IOperationSchema, IOperationSchemaStats, OperationType } from '../models/oss';
|
import { IOperation, IOperationSchema, IOperationSchemaStats, OperationType } from '../models/oss';
|
||||||
|
|
||||||
import { IOperationSchemaDTO } from './types';
|
import { IOperationSchemaDTO } from './types';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
import { queryOptions } from '@tanstack/react-query';
|
import { queryOptions } from '@tanstack/react-query';
|
||||||
|
|
||||||
|
import { IConstituentaReference, ITargetCst } from '@/features/rsform/models/rsform';
|
||||||
|
|
||||||
import { axiosGet, axiosPatch, axiosPost } from '@/backend/apiTransport';
|
import { axiosGet, axiosPatch, axiosPost } from '@/backend/apiTransport';
|
||||||
import { DELAYS, KEYS } from '@/backend/configuration';
|
import { DELAYS, KEYS } from '@/backend/configuration';
|
||||||
import { IConstituentaReference, ITargetCst } from '@/features/rsform/models/rsform';
|
|
||||||
import { infoMsg } from '@/utils/labels';
|
import { infoMsg } from '@/utils/labels';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
import { useQuery, useSuspenseQuery } from '@tanstack/react-query';
|
import { useQuery, useSuspenseQuery } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { queryClient } from '@/backend/queryClient';
|
|
||||||
import { useLibrary, useLibrarySuspense } from '@/features/library/backend/useLibrary';
|
import { useLibrary, useLibrarySuspense } from '@/features/library/backend/useLibrary';
|
||||||
|
|
||||||
|
import { queryClient } from '@/backend/queryClient';
|
||||||
|
|
||||||
import { ossApi } from './api';
|
import { ossApi } from './api';
|
||||||
import { OssLoader } from './OssLoader';
|
import { OssLoader } from './OssLoader';
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
|
||||||
import { ILibraryItem } from '@/features/library/models/library';
|
import { ILibraryItem } from '@/features/library/models/library';
|
||||||
|
|
||||||
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { ossApi } from './api';
|
import { ossApi } from './api';
|
||||||
import { IOperationUpdateDTO } from './types';
|
import { IOperationUpdateDTO } from './types';
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { MiniButton } from '@/components/Control';
|
import { MiniButton } from '@/components/Control';
|
||||||
import DataTable, { createColumnHelper } from '@/components/DataTable';
|
import DataTable, { createColumnHelper } from '@/components/DataTable';
|
||||||
|
@ -10,6 +10,7 @@ import { CProps } from '@/components/props';
|
||||||
import { NoData } from '@/components/View';
|
import { NoData } from '@/components/View';
|
||||||
|
|
||||||
import { IOperation, OperationID } from '../models/oss';
|
import { IOperation, OperationID } from '../models/oss';
|
||||||
|
|
||||||
import SelectOperation from './SelectOperation';
|
import SelectOperation from './SelectOperation';
|
||||||
|
|
||||||
interface PickMultiOperationProps extends CProps.Styling {
|
interface PickMultiOperationProps extends CProps.Styling {
|
||||||
|
|
|
@ -1,14 +1,15 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
|
import { Controller, useForm } from 'react-hook-form';
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
import clsx from 'clsx';
|
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 { MiniButton } from '@/components/Control';
|
||||||
import { IconReset } from '@/components/Icons';
|
import { IconReset } from '@/components/Icons';
|
||||||
import { Label } from '@/components/Input';
|
import { Label } from '@/components/Input';
|
||||||
import { ModalForm } from '@/components/Modal';
|
import { ModalForm } from '@/components/Modal';
|
||||||
import { ILibraryItem, LibraryItemType, PickSchema, useLibrary } from '@/features/library';
|
|
||||||
import { useDialogsStore } from '@/stores/dialogs';
|
import { useDialogsStore } from '@/stores/dialogs';
|
||||||
|
|
||||||
import { IInputUpdateDTO, IOperationPosition, schemaInputUpdate } from '../backend/types';
|
import { IInputUpdateDTO, IOperationPosition, schemaInputUpdate } from '../backend/types';
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import { FormProvider, useForm, useWatch } from 'react-hook-form';
|
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 { ModalForm } from '@/components/Modal';
|
||||||
import { TabLabel, TabList, TabPanel, Tabs } from '@/components/Tabs';
|
import { TabLabel, TabList, TabPanel, Tabs } from '@/components/Tabs';
|
||||||
import { HelpTopic } from '@/features/help';
|
|
||||||
import { useDialogsStore } from '@/stores/dialogs';
|
import { useDialogsStore } from '@/stores/dialogs';
|
||||||
|
|
||||||
import { IOperationCreateDTO, IOperationPosition, schemaOperationCreate } from '../../backend/types';
|
import { IOperationCreateDTO, IOperationPosition, schemaOperationCreate } from '../../backend/types';
|
||||||
|
@ -15,6 +16,7 @@ import { useOperationCreate } from '../../backend/useOperationCreate';
|
||||||
import { describeOperationType, labelOperationType } from '../../labels';
|
import { describeOperationType, labelOperationType } from '../../labels';
|
||||||
import { IOperationSchema, OperationID, OperationType } from '../../models/oss';
|
import { IOperationSchema, OperationID, OperationType } from '../../models/oss';
|
||||||
import { calculateInsertPosition } from '../../models/ossAPI';
|
import { calculateInsertPosition } from '../../models/ossAPI';
|
||||||
|
|
||||||
import TabInputOperation from './TabInputOperation';
|
import TabInputOperation from './TabInputOperation';
|
||||||
import TabSynthesisOperation from './TabSynthesisOperation';
|
import TabSynthesisOperation from './TabSynthesisOperation';
|
||||||
|
|
||||||
|
|
|
@ -2,14 +2,16 @@
|
||||||
|
|
||||||
import { Controller, useFormContext, useWatch } from 'react-hook-form';
|
import { Controller, useFormContext, useWatch } from 'react-hook-form';
|
||||||
|
|
||||||
|
import { ILibraryItem, LibraryItemType, PickSchema, useLibrary } from '@/features/library';
|
||||||
|
|
||||||
import { MiniButton } from '@/components/Control';
|
import { MiniButton } from '@/components/Control';
|
||||||
import { IconReset } from '@/components/Icons';
|
import { IconReset } from '@/components/Icons';
|
||||||
import { Checkbox, Label, TextArea, TextInput } from '@/components/Input';
|
import { Checkbox, Label, TextArea, TextInput } from '@/components/Input';
|
||||||
import { ILibraryItem, LibraryItemType, PickSchema, useLibrary } from '@/features/library';
|
|
||||||
import { useDialogsStore } from '@/stores/dialogs';
|
import { useDialogsStore } from '@/stores/dialogs';
|
||||||
|
|
||||||
import { IOperationCreateDTO } from '../../backend/types';
|
import { IOperationCreateDTO } from '../../backend/types';
|
||||||
import { sortItemsForOSS } from '../../models/ossAPI';
|
import { sortItemsForOSS } from '../../models/ossAPI';
|
||||||
|
|
||||||
import { DlgCreateOperationProps } from './DlgCreateOperation';
|
import { DlgCreateOperationProps } from './DlgCreateOperation';
|
||||||
|
|
||||||
function TabInputOperation() {
|
function TabInputOperation() {
|
||||||
|
|
|
@ -6,6 +6,7 @@ import { useDialogsStore } from '@/stores/dialogs';
|
||||||
|
|
||||||
import { IOperationCreateDTO } from '../../backend/types';
|
import { IOperationCreateDTO } from '../../backend/types';
|
||||||
import { PickMultiOperation } from '../../components/PickMultiOperation';
|
import { PickMultiOperation } from '../../components/PickMultiOperation';
|
||||||
|
|
||||||
import { DlgCreateOperationProps } from './DlgCreateOperation';
|
import { DlgCreateOperationProps } from './DlgCreateOperation';
|
||||||
|
|
||||||
function TabSynthesisOperation() {
|
function TabSynthesisOperation() {
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
|
import { Controller, useForm } from 'react-hook-form';
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
import clsx from 'clsx';
|
import clsx from 'clsx';
|
||||||
import { Controller, useForm } from 'react-hook-form';
|
|
||||||
|
import { HelpTopic } from '@/features/help';
|
||||||
|
|
||||||
import { Checkbox, TextInput } from '@/components/Input';
|
import { Checkbox, TextInput } from '@/components/Input';
|
||||||
import { ModalForm } from '@/components/Modal';
|
import { ModalForm } from '@/components/Modal';
|
||||||
import { HelpTopic } from '@/features/help';
|
|
||||||
import { useDialogsStore } from '@/stores/dialogs';
|
import { useDialogsStore } from '@/stores/dialogs';
|
||||||
|
|
||||||
import { IOperationDeleteDTO, IOperationPosition, schemaOperationDelete } from '../backend/types';
|
import { IOperationDeleteDTO, IOperationPosition, schemaOperationDelete } from '../backend/types';
|
||||||
|
|
|
@ -1,19 +1,21 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import { Suspense, useState } from 'react';
|
import { Suspense, useState } from 'react';
|
||||||
import { FormProvider, useForm, useWatch } from 'react-hook-form';
|
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 { Loader } from '@/components/Loader';
|
||||||
import { ModalForm } from '@/components/Modal';
|
import { ModalForm } from '@/components/Modal';
|
||||||
import { TabLabel, TabList, TabPanel, Tabs } from '@/components/Tabs';
|
import { TabLabel, TabList, TabPanel, Tabs } from '@/components/Tabs';
|
||||||
import { HelpTopic } from '@/features/help';
|
|
||||||
import { useDialogsStore } from '@/stores/dialogs';
|
import { useDialogsStore } from '@/stores/dialogs';
|
||||||
|
|
||||||
import { IOperationPosition, IOperationUpdateDTO, schemaOperationUpdate } from '../../backend/types';
|
import { IOperationPosition, IOperationUpdateDTO, schemaOperationUpdate } from '../../backend/types';
|
||||||
import { useOperationUpdate } from '../../backend/useOperationUpdate';
|
import { useOperationUpdate } from '../../backend/useOperationUpdate';
|
||||||
import { IOperation, IOperationSchema, OperationType } from '../../models/oss';
|
import { IOperation, IOperationSchema, OperationType } from '../../models/oss';
|
||||||
|
|
||||||
import TabArguments from './TabArguments';
|
import TabArguments from './TabArguments';
|
||||||
import TabOperation from './TabOperation';
|
import TabOperation from './TabOperation';
|
||||||
import TabSynthesis from './TabSynthesis';
|
import TabSynthesis from './TabSynthesis';
|
||||||
|
|
|
@ -7,6 +7,7 @@ import { useDialogsStore } from '@/stores/dialogs';
|
||||||
|
|
||||||
import { IOperationUpdateDTO } from '../../backend/types';
|
import { IOperationUpdateDTO } from '../../backend/types';
|
||||||
import { PickMultiOperation } from '../../components/PickMultiOperation';
|
import { PickMultiOperation } from '../../components/PickMultiOperation';
|
||||||
|
|
||||||
import { DlgEditOperationProps } from './DlgEditOperation';
|
import { DlgEditOperationProps } from './DlgEditOperation';
|
||||||
|
|
||||||
function TabArguments() {
|
function TabArguments() {
|
||||||
|
|
|
@ -2,13 +2,15 @@
|
||||||
|
|
||||||
import { Controller, useFormContext, useWatch } from 'react-hook-form';
|
import { Controller, useFormContext, useWatch } from 'react-hook-form';
|
||||||
|
|
||||||
import { TextArea } from '@/components/Input';
|
|
||||||
import { PickSubstitutions, useRSForms } from '@/features/rsform';
|
import { PickSubstitutions, useRSForms } from '@/features/rsform';
|
||||||
|
|
||||||
|
import { TextArea } from '@/components/Input';
|
||||||
import { useDialogsStore } from '@/stores/dialogs';
|
import { useDialogsStore } from '@/stores/dialogs';
|
||||||
import { APP_COLORS } from '@/styling/colors';
|
import { APP_COLORS } from '@/styling/colors';
|
||||||
|
|
||||||
import { IOperationUpdateDTO } from '../../backend/types';
|
import { IOperationUpdateDTO } from '../../backend/types';
|
||||||
import { SubstitutionValidator } from '../../models/ossAPI';
|
import { SubstitutionValidator } from '../../models/ossAPI';
|
||||||
|
|
||||||
import { DlgEditOperationProps } from './DlgEditOperation';
|
import { DlgEditOperationProps } from './DlgEditOperation';
|
||||||
|
|
||||||
function TabSynthesis() {
|
function TabSynthesis() {
|
||||||
|
|
|
@ -1,17 +1,18 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import { Controller, useForm, useWatch } from 'react-hook-form';
|
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 { MiniButton } from '@/components/Control';
|
||||||
import { RelocateUpIcon } from '@/components/DomainIcons';
|
import { RelocateUpIcon } from '@/components/DomainIcons';
|
||||||
import { Loader } from '@/components/Loader';
|
import { Loader } from '@/components/Loader';
|
||||||
import { ModalForm } from '@/components/Modal';
|
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 { useDialogsStore } from '@/stores/dialogs';
|
||||||
|
|
||||||
import { ICstRelocateDTO, IOperationPosition, schemaCstRelocate } from '../backend/types';
|
import { ICstRelocateDTO, IOperationPosition, schemaCstRelocate } from '../backend/types';
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
*/
|
*/
|
||||||
import { ILibraryItemData } from '@/features/library/models/library';
|
import { ILibraryItemData } from '@/features/library/models/library';
|
||||||
import { ICstSubstitute } from '@/features/rsform';
|
import { ICstSubstitute } from '@/features/rsform';
|
||||||
|
|
||||||
import { Graph } from '@/models/Graph';
|
import { Graph } from '@/models/Graph';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -12,6 +12,7 @@ import {
|
||||||
extractGlobals,
|
extractGlobals,
|
||||||
isSetTypification
|
isSetTypification
|
||||||
} from '@/features/rsform/models/rslangAPI';
|
} from '@/features/rsform/models/rslangAPI';
|
||||||
|
|
||||||
import { limits, PARAMETER } from '@/utils/constants';
|
import { limits, PARAMETER } from '@/utils/constants';
|
||||||
import { infoMsg } from '@/utils/labels';
|
import { infoMsg } from '@/utils/labels';
|
||||||
import { TextMatcher } from '@/utils/utils';
|
import { TextMatcher } from '@/utils/utils';
|
||||||
|
@ -19,6 +20,7 @@ import { TextMatcher } from '@/utils/utils';
|
||||||
import { Graph } from '../../../models/Graph';
|
import { Graph } from '../../../models/Graph';
|
||||||
import { IOperationPosition } from '../backend/types';
|
import { IOperationPosition } from '../backend/types';
|
||||||
import { describeSubstitutionError } from '../labels';
|
import { describeSubstitutionError } from '../labels';
|
||||||
|
|
||||||
import { IOperation, IOperationSchema, OperationID, OperationType, SubstitutionErrorType } from './oss';
|
import { IOperation, IOperationSchema, OperationID, OperationType, SubstitutionErrorType } from './oss';
|
||||||
import { Position2D } from './ossLayout';
|
import { Position2D } from './ossLayout';
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,15 @@
|
||||||
|
|
||||||
import clsx from 'clsx';
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { FlexColumn } from '@/components/Container';
|
|
||||||
import { EditorLibraryItem } from '@/features/library';
|
import { EditorLibraryItem } from '@/features/library';
|
||||||
import { ToolbarRSFormCard } from '@/features/rsform';
|
import { ToolbarRSFormCard } from '@/features/rsform';
|
||||||
|
|
||||||
|
import { FlexColumn } from '@/components/Container';
|
||||||
import { useModificationStore } from '@/stores/modification';
|
import { useModificationStore } from '@/stores/modification';
|
||||||
import { globals } from '@/utils/constants';
|
import { globals } from '@/utils/constants';
|
||||||
|
|
||||||
import { useOssEdit } from '../OssEditContext';
|
import { useOssEdit } from '../OssEditContext';
|
||||||
|
|
||||||
import FormOSS from './FormOSS';
|
import FormOSS from './FormOSS';
|
||||||
import OssStats from './OssStats';
|
import OssStats from './OssStats';
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,17 @@
|
||||||
'use no memo'; // TODO: remove when react hook forms are compliant with react compiler
|
'use no memo'; // TODO: remove when react hook forms are compliant with react compiler
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
import { useForm, useWatch } from 'react-hook-form';
|
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 { SubmitButton } from '@/components/Control';
|
||||||
import { IconSave } from '@/components/Icons';
|
import { IconSave } from '@/components/Icons';
|
||||||
import { TextArea, TextInput } from '@/components/Input';
|
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 { useModificationStore } from '@/stores/modification';
|
||||||
import { globals } from '@/utils/constants';
|
import { globals } from '@/utils/constants';
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { toPng } from 'html-to-image';
|
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import { toast } from 'react-toastify';
|
import { toast } from 'react-toastify';
|
||||||
import {
|
import {
|
||||||
|
@ -15,11 +14,13 @@ import {
|
||||||
useOnSelectionChange,
|
useOnSelectionChange,
|
||||||
useReactFlow
|
useReactFlow
|
||||||
} from 'reactflow';
|
} from 'reactflow';
|
||||||
|
import { toPng } from 'html-to-image';
|
||||||
|
|
||||||
import { urls, useConceptNavigation } from '@/app';
|
import { urls, useConceptNavigation } from '@/app';
|
||||||
|
import { useLibrary } from '@/features/library';
|
||||||
|
|
||||||
import { Overlay } from '@/components/Container';
|
import { Overlay } from '@/components/Container';
|
||||||
import { CProps } from '@/components/props';
|
import { CProps } from '@/components/props';
|
||||||
import { useLibrary } from '@/features/library';
|
|
||||||
import { useMainHeight } from '@/stores/appLayout';
|
import { useMainHeight } from '@/stores/appLayout';
|
||||||
import { useModificationStore } from '@/stores/modification';
|
import { useModificationStore } from '@/stores/modification';
|
||||||
import { APP_COLORS } from '@/styling/colors';
|
import { APP_COLORS } from '@/styling/colors';
|
||||||
|
@ -34,6 +35,7 @@ import { OperationID } from '../../../models/oss';
|
||||||
import { OssNode } from '../../../models/ossLayout';
|
import { OssNode } from '../../../models/ossLayout';
|
||||||
import { useOSSGraphStore } from '../../../stores/ossGraph';
|
import { useOSSGraphStore } from '../../../stores/ossGraph';
|
||||||
import { useOssEdit } from '../OssEditContext';
|
import { useOssEdit } from '../OssEditContext';
|
||||||
|
|
||||||
import { OssNodeTypes } from './graph/OssNodeTypes';
|
import { OssNodeTypes } from './graph/OssNodeTypes';
|
||||||
import NodeContextMenu, { ContextMenuData } from './NodeContextMenu';
|
import NodeContextMenu, { ContextMenuData } from './NodeContextMenu';
|
||||||
import ToolbarOssGraph from './ToolbarOssGraph';
|
import ToolbarOssGraph from './ToolbarOssGraph';
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
import clsx from 'clsx';
|
import clsx from 'clsx';
|
||||||
|
|
||||||
|
import { BadgeHelp, HelpTopic } from '@/features/help';
|
||||||
|
|
||||||
import { MiniButton } from '@/components/Control';
|
import { MiniButton } from '@/components/Control';
|
||||||
import {
|
import {
|
||||||
IconAnimation,
|
IconAnimation,
|
||||||
|
@ -18,7 +20,6 @@ import {
|
||||||
IconReset,
|
IconReset,
|
||||||
IconSave
|
IconSave
|
||||||
} from '@/components/Icons';
|
} from '@/components/Icons';
|
||||||
import { BadgeHelp, HelpTopic } from '@/features/help';
|
|
||||||
import { useModificationStore } from '@/stores/modification';
|
import { useModificationStore } from '@/stores/modification';
|
||||||
import { PARAMETER } from '@/utils/constants';
|
import { PARAMETER } from '@/utils/constants';
|
||||||
import { prepareTooltip } from '@/utils/utils';
|
import { prepareTooltip } from '@/utils/utils';
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import { Handle, Position } from 'reactflow';
|
import { Handle, Position } from 'reactflow';
|
||||||
|
|
||||||
import { OssNodeInternal } from '../../../../models/ossLayout';
|
import { OssNodeInternal } from '../../../../models/ossLayout';
|
||||||
|
|
||||||
import NodeCore from './NodeCore';
|
import NodeCore from './NodeCore';
|
||||||
|
|
||||||
function InputNode(node: OssNodeInternal) {
|
function InputNode(node: OssNodeInternal) {
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
import { Handle, Position } from 'reactflow';
|
import { Handle, Position } from 'reactflow';
|
||||||
|
|
||||||
import { OssNodeInternal } from '../../../../models/ossLayout';
|
import { OssNodeInternal } from '../../../../models/ossLayout';
|
||||||
|
|
||||||
import NodeCore from './NodeCore';
|
import NodeCore from './NodeCore';
|
||||||
|
|
||||||
function OperationNode(node: OssNodeInternal) {
|
function OperationNode(node: OssNodeInternal) {
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { urls, useConceptNavigation } from '@/app';
|
import { urls, useConceptNavigation } from '@/app';
|
||||||
|
import { useAuthSuspense } from '@/features/auth';
|
||||||
|
import { useRoleStore, UserRole } from '@/features/users';
|
||||||
|
|
||||||
import { Divider } from '@/components/Container';
|
import { Divider } from '@/components/Container';
|
||||||
import { Button } from '@/components/Control';
|
import { Button } from '@/components/Control';
|
||||||
import { Dropdown, DropdownButton, useDropdown } from '@/components/Dropdown';
|
import { Dropdown, DropdownButton, useDropdown } from '@/components/Dropdown';
|
||||||
|
@ -18,12 +21,11 @@ import {
|
||||||
IconReader,
|
IconReader,
|
||||||
IconShare
|
IconShare
|
||||||
} from '@/components/Icons';
|
} 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 { describeAccessMode as describeUserRole, labelAccessMode as labelUserRole } from '@/utils/labels';
|
||||||
import { sharePage } from '@/utils/utils';
|
import { sharePage } from '@/utils/utils';
|
||||||
|
|
||||||
import { useMutatingOss } from '../../backend/useMutatingOss';
|
import { useMutatingOss } from '../../backend/useMutatingOss';
|
||||||
|
|
||||||
import { useOssEdit } from './OssEditContext';
|
import { useOssEdit } from './OssEditContext';
|
||||||
|
|
||||||
function MenuOssTabs() {
|
function MenuOssTabs() {
|
||||||
|
|
|
@ -7,6 +7,7 @@ import { useAuthSuspense } from '@/features/auth';
|
||||||
import { ILibraryItemEditor, useDeleteItem, useLibrarySearchStore } from '@/features/library';
|
import { ILibraryItemEditor, useDeleteItem, useLibrarySearchStore } from '@/features/library';
|
||||||
import { RSTabID } from '@/features/rsform/pages/RSFormPage/RSEditContext';
|
import { RSTabID } from '@/features/rsform/pages/RSFormPage/RSEditContext';
|
||||||
import { useRoleStore, UserRole } from '@/features/users';
|
import { useRoleStore, UserRole } from '@/features/users';
|
||||||
|
|
||||||
import { useDialogsStore } from '@/stores/dialogs';
|
import { useDialogsStore } from '@/stores/dialogs';
|
||||||
import { usePreferencesStore } from '@/stores/preferences';
|
import { usePreferencesStore } from '@/stores/preferences';
|
||||||
import { promptText } from '@/utils/labels';
|
import { promptText } from '@/utils/labels';
|
||||||
|
|
|
@ -6,6 +6,7 @@ import { useParams } from 'react-router';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
|
|
||||||
import { urls, useBlockNavigation, useConceptNavigation } from '@/app';
|
import { urls, useBlockNavigation, useConceptNavigation } from '@/app';
|
||||||
|
|
||||||
import { isAxiosError } from '@/backend/apiTransport';
|
import { isAxiosError } from '@/backend/apiTransport';
|
||||||
import { TextURL } from '@/components/Control';
|
import { TextURL } from '@/components/Control';
|
||||||
import { ErrorData } from '@/components/InfoError';
|
import { ErrorData } from '@/components/InfoError';
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
|
||||||
import { useConceptNavigation } from '@/app/Navigation/NavigationContext';
|
import { useConceptNavigation } from '@/app/Navigation/NavigationContext';
|
||||||
|
|
||||||
import { Overlay } from '@/components/Container';
|
import { Overlay } from '@/components/Container';
|
||||||
import { TabLabel, TabList, TabPanel, Tabs } from '@/components/Tabs';
|
import { TabLabel, TabList, TabPanel, Tabs } from '@/components/Tabs';
|
||||||
import { useAppLayoutStore } from '@/stores/appLayout';
|
import { useAppLayoutStore } from '@/stores/appLayout';
|
||||||
|
|
|
@ -8,6 +8,7 @@ import { CstType, IConstituenta, IRSForm, IRSFormStats } from '../models/rsform'
|
||||||
import { inferClass, inferStatus, inferTemplate, isBaseSet, isFunctional } from '../models/rsformAPI';
|
import { inferClass, inferStatus, inferTemplate, isBaseSet, isFunctional } from '../models/rsformAPI';
|
||||||
import { ParsingStatus, ValueClass } from '../models/rslang';
|
import { ParsingStatus, ValueClass } from '../models/rslang';
|
||||||
import { extractGlobals, isSimpleExpression, splitTemplateDefinition } from '../models/rslangAPI';
|
import { extractGlobals, isSimpleExpression, splitTemplateDefinition } from '../models/rslangAPI';
|
||||||
|
|
||||||
import { IRSFormDTO } from './types';
|
import { IRSFormDTO } from './types';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -6,6 +6,7 @@ import { infoMsg } from '@/utils/labels';
|
||||||
|
|
||||||
import { IConstituentaList, IConstituentaMeta, ITargetCst } from '../models/rsform';
|
import { IConstituentaList, IConstituentaMeta, ITargetCst } from '../models/rsform';
|
||||||
import { IExpressionParse } from '../models/rslang';
|
import { IExpressionParse } from '../models/rslang';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
ICheckConstituentaDTO,
|
ICheckConstituentaDTO,
|
||||||
ICstCreatedResponse,
|
ICstCreatedResponse,
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
|
|
||||||
import { ILibraryItemReference, ILibraryItemVersioned } from '@/features/library/models/library';
|
import { ILibraryItemReference, ILibraryItemVersioned } from '@/features/library/models/library';
|
||||||
|
|
||||||
import { errorMsg } from '@/utils/labels';
|
import { errorMsg } from '@/utils/labels';
|
||||||
|
|
||||||
import { CstType, IConstituentaMeta, IInheritanceInfo, TermForm } from '../models/rsform';
|
import { CstType, IConstituentaMeta, IInheritanceInfo, TermForm } from '../models/rsform';
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
|
||||||
import { useUpdateTimestamp } from '@/features/library';
|
import { useUpdateTimestamp } from '@/features/library';
|
||||||
|
|
||||||
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { rsformsApi } from './api';
|
import { rsformsApi } from './api';
|
||||||
import { ICstCreateDTO } from './types';
|
import { ICstCreateDTO } from './types';
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
|
||||||
import { useUpdateTimestamp } from '@/features/library';
|
import { useUpdateTimestamp } from '@/features/library';
|
||||||
|
|
||||||
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { IConstituentaList } from '../models/rsform';
|
import { IConstituentaList } from '../models/rsform';
|
||||||
|
|
||||||
import { rsformsApi } from './api';
|
import { rsformsApi } from './api';
|
||||||
|
|
||||||
export const useCstDelete = () => {
|
export const useCstDelete = () => {
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
|
||||||
import { useUpdateTimestamp } from '@/features/library';
|
import { useUpdateTimestamp } from '@/features/library';
|
||||||
|
|
||||||
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { rsformsApi } from './api';
|
import { rsformsApi } from './api';
|
||||||
import { ICstRenameDTO } from './types';
|
import { ICstRenameDTO } from './types';
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user