MCPcopy
hub / github.com/ampproject/amphtml / buildExperimentRow

Function buildExperimentRow

tools/experiments/experiments.js:168–208  ·  view source on GitHub ↗

* Builds one row in the channel or experiments table. * @param {!ExperimentDef} experiment * @return {*} TODO(#23582): Specify return type

(experiment)

Source from the content-addressed store, hash-verified

166 * @return {*} TODO(#23582): Specify return type
167 */
168function buildExperimentRow(experiment) {
169 const tr = document.createElement('tr');
170 tr.id = 'exp-tr-' + experiment.id;
171
172 const tdId = document.createElement('td');
173 tdId.appendChild(buildLinkMaybe(experiment.id, experiment.spec));
174 tr.appendChild(tdId);
175
176 const tdName = document.createElement('td');
177 tdName.appendChild(buildLinkMaybe(experiment.name, experiment.spec));
178 tr.appendChild(tdName);
179
180 const tdOn = document.createElement('td');
181 tdOn.classList.add('button-cell');
182 tr.appendChild(tdOn);
183
184 const button = document.createElement('button');
185 tdOn.appendChild(button);
186
187 const buttonOn = document.createElement('div');
188 buttonOn.classList.add('on');
189 buttonOn.textContent = 'On';
190 button.appendChild(buttonOn);
191
192 const buttonDefault = document.createElement('div');
193 buttonDefault.classList.add('default');
194 buttonDefault.textContent = 'Default on';
195 button.appendChild(buttonDefault);
196
197 const buttonOff = document.createElement('div');
198 buttonOff.classList.add('off');
199 buttonOff.textContent = 'Off';
200 button.appendChild(buttonOff);
201
202 button.addEventListener(
203 'click',
204 toggleExperiment_.bind(null, experiment.id, experiment.name, undefined)
205 );
206
207 return tr;
208}
209
210/**
211 * If link is available, builds the anchor. Otherwise, it'd return a basic span.

Callers 1

buildFunction · 0.85

Calls 3

buildLinkMaybeFunction · 0.85
addMethod · 0.45
addEventListenerMethod · 0.45

Tested by

no test coverage detected