Move gr-shell-command to typescript
Change-Id: I3d32c7c293ecc44f599ccaa0aa648a2c38788e59
This commit is contained in:
@@ -14,31 +14,40 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import '../../../styles/shared-styles.js';
|
||||
import '../gr-copy-clipboard/gr-copy-clipboard.js';
|
||||
import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners.js';
|
||||
import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
|
||||
import {PolymerElement} from '@polymer/polymer/polymer-element.js';
|
||||
import {htmlTemplate} from './gr-shell-command_html.js';
|
||||
import '../../../styles/shared-styles';
|
||||
import '../gr-copy-clipboard/gr-copy-clipboard';
|
||||
import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners';
|
||||
import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin';
|
||||
import {PolymerElement} from '@polymer/polymer/polymer-element';
|
||||
import {htmlTemplate} from './gr-shell-command_html';
|
||||
import {customElement, property} from '@polymer/decorators';
|
||||
|
||||
/** @extends PolymerElement */
|
||||
class GrShellCommand extends GestureEventListeners(
|
||||
LegacyElementMixin(
|
||||
PolymerElement)) {
|
||||
static get template() { return htmlTemplate; }
|
||||
|
||||
static get is() { return 'gr-shell-command'; }
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
command: String,
|
||||
label: String,
|
||||
};
|
||||
}
|
||||
|
||||
focusOnCopy() {
|
||||
this.shadowRoot.querySelector('gr-copy-clipboard').focusOnCopy();
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'gr-shell-command': GrShellCommand;
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define(GrShellCommand.is, GrShellCommand);
|
||||
@customElement('gr-shell-command')
|
||||
class GrShellCommand extends GestureEventListeners(
|
||||
LegacyElementMixin(PolymerElement)
|
||||
) {
|
||||
static get template() {
|
||||
return htmlTemplate;
|
||||
}
|
||||
|
||||
@property({type: String})
|
||||
command: string | undefined;
|
||||
|
||||
@property({type: String})
|
||||
label: string | undefined;
|
||||
|
||||
focusOnCopy() {
|
||||
if (this.shadowRoot !== null) {
|
||||
const copyClipboard = this.shadowRoot.querySelector('gr-copy-clipboard');
|
||||
if (copyClipboard !== null) {
|
||||
copyClipboard.focusOnCopy();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user