diff --git a/app/assets/javascripts/discourse/components/tag-info.js.es6 b/app/assets/javascripts/discourse/components/tag-info.js.es6 index bb143c5b0c0..8497b821771 100644 --- a/app/assets/javascripts/discourse/components/tag-info.js.es6 +++ b/app/assets/javascripts/discourse/components/tag-info.js.es6 @@ -1,10 +1,7 @@ import { ajax } from "discourse/lib/ajax"; import { popupAjaxError } from "discourse/lib/ajax-error"; import showModal from "discourse/lib/show-modal"; -import { - default as discourseComputed, - observes -} from "discourse-common/utils/decorators"; +import { default as discourseComputed } from "discourse-common/utils/decorators"; import Component from "@ember/component"; import { reads, and } from "@ember/object/computed"; import { isEmpty } from "@ember/utils"; @@ -43,11 +40,9 @@ export default Component.extend({ return isEmpty(tagGroupNames) && isEmpty(categories) && isEmpty(synonyms); }, - @observes("expanded") - toggleExpanded() { - if (this.expanded && !this.tagInfo) { - this.loadTagInfo(); - } + didInsertElement() { + this._super(...arguments); + this.loadTagInfo(); }, loadTagInfo() { @@ -68,7 +63,8 @@ export default Component.extend({ result.category_ids.map(id => Category.findById(id)) ); }) - .finally(() => this.set("loading", false)); + .finally(() => this.set("loading", false)) + .catch(popupAjaxError); }, actions: { @@ -89,7 +85,7 @@ export default Component.extend({ type: "DELETE" }) .then(() => this.tagInfo.synonyms.removeObject(tag)) - .catch(() => bootbox.alert(I18n.t("generic_error"))); + .catch(popupAjaxError); }, deleteSynonym(tag) { @@ -101,7 +97,7 @@ export default Component.extend({ tag .destroyRecord() .then(() => this.tagInfo.synonyms.removeObject(tag)) - .catch(() => bootbox.alert(I18n.t("generic_error"))); + .catch(popupAjaxError); } ); }, diff --git a/app/assets/javascripts/discourse/templates/components/tag-info.hbs b/app/assets/javascripts/discourse/templates/components/tag-info.hbs index 0fe9b385968..f1d11d66658 100644 --- a/app/assets/javascripts/discourse/templates/components/tag-info.hbs +++ b/app/assets/javascripts/discourse/templates/components/tag-info.hbs @@ -1,73 +1,70 @@ -{{#if expanded}} -
- {{#if tagInfo}} -
- {{discourse-tag tagInfo.name tagName="div" size="large"}} - {{#if canAdminTag}} - {{d-button class="btn-default" action=(action "renameTag") icon="pencil-alt" label="tagging.rename_tag" id="rename-tag"}} - {{d-button class="btn-default" action=(action "toggleEditControls") icon="cog" label="tagging.edit_synonyms" id="edit-synonyms"}} - {{#if deleteAction}} - {{d-button class="btn-danger delete-tag" action=(action "deleteTag") icon="far-trash-alt" label="tagging.delete_tag" id="delete-tag"}} - {{/if}} +
+ {{#if tagInfo}} +
+ {{discourse-tag tagInfo.name tagName="div" size="large"}} + {{#if canAdminTag}} + {{d-button class="btn-default" action=(action "renameTag") icon="pencil-alt" label="tagging.rename_tag" id="rename-tag"}} + {{d-button class="btn-default" action=(action "toggleEditControls") icon="cog" label="tagging.edit_synonyms" id="edit-synonyms"}} + {{#if deleteAction}} + {{d-button class="btn-danger delete-tag" action=(action "deleteTag") icon="far-trash-alt" label="tagging.delete_tag" id="delete-tag"}} {{/if}} -
-
- {{#if tagInfo.tag_group_names}} - {{tagGroupsInfo}} - {{/if}} - {{#if tagInfo.categories}} - {{categoriesInfo}} -
- {{#each tagInfo.categories as |category|}} - {{category-link category}} + {{/if}} +
+
+ {{#if tagInfo.tag_group_names}} + {{tagGroupsInfo}} + {{/if}} + {{#if tagInfo.categories}} + {{categoriesInfo}} +
+ {{#each tagInfo.categories as |category|}} + {{category-link category}} + {{/each}} + {{/if}} + {{#if nothingToShow}} + {{i18n "tagging.default_info"}} + {{/if}} +
+ {{#if tagInfo.synonyms}} +
+

{{i18n "tagging.synonyms"}}

+
{{{i18n "tagging.synonyms_description" base_tag_name=tagInfo.name}}}
+
+ {{#each tagInfo.synonyms as |tag|}} +
+ {{discourse-tag tag.id pmOnly=tag.pmOnly tagName="div"}} + {{#if editSynonymsMode}} + + {{d-icon "unlink" title="tagging.remove_synonym"}} + + + {{d-icon "far-trash-alt" title="tagging.delete_tag"}} + + {{/if}} +
{{/each}} - {{/if}} - {{#if nothingToShow}} - {{i18n "tagging.default_info"}} - {{/if}} -
- {{#if tagInfo.synonyms}} -
-

{{i18n "tagging.synonyms"}}

-
{{{i18n "tagging.synonyms_description" base_tag_name=tagInfo.name}}}
-
- {{#each tagInfo.synonyms as |tag|}} -
- {{discourse-tag tag.id pmOnly=tag.pmOnly tagName="div"}} - {{#if editSynonymsMode}} - - {{d-icon "unlink" title="tagging.remove_synonym"}} - - - {{d-icon "far-trash-alt" title="tagging.delete_tag"}} - - {{/if}} -
- {{/each}} -
-
- {{/if}} - {{#if editSynonymsMode}} -
- - {{tag-chooser - id="add-synonyms" - tags=newSynonyms - everyTag=true - excludeSynonyms=true - excludeHasSynonyms=true - unlimitedTagCount=true}} -
- {{d-button - class="btn-default" - action=(action "addSynonyms") - disabled=addSynonymsDisabled - label="tagging.add_synonyms"}} - {{/if}} +
{{/if}} - {{#if loading}} -
{{i18n 'loading'}}
+ {{#if editSynonymsMode}} +
+ + {{tag-chooser + id="add-synonyms" + tags=newSynonyms + everyTag=true + excludeSynonyms=true + excludeHasSynonyms=true + unlimitedTagCount=true}} +
+ {{d-button + class="btn-default" + action=(action "addSynonyms") + disabled=addSynonymsDisabled + label="tagging.add_synonyms"}} {{/if}} -
-{{/if}} + {{/if}} + {{#if loading}} +
{{i18n 'loading'}}
+ {{/if}} +
diff --git a/app/assets/javascripts/discourse/templates/tags/show.hbs b/app/assets/javascripts/discourse/templates/tags/show.hbs index d7f98ea87b0..09a6722ce83 100644 --- a/app/assets/javascripts/discourse/templates/tags/show.hbs +++ b/app/assets/javascripts/discourse/templates/tags/show.hbs @@ -46,8 +46,8 @@ -{{#if showToggleInfo}} - {{tag-info tag=tag expanded=showInfo list=list deleteAction=(action "deleteTag")}} +{{#if showInfo}} + {{tag-info tag=tag list=list deleteAction=(action "deleteTag")}} {{/if}} {{plugin-outlet name="discovery-list-container-top"}} diff --git a/app/assets/stylesheets/common/base/tagging.scss b/app/assets/stylesheets/common/base/tagging.scss index ee886255789..06f08a53364 100644 --- a/app/assets/stylesheets/common/base/tagging.scss +++ b/app/assets/stylesheets/common/base/tagging.scss @@ -280,6 +280,7 @@ header .discourse-tag { .add-synonyms, .tag-associations { margin-top: 1em; + clear: both; } .tag-list { border: none;