From 91dcc3b06304b72a32e35b0efeb19aa120a24ef5 Mon Sep 17 00:00:00 2001 From: Mark Friedrich Date: Mon, 3 Jun 2019 00:05:37 +0200 Subject: [PATCH] - new shortcut `alt` + `N` for system renaming, closed #790 --- js/app/key.js | 5 +++++ js/app/map/map.js | 2 +- js/app/map/scrollbar.js | 5 +++-- js/app/map/util.js | 9 +++++++++ js/app/page.js | 16 +++++++++++++--- public/js/v1.5.2/app/key.js | 5 +++++ public/js/v1.5.2/app/map/map.js | 2 +- public/js/v1.5.2/app/map/scrollbar.js | 5 +++-- public/js/v1.5.2/app/map/util.js | 9 +++++++++ public/js/v1.5.2/app/page.js | 16 +++++++++++++--- 10 files changed, 62 insertions(+), 12 deletions(-) diff --git a/js/app/key.js b/js/app/key.js index be54743a..bfeecfb8 100644 --- a/js/app/key.js +++ b/js/app/key.js @@ -43,6 +43,11 @@ define([ keyNames: ['CONTROL', 'V'], alias: 'paste' }, + renameSystem: { + group: 'map', + label: 'Rename system', + keyNames: ['ALT', 'N'] + }, newSignature: { group: 'signatures', label: 'New Signature', diff --git a/js/app/map/map.js b/js/app/map/map.js index 56717688..80265952 100644 --- a/js/app/map/map.js +++ b/js/app/map/map.js @@ -3176,7 +3176,7 @@ define([ }, onScrollStart: function(){ // hide all open xEditable fields - $(this).find('.editable').editable('hide'); + $(this).find('.editable.editable-open').editable('hide'); // hide all system head tooltips $(this).find('.' + config.systemHeadClass + ' .fa').tooltip('hide'); diff --git a/js/app/map/scrollbar.js b/js/app/map/scrollbar.js index 1b7b42e5..1e1bb7df 100644 --- a/js/app/map/scrollbar.js +++ b/js/app/map/scrollbar.js @@ -85,10 +85,11 @@ define([ * -> subtract some offset for tooltips/connections * @param scrollWrapper * @param position + * @param options */ - let scrollToSystem = (scrollWrapper, position) => { + let scrollToSystem = (scrollWrapper, position, options) => { position = getOffsetPosition(position, {x: -15, y: -35}); - scrollToPosition(scrollWrapper, position); + scrollToPosition(scrollWrapper, position, options); }; /** diff --git a/js/app/map/util.js b/js/app/map/util.js index d2ccc5b8..604ffec8 100644 --- a/js/app/map/util.js +++ b/js/app/map/util.js @@ -778,6 +778,14 @@ define([ return zoomChange; }; + /** + * toggles editable input form for system rename (set alias) + * @param system + */ + let toggleSystemAliasEditable = system => { + system.find('.editable').editable('toggle'); + }; + /** * mark system as "selected" e.g. for dragging * @param map @@ -1999,6 +2007,7 @@ define([ filterMapByScopes: filterMapByScopes, changeZoom: changeZoom, setZoom: setZoom, + toggleSystemAliasEditable: toggleSystemAliasEditable, storeLocaleCharacterData: storeLocaleCharacterData, getLocaleData: getLocaleData, storeLocalData: storeLocalData, diff --git a/js/app/page.js b/js/app/page.js index af231eb7..dfd796da 100644 --- a/js/app/page.js +++ b/js/app/page.js @@ -119,11 +119,21 @@ define([ return this.each((i, body) => { body = $(body); - body.watchKey('tabReload', (body) => { + body.watchKey('tabReload', body => { location.reload(); }); - body.watchKey('newSignature', (body) => { + body.watchKey('renameSystem', body => { + let activeMap = Util.getMapModule().getActiveMap(); + if(activeMap){ + let activeSystem = activeMap.find('.' + MapUtil.config.systemActiveClass + ':first'); + if(activeSystem.length){ + MapUtil.toggleSystemAliasEditable(activeSystem); + } + } + }); + + body.watchKey('newSignature', body => { let activeMap = Util.getMapModule().getActiveMap(); if(activeMap){ let mapContentElement = MapUtil.getTabContentElementByMapElement(activeMap); @@ -132,7 +142,7 @@ define([ } }); - body.watchKey('clipboardPaste', (e) => { + body.watchKey('clipboardPaste', e => { // just send event to the current active map let activeMap = Util.getMapModule().getActiveMap(); if(activeMap){ diff --git a/public/js/v1.5.2/app/key.js b/public/js/v1.5.2/app/key.js index be54743a..bfeecfb8 100644 --- a/public/js/v1.5.2/app/key.js +++ b/public/js/v1.5.2/app/key.js @@ -43,6 +43,11 @@ define([ keyNames: ['CONTROL', 'V'], alias: 'paste' }, + renameSystem: { + group: 'map', + label: 'Rename system', + keyNames: ['ALT', 'N'] + }, newSignature: { group: 'signatures', label: 'New Signature', diff --git a/public/js/v1.5.2/app/map/map.js b/public/js/v1.5.2/app/map/map.js index 56717688..80265952 100644 --- a/public/js/v1.5.2/app/map/map.js +++ b/public/js/v1.5.2/app/map/map.js @@ -3176,7 +3176,7 @@ define([ }, onScrollStart: function(){ // hide all open xEditable fields - $(this).find('.editable').editable('hide'); + $(this).find('.editable.editable-open').editable('hide'); // hide all system head tooltips $(this).find('.' + config.systemHeadClass + ' .fa').tooltip('hide'); diff --git a/public/js/v1.5.2/app/map/scrollbar.js b/public/js/v1.5.2/app/map/scrollbar.js index 1b7b42e5..1e1bb7df 100644 --- a/public/js/v1.5.2/app/map/scrollbar.js +++ b/public/js/v1.5.2/app/map/scrollbar.js @@ -85,10 +85,11 @@ define([ * -> subtract some offset for tooltips/connections * @param scrollWrapper * @param position + * @param options */ - let scrollToSystem = (scrollWrapper, position) => { + let scrollToSystem = (scrollWrapper, position, options) => { position = getOffsetPosition(position, {x: -15, y: -35}); - scrollToPosition(scrollWrapper, position); + scrollToPosition(scrollWrapper, position, options); }; /** diff --git a/public/js/v1.5.2/app/map/util.js b/public/js/v1.5.2/app/map/util.js index d2ccc5b8..604ffec8 100644 --- a/public/js/v1.5.2/app/map/util.js +++ b/public/js/v1.5.2/app/map/util.js @@ -778,6 +778,14 @@ define([ return zoomChange; }; + /** + * toggles editable input form for system rename (set alias) + * @param system + */ + let toggleSystemAliasEditable = system => { + system.find('.editable').editable('toggle'); + }; + /** * mark system as "selected" e.g. for dragging * @param map @@ -1999,6 +2007,7 @@ define([ filterMapByScopes: filterMapByScopes, changeZoom: changeZoom, setZoom: setZoom, + toggleSystemAliasEditable: toggleSystemAliasEditable, storeLocaleCharacterData: storeLocaleCharacterData, getLocaleData: getLocaleData, storeLocalData: storeLocalData, diff --git a/public/js/v1.5.2/app/page.js b/public/js/v1.5.2/app/page.js index af231eb7..dfd796da 100644 --- a/public/js/v1.5.2/app/page.js +++ b/public/js/v1.5.2/app/page.js @@ -119,11 +119,21 @@ define([ return this.each((i, body) => { body = $(body); - body.watchKey('tabReload', (body) => { + body.watchKey('tabReload', body => { location.reload(); }); - body.watchKey('newSignature', (body) => { + body.watchKey('renameSystem', body => { + let activeMap = Util.getMapModule().getActiveMap(); + if(activeMap){ + let activeSystem = activeMap.find('.' + MapUtil.config.systemActiveClass + ':first'); + if(activeSystem.length){ + MapUtil.toggleSystemAliasEditable(activeSystem); + } + } + }); + + body.watchKey('newSignature', body => { let activeMap = Util.getMapModule().getActiveMap(); if(activeMap){ let mapContentElement = MapUtil.getTabContentElementByMapElement(activeMap); @@ -132,7 +142,7 @@ define([ } }); - body.watchKey('clipboardPaste', (e) => { + body.watchKey('clipboardPaste', e => { // just send event to the current active map let activeMap = Util.getMapModule().getActiveMap(); if(activeMap){