allow kicking up to 100 team members at once - for #9556

andresrcom-team-kick-member-autocomplete
Thibault Duplessis 2021-08-11 08:42:20 +02:00
parent 21ed6e3eb0
commit 50690d95d9
3 changed files with 12 additions and 12 deletions

View File

@ -16,10 +16,7 @@ object admin {
views.html.base.layout(
title = title,
moreCss = frag(cssTag("team"), cssTag("tagify")),
moreJs = frag(
jsModule("team.admin"),
embedJsUnsafeLoadThen("""teamAdmin.initTagify('form3-leaders')""")
)
moreJs = jsModule("team.admin")
) {
main(cls := "page-menu page-small")(
bits.menu(none),
@ -49,10 +46,7 @@ object admin {
views.html.base.layout(
title = title,
moreCss = frag(cssTag("team"), cssTag("tagify")),
moreJs = frag(
jsModule("team.admin"),
embedJsUnsafeLoadThen("""teamAdmin.initTagify('form3-members')""")
)
moreJs = jsModule("team.admin")
) {
main(cls := "page-menu page-small")(
bits.menu(none),

View File

@ -198,7 +198,6 @@ export default rollupProject({
teamAdmin: {
input: 'src/teamAdmin.ts',
output: 'team.admin',
name: 'teamAdmin',
},
appeal: {
input: 'src/appeal.ts',

View File

@ -2,12 +2,19 @@ import Tagify from '@yaireo/tagify';
import debounce from 'debounce-promise';
import * as xhr from 'common/xhr';
export function initTagify(id: string) {
const input = document.getElementById(id) as HTMLInputElement;
lichess.load.then(() => {
$('#form3-leaders').each(function (this: HTMLInputElement) {
initTagify(this, 10);
});
$('#form3-members').each(function (this: HTMLInputElement) {
initTagify(this, 100);
});
});
function initTagify(input: HTMLInputElement, maxTags: number) {
const tagify = new Tagify(input, {
pattern: /.{3,}/,
maxTags: 10,
maxTags,
enforceWhitelist: true,
whitelist: input.value.trim().split(/\s*,\s*/),
});