blob: e2854f506f32dd0d99af254e792c08813fce3425 (
plain) (
tree)
|
|
<form method="post" action="?do=usblockoff" id="editRuleForm">
<input type="hidden" name="token" value="{{token}}">
<input type="hidden" name="action" value="editRule">
<input type="hidden" name="configid" value="{{configid}}" id="configid">
<input type="hidden" name="ruleid" value="{{ruleid}}" id="ruleid">
<input type="hidden" name="attributes" value="" id="attributes">
<div class="panel panel-default">
<div class="panel-heading">{{lang_editRule}}</div>
<div class="panel-body">
<div class="list-group">
{{#attributes}}
{{{attributesHtml}}}
{{/attributes}}
</div>
</div>
</div>
<div class="pull-right">
<a href="?do=usblockoff&show=edit-config&configid={{configid}}" class="btn btn-default">Cancel</a>
<button id="addButton" class="btn btn-primary" type="submit">
<span class="glyphicon glyphicon-floppy-disk"></span> {{lang_save}}
</button>
</div>
</form>
<script>
var idArray = {{{usbJson}}};
document.addEventListener("DOMContentLoaded", function() {
$('a.btn[title]').tooltip({placement: "auto", html: true});
$('.switch-input').click(function() {
//var $op = $(this).parent().find('select');
var $op = $(this).parent().find(':input').not('button');
var val = $op.val();
console.log(val);
if ($op[0].localName == 'select') {
$op.replaceWith($('<input class="form-control" type="text">').attr('name', $op.attr('name')).attr('id', $op.attr('id')).val(val));
if ($op.attr('id') === 'prop-vid') {
remakeChangeEvent(val);
}
$(this).parent().find('button span').removeClass('glyphicon-pencil').addClass('glyphicon glyphicon-list-alt');
} else if ($op[0].localName == 'input') {
$op.replaceWith($('<select class="form-control">').attr('name', $op.attr('name')).attr('id', $op.attr('id')).val(val));
if ($op.attr('id') === 'prop-vid') {
var vendorid = $('#prop-vid');
$.each(idArray, function (key, value) {
vendorid.append($('<option></option>').val(key).html(value['name']));
});
vendorid.val(val);
remakeChangeEvent(val);
} else if ($op.attr('id') === 'prop-pid') {
var productid = $('#prop-pid');
$.each(idArray[$('#prop-vid').val()]['products'], function(key, value) {
productid.append($('<option></option>').val(key).html(value));
});
productid.val(val);
}
$(this).parent().find('button span').removeClass('glyphicon-list-alt').addClass('glyphicon-pencil');
}
remakeUpdateEvent();
});
remakeUpdateEvent();
var vendorid = $('#prop-vid');
var productid = $('#prop-pid');
var vid = vendorid.val();
vendorid.empty();
vendorid.change(function () {
var $this = $(this);
var vid = $this.val();
var pid = productid.val();
productid.empty();
$.each(idArray[vid]['products'], function(key, value) {
productid.append($('<option></option>').val(key).html(value));
});
productid.val(pid);
});
$.each(idArray, function(key, value) {
vendorid.append($('<option></option>').val(key).html(value['name']));
});
vendorid.val(vid);
vendorid.change();
});
function updateAttributes() {
var attributes = [];
$.each($('[id^="prop-"]'), function () {
var attr = {};
attr['prop'] = $(this).attr('id');
attr['value'] = $(this).val();
attributes.push(attr);
});
$('#attributes').val(JSON.stringify(attributes));
}
function remakeUpdateEvent() {
$('[id^="prop-"]').change(function () {
updateAttributes();
});
}
function remakeChangeEvent(val) {
var vendorid = $('#prop-vid');
vendorid.change(function () {
var productid = $('#prop-pid');
var $this = $(this);
var vid = $this.val();
var pid = productid.val();
productid.empty();
$.each(idArray[vid]['products'], function(key, value) {
productid.append($('<option></option>').val(key).html(value));
});
productid.val(pid);
});
vendorid.val(val);
vendorid.change();
}
</script>
|