| // Copyright (C) 2016 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(window) { |
| 'use strict'; |
| |
| function GrChangeActionsInterface(plugin, el) { |
| this.plugin = plugin; |
| this._el = el; |
| this.RevisionActions = el.RevisionActions; |
| this.ChangeActions = el.ChangeActions; |
| this.ActionType = el.ActionType; |
| } |
| |
| GrChangeActionsInterface.prototype.addPrimaryActionKey = function(key) { |
| if (this._el.primaryActionKeys.includes(key)) { return; } |
| |
| this._el.push('primaryActionKeys', key); |
| }; |
| |
| GrChangeActionsInterface.prototype.removePrimaryActionKey = function(key) { |
| this._el.primaryActionKeys = this._el.primaryActionKeys.filter(k => { |
| return k !== key; |
| }); |
| }; |
| |
| GrChangeActionsInterface.prototype.setActionOverflow = function(type, key, |
| overflow) { |
| return this._el.setActionOverflow(type, key, overflow); |
| }; |
| |
| GrChangeActionsInterface.prototype.setActionPriority = function(type, key, |
| priority) { |
| return this._el.setActionPriority(type, key, priority); |
| }; |
| |
| GrChangeActionsInterface.prototype.setActionHidden = function(type, key, |
| hidden) { |
| return this._el.setActionHidden(type, key, hidden); |
| }; |
| |
| GrChangeActionsInterface.prototype.add = function(type, label) { |
| return this._el.addActionButton(type, label); |
| }; |
| |
| GrChangeActionsInterface.prototype.remove = function(key) { |
| return this._el.removeActionButton(key); |
| }; |
| |
| GrChangeActionsInterface.prototype.addTapListener = function(key, handler) { |
| this._el.addEventListener(key + '-tap', handler); |
| }; |
| |
| GrChangeActionsInterface.prototype.removeTapListener = function(key, |
| handler) { |
| this._el.removeEventListener(key + '-tap', handler); |
| }; |
| |
| GrChangeActionsInterface.prototype.setLabel = function(key, text) { |
| this._el.setActionButtonProp(key, 'label', text); |
| }; |
| |
| GrChangeActionsInterface.prototype.setEnabled = function(key, enabled) { |
| this._el.setActionButtonProp(key, 'enabled', enabled); |
| }; |
| |
| GrChangeActionsInterface.prototype.getActionDetails = function(action) { |
| return this._el.getActionDetails(action) || |
| this._el.getActionDetails(this.plugin.getPluginName() + '~' + action); |
| }; |
| |
| window.GrChangeActionsInterface = GrChangeActionsInterface; |
| })(window); |