summaryrefslogtreecommitdiffstatshomepage
path: root/scripts/minimaws/lib/assets/machine.js
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2017-08-07 18:03:21 +1000
committer Vas Crabb <vas@vastheman.com>2017-08-07 18:04:05 +1000
commit5e9e7e0fc5c66d5f059f519792dd1047d881a4ae (patch)
treefb33dd405501a89ce188264ee641953f4286bfc2 /scripts/minimaws/lib/assets/machine.js
parent007a8c1e456029e39958d497b10bfbc4baa452a3 (diff)
minimaws: add support for INI options preview and explicit defaults
Diffstat (limited to 'scripts/minimaws/lib/assets/machine.js')
-rw-r--r--scripts/minimaws/lib/assets/machine.js41
1 files changed, 32 insertions, 9 deletions
diff --git a/scripts/minimaws/lib/assets/machine.js b/scripts/minimaws/lib/assets/machine.js
index 052d28ba69a..368b56b349c 100644
--- a/scripts/minimaws/lib/assets/machine.js
+++ b/scripts/minimaws/lib/assets/machine.js
@@ -12,21 +12,40 @@ function get_slot_popup(name) { return document.getElementById(make_slot_popup_i
function update_cmd_preview()
{
+ var inifmt = document.getElementById('select-options-format').value == 'ini';
var result = '';
var first = true;
- function add_option(str)
+ function add_option(flag, value)
{
if (first)
first = false;
+ else if (inifmt)
+ result += '\n';
else
result += ' ';
- result += str;
+
+ if (inifmt)
+ {
+ result += flag + ' ';
+ if (flag.length < 25)
+ result += ' '.repeat(25 - flag.length);
+ result += value;
+ }
+ else
+ {
+ result += '-' + flag + ' ';
+ if (value == '')
+ result += '""';
+ else
+ result += value;
+ }
}
+ var elide_defaults = !document.getElementById('check-explicit-defaults').checked;
// add system BIOS if applicable
var sysbios = document.getElementById('select-system-bios');
- if (sysbios && (sysbios.selectedOptions[0].getAttribute('data-isdefault') != 'yes'))
- add_option('-bios ' + sysbios.value);
+ if (sysbios && (!elide_defaults || (sysbios.selectedOptions[0].getAttribute('data-isdefault') != 'yes')))
+ add_option('bios', sysbios.value);
var slotslist = document.getElementById('list-slot-options');
if (slotslist)
@@ -41,17 +60,21 @@ function update_cmd_preview()
var biospopup = document.getElementById(('select-slot-bios-' + slotname).replace(/:/g, '-'));
var defcard = selection.getAttribute('data-isdefault') == 'yes';
var defbios = !biospopup || (biospopup.selectedOptions[0].getAttribute('data-isdefault') == 'yes');
- if (!defcard || !defbios)
+ if (!elide_defaults || !defcard || !defbios)
{
var card = selection.value;
- if (card == '')
- card = '""';
- add_option('-' + slotname + ' ' + card + (defbios ? '' : (',bios=' + biospopup.value)));
+ add_option(slotname, card + ((biospopup && (!elide_defaults || !defbios)) ? (',bios=' + biospopup.value) : ''));
}
}
}
}
- document.getElementById('para-cmd-preview').textContent = result;
+
+ // replace the preview with appropriate element
+ var target = document.getElementById('para-cmd-preview');
+ var replacement = document.createElement(inifmt ? 'pre' : 'p');
+ replacement.setAttribute('id', 'para-cmd-preview');
+ replacement.textContent = result;
+ target.parentNode.replaceChild(replacement, target);
}