Skip to content

Commit a45c020

Browse files
committed
0.9.4
1 parent 50b1ada commit a45c020

File tree

2 files changed

+33
-52
lines changed

2 files changed

+33
-52
lines changed

eve-ui.js

+32-51
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
// ` used whenever interpolation is required
66
'use strict';
77
// config stuff ( can be overridden in a script block or js file of your choice )
8-
var eveui_user_agent = eveui_user_agent || 'For source website, see referrer. For library, see https://github.com/quiescens/eve-ui/ r:' + `0.9.3`;
8+
var eveui_user_agent = eveui_user_agent || 'For source website, see referrer. For library, see https://github.com/quiescens/eve-ui/ r:' + `0.9.4`;
9+
var eveui_accept_language = eveui_accept_language;
910
var eveui_preload_initial = eveui_preload_initial || 50;
1011
var eveui_preload_interval = eveui_preload_interval || 10;
1112
var eveui_mode = eveui_mode || 'multi_window'; // expand_all, expand, multi_window, modal
@@ -14,9 +15,11 @@ var eveui_fit_selector = eveui_fit_selector || '[href^="fitting:"],[data-dna]';
1415
var eveui_item_selector = eveui_item_selector || '[href^="item:"],[data-itemid]';
1516
var eveui_char_selector = eveui_char_selector || '[href^="char:"],[data-charid]';
1617
var eveui_corp_selector = eveui_corp_selector || '[href^="corp:"],[data-corpid]';
17-
var eveui_use_osmium = eveui_use_osmium || false;
18+
var eveui_esi_endpoint = eveui_esi_endpoint || function (path) {
19+
return 'https://esi.evetech.net' + path;
20+
};
1821
var eveui_urlify = eveui_urlify || function (dna) {
19-
return 'https://o.smium.org/loadout/dna/' + encodeURI(dna);
22+
return 'fitting:' + encodeURI(dna);
2023
};
2124
var eveui_imageserver = eveui_imageserver || function (image_ref) {
2225
if (image_ref.startsWith('Character')) {
@@ -259,29 +262,26 @@ var eveui;
259262
}
260263
let request_timestamp = performance.now();
261264
// get item ids that match input
262-
$.ajax({
263-
url: `https://esi.tech.ccp.is/v1/search/`,
265+
ajax({
266+
url: eveui_esi_endpoint(`/v1/search/`),
264267
cache: true,
265268
data: {
266-
user_agent: eveui_user_agent,
267269
search: $(this).val(),
268270
categories: 'inventorytype'
269271
}
270272
}).done(function (data) {
271273
if (typeof (data.inventorytype) === 'undefined') {
272274
return;
273275
}
274-
let arg = {
275-
user_agent: eveui_user_agent,
276-
ids: data.inventorytype.slice(0, 50)
277-
};
278276
// get names for required item ids
279-
$.ajax({
280-
url: `https://esi.tech.ccp.is/v1/universe/names/`,
277+
ajax({
278+
url: eveui_esi_endpoint(`/v1/universe/names/`),
281279
cache: true,
282280
method: 'POST',
283281
contentType: 'application/json',
284-
data: JSON.stringify(arg)
282+
data: JSON.stringify({
283+
ids: data.inventorytype.slice(0, 50)
284+
})
285285
}).done(function (data) {
286286
if (request_timestamp > itemselect_lastupdate) {
287287
itemselect_lastupdate = request_timestamp;
@@ -367,12 +367,10 @@ var eveui;
367367
mark('event handlers set');
368368
function eve_version_query() {
369369
mark('eve version request');
370-
$.ajax(`https://esi.tech.ccp.is/v1/status/`, {
370+
ajax({
371+
url: eveui_esi_endpoint(`/v1/status/`),
371372
dataType: 'json',
372373
cache: true,
373-
data: {
374-
user_agent: eveui_user_agent
375-
}
376374
}).done(function (data) {
377375
eve_version = data.server_version;
378376
mark('eve version response ' + eve_version);
@@ -541,7 +539,7 @@ var eveui;
541539
}
542540
return html;
543541
}
544-
let html = `<span class="float_right"><eveui type="osmium" key="${dna}" /></span><table class="eveui_fit_table"><thead><tr class="eveui_fit_header" data-eveui-itemid="${ship_id}"><td colspan="2"><img src="${eveui_imageserver('Type/' + ship_id + '_32')}" class="eveui_icon eveui_ship_icon" /><td><div class="eveui_rowcontent"><span class="eveui_startcopy" />[<a target="_blank" href="${eveui_urlify(dna)}">${ship.name}, ${eveui_name || ship.name}</a>]<br/></div><td class="eveui_right whitespace_nowrap nocopy" colspan="2">${eveui_allow_edit ? '<span class="eveui_icon eveui_edit_icon" />' : ''}<span class="eveui_icon eveui_copy_icon" /><span data-itemid="${ship_id}" class="eveui_icon eveui_info_icon" /><span class="eveui_icon eveui_edit" /><span class="eveui_icon eveui_edit" /><span class="eveui_icon eveui_more_icon eveui_edit" /></thead><tbody class="whitespace_nowrap">${item_rows(high_slots, ship.hiSlots)}<tr><td class="eveui_line_spacer">&nbsp;${item_rows(med_slots, ship.medSlots)}<tr><td class="eveui_line_spacer">&nbsp;${item_rows(low_slots, ship.lowSlots)}<tr><td class="eveui_line_spacer">&nbsp;${item_rows(rig_slots, ship.rigSlots)}<tr><td class="eveui_line_spacer">&nbsp;${item_rows(subsystem_slots, ship.maxSubSystems)}<tr><td class="eveui_line_spacer">&nbsp;${item_rows(other_slots)}</tbody></table><span class="eveui_endcopy" />`;
542+
let html = `<table class="eveui_fit_table"><thead><tr class="eveui_fit_header" data-eveui-itemid="${ship_id}"><td colspan="2"><img src="${eveui_imageserver('Type/' + ship_id + '_32')}" class="eveui_icon eveui_ship_icon" /><td><div class="eveui_rowcontent"><span class="eveui_startcopy" />[<a target="_blank" href="${eveui_urlify(dna)}">${ship.name}, ${eveui_name || ship.name}</a>]<br/></div><td class="eveui_right whitespace_nowrap nocopy" colspan="2">${eveui_allow_edit ? '<span class="eveui_icon eveui_edit_icon" />' : ''}<span class="eveui_icon eveui_copy_icon" /><span data-itemid="${ship_id}" class="eveui_icon eveui_info_icon" /><span class="eveui_icon eveui_edit" /><span class="eveui_icon eveui_edit" /><span class="eveui_icon eveui_more_icon eveui_edit" /></thead><tbody class="whitespace_nowrap">${item_rows(high_slots, ship.hiSlots)}<tr><td class="eveui_line_spacer">&nbsp;${item_rows(med_slots, ship.medSlots)}<tr><td class="eveui_line_spacer">&nbsp;${item_rows(low_slots, ship.lowSlots)}<tr><td class="eveui_line_spacer">&nbsp;${item_rows(rig_slots, ship.rigSlots)}<tr><td class="eveui_line_spacer">&nbsp;${item_rows(subsystem_slots, ship.maxSubSystems)}<tr><td class="eveui_line_spacer">&nbsp;${item_rows(other_slots)}</tbody></table><span class="eveui_endcopy" />`;
545543
return html;
546544
}
547545
eveui.format_fit = format_fit;
@@ -654,13 +652,6 @@ var eveui;
654652
return eveui_window;
655653
}
656654
eveui.corp_window = corp_window;
657-
function format_fitstats(dna) {
658-
let html = '';
659-
let osmium_stats = eveui.cache['osmium:' + dna];
660-
html = `<span class="eveui_fit_stats">Defense<br /><span class="eveui_indent">${Math.floor(osmium_stats.ship.ehpAndResonances.ehp.avg)} EHP<table><tr><td><td>em<td>th<td>ki<td>ex<tr><td>s<td>${Math.round(100 - osmium_stats.ship.ehpAndResonances.shield.resonance.em * 100)}<td>${Math.round(100 - osmium_stats.ship.ehpAndResonances.shield.resonance.thermal * 100)}<td>${Math.round(100 - osmium_stats.ship.ehpAndResonances.shield.resonance.kinetic * 100)}<td>${Math.round(100 - osmium_stats.ship.ehpAndResonances.shield.resonance.explosive * 100)}<tr><td>a<td>${Math.round(100 - osmium_stats.ship.ehpAndResonances.armor.resonance.em * 100)}<td>${Math.round(100 - osmium_stats.ship.ehpAndResonances.armor.resonance.thermal * 100)}<td>${Math.round(100 - osmium_stats.ship.ehpAndResonances.armor.resonance.kinetic * 100)}<td>${Math.round(100 - osmium_stats.ship.ehpAndResonances.armor.resonance.explosive * 100)}<tr><td>h<td>${Math.round(100 - osmium_stats.ship.ehpAndResonances.hull.resonance.em * 100)}<td>${Math.round(100 - osmium_stats.ship.ehpAndResonances.hull.resonance.thermal * 100)}<td>${Math.round(100 - osmium_stats.ship.ehpAndResonances.hull.resonance.kinetic * 100)}<td>${Math.round(100 - osmium_stats.ship.ehpAndResonances.hull.resonance.explosive * 100)}</table></span><hr />Offense<br /><span class="eveui_indent">${Math.round(osmium_stats.ship.damage.total.dps)} Total DPS<br />(${Math.round(osmium_stats.ship.damage.drones.dps)} Drone DPS)<br /></span><hr />Capacitor<br /><span class="eveui_indent">&Delta;${(osmium_stats.ship.capacitor.delta * -1000).toFixed(2)}/s<br /></span></span>`;
661-
return html;
662-
}
663-
eveui.format_fitstats = format_fitstats;
664655
function expand() {
665656
// expands anything that has been marked for expansion, or all applicable if we are set to expand_all mode
666657
autoexpand();
@@ -710,18 +701,6 @@ var eveui;
710701
}
711702
eveui.expand = expand;
712703
function autoexpand() {
713-
// expands elements that require expansion even when not in expand mode
714-
$('eveui[type=osmium]').filter(':not([state])').each(function () {
715-
let selected_element = $(this);
716-
let dna = selected_element.attr('key');
717-
if (eveui_use_osmium) {
718-
selected_element.attr('state', 'loading');
719-
cache_request('osmium:' + dna).done(function () {
720-
selected_element.html(format_fitstats(dna));
721-
selected_element.attr('state', 'done');
722-
});
723-
}
724-
});
725704
// generic expansion of simple expressions
726705
$('eveui:not([type])').filter(':not([state])').each(function () {
727706
let selected_element = $(this);
@@ -773,6 +752,18 @@ var eveui;
773752
});
774753
return value;
775754
}
755+
function ajax(settings) {
756+
let my_settings = {
757+
headers: {
758+
'Accept-Language': eveui_accept_language,
759+
},
760+
data: {
761+
user_agent: eveui_user_agent,
762+
},
763+
};
764+
$.extend(true, my_settings, settings);
765+
return $.ajax(my_settings);
766+
}
776767
function cache_items(dna) {
777768
// caches all items required to process the specified fit
778769
let pending = [];
@@ -791,16 +782,8 @@ var eveui;
791782
let url;
792783
let jsonp = false;
793784
let custom_cache = key.startsWith('/v3/universe/types')
794-
|| key.startsWith('/v1/dogma/attributes')
795-
|| key.startsWith('osmium');
796-
if (key.startsWith('osmium:')) {
797-
jsonp = true;
798-
let dna = key.split(':', 2)[1];
799-
url = `https://o.smium.org/api/json/loadout/dna/attributes/loc:ship,a:ehpAndResonances,a:damage,a:outgoing,a:capacitor,a:tank?input=${encodeURI(dna)}`;
800-
}
801-
else {
802-
url = 'https://esi.tech.ccp.is' + key + '/';
803-
}
785+
|| key.startsWith('/v1/dogma/attributes');
786+
url = eveui_esi_endpoint(key + '/');
804787
let dataType = jsonp ? 'jsonp' : 'json';
805788
if (typeof (eveui.cache[key]) === 'object') {
806789
if (typeof (eveui.cache[key].promise) === 'function') {
@@ -816,10 +799,8 @@ var eveui;
816799
return $.Deferred().reject();
817800
}
818801
requests_pending++;
819-
return eveui.cache[key] = $.ajax(url, {
820-
data: {
821-
user_agent: eveui_user_agent,
822-
},
802+
return eveui.cache[key] = ajax({
803+
url: url,
823804
dataType: dataType,
824805
cache: !custom_cache,
825806
}).done(function (data) {

0 commit comments

Comments
 (0)