blob: c41ad70803b6233f77faf011e13ed9714ce341fe [file] [log] [blame]
/**
* @license
* Copyright (C) 2018 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 '../../shared/gr-dialog/gr-dialog';
import '../../shared/gr-overlay/gr-overlay';
import '../../shared/gr-shell-command/gr-shell-command';
import {GrOverlay} from '../../shared/gr-overlay/gr-overlay';
import {sharedStyles} from '../../../styles/shared-styles';
import {LitElement, css, html} from 'lit';
import {customElement, property, query} from 'lit/decorators';
enum Commands {
CREATE = 'git commit',
AMEND = 'git commit --amend',
PUSH_PREFIX = 'git push origin HEAD:refs/for/',
}
declare global {
interface HTMLElementTagNameMap {
'gr-create-commands-dialog': GrCreateCommandsDialog;
}
}
@customElement('gr-create-commands-dialog')
export class GrCreateCommandsDialog extends LitElement {
@query('#commandsOverlay')
commandsOverlay?: GrOverlay;
@property({type: String})
branch?: string;
static override get styles() {
return [
sharedStyles,
css`
ol {
list-style: decimal;
margin-left: var(--spacing-l);
}
p {
margin-bottom: var(--spacing-m);
}
#commandsDialog {
max-width: 40em;
}
`,
];
}
override render() {
return html` <gr-overlay id="commandsOverlay" with-backdrop="">
<gr-dialog
id="commandsDialog"
confirm-label="Done"
cancel-label=""
confirm-on-enter=""
@confirm=${() => this.commandsOverlay?.close()}
>
<div class="header" slot="header">Create change commands</div>
<div class="main" slot="main">
<ol>
<li>
<p>Make the changes to the files on your machine</p>
</li>
<li>
<p>If you are making a new commit use</p>
<gr-shell-command .command=${Commands.CREATE}></gr-shell-command>
<p>Or to amend an existing commit use</p>
<gr-shell-command .command=${Commands.AMEND}></gr-shell-command>
<p>
Please make sure you add a commit message as it becomes the
description for your change.
</p>
</li>
<li>
<p>Push the change for code review</p>
<gr-shell-command
.command=${Commands.PUSH_PREFIX + (this.branch ?? '[BRANCH]')}
></gr-shell-command>
</li>
<li>
<p>
Close this dialog and you should be able to see your recently
created change in the 'Outgoing changes' section on the 'Your
changes' page.
</p>
</li>
</ol>
</div>
</gr-dialog>
</gr-overlay>`;
}
open() {
this.commandsOverlay?.open();
}
}