From 3b98cb1664ff0dcf04e475c5dadd342b58e9cd0a Mon Sep 17 00:00:00 2001 From: Kushal Pandya Date: Wed, 21 Nov 2018 19:52:41 +0530 Subject: Add support for custom highlighting slash commands via warning flags --- app/assets/javascripts/gfm_auto_complete.js | 18 +++++++++++++++--- app/assets/stylesheets/framework/markdown_area.scss | 12 ++++++++++++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/gfm_auto_complete.js b/app/assets/javascripts/gfm_auto_complete.js index 6f8b73564d0..c14eb936930 100644 --- a/app/assets/javascripts/gfm_auto_complete.js +++ b/app/assets/javascripts/gfm_auto_complete.js @@ -62,9 +62,11 @@ class GfmAutoComplete { skipMarkdownCharacterTest: true, data: GfmAutoComplete.defaultLoadingData, displayTpl(value) { + const cssClasses = []; + if (GfmAutoComplete.isLoading(value)) return GfmAutoComplete.Loading.template; // eslint-disable-next-line no-template-curly-in-string - let tpl = '
  • /${name}'; + let tpl = '
  • /${name}'; if (value.aliases.length > 0) { tpl += ' (or /<%- aliases.join(", /") %>)'; } @@ -72,10 +74,19 @@ class GfmAutoComplete { tpl += ' <%- params.join(" ") %>'; } if (value.description !== '') { - tpl += '<%- description %>'; + tpl += '<%- description %> <%- warningText %>'; } tpl += '
  • '; - return _.template(tpl)(value); + + if (value.warning) { + cssClasses.push('has-warning'); + } + + return _.template(tpl)({ + ...value, + className: cssClasses.join(' '), + warningText: value.warning ? `(${value.warning})` : '', + }); }, insertTpl(value) { // eslint-disable-next-line no-template-curly-in-string @@ -104,6 +115,7 @@ class GfmAutoComplete { aliases: c.aliases, params: c.params, description: c.description, + warning: c.warning, search, }; }); diff --git a/app/assets/stylesheets/framework/markdown_area.scss b/app/assets/stylesheets/framework/markdown_area.scss index 3142f94b192..0f6fb16774c 100644 --- a/app/assets/stylesheets/framework/markdown_area.scss +++ b/app/assets/stylesheets/framework/markdown_area.scss @@ -219,6 +219,13 @@ margin-bottom: 0; } + .has-warning { + .name, + .description { + color: $orange-700; + } + } + .cur { .avatar { @include disableAllAnimation; @@ -246,6 +253,11 @@ small { color: inherit; } + + &.has-warning { + color: $orange-700; + background-color: $orange-100; + } } div.avatar { -- cgit v1.2.1