forked from M-Labs/web2019
sovanna
e025f66f3e
fix(place-order): Avoids colliding with page var feat(place-order): Adds drag(copy)/drop system Finally get this to work.. Still some minor issues while drag(copy)/drop This commit allows to drag(copy)/drop inside the crate. Allows to reorder the crate feat(place-order): Adds basic summary of shopping cart allows to delete item feat(place-order): Adds form also applies some cosmetcis css feat(place-order): Applies custom css to drag/drop process feat(place-order): Improves crate UI feat(place-order): Adds missing assets feat(place-order): Updates icon button add feat(place-order): Changes cart layout to increase space - moves up the control crate type (rack/desktop) - increase card size a bit - reduces some padding - adding some space above card title - re-organise react component to achieve this layout feat(place-order): Updates icon remove in summary price - uses icon instead of shitty html/css - re-organises react component fix(place-order): Reduces overlay gradient effect on the aside also increases padding-bottom to avoid overlay above content feat(place-order): Updates summary price layout feat(place-order): Updates CrateMode using data this avoid using hard text in component and also, adding crate mode in data.js will be helpful for other component too (e.g OrderSummary) feat(place-order): Adds crate mode in OrderSummary Allows to add fees to rack mode for exemple feat(place-order): Allows to delete all items in the crate at once feat(place-order): Updates typo uses currentMode instead of crateMode feat(place-order): Displays selection shadow on card when user hover delete button feat(place-order): Allows to add item to the crate feat(place-order): Corrects typo feat(place-order): Corrects layout for browser support feat(place-order): Adds first automatic rules this allows to test how things could be done feat(place-order): Allows to remove card when drop out of crate feat(place-order): Adds icon reminder to rules feat(place-order): Uses internal js production assets feat(place-order): Uses production file feat(place-order): Adds kali first as initialisation feat(place-order): Simulates slots in crate (desktop/rack) feat(place-order): Updates data that prepare for rules algo feat(place-order): Adds some rules feat(place-order): Removes rule 2kasli when no more kasli it's a fix feat(place-order): Corrects typo rules koster fix(place-order): Removes PWA prompt fix(place-order): Corrects size card inside crate refactor(place-order): Reduces padding between items in listing refactor(place-order): Uses USD currency feat(place-order): Upgrades algo for rules feat(place-order): Adds progress bar to kasli/kasli w/backplane feat(place-order): Refactores a bit rule handler feat(place-order): Adds all other rules fix(place-order): Corrects typo fix(place-order): Corrects count zotino/hd68 when IDC-BNC does not follow each others feat(place-order): Backups dev script call just in case For now, I can work with prod build even debugging production code feat(place-order): Adds super tooltip to progress bar feat(place-order): Adds tooltip for zotino/hd68 too refactor(place-order): Updates typo rule for Koster feat(place-order/WIP): Adds warning feat(place-order): Adds Mirny adds css changes from previous commit (i've forgotten) feat(place-order): Updates build feat(place-order): Set RJ45-DIO to occupy 2 EEMs feat(place-order): Make clocker progress bar visible It was hidden by horizontal scrollbar inside crate feat(place-order): Remove red warning for 2 kaslis following each other feat(place-order): Adds rule for cards that need a resource controller feat(place-order): Corrects typo, adds point to end of message feat(place-order): Changes idc-bnc info into a warning one feat(place-order): Moves down warning box feat(place-order): Updates some cosmetics css fix(place-order): Removes IDC-BNC from Kasli connectors count feat(place-order): Displays warning on hover warning icon feat(place-order): Updates design hover item in listing feat(place-order): Updates price estimate feat(place-order): Displays warning in summary feat(place-order): Allows to select item feat(place-order): Allows to send request quote through client email fix(place-order): Allows to click on remove inside summary list feat(place-order): Adds btn remove for each cards inside crate feat(place-order): Builds fix(place-order): Updates icon warning fix(place-order): Corrects recipient email address LOL, forgot to remove mine haha fix(place-order): Removes typo (kasli double) fix(place-order): Removes num from email title subject fix(place-order): Adds warning resources to mirny, zotino Also updates message text feat(place-order): Adds clocker counter feat(place-order): Uses warning for id68 instead of reminder feat(place-order): Adds crate type into the json feat(place-order): Adds btn order hardware in homepage refactor(place-order): Cleans a bit fix(place-order): Improves a bit ux remove item from crate fix(place-order): Improves a bit ux remove item from crate feat(place-order): Builds fix(place-order): Uses cursor pointer on remove button fix(place-order): Corrects card need a resources card chore(place-order): Removes call to ap.js fix(place-order): Tries with fixed height on warning icon fix(place-order): Adds fixed height to other element fix(place-order): Tries to remove up container height to let flex to its job fix(place-order): Removes .trim call which block multiline and augments row to 5 feat(place-order): Builds fix(place-order): Adds min-height for the crate
676 lines
18 KiB
JavaScript
676 lines
18 KiB
JavaScript
const shop_data = {
|
|
|
|
currentItemHovered: null,
|
|
currentMode: 'rack',
|
|
|
|
crateModeSlots: {
|
|
rack: 21,
|
|
desktop: 10,
|
|
},
|
|
|
|
crateRules: {
|
|
maxSlot: {
|
|
type: 'crate',
|
|
icon: '/shop/icon-reminder.svg',
|
|
name: 'Crate',
|
|
message: 'You have reach the maximum number of slots allowed for this crate. Consider removing cards.',
|
|
},
|
|
},
|
|
|
|
crateModeItems: [{
|
|
id: 'rack',
|
|
name: 'Rack mountable crate',
|
|
price: 1000,
|
|
currency: 'USD',
|
|
}, {
|
|
id: 'desktop',
|
|
name: 'Desktop crate',
|
|
price: 2000,
|
|
currency: 'USD',
|
|
}],
|
|
|
|
items: {
|
|
/* keys are also ids, avoid changing them */
|
|
'kasli': {
|
|
id: 'kasli',
|
|
name: 'Kasli',
|
|
price: 1000,
|
|
currency: 'USD',
|
|
image: '/shop/graphic-02_kasli.svg',
|
|
specs: [
|
|
'Artix 7 100T FPGA',
|
|
'4GB DDR3 SDRAM',
|
|
'128MB SPI Flash',
|
|
'3 SFP 6GB/s slots',
|
|
'1 SATA 6GB/s connector',
|
|
'Clock recovery and distribution',
|
|
'4 MMCX clock outputs',
|
|
'4 channel USB connectivity',
|
|
'I2C tree to EEMs via USB and FPGA',
|
|
'8 EEM connectors on board',
|
|
'4 EEM on backplane extension',
|
|
],
|
|
size: 'big',
|
|
type: 'kasli',
|
|
hp: 8,
|
|
nbrSlotMin: 0,
|
|
nbrSlotMax: 8,
|
|
nbrCurrentSlot: 0,
|
|
nbrClockMax: 4,
|
|
nbrCurrentClock: 0,
|
|
slotOccupied: 1,
|
|
clockOccupied: 0,
|
|
rules: {
|
|
maxSlot: {
|
|
type: 'kasli-max-slot',
|
|
icon: '/shop/icon-reminder.svg',
|
|
name: 'Kasli',
|
|
message: 'Add a backplane adapter to extend EEM connectors to 12 at an extra charge.',
|
|
},
|
|
maxSlotWarning: {
|
|
type: 'kasli-max-slot-warning',
|
|
icon: '/shop/icon-warning.svg',
|
|
name: 'Kasli',
|
|
message: 'Insufficient EEM connectors.',
|
|
},
|
|
maxClock: {
|
|
type: 'kasli-max-clock',
|
|
icon: '/shop/icon-reminder.svg',
|
|
name: 'Kasli',
|
|
message: 'Insufficient clock connectors. Kasli has at most 4 clock connections.',
|
|
},
|
|
maxClockWarning: {
|
|
type: 'kasli-max-clock-warning',
|
|
icon: '/shop/icon-warning.svg',
|
|
name: 'Kasli',
|
|
message: 'Insufficient clock connectors.',
|
|
},
|
|
follow: {
|
|
type: 'kasli-follow',
|
|
icon: '/shop/icon-reminder.svg',
|
|
name: 'Kasli',
|
|
message: 'Due to wiring constraints, a Kasli can only connect to EEM cards immediately at its right, without crossing another Kasli.',
|
|
},
|
|
},
|
|
},
|
|
'kasli-backplane': {
|
|
id: 'kasli-backplane',
|
|
name: 'Kasli',
|
|
price: 1000,
|
|
currency: 'USD',
|
|
image: '/shop/graphic-02_kasli-with-backplane.svg',
|
|
specs: [
|
|
'Artix 7 100T FPGA',
|
|
'4GB DDR3 SDRAM',
|
|
'128MB SPI Flash',
|
|
'3 SFP 6GB/s slots',
|
|
'1 SATA 6GB/s connector',
|
|
'Clock recovery and distribution',
|
|
'4 MMCX clock outputs',
|
|
'4 channel USB connectivity',
|
|
'I2C tree to EEMs via USB and FPGA',
|
|
'8 EEM connectors on board',
|
|
'4 EEM on backplane extension',
|
|
],
|
|
size: 'big',
|
|
type: 'kasli-backplane',
|
|
hp: 8,
|
|
nbrSlotMin: 0,
|
|
nbrSlotMax: 12,
|
|
nbrCurrentSlot: 0,
|
|
nbrClockMax: 4,
|
|
nbrCurrentClock: 0,
|
|
slotOccupied: 1,
|
|
clockOccupied: 0,
|
|
rules: {
|
|
maxSlot: {
|
|
type: 'kasli-wb-max-slot',
|
|
icon: '/shop/icon-reminder.svg',
|
|
name: 'Kasli w/backplane',
|
|
message: 'Insufficient EEM connectors.',
|
|
},
|
|
maxSlotWarning: {
|
|
type: 'kasli-wb-max-slot-warning',
|
|
icon: '/shop/icon-warning.svg',
|
|
name: 'Kasli',
|
|
message: 'Insufficient EEM connectors',
|
|
},
|
|
maxClock: {
|
|
type: 'kasli-wb-max-clock',
|
|
icon: '/shop/icon-reminder.svg',
|
|
name: 'Kasli w/backplane',
|
|
message: 'Insufficient clock connectors. Kasli has at most 4 clock connections.',
|
|
},
|
|
maxClockWarning: {
|
|
type: 'kasli-wb-max-clock-warning',
|
|
icon: '/shop/icon-warning.svg',
|
|
name: 'Kasli',
|
|
message: 'Insufficient clock connectors.',
|
|
},
|
|
follow: {
|
|
type: 'kasli-wb-follow',
|
|
icon: '/shop/icon-reminder.svg',
|
|
name: 'Kasli w/backplane',
|
|
message: 'Due to wiring constraints, a Kasli can only connect to EEM cards immediately at its right, without crossing another Kasli.',
|
|
},
|
|
},
|
|
},
|
|
'bnc-dio': {
|
|
id: 'bnc-dio',
|
|
name: 'BNC-DIO',
|
|
price: 1000,
|
|
currency: 'USD',
|
|
image: '/shop/graphic-02_BNC-DIO.svg',
|
|
specs: [
|
|
'Artix 7 100T FPGA',
|
|
'4GB DDR3 SDRAM',
|
|
'128MB SPI Flash',
|
|
'3 SFP 6GB/s slots',
|
|
'1 SATA 6GB/s connector',
|
|
'Clock recovery and distribution',
|
|
'4 MMCX clock outputs',
|
|
'4 channel USB connectivity',
|
|
'I2C tree to EEMs via USB and FPGA',
|
|
'8 EEM connectors on board',
|
|
'4 EEM on backplane extension',
|
|
],
|
|
size: 'big',
|
|
type: null,
|
|
hp: 8,
|
|
nbrSlotMin: 0,
|
|
nbrSlotMax: 0,
|
|
nbrClockMax: 0,
|
|
slotOccupied: 1,
|
|
clockOccupied: 0,
|
|
rules: {
|
|
resources: {
|
|
type: 'bnc-dio',
|
|
icon: '/shop/icon-warning.svg',
|
|
name: 'BNC-DIO',
|
|
message: 'This card needs a card that provides XXX connector (e.g. Kasli) at its left.',
|
|
},
|
|
},
|
|
},
|
|
'eem-octal': {
|
|
id: 'eem-octal',
|
|
name: 'SMA-DIO',
|
|
price: 1000,
|
|
currency: 'USD',
|
|
image: '/shop/graphic-02_EEM-Octal.svg',
|
|
specs: [
|
|
'Artix 7 100T FPGA',
|
|
'4GB DDR3 SDRAM',
|
|
'128MB SPI Flash',
|
|
'3 SFP 6GB/s slots',
|
|
'1 SATA 6GB/s connector',
|
|
'Clock recovery and distribution',
|
|
'4 MMCX clock outputs',
|
|
'4 channel USB connectivity',
|
|
'I2C tree to EEMs via USB and FPGA',
|
|
'8 EEM connectors on board',
|
|
'4 EEM on backplane extension',
|
|
],
|
|
size: 'small',
|
|
type: null,
|
|
hp: 4,
|
|
nbrSlotMin: 0,
|
|
nbrSlotMax: 0,
|
|
nbrClockMax: 0,
|
|
slotOccupied: 1,
|
|
clockOccupied: 0,
|
|
rules: {
|
|
resources: {
|
|
type: 'eem-octal',
|
|
icon: '/shop/icon-warning.svg',
|
|
name: 'SMA-DIO',
|
|
message: 'This card needs a card that provides XXX connector (e.g. Kasli) at its left.',
|
|
},
|
|
},
|
|
},
|
|
'eem-16x': {
|
|
id: 'eem-16x',
|
|
name: 'RJ45-DIO',
|
|
price: 1000,
|
|
currency: 'USD',
|
|
image: '/shop/graphic-02_EEM-16x.svg',
|
|
specs: [
|
|
'Artix 7 100T FPGA',
|
|
'4GB DDR3 SDRAM',
|
|
'128MB SPI Flash',
|
|
'3 SFP 6GB/s slots',
|
|
'1 SATA 6GB/s connector',
|
|
'Clock recovery and distribution',
|
|
'4 MMCX clock outputs',
|
|
'4 channel USB connectivity',
|
|
'I2C tree to EEMs via USB and FPGA',
|
|
'8 EEM connectors on board',
|
|
'4 EEM on backplane extension',
|
|
],
|
|
size: 'small',
|
|
type: null,
|
|
hp: 4,
|
|
nbrSlotMin: 0,
|
|
nbrSlotMax: 0,
|
|
nbrClockMax: 0,
|
|
slotOccupied: 2,
|
|
clockOccupied: 0,
|
|
rules: {
|
|
resources: {
|
|
type: 'eem-16x',
|
|
icon: '/shop/icon-warning.svg',
|
|
name: 'RJ45-DIO',
|
|
message: 'This card needs a card that provides XXX connector (e.g. Kasli) at its left.',
|
|
},
|
|
},
|
|
},
|
|
'urukul': {
|
|
id: 'urukul',
|
|
name: 'Urukul',
|
|
price: 1000,
|
|
currency: 'USD',
|
|
image: '/shop/graphic-02_Urukul.svg',
|
|
specs: [
|
|
'Artix 7 100T FPGA',
|
|
'4GB DDR3 SDRAM',
|
|
'128MB SPI Flash',
|
|
'3 SFP 6GB/s slots',
|
|
'1 SATA 6GB/s connector',
|
|
'Clock recovery and distribution',
|
|
'4 MMCX clock outputs',
|
|
'4 channel USB connectivity',
|
|
'I2C tree to EEMs via USB and FPGA',
|
|
'8 EEM connectors on board',
|
|
'4 EEM on backplane extension',
|
|
],
|
|
size: 'small',
|
|
type: 'urukul',
|
|
hp: 4,
|
|
nbrSlotMin: 0,
|
|
nbrSlotMax: 0,
|
|
nbrClockMax: 0,
|
|
slotOccupied: 2,
|
|
clockOccupied: 1,
|
|
rules: {
|
|
connectors: {
|
|
type: 'urukul',
|
|
icon: '/shop/icon-reminder.svg',
|
|
name: 'Urukul',
|
|
message: 'This configuration uses 2 EEM connectors as it is recommended. If you prefer to use 1 EEM connector, please inform us by leaving an additional note.',
|
|
},
|
|
resources: {
|
|
type: 'urukul',
|
|
icon: '/shop/icon-warning.svg',
|
|
name: 'Urukul',
|
|
message: 'This card needs a card that provides XXX connector (e.g. Kasli) at its left.',
|
|
},
|
|
},
|
|
},
|
|
'zotino': {
|
|
id: 'zotino',
|
|
name: 'Zotino',
|
|
price: 1000,
|
|
currency: 'USD',
|
|
image: '/shop/graphic-02_zotino.svg',
|
|
specs: [
|
|
'Artix 7 100T FPGA',
|
|
'4GB DDR3 SDRAM',
|
|
'128MB SPI Flash',
|
|
'3 SFP 6GB/s slots',
|
|
'1 SATA 6GB/s connector',
|
|
'Clock recovery and distribution',
|
|
'4 MMCX clock outputs',
|
|
'4 channel USB connectivity',
|
|
'I2C tree to EEMs via USB and FPGA',
|
|
'8 EEM connectors on board',
|
|
'4 EEM on backplane extension',
|
|
'4 EEM on backplane extension',
|
|
'4 EEM on backplane extension',
|
|
'4 EEM on backplane extension',
|
|
'4 EEM on backplane extension',
|
|
'4 EEM on backplane extension',
|
|
'4 EEM on backplane extension',
|
|
'4 EEM on backplane extension',
|
|
],
|
|
size: 'small',
|
|
type: 'zotino',
|
|
hp: 4,
|
|
nbrSlotMin: 0,
|
|
nbrSlotMax: 4,
|
|
nbrCurrentSlot: 0,
|
|
nbrClockMax: 0,
|
|
slotOccupied: 1,
|
|
clockOccupied: 0,
|
|
rules: {
|
|
maxSlot: {
|
|
type: 'zotino',
|
|
icon: '/shop/icon-reminder.svg',
|
|
name: 'Zotino',
|
|
message: 'Zotino has at most 4 IDC-BNC adapters.',
|
|
},
|
|
maxSlotWarning: {
|
|
type: 'zotino-max-slot-warning',
|
|
icon: '/shop/icon-warning.svg',
|
|
name: 'Zotino',
|
|
message: 'Insufficient connectors.',
|
|
},
|
|
resources: {
|
|
type: 'zotino',
|
|
icon: '/shop/icon-warning.svg',
|
|
name: 'Zotino',
|
|
message: 'This card needs a card that provides XXX connector (e.g. Kasli) at its left.',
|
|
},
|
|
},
|
|
},
|
|
'idc-bnc-adapter': {
|
|
id: 'idc-bnc-adapter',
|
|
name: 'IDC-BNC',
|
|
price: 1000,
|
|
currency: 'USD',
|
|
image: '/shop/graphic-02_IDC-BNC-adapter.svg',
|
|
specs: [
|
|
'Artix 7 100T FPGA',
|
|
'4GB DDR3 SDRAM',
|
|
'128MB SPI Flash',
|
|
'3 SFP 6GB/s slots',
|
|
],
|
|
size: 'big',
|
|
type: 'idc-bnc',
|
|
hp: 8,
|
|
nbrSlotMin: 0,
|
|
nbrSlotMax: 0,
|
|
nbrClockMax: 0,
|
|
slotOccupied: 1,
|
|
clockOccupied: 0,
|
|
rules: {
|
|
wrong: {
|
|
type: 'idc-bnc',
|
|
icon: '/shop/icon-warning.svg',
|
|
name: 'IDC-BNC',
|
|
message: 'Should be after a Zotino or a HD68-IDC or with another IDC-BNC.',
|
|
}
|
|
},
|
|
},
|
|
'hd68-idc-adapter': {
|
|
id:'hd68-idc-adapter',
|
|
name: 'HD68-IDC',
|
|
price: 1000,
|
|
currency: 'USD',
|
|
image: '/shop/graphic-02_HD68.svg',
|
|
specs: [
|
|
'Artix 7 100T FPGA',
|
|
'4GB DDR3 SDRAM',
|
|
'128MB SPI Flash',
|
|
'3 SFP 6GB/s slots',
|
|
'1 SATA 6GB/s connector',
|
|
'Clock recovery and distribution',
|
|
'4 MMCX clock outputs',
|
|
'4 channel USB connectivity',
|
|
'I2C tree to EEMs via USB and FPGA',
|
|
'8 EEM connectors on board',
|
|
'4 EEM on backplane extension',
|
|
],
|
|
size: 'small',
|
|
type: 'hd68',
|
|
hp: 4,
|
|
nbrSlotMin: 1,
|
|
nbrSlotMax: 4,
|
|
nbrCurrentSlot: 0,
|
|
nbrClockMax: 0,
|
|
slotOccupied: 1,
|
|
clockOccupied: 0,
|
|
rules: {
|
|
minAdapter: {
|
|
type: 'hd68-min-adapter',
|
|
icon: '/shop/icon-warning.svg',
|
|
name: 'HD68-IDC',
|
|
message: 'Need at least one IDC-BNC Adapter at its right.',
|
|
},
|
|
maxSlot: {
|
|
type: 'hd68-max-slot',
|
|
icon: '/shop/icon-reminder.svg',
|
|
name: 'HD68-IDC',
|
|
message: 'HD68-IDC has at most 4 IDC-BNC adapters.',
|
|
},
|
|
maxSlotWarning: {
|
|
type: 'hd68-max-slot-warning',
|
|
icon: '/shop/icon-warning.svg',
|
|
name: 'HD68-IDC',
|
|
message: 'Insufficient connectors.',
|
|
},
|
|
},
|
|
},
|
|
'novo': {
|
|
id: 'novo',
|
|
name: 'Novo',
|
|
price: 1000,
|
|
currency: 'USD',
|
|
image: '/shop/graphic-02_Novo.svg',
|
|
specs: [
|
|
'Artix 7 100T FPGA',
|
|
'4GB DDR3 SDRAM',
|
|
'128MB SPI Flash',
|
|
'3 SFP 6GB/s slots',
|
|
'1 SATA 6GB/s connector',
|
|
'Clock recovery and distribution',
|
|
'4 MMCX clock outputs',
|
|
'4 channel USB connectivity',
|
|
'I2C tree to EEMs via USB and FPGA',
|
|
'8 EEM connectors on board',
|
|
'4 EEM on backplane extension',
|
|
],
|
|
size: 'big',
|
|
type: 'novo',
|
|
hp: 8,
|
|
nbrSlotMin: 0,
|
|
nbrSlotMax: 0,
|
|
nbrClockMax: 0,
|
|
slotOccupied: 2,
|
|
clockOccupied: 0,
|
|
rules: {
|
|
connectors: {
|
|
type: 'novo',
|
|
icon: '/shop/icon-reminder.svg',
|
|
name: 'Novo',
|
|
message: 'This configuration uses 2 EEM connectors as it is recommended. If you prefer to use 1 EEM connector, please inform us by leaving an additional note.',
|
|
},
|
|
resources: {
|
|
type: 'novo',
|
|
icon: '/shop/icon-warning.svg',
|
|
name: 'Novo',
|
|
message: 'This card needs a card that provides XXX connector (e.g. Kasli) at its left.',
|
|
},
|
|
}
|
|
},
|
|
'koster': {
|
|
id: 'koster',
|
|
name: 'Koster',
|
|
price: 1000,
|
|
currency: 'USD',
|
|
image: '/shop/graphic-02_Koster.svg',
|
|
specs: [
|
|
'Artix 7 100T FPGA',
|
|
'4GB DDR3 SDRAM',
|
|
'128MB SPI Flash',
|
|
'3 SFP 6GB/s slots',
|
|
'1 SATA 6GB/s connector',
|
|
'Clock recovery and distribution',
|
|
'4 MMCX clock outputs',
|
|
'4 channel USB connectivity',
|
|
'I2C tree to EEMs via USB and FPGA',
|
|
'8 EEM connectors on board',
|
|
'4 EEM on backplane extension',
|
|
],
|
|
size: 'small',
|
|
type: 'koster',
|
|
hp: 4,
|
|
nbrSlotMin: 0,
|
|
nbrSlotMax: 0,
|
|
nbrClockMax: 0,
|
|
slotOccupied: 3,
|
|
clockOccupied: 0,
|
|
rules: {
|
|
connectors: {
|
|
type: 'koster',
|
|
icon: '/shop/icon-reminder.svg',
|
|
name: 'Koster',
|
|
message: 'This configuration uses 3 EEM connectors. If you prefer to use 1 or 2 EEM connectors, please inform us by leaving an additional note.',
|
|
},
|
|
resources: {
|
|
type: 'koster',
|
|
icon: '/shop/icon-warning.svg',
|
|
name: 'Koster',
|
|
message: 'This card needs a card that provides XXX connector (e.g. Kasli) at its left.',
|
|
},
|
|
}
|
|
},
|
|
'clocker': {
|
|
id: 'clocker',
|
|
name: 'Clocker',
|
|
price: 1000,
|
|
currency: 'USD',
|
|
image: '/shop/graphic-02_Clocker.svg',
|
|
specs: [
|
|
'Artix 7 100T FPGA',
|
|
'4GB DDR3 SDRAM',
|
|
'128MB SPI Flash',
|
|
'3 SFP 6GB/s slots',
|
|
'1 SATA 6GB/s connector',
|
|
'Clock recovery and distribution',
|
|
'4 MMCX clock outputs',
|
|
'4 channel USB connectivity',
|
|
'I2C tree to EEMs via USB and FPGA',
|
|
'8 EEM connectors on board',
|
|
'4 EEM on backplane extension',
|
|
],
|
|
size: 'small',
|
|
type: 'clocker',
|
|
hp: 4,
|
|
nbrSlotMin: 0,
|
|
nbrSlotMax: 0,
|
|
nbrClockMax: 6,
|
|
slotOccupied: 1,
|
|
clockOccupied: 1,
|
|
rules: {
|
|
maxClock: {
|
|
type: 'clocker-max-clock',
|
|
icon: '/shop/icon-reminder.svg',
|
|
name: 'Clocker',
|
|
message: 'Clocker has at most 6 clock connections.',
|
|
},
|
|
maxClockWarning: {
|
|
type: 'clocker-max-clock-warning',
|
|
icon: '/shop/icon-warning.svg',
|
|
name: 'Clocker',
|
|
message: 'Insufficient clock connectors.',
|
|
},
|
|
},
|
|
},
|
|
'stabiliser': {
|
|
id: 'stabiliser',
|
|
name: 'Stabilizer',
|
|
price: 1000,
|
|
currency: 'USD',
|
|
image: '/shop/graphic-02_Stabiliser.svg',
|
|
specs: [
|
|
'Artix 7 100T FPGA',
|
|
'4GB DDR3 SDRAM',
|
|
'128MB SPI Flash',
|
|
'3 SFP 6GB/s slots',
|
|
'1 SATA 6GB/s connector',
|
|
'Clock recovery and distribution',
|
|
'4 MMCX clock outputs',
|
|
'4 channel USB connectivity',
|
|
'I2C tree to EEMs via USB and FPGA',
|
|
'8 EEM connectors on board',
|
|
'4 EEM on backplane extension',
|
|
],
|
|
size: 'small',
|
|
type: null,
|
|
hp: 4,
|
|
nbrSlotMin: 0,
|
|
nbrSlotMax: 0,
|
|
nbrClockMax: 0,
|
|
slotOccupied: 1,
|
|
clockOccupied: 0,
|
|
},
|
|
'mirny': {
|
|
id: 'mirny',
|
|
name: 'Mirny',
|
|
price: 1000,
|
|
currency: 'USD',
|
|
image: '/shop/graphic-02_Mirny.svg',
|
|
specs: [
|
|
'Artix 7 100T FPGA',
|
|
'4GB DDR3 SDRAM',
|
|
'128MB SPI Flash',
|
|
'3 SFP 6GB/s slots',
|
|
'1 SATA 6GB/s connector',
|
|
'Clock recovery and distribution',
|
|
'4 MMCX clock outputs',
|
|
'4 channel USB connectivity',
|
|
'I2C tree to EEMs via USB and FPGA',
|
|
'8 EEM connectors on board',
|
|
'4 EEM on backplane extension',
|
|
],
|
|
size: 'small',
|
|
type: null,
|
|
hp: 4,
|
|
nbrSlotMin: 0,
|
|
nbrSlotMax: 0,
|
|
nbrClockMax: 0,
|
|
slotOccupied: 1,
|
|
clockOccupied: 1,
|
|
rules: {
|
|
resources: {
|
|
type: 'mirny',
|
|
icon: '/shop/icon-warning.svg',
|
|
name: 'Mirny',
|
|
message: 'This card needs a card that provides XXX connector (e.g. Kasli) at its left.',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
columns: {
|
|
/***
|
|
* backlog is the column containing all items on left aside,
|
|
* name should not change
|
|
*/
|
|
'backlog': {
|
|
id: 'backlog',
|
|
title: 'Backlog',
|
|
/* itemIds define items order - change order to suit your need */
|
|
itemIds: [
|
|
'kasli',
|
|
'kasli-backplane',
|
|
'bnc-dio',
|
|
'eem-octal',
|
|
'eem-16x',
|
|
'urukul',
|
|
'zotino',
|
|
'idc-bnc-adapter',
|
|
'hd68-idc-adapter',
|
|
'novo',
|
|
'koster',
|
|
'clocker',
|
|
'stabiliser',
|
|
'mirny'
|
|
],
|
|
},
|
|
|
|
'cart': {
|
|
id: 'cart',
|
|
title: 'Cart',
|
|
items: [],
|
|
itemsData: {},
|
|
},
|
|
|
|
},
|
|
|
|
rules: {},
|
|
|
|
};
|
|
|
|
|
|
window.shop_data = shop_data;
|