Convert gr-linked-chip.js to .ts
Change-Id: I0c2fe85664cb134da6388bd59b488cd758da43ff
This commit is contained in:
@@ -15,57 +15,60 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import '../gr-button/gr-button.js';
|
import '../gr-button/gr-button';
|
||||||
import '../gr-icons/gr-icons.js';
|
import '../gr-icons/gr-icons';
|
||||||
import '../gr-limited-text/gr-limited-text.js';
|
import '../gr-limited-text/gr-limited-text';
|
||||||
import '../../../styles/shared-styles.js';
|
import '../../../styles/shared-styles';
|
||||||
import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners.js';
|
import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners';
|
||||||
import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
|
import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin';
|
||||||
import {PolymerElement} from '@polymer/polymer/polymer-element.js';
|
import {PolymerElement} from '@polymer/polymer/polymer-element';
|
||||||
import {htmlTemplate} from './gr-linked-chip_html.js';
|
import {customElement, property} from '@polymer/decorators/lib/decorators';
|
||||||
|
import {htmlTemplate} from './gr-linked-chip_html';
|
||||||
|
|
||||||
/**
|
declare global {
|
||||||
* @extends PolymerElement
|
interface HTMLElementTagNameMap {
|
||||||
*/
|
'gr-linked-chip': GrLinkedChip;
|
||||||
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,
|
|
||||||
}));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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