From d3e4edd3c83e668ddc6e3b8d8aa74d276b8abadb Mon Sep 17 00:00:00 2001 From: Josh Varga Date: Fri, 5 Jan 2024 03:35:52 -0600 Subject: [PATCH 1/5] Removing jQuery from and cleaning up HexBinDec.vue (#245) * Removing jQuery from and cleaning up HexBinDec.vue * Update HexBinDec.vue per review * Format HexBinDec.vue with Prettier * Update src/components/DialogBox/HexBinDec.vue Co-authored-by: Arnabdaz <96580571+Arnabdaz@users.noreply.github.com> * Updates per review --------- Co-authored-by: Arnabdaz <96580571+Arnabdaz@users.noreply.github.com> --- src/components/DialogBox/HexBinDec.vue | 189 ++++++++++++++++++------- src/simulator/src/utils.js | 69 +-------- src/simulator/src/ux.js | 59 -------- 3 files changed, 138 insertions(+), 179 deletions(-) diff --git a/src/components/DialogBox/HexBinDec.vue b/src/components/DialogBox/HexBinDec.vue index 5fc55df9..86c89f4e 100644 --- a/src/components/DialogBox/HexBinDec.vue +++ b/src/components/DialogBox/HexBinDec.vue @@ -5,7 +5,7 @@ > -

Hex-Bin-Dec Convertor

+

Hex-Bin-Dec Converter

mdi-close
- +


@@ -42,95 +42,178 @@
+ + + +

Hex-Bin-Dec Converter

+ + mdi-close + +
+ +
+ +

+
+
+ + + Reset + + +
+
- - diff --git a/src/simulator/src/utils.js b/src/simulator/src/utils.js index 6549edfd..9d6a32b9 100644 --- a/src/simulator/src/utils.js +++ b/src/simulator/src/utils.js @@ -216,20 +216,8 @@ export function truncateString(str, num) { } export function bitConverterDialog() { - console.log('Open dialog box') - const simulatorStore = SimulatorStore() - simulatorStore.dialogBox.hex_bin_dec_converter_dialog = true - console.log(simulatorStore.dialogBox.hex_bin_dec_converter_dialog) - // $('#bitconverterprompt').dialog({ - // buttons: [ - // { - // text: 'Reset', - // click: function () { - // setBaseValues(0) - // }, - // }, - // ], - // }) + const simulatorStore = SimulatorStore(); + simulatorStore.dialogBox.hex_bin_dec_converter_dialog = true; } export function getImageDimensions(file) { @@ -250,15 +238,6 @@ export var convertors = { dec2bcd: (x) => parseInt(x.toString(10), 16).toString(2), } -export function setBaseValues(x) { - if (isNaN(x)) return - $('#binaryInput').val(convertors.dec2bin(x)) - $('#bcdInput').val(convertors.dec2bcd(x)) - $('#octalInput').val(convertors.dec2octal(x)) - $('#hexInput').val(convertors.dec2hex(x)) - $('#decimalInput').val(x) -} - export function parseNumber(num) { if (num instanceof Number) return num if (num.slice(0, 2).toLocaleLowerCase() == '0b') @@ -269,50 +248,6 @@ export function parseNumber(num) { return parseInt(num) } -export function setupBitConvertor() { - console.log('check bit convertor') - $('#decimalInput').on('keyup', function () { - var x = parseInt($('#decimalInput').val(), 10) - setBaseValues(x) - }) - - $('#binaryInput').on('keyup', function () { - var inp = $('#binaryInput').val() - var x - if (inp.slice(0, 2) == '0b') x = parseInt(inp.slice(2), 2) - else x = parseInt(inp, 2) - setBaseValues(x) - }) - $('#bcdInput').on('keyup', function () { - var input = $('#bcdInput').val() - var num = 0 - while (input.length % 4 !== 0) { - input = '0' + input - } - if (input !== 0) { - var i = 0 - while (i < input.length / 4) { - if (parseInt(input.slice(4 * i, 4 * (i + 1)), 2) < 10) - num = - num * 10 + parseInt(input.slice(4 * i, 4 * (i + 1)), 2) - else return setBaseValues(NaN) - i++ - } - } - return setBaseValues(x) - }) - - $('#hexInput').on('keyup', function () { - var x = parseInt($('#hexInput').val(), 16) - setBaseValues(x) - }) - - $('#octalInput').on('keyup', function () { - var x = parseInt($('#octalInput').val(), 8) - setBaseValues(x) - }) -} - export function promptFile(contentType, multiple) { var input = document.createElement('input') input.type = 'file' diff --git a/src/simulator/src/ux.js b/src/simulator/src/ux.js index f01bdcee..9d61a4dc 100644 --- a/src/simulator/src/ux.js +++ b/src/simulator/src/ux.js @@ -22,7 +22,6 @@ import { setProjectName, getProjectName } from './data/save' import { changeScale } from './canvasApi' import { generateImage, generateSaveData } from './data/save' import { setupVerilogExportCodeWindow } from './verilog' -import { setupBitConvertor } from './utils' import { updateTestbenchUI, setupTestbenchUI } from './testbench' import { applyVerilogTheme } from './Verilog2CV' import { dragging } from './drag' @@ -184,7 +183,6 @@ export function setupUI() { // $('#moduleProperty').draggable(); setupPanels() // setupVerilogExportCodeWindow() - setupBitConvertor() } /** @@ -631,63 +629,6 @@ export function deleteSelected() { updateRestrictedElementsInScope() } -/** - * listener for opening the prompt for bin conversion - * @category ux - */ -$('#bitconverter').on('click', () => { - console.log('something clicked') - $('#bitconverterprompt').dialog({ - resizable: false, - buttons: [ - { - text: 'Reset', - click() { - $('#decimalInput').val('0') - $('#binaryInput').val('0') - $('#octalInput').val('0') - $('#hexInput').val('0') - }, - }, - ], - }) -}) - -// convertors -const convertors = { - dec2bin: (x) => `0b${x.toString(2)}`, - dec2hex: (x) => `0x${x.toString(16)}`, - dec2octal: (x) => `0${x.toString(8)}`, -} - -function setBaseValues(x) { - if (isNaN(x)) return - $('#binaryInput').val(convertors.dec2bin(x)) - $('#octalInput').val(convertors.dec2octal(x)) - $('#hexInput').val(convertors.dec2hex(x)) - $('#decimalInput').val(x) -} - -$('#decimalInput').on('keyup', () => { - var x = parseInt($('#decimalInput').val(), 10) - setBaseValues(x) -}) - -$('#binaryInput').on('keyup', () => { - var x = parseInt($('#binaryInput').val(), 2) - setBaseValues(x) -}) - -$('#hexInput').on('keyup', () => { - var x = parseInt($('#hexInput').val(), 16) - setBaseValues(x) -}) - -$('#octalInput').on('keyup', () => { - var x = parseInt($('#octalInput').val(), 8) - setBaseValues(x) -}) - export function setupPanels() { // $('#dragQPanel') // .on('mousedown', () => From c9fba5224cde222dcba9a42d73ac050d813441c0 Mon Sep 17 00:00:00 2001 From: Josh Varga Date: Fri, 5 Jan 2024 12:05:15 -0600 Subject: [PATCH 2/5] Fixing event leak (#247) --- src/simulator/src/ux.js | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/src/simulator/src/ux.js b/src/simulator/src/ux.js index 9d61a4dc..aae20e3a 100644 --- a/src/simulator/src/ux.js +++ b/src/simulator/src/ux.js @@ -249,35 +249,23 @@ export function objectPropertyAttributeCheckedUpdate() { } export function checkPropertiesUpdate(value = 0) { - // console.log('update check') - + $('.objectPropertyAttribute').off( + 'change keyup paste click', + objectPropertyAttributeUpdate + ) $('.objectPropertyAttribute').on( 'change keyup paste click', objectPropertyAttributeUpdate ) + $('.objectPropertyAttributeChecked').off( + 'change keyup paste click', + objectPropertyAttributeCheckedUpdate + ) $('.objectPropertyAttributeChecked').on( 'change keyup paste click', objectPropertyAttributeCheckedUpdate ) - - //Duplicate of above (Handled above) - // $('.objectPropertyAttributeChecked').on('click', function () { - // if (this.name !== 'toggleLabelInLayoutMode') return // Hack to prevent toggleLabelInLayoutMode from toggling twice - // scheduleUpdate() - // updateCanvasSet(true) - // wireToBeCheckedSet(1) - // if ( - // simulationArea.lastSelected && - // simulationArea.lastSelected[this.name] - // ) { - // simulationArea.lastSelected[this.name](this.value) - // // Commented out due to property menu refresh bug - // // prevPropertyObjSet(simulationArea.lastSelected[this.name](this.value)) || prevPropertyObjGet(); - // } else { - // circuitProperty[this.name](this.checked) - // } - // }) } /** From f7b9d69780a00c43fbdff6140bb18280aa118cda Mon Sep 17 00:00:00 2001 From: Niladri Adhikary <91966855+niladrix719@users.noreply.github.com> Date: Sat, 6 Jan 2024 15:17:39 +0530 Subject: [PATCH 3/5] feat: added dragability for the circuit elements in panel (#250) --- src/components/Panels/ElementsPanel/ElementsPanel.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/Panels/ElementsPanel/ElementsPanel.vue b/src/components/Panels/ElementsPanel/ElementsPanel.vue index f1b36f58..7c5687f7 100644 --- a/src/components/Panels/ElementsPanel/ElementsPanel.vue +++ b/src/components/Panels/ElementsPanel/ElementsPanel.vue @@ -35,6 +35,7 @@ :title="element.label" class="icon logixModules" @click="createElement(element.name)" + @mousedown="createElement(element.name)" @mouseover="getTooltipText(element.name)" @mouseleave="tooltipText = 'null'" > @@ -74,6 +75,7 @@ :title="element.label" class="icon logixModules" @click="createElement(element.name)" + @mousedown="createElement(element.name)" @mouseover="getTooltipText(element.name)" @mouseleave="tooltipText = 'null'" > From b77fdb2ec66fc48641025eb739c50bdc32fd231b Mon Sep 17 00:00:00 2001 From: Vatsal Nadkarni <62395456+Yarlord@users.noreply.github.com> Date: Sat, 6 Jan 2024 20:11:04 +0530 Subject: [PATCH 4/5] feat: fixed printing bool tables (#227) * feat: fixed printing bool tables * Update src/components/DialogBox/CombinationalAnalysis.vue --------- Co-authored-by: Arnabdaz <96580571+Arnabdaz@users.noreply.github.com> --- src/components/DialogBox/BooleanTable.vue | 2 +- src/components/DialogBox/CombinationalAnalysis.vue | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/components/DialogBox/BooleanTable.vue b/src/components/DialogBox/BooleanTable.vue index 925ccc6e..f31f67bf 100644 --- a/src/components/DialogBox/BooleanTable.vue +++ b/src/components/DialogBox/BooleanTable.vue @@ -1,6 +1,6 @@