From 89d100c5484d5702ebe4a077f23509255484413a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=97=A0=E9=99=90UCW?= <45730483+wuxianucw@users.noreply.github.com> Date: Tue, 24 Aug 2021 00:00:28 +0800 Subject: [PATCH] ui: new autocomplete components (#190) --- packages/ui-default/.eslintrc.js | 4 + .../autocomplete/DomainSelectAutoComplete.js | 44 --- .../autocomplete/DomainSelectAutoComplete.jsx | 35 +++ .../autocomplete/ProblemSelectAutoComplete.js | 41 --- .../ProblemSelectAutoComplete.jsx | 35 +++ .../autocomplete/UserSelectAutoComplete.js | 44 --- .../autocomplete/UserSelectAutoComplete.jsx | 35 +++ .../autocomplete/autocomplete.page.styl | 119 +++++++- .../autocomplete/components/AutoComplete.jsx | 270 ++++++++++++++++++ .../components/DomainSelectAutoComplete.jsx | 65 +++++ .../components/ProblemSelectAutoComplete.jsx | 62 ++++ .../components/UserSelectAutoComplete.jsx | 60 ++++ .../components/autocomplete/index.js | 198 ------------- .../components/autocomplete/index.jsx | 78 +++++ .../problemselectautocomplete.page.styl | 2 +- .../ui-default/templates/contest_edit.html | 166 +++++------ 16 files changed, 839 insertions(+), 419 deletions(-) delete mode 100644 packages/ui-default/components/autocomplete/DomainSelectAutoComplete.js create mode 100644 packages/ui-default/components/autocomplete/DomainSelectAutoComplete.jsx delete mode 100644 packages/ui-default/components/autocomplete/ProblemSelectAutoComplete.js create mode 100644 packages/ui-default/components/autocomplete/ProblemSelectAutoComplete.jsx delete mode 100644 packages/ui-default/components/autocomplete/UserSelectAutoComplete.js create mode 100644 packages/ui-default/components/autocomplete/UserSelectAutoComplete.jsx create mode 100644 packages/ui-default/components/autocomplete/components/AutoComplete.jsx create mode 100644 packages/ui-default/components/autocomplete/components/DomainSelectAutoComplete.jsx create mode 100644 packages/ui-default/components/autocomplete/components/ProblemSelectAutoComplete.jsx create mode 100644 packages/ui-default/components/autocomplete/components/UserSelectAutoComplete.jsx delete mode 100644 packages/ui-default/components/autocomplete/index.js create mode 100644 packages/ui-default/components/autocomplete/index.jsx diff --git a/packages/ui-default/.eslintrc.js b/packages/ui-default/.eslintrc.js index a99a7c335..0a3c191c8 100644 --- a/packages/ui-default/.eslintrc.js +++ b/packages/ui-default/.eslintrc.js @@ -55,6 +55,10 @@ module.exports = { // FIXME A bug with eslint-parser 'template-curly-spacing': 'off', + // Note: must disable the base rule as it can report incorrect errors + 'no-use-before-define': 'off', + '@typescript-eslint/no-use-before-define': ['error'], + 'comma-dangle': [ 'error', 'always-multiline', diff --git a/packages/ui-default/components/autocomplete/DomainSelectAutoComplete.js b/packages/ui-default/components/autocomplete/DomainSelectAutoComplete.js deleted file mode 100644 index 3bc39f6bf..000000000 --- a/packages/ui-default/components/autocomplete/DomainSelectAutoComplete.js +++ /dev/null @@ -1,44 +0,0 @@ -import { assign } from 'lodash'; -import tpl from 'vj/utils/tpl'; -import request from 'vj/utils/request'; -import DOMAttachedObject from 'vj/components/DOMAttachedObject'; -import AutoComplete from '.'; - -function getText(domain) { - return domain._id; -} - -function getItems(val) { - return request.get('/domain/search', { q: val }); -} - -function renderItem(domain) { - return tpl` -