MCPcopy Create free account
hub / github.com/alefore/knit / setValuesFromHash

Method setValuesFromHash

src/inputs.ts:29–82  ·  view source on GitHub ↗
(parsedHash: URLSearchParams)

Source from the content-addressed store, hash-verified

27 }
28
29 setValuesFromHash(parsedHash: URLSearchParams): void {
30 const input = this;
31
32 const tr = document.createElement('tr');
33 tr.id = 'tr' + this.id();
34 input.tr = tr;
35
36 const nameTd = document.createElement('td');
37 nameTd.className = 'name';
38 nameTd.textContent = this.name;
39 tr.appendChild(nameTd);
40
41 const rawValue = parsedHash.get(this.nameCamelCase());
42 const defaultValue = rawValue ?? this.defaultValue;
43
44 if (this.selectValues == null) {
45 const td = document.createElement('td');
46 const inputElement = document.createElement('input');
47 inputElement.id = this.id();
48 inputElement.title = this.tooltip;
49 inputElement.value = String(defaultValue);
50 inputElement.size = 4;
51 inputElement.addEventListener(eventIds.input, () => input.listener.notify());
52 input.formInput = inputElement;
53 td.appendChild(inputElement);
54 tr.appendChild(td);
55 } else {
56 const td = document.createElement('td');
57 const selectElement = document.createElement('select');
58 selectElement.id = this.id();
59 this.selectValues.forEach((id) => {
60 const option = document.createElement('option');
61 option.value = id;
62 option.textContent = id;
63 selectElement.appendChild(option);
64 });
65
66 selectElement.value =
67 this.selectValues.includes(String(defaultValue)) ?
68 String(defaultValue) :
69 String(this.defaultValue);
70 selectElement.addEventListener(eventIds.input, () => input.listener.notify());
71 input.formInput = selectElement;
72 td.appendChild(selectElement);
73 tr.appendChild(td);
74 }
75
76 if (this.units !== null) {
77 const unitsTd = document.createElement('td');
78 unitsTd.className = 'units';
79 unitsTd.textContent = this.units;
80 tr.appendChild(unitsTd);
81 }
82 }
83
84 value(): string | undefined {
85 return this.formInput?.value;

Callers 1

drawInputsFunction · 0.80

Calls 3

idMethod · 0.95
nameCamelCaseMethod · 0.95
notifyMethod · 0.80

Tested by

no test coverage detected