{{combo-box content=colorSchemes
- filterable=true
- forceEscape=true
- value=colorSchemeId
- icon="paint-brush"}}
+
+ {{color-palettes
+ content=colorSchemes
+ filterable=true
+ forceEscape=true
+ value=colorSchemeId
+ icon="paint-brush"}}
+
{{#if colorSchemeChanged}}
{{d-button action=(action "changeScheme") class="btn-primary submit-edit" icon="check"}}
{{d-button action=(action "cancelChangeScheme") class="btn-default cancel-edit" icon="times"}}
diff --git a/app/assets/javascripts/select-kit/components/color-palettes.js.es6 b/app/assets/javascripts/select-kit/components/color-palettes.js.es6
new file mode 100644
index 00000000000..e66cbaaee67
--- /dev/null
+++ b/app/assets/javascripts/select-kit/components/color-palettes.js.es6
@@ -0,0 +1,7 @@
+import ComboBoxComponent from "select-kit/components/combo-box";
+
+export default ComboBoxComponent.extend({
+ pluginApiIdentifiers: ["color-palettes"],
+ classNames: "color-palettes",
+ rowComponent: "color-palettes/color-palettes-row"
+});
diff --git a/app/assets/javascripts/select-kit/components/color-palettes/color-palettes-row.js.es6 b/app/assets/javascripts/select-kit/components/color-palettes/color-palettes-row.js.es6
new file mode 100644
index 00000000000..e0ae6b7039f
--- /dev/null
+++ b/app/assets/javascripts/select-kit/components/color-palettes/color-palettes-row.js.es6
@@ -0,0 +1,14 @@
+import { escapeExpression } from "discourse/lib/utilities";
+import SelectKitRowComponent from "select-kit/components/select-kit/select-kit-row";
+import { default as computed } from "ember-addons/ember-computed-decorators";
+
+export default SelectKitRowComponent.extend({
+ layoutName:
+ "select-kit/templates/components/color-palettes/color-palettes-row",
+ classNames: "color-palettes-row",
+
+ @computed("computedContent.originalContent.colors")
+ colors(colors) {
+ return (colors || []).map(color => `#${escapeExpression(color.hex)}`);
+ }
+});
diff --git a/app/assets/javascripts/select-kit/templates/components/color-palettes/color-palettes-row.hbs b/app/assets/javascripts/select-kit/templates/components/color-palettes/color-palettes-row.hbs
new file mode 100644
index 00000000000..b24b2f2f5d3
--- /dev/null
+++ b/app/assets/javascripts/select-kit/templates/components/color-palettes/color-palettes-row.hbs
@@ -0,0 +1,11 @@
+
+ {{label}}
+
+
+{{#if colors}}
+
+ {{#each colors as |color|}}
+
+ {{/each}}
+
+{{/if}}
diff --git a/app/assets/stylesheets/common.scss b/app/assets/stylesheets/common.scss
index 02473d0f8d6..21b84a51a66 100644
--- a/app/assets/stylesheets/common.scss
+++ b/app/assets/stylesheets/common.scss
@@ -26,6 +26,7 @@
@import "common/select-kit/tag-drop";
@import "common/select-kit/toolbar-popup-menu-options";
@import "common/select-kit/topic-notifications-button";
+@import "common/select-kit/color-palettes";
@import "common/components/*";
@import "common/input_tip";
@import "common/topic-entrance";
diff --git a/app/assets/stylesheets/common/select-kit/color-palettes.scss b/app/assets/stylesheets/common/select-kit/color-palettes.scss
new file mode 100644
index 00000000000..07098882adf
--- /dev/null
+++ b/app/assets/stylesheets/common/select-kit/color-palettes.scss
@@ -0,0 +1,20 @@
+.select-kit {
+ &.combo-box {
+ &.color-palettes {
+ .color-palettes-row {
+ .palettes {
+ display: flex;
+ align-items: center;
+ margin-left: 0.5em;
+ flex: 1 0 0;
+
+ .palette {
+ height: 15px;
+ width: 15px;
+ display: block;
+ }
+ }
+ }
+ }
+ }
+}