in seatunnel-ui/src/views/login/index.tsx [48:103]
render() {
return (
<NLayout>
<NLayoutContent>
<NSpace
justify='center'
align='center'
class='w-full h-screen bg-gray-100'
>
<div class='w-96 bg-white px-16 py-20 border border-gray-100 rounded-2xl'>
<h2 class='text-2xl mb-16 font-bold'>
{this.t('login.login_to_sea_tunnel')}
</h2>
<NForm rules={this.rules} ref='loginFormRef' class='mb-4'>
<NFormItem
label={this.t('login.username')}
label-style={{ color: 'black' }}
path='userName'
>
<NInput
clearable
allowInput={this.trim}
type='text'
v-model={[this.loginForm.username, 'value']}
placeholder={this.t('login.username_tips')}
autofocus
onKeydown={withKeys(this.handleLogin, ['enter'])}
/>
</NFormItem>
<NFormItem
label={this.t('login.password')}
label-style={{ color: 'black' }}
path='userPassword'
>
<NInput
clearable
allowInput={this.trim}
type='password'
v-model={[this.loginForm.password, 'value']}
placeholder={this.t('login.password_tips')}
onKeydown={withKeys(this.handleLogin, ['enter'])}
/>
</NFormItem>
<NFormItem
label={this.t('login.select_workspace')}
label-style={{ color: 'black' }}
path='selectedWorkspace'
>
<NSelect
options={this.workspaces.map(workspace => ({ label: workspace, value: workspace }))}
v-model={[this.loginForm.selectedWorkspace, 'value']}
placeholder={this.t('login.select_workspace_tips')}
/>
</NFormItem>
<NFormItem>
<NCheckbox v-model={this.loginForm.useLdap} onUpdateChecked={(value) => this.loginForm.useLdap = value} >