blob: c4617189c4010e416c3d855d513333358e5d5c8f [file] [log] [blame]
/**
* @license
* Copyright (C) 2020 The Android Open Source Project
*
* 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.
*/
import {html} from '@polymer/polymer/lib/utils/html-tag';
export const htmlTemplate = html`
<style include="shared-styles">
h1 {
margin-bottom: var(--spacing-m);
}
h3 {
margin-bottom: var(--spacing-m);
}
.agreementsUrl {
border: 1px solid #b0bdcc;
margin-bottom: var(--spacing-xl);
margin-left: var(--spacing-xl);
margin-right: var(--spacing-xl);
padding: var(--spacing-s);
}
#claNewAgreementsLabel {
font-weight: var(--font-weight-bold);
}
#claNewAgreement {
display: none;
}
#claNewAgreement.show {
display: block;
}
.contributorAgreementButton {
font-weight: var(--font-weight-bold);
}
.alreadySubmittedText {
color: var(--error-text-color);
margin: 0 var(--spacing-xxl);
padding: var(--spacing-m);
}
.alreadySubmittedText.hide,
.hideAgreementsTextBox {
display: none;
}
main {
margin: var(--spacing-xxl) auto;
max-width: 50em;
}
</style>
<style include="gr-form-styles">
/* Workaround for empty style block - see https://github.com/Polymer/tools/issues/408 */
</style>
<main>
<h1 class="heading-1">New Contributor Agreement</h1>
<h3 class="heading-3">Select an agreement type:</h3>
<template
is="dom-repeat"
items="[[_serverConfig.auth.contributor_agreements]]"
>
<span class="contributorAgreementButton">
<input
id$="claNewAgreementsInput[[item.name]]"
name="claNewAgreementsRadio"
type="radio"
data-name$="[[item.name]]"
data-url$="[[item.url]]"
on-click="_handleShowAgreement"
disabled$="[[_disableAgreements(item, _groups, _signedAgreements)]]"
/>
<label id="claNewAgreementsLabel">[[item.name]]</label>
</span>
<div
class$="alreadySubmittedText [[_hideAgreements(item, _groups, _signedAgreements)]]"
>
Agreement already submitted.
</div>
<div class="agreementsUrl">
[[item.description]]
</div>
</template>
<div
id="claNewAgreement"
class$="[[_computeShowAgreementsClass(_showAgreements)]]"
>
<h3 class="heading-3">Review the agreement:</h3>
<div id="agreementsUrl" class="agreementsUrl">
<a href$="[[_agreementsUrl]]" target="blank" rel="noopener">
Please review the agreement.</a
>
</div>
<div
class$="agreementsTextBox [[_computeHideAgreementClass(_agreementName, _serverConfig.auth.contributor_agreements)]]"
>
<h3 class="heading-3">Complete the agreement:</h3>
<iron-input
bind-value="{{_agreementsText}}"
placeholder="Enter 'I agree' here"
>
<input
id="input-agreements"
is="iron-input"
bind-value="{{_agreementsText}}"
placeholder="Enter 'I agree' here"
/>
</iron-input>
<gr-button
on-click="_handleSaveAgreements"
disabled="[[_disableAgreementsText(_agreementsText)]]"
>
Submit
</gr-button>
</div>
</div>
</main>
<gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
`;