OGB optimized landing page

OGB map fixes
Signature Table bugfix
Landingpage Youtube video integration
System Information loading animation fixed
This commit is contained in:
Exodus4D
2015-09-07 18:11:41 +02:00
parent ae60b4122a
commit a1546dfca0
17 changed files with 152 additions and 59 deletions

View File

@@ -117,13 +117,19 @@ class Signature extends \Controller\AccessController{
$newData = [
$data['name'] => $data['value']
];
// if groupID changed -> typeID set to 0
if($data['name'] == 'groupId'){
$newData['typeId'] = 0;
}
}else{
// update complete signature (signature reader dialog)
// description should not be updated
unset( $data['description'] );
// wormhole typeID cant figured out/saved by the sig reader dialog
// wormhole typeID can<EFBFBD>t figured out/saved by the sig reader dialog
if($data['groupId'] == 5){
unset( $data['typeId'] );
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -79,17 +79,18 @@ define(["jquery"], function($) {
updateDateDiff(element, date);
var refreshIntervallId = window.setInterval(function(){
var refreshIntervalId = window.setInterval(function(){
// update element with current time
if(! element.hasClass('stopCounter')){
if( !element.hasClass('stopCounter')){
updateDateDiff(element, date);
}else{
clearInterval(refreshIntervallId);
clearInterval( element.data('interval') );
}
}, 100);
element.data('interval', refreshIntervalId);
}

View File

@@ -292,6 +292,12 @@ define([
type: 'image/jpg',
thumbnail: ''
},
{
href: 'public/img/landing/pathfinder_3.jpg',
title: 'Map information',
type: 'image/jpg',
thumbnail: ''
},
{
href: 'public/img/landing/pathfinder_2.jpg',
title: 'System information',

View File

@@ -249,7 +249,7 @@ define([
// ------------------------------------------------------------------------------
// add TableTool Buttons
var tt = new $.fn.DataTable.TableTools( logDataTable, {
sSwfPath: 'js/lib/datatables/extensions/TableTools/swf/copy_csv_xls.swf',
sSwfPath: require.toUrl('') + 'lib/datatables/extensions/tabletools/swf/copy_csv_xls.swf',
aButtons: [ 'copy', 'csv', 'print' ]
});

View File

@@ -120,7 +120,7 @@ define([
var secondCell = $(tabContentElement).find('.' + config.mapTabContentCellSecond);
// draw system info module
firstCell.drawSystemInfoModule(currentSystemData.systemData);
firstCell.drawSystemInfoModule(currentSystemData.mapId, currentSystemData.systemData);
// draw system graph module
firstCell.drawSystemGraphModule(currentSystemData.systemData);

View File

@@ -30,6 +30,7 @@ define([
systemInfoStatusAttributeName: 'data-status', // attribute name for status label
// description field
descriptionArea: 'pf-system-info-description-area', // class for "description" area
addDescriptionButtonClass: 'pf-system-info-description-button', // class for "add description" button
moduleElementToolbarClass: 'pf-table-tools', // class for "module toolbar" element
moduleToolbarActionId: 'pf-system-info-collapse-container', // id for "module toolbar action" element
@@ -168,14 +169,17 @@ define([
nameRowElement.addCharacterInfoTooltip( tooltipData );
}
$('.' + config.descriptionArea).hideLoadingAnimation();
};
/**
*
* @param parentElement
* @param systemInfoData
* @param mapId
* @param systemData
*/
var drawModule = function(parentElement, systemData){
var drawModule = function(parentElement, mapId, systemData){
// create new module container
var moduleElement = $('<div>', {
@@ -198,19 +202,18 @@ define([
link: 'append',
functions: {
after: function(){
// lock "description" field until first update
$('.' + config.descriptionArea).showLoadingAnimation();
var tempModuleElement = $('.' + config.systemInfoModuleClass);
// "add description" button
var descriptionButton = tempModuleElement.find('.' + config.addDescriptionButtonClass);
// toolbar element
//var toolbarElement = tempModuleElement.find('.' + config.moduleElementToolbarClass);
// description textarea element
var descriptionTextareaElement = tempModuleElement.find('.' + config.descriptionTextareaElementClass);
// init description textarea
descriptionTextareaElement.editable({
url: Init.path.saveSystem,
@@ -227,6 +230,10 @@ define([
inputclass: config.descriptionTextareaElementClass,
params: function(params){
params.mapData = {
id: mapId
};
params.systemData = {};
params.systemData.id = params.pk;
params.systemData[params.name] = params.value;
@@ -426,9 +433,10 @@ define([
/**
* update system info module
* @param systemInfoData
* @param mapId
* @param systemData
*/
$.fn.drawSystemInfoModule = function(systemData){
$.fn.drawSystemInfoModule = function(mapId, systemData){
var parentElement = $(this);
@@ -441,11 +449,11 @@ define([
complete: function(tempElement){
$(tempElement).remove();
drawModule(parentElement, systemData);
drawModule(parentElement, mapId, systemData);
}
});
}else{
drawModule(parentElement, systemData);
drawModule(parentElement, mapId, systemData);
}
};

View File

@@ -48,13 +48,16 @@ define([
// format routeData
var rowData = formatRouteData(routeData);
if(rowData){
if(rowData.route){
var cacheKey = routeData.route[0].system + '_' + routeData.route[ routeData.route.length - 1 ].system;
// update route cache
cache.systemRoutes[cacheKey] = rowData;
addRow(context.dataTable, rowData);
}else{
// route not possible
Util.showNotify({title: 'Route not found', type: 'warning'});
}
}
};
@@ -135,6 +138,7 @@ define([
var contextData = {
moduleElement: dialogData.moduleElement,
dataTable: dialogData.dataTable
};
@@ -167,6 +171,8 @@ define([
var requestData = {routeData: requestRouteData};
contextData.moduleElement.showLoadingAnimation();
$.ajax({
url: Init.path.searchRoute,
type: 'POST',
@@ -174,6 +180,9 @@ define([
data: requestData,
context: contextData
}).done(function(routesData){
this.moduleElement.hideLoadingAnimation();
// execute callback
callback(this, routesData.routesData);
});
@@ -361,7 +370,7 @@ define([
};
showFindRouteDialog(dialogData);
})
});
// fill routesTable with data ------------------------------------------------------------------------------
var requestRouteData = [];
@@ -388,6 +397,7 @@ define([
// check if routes data is not cached and is requested
if(requestRouteData.length > 0){
var contextData = {
moduleElement: moduleElement,
dataTable: routesTable
};
getRouteData(requestRouteData, contextData, callbackAddRouteRow);

View File

@@ -140,6 +140,33 @@ define([
return tableData;
};
/**
* updates a single cell with new data (e.g. "updated" cell)
* @param rowElement
* @param cellIndex
* @param data
*/
var updateSignatureCell = function(rowElement, cellIndex, data){
var signatureTableApi = signatureTable.api();
var rowIndex = signatureTableApi.row( rowElement ).index();
var updateCell = signatureTableApi.cell( rowIndex, cellIndex );
var updateCellElement = updateCell.nodes().to$();
if(cellIndex === 6){
// clear existing counter interval
clearInterval( updateCellElement.data('interval') );
}
// set new value
updateCell.data( data ).draw();
if(cellIndex === 6){
updateCellElement.initTimestampCounter();
}
};
/**
* Updates a signature table, changes all signatures where name matches
* add all new signatures as a row
@@ -814,9 +841,17 @@ define([
return 'Id is more than max of "10"';
}
},
params: modifyFieldParamsOnSend,
success: function(response, newValue){
},
params: modifyFieldParamsOnSend
if(response){
var signatureTypeField = $(this);
var rowElement = signatureTypeField.parents('tr');
var newRowData = response.signatures[0];
// update "updated" cell
updateSignatureCell(rowElement, 6, newRowData.updated);
}
}
});
@@ -845,9 +880,16 @@ define([
},
success: function(response, newValue){
var signatureTypeField = $(this);
var rowElement = signatureTypeField.parents('tr');
newValue = parseInt(newValue);
if(response){
var newRowData = response.signatures[0];
// update "updated" cell
updateSignatureCell(rowElement, 6, newRowData.updated);
}
// find related "name" select (same row) and change options
var nameSelect = getNextEditableField(signatureTypeField);
@@ -899,6 +941,16 @@ define([
var availableSigs = sigNameCache[cacheKey] = signatureNames;
return availableSigs;
},
success: function(response, newValue){
if(response){
var signatureTypeField = $(this);
var rowElement = signatureTypeField.parents('tr');
var newRowData = response.signatures[0];
// update "updated" cell
updateSignatureCell(rowElement, 6, newRowData.updated);
}
}
});
@@ -912,7 +964,17 @@ define([
mode: 'inline',
showbuttons: false,
inputclass: config.editableDiscriptionInputClass,
params: modifyFieldParamsOnSend
params: modifyFieldParamsOnSend,
success: function(response, newValue){
if(response){
var signatureTypeField = $(this);
var rowElement = signatureTypeField.parents('tr');
var newRowData = response.signatures[0];
// update "updated" cell
updateSignatureCell(rowElement, 6, newRowData.updated);
}
}
});
// open even
@@ -1650,7 +1712,7 @@ define([
// set multi row select -----------------------------------------------------------------
tablePrimaryElement.on('click', 'tr', function(e){
if(event.ctrlKey) {
if(e.ctrlKey) {
$(this).toggleClass('selected');
// check delete button

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

View File

@@ -60,14 +60,7 @@
<i class="fa fa-fw fa-question-circle"></i>
</th>
<th>Name</th>
<th class="text-right">
{{#system.alias}}
{{system.alias}}
{{/system.alias}}
{{^system.alias}}
{{system.name}}
{{/system.alias}}
</th>
<th class="text-right">{{system.name}}</th>
<th class="text-right {{securityClass}}">{{system.security}}</th>
</tr>
</thead>

View File

@@ -562,6 +562,13 @@
</ul>
</div>
</div>
<div class="row text-center hidden-sm">
<iframe width="853" height="480" src="https://www.youtube.com/embed/Cc3jcN_jx04?modestbranding=1&rel=0&showinfo=0" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</section>

View File

@@ -530,7 +530,7 @@ h6 {
.input-group-addon {
padding: 6px 10px;
will-change: all;
will-change: background-color, border-color;
@include border-radius(0);
@include transition(all ease-out .15s);
}
@@ -1277,7 +1277,7 @@ input[type="email"]{
.btn {
font-family: $font-family-bold;
will-change: all;
will-change: background-color, border-color;
@include border-radius(2px);
//@include transition( all 0.06s linear );
@include transition( all 0.18s ease-in-out );