Remove contenteditable from #dragDropArea Also fix navigations by only using the changeNum. Change-Id: Ie2b192f06a1ca7da78b3a4821829cc2b26bd7f4d
diff --git a/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls.js b/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls.js index 89491c3..7ca849f 100644 --- a/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls.js +++ b/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls.js
@@ -219,14 +219,11 @@ this._closeDialog(this.$.openDialog, true); return; } - this.$.restAPI.saveFileUploadChangeEdit(this.change._number, path, + return this.$.restAPI.saveFileUploadChangeEdit(this.change._number, path, fileData).then(res => { if (!res.ok) { return; } - this._closeDialog(this.$.openDialog, true); - const url = GerritNav.getUrlForChange( - this.change, this.patchNum, undefined, true); - GerritNav.navigateToRelativeUrl(url); + GerritNav.navigateToChange(this.change); }); }
diff --git a/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls_html.js b/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls_html.js index 482ab1d..f753b9d 100644 --- a/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls_html.js +++ b/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls_html.js
@@ -77,22 +77,15 @@ </div> <div class="main" slot="main"> <gr-autocomplete placeholder="Enter an existing or new full file path." query="[[_query]]" text="{{_path}}"></gr-autocomplete> - <div id="dragDropArea" - contenteditable="true" - on-drop="_handleDragAndDropUpload"> + <div id="dragDropArea" on-drop="_handleDragAndDropUpload"> <p>Drag and drop a file here</p> <p>or</p> <p> <iron-input> - <input id="fileUploadInput" - type="file" - on-change="_handleFileUploadChanged" - slot="input"> + <input is="iron-input" id="fileUploadInput" type="file" on-change="_handleFileUploadChanged" hidden> </iron-input> <label for="fileUploadInput"> - <gr-button id="fileUploadBrowse"> - Browse - </gr-button> + <gr-button id="fileUploadBrowse">Browse</gr-button> </label> </p> </div>
diff --git a/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls_test.html b/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls_test.html index 4b35d1b..8d6e689 100644 --- a/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls_test.html +++ b/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls_test.html
@@ -366,6 +366,36 @@ }); }); + suite('save file upload', () => { + let navStub; + let fileStub; + + setup(() => { + navStub = sandbox.stub(GerritNav, 'navigateToChange'); + fileStub = sandbox.stub(element.$.restAPI, 'saveFileUploadChangeEdit'); + }); + + test('_handleUploadConfirm', () => { + fileStub.returns(Promise.resolve({ok: true})); + + element.change = { + _number: '1', + project: 'project', + revisions: { + abcd: {_number: 1}, + efgh: {_number: 2}, + }, + current_revision: 'efgh', + }; + + element._handleUploadConfirm('test.php', 'base64').then(() => { + assert.equal( + navStub.lastCall.args, + '/c/project/+/1'); + }); + }); + }); + test('openOpenDialog', done => { element.openOpenDialog('test/path.cpp') .then(() => {