-
+
|
@Html.DisplayFor(modelItem => item.UniqueDesignation)
diff --git a/Arma3TacMapWebApp/wwwroot/js/orbatUnit.js b/Arma3TacMapWebApp/wwwroot/js/orbatUnit.js
deleted file mode 100644
index 16d9b65..0000000
--- a/Arma3TacMapWebApp/wwwroot/js/orbatUnit.js
+++ /dev/null
@@ -1,106 +0,0 @@
-function applySymbol() {
- applySymbolOne('3', '0', 'NatoSymbolFriendlyImageBase64', 'PreviewFriendly');
- applySymbolOne('6', '0', 'NatoSymbolHostileImageBase64', 'PreviewHostile');
- applySymbolOne('6', '1', 'NatoSymbolHostileAssumedImageBase64');
-}
-
-function applySymbolOne(c, e, hidden, area) {
- var symbol = '100' + c + '10' + e;
- symbol += $('#NatoSymbolHQ').val() || '0';
- symbol += $('#NatoSymbolSize').val() || '00';
- symbol += $('#NatoSymbolIcon').val() || '000000';
- symbol += $('#NatoSymbolMod1').val() || '00';
- symbol += $('#NatoSymbolMod2').val() || '00';
- var config = {
- uniqueDesignation: $('#UniqueDesignation').val(),
- size: 70
- };
- var sym = new ms.Symbol(symbol, config);
- var src = sym.asCanvas(window.devicePixelRatio).toDataURL();
- if (area) {
- $('#' + area).empty().append($(' ')
- .attr({
- src: src,
- width: sym.getSize().width,
- height: sym.getSize().height
- })
- );
- }
- $('#' + hidden).val(src);
- return symbol;
-}
-
-
-$(function () {
- var id = '0003';
- var symbolset = '10';
-
- ms.setStandard("APP6"); // We always use APP6 edition D
-
- $('#NatoSymbolSize').empty();
- $.each(echelonMobilityTowedarray(symbolset), function (name, value) {
- var sym = new ms.Symbol(id + symbolset + '00' + value.code + '0000000000', { size: 16 });
- var labelHtml = ' ' + value.name;
- $('#NatoSymbolSize').append($('').attr({ value: value.code, 'data-content': labelHtml }).text(value.name));
- });
-
- var data = milstd.app6d[symbolset];
-
- $('#NatoSymbolIcon').empty();
- $.each(data['main icon'], function (name, value) {
- var sym = new ms.Symbol(id + symbolset + '0000' + value.code + '0000', { size: 16 });
- var labelHtml = ' ';
- var labelText = '';
- if (value['entity type']) {
- if (value['entity subtype']) {
- labelHtml += '' + value.entity + ' - ' + value['entity type'] + ' - ' + value['entity subtype'] + '';
- labelText = value.entity + ' - ' + value['entity type'] + ' - ' + value['entity subtype'];
- } else {
- labelHtml += '' + value.entity + ' - ' + value['entity type'] + '';
- labelText = value.entity + ' - ' + value['entity subtype'];
- }
- }
- else {
- labelHtml += '' + value.entity + '';
- labelText = value.entity;
-
- $('#NatoSymbolIcon').append($('').attr({ 'data-divider': 'true' }));
- }
- $('#NatoSymbolIcon').append($('').attr({ value: value.code, 'data-content': labelHtml }).text(labelText));
- });
-
- $('#NatoSymbolMod1').empty();
- $.each(data['modifier 1'], function (name, value) {
- var sym = new ms.Symbol(id + symbolset + '0000000000' + value.code + '00', { size: 16 });
- var labelHtml = ' ' + value.modifier;
- $('#NatoSymbolMod1').append($('').attr({ value: value.code, 'data-content': labelHtml }).text(value.modifier));
- });
-
- $('#NatoSymbolMod2').empty();
- $.each(data['modifier 2'], function (name, value) {
- var sym = new ms.Symbol(id + symbolset + '000000000000' + value.code, { size: 16 });
- var labelHtml = ' ' + value.modifier;
- $('#NatoSymbolMod2').append($('').attr({ value: value.code, 'data-content': labelHtml }).text(value.modifier));
- });
-
- // data-selected
- $('#NatoSymbolSize').val($('#NatoSymbolSize').attr('data-selected'));
- $('#NatoSymbolIcon').val($('#NatoSymbolIcon').attr('data-selected'));
- $('#NatoSymbolMod1').val($('#NatoSymbolMod1').attr('data-selected'));
- $('#NatoSymbolMod2').val($('#NatoSymbolMod2').attr('data-selected'));
- $('#NatoSymbolHQ').val($('#NatoSymbolHQ').attr('data-selected'));
-
- $('#NatoSymbolSize').selectpicker();
- $('#NatoSymbolIcon').selectpicker();
- $('#NatoSymbolMod1').selectpicker();
- $('#NatoSymbolMod2').selectpicker();
- $('#NatoSymbolHQ').selectpicker();
-
- $('#NatoSymbolSize').on('change',applySymbol);
- $('#NatoSymbolIcon').on('change',applySymbol);
- $('#NatoSymbolMod1').on('change',applySymbol);
- $('#NatoSymbolMod2').on('change',applySymbol);
- $('#NatoSymbolHQ').on('change', applySymbol);
- $('#UniqueDesignation').on('change', applySymbol);
- applySymbol();
-});
\ No newline at end of file
diff --git a/Arma3TacMapWebApp/wwwroot/js/orbatUnitPage.js b/Arma3TacMapWebApp/wwwroot/js/orbatUnitPage.js
new file mode 100644
index 0000000..793f7a0
--- /dev/null
+++ b/Arma3TacMapWebApp/wwwroot/js/orbatUnitPage.js
@@ -0,0 +1,34 @@
+document.addEventListener("DOMContentLoaded", function () {
+
+ let fields = {
+ uniqueDesignation: document.getElementById('UniqueDesignation')
+ };
+
+ Object.getOwnPropertyNames(fields).forEach(name => {
+ fields[name].addEventListener('change', function () {
+ PmadMilsymbolSelector.getInstance('FriendSidc').updatePreview();
+ });
+ });
+
+ PmadMilsymbolSelector.setOptions("FriendSidc", {
+ getSymbolOptions: function () {
+ let options = {};
+ Object.getOwnPropertyNames(fields).forEach(name => {
+ let value = fields[name].value;
+ if (value !== '') {
+ options[name] = value;
+ }
+ });
+ return options;
+ },
+ symbolUpdatedCallback: function (sidc, optionsWithDegrees, symbol) {
+ if (sidc.substring(3, 4) != "3" || sidc.substring(6, 7) != "0") {
+ // Force std id to "3" and status to "0" as required by backend
+ PmadMilsymbolSelector.getInstance('FriendSidc').setValue(
+ sidc.substring(0, 3) + "3" + sidc.substring(4, 6) + "0" + sidc.substring(7)
+ );
+ }
+ }
+ });
+
+});
\ No newline at end of file
|