chmod all files, rsync for deploy, cdn support, build page borked

This commit is contained in:
Colin McLeod
2015-05-25 17:36:48 -07:00
parent 7bab67deff
commit 0a7494ebcb
148 changed files with 150 additions and 153 deletions

View File

@@ -10,7 +10,7 @@
# Activate mod_expires for this directory # Activate mod_expires for this directory
ExpiresActive on ExpiresActive on
ExpiresDefault "access plus 365 days" ExpiresDefault "access"
ExpiresByType text/html "access" ExpiresByType text/html "access"
ExpiresByType application/json "access" ExpiresByType application/json "access"
</IfModule> </IfModule>

0
README.md Normal file → Executable file
View File

0
app/icons/coriolis.svg Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 852 B

After

Width:  |  Height:  |  Size: 852 B

0
app/icons/github-mark.svg Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

0
app/icons/mount-F.svg Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 417 B

After

Width:  |  Height:  |  Size: 417 B

0
app/icons/mount-G.svg Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 258 B

After

Width:  |  Height:  |  Size: 258 B

0
app/icons/mount-T.svg Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 326 B

After

Width:  |  Height:  |  Size: 326 B

0
app/images/bay-1920x1080.jpg Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 115 KiB

0
app/images/deep-space-1920x1080.jpg Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 75 KiB

0
app/images/logo/android-chrome-144x144.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

0
app/images/logo/android-chrome-192x192.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

0
app/images/logo/android-chrome-72x72.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

0
app/images/logo/android-chrome-96x96.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

0
app/images/logo/apple-touch-icon-114x114.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

0
app/images/logo/apple-touch-icon-120x120.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

0
app/images/logo/apple-touch-icon-144x144.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

0
app/images/logo/apple-touch-icon-152x152.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

0
app/images/logo/apple-touch-icon-180x180.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

0
app/images/logo/apple-touch-icon-76x76.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

0
app/images/logo/apple-touch-icon-precomposed.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

0
app/images/logo/apple-touch-icon.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

0
app/images/logo/browserconfig.xml Normal file → Executable file
View File

0
app/images/logo/favicon-194x194.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

0
app/images/logo/favicon-96x96.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

0
app/images/logo/favicon.ico Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 361 KiB

After

Width:  |  Height:  |  Size: 361 KiB

0
app/images/logo/manifest.json Normal file → Executable file
View File

0
app/images/logo/mstile-144x144.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

0
app/images/logo/mstile-150x150.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

0
app/images/logo/mstile-310x150.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

0
app/images/logo/mstile-310x310.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

0
app/images/logo/mstile-70x70.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

1
app/index.html Normal file → Executable file
View File

@@ -1,7 +1,6 @@
<!DOCTYPE html> <!DOCTYPE html>
<html ng-app="app" ng-strict-di="true"> <html ng-app="app" ng-strict-di="true">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title ng-bind="title">Coriolis</title> <title ng-bind="title">Coriolis</title>
<link rel="stylesheet" href="/app.css"> <link rel="stylesheet" href="/app.css">
<link rel="apple-touch-icon" sizes="76x76" href="/images/logo/apple-touch-icon-76x76.png"> <link rel="apple-touch-icon" sizes="76x76" href="/images/logo/apple-touch-icon-76x76.png">

0
app/js/app.js Normal file → Executable file
View File

0
app/js/config.js Normal file → Executable file
View File

19
app/js/controllers/controller-comparison.js Normal file → Executable file
View File

@@ -18,7 +18,7 @@ angular.module('app').controller('ComparisonController', ['lodash', '$rootScope'
*/ */
$scope.addBuild = function (shipId, buildName, code) { $scope.addBuild = function (shipId, buildName, code) {
var data = Ships[shipId]; // Get ship properties var data = Ships[shipId]; // Get ship properties
var code = code? code : Persist.builds[shipId][buildName]; // Retrieve build code if not passed code = code? code : Persist.builds[shipId][buildName]; // Retrieve build code if not passed
var b = new Ship(shipId, data.properties, data.slots); // Create a new Ship instance var b = new Ship(shipId, data.properties, data.slots); // Create a new Ship instance
Serializer.toShip(b, code); // Populate components from code Serializer.toShip(b, code); // Populate components from code
// Extend ship instance and add properties below // Extend ship instance and add properties below
@@ -153,7 +153,7 @@ angular.module('app').controller('ComparisonController', ['lodash', '$rootScope'
$scope.desc $scope.desc
); );
return $state.href('comparison', {code: code}, {absolute:true}); return $state.href('comparison', {code: code}, {absolute:true});
}; }
/* Event listeners */ /* Event listeners */
$scope.$on('close', function() { $scope.$on('close', function() {
@@ -161,20 +161,21 @@ angular.module('app').controller('ComparisonController', ['lodash', '$rootScope'
}); });
/* Initialization */ /* Initialization */
var shipId, buildName, comparisonData;
if ($scope.compareMode) { if ($scope.compareMode) {
if ($scope.name == 'all') { if ($scope.name == 'all') {
for (var shipId in Persist.builds) { for (shipId in Persist.builds) {
for (var buildName in Persist.builds[shipId]) { for (buildName in Persist.builds[shipId]) {
$scope.addBuild(shipId, buildName); $scope.addBuild(shipId, buildName);
} }
} }
} else { } else {
for (var shipId in Persist.builds) { for (shipId in Persist.builds) {
for (var buildName in Persist.builds[shipId]) { for (buildName in Persist.builds[shipId]) {
$scope.unusedBuilds.push({id: shipId, buildName: buildName, name: Ships[shipId].properties.name}); $scope.unusedBuilds.push({id: shipId, buildName: buildName, name: Ships[shipId].properties.name});
} }
} }
var comparisonData = Persist.getComparison($scope.name); comparisonData = Persist.getComparison($scope.name);
if (comparisonData) { if (comparisonData) {
defaultFacets = comparisonData.facets; defaultFacets = comparisonData.facets;
comparisonData.builds.forEach(function (b) { comparisonData.builds.forEach(function (b) {
@@ -185,9 +186,9 @@ angular.module('app').controller('ComparisonController', ['lodash', '$rootScope'
} }
} else { } else {
try { try {
var comparisonData = Serializer.toComparison($stateParams.code); comparisonData = Serializer.toComparison($stateParams.code);
defaultFacets = comparisonData.f; defaultFacets = comparisonData.f;
$scope.name = comparisonData.n $scope.name = comparisonData.n;
$scope.predicate = comparisonData.p; $scope.predicate = comparisonData.p;
$scope.desc = comparisonData.d; $scope.desc = comparisonData.d;
comparisonData.b.forEach(function (build) { comparisonData.b.forEach(function (build) {

0
app/js/controllers/controller-delete.js Normal file → Executable file
View File

0
app/js/controllers/controller-error.js Normal file → Executable file
View File

0
app/js/controllers/controller-export.js Normal file → Executable file
View File

0
app/js/controllers/controller-import.js Normal file → Executable file
View File

0
app/js/controllers/controller-link.js Normal file → Executable file
View File

0
app/js/controllers/controller-modal.js Normal file → Executable file
View File

0
app/js/controllers/controller-outfit.js Normal file → Executable file
View File

0
app/js/controllers/controller-shipyard.js Normal file → Executable file
View File

0
app/js/directives/directive-area-chart.js Normal file → Executable file
View File

4
app/js/directives/directive-bar-chart.js Normal file → Executable file
View File

@@ -1,4 +1,4 @@
angular.module('app').directive('barChart', ['$rootScope', function ($rootScope) { angular.module('app').directive('barChart', function () {
function bName (build) { function bName (build) {
return build.buildName + '\n' + build.name; return build.buildName + '\n' + build.name;
@@ -118,4 +118,4 @@ angular.module('app').directive('barChart', ['$rootScope', function ($rootScope)
} }
}; };
}]); });

0
app/js/directives/directive-comparison-table.js Normal file → Executable file
View File

0
app/js/directives/directive-component-select.js Normal file → Executable file
View File

0
app/js/directives/directive-header.js Normal file → Executable file
View File

0
app/js/directives/directive-slot-hardpoint.js Normal file → Executable file
View File

0
app/js/directives/directive-slot-internal.js Normal file → Executable file
View File

14
app/js/factory-utils.js Normal file → Executable file
View File

@@ -12,12 +12,12 @@ angular.module('app').factory('Utils', ['$state','$http', function ($state, $htt
} }
function comparisonBBCode(facets, builds, link) { function comparisonBBCode(facets, builds, link) {
var colCount = 2, i,j,k, l = []; var colCount = 2, b, i, j, k, f, fl, p, pl, l = [];
for (i = 0; i < facets.length; i++) { for (i = 0; i < facets.length; i++) {
if (facets[i].active) { if (facets[i].active) {
var f = facets[i]; f = facets[i];
var p = f.props; p = f.props;
if (p.length == 1) { if (p.length == 1) {
l.push('[th][B][COLOR=#FF8C0D]', f.title, '[/COLOR][/B][/th]'); l.push('[th][B][COLOR=#FF8C0D]', f.title, '[/COLOR][/B][/th]');
@@ -33,15 +33,15 @@ angular.module('app').factory('Utils', ['$state','$http', function ($state, $htt
l.push('[/tr]\n'); l.push('[/tr]\n');
for (i = 0; i < builds.length; i++) { for (i = 0; i < builds.length; i++) {
var b = builds[i]; b = builds[i];
//var href = $state.href('outfit',{shipId: b.id, code: b.code, bn: b.buildName}, {absolute: true}); //var href = $state.href('outfit',{shipId: b.id, code: b.code, bn: b.buildName}, {absolute: true});
l.push('[tr][td]', b.name,'[/td][td]', b.buildName ,'[/td]'); l.push('[tr][td]', b.name,'[/td][td]', b.buildName ,'[/td]');
for (j = 0, fl = facets.length; j < fl; j++) { for (j = 0, fl = facets.length; j < fl; j++) {
if (facets[j].active) { if (facets[j].active) {
var f = facets[j]; f = facets[j];
var p = f.props; p = f.props;
for (var k = 0, pl = p.length; k < pl; k++) { for (k = 0, pl = p.length; k < pl; k++) {
l.push('[td="align: right"]', f.fmt(b[p[k]]), ' [size=-2]', f.unit, '[/size][/td]'); l.push('[td="align: right"]', f.fmt(b[p[k]]), ' [size=-2]', f.unit, '[/size][/td]');
} }
} }

8
app/js/service-persist.js Normal file → Executable file
View File

@@ -90,10 +90,10 @@ angular.module('app').service('Persist', ['$window','lodash', function ($window,
this.comparisons[name] = { this.comparisons[name] = {
facets: facets, facets: facets,
builds: _.map(builds, function (b) { return {shipId: b.id, buildName: b.buildName }; }) builds: _.map(builds, function (b) { return {shipId: b.id, buildName: b.buildName }; })
} };
localStorage.setItem(LS_KEY_COMPARISONS, angular.toJson(this.comparisons)); localStorage.setItem(LS_KEY_COMPARISONS, angular.toJson(this.comparisons));
this.state.hasComparisons = true; this.state.hasComparisons = true;
} };
/** /**
* [getComparison description] * [getComparison description]
@@ -105,7 +105,7 @@ angular.module('app').service('Persist', ['$window','lodash', function ($window,
return this.comparisons[name]; return this.comparisons[name];
} }
return null; return null;
} };
/** /**
* Removes the comparison from localstorage. * Removes the comparison from localstorage.
@@ -117,7 +117,7 @@ angular.module('app').service('Persist', ['$window','lodash', function ($window,
localStorage.setItem(LS_KEY_COMPARISONS, angular.toJson(this.comparisons)); localStorage.setItem(LS_KEY_COMPARISONS, angular.toJson(this.comparisons));
this.state.hasComparisons = Object.keys(this.comparisons).length > 0; this.state.hasComparisons = Object.keys(this.comparisons).length > 0;
} }
} };
/** /**
* Delete all builds and comparisons from localStorage * Delete all builds and comparisons from localStorage

4
app/js/service-serializer.js Normal file → Executable file
View File

@@ -68,11 +68,11 @@ angular.module('app').service('Serializer', ['lodash', function (_) {
p: predicate, p: predicate,
d: desc? 1 : 0 d: desc? 1 : 0
})).replace(/\//g,'-'); })).replace(/\//g,'-');
} };
this.toComparison = function (code) { this.toComparison = function (code) {
return angular.fromJson(LZString.decompressFromBase64(code.replace(/-/g,'/'))); return angular.fromJson(LZString.decompressFromBase64(code.replace(/-/g,'/')));
} };
/** /**
* Utility function to retrieve a safe string for selected component for a slot. * Utility function to retrieve a safe string for selected component for a slot.

0
app/js/shipyard/factory-component-set.js Normal file → Executable file
View File

0
app/js/shipyard/factory-ship.js Normal file → Executable file
View File

0
app/js/shipyard/module-shipyard.js Normal file → Executable file
View File

0
app/js/shipyard/service-components.js Normal file → Executable file
View File

0
app/less/app.less Normal file → Executable file
View File

0
app/less/background-images.less Normal file → Executable file
View File

0
app/less/buttons.less Normal file → Executable file
View File

0
app/less/chart-tooltip.less Normal file → Executable file
View File

0
app/less/charts.less Normal file → Executable file
View File

6
app/less/colors.less Normal file → Executable file
View File

@@ -20,6 +20,12 @@
@secondary-bg: fadeout(darken(@secondary, @bgDarken), @bgTransparency); // Brown background @secondary-bg: fadeout(darken(@secondary, @bgDarken), @bgTransparency); // Brown background
@warning-bg: fadeout(darken(@warning, @bgDarken), @bgTransparency); // Dark Red @warning-bg: fadeout(darken(@warning, @bgDarken), @bgTransparency); // Dark Red
.fg {
color: @fg;
fill: @fg;
}
.disabled { .disabled {
color: @disabled; color: @disabled;
fill: @disabled; fill: @disabled;

0
app/less/comparison.less Normal file → Executable file
View File

0
app/less/error.less Normal file → Executable file
View File

0
app/less/fonts.less Normal file → Executable file
View File

2
app/less/header.less Normal file → Executable file
View File

@@ -80,7 +80,7 @@ header {
text-decoration: none; text-decoration: none;
&.name { &.name {
font-family: Helvetica, sans-serif; font-family: Helvetica, Arial, sans-serif;
} }
&:visited { &:visited {

0
app/less/icons.less Normal file → Executable file
View File

4
app/less/list.less Normal file → Executable file
View File

@@ -68,8 +68,4 @@
} }
} }
&:nth-child(n+2) {
border-top: 1px solid @primary;
}
} }

0
app/less/modal.less Normal file → Executable file
View File

19
app/less/outfit.less Normal file → Executable file
View File

@@ -17,15 +17,13 @@
input { input {
background: none; background: none;
color: @primary-disabled;
outline: none;
line-height: 1.5em; line-height: 1.5em;
font-size: 0.8em; font-size: 0.8em;
border: 1px solid @primary-disabled;
box-sizing: border-box; box-sizing: border-box;
display: inline-block; display: inline-block;
padding: 0.5em; padding: 0.5em;
&:hover, &:focus {
&:focus {
border: 1px solid @primary; border: 1px solid @primary;
color: @primary; color: @primary;
} }
@@ -54,13 +52,12 @@
#summary { #summary {
.user-select-none(); .user-select-none();
float: right; margin: 0;
min-width: 40em; border-collapse: collapse;
margin: 0.25em;
border-top: 2px solid @primary; tbody td {
border-bottom: 2px solid @primary; padding: 0 0.5em;
background-color: @primary-bg; }
text-align: left;
} }
.toggle { .toggle {

0
app/less/select.less Normal file → Executable file
View File

0
app/less/shipyard.less Normal file → Executable file
View File

0
app/less/slot.less Normal file → Executable file
View File

0
app/less/sortable.less Normal file → Executable file
View File

0
app/less/table.less Normal file → Executable file
View File

16
app/less/utilities.less Normal file → Executable file
View File

@@ -29,3 +29,19 @@
-ms-user-select: none; -ms-user-select: none;
user-select: none; user-select: none;
} }
.vertical {
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
transform: rotate(-90deg);
-webkit-transform-origin: 50% 50%;
-moz-transform-origin: 50% 50%;
-ms-transform-origin: 50% 50%;
-o-transform-origin: 50% 50%;
transform-origin: 50% 50%;
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}

2
app/views/_header.html Normal file → Executable file
View File

@@ -58,6 +58,4 @@
</div> </div>
</div> </div>
<!-- <a href="#" class="r" target="_blank" title="Reddit Thread"><svg class="icon xl"><use xlink:href="#reddit"></use></svg></a> -->
</header> </header>

0
app/views/_modal.html Normal file → Executable file
View File

0
app/views/_slot-hardpoint.html Normal file → Executable file
View File

2
app/views/_slot-internal.html Normal file → Executable file
View File

@@ -9,6 +9,8 @@
<div class="l" ng-if="c.c.bins">{{c.c.bins}} <u>Bins</u></div> <div class="l" ng-if="c.c.bins">{{c.c.bins}} <u>Bins</u></div>
<div class="l" ng-if="c.c.rate">Rate: {{$r.fRound4(c.c.rate/1000)}} <u>T/s</u></div> <div class="l" ng-if="c.c.rate">Rate: {{$r.fRound4(c.c.rate/1000)}} <u>T/s</u></div>
<div class="l" ng-if="c.c.ammo">Ammo: {{c.c.ammo}}</div> <div class="l" ng-if="c.c.ammo">Ammo: {{c.c.ammo}}</div>
<div class="l" ng-if="c.c.cells">Cells: {{c.c.cells}}</div>
<div class="l" ng-if="c.c.recharge">Recharge: {{c.c.recharge}} <u>Mj</u></div>
<div class="l" ng-if="c.c.repair">Repair: {{c.c.repair}}</div> <div class="l" ng-if="c.c.repair">Repair: {{c.c.repair}}</div>
<div class="l" ng-if="c.c.range">{{c.c.range}} <u>KM</u></div> <div class="l" ng-if="c.c.range">{{c.c.range}} <u>KM</u></div>
<div class="l" ng-if="c.c.rangeRating">Range: {{c.c.rangeRating}}</div> <div class="l" ng-if="c.c.rangeRating">Range: {{c.c.rangeRating}}</div>

9
app/views/modal-about.html Normal file → Executable file
View File

@@ -4,8 +4,13 @@
<p>Coriolis was created for non-commercial purposes. It is not endorsed by nor reflects the views or opinions of Frontier Developments.</p> <p>Coriolis was created for non-commercial purposes. It is not endorsed by nor reflects the views or opinions of Frontier Developments.</p>
<h2>Github</h2> <div>
<a href="https://github.com/cmmcleod/coriolis" target="_blank" title="Coriolis Github Project">github.com/cmmcleod/coriolis</a> <a class="l" style="margin: 0.4em" href="https://github.com/cmmcleod/coriolis" target="_blank" title="Coriolis Github Project">
<svg class="icon fg xl"><use xlink:href="#github-mark"></use></svg>
</a>
<h2>Github</h2>
<a href="https://github.com/cmmcleod/coriolis" target="_blank" title="Coriolis Github Project">github.com/cmmcleod/coriolis</a>
</div>
<p> <p>
Coriolis is an open source project. Checkout the list of upcoming features and to-do list on github. Coriolis is an open source project. Checkout the list of upcoming features and to-do list on github.
Any and all contributions and feedback are welcome. If you encounter any bugs please report them and provide as much detail as possible. Any and all contributions and feedback are welcome. If you encounter any bugs please report them and provide as much detail as possible.

0
app/views/modal-delete.html Normal file → Executable file
View File

2
app/views/modal-export.html Normal file → Executable file
View File

@@ -1,5 +1,5 @@
<h2 ng-bind="title"></h2> <h2 ng-bind="title"></h2>
<div> <div>
<textarea class="cb json" ng-focus="onTextClick($event)" ng-bind="export"></textarea> <textarea class="cb json" ng-click="onTextClick($event)" ng-bind="export"></textarea>
</div> </div>
<button class="r dismiss" ng-click="dismiss()">Close</button> <button class="r dismiss" ng-click="dismiss()">Close</button>

0
app/views/modal-import.html Normal file → Executable file
View File

4
app/views/modal-link.html Normal file → Executable file
View File

@@ -1,9 +1,9 @@
<h2>Permalink</h2> <h2>Permalink</h2>
<br> <br>
<h3>URL</h3> <h3>URL</h3>
<input ng-model="url" size="70" ng-focus="onTextClick($event)"> <input ng-model="url" size="70" ng-click="onTextClick($event)">
<br><br> <br><br>
<h3>Shortened</h3> <h3>Shortened</h3>
<input ng-model="shortenedUrl" size="25" ng-focus="onTextClick($event)"> <input ng-model="shortenedUrl" size="25" ng-click="onTextClick($event)">
<br><br> <br><br>
<button class="r dismiss" ng-click="dismiss()">Close</button> <button class="r dismiss" ng-click="dismiss()">Close</button>

2
app/views/page-comparison.html Normal file → Executable file
View File

@@ -48,7 +48,7 @@
<table> <table>
<thead><tr><th colspan="2">Available</th></tr></thead> <thead><tr><th colspan="2">Available</th></tr></thead>
<tbody> <tbody>
<tr ng-repeat="b in unusedBuilds | orderBy:'[0]'" ng-click="addBuild(b.id, b.buildName)"> <tr ng-repeat="b in unusedBuilds | orderBy:'name'" ng-click="addBuild(b.id, b.buildName)">
<td class="tl" ng-bind="b.name"></td><td class="tl" ng-bind="b.buildName"></td> <td class="tl" ng-bind="b.name"></td><td class="tl" ng-bind="b.buildName"></td>
</tr> </tr>
</tbody> </tbody>

0
app/views/page-error.html Normal file → Executable file
View File

142
app/views/page-outfit.html Normal file → Executable file
View File

@@ -1,12 +1,63 @@
<div id="outfit"> <div id="outfit">
<div id="overview" class="list">
<h1 ng-bind="ship.name"></h1>
<div id="build">
<input ng-model="buildName" ng-change="bnChange()" placeholder="Enter Build Name" maxlength="50" />
<button ng-click="saveBuild()" ng-disabled="!buildName || savedCode && code == savedCode">
<svg class="icon lg "><use xlink:href="#floppy-disk"></use></svg> Save
</button>
<button ng-click="reloadBuild()" ng-disabled="!savedCode || code == savedCode">
<svg class="icon lg"><use xlink:href="#spinner11"></use></svg> Reload
</button>
<button class="danger" ng-click="deleteBuild()" ng-disabled="!savedCode">
<svg class="icon lg"><use xlink:href="#bin"></use></svg>
</button>
<button ui-sref="outfit({shipId: ship.id,code:null, bn: buildName})" ng-disabled="!code">
<svg class="icon lg"><use xlink:href="#switch"></use></svg> Reset
</button>
<button ng-disabled="!code">
<svg class="icon lg"><use xlink:href="#embed"></use></svg> Forum
</button>
</div>
</div>
<table id="summary">
<thead>
<tr class="main">
<th colspan="3">Manuverability</th><th colspan="2">Mass</th><th rowspan="2">Cargo</th><th rowspan="2">Fuel</th>
<th rowspan="2">Armour</th><th rowspan="2">Shields</th><th colspan="2">Jump Range</th><th rowspan="2">Insurance</th><th rowspan="2">Cost</th>
</tr>
<tr>
<th>Agility</th><th>Thrusters</th><th>Boost</th><th class="lft">Unladen</th><th>Laden</th><th>Unladen</th><th>Laden</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{ship.agility}}/10</td>
<td>{{fRound(ship.speed)}} <u>m/s</u></td>
<td>{{fRound(ship.boost)}} <u>m/s</u></td>
<td>{{fRound(ship.unladenMass)}} <u>T</u></td>
<td>{{fRound(ship.ladenMass)}} <u>T</u></td>
<td>{{fRound(ship.cargoCapacity)}} <u>T</u></td>
<td>{{fRound(ship.fuelCapacity)}} <u>T</u></td>
<td>{{ship.armourTotal}} ({{ship.armour}} + {{ship.armourAdded}})</td>
<td>{{fRound(ship.shieldStrength)}} <u>Mj</u> ({{fRPct(ship.shieldMultiplier)}})</td>
<td>{{fRound(ship.unladenJumpRange)}} <u>LY</u></td>
<td>{{fRound(ship.ladenJumpRange)}} <u>LY</u></td>
<td>{{fCrd(ship.totalCost * insurance.current.pct)}} <u>CR</u></td>
<td>{{fCrd(ship.totalCost)}} <u>CR</u></td>
</tr>
</tbody>
</table>
<div id="hardpoints" class="slot-group"> <div id="hardpoints" class="slot-group">
<h1>HardPoints</h1> <h1 class="vertical">HardPoints</h1>
<div class="slot" ng-repeat="h in ship.hardpoints" ng-click="selectSlot($event, h)" ng-class="{selected: selectedSlot==h}"> <div class="slot" ng-repeat="h in ship.hardpoints" ng-click="selectSlot($event, h)" ng-class="{selected: selectedSlot==h}">
<div slot-hardpoint class="details" hp="h" size="HPC[h.maxClass]" lbl="hgMap[h.c.grp]"></div> <div slot-hardpoint class="details" hp="h" size="HPC[h.maxClass]" lbl="hgMap[h.c.grp]"></div>
<div class="select" ng-class="{hardpoint: h.maxClass > 0}" ng-if="selectedSlot==h" ng-click="select('h',h,$event)"> <div class="select" ng-class="{hardpoint: h.maxClass > 0}" ng-if="selectedSlot==h" ng-click="select('h',h,$event)">
<div component-select s="h" groups="availCS.getHps(h.maxClass)"></div> <div component-select s="h" groups="availCS.getHps(h.maxClass)"></div>
</div> </div>
</div>
</div> </div>
</div> </div>
@@ -80,9 +131,9 @@
<div class="l">Power Distributor</div> <div class="l">Power Distributor</div>
<div class="r">{{pd.id}}</div> <div class="r">{{pd.id}}</div>
<div class="cb"></div> <div class="cb"></div>
<div class="l">Sys: {{pd.c.weaponcapacity}} <u>Mj</u> {{pd.c.weaponrecharge}} <u>Mj/s</u></div> <div class="l">Sys: {{pd.c.weaponcapacity}} <u>Mj</u> / {{pd.c.weaponrecharge}} <u>MW</u></div>
<div class="l">Wep: {{pd.c.systemcapacity}} <u>Mj</u> {{pd.c.systemrecharge}} <u>Mj/s</u></div> <div class="l">Wep: {{pd.c.systemcapacity}} <u>Mj</u> / {{pd.c.systemrecharge}} <u>MW</u></div>
<div class="l">Eng: {{pd.c.enginecapacity}} <u>Mj</u> {{pd.c.enginerecharge}}<u>Mj/s</u></div> <div class="l">Eng: {{pd.c.enginecapacity}} <u>Mj</u> / {{pd.c.enginerecharge}} <u>MW</u></div>
<div class="r cr">{{pd.c.mass}} <u>T</u></div> <div class="r cr">{{pd.c.mass}} <u>T</u></div>
</div> </div>
<div component-select class="select" s="pd" opts="availCS.common[4]" ng-if="selectedSlot==pd" ng-click="select('c',pd,$event)"></div> <div component-select class="select" s="pd" opts="availCS.common[4]" ng-if="selectedSlot==pd" ng-click="select('c',pd,$event)"></div>
@@ -119,71 +170,7 @@
</div> </div>
</div> </div>
<div id="summary"> <div class="cb">
<div id="overview" class="list">
<h1 ng-bind="ship.name"></h1>
<div id="build">
<input ng-model="buildName" ng-change="bnChange()" placeholder="Enter Build Name" maxlength="50" />
<button ng-click="saveBuild()" ng-disabled="!buildName || savedCode && code == savedCode">
<svg class="icon lg "><use xlink:href="#floppy-disk"></use></svg> Save
</button>
<button ng-click="reloadBuild()" ng-disabled="!savedCode || code == savedCode">
<svg class="icon lg"><use xlink:href="#spinner11"></use></svg> Load
</button>
<button class="danger" ng-click="deleteBuild()" ng-disabled="!savedCode">
<svg class="icon lg"><use xlink:href="#bin"></use></svg>
</button>
<button ui-sref="outfit({shipId: ship.id,code:null, bn: buildName})" ng-disabled="!code">
<svg class="icon lg"><use xlink:href="#switch"></use></svg> Reset
</button>
</div>
</div>
<div class="list">
<div class="header">Maneuverability</div>
<div class="summary">
<div class="item"><div class="lbl">Boost</div><div class="val">{{fRound(ship.boost)}} <u>m/s</u></div></div>
<div class="item"><div class="lbl">Speed</div><div class="val">{{fRound(ship.speed)}} <u>m/s</u></div></div>
<div class="item"><div class="lbl">Agility</div><div class="val">{{ship.agility}} / 10</div></div>
</div>
</div>
<div class="list">
<div class="header">Shields</div>
<div class="summary">
<!-- TODO: Implement Shield Recharge rate
<div class="item"><div class="lbl">Recharge Rate</div><div class="val">{{fRound(0)}} <u>Mj/s</u></div></div>
/-->
<div class="item"><div class="lbl">Strength</div><div class="val">{{fRound(ship.shieldStrength)}} <u>Mj</u></div></div>
<div class="item"><div class="lbl">Multiplier</div><div class="val">{{fRPct(ship.shieldMultiplier)}}</div></div>
</div>
</div>
<div class="list">
<div class="header">Armor</div>
<div class="summary">
<div class="item"><div class="lbl">Total</div><div class="val">{{ship.armourTotal}}</div></div>
<div class="item"><div class="lbl">Added</div><div class="val">{{ship.armourAdded}}</div></div>
<div class="item"><div class="lbl">Base</div><div class="val">{{ship.armour}}</div></div>
</div>
</div>
<div class="list">
<div class="header">Mass</div>
<div class="summary">
<div class="item"><div class="lbl">Laden</div><div class="val">{{fRound(ship.ladenMass)}} <u>T</u></div></div>
<div class="item"><div class="lbl">Unladen</div><div class="val">{{fRound(ship.unladenMass)}} <u>T</u></div></div>
</div>
</div>
<div class="list">
<div class="header">Capacity</div>
<div class="summary">
<div class="item"><div class="lbl">Cargo</div><div class="val">{{fRound(ship.cargoCapacity)}} <u>T</u></div></div>
<div class="item"><div class="lbl">Fuel</div><div class="val">{{fRound(ship.fuelCapacity)}} <u>T</u></div></div>
</div>
</div>
<div class="list" ship="ship"> <div class="list" ship="ship">
<div class="header toggle" ng-click="powerExp = !powerExp">Power Use</div> <div class="header toggle" ng-click="powerExp = !powerExp">Power Use</div>
<div class="items" ng-if="!powerExp"> <div class="items" ng-if="!powerExp">
@@ -224,22 +211,11 @@
</div> </div>
<div class="list"> <div class="list">
<div class="header toggle" ng-click="rangeExp = !rangeExp">Jump Range</div> <div class="header toggle">Jump Range</div>
<div class="items cen" ng-if="!rangeExp"> <div class="items cen">
<div class="chart" area-chart config="jrChart" series="jrSeries" width="500" height="250"></div> <div class="chart" area-chart config="jrChart" series="jrSeries" width="500" height="250"></div>
</div> </div>
<div class="summary toggle" ng-click="rangeExp = !rangeExp">
<div class="item">
<div class="lbl">Laden</div>
<div class="val">{{fRound(ship.ladenJumpRange)}} <u>LY</u></div>
</div>
<div class="item">
<div class="lbl">Unladen</div>
<div class="val">{{fRound(ship.unladenJumpRange)}} <u>LY</u></div>
</div>
</div>
</div> </div>
<div class="list"> <div class="list">
<div class="header toggle" ng-click="costsExpanded = !costsExpanded">Costs</div> <div class="header toggle" ng-click="costsExpanded = !costsExpanded">Costs</div>
<div class="items" ng-if="!costsExpanded"> <div class="items" ng-if="!costsExpanded">

0
app/views/page-shipyard.html Normal file → Executable file
View File

0
bower.json Normal file → Executable file
View File

0
data/components/bulkheads.json Normal file → Executable file
View File

0
data/components/common/frame_shift_drive.json Normal file → Executable file
View File

0
data/components/common/fuel_tank.json Normal file → Executable file
View File

0
data/components/common/life_support.json Normal file → Executable file
View File

0
data/components/common/power_distributor.json Normal file → Executable file
View File

0
data/components/common/power_plant.json Normal file → Executable file
View File

0
data/components/common/sensors.json Normal file → Executable file
View File

0
data/components/common/thrusters.json Normal file → Executable file
View File

0
data/components/hardpoints/beam_laser.json Normal file → Executable file
View File

Some files were not shown because too many files have changed in this diff Show More