diff --git a/addon/components/fd-editing-panels/fd-association-editing-panel-link.js b/addon/components/fd-editing-panels/fd-association-editing-panel-link.js index 1291cc967..22d53ade4 100644 --- a/addon/components/fd-editing-panels/fd-association-editing-panel-link.js +++ b/addon/components/fd-editing-panels/fd-association-editing-panel-link.js @@ -13,4 +13,12 @@ export default Component.extend(FdReadonlyModeMixin, { @default undefined */ model: undefined, + + /** + Url video help. + + @property urlHelp + @type String + */ + urlHelp: 'https://www.youtube.com/embed/G9zoWWLCwuk' }); diff --git a/addon/components/fd-editing-panels/fd-composition-editing-panel-link.js b/addon/components/fd-editing-panels/fd-composition-editing-panel-link.js index 827c325d8..ac6684a57 100644 --- a/addon/components/fd-editing-panels/fd-composition-editing-panel-link.js +++ b/addon/components/fd-editing-panels/fd-composition-editing-panel-link.js @@ -13,4 +13,12 @@ export default Component.extend(FdReadonlyModeMixin, { @default undefined */ model: undefined, + + /** + Url video help. + + @property urlHelp + @type String + */ + urlHelp: 'https://www.youtube.com/embed/G9zoWWLCwuk' }); diff --git a/addon/components/fd-sheets/fd-base-sheet.js b/addon/components/fd-sheets/fd-base-sheet.js index c913b26a0..501cd4d80 100644 --- a/addon/components/fd-sheets/fd-base-sheet.js +++ b/addon/components/fd-sheets/fd-base-sheet.js @@ -1,8 +1,9 @@ import Component from '@ember/component'; import FdSaveHasManyRelationshipsMixin from '../../mixins/fd-save-has-many-relationships'; import { inject as service } from '@ember/service'; -import { isBlank } from '@ember/utils'; +import { isBlank, isNone } from '@ember/utils'; import { assert } from '@ember/debug'; +import { getOwner } from '@ember/application'; export default Component.extend(FdSaveHasManyRelationshipsMixin, { @@ -72,6 +73,21 @@ export default Component.extend(FdSaveHasManyRelationshipsMixin, { */ readonlyMode: true, + /** + Get url video help. + + @method getHelpUrl + @param {String} componentName Component name. + */ + getHelpUrl(componentName) { + let component = getOwner(this).lookup(`component:${componentName}`); + if (isNone(component)) { + return; + } + + return component.get('urlHelp'); + }, + init() { this._super(...arguments); diff --git a/addon/components/fd-sheets/fd-class-sheet.js b/addon/components/fd-sheets/fd-class-sheet.js index 6ce14a6b6..e22d40263 100644 --- a/addon/components/fd-sheets/fd-class-sheet.js +++ b/addon/components/fd-sheets/fd-class-sheet.js @@ -90,6 +90,23 @@ export default FdBaseSheet.extend({ } }), + /** + Url video help. + + @method urlVideoHelp + */ + urlVideoHelp: computed('componentNamePart', function() { + let componentNamePart = this.get('componentNamePart'); + if (isNone(componentNamePart)) { + return; + } + + let componentName = `fd-editing-panels/fd-${componentNamePart}-editing-panel`; + let url = this.getHelpUrl(componentName); + + return url; + }), + /** Opening sheet. diff --git a/addon/components/fd-sheets/fd-diagram-sheet.js b/addon/components/fd-sheets/fd-diagram-sheet.js index 59eacb46e..fbfb70884 100644 --- a/addon/components/fd-sheets/fd-diagram-sheet.js +++ b/addon/components/fd-sheets/fd-diagram-sheet.js @@ -122,6 +122,37 @@ export default FdBaseSheet.extend( } }), + /** + Type diagram. + + @method diagramType + */ + diagramType: computed('selectedValue.data.constructor.modelName', function() { + let type = this.get('selectedValue.data.constructor.modelName'); + if (isNone(type)) { + return undefined; + } + + return type.split('-').pop(); + }), + + /** + Url video help. + + @method urlVideoHelp + */ + urlVideoHelp: computed('diagramType', function() { + let diagramType = this.get('diagramType'); + if (isNone(diagramType)) { + return; + } + + let componentName = `fd-uml-diagram-toolbars/fd-${diagramType}-toolbar`; + let url = this.getHelpUrl(componentName); + + return url; + }), + /** Opening sheet. diff --git a/addon/components/fd-sheets/fd-edit-diagram-object-sheet.js b/addon/components/fd-sheets/fd-edit-diagram-object-sheet.js index 3ea0e32fa..35ba7707c 100644 --- a/addon/components/fd-sheets/fd-edit-diagram-object-sheet.js +++ b/addon/components/fd-sheets/fd-edit-diagram-object-sheet.js @@ -145,6 +145,24 @@ export default FdBaseSheet.extend({ } }), + /** + Url video help. + + @method urlVideoHelp + */ + urlVideoHelp: computed('objectEditFormNamePart', function() { + let componentNamePart = this.get('objectEditFormNamePart'); + if (isNone(componentNamePart)) { + return; + } + + let isLink = this.get('isLink') ? '-link' : ''; + let componentName = `fd-editing-panels/fd-${componentNamePart}-editing-panel${isLink}`; + let url = this.getHelpUrl(componentName); + + return url; + }), + /** Opening sheet. diff --git a/addon/components/fd-sheets/fd-sheets-tool-bar.js b/addon/components/fd-sheets/fd-sheets-tool-bar.js index 82d893f4f..84c59e7ab 100644 --- a/addon/components/fd-sheets/fd-sheets-tool-bar.js +++ b/addon/components/fd-sheets/fd-sheets-tool-bar.js @@ -84,6 +84,14 @@ export default Component.extend(FdReadonlyProjectMixin, { */ sheetButtons: undefined, + /** + Url video helper. + + @property sheetHelper + @type String + */ + sheetHelper: undefined, + /** Object visible button. @@ -141,11 +149,11 @@ export default Component.extend(FdReadonlyProjectMixin, { */ isNewModel: false, - /** - Current sheet content value. - @property contentSheetValue - @type Object - */ + /** + Current sheet content value. + @property contentSheetValue + @type Object + */ contentSheetValue: undefined, /** @@ -330,7 +338,7 @@ export default Component.extend(FdReadonlyProjectMixin, { classDiagrams.pushObjects(cadDiagramsCurrentStage.filter(function (diagram) { if (!isNone(diagram.caseObjectsString)) { - return diagram.caseObjectsString.includes("Class:(" + currentClassName + ")"); + return diagram.caseObjectsString.includes("Class:(" + currentClassName + ")"); } })); @@ -341,7 +349,7 @@ export default Component.extend(FdReadonlyProjectMixin, { on: 'click', position: 'bottom right', target: event.currentTarget, - }).popup('show'); + }).popup('show'); }, /** diff --git a/addon/components/fd-uml-diagram-editor.js b/addon/components/fd-uml-diagram-editor.js index 57f9b34bb..ceef23994 100644 --- a/addon/components/fd-uml-diagram-editor.js +++ b/addon/components/fd-uml-diagram-editor.js @@ -198,15 +198,6 @@ FdPopupActions, { return this.get('readonlyMode') && !this.get('model.isNew'); }), - diagramType: computed('model.constructor.modelName', function() { - let type = this.get('model.constructor.modelName'); - if (isNone(type)) { - return undefined; - } - - return type.split('-').pop(); - }), - init() { this._super(...arguments); diff --git a/addon/components/fd-uml-diagram-toolbars/fd-cad-toolbar.js b/addon/components/fd-uml-diagram-toolbars/fd-cad-toolbar.js index 85fb229d0..fa314caa0 100644 --- a/addon/components/fd-uml-diagram-toolbars/fd-cad-toolbar.js +++ b/addon/components/fd-uml-diagram-toolbars/fd-cad-toolbar.js @@ -4,5 +4,13 @@ import layout from '../../templates/components/fd-uml-diagram-toolbars/fd-cad-to export default Component.extend({ layout, - tagName: '' + tagName: '', + + /** + Url video help. + + @property urlHelp + @type String + */ + urlHelp: 'https://www.youtube.com/embed/tQLDUXOnxnA' }); diff --git a/addon/components/fd-uml-diagram-toolbars/fd-ucd-toolbar.js b/addon/components/fd-uml-diagram-toolbars/fd-ucd-toolbar.js index 2c57e6ed4..1f30d32af 100644 --- a/addon/components/fd-uml-diagram-toolbars/fd-ucd-toolbar.js +++ b/addon/components/fd-uml-diagram-toolbars/fd-ucd-toolbar.js @@ -4,5 +4,13 @@ import layout from '../../templates/components/fd-uml-diagram-toolbars/fd-ucd-to export default Component.extend({ layout, - tagName: '' + tagName: '', + + /** + Url video help. + + @property urlHelp + @type String + */ + urlHelp: 'https://www.youtube.com/embed/VcPrY-FFjGI' }); diff --git a/addon/components/fd-view-helper.js b/addon/components/fd-view-helper.js new file mode 100644 index 000000000..0fd9341df --- /dev/null +++ b/addon/components/fd-view-helper.js @@ -0,0 +1,41 @@ +import Component from '@ember/component'; +import $ from 'jquery'; +import layout from '../templates/components/fd-view-helper'; + +export default Component.extend({ + layout, + tagName: '', + + /** + Url video. + + @property url + @type String + */ + url: '', + + /** + Position popup. + + @property position + @type String + */ + position: 'center', + + actions: { + /** + Open popup with video helper. + + @method actions.viewHelper + */ + viewHelper(event) { + let position = this.get('position'); + let popup = $(event.currentTarget.nextElementSibling); + popup.popup({ + on: 'click', + position: `bottom ${position}`, + target: event.currentTarget, + }).popup('show'); + } + } +}); diff --git a/addon/locales/en/components/fd-view-helper.js b/addon/locales/en/components/fd-view-helper.js new file mode 100644 index 000000000..2364b9355 --- /dev/null +++ b/addon/locales/en/components/fd-view-helper.js @@ -0,0 +1,3 @@ +export default { + 'video-help-title': 'Video help' +}; diff --git a/addon/locales/en/translations.js b/addon/locales/en/translations.js index c51c85df4..409e70b46 100644 --- a/addon/locales/en/translations.js +++ b/addon/locales/en/translations.js @@ -153,6 +153,7 @@ import FdApplicationModelForm from './forms/fd-application-model'; import FdArchitectureForm from './forms/fd-architecture'; import FdGisSubsystem from './components/fd-gis-subsystem'; import FdColorSettingPanel from './components/fd-color-setting-panel'; +import FdViewHelperPanel from './components/fd-view-helper'; const translations = {}; $.extend(true, translations, EmberFlexberryTranslations); @@ -474,6 +475,7 @@ $.extend(true, translations, { 'fd-modal-message-box': FdfModalMessageBox, 'fd-gis-subsystem': FdGisSubsystem, 'fd-color-setting-panel': FdColorSettingPanel, + 'fd-view-helper': FdViewHelperPanel } }); diff --git a/addon/locales/ru/components/fd-view-helper.js b/addon/locales/ru/components/fd-view-helper.js new file mode 100644 index 000000000..dc10df32a --- /dev/null +++ b/addon/locales/ru/components/fd-view-helper.js @@ -0,0 +1,3 @@ +export default { + 'video-help-title': 'Видео подсказка' +}; diff --git a/addon/locales/ru/translations.js b/addon/locales/ru/translations.js index 604092f66..128c3934b 100644 --- a/addon/locales/ru/translations.js +++ b/addon/locales/ru/translations.js @@ -152,6 +152,7 @@ import FdApplicationModelForm from './forms/fd-application-model'; import FdArchitectureForm from './forms/fd-architecture'; import FdGisSubsystem from './components/fd-gis-subsystem'; import FdColorSettingPanel from './components/fd-color-setting-panel'; +import FdViewHelperPanel from './components/fd-view-helper'; const translations = {}; $.extend(true, translations, EmberFlexberryTranslations); @@ -473,6 +474,7 @@ $.extend(true, translations, { 'fd-modal-message-box': FdfModalMessageBox, 'fd-gis-subsystem': FdGisSubsystem, 'fd-color-setting-panel': FdColorSettingPanel, + 'fd-view-helper': FdViewHelperPanel } }); diff --git a/addon/templates/components/fd-sheets/fd-class-sheet.hbs b/addon/templates/components/fd-sheets/fd-class-sheet.hbs index bc2797a67..2b1cdb4fc 100644 --- a/addon/templates/components/fd-sheets/fd-class-sheet.hbs +++ b/addon/templates/components/fd-sheets/fd-class-sheet.hbs @@ -8,6 +8,7 @@ readonlyMode=readonlyMode isNewModel=selectedValue.data.isNew sheetButtons=(array 'delete' 'save' 'share' 'dependencies') + sheetHelper=urlVideoHelp toolbarVisible=(not isAddMode) saveSheet=(action 'save') deleteSheet=(action 'delete') diff --git a/addon/templates/components/fd-sheets/fd-diagram-sheet.hbs b/addon/templates/components/fd-sheets/fd-diagram-sheet.hbs index 1a8b7e2a1..9cd21e677 100644 --- a/addon/templates/components/fd-sheets/fd-diagram-sheet.hbs +++ b/addon/templates/components/fd-sheets/fd-diagram-sheet.hbs @@ -8,6 +8,7 @@ readonlyMode=readonlyMode isNewModel=selectedValue.data.isNew sheetButtons=(array 'delete' 'save' 'print' 'share' 'steps' 'copy') + sheetHelper=urlVideoHelp toolbarVisible=(not isAddMode) saveSheet=(action 'save') deleteSheet=(action 'delete') @@ -73,6 +74,7 @@ model=selectedValue.data emptyReferenceCountItems=emptyReferenceCountItems sheetComponentName=sheetComponentName + diagramType=diagramType readonlyMode=readonlyMode openEditFormAction=(action "openNestedSheet") }} diff --git a/addon/templates/components/fd-sheets/fd-edit-diagram-object-sheet.hbs b/addon/templates/components/fd-sheets/fd-edit-diagram-object-sheet.hbs index 75c7a7a5e..61cbf6bb2 100644 --- a/addon/templates/components/fd-sheets/fd-edit-diagram-object-sheet.hbs +++ b/addon/templates/components/fd-sheets/fd-edit-diagram-object-sheet.hbs @@ -8,6 +8,7 @@ readonlyMode=readonlyMode isNewModel=selectedValue.isNew sheetButtons=(array 'save' 'share' (if (not isLink) 'dependencies')) + sheetHelper=urlVideoHelp saveSheet=(action 'save') contentSheetValue=selectedValue }} diff --git a/addon/templates/components/fd-sheets/fd-sheets-tool-bar.hbs b/addon/templates/components/fd-sheets/fd-sheets-tool-bar.hbs index 38e65f9df..6e1a1409c 100644 --- a/addon/templates/components/fd-sheets/fd-sheets-tool-bar.hbs +++ b/addon/templates/components/fd-sheets/fd-sheets-tool-bar.hbs @@ -1,4 +1,10 @@
+ {{#if sheetHelper}} + {{fd-view-helper + url=sheetHelper + position='right' + }} + {{/if}} {{#if customButtonVisible}} diff --git a/app/templates/fd-application-model.hbs b/app/templates/fd-application-model.hbs index aa4d8016b..aa9a1a5bc 100644 --- a/app/templates/fd-application-model.hbs +++ b/app/templates/fd-application-model.hbs @@ -13,12 +13,17 @@ needChecksOnValue=false }}
-
+
{{ fd-search-input value=searchValue }}
+
+ {{fd-view-helper + url='https://www.youtube.com/embed/TwY57MhbsDM' + }} +
diff --git a/app/templates/fd-navigation.hbs b/app/templates/fd-navigation.hbs index 77d43d036..3f0e5066a 100644 --- a/app/templates/fd-navigation.hbs +++ b/app/templates/fd-navigation.hbs @@ -5,6 +5,9 @@ click=(action "createPrototype") readonly=readonlyModeProject }} + {{fd-view-helper + url='https://www.youtube.com/embed/LFDZ8ru0auY' + }} {{else}} {{#if readonlyMode}} diff --git a/app/templates/fd-setting.hbs b/app/templates/fd-setting.hbs index e68854ac4..91f68c3cd 100644 --- a/app/templates/fd-setting.hbs +++ b/app/templates/fd-setting.hbs @@ -1,5 +1,9 @@
+ {{fd-view-helper + url='https://www.youtube.com/embed/ycw9i0-1fBM' + position='right' + }}