diff --git a/public/index.html b/public/index.html index 8e05894..3e8edbf 100644 --- a/public/index.html +++ b/public/index.html @@ -30,6 +30,10 @@
family:
datasheet:
page:
+ + + +
distributorskupage
diff --git a/public/partdb.js b/public/partdb.js index d1f5ef1..e41fa1a 100644 --- a/public/partdb.js +++ b/public/partdb.js @@ -79,6 +79,30 @@ function select() a.href = part[field]; } } + // set distributors + const distributors = document.getElementById('distributors'); + distributors.innerHTML = null; + for (const distributor of part["distributors"]) { + const tr = document.createElement('tr'); + const td_name = document.createElement('td'); + td_name.innerText = distributor.name; + tr.appendChild(td_name); + const td_sku = document.createElement('td'); + const input = document.createElement('input'); + input.type = "text"; + input.style.width = "95%"; + if (distributor.sku) { + input.value = distributor.sku; + } + td_sku.appendChild(input); + tr.appendChild(td_sku); + const td_url = document.createElement('td'); + if (distributor.url) { + td_url.innerHTML = "link"; + } + tr.appendChild(td_url); + distributors.appendChild(tr); + } } } } diff --git a/server.rb b/server.rb index 0cbb959..951c322 100755 --- a/server.rb +++ b/server.rb @@ -76,6 +76,22 @@ def get_part_by_id(id) part[k] ||= v end end + # add all distributors + distributors = @db.query("SELECT * FROM distributor").to_a + statement = @db.prepare("SELECT * FROM distribution WHERE part = ?") + distributions = statement.execute(id).to_a + distributors.each do |distributor| + distributions.each do |distribution| + if distribution["distributor"] == distributor["id"] then + distributor["sku"] = distribution["sku"] + distributor["url"] = distributor["product_page"].gsub("%s", distribution["sku"]) + end + end + distributor.delete("id") + distributor.delete("homepage") + distributor.delete("product_page") + end + part["distributors"] = distributors # clean up delete = ["parent"] delete.each do |k|