-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path404.html
More file actions
124 lines (98 loc) · 3.98 KB
/
404.html
File metadata and controls
124 lines (98 loc) · 3.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<!DOCTYPE html>
<html>
<link rel="stylesheet" href="404.css">
<link rel="stylesheet" href="style.css">
<!-- <link rel="stylesheet" href="/404.css">
<link rel="stylesheet" href="/style.css"> -->
<head>
<meta charset="utf-8"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<title>CV2 Chip lookup</title>
</head>
<body>
<div id='main'>
</div>
</body>
<script>
async function fetchCV2() {
var resp = await fetch('https://raw.githubusercontent.com/tyleo-rec/CircuitsV2Resources/master/misc/circuitsv2.json')
var data = await resp.json()
return data
}
async function main() {
if ( location.href.includes('chip') ) {
const cv2 = await fetchCV2()
var keys = Object.keys(cv2.Nodes)
console.log(cv2)
console.log(keys)
var path = location.href.indexOf('chip');
var requested_chip = location.href.split('/').filter(x => x != '').at(-1)
console.log(requested_chip)
for (var i = 0; i < keys.length; i++) {
var chip = cv2.Nodes[keys[i]]
// If the requested element has been found
if (chip.ReadonlyName.toLowerCase().split(' ').join('-') == requested_chip.toLowerCase()) {
var container = document.createElement('div')
var chip_preview = document.createElement('div')
var inputs = document.createElement('div')
var outputs = document.createElement('div')
var title = document.createElement('p')
var desc_title = document.createElement('p')
var desc = document.createElement('p')
title.textContent = chip.ReadonlyName
desc_title.textContent = "Description"
desc.textContent = chip.Description
title.className = 'title'
desc_title.className = 'desc_title'
desc.className = 'desc'
container.className = 'clickable container'
chip_preview.className = 'clickable chip-large-preview'
inputs.className = 'clickable output-port'
outputs.className = 'clickable input-port'
var input_ports = chip.NodeDescs[0].Inputs;
var output_ports = chip.NodeDescs[0].Outputs;
input_ports.forEach(elem => {
let input_port = document.createElement('div')
let name = elem.ReadonlyType.split(' ').join('-').replace('<','-').replace('>','').toLowerCase()
let tooltip = elem.ReadonlyType
if (name == 't') { tooltip = chip.NodeDescs[0].ReadonlyTypeParams['T'] }
input_port.className = 'clickable chip-port chip-type-' + name
let chip_tooltip = document.createElement('div')
let chip_tooltip_text = document.createElement('p')
chip_tooltip.classList.add('chip-port-tooltip')
chip_tooltip_text.textContent = tooltip
chip_tooltip.append(chip_tooltip_text)
input_port.append(chip_tooltip)
inputs.append(input_port)
});
output_ports.forEach(elem => {
let output_port = document.createElement('div')
let name = elem.ReadonlyType.split(' ').join('-').replace('<','-').replace('>','').toLowerCase()
let tooltip = elem.ReadonlyType
if (name == 't') { tooltip = chip.NodeDescs[0].ReadonlyTypeParams['T'] }
output_port.className = 'clickable chip-port chip-type-' + name
let chip_tooltip = document.createElement('div')
let chip_tooltip_text = document.createElement('p')
chip_tooltip.classList.add('chip-port-tooltip')
chip_tooltip_text.textContent = tooltip
chip_tooltip.append(chip_tooltip_text)
output_port.append(chip_tooltip)
outputs.append(output_port)
});
container.append(title)
container.append(desc_title)
container.append(desc)
container.append(chip_preview)
chip_preview.append(inputs)
chip_preview.append(outputs)
$('#main:first').append(container)
break;
}
}
} else {
console.log(location.href)
}
}
main()
</script>
</html>