23 var _TABLE_BOOL_TYPE_TRUE_COLOR =
"rgb(201, 255, 201)";
24 var _TABLE_BOOL_TYPE_FALSE_COLOR =
"rgb(255, 178, 178)";
27 var stepTimeout = null;
28 var trigTimeout = null;
29 var modifiedList = [];
30 var invalidInput =
false;
31 var loadMuxArr = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
32 var syncArray = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
33 var inputMuxArray = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
34 var outputMuxArray = [0,0,0,0,0,0,0,0]
35 var accelMaskArray = [0,0,0,0,0,0,0,0]
36 var tMuxAArray = [[0,0,0,0,0,0,0,0,0]];
37 var tMuxBArray= [[0,0,0,0,0,0,0,0,0]];
38 var logicArray = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
39 var _subsetBasePath =
"FENIMPlusInterfaceTable";
40 var _modifiedTables = [];
41 var writeFEInterfaceStatus =
false;
42 var FEInterfaceStatusValue =
"";
43 var ogBoardState =
"";
44 var fieldList = [[
"NimStatus",
"Status"],
45 [
"NimPlusIP",
"InterfaceIPAddress"],
46 [
"NimPlusPort",
"InterfacePort"],
47 [
"otsHostIP",
"HostIPAddress"],
48 [
"otsHostPort",
"HostPort"],
49 [
"ChAInEn",
"LogicInputChannelA"],
50 [
"ChBInEn",
"LogicInputChannelB"],
51 [
"ChCInEn",
"LogicInputChannelC"],
52 [
"ChDInEn",
"LogicInputChannelD"],
53 [
"ChEInEn",
"LogicInputChannelE"],
54 [
"ChFInEn",
"LogicInputChannelF"],
55 [
"ChGInEn",
"LogicInputChannelG"],
56 [
"ChHInEn",
"LogicInputChannelH"],
57 [
"useExtClk",
"UseExternalClock"],
58 [
"addressOffset",
"AddressOffset"],
59 [
"PrimaryCfg",
"PrimaryBoardConfig"],
60 [
"boardVersion",
"BoardVersion"],
61 [
"inMux1",
"InputMuxConfig"],
62 [
"outMux1",
"OutputMuxConfig"],
63 [
"OutputSourceOutput1",
"TriggerInputChannel1"],
64 [
"OutputSourceOutput2",
"TriggerInputChannel2"],
65 [
"ChAInInv",
"InvertPolarityInputChannelA"],
66 [
"ChBInInv",
"InvertPolarityInputChannelB"],
67 [
"ChCInInv",
"InvertPolarityInputChannelC"],
68 [
"ChDInInv",
"InvertPolarityInputChannelD"],
69 [
"ChEInInv",
"InvertPolarityInputChannelE"],
70 [
"ChFInInv",
"InvertPolarityInputChannelF"],
71 [
"ChGInInv",
"InvertPolarityInputChannelG"],
72 [
"ChHInInv",
"InvertPolarityInputChannelH"],
73 [
"ChADacEl1",
"DACValueChannelA"],
74 [
"ChBDacEl1",
"DACValueChannelB"],
75 [
"ChCDacEl1",
"DACValueChannelC"],
76 [
"ChDDacEl1",
"DACValueChannelD"],
77 [
"ChEDacEl1",
"DACValueChannelE"],
78 [
"ChFDacEl1",
"DACValueChannelF"],
79 [
"ChGDacEl1",
"DACValueChannelG"],
80 [
"ChHDacEl1",
"DACValueChannelH"],
81 [
"ChAOutMux",
"OutputMuxSelectChannelA"],
82 [
"ChBOutMux",
"OutputMuxSelectChannelB"],
83 [
"ChCOutMux",
"OutputMuxSelectChannelC"],
84 [
"ChDOutMux",
"OutputMuxSelectChannelD"],
85 [
"ChAOutInv",
"InvertPolarityOutputChannelA"],
86 [
"ChBOutInv",
"InvertPolarityOutputChannelB"],
87 [
"ChCOutInv",
"InvertPolarityOutputChannelC"],
88 [
"ChDOutInv",
"InvertPolarityOutputChannelD"],
89 [
"Sync1",
"ClockMaskSetup"],
90 [
"AccSync1",
"40MHzClockDelay"],
91 [
"EnableSync0",
"EnableClockMaskTriggerOutputChannel0"],
92 [
"EnableSync1",
"EnableClockMaskTriggerOutputChannel1"],
93 [
"EnableSync2",
"EnableClockMaskTriggerOutputChannel2"],
94 [
"VetoCount",
"TimeVetoTriggerOutputChannel0"],
95 [
"Veto1Count",
"TimeVetoTriggerOutputChannel1"],
96 [
"Veto2Count",
"TimeVetoTriggerOutputChannel2"],
97 [
"VetoSourceOutput0",
"VetoSourceTriggerOutputChannel0"],
98 [
"VetoSourceOutput1",
"VetoSourceTriggerOutputChannel1"],
99 [
"VetoSourceOutput2",
"VetoSourceTriggerOutputChannel2"],
100 [
"PsCount",
"PrescaleTriggerOutputChannel0"],
101 [
"PsCount1",
"PrescaleTriggerOutputChannel1"],
102 [
"PsCount2",
"PrescaleTriggerOutputChannel2"],
103 [
"SL0",
"CoincidenceLogicWord"],
104 [
"bkpEnableA",
"EnableBackPressureNwFmcPta1"],
105 [
"bkpEnableB",
"EnableBackPressureNwFmcPta2"],
106 [
"SGPulseCnt",
"SignalGeneratorPulseCount"],
107 [
"SGHighPer",
"SignalGeneratorHighPeriod"],
108 [
"SGLowPer",
"SignalGeneratorLowPeriod"],
109 [
"sigGenEn",
"SignalGeneratorEnable"],
110 [
"sigGenInv",
"SignalGeneratorInvertPolarity"],
111 [
"ChADelayEl",
"DelayInputChannelA"],
112 [
"ChAWidthEl",
"WidthInputChannelA"],
113 [
"ChBDelayEl",
"DelayInputChannelB"],
114 [
"ChBWidthEl",
"WidthInputChannelB"],
115 [
"ChCDelayEl",
"DelayInputChannelC"],
116 [
"ChCWidthEl",
"WidthInputChannelC"],
117 [
"ChDDelayEl",
"DelayInputChannelD"],
118 [
"ChDWidthEl",
"WidthInputChannelD"],
119 [
"ChEDelayEl",
"DelayInputChannelE"],
120 [
"ChEWidthEl",
"WidthInputChannelE"],
121 [
"ChFDelayEl",
"DelayInputChannelF"],
122 [
"ChFWidthEl",
"WidthInputChannelF"],
123 [
"ChGDelayEl",
"DelayInputChannelG"],
124 [
"ChGWidthEl",
"WidthInputChannelG"],
125 [
"ChHDelayEl",
"DelayInputChannelH"],
126 [
"ChHWidthEl",
"WidthInputChannelH"],
127 [
"ChSNDelayEl",
"DelayTriggerOutputChannel0"],
128 [
"ChSNWidthEl",
"WidthTriggerOutputChannel0"],
129 [
"ChSCMS1DelayEl",
"DelayTriggerOutputChannel1"],
130 [
"ChSCMS1WidthEl",
"WidthTriggerOutputChannel1"],
131 [
"ChSCMS2DelayEl",
"DelayTriggerOutputChannel2"],
132 [
"ChSCMS2WidthEl",
"WidthTriggerOutputChannel2"],
133 [
"triggerDelaySecs",
"SecondsDelayBeforeStartingTriggers"],
134 [
"ExtClkSel",
"ExternalClockSource"],
135 [
"bkpOutSel0",
"BackpressureTriggerOutputChannel0"],
136 [
"bkpOutSel1",
"BackpressureTriggerOutputChannel1"],
137 [
"bkpOutSel2",
"BackpressureTriggerOutputChannel2"],
138 [
"TMuxB1",
"TriggerMuxSelectionsBankB"],
139 [
"TMuxA1",
"TriggerMuxSelectionsBankA"],
140 [
"triggerFilename",
"TriggerCountAtRunStopFilename"],
141 [
"BurstEn",
"EnableBurstData"],
142 [
"BurstLogicDelay",
"BurstDataLogicSampleDelay"],
143 [
"BurstMuxSel",
"BurstDataMuxSelect"],
144 [
"BurstGateInputCh",
"BurstDataGateInputChannel"]
152 function savePageValues(e) {
153 if(modifiedList.length > 0){
154 if (invalidInput ==
false) {
163 if(writeFEInterfaceStatus ==
false){
164 console.log(
"Don't need to write to FEInterfaceTable, skipping that write.");
165 ConfigurationAPI.getFieldsOfRecords(
166 _subsetBasePath, selUID,
169 setNimFieldValuesForSave,
174 console.log(
"Need to write to FEInterfaceTable...");
175 ConfigurationAPI.getFieldsOfRecords(
176 "FEInterfaceTable", selUID,
179 setFEInterfaceStatusForSave,
187 document.getElementById(
"saveEl").innerHTML =
"Warning! Unable to save, some fields contain invalid values";
188 console.log(
"Warning! Textbox on page has invalid value, aborting save...")
189 console.log(
"Please check the following fields for possible invalid values (some might beSigNorm/ correct)");
190 Debug.log(
"NimPlus Configuration Changes NOT Saved, Invalid value(s) in fields", Debug.HIGH_PRIORITY);
191 console.log(modifiedList);
195 Debug.log(
"Error! No Changes to Save!", Debug.WARN_PRIORITY);
221 function setFEInterfaceStatusForSave(recFields){
223 var valsToWrite = [];
230 for (let a of recFields) {
231 if(a.fieldColumnName ==
"Status" && a.fieldRelativePath ==
"") {
233 valsToWrite.push(FEInterfaceStatusValue);
239 ogBoardState = FEInterfaceStatusValue;
243 ConfigurationAPI.setFieldValuesForRecords(
248 FEInterfaceToNIMPlusConfigWrite,
254 function FEInterfaceToNIMPlusConfigWrite(newModifiedTables){
255 _modifiedTables.push(newModifiedTables[0])
259 ConfigurationAPI.getFieldsOfRecords(
260 _subsetBasePath, selUID,
263 setNimFieldValuesForSave,
268 function setNimFieldValuesForSave(recFields) {
269 var valsToWrite = [];
280 for (let i of modifiedList) {
281 for (let a of recFields) {
282 if(a.fieldColumnName == i[0]) {
284 valsToWrite.push(i[1]);
295 ConfigurationAPI.setFieldValuesForRecords(
306 function saveNimTableDialog(newModifiedTables){
310 _modifiedTables = newModifiedTables.splice(0);
312 ConfigurationAPI.saveModifiedTables(
317 function activateNimTables(SavedTable,SavedGroup,SavedAlias){
318 for(let i of SavedGroup) {
319 ConfigurationAPI.activateGroup(i.groupName, i.groupKey,
false)
323 $(
"body").css(
"background-color",
"#43c130");
325 Debug.log(
"NimPlus Configuration Changes Saved to UID " + selUID[0], Debug.INFO_PRIORITY);
326 console.log(
"Page Values Saved");
327 console.log(modifiedList);
328 _modifiedTables = [];
329 writeFEInterfaceStatus =
false;
330 document.getElementById(
"saveEl").innerHTML =
"Save Successful!";
340 function syncMaskCalc(val,a) {
343 var l = syncArray.length;
344 for (var i = 0; i < l; i++) {
345 n |= ((syncArray[i]?1:0) << i)
349 $(
"#triggerSyncWord").val(n);
353 function inputMuxCalc(val,a) {
354 inputMuxArray[a]=val;
356 var l = inputMuxArray.length;
357 for (var i = 0; i < l; i++) {
358 n |= ((inputMuxArray[i]) << i*2)
361 console.log(inputMuxArray)
365 function outputMuxCalc(val,a) {
366 outputMuxArray[a]=val;
368 var l = outputMuxArray.length;
369 for (var i = 0; i < l; i++) {
370 n |= ((outputMuxArray[i]) << i*2)
373 console.log(outputMuxArray)
380 function accelMaskCalc(val,a) {
387 function LogicWordCalc(val,a) {
390 var l = logicArray.length;
391 for (var i = 0; i < l; i++) {
392 n = (n << 1) + (logicArray[i]?1:0);
399 function TMuxAWordCalc(val,a) {
400 tMuxAArray[0][a]=val;
401 return JSON.stringify(tMuxAArray);
405 function TMuxBWordCalc(val,a) {
406 tMuxBArray[0][a]=val;
407 return JSON.stringify(tMuxBArray);
412 function elByID(
id) {
413 e = document.getElementById(
id);
417 function valByID(
id) {
418 e = document.getElementById(
id);
423 function validInput(e) {
424 invalidInput =
false;
428 function invalidValue(e) {
433 function dwValidCheck(firstVal, secondValElId, msgElId) {
434 firstVal = parseInt(firstVal);
435 var secondVal = parseInt(document.getElementById(secondValElId).value);
436 if ((firstVal + secondVal) > 64) {
438 document.getElementById(msgElId).innerHTML =
"Invald Delay/Width Combination! Sum of Delay and Width should be <=64!";
439 $(
"#" + msgElId).css(
"background-color",
"red");
442 document.getElementById(msgElId).innerHTML =
"";
443 $(
"#" + msgElId).css(
"background-color",
"#eee");
444 invalidInput =
false;
450 function addModifiedList(tableVal, tableDat) {
452 $(
"body").css(
"background-color",
"#fcd125")
453 document.getElementById(
"saveEl").innerHTML =
"Unsaved Changes are Present";
455 var modifiedListNames = modifiedList.map(
function(value,index) {
return value[0]; });
457 existsAt = $.inArray(tableVal, modifiedListNames);
465 modifiedList.push([tableVal, tableDat]);
469 modifiedList[existsAt] = [tableVal,tableDat];
474 function FEInterfaceSetStatus(state){
478 FEInterfaceStatusValue = state;
479 if(state == ogBoardState)
480 writeFEInterfaceStatus =
false;
482 writeFEInterfaceStatus =
true;
492 function voltSlider(myValue, VoltElId, StepsElId) {
493 voltVal = (((10000 * ((myValue * (33 / 40950)))) + (((8 - (10000 * ((myValue * (33 / 40950)))) % 8)))) / 10000) - 0.0008;
494 document.getElementById(StepsElId).value = myValue;
495 document.getElementById(VoltElId).value = voltVal.toFixed(4);
496 invalidInput =
false;
501 function voltField(VoltElId, SlideElId, StepElId) {
502 clearTimeout(timeout);
503 timeout = setTimeout(
function () {
504 myValue = VoltElId.value;
505 newValue = (((10000 * myValue) + (((8 - (10000 * myValue) % 8)))) / 10000) - 0.0008;
506 document.getElementById(SlideElId).value = Math.round((40950000 * newValue / 33000));
507 document.getElementById(StepElId).value = Math.round((40950000 * newValue / 33000));
508 VoltElId.value = newValue.toFixed(4);
511 invalidInput =
false;
516 function voltSteps(myValue, VoltElId, SlideElId) {
517 voltVal = (((10000 * ((myValue * (33 / 40950)))) + (((8 - (10000 * ((myValue * (33 / 40950)))) % 8)))) / 10000) - 0.0008;
518 document.getElementById(SlideElId).value = (myValue);
519 document.getElementById(VoltElId).value = voltVal.toFixed(4)
520 invalidInput =
false;
523 function triggerSyncWordCalc(val){
524 clearTimeout(trigTimeout);
525 setTimeout(
function () {
526 for(bitCnt=0; bitCnt<=23; bitCnt++){
527 elByID(
"Sync"+(bitCnt+1).toString()).checked=((val>>(bitCnt)) % 2 != 0);
528 syncArray[bitCnt]=((val>>(bitCnt)) % 2 != 0);
539 $(document).ready(
function () {
542 $(
"body").css(
"background-color",
"#6b86ff")
548 $(
"#InChEnCtl").hide();
551 $(
"#BoardCfgCtl").hide();
557 $(
"#DWConfigCtl").hide();
560 $(
"#InMuxCtl").hide();
563 $(
"#OutMuxCtl").hide();
572 $(
"#SyncCtl").hide();
575 $(
"#VetoCtl").hide();
581 $(
"#SelLogCtl").hide();
587 $(
"#SigGenCtl").hide();
590 $(
"#ConnCtl").hide();
593 $(
"#BurstCtl").hide();
599 $(
"#InChEnCtlBtn").click(
function () {
600 $(
"#InChEnCtl").toggle(400);
603 $(
"#BoardCfgCtlBtn").click(
function () {
604 $(
"#BoardCfgCtl").toggle(400);
607 $(
"#DacCtlBtn").click(
function () {
608 $(
"#DacCtl").toggle(400);
611 $(
"#DWConfigBtn").click(
function () {
612 $(
"#DWConfigCtl").toggle(400);
615 $(
"#InMuxCtlBtn").click(
function () {
616 $(
"#InMuxCtl").toggle(400);
619 $(
"#OutMuxCtlBtn").click(
function () {
620 $(
"#OutMuxCtl").toggle(400);
631 $(
"#SyncCtlBtn").click(
function () {
632 $(
"#SyncCtl").toggle(400);
635 $(
"#VetoCtlBtn").click(
function () {
636 $(
"#VetoCtl").toggle(400);
639 $(
"#PsCtlBtn").click(
function () {
640 $(
"#PsCtl").toggle(400);
643 $(
"#SelLogCtlBtn").click(
function () {
644 $(
"#SelLogCtl").toggle(400);
647 $(
"#BkpCtlBtn").click(
function () {
648 $(
"#BkpCtl").toggle(400);
651 $(
"#SigGenCtlBtn").click(
function () {
652 $(
"#SigGenCtl").toggle(400);
655 $(
"#ConnCtlBtn").click(
function () {
656 $(
"#ConnCtl").toggle(400);
659 $(
"#BurstCtlBtn").click(
function () {
660 $(
"#BurstCtl").toggle(400);
665 $(
'.ip_address').mask(
'0ZZ.0ZZ.0ZZ.0ZZ', {translation: {
'Z': {pattern: /[0-9]/, optional:
true}}});
668 $(
'#triggerSyncWord').mask(
'ZZHHHHHHL', {
'translation': {
669 Z: {pattern: /[0x]/, optional:
true},
670 H: {pattern: /[A-Fa-f0-9]/},
671 L: {pattern: /[0-9]/}
676 var spinner = $(
"#triggerSyncWord" ).spinner({
680 $(
"#triggerSyncWord").on(
"spinstop",
function(){
681 triggerSyncWordCalc(this.value);
682 addModifiedList(
'AcceleratorClockMask',this.value);
688 ConfigurationAPI.getSubsetRecords(
702 function getNimUidsForList(nimUids) {
703 if (nimUids.length == 0) {
704 Debug.log(
"No NIMPlus UID's found", Debug.HIGH_PRIORITY);
715 $.each(nimUids,
function(val, text) {
716 $(
'#nimUIDSelect').append( $(
'<option></option>').val(text).html(text) )
717 $(
'#nimUIDToCopySelect').append( $(
'<option></option>').val(text).html(text) )
721 selUID = [nimUids[0]];
723 ConfigurationAPI.getFieldsOfRecords(
724 _subsetBasePath, selUID,
733 function getNimFieldsForPage(recFields){
736 ConfigurationAPI.getFieldValuesForRecords(
737 _subsetBasePath, selUID,
743 function getNimValuesForPage(recFields) {
750 for (let i of fieldList) {
751 for (let a of recFields) {
755 if(a.fieldPath.includes(i[1])) {
757 if(elByID(i[0]).type ==
"checkbox" && !a.fieldPath.includes(
"CoincidenceLogicWord") && !a.fieldPath.includes(
"TriggerClockMask") && !a.fieldPath.includes(
"AcceleratorClockMask"))
759 if(a.fieldValue ==
"Yes" || a.fieldValue ==
"True" || a.fieldValue ==
"On"){
760 elByID(i[0]).checked =
true;
764 elByID(i[0]).checked =
false;
768 else if(a.fieldPath.includes(
"CoincidenceLogicWord")){
769 for(bitCnt=0; bitCnt<=15; bitCnt++){
770 elByID(
"SL"+bitCnt.toString()).checked=((a.fieldValue>>(bitCnt)) % 2 != 0);
771 logicArray[bitCnt]=((a.fieldValue>>(15-bitCnt)) % 2 != 0);
776 else if(a.fieldPath.includes(
"TriggerClockMask")){
777 for(bitCnt=0; bitCnt<=23; bitCnt++){
781 elByID(
"Sync"+(bitCnt+1).toString()).checked=((a.fieldValue>>(bitCnt)) % 2 != 0);
782 syncArray[bitCnt]=((a.fieldValue>>(bitCnt)) % 2 != 0);
784 elByID(
"triggerSyncWord").value = a.fieldValue;
787 else if(a.fieldPath.includes(
"AcceleratorClockMask")){
788 for(bitCnt=0; bitCnt<=7; bitCnt++){
789 elByID(
"AccSync"+(bitCnt+1).toString()).checked=((a.fieldValue>>(bitCnt)) % 2 != 0);
790 accelMaskArray[bitCnt]=((a.fieldValue>>(bitCnt)) % 2 != 0);
794 else if(a.fieldPath.includes(
"Status")){
795 if(a.fieldValue ==
"Yes" || a.fieldValue ==
"True" || a.fieldValue ==
"On"){
797 elByID(i[0]).value =
"On";
801 ogBoardState =
"Off";
802 elByID(i[0]).value =
"Off";
806 else if(a.fieldPath.includes(
"TriggerMuxSelectionsBankA")){
807 loadMuxArr = JSON.parse(a.fieldValue);
809 elByID(
"TMuxA"+(k+1).toString()).value=loadMuxArr[0][k];
810 tMuxAArray[0][k]=loadMuxArr[0][k];
814 else if(a.fieldPath.includes(
"TriggerMuxSelectionsBankB")){
815 loadMuxArr = JSON.parse(a.fieldValue);
817 elByID(
"TMuxB"+(k+1).toString()).value=loadMuxArr[0][k];
818 tMuxBArray[0][k]=loadMuxArr[0][k];
823 else if(a.fieldPath.includes(
"InputMuxConfig")){
825 var muxWrd = a.fieldValue;
827 loadMuxArr[k]=(muxWrd & 3)
829 muxWrd = muxWrd >>> 2;
830 var currEL =
"inMux"+(k+1).toString()
832 elByID(currEL).value=loadMuxArr[k];
833 inputMuxArray[k]=loadMuxArr[k];
834 console.log(inputMuxArray);
838 else if(a.fieldPath.includes(
"OutputMuxConfig")){
841 var muxWrd = a.fieldValue;
843 loadMuxArr[k]=(muxWrd & 3)
845 muxWrd = muxWrd >>> 2;
846 var currEL =
"outMux"+(k+1).toString();
848 elByID(currEL).value=loadMuxArr[k];
849 outputMuxArray[k]=loadMuxArr[k];
850 console.log(outputMuxArray);
855 else if(elByID(i[0]).
id==
"ChADacEl1"){
856 voltSteps(a.fieldValue,
"ChADacEl2",
"ChADacEl0")
857 elByID(i[0]).value = a.fieldValue
860 else if(elByID(i[0]).
id=="ChBDacEl1"){
861 voltSteps(a.fieldValue,
"ChBDacEl2",
"ChBDacEl0")
862 elByID(i[0]).value = a.fieldValue
865 else if(elByID(i[0]).
id=="ChCDacEl1"){
866 voltSteps(a.fieldValue,
"ChCDacEl2",
"ChCDacEl0")
867 elByID(i[0]).value = a.fieldValue
870 else if(elByID(i[0]).
id=="ChDDacEl1"){
871 voltSteps(a.fieldValue,
"ChDDacEl2",
"ChDDacEl0")
872 elByID(i[0]).value = a.fieldValue
876 elByID(i[0]).value = a.fieldValue;
881 console.log(
"\n!!!_-_-_WARNING_-_-_!!!\n");
882 console.log(
"Exception occured while trying to set an element supposedly named " + i[0] +
" to the value of " + a.fieldValue +
" from the field " + a.fieldPath);
883 console.log(
"Incoming exception data...\n");
885 console.log(
"\n!!!_-_-_END WARNING_-_-_!!!\n");
889 else if(a.fieldPath.includes(
"EnableExpertWebappFeatures")){
890 if(a.fieldValue ==
"Yes"){
891 $(
"#SigGenBox").show()
894 $(
"#BurstBox").show()
897 $(
"#SigGenBox").hide()
900 $(
"#BurstBox").hide()
903 else if(a.fieldPath.includes(
"PrimaryBoardConfig")){
904 if(a.fieldValue ==
"True"){
905 $(
"#BoardCfgBox").show()
909 $(
"#BoardCfgBox").hide()
928 function getNimValuesOnUIDSelect(selValue) {
932 ConfigurationAPI.getFieldsOfRecords(
933 _subsetBasePath, selUID,