From 949b41095fcaceb14749821d28d7419b9054c346 Mon Sep 17 00:00:00 2001 From: soneill Date: Wed, 2 Sep 2020 00:18:02 +1200 Subject: [PATCH 1/7] adds global route settings --- js/app/ui/module/system_route.js | 68 +++++++++++-- .../js/v2.0.1/app/ui/module/system_route.js | 68 +++++++++++-- public/templates/dialog/route_settings.html | 98 +++++++++++++++++++ 3 files changed, 220 insertions(+), 14 deletions(-) diff --git a/js/app/ui/module/system_route.js b/js/app/ui/module/system_route.js index 90604c8a..28916515 100644 --- a/js/app/ui/module/system_route.js +++ b/js/app/ui/module/system_route.js @@ -211,7 +211,7 @@ define([ // get current row data (important!) // -> "rowData" param is not current state, values are "on createCell()" state rowData = tableApi.row( $(cell).parents('tr')).data(); - let routeData = module.getRouteRequestDataFromRowData(rowData); + let routeData = module.getRouteRequestDataFromRowData(rowData, module._systemData.mapId); // overwrite some params routeData.skipSearch = 0; @@ -242,7 +242,7 @@ define([ // get current row data (important!) // -> "rowData" param is not current state, values are "on createCell()" state rowData = tableApi.row( $(cell).parents('tr')).data(); - let routeData = module.getRouteRequestDataFromRowData(rowData); + let routeData = module.getRouteRequestDataFromRowData(rowData, module._systemData.mapId); // overwrite some params routeData.skipSearch = 0; @@ -318,6 +318,8 @@ define([ // add "Rally Point" systems to table let systemsToData = module.getRallySystemsData(module._systemData.mapId); systemsToData.push(...systemsTo); + + // set global routeSettings module.drawRouteTable(module._systemData.mapId, module._systemFromData, systemsToData); }); @@ -441,7 +443,7 @@ define([ skipSearch: requestRouteData.length >= defaultRoutesCount }; - requestRouteData.push(this.getRouteRequestDataFromRowData(searchData)); + requestRouteData.push(this.getRouteRequestDataFromRowData(searchData, mapId)); } } } @@ -481,7 +483,23 @@ define([ * @param {Object} rowData * @returns {Object} */ - getRouteRequestDataFromRowData(rowData){ + getRouteRequestDataFromRowData(rowData, mapId){ + + // Here we need to retrieve the stored settings stored as "routeSettings" in the map module. + // This can be done with the function : + // Util.getLocalStorage('map').getItem(mapId); + // however this returns a promise, and I do not know how to make the return below wait for the promise to + // call back without using something like: + // async getRouteRequestDataFromRowData(rowData, mapId){ + // let routeSettings = await Util.getLocalStorage('map').getItem(mapId).routeSettings; + // return { + // ... + // }; + // } + // In theory if the storedLocal data can be retrieved here into a var we can just modify the returned object below + // to incorporate these settings like: + // wormholesThera: (rowData.hasOwnProperty('wormholesThera')) ? rowData.wormholesThera | 0 : routeSettings.wormholesThera | 1, + return { mapIds: (rowData.hasOwnProperty('mapIds')) ? rowData.mapIds : [], systemFromData: (rowData.hasOwnProperty('systemFromData')) ? rowData.systemFromData : {}, @@ -532,7 +550,7 @@ define([ let routeData = []; this._tableApi.rows().every(function(){ - routeData.push(module.getRouteRequestDataFromRowData(this.data())); + routeData.push(module.getRouteRequestDataFromRowData(this.data(), module._systemData.mapId)); }); this.getRouteData({routeData: routeData}, 'callbackAddRouteRows'); @@ -889,7 +907,17 @@ define([ id: this._config.routeSettingsDialogId, selectClass: this._config.systemDialogSelectClass, systemSelectOptions: systemSelectOptions, - maxSelectionLength: maxSelectionLength + maxSelectionLength: maxSelectionLength, //remove comma + // new options + select2Class: Util.config.select2Class, + routeDialogSizeSelectId: this._config.routeDialogSizeSelectId, + select2Class: Util.config.select2Class, + sizeOptions: MapUtil.allConnectionJumpMassTypes().map(type => ({ + id: type, + name: type, + selected: false + })) + }; requirejs(['text!templates/dialog/route_settings.html', 'mustache'], (template, Mustache) => { @@ -910,15 +938,38 @@ define([ callback: e => { let form = $(e.delegateTarget).find('form'); // get all system data from select2 + let systemSelectData = form.find('.' + this._config.systemDialogSelectClass).select2('data'); let systemsToData = []; + + // route settings additions + let routeSettingsData = $(form).getFormValues(); + + if( + routeSettingsData + ){ + let routeSettings = { + stargates: routeSettingsData.hasOwnProperty('stargates') ? parseInt(routeSettingsData.stargates) : 0, + jumpbridges: routeSettingsData.hasOwnProperty('jumpbridges') ? parseInt(routeSettingsData.jumpbridges) : 0, + wormholes: routeSettingsData.hasOwnProperty('wormholes') ? parseInt(routeSettingsData.wormholes) : 0, + wormholesReduced: routeSettingsData.hasOwnProperty('wormholesReduced') ? parseInt(routeSettingsData.wormholesReduced) : 0, + wormholesCritical: routeSettingsData.hasOwnProperty('wormholesCritical') ? parseInt(routeSettingsData.wormholesCritical) : 0, + wormholesEOL: routeSettingsData.hasOwnProperty('wormholesEOL') ? parseInt(routeSettingsData.wormholesEOL) : 0, + wormholesThera: routeSettingsData.hasOwnProperty('wormholesThera') ? parseInt(routeSettingsData.wormholesThera) : 0, + wormholesSizeMin: routeSettingsData.wormholesSizeMin || '', + excludeTypes: SystemRouteModule.getLowerSizeConnectionTypes(routeSettingsData.wormholesSizeMin), + endpointsBubble: routeSettingsData.hasOwnProperty('endpointsBubble') ? parseInt(routeSettingsData.endpointsBubble) : 0, + }; + Util.getLocalStore('map').setItem(`${dialogData.mapId}.routeSettings`, routeSettings); + } + // end route settings additions if(systemSelectData.length > 0){ systemsToData = SystemRouteModule.formSystemSelectData(systemSelectData); Util.getLocalStore('map').setItem(`${dialogData.mapId}.routes`, systemsToData); }else{ Util.getLocalStore('map').removeItem(`${dialogData.mapId}.routes`); - } + } this.showNotify({title: 'Route settings stored', type: 'success'}); @@ -935,6 +986,9 @@ define([ // -> add some delay until modal transition has finished let systemTargetSelect = $(e.target).find('.' + this._config.systemDialogSelectClass); systemTargetSelect.delay(240).initSystemSelect({key: 'id', maxSelectionLength: maxSelectionLength}); + + // init connection jump size select ------------------------------------------------------------------- + $(e.target).find('#' + this._config.routeDialogSizeSelectId).initConnectionSizeSelect(); }); // show dialog diff --git a/public/js/v2.0.1/app/ui/module/system_route.js b/public/js/v2.0.1/app/ui/module/system_route.js index 90604c8a..28916515 100644 --- a/public/js/v2.0.1/app/ui/module/system_route.js +++ b/public/js/v2.0.1/app/ui/module/system_route.js @@ -211,7 +211,7 @@ define([ // get current row data (important!) // -> "rowData" param is not current state, values are "on createCell()" state rowData = tableApi.row( $(cell).parents('tr')).data(); - let routeData = module.getRouteRequestDataFromRowData(rowData); + let routeData = module.getRouteRequestDataFromRowData(rowData, module._systemData.mapId); // overwrite some params routeData.skipSearch = 0; @@ -242,7 +242,7 @@ define([ // get current row data (important!) // -> "rowData" param is not current state, values are "on createCell()" state rowData = tableApi.row( $(cell).parents('tr')).data(); - let routeData = module.getRouteRequestDataFromRowData(rowData); + let routeData = module.getRouteRequestDataFromRowData(rowData, module._systemData.mapId); // overwrite some params routeData.skipSearch = 0; @@ -318,6 +318,8 @@ define([ // add "Rally Point" systems to table let systemsToData = module.getRallySystemsData(module._systemData.mapId); systemsToData.push(...systemsTo); + + // set global routeSettings module.drawRouteTable(module._systemData.mapId, module._systemFromData, systemsToData); }); @@ -441,7 +443,7 @@ define([ skipSearch: requestRouteData.length >= defaultRoutesCount }; - requestRouteData.push(this.getRouteRequestDataFromRowData(searchData)); + requestRouteData.push(this.getRouteRequestDataFromRowData(searchData, mapId)); } } } @@ -481,7 +483,23 @@ define([ * @param {Object} rowData * @returns {Object} */ - getRouteRequestDataFromRowData(rowData){ + getRouteRequestDataFromRowData(rowData, mapId){ + + // Here we need to retrieve the stored settings stored as "routeSettings" in the map module. + // This can be done with the function : + // Util.getLocalStorage('map').getItem(mapId); + // however this returns a promise, and I do not know how to make the return below wait for the promise to + // call back without using something like: + // async getRouteRequestDataFromRowData(rowData, mapId){ + // let routeSettings = await Util.getLocalStorage('map').getItem(mapId).routeSettings; + // return { + // ... + // }; + // } + // In theory if the storedLocal data can be retrieved here into a var we can just modify the returned object below + // to incorporate these settings like: + // wormholesThera: (rowData.hasOwnProperty('wormholesThera')) ? rowData.wormholesThera | 0 : routeSettings.wormholesThera | 1, + return { mapIds: (rowData.hasOwnProperty('mapIds')) ? rowData.mapIds : [], systemFromData: (rowData.hasOwnProperty('systemFromData')) ? rowData.systemFromData : {}, @@ -532,7 +550,7 @@ define([ let routeData = []; this._tableApi.rows().every(function(){ - routeData.push(module.getRouteRequestDataFromRowData(this.data())); + routeData.push(module.getRouteRequestDataFromRowData(this.data(), module._systemData.mapId)); }); this.getRouteData({routeData: routeData}, 'callbackAddRouteRows'); @@ -889,7 +907,17 @@ define([ id: this._config.routeSettingsDialogId, selectClass: this._config.systemDialogSelectClass, systemSelectOptions: systemSelectOptions, - maxSelectionLength: maxSelectionLength + maxSelectionLength: maxSelectionLength, //remove comma + // new options + select2Class: Util.config.select2Class, + routeDialogSizeSelectId: this._config.routeDialogSizeSelectId, + select2Class: Util.config.select2Class, + sizeOptions: MapUtil.allConnectionJumpMassTypes().map(type => ({ + id: type, + name: type, + selected: false + })) + }; requirejs(['text!templates/dialog/route_settings.html', 'mustache'], (template, Mustache) => { @@ -910,15 +938,38 @@ define([ callback: e => { let form = $(e.delegateTarget).find('form'); // get all system data from select2 + let systemSelectData = form.find('.' + this._config.systemDialogSelectClass).select2('data'); let systemsToData = []; + + // route settings additions + let routeSettingsData = $(form).getFormValues(); + + if( + routeSettingsData + ){ + let routeSettings = { + stargates: routeSettingsData.hasOwnProperty('stargates') ? parseInt(routeSettingsData.stargates) : 0, + jumpbridges: routeSettingsData.hasOwnProperty('jumpbridges') ? parseInt(routeSettingsData.jumpbridges) : 0, + wormholes: routeSettingsData.hasOwnProperty('wormholes') ? parseInt(routeSettingsData.wormholes) : 0, + wormholesReduced: routeSettingsData.hasOwnProperty('wormholesReduced') ? parseInt(routeSettingsData.wormholesReduced) : 0, + wormholesCritical: routeSettingsData.hasOwnProperty('wormholesCritical') ? parseInt(routeSettingsData.wormholesCritical) : 0, + wormholesEOL: routeSettingsData.hasOwnProperty('wormholesEOL') ? parseInt(routeSettingsData.wormholesEOL) : 0, + wormholesThera: routeSettingsData.hasOwnProperty('wormholesThera') ? parseInt(routeSettingsData.wormholesThera) : 0, + wormholesSizeMin: routeSettingsData.wormholesSizeMin || '', + excludeTypes: SystemRouteModule.getLowerSizeConnectionTypes(routeSettingsData.wormholesSizeMin), + endpointsBubble: routeSettingsData.hasOwnProperty('endpointsBubble') ? parseInt(routeSettingsData.endpointsBubble) : 0, + }; + Util.getLocalStore('map').setItem(`${dialogData.mapId}.routeSettings`, routeSettings); + } + // end route settings additions if(systemSelectData.length > 0){ systemsToData = SystemRouteModule.formSystemSelectData(systemSelectData); Util.getLocalStore('map').setItem(`${dialogData.mapId}.routes`, systemsToData); }else{ Util.getLocalStore('map').removeItem(`${dialogData.mapId}.routes`); - } + } this.showNotify({title: 'Route settings stored', type: 'success'}); @@ -935,6 +986,9 @@ define([ // -> add some delay until modal transition has finished let systemTargetSelect = $(e.target).find('.' + this._config.systemDialogSelectClass); systemTargetSelect.delay(240).initSystemSelect({key: 'id', maxSelectionLength: maxSelectionLength}); + + // init connection jump size select ------------------------------------------------------------------- + $(e.target).find('#' + this._config.routeDialogSizeSelectId).initConnectionSizeSelect(); }); // show dialog diff --git a/public/templates/dialog/route_settings.html b/public/templates/dialog/route_settings.html index 891fe9ef..a6034e0f 100644 --- a/public/templates/dialog/route_settings.html +++ b/public/templates/dialog/route_settings.html @@ -26,5 +26,103 @@ +

  Filter

+ + {{! Filter ------------------------------------------------------------------- }} + +
+ +
+
+ + +
+ + +
+ + + +
+ + +
+ + + +
+ + +
+ + + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+
+ +
+
+ +
+ +
+
+
+ +
+
+
+
+ + +
+ +
+ + +
+
+
+
+ +
+ \ No newline at end of file From 0de82da28110e86bec82ccb7782b1792fcebb4be Mon Sep 17 00:00:00 2001 From: soneill Date: Wed, 2 Sep 2020 00:25:14 +1200 Subject: [PATCH 2/7] adds global route settings --- js/app/ui/module/system_route.js | 4 +--- public/js/v2.0.1/app/ui/module/system_route.js | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/js/app/ui/module/system_route.js b/js/app/ui/module/system_route.js index 28916515..433882d6 100644 --- a/js/app/ui/module/system_route.js +++ b/js/app/ui/module/system_route.js @@ -318,8 +318,6 @@ define([ // add "Rally Point" systems to table let systemsToData = module.getRallySystemsData(module._systemData.mapId); systemsToData.push(...systemsTo); - - // set global routeSettings module.drawRouteTable(module._systemData.mapId, module._systemFromData, systemsToData); }); @@ -969,7 +967,7 @@ define([ Util.getLocalStore('map').setItem(`${dialogData.mapId}.routes`, systemsToData); }else{ Util.getLocalStore('map').removeItem(`${dialogData.mapId}.routes`); - } + } this.showNotify({title: 'Route settings stored', type: 'success'}); diff --git a/public/js/v2.0.1/app/ui/module/system_route.js b/public/js/v2.0.1/app/ui/module/system_route.js index 28916515..433882d6 100644 --- a/public/js/v2.0.1/app/ui/module/system_route.js +++ b/public/js/v2.0.1/app/ui/module/system_route.js @@ -318,8 +318,6 @@ define([ // add "Rally Point" systems to table let systemsToData = module.getRallySystemsData(module._systemData.mapId); systemsToData.push(...systemsTo); - - // set global routeSettings module.drawRouteTable(module._systemData.mapId, module._systemFromData, systemsToData); }); @@ -969,7 +967,7 @@ define([ Util.getLocalStore('map').setItem(`${dialogData.mapId}.routes`, systemsToData); }else{ Util.getLocalStore('map').removeItem(`${dialogData.mapId}.routes`); - } + } this.showNotify({title: 'Route settings stored', type: 'success'}); From 9db78772f744f6634c40ac0786aa3ebffcbdf2c5 Mon Sep 17 00:00:00 2001 From: soneill Date: Wed, 2 Sep 2020 01:51:06 +1200 Subject: [PATCH 3/7] adds global route settings --- js/app/ui/module/system_route.js | 4 ++-- js/app/util.js | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/js/app/ui/module/system_route.js b/js/app/ui/module/system_route.js index 433882d6..d4a67cf3 100644 --- a/js/app/ui/module/system_route.js +++ b/js/app/ui/module/system_route.js @@ -485,11 +485,11 @@ define([ // Here we need to retrieve the stored settings stored as "routeSettings" in the map module. // This can be done with the function : - // Util.getLocalStorage('map').getItem(mapId); + // Util.getLocalStore('map').getItem(mapId); // however this returns a promise, and I do not know how to make the return below wait for the promise to // call back without using something like: // async getRouteRequestDataFromRowData(rowData, mapId){ - // let routeSettings = await Util.getLocalStorage('map').getItem(mapId).routeSettings; + // let routeSettings = await Util.getLocalStore('map').getItem(mapId).routeSettings; // return { // ... // }; diff --git a/js/app/util.js b/js/app/util.js index 02437794..3306d51f 100644 --- a/js/app/util.js +++ b/js/app/util.js @@ -3345,6 +3345,8 @@ define([ } }; + + /** * get ResizeManager instance * @returns {ResizeManager} From a19b6782c8f408e97dbe661594e2acff62204c7e Mon Sep 17 00:00:00 2001 From: soneill Date: Thu, 3 Sep 2020 16:28:10 +1200 Subject: [PATCH 4/7] adds global route settings --- js/app/ui/module/system_route.js | 76 +++++++++---------- .../js/v2.0.1/app/ui/module/system_route.js | 76 +++++++++---------- 2 files changed, 74 insertions(+), 78 deletions(-) diff --git a/js/app/ui/module/system_route.js b/js/app/ui/module/system_route.js index d4a67cf3..a10aa41d 100644 --- a/js/app/ui/module/system_route.js +++ b/js/app/ui/module/system_route.js @@ -33,7 +33,7 @@ define([ }); break; case 'findRoute': - this.drawRouteTable(this._systemData.mapId, this._systemFromData, [payload.systemToData]); + this.drawRouteTable(this._systemData.mapId, this._systemFromData, [payload.systemToData], this._routeSettings); break; } @@ -211,7 +211,7 @@ define([ // get current row data (important!) // -> "rowData" param is not current state, values are "on createCell()" state rowData = tableApi.row( $(cell).parents('tr')).data(); - let routeData = module.getRouteRequestDataFromRowData(rowData, module._systemData.mapId); + let routeData = module.getRouteRequestDataFromRowData(rowData, module._routeSettings); // overwrite some params routeData.skipSearch = 0; @@ -242,7 +242,7 @@ define([ // get current row data (important!) // -> "rowData" param is not current state, values are "on createCell()" state rowData = tableApi.row( $(cell).parents('tr')).data(); - let routeData = module.getRouteRequestDataFromRowData(rowData, module._systemData.mapId); + let routeData = module.getRouteRequestDataFromRowData(rowData, module._systemData.mapId, module._routeSettings); // overwrite some params routeData.skipSearch = 0; @@ -300,6 +300,9 @@ define([ } }, initComplete: function(settings, json){ + // create global settings object + + // fill routesTable with data --------------------------------------------------------------------- Util.getLocalStore('map').getItem(module._systemData.mapId).then(dataStore => { // selected systems (if already stored) @@ -314,12 +317,22 @@ define([ ){ systemsTo = dataStore.routes; } + + // set global route settings from store + let routeSettings = {}; + if( + dataStore && + dataStore.routeSettings + ){ + routeSettings = dataStore.routeSettings + } + module._routeSettings = routeSettings // add "Rally Point" systems to table let systemsToData = module.getRallySystemsData(module._systemData.mapId); systemsToData.push(...systemsTo); - module.drawRouteTable(module._systemData.mapId, module._systemFromData, systemsToData); + module.drawRouteTable(module._systemData.mapId, module._systemFromData, systemsToData, routeSettings); }); // click on "fake connection" --------------------------------------------------------------------- @@ -416,7 +429,7 @@ define([ * @param systemFromData * @param systemsToData */ - drawRouteTable(mapId, systemFromData, systemsToData){ + drawRouteTable(mapId, systemFromData, systemsToData, routeSettings){ let requestRouteData = []; // Skip some routes from search @@ -441,7 +454,7 @@ define([ skipSearch: requestRouteData.length >= defaultRoutesCount }; - requestRouteData.push(this.getRouteRequestDataFromRowData(searchData, mapId)); + requestRouteData.push(this.getRouteRequestDataFromRowData(searchData, routeSettings)); } } } @@ -481,40 +494,25 @@ define([ * @param {Object} rowData * @returns {Object} */ - getRouteRequestDataFromRowData(rowData, mapId){ - - // Here we need to retrieve the stored settings stored as "routeSettings" in the map module. - // This can be done with the function : - // Util.getLocalStore('map').getItem(mapId); - // however this returns a promise, and I do not know how to make the return below wait for the promise to - // call back without using something like: - // async getRouteRequestDataFromRowData(rowData, mapId){ - // let routeSettings = await Util.getLocalStore('map').getItem(mapId).routeSettings; - // return { - // ... - // }; - // } - // In theory if the storedLocal data can be retrieved here into a var we can just modify the returned object below - // to incorporate these settings like: - // wormholesThera: (rowData.hasOwnProperty('wormholesThera')) ? rowData.wormholesThera | 0 : routeSettings.wormholesThera | 1, + getRouteRequestDataFromRowData(rowData, routeSettings){ return { - mapIds: (rowData.hasOwnProperty('mapIds')) ? rowData.mapIds : [], - systemFromData: (rowData.hasOwnProperty('systemFromData')) ? rowData.systemFromData : {}, - systemToData: (rowData.hasOwnProperty('systemToData')) ? rowData.systemToData : {}, - skipSearch: (rowData.hasOwnProperty('skipSearch')) ? rowData.skipSearch | 0 : 0, - stargates: (rowData.hasOwnProperty('stargates')) ? rowData.stargates | 0 : 1, - jumpbridges: (rowData.hasOwnProperty('jumpbridges')) ? rowData.jumpbridges | 0 : 1, - wormholes: (rowData.hasOwnProperty('wormholes')) ? rowData.wormholes | 0 : 1, - wormholesReduced: (rowData.hasOwnProperty('wormholesReduced')) ? rowData.wormholesReduced | 0 : 1, - wormholesCritical: (rowData.hasOwnProperty('wormholesCritical')) ? rowData.wormholesCritical | 0 : 1, - wormholesEOL: (rowData.hasOwnProperty('wormholesEOL')) ? rowData.wormholesEOL | 0 : 1, - wormholesThera: (rowData.hasOwnProperty('wormholesThera')) ? rowData.wormholesThera | 0 : 1, - wormholesSizeMin: (rowData.hasOwnProperty('wormholesSizeMin')) ? rowData.wormholesSizeMin : '', - excludeTypes: (rowData.hasOwnProperty('excludeTypes')) ? rowData.excludeTypes : [], - endpointsBubble: (rowData.hasOwnProperty('endpointsBubble')) ? rowData.endpointsBubble | 0 : 1, - connections: (rowData.hasOwnProperty('connections')) ? rowData.connections.value | 0 : 0, - flag: (rowData.hasOwnProperty('flag')) ? rowData.flag.value : 'shortest' + mapIds: (rowData.hasOwnProperty('mapIds')) ? rowData.mapIds : [], + systemFromData: (rowData.hasOwnProperty('systemFromData')) ? rowData.systemFromData : {}, + systemToData: (rowData.hasOwnProperty('systemToData')) ? rowData.systemToData : {}, + skipSearch: (rowData.hasOwnProperty('skipSearch')) ? rowData.skipSearch | 0 : 0, + stargates: (rowData.hasOwnProperty('stargates')) ? rowData.stargates | 0 : routeSettings.stargates, + jumpbridges: (rowData.hasOwnProperty('jumpbridges')) ? rowData.jumpbridges | 0 : routeSettings.jumpbridges, + wormholes: (rowData.hasOwnProperty('wormholes')) ? rowData.wormholes | 0 : routeSettings.wormholes, + wormholesReduced: (rowData.hasOwnProperty('wormholesReduced')) ? rowData.wormholesReduced | 0 : routeSettings.wormholesReduced, + wormholesCritical: (rowData.hasOwnProperty('wormholesCritical')) ? rowData.wormholesCritical | 0 : routeSettings.wormholesCritical, + wormholesEOL: (rowData.hasOwnProperty('wormholesEOL')) ? rowData.wormholesEOL | 0 : routeSettings.wormholesEOL, + wormholesThera: (rowData.hasOwnProperty('wormholesThera')) ? rowData.wormholesThera | 0 : routeSettings.wormholesThera, + wormholesSizeMin: (rowData.hasOwnProperty('wormholesSizeMin')) ? rowData.wormholesSizeMin : routeSettings.wormholesSizeMin, + excludeTypes: (rowData.hasOwnProperty('excludeTypes')) ? rowData.excludeTypes : routeSettings.excludeTypes, + endpointsBubble: (rowData.hasOwnProperty('endpointsBubble')) ? rowData.endpointsBubble | 0 : routeSettings.endpointsBubble, + connections: (rowData.hasOwnProperty('connections')) ? rowData.connections.value | 0 : 0, + flag: (rowData.hasOwnProperty('flag')) ? rowData.flag.value : 'shortest' }; } @@ -972,7 +970,7 @@ define([ this.showNotify({title: 'Route settings stored', type: 'success'}); // (re) draw table - this.drawRouteTable(dialogData.mapId, dialogData.systemFromData, systemsToData); + this.drawRouteTable(dialogData.mapId, dialogData.systemFromData, systemsToData, routeSettingsData); } } } diff --git a/public/js/v2.0.1/app/ui/module/system_route.js b/public/js/v2.0.1/app/ui/module/system_route.js index 433882d6..a10aa41d 100644 --- a/public/js/v2.0.1/app/ui/module/system_route.js +++ b/public/js/v2.0.1/app/ui/module/system_route.js @@ -33,7 +33,7 @@ define([ }); break; case 'findRoute': - this.drawRouteTable(this._systemData.mapId, this._systemFromData, [payload.systemToData]); + this.drawRouteTable(this._systemData.mapId, this._systemFromData, [payload.systemToData], this._routeSettings); break; } @@ -211,7 +211,7 @@ define([ // get current row data (important!) // -> "rowData" param is not current state, values are "on createCell()" state rowData = tableApi.row( $(cell).parents('tr')).data(); - let routeData = module.getRouteRequestDataFromRowData(rowData, module._systemData.mapId); + let routeData = module.getRouteRequestDataFromRowData(rowData, module._routeSettings); // overwrite some params routeData.skipSearch = 0; @@ -242,7 +242,7 @@ define([ // get current row data (important!) // -> "rowData" param is not current state, values are "on createCell()" state rowData = tableApi.row( $(cell).parents('tr')).data(); - let routeData = module.getRouteRequestDataFromRowData(rowData, module._systemData.mapId); + let routeData = module.getRouteRequestDataFromRowData(rowData, module._systemData.mapId, module._routeSettings); // overwrite some params routeData.skipSearch = 0; @@ -300,6 +300,9 @@ define([ } }, initComplete: function(settings, json){ + // create global settings object + + // fill routesTable with data --------------------------------------------------------------------- Util.getLocalStore('map').getItem(module._systemData.mapId).then(dataStore => { // selected systems (if already stored) @@ -314,12 +317,22 @@ define([ ){ systemsTo = dataStore.routes; } + + // set global route settings from store + let routeSettings = {}; + if( + dataStore && + dataStore.routeSettings + ){ + routeSettings = dataStore.routeSettings + } + module._routeSettings = routeSettings // add "Rally Point" systems to table let systemsToData = module.getRallySystemsData(module._systemData.mapId); systemsToData.push(...systemsTo); - module.drawRouteTable(module._systemData.mapId, module._systemFromData, systemsToData); + module.drawRouteTable(module._systemData.mapId, module._systemFromData, systemsToData, routeSettings); }); // click on "fake connection" --------------------------------------------------------------------- @@ -416,7 +429,7 @@ define([ * @param systemFromData * @param systemsToData */ - drawRouteTable(mapId, systemFromData, systemsToData){ + drawRouteTable(mapId, systemFromData, systemsToData, routeSettings){ let requestRouteData = []; // Skip some routes from search @@ -441,7 +454,7 @@ define([ skipSearch: requestRouteData.length >= defaultRoutesCount }; - requestRouteData.push(this.getRouteRequestDataFromRowData(searchData, mapId)); + requestRouteData.push(this.getRouteRequestDataFromRowData(searchData, routeSettings)); } } } @@ -481,40 +494,25 @@ define([ * @param {Object} rowData * @returns {Object} */ - getRouteRequestDataFromRowData(rowData, mapId){ - - // Here we need to retrieve the stored settings stored as "routeSettings" in the map module. - // This can be done with the function : - // Util.getLocalStorage('map').getItem(mapId); - // however this returns a promise, and I do not know how to make the return below wait for the promise to - // call back without using something like: - // async getRouteRequestDataFromRowData(rowData, mapId){ - // let routeSettings = await Util.getLocalStorage('map').getItem(mapId).routeSettings; - // return { - // ... - // }; - // } - // In theory if the storedLocal data can be retrieved here into a var we can just modify the returned object below - // to incorporate these settings like: - // wormholesThera: (rowData.hasOwnProperty('wormholesThera')) ? rowData.wormholesThera | 0 : routeSettings.wormholesThera | 1, + getRouteRequestDataFromRowData(rowData, routeSettings){ return { - mapIds: (rowData.hasOwnProperty('mapIds')) ? rowData.mapIds : [], - systemFromData: (rowData.hasOwnProperty('systemFromData')) ? rowData.systemFromData : {}, - systemToData: (rowData.hasOwnProperty('systemToData')) ? rowData.systemToData : {}, - skipSearch: (rowData.hasOwnProperty('skipSearch')) ? rowData.skipSearch | 0 : 0, - stargates: (rowData.hasOwnProperty('stargates')) ? rowData.stargates | 0 : 1, - jumpbridges: (rowData.hasOwnProperty('jumpbridges')) ? rowData.jumpbridges | 0 : 1, - wormholes: (rowData.hasOwnProperty('wormholes')) ? rowData.wormholes | 0 : 1, - wormholesReduced: (rowData.hasOwnProperty('wormholesReduced')) ? rowData.wormholesReduced | 0 : 1, - wormholesCritical: (rowData.hasOwnProperty('wormholesCritical')) ? rowData.wormholesCritical | 0 : 1, - wormholesEOL: (rowData.hasOwnProperty('wormholesEOL')) ? rowData.wormholesEOL | 0 : 1, - wormholesThera: (rowData.hasOwnProperty('wormholesThera')) ? rowData.wormholesThera | 0 : 1, - wormholesSizeMin: (rowData.hasOwnProperty('wormholesSizeMin')) ? rowData.wormholesSizeMin : '', - excludeTypes: (rowData.hasOwnProperty('excludeTypes')) ? rowData.excludeTypes : [], - endpointsBubble: (rowData.hasOwnProperty('endpointsBubble')) ? rowData.endpointsBubble | 0 : 1, - connections: (rowData.hasOwnProperty('connections')) ? rowData.connections.value | 0 : 0, - flag: (rowData.hasOwnProperty('flag')) ? rowData.flag.value : 'shortest' + mapIds: (rowData.hasOwnProperty('mapIds')) ? rowData.mapIds : [], + systemFromData: (rowData.hasOwnProperty('systemFromData')) ? rowData.systemFromData : {}, + systemToData: (rowData.hasOwnProperty('systemToData')) ? rowData.systemToData : {}, + skipSearch: (rowData.hasOwnProperty('skipSearch')) ? rowData.skipSearch | 0 : 0, + stargates: (rowData.hasOwnProperty('stargates')) ? rowData.stargates | 0 : routeSettings.stargates, + jumpbridges: (rowData.hasOwnProperty('jumpbridges')) ? rowData.jumpbridges | 0 : routeSettings.jumpbridges, + wormholes: (rowData.hasOwnProperty('wormholes')) ? rowData.wormholes | 0 : routeSettings.wormholes, + wormholesReduced: (rowData.hasOwnProperty('wormholesReduced')) ? rowData.wormholesReduced | 0 : routeSettings.wormholesReduced, + wormholesCritical: (rowData.hasOwnProperty('wormholesCritical')) ? rowData.wormholesCritical | 0 : routeSettings.wormholesCritical, + wormholesEOL: (rowData.hasOwnProperty('wormholesEOL')) ? rowData.wormholesEOL | 0 : routeSettings.wormholesEOL, + wormholesThera: (rowData.hasOwnProperty('wormholesThera')) ? rowData.wormholesThera | 0 : routeSettings.wormholesThera, + wormholesSizeMin: (rowData.hasOwnProperty('wormholesSizeMin')) ? rowData.wormholesSizeMin : routeSettings.wormholesSizeMin, + excludeTypes: (rowData.hasOwnProperty('excludeTypes')) ? rowData.excludeTypes : routeSettings.excludeTypes, + endpointsBubble: (rowData.hasOwnProperty('endpointsBubble')) ? rowData.endpointsBubble | 0 : routeSettings.endpointsBubble, + connections: (rowData.hasOwnProperty('connections')) ? rowData.connections.value | 0 : 0, + flag: (rowData.hasOwnProperty('flag')) ? rowData.flag.value : 'shortest' }; } @@ -972,7 +970,7 @@ define([ this.showNotify({title: 'Route settings stored', type: 'success'}); // (re) draw table - this.drawRouteTable(dialogData.mapId, dialogData.systemFromData, systemsToData); + this.drawRouteTable(dialogData.mapId, dialogData.systemFromData, systemsToData, routeSettingsData); } } } From d6da278b56a738d6d368c6a4e124386567c6555b Mon Sep 17 00:00:00 2001 From: soneill Date: Thu, 3 Sep 2020 19:01:40 +1200 Subject: [PATCH 5/7] adds global route settings --- .../js/v2.0.1/app/ui/module/system_route.js | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/public/js/v2.0.1/app/ui/module/system_route.js b/public/js/v2.0.1/app/ui/module/system_route.js index a10aa41d..5919149a 100644 --- a/public/js/v2.0.1/app/ui/module/system_route.js +++ b/public/js/v2.0.1/app/ui/module/system_route.js @@ -887,14 +887,21 @@ define([ */ showSettingsDialog(dialogData){ Util.getLocalStore('map').getItem(dialogData.mapId).then(dataStore => { - // selected systems (if already stored) + // selected systems and options (if already stored) let systemSelectOptions = []; + let routeSettingsOptions = {}; if( dataStore && dataStore.routes ){ systemSelectOptions = dataStore.routes; } + if( + dataStore && + dataStore.routeSettings + ){ + routeSettingsOptions = dataStore.routeSettings; + } // max count of "default" target systems let maxSelectionLength = Init.routeSearch.maxDefaultCount; @@ -903,8 +910,9 @@ define([ id: this._config.routeSettingsDialogId, selectClass: this._config.systemDialogSelectClass, systemSelectOptions: systemSelectOptions, - maxSelectionLength: maxSelectionLength, //remove comma + maxSelectionLength: maxSelectionLength, // new options + routeSettings: routeSettingsOptions, select2Class: Util.config.select2Class, routeDialogSizeSelectId: this._config.routeDialogSizeSelectId, select2Class: Util.config.select2Class, @@ -913,9 +921,9 @@ define([ name: type, selected: false })) - }; - + console.log(data); + requirejs(['text!templates/dialog/route_settings.html', 'mustache'], (template, Mustache) => { let content = Mustache.render(template, data); @@ -937,10 +945,15 @@ define([ let systemSelectData = form.find('.' + this._config.systemDialogSelectClass).select2('data'); let systemsToData = []; + if(systemSelectData.length > 0){ + systemsToData = SystemRouteModule.formSystemSelectData(systemSelectData); + Util.getLocalStore('map').setItem(`${dialogData.mapId}.routes`, systemsToData); + }else{ + Util.getLocalStore('map').removeItem(`${dialogData.mapId}.routes`); + } // route settings additions let routeSettingsData = $(form).getFormValues(); - if( routeSettingsData ){ @@ -960,12 +973,6 @@ define([ } // end route settings additions - if(systemSelectData.length > 0){ - systemsToData = SystemRouteModule.formSystemSelectData(systemSelectData); - Util.getLocalStore('map').setItem(`${dialogData.mapId}.routes`, systemsToData); - }else{ - Util.getLocalStore('map').removeItem(`${dialogData.mapId}.routes`); - } this.showNotify({title: 'Route settings stored', type: 'success'}); From 5c91fe8718e334ea5e1293160890f3f23a4ea87f Mon Sep 17 00:00:00 2001 From: soneill Date: Thu, 3 Sep 2020 19:03:25 +1200 Subject: [PATCH 6/7] adds global route settings --- js/app/ui/module/system_route.js | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/js/app/ui/module/system_route.js b/js/app/ui/module/system_route.js index a10aa41d..5919149a 100644 --- a/js/app/ui/module/system_route.js +++ b/js/app/ui/module/system_route.js @@ -887,14 +887,21 @@ define([ */ showSettingsDialog(dialogData){ Util.getLocalStore('map').getItem(dialogData.mapId).then(dataStore => { - // selected systems (if already stored) + // selected systems and options (if already stored) let systemSelectOptions = []; + let routeSettingsOptions = {}; if( dataStore && dataStore.routes ){ systemSelectOptions = dataStore.routes; } + if( + dataStore && + dataStore.routeSettings + ){ + routeSettingsOptions = dataStore.routeSettings; + } // max count of "default" target systems let maxSelectionLength = Init.routeSearch.maxDefaultCount; @@ -903,8 +910,9 @@ define([ id: this._config.routeSettingsDialogId, selectClass: this._config.systemDialogSelectClass, systemSelectOptions: systemSelectOptions, - maxSelectionLength: maxSelectionLength, //remove comma + maxSelectionLength: maxSelectionLength, // new options + routeSettings: routeSettingsOptions, select2Class: Util.config.select2Class, routeDialogSizeSelectId: this._config.routeDialogSizeSelectId, select2Class: Util.config.select2Class, @@ -913,9 +921,9 @@ define([ name: type, selected: false })) - }; - + console.log(data); + requirejs(['text!templates/dialog/route_settings.html', 'mustache'], (template, Mustache) => { let content = Mustache.render(template, data); @@ -937,10 +945,15 @@ define([ let systemSelectData = form.find('.' + this._config.systemDialogSelectClass).select2('data'); let systemsToData = []; + if(systemSelectData.length > 0){ + systemsToData = SystemRouteModule.formSystemSelectData(systemSelectData); + Util.getLocalStore('map').setItem(`${dialogData.mapId}.routes`, systemsToData); + }else{ + Util.getLocalStore('map').removeItem(`${dialogData.mapId}.routes`); + } // route settings additions let routeSettingsData = $(form).getFormValues(); - if( routeSettingsData ){ @@ -960,12 +973,6 @@ define([ } // end route settings additions - if(systemSelectData.length > 0){ - systemsToData = SystemRouteModule.formSystemSelectData(systemSelectData); - Util.getLocalStore('map').setItem(`${dialogData.mapId}.routes`, systemsToData); - }else{ - Util.getLocalStore('map').removeItem(`${dialogData.mapId}.routes`); - } this.showNotify({title: 'Route settings stored', type: 'success'}); From 511b7257be0b216c3998af475a0b6691ab062a3e Mon Sep 17 00:00:00 2001 From: soneill Date: Thu, 3 Sep 2020 22:10:32 +1200 Subject: [PATCH 7/7] adds jquery to populate routeSettings form --- .../js/v2.0.1/app/ui/module/system_route.js | 1 - public/templates/dialog/route_settings.html | 33 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/public/js/v2.0.1/app/ui/module/system_route.js b/public/js/v2.0.1/app/ui/module/system_route.js index 5919149a..72bf8348 100644 --- a/public/js/v2.0.1/app/ui/module/system_route.js +++ b/public/js/v2.0.1/app/ui/module/system_route.js @@ -922,7 +922,6 @@ define([ selected: false })) }; - console.log(data); requirejs(['text!templates/dialog/route_settings.html', 'mustache'], (template, Mustache) => { let content = Mustache.render(template, data); diff --git a/public/templates/dialog/route_settings.html b/public/templates/dialog/route_settings.html index a6034e0f..c4259519 100644 --- a/public/templates/dialog/route_settings.html +++ b/public/templates/dialog/route_settings.html @@ -1,3 +1,36 @@ + +