ui: upgrade to webpack5

This commit is contained in:
undefined committed 2022-08-07 03:15:36 +08:00
1 parent 8648929063
commit a05125c6b0
134 files changed
+503 -457

No files matched your search

+4 -3
View File
@@ -1,9 +1,10 @@
/* eslint-disable react/function-component-definition */
import { NamedPage } from 'vj/misc/Page';
import request from 'vj/utils/request';
import 'graphiql/graphiql.css';
import React from 'react';
import ReactDOM from 'react-dom/client';
import 'graphiql/graphiql.css';
import { NamedPage } from 'vj/misc/Page';
import request from 'vj/utils/request';
const Logo = () => <span>Hydro API Console </span>;
const defaultQuery = `\
@@ -1,9 +1,10 @@
import { NamedPage } from 'vj/misc/Page';
import { ConfirmDialog } from 'vj/components/dialog';
import $ from 'jquery';
import ProblemSelectAutoComplete from 'vj/components/autocomplete/ProblemSelectAutoComplete';
import tpl from 'vj/utils/tpl';
import { ConfirmDialog } from 'vj/components/dialog';
import { NamedPage } from 'vj/misc/Page';
import i18n from 'vj/utils/i18n';
import request from 'vj/utils/request';
import tpl from 'vj/utils/tpl';
const page = new NamedPage(['contest_edit', 'contest_create', 'homework_create', 'homework_edit'], (pagename) => {
ProblemSelectAutoComplete.getOrConstruct($('[name="pids"]'), { multi: true, clearDefaultValue: false });
@@ -1,3 +1,4 @@
import $ from 'jquery';
import { NamedPage } from 'vj/misc/Page';
const page = new NamedPage('contest_main', () => {
@@ -1,14 +1,13 @@
import $ from 'jquery';
import _ from 'lodash';
import { NamedPage } from 'vj/misc/Page';
import UserSelectAutoComplete from 'vj/components/autocomplete/UserSelectAutoComplete';
import { ActionDialog, ConfirmDialog } from 'vj/components/dialog';
import Notification from 'vj/components/notification';
import { ConfirmDialog, ActionDialog } from 'vj/components/dialog';
import tpl from 'vj/utils/tpl';
import { NamedPage } from 'vj/misc/Page';
import api, { gql } from 'vj/utils/api';
import delay from 'vj/utils/delay';
import i18n from 'vj/utils/i18n';
import UserSelectAutoComplete from 'vj/components/autocomplete/UserSelectAutoComplete';
import api, { gql } from 'vj/utils/api';
import tpl from 'vj/utils/tpl';
function update(name: string, uids: number[]) {
return api(gql`
@@ -1,5 +1,6 @@
import { NamedPage } from 'vj/misc/Page';
import $ from 'jquery';
import * as domainEnum from 'vj/constant/domain';
import { NamedPage } from 'vj/misc/Page';
const page = new NamedPage('domain_join_applications', () => {
const $role = $('[name="role"]');
@@ -1,13 +1,12 @@
import $ from 'jquery';
import _ from 'lodash';
import { NamedPage } from 'vj/misc/Page';
import { ActionDialog, ConfirmDialog } from 'vj/components/dialog';
import Notification from 'vj/components/notification';
import { ConfirmDialog, ActionDialog } from 'vj/components/dialog';
import request from 'vj/utils/request';
import tpl from 'vj/utils/tpl';
import { NamedPage } from 'vj/misc/Page';
import delay from 'vj/utils/delay';
import i18n from 'vj/utils/i18n';
import request from 'vj/utils/request';
import tpl from 'vj/utils/tpl';
const page = new NamedPage('domain_role', () => {
const createRoleDialog = new ActionDialog({
@@ -1,14 +1,13 @@
import $ from 'jquery';
import _ from 'lodash';
import { NamedPage } from 'vj/misc/Page';
import Notification from 'vj/components/notification';
import { ConfirmDialog, ActionDialog } from 'vj/components/dialog';
import UserSelectAutoComplete from 'vj/components/autocomplete/UserSelectAutoComplete';
import request from 'vj/utils/request';
import tpl from 'vj/utils/tpl';
import { ActionDialog, ConfirmDialog } from 'vj/components/dialog';
import Notification from 'vj/components/notification';
import { NamedPage } from 'vj/misc/Page';
import delay from 'vj/utils/delay';
import i18n from 'vj/utils/i18n';
import request from 'vj/utils/request';
import tpl from 'vj/utils/tpl';
const page = new NamedPage('domain_user', () => {
const addUserSelector = UserSelectAutoComplete.getOrConstruct($('.dialog__body--add-user [name="user"]'));
+7 -6
View File
@@ -1,12 +1,13 @@
import _ from 'lodash';
import Clipboard from 'clipboard';
import { NamedPage } from 'vj/misc/Page';
import Notification from 'vj/components/notification';
import $ from 'jquery';
import _ from 'lodash';
import { ConfirmDialog, Dialog } from 'vj/components/dialog/index';
import request from 'vj/utils/request';
import pjax from 'vj/utils/pjax';
import tpl from 'vj/utils/tpl';
import Notification from 'vj/components/notification';
import { NamedPage } from 'vj/misc/Page';
import i18n from 'vj/utils/i18n';
import pjax from 'vj/utils/pjax';
import request from 'vj/utils/request';
import tpl from 'vj/utils/tpl';
function onBeforeUnload(e) {
e.returnValue = '';
@@ -1,12 +1,13 @@
import { NamedPage } from 'vj/misc/Page';
import $ from 'jquery';
import React from 'react';
import { createRoot } from 'react-dom/client';
import UserSelectAutoComplete from 'vj/components/autocomplete/UserSelectAutoComplete';
import { ActionDialog } from 'vj/components/dialog';
import VjNotification from 'vj/components/notification';
import { NamedPage } from 'vj/misc/Page';
import api, { gql } from 'vj/utils/api';
import loadReactRedux from 'vj/utils/loadReactRedux';
import parseQueryString from 'vj/utils/parseQueryString';
import VjNotification from 'vj/components/notification';
import { ActionDialog } from 'vj/components/dialog';
import UserSelectAutoComplete from 'vj/components/autocomplete/UserSelectAutoComplete';
const page = new NamedPage('home_messages', () => {
let reduxStore;
@@ -1,9 +1,10 @@
import $ from 'jquery';
import { renderLanguageSelect } from 'vj/components/languageselect';
import { NamedPage } from 'vj/misc/Page';
import getAvailableLangs from 'vj/utils/availableLangs';
import delay from 'vj/utils/delay';
import i18n from 'vj/utils/i18n';
import tpl from 'vj/utils/tpl';
import getAvailableLangs from 'vj/utils/availableLangs';
import { renderLanguageSelect } from 'vj/components/languageselect';
import delay from 'vj/utils/delay';
async function initCodeLangHelper() {
const $el = $(tpl`<div class="row" id="codelang-select"></div>`);
@@ -1,12 +1,13 @@
import { NamedPage } from 'vj/misc/Page';
import $ from 'jquery';
import QRCode from 'qrcode';
import b32 from 'thirty-two';
import Notification from 'vj/components/notification';
import i18n from 'vj/utils/i18n';
import tpl from 'vj/utils/tpl';
import { ActionDialog } from 'vj/components/dialog';
import Notification from 'vj/components/notification';
import { NamedPage } from 'vj/misc/Page';
import api, { gql } from 'vj/utils/api';
import delay from 'vj/utils/delay';
import i18n from 'vj/utils/i18n';
import tpl from 'vj/utils/tpl';
export default new NamedPage('home_security', () => {
$(document).on('click', '[name="tfa_enable"]', async () => {
@@ -1,3 +1,4 @@
import $ from 'jquery';
import { NamedPage } from 'vj/misc/Page';
import i18n from 'vj/utils/i18n';
import { parse as parseMongoId } from 'vj/utils/mongoId';
@@ -1,3 +1,4 @@
import $ from 'jquery';
import { NamedPage } from 'vj/misc/Page';
const page = new NamedPage('manage_dashboard', async () => {
@@ -1,7 +1,7 @@
import { NamedPage } from 'vj/misc/Page';
import Notification from 'vj/components/notification';
import $ from 'jquery';
import { ActionDialog } from 'vj/components/dialog';
import Notification from 'vj/components/notification';
import { NamedPage } from 'vj/misc/Page';
import request from 'vj/utils/request';
const page = new NamedPage('manage_script', () => {
@@ -1,8 +1,9 @@
import { NamedPage } from 'vj/misc/Page';
import $ from 'jquery';
import Notification from 'vj/components/notification';
import { NamedPage } from 'vj/misc/Page';
import delay from 'vj/utils/delay';
import i18n from 'vj/utils/i18n';
import request from 'vj/utils/request';
import delay from 'vj/utils/delay';
const page = new NamedPage('manage_user_import', () => {
async function post(draft) {
@@ -1,17 +1,18 @@
import { NamedPage } from 'vj/misc/Page';
import request from 'vj/utils/request';
import { normalizeSubtasks, readSubtasksFromFiles, size } from '@hydrooj/utils/lib/common';
import { SubtaskType } from 'hydrooj/src/interface';
import $ from 'jquery';
import yaml from 'js-yaml';
import React from 'react';
import { createRoot } from 'react-dom/client';
import loadReactRedux from 'vj/utils/loadReactRedux';
import i18n from 'vj/utils/i18n';
import yaml from 'js-yaml';
import Notification from 'vj/components/notification';
import Dialog, { ConfirmDialog } from 'vj/components/dialog/index';
import download from 'vj/components/zipDownloader';
import { size, readSubtasksFromFiles, normalizeSubtasks } from '@hydrooj/utils/lib/common';
import tpl from 'vj/utils/tpl';
import { SubtaskType } from 'hydrooj/src/interface';
import Notification from 'vj/components/notification';
import { configYamlFormat } from 'vj/components/problemconfig/ProblemConfigEditor';
import download from 'vj/components/zipDownloader';
import { NamedPage } from 'vj/misc/Page';
import i18n from 'vj/utils/i18n';
import loadReactRedux from 'vj/utils/loadReactRedux';
import request from 'vj/utils/request';
import tpl from 'vj/utils/tpl';
function onBeforeUnload(e) {
e.returnValue = '';
@@ -1,15 +1,16 @@
import yaml from 'js-yaml';
import { createRoot } from 'react-dom/client';
import React from 'react';
import { getScoreColor } from '@hydrooj/utils/lib/status';
import { NamedPage } from 'vj/misc/Page';
import $ from 'jquery';
import yaml from 'js-yaml';
import React from 'react';
import { createRoot } from 'react-dom/client';
import { downloadProblemSet } from 'vj/components/zipDownloader';
import loadReactRedux from 'vj/utils/loadReactRedux';
import { NamedPage } from 'vj/misc/Page';
import delay from 'vj/utils/delay';
import i18n from 'vj/utils/i18n';
import loadReactRedux from 'vj/utils/loadReactRedux';
import pjax from 'vj/utils/pjax';
import request from 'vj/utils/request';
import tpl from 'vj/utils/tpl';
import i18n from 'vj/utils/i18n';
class ProblemPageExtender {
constructor() {
@@ -1,15 +1,16 @@
import { size } from '@hydrooj/utils/lib/common';
import $ from 'jquery';
import _ from 'lodash';
import { NamedPage } from 'vj/misc/Page';
import request from 'vj/utils/request';
import tpl from 'vj/utils/tpl';
import i18n from 'vj/utils/i18n';
import Dialog, { ConfirmDialog } from 'vj/components/dialog';
import Dropdown from 'vj/components/dropdown/Dropdown';
import Editor from 'vj/components/editor/index';
import Notification from 'vj/components/notification';
import { slideDown, slideUp } from 'vj/utils/slide';
import download from 'vj/components/zipDownloader';
import { size } from '@hydrooj/utils/lib/common';
import { NamedPage } from 'vj/misc/Page';
import i18n from 'vj/utils/i18n';
import request from 'vj/utils/request';
import { slideDown, slideUp } from 'vj/utils/slide';
import tpl from 'vj/utils/tpl';
const categories = {};
const dirtyCategories = [];
@@ -1,15 +1,17 @@
import $ from 'jquery';
import _ from 'lodash';
import { NamedPage } from 'vj/misc/Page';
import Notification from 'vj/components/notification';
import {
ConfirmDialog, ActionDialog, InfoDialog, Dialog,
ActionDialog, ConfirmDialog, Dialog,
InfoDialog,
} from 'vj/components/dialog/index';
import download from 'vj/components/zipDownloader';
import createHint from 'vj/components/hint';
import request from 'vj/utils/request';
import pjax from 'vj/utils/pjax';
import tpl from 'vj/utils/tpl';
import Notification from 'vj/components/notification';
import download from 'vj/components/zipDownloader';
import { NamedPage } from 'vj/misc/Page';
import i18n from 'vj/utils/i18n';
import pjax from 'vj/utils/pjax';
import request from 'vj/utils/request';
import tpl from 'vj/utils/tpl';
async function downloadProblemFilesAsArchive(type, files) {
const { links, pdoc } = await request.post('', { operation: 'get_links', files, type });
@@ -1,16 +1,16 @@
import _ from 'lodash';
import $ from 'jquery';
import { NamedPage } from 'vj/misc/Page';
import Notification from 'vj/components/notification';
import _ from 'lodash';
import { ActionDialog, ConfirmDialog } from 'vj/components/dialog';
import Dropdown from 'vj/components/dropdown/Dropdown';
import createHint from 'vj/components/hint';
import Notification from 'vj/components/notification';
import { downloadProblemSet } from 'vj/components/zipDownloader';
import { NamedPage } from 'vj/misc/Page';
import delay from 'vj/utils/delay';
import i18n from 'vj/utils/i18n';
import pjax from 'vj/utils/pjax';
import request from 'vj/utils/request';
import tpl from 'vj/utils/tpl';
import delay from 'vj/utils/delay';
import i18n from 'vj/utils/i18n';
const categories = {};
const dirtyCategories = [];
@@ -1,9 +1,10 @@
import { NamedPage } from 'vj/misc/Page';
import tpl from 'vj/utils/tpl';
import i18n from 'vj/utils/i18n';
import request from 'vj/utils/request';
import $ from 'jquery';
import { ActionDialog, ConfirmDialog } from 'vj/components/dialog';
import Notification from 'vj/components/notification';
import { NamedPage } from 'vj/misc/Page';
import i18n from 'vj/utils/i18n';
import request from 'vj/utils/request';
import tpl from 'vj/utils/tpl';
const page = new NamedPage([
'problem_create', 'problem_edit', 'problem_solution', 'problem_submit',
@@ -1,6 +1,7 @@
import $ from 'jquery';
import { renderLanguageSelect } from 'vj/components/languageselect';
import { NamedPage } from 'vj/misc/Page';
import getAvailableLangs from 'vj/utils/availableLangs';
import { renderLanguageSelect } from 'vj/components/languageselect';
const page = new NamedPage(['problem_submit', 'contest_detail_problem_submit', 'homework_detail_problem_submit'], async () => {
const { config } = UiContext.pdoc;
@@ -1,3 +1,4 @@
import $ from 'jquery';
import { NamedPage } from 'vj/misc/Page';
const page = new NamedPage('record_detail', async () => {
@@ -1,8 +1,9 @@
import { NamedPage } from 'vj/misc/Page';
import UserSelectAutoComplete from 'vj/components/autocomplete/UserSelectAutoComplete';
import $ from 'jquery';
import ProblemSelectAutoComplete from 'vj/components/autocomplete/ProblemSelectAutoComplete';
import tpl from 'vj/utils/tpl';
import UserSelectAutoComplete from 'vj/components/autocomplete/UserSelectAutoComplete';
import { NamedPage } from 'vj/misc/Page';
import getAvailableLangs from 'vj/utils/availableLangs';
import tpl from 'vj/utils/tpl';
const page = new NamedPage('record_main', async () => {
const [{ default: WebSocket }, { DiffDOM }] = await Promise.all([
@@ -1,3 +1,4 @@
import $ from 'jquery';
import { NamedPage } from 'vj/misc/Page';
import { slideDown, slideUp } from 'vj/utils/slide';
@@ -1,8 +1,9 @@
import { NamedPage } from 'vj/misc/Page';
import $ from 'jquery';
import { ConfirmDialog } from 'vj/components/dialog';
import tpl from 'vj/utils/tpl';
import { NamedPage } from 'vj/misc/Page';
import i18n from 'vj/utils/i18n';
import request from 'vj/utils/request';
import tpl from 'vj/utils/tpl';
export default new NamedPage('training_edit', () => {
let confirmed = false;
@@ -1,9 +1,10 @@
import Clipboard from 'clipboard';
import { NamedPage } from 'vj/misc/Page';
import substitute from 'vj/utils/substitute';
import $ from 'jquery';
import Notification from 'vj/components/notification';
import i18n from 'vj/utils/i18n';
import { NamedPage } from 'vj/misc/Page';
import base64 from 'vj/utils/base64';
import i18n from 'vj/utils/i18n';
import substitute from 'vj/utils/substitute';
const page = new NamedPage('user_detail', () => {
$('[data-copy]').get().forEach((el) => {
@@ -1,3 +1,4 @@
import $ from 'jquery';
import { AutoloadPage } from 'vj/misc/Page';
import api, { gql } from 'vj/utils/api';