mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
add ui
This commit is contained in:
1 parent
777a4bc927
commit
9c45527522
396 files changed
+13772
No files matched your search
@@ -0,0 +1,42 @@
|
||||
import attachObjectMeta from './util/objectMeta';
|
||||
|
||||
export const CONTEST_TYPE_CONTEST = 1;
|
||||
export const CONTEST_TYPE_HOMEWORK = 2;
|
||||
|
||||
export const RULE_OI = 2;
|
||||
export const RULE_ACM = 3;
|
||||
export const RULE_ASSIGNMENT = 11;
|
||||
|
||||
export const DOCTYPE_TO_CTYPE = {
|
||||
30: 'contest',
|
||||
60: 'homework',
|
||||
};
|
||||
attachObjectMeta(DOCTYPE_TO_CTYPE, 'intKey', true);
|
||||
|
||||
export const CTYPE_TO_DOCTYPE = {
|
||||
contest: 30,
|
||||
homework: 60,
|
||||
};
|
||||
|
||||
export const CONTEST_RULES = [
|
||||
RULE_OI,
|
||||
RULE_ACM,
|
||||
];
|
||||
|
||||
export const HOMEWORK_RULES = [
|
||||
RULE_ASSIGNMENT,
|
||||
];
|
||||
|
||||
export const RULE_ID = {
|
||||
[RULE_OI]: 'oi',
|
||||
[RULE_ACM]: 'acm',
|
||||
[RULE_ASSIGNMENT]: 'assignment',
|
||||
};
|
||||
attachObjectMeta(RULE_ID, 'intKey', true);
|
||||
|
||||
export const RULE_TEXTS = {
|
||||
[RULE_OI]: 'OI',
|
||||
[RULE_ACM]: 'ACM/ICPC',
|
||||
[RULE_ASSIGNMENT]: 'Assignment',
|
||||
};
|
||||
attachObjectMeta(RULE_TEXTS, 'intKey', true);
|
||||
@@ -0,0 +1,25 @@
|
||||
import attachObjectMeta from './util/objectMeta';
|
||||
|
||||
export const JOIN_METHOD_NONE = 0;
|
||||
export const JOIN_METHOD_ALL = 1;
|
||||
export const JOIN_METHOD_CODE = 2;
|
||||
export const JOIN_METHOD_RANGE = {
|
||||
[JOIN_METHOD_NONE]: 'No user is allowed to join this domain',
|
||||
[JOIN_METHOD_ALL]: 'Any user is allowed to join this domain',
|
||||
[JOIN_METHOD_CODE]: 'Any user is allowed to join this domain with an invitation code',
|
||||
};
|
||||
attachObjectMeta(JOIN_METHOD_RANGE, 'intKey', true);
|
||||
|
||||
export const JOIN_EXPIRATION_KEEP_CURRENT = 0;
|
||||
export const JOIN_EXPIRATION_UNLIMITED = -1;
|
||||
|
||||
export const JOIN_EXPIRATION_RANGE = {
|
||||
[JOIN_EXPIRATION_KEEP_CURRENT]: 'Keep current expiration',
|
||||
3: 'In 3 hours',
|
||||
24: 'In 1 day',
|
||||
[24 * 3]: 'In 3 days',
|
||||
[24 * 7]: 'In 1 week',
|
||||
[24 * 30]: 'In 1 month',
|
||||
[JOIN_EXPIRATION_UNLIMITED]: 'Never expire',
|
||||
};
|
||||
attachObjectMeta(JOIN_EXPIRATION_RANGE, 'intKey', true);
|
||||
@@ -0,0 +1,50 @@
|
||||
import attachObjectMeta from './util/objectMeta';
|
||||
|
||||
export const LANG_TEXTS = {
|
||||
c: 'C',
|
||||
cc: 'C++',
|
||||
cs: 'C#',
|
||||
pas: 'Pascal',
|
||||
java: 'Java',
|
||||
py: 'Python',
|
||||
py3: 'Python 3',
|
||||
php: 'PHP',
|
||||
rs: 'Rust',
|
||||
hs: 'Haskell',
|
||||
js: 'JavaScript',
|
||||
go: 'Go',
|
||||
rb: 'Ruby',
|
||||
};
|
||||
|
||||
export const LANG_HIGHLIGHT_ID = {
|
||||
c: 'c',
|
||||
cc: 'cpp',
|
||||
cs: 'csharp',
|
||||
pas: 'pascal',
|
||||
java: 'java',
|
||||
py: 'python',
|
||||
py3: 'python',
|
||||
php: 'php',
|
||||
rs: 'rust',
|
||||
hs: 'haskell',
|
||||
js: 'javascript',
|
||||
go: 'go',
|
||||
rb: 'ruby',
|
||||
};
|
||||
|
||||
export const LANG_CODEMIRROR_MODES = {
|
||||
c: 'text/x-csrc',
|
||||
cc: 'text/x-c++src',
|
||||
cs: 'text/x-csharp',
|
||||
pas: 'text/x-pascal',
|
||||
java: 'text/x-java',
|
||||
py: 'text/x-python',
|
||||
py3: 'text/x-python',
|
||||
php: 'text/x-php',
|
||||
rs: 'text/x-rustsrc',
|
||||
hs: 'text/x-haskell',
|
||||
js: 'text/javascript',
|
||||
go: 'text/x-go',
|
||||
rb: 'text/x-ruby',
|
||||
};
|
||||
attachObjectMeta(LANG_CODEMIRROR_MODES, 'exportToPython', false);
|
||||
@@ -0,0 +1,18 @@
|
||||
import attachObjectMeta from './util/objectMeta';
|
||||
|
||||
export const USER_GENDER_MALE = 0;
|
||||
export const USER_GENDER_FEMALE = 1;
|
||||
export const USER_GENDER_OTHER = 2;
|
||||
export const USER_GENDERS = [USER_GENDER_MALE, USER_GENDER_FEMALE, USER_GENDER_OTHER];
|
||||
export const USER_GENDER_RANGE = {
|
||||
[USER_GENDER_MALE]: 'Boy ♂',
|
||||
[USER_GENDER_FEMALE]: 'Girl ♀',
|
||||
[USER_GENDER_OTHER]: 'Other',
|
||||
};
|
||||
attachObjectMeta(USER_GENDER_RANGE, 'intKey', true);
|
||||
export const USER_GENDER_ICONS = {
|
||||
[USER_GENDER_MALE]: '♂',
|
||||
[USER_GENDER_FEMALE]: '♀',
|
||||
[USER_GENDER_OTHER]: '?',
|
||||
};
|
||||
attachObjectMeta(USER_GENDER_ICONS, 'intKey', true);
|
||||
@@ -0,0 +1,98 @@
|
||||
import attachObjectMeta from './util/objectMeta';
|
||||
|
||||
// Please note that accepted < others, rp system uses this feature.
|
||||
export const STATUS_WAITING = 0;
|
||||
export const STATUS_ACCEPTED = 1;
|
||||
export const STATUS_WRONG_ANSWER = 2;
|
||||
export const STATUS_TIME_LIMIT_EXCEEDED = 3;
|
||||
export const STATUS_MEMORY_LIMIT_EXCEEDED = 4;
|
||||
export const STATUS_OUTPUT_LIMIT_EXCEEDED = 5;
|
||||
export const STATUS_RUNTIME_ERROR = 6;
|
||||
export const STATUS_COMPILE_ERROR = 7;
|
||||
export const STATUS_SYSTEM_ERROR = 8;
|
||||
export const STATUS_CANCELED = 9;
|
||||
export const STATUS_ETC = 10;
|
||||
export const STATUS_JUDGING = 20;
|
||||
export const STATUS_COMPILING = 21;
|
||||
export const STATUS_FETCHED = 22;
|
||||
export const STATUS_IGNORED = 30;
|
||||
|
||||
export const TYPE_SUBMISSION = 0;
|
||||
export const TYPE_PRETEST = 1;
|
||||
|
||||
export const STATUS_TEXTS = {
|
||||
[STATUS_WAITING]: 'Waiting',
|
||||
[STATUS_ACCEPTED]: 'Accepted',
|
||||
[STATUS_WRONG_ANSWER]: 'Wrong Answer',
|
||||
[STATUS_TIME_LIMIT_EXCEEDED]: 'Time Exceeded',
|
||||
[STATUS_MEMORY_LIMIT_EXCEEDED]: 'Memory Exceeded',
|
||||
[STATUS_OUTPUT_LIMIT_EXCEEDED]: 'Output Exceeded',
|
||||
[STATUS_RUNTIME_ERROR]: 'Runtime Error',
|
||||
[STATUS_COMPILE_ERROR]: 'Compile Error',
|
||||
[STATUS_SYSTEM_ERROR]: 'System Error',
|
||||
[STATUS_CANCELED]: 'Cancelled',
|
||||
[STATUS_ETC]: 'Unknown Error',
|
||||
[STATUS_JUDGING]: 'Running',
|
||||
[STATUS_COMPILING]: 'Compiling',
|
||||
[STATUS_FETCHED]: 'Fetched',
|
||||
[STATUS_IGNORED]: 'Ignored',
|
||||
};
|
||||
attachObjectMeta(STATUS_TEXTS, 'intKey', true);
|
||||
|
||||
export const STATUS_CODES = {
|
||||
[STATUS_WAITING]: 'pending',
|
||||
[STATUS_ACCEPTED]: 'pass',
|
||||
[STATUS_WRONG_ANSWER]: 'fail',
|
||||
[STATUS_TIME_LIMIT_EXCEEDED]: 'fail',
|
||||
[STATUS_MEMORY_LIMIT_EXCEEDED]: 'fail',
|
||||
[STATUS_OUTPUT_LIMIT_EXCEEDED]: 'fail',
|
||||
[STATUS_RUNTIME_ERROR]: 'fail',
|
||||
[STATUS_COMPILE_ERROR]: 'fail',
|
||||
[STATUS_SYSTEM_ERROR]: 'fail',
|
||||
[STATUS_CANCELED]: 'ignored',
|
||||
[STATUS_ETC]: 'fail',
|
||||
[STATUS_JUDGING]: 'progress',
|
||||
[STATUS_COMPILING]: 'progress',
|
||||
[STATUS_FETCHED]: 'progress',
|
||||
[STATUS_IGNORED]: 'ignored',
|
||||
};
|
||||
attachObjectMeta(STATUS_CODES, 'intKey', true);
|
||||
|
||||
/**
|
||||
* Whether to show detail about each test case for a submission status
|
||||
*/
|
||||
export const STATUS_SCRATCHPAD_SHOW_DETAIL_FLAGS = {
|
||||
[STATUS_WAITING]: false,
|
||||
[STATUS_ACCEPTED]: true,
|
||||
[STATUS_WRONG_ANSWER]: true,
|
||||
[STATUS_TIME_LIMIT_EXCEEDED]: true,
|
||||
[STATUS_MEMORY_LIMIT_EXCEEDED]: true,
|
||||
[STATUS_RUNTIME_ERROR]: true,
|
||||
[STATUS_COMPILE_ERROR]: false,
|
||||
[STATUS_SYSTEM_ERROR]: false,
|
||||
[STATUS_CANCELED]: false,
|
||||
[STATUS_ETC]: false,
|
||||
[STATUS_JUDGING]: false,
|
||||
[STATUS_COMPILING]: false,
|
||||
[STATUS_FETCHED]: false,
|
||||
[STATUS_IGNORED]: false,
|
||||
};
|
||||
attachObjectMeta(STATUS_SCRATCHPAD_SHOW_DETAIL_FLAGS, 'exportToPython', false);
|
||||
|
||||
/**
|
||||
* Short text to show in Scratchpad mode
|
||||
*/
|
||||
export const STATUS_SCRATCHPAD_SHORT_TEXTS = {
|
||||
[STATUS_ACCEPTED]: 'AC',
|
||||
[STATUS_WRONG_ANSWER]: 'WA',
|
||||
[STATUS_TIME_LIMIT_EXCEEDED]: 'TLE',
|
||||
[STATUS_MEMORY_LIMIT_EXCEEDED]: 'MLE',
|
||||
[STATUS_RUNTIME_ERROR]: 'RTE',
|
||||
};
|
||||
attachObjectMeta(STATUS_SCRATCHPAD_SHORT_TEXTS, 'exportToPython', false);
|
||||
|
||||
export const TYPE_TEXTS = {
|
||||
[TYPE_SUBMISSION]: 'Submission',
|
||||
[TYPE_PRETEST]: 'Pretest',
|
||||
};
|
||||
attachObjectMeta(TYPE_TEXTS, 'intKey', true);
|
||||
@@ -0,0 +1,42 @@
|
||||
import attachObjectMeta from './util/objectMeta';
|
||||
|
||||
export const PRIVACY_PUBLIC = 0;
|
||||
export const PRIVACY_REGISTERED_ONLY = 1;
|
||||
export const PRIVACY_SECRET = 2;
|
||||
export const PRIVACY_RANGE = {
|
||||
[PRIVACY_PUBLIC]: 'Public',
|
||||
[PRIVACY_REGISTERED_ONLY]: 'Visible to registered users',
|
||||
[PRIVACY_SECRET]: 'Secret',
|
||||
};
|
||||
attachObjectMeta(PRIVACY_RANGE, 'intKey', true);
|
||||
|
||||
export const FUNCTION_RANGE = {
|
||||
0: 'Disabled',
|
||||
1: 'Enabled',
|
||||
};
|
||||
attachObjectMeta(FUNCTION_RANGE, 'intKey', true);
|
||||
|
||||
export const BACKGROUND_RANGE = {
|
||||
1: 'Bg1',
|
||||
2: 'Bg2',
|
||||
3: 'Bg3',
|
||||
4: 'Bg4',
|
||||
5: 'Bg5',
|
||||
6: 'Bg6',
|
||||
7: 'Bg7',
|
||||
8: 'Bg8',
|
||||
9: 'Bg9',
|
||||
10: 'Bg10',
|
||||
11: 'Bg11',
|
||||
12: 'Bg12',
|
||||
13: 'Bg13',
|
||||
14: 'Bg14',
|
||||
15: 'Bg15',
|
||||
16: 'Bg16',
|
||||
17: 'Bg17',
|
||||
18: 'Bg18',
|
||||
19: 'Bg19',
|
||||
20: 'Bg20',
|
||||
21: 'Bg21',
|
||||
};
|
||||
attachObjectMeta(BACKGROUND_RANGE, 'intKey', true);
|
||||
@@ -0,0 +1,8 @@
|
||||
export default function attachObjectMeta(obj, key, value) {
|
||||
Object.defineProperty(obj, `__${key}`, {
|
||||
value,
|
||||
enumerable: false,
|
||||
configurable: false,
|
||||
writable: false,
|
||||
});
|
||||
}
|
||||
Reference in new issue
Block a user