diff --git a/package-lock.json b/package-lock.json index 77875ba..cb9ec6e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,9 +7,6 @@ "": { "name": "m-labs-zola", "version": "1.0.0", - "dependencies": { - "json-logic-js": "^2.0.2" - }, "devDependencies": { "@babel/cli": "^7.22.6", "@babel/core": "^7.22.8", @@ -20,6 +17,7 @@ "babel-preset-minify": "^0.5.2", "bootstrap": "^5.3.0", "jquery": "^3.7.0", + "json-logic-js": "^2.0.2", "prop-types": "^15.8.1", "react": "^18.2.0", "react-beautiful-dnd": "^13.1.1", @@ -3661,7 +3659,8 @@ "node_modules/json-logic-js": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/json-logic-js/-/json-logic-js-2.0.2.tgz", - "integrity": "sha512-ZBtBdMJieqQcH7IX/LaBsr5pX+Y5JIW+EhejtM3Ffg2jdN9Iwf+Ht6TbHnvAZ/YtwyuhPaCBlnvzrwVeWdvGDQ==" + "integrity": "sha512-ZBtBdMJieqQcH7IX/LaBsr5pX+Y5JIW+EhejtM3Ffg2jdN9Iwf+Ht6TbHnvAZ/YtwyuhPaCBlnvzrwVeWdvGDQ==", + "dev": true }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", diff --git a/static/images/shop/icon-customize.svg b/static/images/shop/icon-customize.svg index cee836b..43a4c44 100644 --- a/static/images/shop/icon-customize.svg +++ b/static/images/shop/icon-customize.svg @@ -1,47 +1 @@ - - + diff --git a/static/js/shop_components.jsx b/static/js/shop_components.jsx index 4e6c154..a63e691 100644 --- a/static/js/shop_components.jsx +++ b/static/js/shop_components.jsx @@ -318,6 +318,7 @@ export function CustomizeData({id, data}) { return (
diff --git a/static/js/shop_data.js b/static/js/shop_data.js index 6dcfbeb..b645a62 100644 --- a/static/js/shop_data.js +++ b/static/js/shop_data.js @@ -83,8 +83,7 @@ const shop_data = { ], null ] - }, - null + } ], rules: { maxSlot: { @@ -166,8 +165,7 @@ const shop_data = { ], null ] - }, - null + } ], rules: { maxSlot: { @@ -285,8 +283,8 @@ const shop_data = { slotOccupied: 1, clockOccupied: 0, options: [ - {type: "Switch", args: {title: "Output upper bank", outvar: "upper_bank"}}, - {type: "Switch", args: {title: "Output lower bank", outvar: "lower_bank", fallback: true}} + {type: "Switch", args: {title: "Output first group", outvar: "out_first_group"}}, + {type: "Switch", args: {title: "Output second group", outvar: "out_second_group", fallback: true}} ], rules: { resources: { @@ -310,8 +308,8 @@ const shop_data = { datasheet_file: '/docs/sinara-datasheets/2118-2128.pdf', datasheet_name: '2118/2128 BNC/SMA-TTL datasheet', options: [ - {type: "Switch", args: {title: "Output upper bank", outvar: "upper_bank"}}, - {type: "Switch", args: {title: "Output lower bank", outvar: "lower_bank", fallback: true}} + {type: "Switch", args: {title: "Output first group", outvar: "out_first_group"}}, + {type: "Switch", args: {title: "Output second group", outvar: "out_second_group", fallback: true}} ], size: 'small', type: null, @@ -346,6 +344,12 @@ const shop_data = { ], datasheet_file: '/docs/sinara-datasheets/2238.pdf', datasheet_name: '2238 MCX-TTL datasheet', + options: [ + {type: "Switch", args: {title: "Output first group", outvar: "out_first_group"}}, + {type: "Switch", args: {title: "Output second group", outvar: "out_second_group", fallback: true}}, + {type: "Switch", args: {title: "Output third group", outvar: "out_third_group", fallback: true}}, + {type: "Switch", args: {title: "Output fourth group", outvar: "out_fourth_group", fallback: true}} + ], size: 'small', type: null, hp: 4, @@ -416,6 +420,30 @@ const shop_data = { ], datasheet_file: '/docs/sinara-datasheets/4410-4412.pdf', datasheet_name: '4410/4412 Urukul datasheet', + options: [ + {type: "Switch", args: {title: "AD9912 instead of AD9910", outvar: "ad9912"}}, + { + "if": [ + {"var": "ad9912"}, + [ + {type: "SwitchLine", args: {title: "Ext CLK", outvar: "ext_clk", fallback: {text: "125 MHz", checked: false}}}, + ], + [ + {type: "Switch", args: {title: "Synchronization", outvar: "sync"}}, + { + "if": [ + {"var": "sync"}, + null, + [ + {type: "SwitchLine", args: {title: "Ext CLK", outvar: "ext_clk", fallback: {text: "125 MHz", checked: false}}}, + {type: "Switch", args: {title: "SUServo mode", outvar: "suservo"}} + ] + ] + } + ] + ] + } + ], size: 'small', type: 'urukul', hp: 4, @@ -461,6 +489,9 @@ const shop_data = { 'Internal MMCX clock from Kasli/Clocker and external SMA.', 'The upconverter is optional, if you would like the baseband version please leave us a note.' ], + options: [ + {type: "SwitchLine", args: {title: "Ext CLK", outvar: "ext_clk", fallback: {text: "125 MHz", checked: false}}} + ], size: 'small', type: 'urukul', hp: 4, @@ -714,6 +745,9 @@ const shop_data = { 'Full-scale input ranges between +-10mV and +-10V.', 'Supports SU-Servo laser intensity stabilization servo in conjunction with Urukul.' ], + options: [ + {type: "Switch", args: {title: "SUServo mode", outvar: "suservo"}} + ], size: 'big', type: 'novo', hp: 8, @@ -788,6 +822,9 @@ const shop_data = { 'Frequency up to 1GHz.', 'Low jitter <100fs RMS.' ], + options: [ + {type: "Switch", args: {title: "Ext CLK", outvar: "ext_clk"}} + ], size: 'small', type: 'clocker', hp: 4, @@ -850,6 +887,9 @@ const shop_data = { 'Lower jitter and phase noise.', 'Large frequency changes take several milliseconds.', ], + options: [ + {type: "SwitchLine", args: {title: "Ext CLK", outvar: "ext_clk", fallback: {text: "125 MHz", checked: false}}} + ], size: 'small', type: null, hp: 4, @@ -879,6 +919,9 @@ const shop_data = { 'Additional 4 channels up to 12 GHz.', 'Each Almazny channel outputs twice the frequency of its corresponding Mirny channel.', ], + options: [ + {type: "SwitchLine", args: {title: "Ext CLK", outvar: "ext_clk", fallback: {text: "125 MHz", checked: false}}} + ], size: 'big', type: null, hp: 8,