xdr inputs and some css tẃeaks
This commit is contained in:
parent
ca55063c8e
commit
bed9ec32cc
|
@ -1,3 +1,6 @@
|
||||||
|
*{
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
body{
|
body{
|
||||||
font-family: Arial, Helvetica, sans-serif;
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
}
|
}
|
||||||
|
@ -61,6 +64,7 @@ body{
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
min-width: 21em;
|
||||||
}
|
}
|
||||||
input,select {
|
input,select {
|
||||||
border: 1px solid #808080a1;
|
border: 1px solid #808080a1;
|
||||||
|
@ -95,6 +99,53 @@ body{
|
||||||
#xdrPage .category .title{
|
#xdrPage .category .title{
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
#xdrPage span.label{
|
||||||
|
width: 4em;
|
||||||
|
}
|
||||||
|
#xdrPage .value{
|
||||||
|
width: 24em;
|
||||||
|
}
|
||||||
|
#xdrPage .row{
|
||||||
|
min-width: 24em;
|
||||||
|
}
|
||||||
|
.xdrline {
|
||||||
|
padding-top: 0.2em;
|
||||||
|
padding-bottom: 0.2em;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
|
.xdrunused{
|
||||||
|
opacity: 0;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
span.xdrlabel {
|
||||||
|
width: 8em;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.xdrinput .xdrdir {
|
||||||
|
width: 12em;
|
||||||
|
}
|
||||||
|
.xdrinput .xdrdir:before {
|
||||||
|
content: 'Direction';
|
||||||
|
}
|
||||||
|
.xdrinput .xdrcat {
|
||||||
|
width: 12em;
|
||||||
|
}
|
||||||
|
.xdrinput .xdrsel {
|
||||||
|
width: 12em;
|
||||||
|
}
|
||||||
|
.xdrinput .xdrfield {
|
||||||
|
width: 12em;
|
||||||
|
}
|
||||||
|
.xdrinput .xdrimode {
|
||||||
|
width: 8em;
|
||||||
|
}
|
||||||
|
.xdrinput .xdrinstance {
|
||||||
|
width: 4em;
|
||||||
|
}
|
||||||
|
.xdrinput .xdrname {
|
||||||
|
width: 16em;
|
||||||
|
}
|
||||||
.msgDetails .value {
|
.msgDetails .value {
|
||||||
width: 5em;
|
width: 5em;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
|
|
53
web/index.js
53
web/index.js
|
@ -234,10 +234,10 @@ function checkChange(el, row) {
|
||||||
}
|
}
|
||||||
let configDefinitions;
|
let configDefinitions;
|
||||||
let xdrConfig;
|
let xdrConfig;
|
||||||
function createInput(configItem, frame) {
|
function createInput(configItem, frame,clazz) {
|
||||||
let el;
|
let el;
|
||||||
if (configItem.type === 'boolean' || configItem.type === 'list') {
|
if (configItem.type === 'boolean' || configItem.type === 'list') {
|
||||||
el=addEl('select','',frame);
|
el=addEl('select',clazz,frame);
|
||||||
el.setAttribute('name', configItem.name)
|
el.setAttribute('name', configItem.name)
|
||||||
let slist = [];
|
let slist = [];
|
||||||
if (configItem.list) {
|
if (configItem.list) {
|
||||||
|
@ -261,14 +261,13 @@ function createInput(configItem, frame) {
|
||||||
return el;
|
return el;
|
||||||
}
|
}
|
||||||
if (configItem.type === 'filter') {
|
if (configItem.type === 'filter') {
|
||||||
return createFilterInput(configItem,frame);
|
return createFilterInput(configItem,frame,clazz);
|
||||||
}
|
}
|
||||||
if (configItem.type === 'xdr'){
|
if (configItem.type === 'xdr'){
|
||||||
return createXdrInput(configItem,frame);
|
return createXdrInput(configItem,frame,clazz);
|
||||||
}
|
}
|
||||||
el = document.createElement('input');
|
el = addEl('input',clazz,frame);
|
||||||
el.setAttribute('name', configItem.name)
|
el.setAttribute('name', configItem.name)
|
||||||
frame.appendChild(el);
|
|
||||||
if (configItem.type === 'password') {
|
if (configItem.type === 'password') {
|
||||||
el.setAttribute('type', 'password');
|
el.setAttribute('type', 'password');
|
||||||
let vis = addEl('span', 'icon-eye icon', frame);
|
let vis = addEl('span', 'icon-eye icon', frame);
|
||||||
|
@ -327,9 +326,20 @@ function getXdrFields(category){
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function createXdrLine(parent,label){
|
||||||
|
let d=addEl('div','xdrline',parent);
|
||||||
|
addEl('span','xdrlabel',d,label);
|
||||||
|
return d;
|
||||||
|
}
|
||||||
|
function showHideXdr(el,show,useParent){
|
||||||
|
if (useParent) el=el.parentElement;
|
||||||
|
if (show) el.classList.remove('xdrunused');
|
||||||
|
else el.classList.add('xdrunused');
|
||||||
|
}
|
||||||
|
|
||||||
function createXdrInput(configItem,frame){
|
function createXdrInput(configItem,frame){
|
||||||
let el = addEl('div','filter',frame);
|
let el = addEl('div','xdrinput',frame);
|
||||||
|
let d=createXdrLine(el,'Direction');
|
||||||
let direction=createInput({
|
let direction=createInput({
|
||||||
type:'list',
|
type:'list',
|
||||||
name: configItem.name+"_dir",
|
name: configItem.name+"_dir",
|
||||||
|
@ -340,22 +350,26 @@ function createXdrInput(configItem,frame){
|
||||||
{l:'to2K',v:2},
|
{l:'to2K',v:2},
|
||||||
{l:'from2K',v:3}
|
{l:'from2K',v:3}
|
||||||
]
|
]
|
||||||
},el);
|
},d,'xdrdir');
|
||||||
|
d=createXdrLine(el,'Category');
|
||||||
let category=createInput({
|
let category=createInput({
|
||||||
type: 'list',
|
type: 'list',
|
||||||
name: configItem.name+"_cat",
|
name: configItem.name+"_cat",
|
||||||
list:getXdrCategories()
|
list:getXdrCategories()
|
||||||
},el);
|
},d,'xdrcat');
|
||||||
|
d=createXdrLine(el,'Source');
|
||||||
let selector=createInput({
|
let selector=createInput({
|
||||||
type: 'list',
|
type: 'list',
|
||||||
name: configItem.name+"_sel",
|
name: configItem.name+"_sel",
|
||||||
list:[]
|
list:[]
|
||||||
},el);
|
},d,'xdrsel');
|
||||||
|
d=createXdrLine(el,'Field');
|
||||||
let field=createInput({
|
let field=createInput({
|
||||||
type:'list',
|
type:'list',
|
||||||
name: configItem.name+'_field',
|
name: configItem.name+'_field',
|
||||||
list: []
|
list: []
|
||||||
},el);
|
},d,'xdrfield');
|
||||||
|
d=createXdrLine(el,'Instance');
|
||||||
let imode=createInput({
|
let imode=createInput({
|
||||||
type:'list',
|
type:'list',
|
||||||
name: configItem.name+"_imode",
|
name: configItem.name+"_imode",
|
||||||
|
@ -365,15 +379,16 @@ function createXdrInput(configItem,frame){
|
||||||
{l:'ignore',v:1},
|
{l:'ignore',v:1},
|
||||||
{l:'auto',v:2}
|
{l:'auto',v:2}
|
||||||
]
|
]
|
||||||
},el);
|
},d,'xdrimode');
|
||||||
let instance=createInput({
|
let instance=createInput({
|
||||||
type:'number',
|
type:'number',
|
||||||
name: configItem.name+"_instance",
|
name: configItem.name+"_instance",
|
||||||
},el);
|
},d,'xdrinstance');
|
||||||
|
d=createXdrLine(el,'Transducer');
|
||||||
let xdrName=createInput({
|
let xdrName=createInput({
|
||||||
type:'text',
|
type:'text',
|
||||||
name: configItem.name+"_xdr"
|
name: configItem.name+"_xdr"
|
||||||
},el);
|
},d,'xdrname');
|
||||||
let data = addEl('input',undefined,el);
|
let data = addEl('input',undefined,el);
|
||||||
data.setAttribute('type', 'hidden');
|
data.setAttribute('type', 'hidden');
|
||||||
data.setAttribute('name', configItem.name);
|
data.setAttribute('name', configItem.name);
|
||||||
|
@ -381,12 +396,17 @@ function createXdrInput(configItem,frame){
|
||||||
let parts=data.value.split(',');
|
let parts=data.value.split(',');
|
||||||
direction.value=parts[1] || 0;
|
direction.value=parts[1] || 0;
|
||||||
category.value=parts[0] || 0;
|
category.value=parts[0] || 0;
|
||||||
updateSelectList(selector,getXdrSelectors(category.value));
|
let selectors=getXdrSelectors(category.value);
|
||||||
updateSelectList(field,getXdrFields(category.value));
|
updateSelectList(selector,selectors);
|
||||||
|
showHideXdr(selector,selectors.length>0);
|
||||||
|
let fields=getXdrFields(category.value);
|
||||||
|
updateSelectList(field,fields);
|
||||||
|
showHideXdr(field,fields.length>0);
|
||||||
selector.value=parts[2]||0;
|
selector.value=parts[2]||0;
|
||||||
field.value=parts[3]||0;
|
field.value=parts[3]||0;
|
||||||
imode.value=parts[4]||0;
|
imode.value=parts[4]||0;
|
||||||
instance.value=parts[5]||0;
|
instance.value=parts[5]||0;
|
||||||
|
showHideXdr(instance,imode.value == 0);
|
||||||
xdrName.value=parts[6]||'';
|
xdrName.value=parts[6]||'';
|
||||||
}
|
}
|
||||||
let updateFunction = function () {
|
let updateFunction = function () {
|
||||||
|
@ -398,6 +418,7 @@ function createXdrInput(configItem,frame){
|
||||||
if (instanceValue>255) instanceValue=255;
|
if (instanceValue>255) instanceValue=255;
|
||||||
txt+=","+instanceValue;
|
txt+=","+instanceValue;
|
||||||
let xdr=xdrName.value.replace(/[^a-zA-Z0-9]/g,'');
|
let xdr=xdrName.value.replace(/[^a-zA-Z0-9]/g,'');
|
||||||
|
xdr=xdr.substr(0,12);
|
||||||
txt+=","+xdr;
|
txt+=","+xdr;
|
||||||
data.value=txt;
|
data.value=txt;
|
||||||
let ev=new Event('change');
|
let ev=new Event('change');
|
||||||
|
|
Loading…
Reference in New Issue