ConceptPortal-public/rsconcept/frontend/src/utils/constants.ts

110 lines
3.6 KiB
TypeScript
Raw Normal View History

/**
* Module: Global constants.
*/
2025-04-30 01:10:45 +03:00
/** Global application Parameters. The place where magic numbers are put to rest. */
2024-04-06 14:39:49 +03:00
export const PARAMETER = {
2024-08-23 22:53:53 +03:00
smallScreen: 640, // == tailwind:sm
minimalTimeout: 10, // milliseconds delay for fast updates
2024-04-06 14:39:49 +03:00
refreshTimeout: 100, // milliseconds delay for post-refresh actions
2025-02-26 16:46:34 +03:00
notificationDelay: 300, // milliseconds delay for notifications
2024-07-23 23:04:21 +03:00
zoomDuration: 500, // milliseconds animation duration
2025-02-17 15:12:15 +03:00
navigationPopupDelay: 300, // milliseconds delay for navigation popup
2024-12-02 15:59:03 +03:00
moveDuration: 500, // milliseconds - duration of move animation
2024-07-24 18:11:39 +03:00
ossImageWidth: 1280, // pixels - size of OSS image
ossImageHeight: 960, // pixels - size of OSS image
2024-07-23 23:04:21 +03:00
2024-12-02 20:48:39 +03:00
graphHandleSize: 3, // pixels - size of graph connection handle
2024-12-02 15:59:03 +03:00
graphNodePadding: 5, // pixels - padding of graph node
graphNodeRadius: 20, // pixels - radius of graph node
2024-08-23 12:35:48 +03:00
2024-06-09 20:41:33 +03:00
logicLabel: 'LOGIC',
errorNodeLabel: '[ERROR]',
exteorVersion: '4.9.7'
2025-04-30 01:10:45 +03:00
} as const;
2024-01-16 13:47:29 +03:00
2025-04-30 01:10:45 +03:00
/** Numeric limitations. */
2024-04-06 14:39:49 +03:00
export const limits = {
location_len: 500
2025-04-30 01:10:45 +03:00
} as const;
2025-04-30 01:10:45 +03:00
/** Exteor file extension for RSForm. */
export const EXTEOR_TRS_FILE = '.trs';
2025-04-30 01:10:45 +03:00
/** Regex patterns for data validation. */
2023-12-08 19:58:16 +03:00
export const patterns = {
2024-08-19 10:56:24 +03:00
login: '^[a-zA-Z][a-zA-Z0-9_\\-]{1,}[a-zA-Z0-9]$'
2025-04-30 01:10:45 +03:00
} as const;
2023-12-08 19:58:16 +03:00
2025-04-30 01:10:45 +03:00
/** Local URIs. */
export const resources = {
privacy_policy: '/privacy.pdf',
2024-07-28 13:07:22 +03:00
logo: '/logo_full.svg',
db_schema: '/db_schema.svg'
2025-04-30 01:10:45 +03:00
} as const;
2025-04-30 01:10:45 +03:00
/** Youtube IDs for embedding. */
2023-08-27 23:04:57 +03:00
export const youtube = {
intro: '0Ty9mu9sOJo'
2025-04-30 01:10:45 +03:00
} as const;
2023-08-27 23:04:57 +03:00
2025-04-30 01:10:45 +03:00
/** External URLs. */
export const external_urls = {
2023-07-25 20:27:29 +03:00
concept: 'https://www.acconcept.ru/',
exteor32: 'https://drive.google.com/open?id=1IHlMMwaYlAUBRSxU1RU_hXM5mFU9-oyK&usp=drive_fs',
exteor64: 'https://drive.google.com/open?id=1IJt25ZRQ-ZMA6t7hOqmo5cv05WJCQKMv&usp=drive_fs',
ponomarev: 'https://inponomarev.ru/textbook',
intro_video: 'https://www.youtube.com/watch?v=0Ty9mu9sOJo',
2023-08-03 17:57:58 +03:00
full_course: 'https://www.youtube.com/playlist?list=PLGe_JiAwpqu1C70ruQmCm_OWTWU3KJwDo',
2024-05-16 22:39:28 +03:00
zak_lectures:
'https://www.acconcept.ru/product/metody-konceptualnogo-analiza-i-sinteza-v-teoreticheskom-issledovanii-i-proektirovanii-socialno-jekonomicheskih-sistem-3-e-izdanie/',
2023-08-23 18:50:49 +03:00
2024-06-18 20:11:45 +03:00
git_portal: 'https://github.com/IRBorisov/ConceptPortal',
git_core: 'https://github.com/IRBorisov/ConceptCore',
git_cctext: 'https://github.com/IRBorisov/cctext',
2023-12-26 14:23:51 +03:00
mail_portal: 'mailto:portal@acconcept.ru',
restAPI: 'https://api.portal.acconcept.ru'
2025-04-30 01:10:45 +03:00
} as const;
2023-07-15 17:46:19 +03:00
2025-04-30 01:10:45 +03:00
/** Global element ID. */
2025-02-20 18:10:53 +03:00
export const globalIDs = {
tooltip: 'global_tooltip',
value_tooltip: 'value_tooltip',
2024-12-20 14:36:30 +03:00
constituenta_tooltip: 'cst_tooltip',
operation_tooltip: 'operation_tooltip',
email_tooltip: 'email_tooltip',
library_item_editor: 'library_item_editor',
constituenta_editor: 'constituenta_editor',
graph_schemas: 'graph_schemas_tooltip',
2025-07-11 13:34:00 +03:00
user_dropdown: 'user_dropdown',
ai_dropdown: 'ai_dropdown'
2025-04-30 01:10:45 +03:00
} as const;
2023-09-05 00:23:53 +03:00
2025-04-30 01:10:45 +03:00
/** Prefixes for generating unique keys for lists. */
export const prefixes = {
page_size: 'page_size_',
2024-08-01 00:36:06 +03:00
oss_list: 'oss_list_',
cst_list: 'cst_list_',
cst_side_table: 'cst_side_table_',
cst_hidden_list: 'cst_hidden_list_',
cst_status_list: 'cst_status_list_',
cst_source_list: 'cst_source_list_',
cst_delete_list: 'cst_delete_list_',
cst_dependant_list: 'cst_dependant_list_',
schemas_list: 'schemas_list_',
2024-07-26 00:34:08 +03:00
operation_list: 'operation_list_',
csttype_list: 'csttype_',
policy_list: 'policy_list_',
location_head_list: 'location_head_list_',
2024-06-19 22:10:15 +03:00
folders_list: 'folders_list_',
topic_list: 'topic_list_',
2024-05-16 14:01:06 +03:00
topic_item: 'topic_item_',
2024-05-27 20:42:34 +03:00
user_subs: 'user_subs_',
user_editors: 'user_editors_',
wordform_list: 'wordform_list_',
rsedit_btn: 'rsedit_btn_'
2025-04-30 01:10:45 +03:00
} as const;