diff options
Diffstat (limited to 'polygerrit-ui/app/elements/diff/gr-diff-preferences-dialog/gr-diff-preferences-dialog.js')
-rw-r--r-- | polygerrit-ui/app/elements/diff/gr-diff-preferences-dialog/gr-diff-preferences-dialog.js | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-preferences-dialog/gr-diff-preferences-dialog.js b/polygerrit-ui/app/elements/diff/gr-diff-preferences-dialog/gr-diff-preferences-dialog.js new file mode 100644 index 0000000000..b50ef692ad --- /dev/null +++ b/polygerrit-ui/app/elements/diff/gr-diff-preferences-dialog/gr-diff-preferences-dialog.js @@ -0,0 +1,66 @@ +/** + * @license + * Copyright (C) 2019 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. + */ +(function() { + 'use strict'; + + Polymer({ + is: 'gr-diff-preferences-dialog', + + properties: { + /** @type {?} */ + diffPrefs: Object, + + _diffPrefsChanged: Boolean, + }, + + getFocusStops() { + return { + start: this.$.contextSelect, + end: this.$.saveButton, + }; + }, + + resetFocus() { + this.$.contextSelect.focus(); + }, + + _computeHeaderClass(changed) { + return changed ? 'edited' : ''; + }, + + _handleCancelDiff(e) { + e.stopPropagation(); + this.$.diffPrefsOverlay.close(); + }, + + open() { + this.$.diffPrefsOverlay.open().then(() => { + const focusStops = this.getFocusStops(); + this.$.diffPrefsOverlay.setFocusStops(focusStops); + this.resetFocus(); + }); + }, + + _handleSaveDiffPreferences() { + this.$.diffPreferences.save().then(() => { + this.fire('reload-diff-preference', null, {bubbles: false}); + + this.$.diffPrefsOverlay.close(); + }); + }, + }); +})(); |