From 91b1bdd9277136eb5adb4b5002f58aa16c5697fc Mon Sep 17 00:00:00 2001 From: s-andrey Date: Fri, 18 Sep 2020 16:51:36 +0500 Subject: [PATCH] Add title for button and fix remarks (#732) --- addon/instance-initializers/i18n-for-object.js | 16 ++++++++++++++++ .../en/components/fd-diagram-editing-panel.js | 6 +++++- .../ru/components/fd-diagram-editing-panel.js | 6 +++++- addon/locales/ru/forms/fd-setting.js | 16 ++++++++-------- .../objects/uml-primitives/fd-uml-association.js | 1 + addon/objects/uml-primitives/fd-uml-class.js | 2 ++ .../uml-primitives/fd-uml-complex-transition.js | 1 + .../objects/uml-primitives/fd-uml-composition.js | 1 + addon/objects/uml-primitives/fd-uml-primitive.js | 5 +++++ .../uml-primitives/links-view/fd-empty-view.js | 2 ++ app/instance-initializers/i18n-for-object.js | 1 + 11 files changed, 47 insertions(+), 10 deletions(-) create mode 100644 addon/instance-initializers/i18n-for-object.js create mode 100644 app/instance-initializers/i18n-for-object.js diff --git a/addon/instance-initializers/i18n-for-object.js b/addon/instance-initializers/i18n-for-object.js new file mode 100644 index 000000000..a00e26694 --- /dev/null +++ b/addon/instance-initializers/i18n-for-object.js @@ -0,0 +1,16 @@ +import { isNone } from '@ember/utils'; + +export function initialize(application) { + let i18n = application.lookup('service:i18n'); + if (isNone(i18n)) { + return; + } + + window.i18n = i18n; +} + +export default { + name: 'i18n-for-object', + after: ['ember-i18n', 'i18n'], + initialize +}; diff --git a/addon/locales/en/components/fd-diagram-editing-panel.js b/addon/locales/en/components/fd-diagram-editing-panel.js index 66830d099..99d735c3b 100644 --- a/addon/locales/en/components/fd-diagram-editing-panel.js +++ b/addon/locales/en/components/fd-diagram-editing-panel.js @@ -2,5 +2,9 @@ export default { 'toggler-caption': 'Additional settings', 'system-caption': 'Catalog', 'description-caption': 'Description', - 'description-placeholder': 'Diagram description' + 'description-placeholder': 'Diagram description', + 'remove-button-title': 'Remove object', + 'color-button-title': 'Object appearance settings', + 'open-edit-form-title': 'Open edit form', + 'collapse-title': 'Collapse object' }; diff --git a/addon/locales/ru/components/fd-diagram-editing-panel.js b/addon/locales/ru/components/fd-diagram-editing-panel.js index f586ab4ba..c58307445 100644 --- a/addon/locales/ru/components/fd-diagram-editing-panel.js +++ b/addon/locales/ru/components/fd-diagram-editing-panel.js @@ -2,5 +2,9 @@ export default { 'toggler-caption': 'Дополнительные настройки', 'system-caption': 'Каталог', 'description-caption': 'Описание', - 'description-placeholder': 'Описание диаграммы' + 'description-placeholder': 'Описание диаграммы', + 'remove-button-title': 'Удалить объект', + 'color-button-title': 'Настройки внешнего вида объекта', + 'open-edit-form-title': 'Открыть форму редактирования свойств', + 'collapse-title': 'Свернуть объект' }; diff --git a/addon/locales/ru/forms/fd-setting.js b/addon/locales/ru/forms/fd-setting.js index 201c4e2f0..055eec0c6 100644 --- a/addon/locales/ru/forms/fd-setting.js +++ b/addon/locales/ru/forms/fd-setting.js @@ -30,20 +30,20 @@ export default { 'frontend-repo-url': 'Адрес репозитория клиентской части', 'backend-repo-url': 'Адрес репозитория серверной части', 'repo-url-placeholder': 'Введите адрес', - 'frontend-login': 'Логин для рапозитория с клиентской частью', - 'backend-login': 'Логин для рапозитория с серверной частью', + 'frontend-login': 'Логин для репозитория с клиентской частью', + 'backend-login': 'Логин для репозитория с серверной частью', 'login-placeholder': 'Введите логин', - 'frontend-password': 'Пароль для рапозитория с клиентской частью', - 'backend-password': 'Пароль для рапозитория с серверной частью', + 'frontend-password': 'Пароль для репозитория с клиентской частью', + 'backend-password': 'Пароль для репозитория с серверной частью', 'password-placeholder': 'Введите пароль', 'frontend-branch': 'Ветка для клиентской части', 'backend-branch': 'Ветка для серверной части', 'branch-placeholder': 'Введите имя ветки', - 'frontend-pub-key': 'Открытый SSH ключ для рапозитория с клиентской частью', - 'backend-pub-key': 'Открытый SSH ключ для рапозитория с серверной частью', + 'frontend-pub-key': 'Открытый SSH ключ для репозитория с клиентской частью', + 'backend-pub-key': 'Открытый SSH ключ для репозитория с серверной частью', 'pub-key-placeholder': 'Введите открытый SSH ключ', - 'frontend-pri-key': 'Закрытый SSH ключ для рапозитория с клиентской частью', - 'backend-pri-key': 'Закрытый SSH ключ для рапозитория с серверной частью', + 'frontend-pri-key': 'Закрытый SSH ключ для репозитория с клиентской частью', + 'backend-pri-key': 'Закрытый SSH ключ для репозитория с серверной частью', 'pri-key-placeholder': 'Введите закрытый SSH ключ', 'frontend-publish': 'Публикация приложения в gh-pages', 'git-disconnect-button-caption': 'Отключить учетную запись от Github', diff --git a/addon/objects/uml-primitives/fd-uml-association.js b/addon/objects/uml-primitives/fd-uml-association.js index 1b5e03d90..3900d788b 100644 --- a/addon/objects/uml-primitives/fd-uml-association.js +++ b/addon/objects/uml-primitives/fd-uml-association.js @@ -54,6 +54,7 @@ joint.shapes.flexberry.uml.AssociationView = MultiplicityView.extend({ buttons.pushObject({ name: 'open-edit-form-button', text: '', + title: window.i18n.t('components.fd-diagram-editing-panel.open-edit-form-title').string, handler: this.openEditForm.bind(this), attrs: { 'element': { atConnectionRatio: .4 }, diff --git a/addon/objects/uml-primitives/fd-uml-class.js b/addon/objects/uml-primitives/fd-uml-class.js index ad0428068..6dffafb84 100644 --- a/addon/objects/uml-primitives/fd-uml-class.js +++ b/addon/objects/uml-primitives/fd-uml-class.js @@ -466,6 +466,7 @@ joint.shapes.flexberry.uml.ClassView = joint.shapes.flexberry.uml.PrimitiveEleme buttons.pushObject({ name: 'collapse-button', text: collapsed ? '' : '', + title: window.i18n.t('components.fd-diagram-editing-panel.collapse-title').string, handler: this.collapseElementViewHandler.bind(this), attrs: { 'element': {'ref-x': 0,'ref-y': 0, 'ref': '.joint-highlight-stroke' }, @@ -478,6 +479,7 @@ joint.shapes.flexberry.uml.ClassView = joint.shapes.flexberry.uml.PrimitiveEleme buttons.pushObject({ name: 'open-edit-form-button', text: '', + title: window.i18n.t('components.fd-diagram-editing-panel.open-edit-form-title').string, handler: this.openEditForm.bind(this), attrs: { 'element': { 'ref-dx': -28, 'ref-y': 0, 'ref': '.joint-highlight-stroke' }, diff --git a/addon/objects/uml-primitives/fd-uml-complex-transition.js b/addon/objects/uml-primitives/fd-uml-complex-transition.js index 362d8f921..1d1e45c2f 100644 --- a/addon/objects/uml-primitives/fd-uml-complex-transition.js +++ b/addon/objects/uml-primitives/fd-uml-complex-transition.js @@ -211,6 +211,7 @@ joint.shapes.flexberry.uml.ComplexTransitionHView = joint.shapes.flexberry.uml.P return A([{ name: 'remove-button', text: '', + title: window.i18n.t('components.fd-diagram-editing-panel.remove-button-title').string, handler: this.removeElement.bind(this), attrs: { 'element': {'ref-dx': 10,'ref-y': -15, 'ref': '.joint-highlight-stroke' }, diff --git a/addon/objects/uml-primitives/fd-uml-composition.js b/addon/objects/uml-primitives/fd-uml-composition.js index ffb8d55fb..ccbe61b89 100644 --- a/addon/objects/uml-primitives/fd-uml-composition.js +++ b/addon/objects/uml-primitives/fd-uml-composition.js @@ -78,6 +78,7 @@ joint.shapes.flexberry.uml.CompositionView = MultiplicityView.extend({ buttons.pushObject({ name: 'open-edit-form-button', text: '', + title: window.i18n.t('components.fd-diagram-editing-panel.open-edit-form-title').string, handler: this.openEditForm.bind(this), attrs: { 'element': { atConnectionRatio: .4 }, diff --git a/addon/objects/uml-primitives/fd-uml-primitive.js b/addon/objects/uml-primitives/fd-uml-primitive.js index cd1ad0564..fdf54a630 100644 --- a/addon/objects/uml-primitives/fd-uml-primitive.js +++ b/addon/objects/uml-primitives/fd-uml-primitive.js @@ -322,9 +322,12 @@ joint.highlighters.strokeAndButtons = { g.setAttributeNS(null, 'class', name || ''); let circle = document.createElementNS(svgNS, 'circle'); let text = document.createElementNS(svgNS, 'text'); + let title = document.createElementNS(svgNS, 'title'); text.innerHTML = get(button, 'text'); + title.innerHTML = get(button, 'title'); g.appendChild(circle); g.appendChild(text); + g.appendChild(title); g.onmousedown = this._onMouseDown; g.onclick = get(button, 'handler'); if (!isArray(this._buttons[id])) { @@ -367,6 +370,7 @@ joint.shapes.flexberry.uml.PrimitiveElementView = joint.dia.ElementView.extend({ return A([{ name: 'remove-button', text: '', + title: window.i18n.t('components.fd-diagram-editing-panel.remove-button-title').string, handler: this.removeElement.bind(this), attrs: { 'element': {'ref-dx': 0,'ref-y': 0, 'ref': '.joint-highlight-stroke' }, @@ -376,6 +380,7 @@ joint.shapes.flexberry.uml.PrimitiveElementView = joint.dia.ElementView.extend({ }, { name: 'color-button', text: '', + title: window.i18n.t('components.fd-diagram-editing-panel.color-button-title').string, handler: this.changeColorElement.bind(this), attrs: { 'element': {'ref-dx': -14,'ref-y': 0, 'ref': '.joint-highlight-stroke' }, diff --git a/addon/objects/uml-primitives/links-view/fd-empty-view.js b/addon/objects/uml-primitives/links-view/fd-empty-view.js index cd9e43ce2..8d504a67e 100644 --- a/addon/objects/uml-primitives/links-view/fd-empty-view.js +++ b/addon/objects/uml-primitives/links-view/fd-empty-view.js @@ -205,6 +205,7 @@ export let EmptyView = joint.dia.LinkView.extend({ return A([{ name: 'remove-button', text: '', + title: window.i18n.t('components.fd-diagram-editing-panel.remove-button-title').string, handler: this.removeLink.bind(this), attrs: { 'element': { atConnectionRatio: .2 }, @@ -214,6 +215,7 @@ export let EmptyView = joint.dia.LinkView.extend({ }, { name: 'color-button', text: '', + title: window.i18n.t('components.fd-diagram-editing-panel.color-button-title').string, handler: this.changeColorElement.bind(this), attrs: { 'element': { atConnectionRatio: .3 }, diff --git a/app/instance-initializers/i18n-for-object.js b/app/instance-initializers/i18n-for-object.js new file mode 100644 index 000000000..2fdeadfe8 --- /dev/null +++ b/app/instance-initializers/i18n-for-object.js @@ -0,0 +1 @@ +export { default, initialize } from 'ember-flexberry-designer/instance-initializers/i18n-for-object';