Skip to content

Commit e3b0a2b

Browse files
paodbjavier-godoy
authored andcommitted
feat: add theme support
Close #55
1 parent 7368bd5 commit e3b0a2b

File tree

5 files changed

+28
-18
lines changed

5 files changed

+28
-18
lines changed

src/main/java/com/flowingcode/vaadin/addons/chipfield/Chip.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
package com.flowingcode.vaadin.addons.chipfield;
2121

2222
import com.vaadin.flow.component.Component;
23+
import com.vaadin.flow.component.HasStyle;
24+
import com.vaadin.flow.component.HasTheme;
2325
import com.vaadin.flow.component.Tag;
2426
import com.vaadin.flow.component.dependency.JsModule;
2527
import com.vaadin.flow.component.dependency.NpmPackage;
@@ -39,7 +41,7 @@
3941
@NpmPackage(value = "@polymer/paper-ripple", version = "^3.0.1")
4042
@NpmPackage(value = "@polymer/paper-styles", version = "^3.0.1")
4143
@JsModule("./paper-chip.js")
42-
public class Chip extends Component {
44+
public class Chip extends Component implements HasTheme, HasStyle {
4345

4446
public static final String CHIP_LABEL = "event.detail.chipLabel";
4547
private String label;
@@ -49,7 +51,7 @@ public class Chip extends Component {
4951
public Chip(String label, boolean closable, Icon icon) {
5052
this.setLabel(label);
5153
this.setClosable(closable);
52-
this.setIcon(icon);
54+
this.setIcon(icon);
5355
}
5456

5557
public Chip(String chipText) {

src/main/java/com/flowingcode/vaadin/addons/chipfield/ChipField.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,13 @@
1919
*/
2020
package com.flowingcode.vaadin.addons.chipfield;
2121

22+
import java.util.ArrayList;
23+
import java.util.Arrays;
24+
import java.util.Iterator;
25+
import java.util.List;
26+
import java.util.Optional;
27+
import java.util.concurrent.atomic.AtomicInteger;
28+
import java.util.stream.Stream;
2229
import com.vaadin.flow.component.AbstractField;
2330
import com.vaadin.flow.component.AttachEvent;
2431
import com.vaadin.flow.component.ComponentEvent;
@@ -27,6 +34,7 @@
2734
import com.vaadin.flow.component.EventData;
2835
import com.vaadin.flow.component.HasSize;
2936
import com.vaadin.flow.component.HasStyle;
37+
import com.vaadin.flow.component.HasTheme;
3038
import com.vaadin.flow.component.ItemLabelGenerator;
3139
import com.vaadin.flow.component.Tag;
3240
import com.vaadin.flow.component.dependency.JsModule;
@@ -40,13 +48,6 @@
4048
import elemental.json.JsonArray;
4149
import elemental.json.JsonObject;
4250
import elemental.json.impl.JreJsonFactory;
43-
import java.util.ArrayList;
44-
import java.util.Arrays;
45-
import java.util.Iterator;
46-
import java.util.List;
47-
import java.util.Optional;
48-
import java.util.concurrent.atomic.AtomicInteger;
49-
import java.util.stream.Stream;
5051

5152
@SuppressWarnings("serial")
5253
@Tag("paper-chip-input-autocomplete")
@@ -62,7 +63,7 @@
6263
@NpmPackage(value = "@polymer/paper-styles", version = "^3.0.1")
6364
@JsModule("./paper-chip-input-autocomplete.js")
6465
public class ChipField<T> extends AbstractField<ChipField<T>, List<T>>
65-
implements HasStyle, HasItemsAndComponents<T>, HasDataProvider<T>, HasSize {
66+
implements HasStyle, HasItemsAndComponents<T>, HasDataProvider<T>, HasSize, HasTheme {
6667

6768
public static final String CHIP_LABEL = "event.detail.chipLabel";
6869

src/main/resources/META-INF/frontend/paper-chip-input-autocomplete.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,9 @@ import '@polymer/paper-ripple/paper-ripple.js';
3939
import '@polymer/paper-styles/default-theme.js';
4040
import './paper-chip-input.js';
4141
import { PolymerElement, html } from '@polymer/polymer/polymer-element.js';
42+
import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
4243

43-
class PaperChipInputAutocomplete extends PolymerElement {
44+
class PaperChipInputAutocomplete extends ThemableMixin(PolymerElement) {
4445

4546
static get is() {
4647
return 'paper-chip-input-autocomplete';
@@ -280,15 +281,17 @@ class PaperChipInputAutocomplete extends PolymerElement {
280281
pattern="[[pattern]]"
281282
required$="[[required]]"
282283
auto-validate$="[[autoValidate]]"
283-
error-message="[[errorMessage]]">
284+
error-message="[[errorMessage]]"
285+
theme$="[[theme]]">
284286
<div id="slot2" slot="prefix">
285287
<dom-repeat items="[[items]]">
286288
<template>
287289
[[item.name]]
288290
<paper-chip id="paper-chip-[[item]]-[[index]]"
289291
label="[[item]]"
290292
closable="[[_isClosable(closable,readonly)]]"
291-
on-chip-removed="_removeChip">
293+
on-chip-removed="_removeChip"
294+
theme$="[[theme]]">
292295
</paper-chip>
293296
</template>
294297
</dom-repeat>
@@ -310,7 +313,7 @@ class PaperChipInputAutocomplete extends PolymerElement {
310313
</paper-listbox>
311314
</paper-material>
312315
</template>
313-
</dom-if>`
316+
</dom-if>`;
314317
}
315318

316319
connectedCallback() {

src/main/resources/META-INF/frontend/paper-chip-input.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ import '@polymer/paper-input/paper-input.js';
3232
import '@polymer/paper-styles/default-theme.js';
3333
import './paper-chip.js';
3434
import { PolymerElement, html } from '@polymer/polymer/polymer-element.js';
35+
import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
3536

36-
class PaperChipInput extends PolymerElement {
37+
class PaperChipInput extends ThemableMixin(PolymerElement) {
3738

3839
static get is() {
3940
return 'paper-chip-input';
@@ -72,7 +73,8 @@ class PaperChipInput extends PolymerElement {
7273
label="[[label]]"
7374
allowed-pattern="[[allowedPattern]]"
7475
pattern="[[pattern]]"
75-
error-message="[[errorMessage]]">
76+
error-message="[[errorMessage]]"
77+
theme$="[[theme]]">
7678
<slot id="slot" name="input" slot="prefix"></slot>
7779
<div id="slot2" slot="prefix">
7880
<dom-repeat items="[[items]]">
@@ -81,7 +83,8 @@ class PaperChipInput extends PolymerElement {
8183
<paper-chip id="paper-chip-[[item]]-[[index]]"
8284
label="[[item]]"
8385
closable$="[[closable]]"
84-
on-chip-removed="_removeChip">
86+
on-chip-removed="_removeChip"
87+
theme$="[[theme]]">
8588
</paper-chip>
8689
</template>
8790
</dom-repeat>

src/main/resources/META-INF/frontend/paper-chip.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,9 @@ import './skip-loading-font-roboto.js';
3131
import '@polymer/paper-styles/paper-styles.js';
3232
import '@polymer/iron-icons/iron-icons.js';
3333
import { PolymerElement, html } from '@polymer/polymer/polymer-element.js';
34+
import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
3435

35-
class PaperChip extends PolymerElement {
36+
class PaperChip extends ThemableMixin(PolymerElement) {
3637

3738
static get is() {
3839
return 'paper-chip';

0 commit comments

Comments
 (0)