mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-17 17:36:08 +08:00
ui: add ProblemSelectAutoComplete for contest_edit
This commit is contained in:
1 parent
5bd851028c
commit
b88b6ca046
7 files changed
+39
-41
No files matched your search
@@ -2,21 +2,21 @@ import _ from 'lodash';
|
||||
import tpl from 'vj/utils/tpl';
|
||||
import request from 'vj/utils/request';
|
||||
import DOMAttachedObject from 'vj/components/DOMAttachedObject';
|
||||
import AutoComplete from '.';
|
||||
import AutoComplete from './index';
|
||||
|
||||
function getText(pdoc) {
|
||||
return pdoc.docId;
|
||||
return pdoc.docId;
|
||||
}
|
||||
|
||||
function getItems(val) {
|
||||
return request.get('/problem/list', { q: val });
|
||||
function getItems(prefix) {
|
||||
return request.get('/problem/list', { prefix });
|
||||
}
|
||||
|
||||
function renderItem(pdoc) {
|
||||
return tpl`
|
||||
return tpl`
|
||||
<div class="media">
|
||||
<div class="media__body medium">
|
||||
<div class="problem-select__name">${pdoc.pid ? `${pdoc.pid}` : ''}${pdoc.title}</div>
|
||||
<div class="problem-select__name">${pdoc.pid ? `${pdoc.pid} ` : ''}${pdoc.title}</div>
|
||||
<div class="problem-select__id">ID = ${pdoc.docId}</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -24,18 +24,18 @@ function renderItem(pdoc) {
|
||||
}
|
||||
|
||||
export default class ProblemSelectAutoComplete extends AutoComplete {
|
||||
static DOMAttachKey = 'vjProblemSelectAutoCompleteInstance';
|
||||
static DOMAttachKey = 'vjProblemSelectAutoCompleteInstance';
|
||||
|
||||
constructor($dom, options) {
|
||||
super($dom, {
|
||||
classes: 'problem-select',
|
||||
items: getItems,
|
||||
render: renderItem,
|
||||
text: getText,
|
||||
...options,
|
||||
});
|
||||
}
|
||||
constructor($dom, options) {
|
||||
super($dom, {
|
||||
classes: 'problem-select',
|
||||
items: getItems,
|
||||
render: renderItem,
|
||||
text: getText,
|
||||
...options,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
_.assign(ProblemSelectAutoComplete, DOMAttachedObject);
|
||||
window.Hydro.components.UserSelectAutoComplete = ProblemSelectAutoComplete;
|
||||
window.Hydro.components.ProblemSelectAutoComplete = ProblemSelectAutoComplete;
|
||||
Reference in new issue
Block a user