Convert gr-linked-chip.js to .ts
Change-Id: I0c2fe85664cb134da6388bd59b488cd758da43ff
This commit is contained in:
@@ -15,57 +15,60 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import '../gr-button/gr-button.js';
|
||||
import '../gr-icons/gr-icons.js';
|
||||
import '../gr-limited-text/gr-limited-text.js';
|
||||
import '../../../styles/shared-styles.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-linked-chip_html.js';
|
||||
import '../gr-button/gr-button';
|
||||
import '../gr-icons/gr-icons';
|
||||
import '../gr-limited-text/gr-limited-text';
|
||||
import '../../../styles/shared-styles';
|
||||
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 {customElement, property} from '@polymer/decorators/lib/decorators';
|
||||
import {htmlTemplate} from './gr-linked-chip_html';
|
||||
|
||||
/**
|
||||
* @extends PolymerElement
|
||||
*/
|
||||
class GrLinkedChip extends GestureEventListeners(
|
||||
LegacyElementMixin(PolymerElement)) {
|
||||
static get template() { return htmlTemplate; }
|
||||
|
||||
static get is() { return 'gr-linked-chip'; }
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
href: String,
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
value: false,
|
||||
reflectToAttribute: true,
|
||||
},
|
||||
removable: {
|
||||
type: Boolean,
|
||||
value: false,
|
||||
},
|
||||
text: String,
|
||||
transparentBackground: {
|
||||
type: Boolean,
|
||||
value: false,
|
||||
},
|
||||
|
||||
/** If provided, sets the maximum length of the content. */
|
||||
limit: Number,
|
||||
};
|
||||
}
|
||||
|
||||
_getBackgroundClass(transparent) {
|
||||
return transparent ? 'transparentBackground' : '';
|
||||
}
|
||||
|
||||
_handleRemoveTap(e) {
|
||||
e.preventDefault();
|
||||
this.dispatchEvent(new CustomEvent('remove', {
|
||||
composed: true, bubbles: true,
|
||||
}));
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'gr-linked-chip': GrLinkedChip;
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define(GrLinkedChip.is, GrLinkedChip);
|
||||
@customElement('gr-linked-chip')
|
||||
export class GrLinkedChip extends GestureEventListeners(
|
||||
LegacyElementMixin(PolymerElement)
|
||||
) {
|
||||
static get template() {
|
||||
return htmlTemplate;
|
||||
}
|
||||
|
||||
@property({type: String})
|
||||
href?: string;
|
||||
|
||||
@property({type: Boolean, reflectToAttribute: true})
|
||||
disabled = false;
|
||||
|
||||
@property({type: Boolean})
|
||||
removable = false;
|
||||
|
||||
@property({type: String})
|
||||
text?: string;
|
||||
|
||||
@property({type: Boolean})
|
||||
transparentBackground = false;
|
||||
|
||||
/** If provided, sets the maximum length of the content. */
|
||||
@property({type: Number})
|
||||
limit?: number;
|
||||
|
||||
_getBackgroundClass(transparent: boolean) {
|
||||
return transparent ? 'transparentBackground' : '';
|
||||
}
|
||||
|
||||
_handleRemoveTap(e: Event) {
|
||||
e.preventDefault();
|
||||
this.dispatchEvent(
|
||||
new CustomEvent('remove', {
|
||||
composed: true,
|
||||
bubbles: true,
|
||||
})
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user