google-nomulus/java/google/registry/ui/soy/registrar/Domain.soy
guyben c5ad30f49d Prevent spellchecking from textarea fields
The spellchecking causes test flakiness.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=231984097
2019-02-01 16:18:24 -05:00

200 lines
6.7 KiB
Text

// Copyright 2017 The Nomulus Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
{namespace registry.soy.registrar.domain}
/**
* Set view for domains.
*/
{template .set}
<div class="{css('set')} {css('domain')}">
<p>Please enter a query for a single contact in the form "domain/[domain id]".
</div>
{/template}
/**
* Item view for domain.
*/
{template .item}
{@param item: ?}
{@param? readonly: ?} /** passed through to field rendering. */
{let $isEdit: isNonnull($item['domain:name']) /}
<form name="item" class="{css('item')} {css('domain')}">
<h1>
{if $isEdit}
{$item['domain:name']['keyValue']}
{else}
New Domain
{/if}
</h1>
<table>
{if not $isEdit}
<tr class="{css('section-lead')}">
<th colspan="2"><h2>Domain</h2></th>
</tr>
{call registry.soy.forms.inputFieldRow data="all"}
{param label: 'Domain name *' /}
{param name: 'domain:name' /}
{/call}
{call registry.soy.forms.inputFieldRow data="all"}
{param label: 'Period (in years) *' /}
{param name: 'domain:period' /}
{/call}
{/if}
{if isNonnull($item['domain:exDate'])}
{call registry.soy.forms.inputFieldRowWithValue data="all"}
{param label: 'Expiration date' /}
{param name: 'domain:exDate' /}
{param value: $item['domain:exDate'] /}
{/call}
{/if}
<tr class="{css('section-lead')}">
<th colspan="2"><h2>Authentication</h2></th>
</tr>
{call registry.soy.forms.inputFieldRowWithValue data="all"}
{param label: 'Password *' /}
{param name: 'domain:authInfo.domain:pw' /}
{param value: isNonnull($item['domain:authInfo']) ?
$item['domain:authInfo']['domain:pw'] : '' /}
{/call}
<tr class="{css('section-lead')}">
<th colspan="2">
<h3>Contact information</h3>
<button id="domain-contact-add-button" type="button"
class="{css('kd-button')} {css('reg-add')}"
{if $readonly}disabled{/if}>
Add Contact
</button>
</th>
</tr>
{call registry.soy.forms.inputFieldRowWithValue data="all"}
{param label: 'Registrant *' /}
{param name: 'domain:registrant' /}
{param value: $item['domain:registrant'] /}
{/call}
{if isNonnull($item['domain:contact'])}
// Render contact list with stable ordering for the screenshot tests.
{call .showContact_ data="all"}
{param contacts: $item['domain:contact'] /}
{param type: 'admin' /}
{/call}
{call .showContact_ data="all"}
{param contacts: $item['domain:contact'] /}
{param type: 'billing' /}
{/call}
{call .showContact_ data="all"}
{param contacts: $item['domain:contact'] /}
{param type: 'tech' /}
{/call}
{/if}
<tr id="domain-contacts-footer"></tr>
<tr class="{css('section-lead')}">
<th colspan="2">
<h3>Nameservers</h3>
<button id="domain-host-add-button" type="button"
class="{css('kd-button')} {css('reg-add')}"
{if $readonly}disabled{/if}>
Add Host
</button>
</th>
</tr>
{if isNonnull($item['domain:ns']) and isNonnull($item['domain:ns']['domain:hostObj'])}
{for $hostObj in $item['domain:ns']['domain:hostObj']}
{let $hostIdx: index($hostObj) /}
{call registry.soy.forms.inputFieldRowWithValue data="all"}
{param label: 'Host ' + $hostIdx /}
{param name: 'domain:ns.domain:hostObj[' + $hostIdx + '].value' /}
{param value: $hostObj /}
{param clazz kind="text"}{css('domain-hostObj')}{/param}
{/call}
{/for}
{/if}
<tr id="domain-hosts-footer"></tr>
{if isNonnull($item['mark:mark'])}
<tr>
<td>Mark Data
<td>
<textarea
class="{css('reg-domain-mark')}"
spellcheck="false"
{if $readonly}readonly{/if}>
{$item['mark:mark']['keyValue']}</textarea>
</td>
</tr>
{/if}
</table>
{if $isEdit}
<input type="hidden"
name="domain:name"
value="{$item['domain:name']['keyValue']}">
{/if}
</form>
{/template}
/** Renders an input form row for a specific type of contact. */
{template .showContact_ visibility="private"}
{@param contacts: list<legacy_object_map<string, ?>>} /** List of EPP domain:contacts. */
{@param type: string} /** Type of contact (e.g. admin, tech) */
{for $contact in $contacts}
{if $type == $contact['@type']}
{call registry.soy.forms.inputFieldRowWithValue data="all"}
{param label: $contact['@type'] + ' contact' /}
{param name: 'domain:contact[' + index($contact) + '].value' /}
{param value: $contact /}
{param clazz: 'domain-contact' /}
{/call}
<input name="domain:contact[{index($contact)}].@type"
type="hidden"
value="{$contact['@type']}">
{/if}
{/for}
{/template}
/* XXX: Should change support for admin/tech. */
/**
* Update domain.
*/
{template .update}
{@param? item: ?}
<form name="item" class="{css('item')} {css('domain')}">
<h1>{$item['domain:name']['keyValue']}</h1>
<table>
<tr class="{css('section-lead')}">
<th colspan="2"><h2>Contact</h2></th>
</tr>
{call registry.soy.forms.inputFieldRowWithValue data="all"}
{param label: 'Registrant' /}
{param name: 'domain:registrant' /}
{param value: $item['domain:registrant'] /}
{/call}
<tr class="{css('section-lead')}">
<th colspan="2"><h2>Authentication</h2></th>
</tr>
{call registry.soy.forms.inputFieldRowWithValue data="all"}
{param label: 'Password' /}
{param name: 'domain:authInfo.domain:pw' /}
{param value: isNonnull($item['domain:authInfo']) ?
$item['domain:authInfo']['domain:pw'] : '' /}
{/call}
<input type="hidden"
name="domain:name"
value="{$item['domain:name']['keyValue']}">
</table>
</form>
{/template}