MCPcopy
hub / github.com/automeris-io/WebPlotDigitizer / buildTree

Function buildTree

app/javascript/widgets/tree.js:174–261  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

172 }
173
174 function buildTree() {
175 if (treeWidget == null) {
176 return;
177 }
178 let treeData = [];
179 let itemColors = {};
180
181 const plotData = wpd.appData.getPlotData();
182 const fileManager = wpd.appData.getFileManager();
183 const pageManager = wpd.appData.getPageManager();
184 const currentFileIndex = fileManager.currentFileIndex();
185
186 // Image item
187 treeData.push(wpd.gettext('image'));
188
189 // Axes folder
190 let axesNames = plotData.getAxesNames();
191 const axesFileMap = fileManager.getAxesNameMap();
192 axesNames = axesNames.filter(name => axesFileMap[name] === currentFileIndex);
193 let axesFolder = {};
194 if (wpd.appData.isMultipage()) {
195 const currentPage = pageManager.currentPage();
196 const axesPageMap = pageManager.getAxesNameMap();
197 axesFolder[wpd.gettext("axes")] = axesNames.filter(
198 name => axesPageMap[name] === currentPage
199 );
200 } else {
201 axesFolder[wpd.gettext("axes")] = axesNames;
202 }
203 treeData.push(axesFolder);
204
205 // Datasets folder
206 let datasetNames = plotData.getDatasetNames();
207 const datasetFileMap = fileManager.getDatasetNameMap();
208 datasetNames = datasetNames.filter(name => datasetFileMap[name] === currentFileIndex);
209 let datasetsFolder = {};
210 if (wpd.appData.isMultipage()) {
211 const currentPage = pageManager.currentPage();
212 const datasetPageMap = pageManager.getDatasetNameMap();
213 datasetsFolder[wpd.gettext("datasets")] = datasetNames.filter(
214 name => datasetPageMap[name] === currentPage
215 );
216 } else {
217 datasetsFolder[wpd.gettext("datasets")] = datasetNames;
218 }
219 treeData.push(datasetsFolder);
220
221 // Dataset colors
222 for (let ds of plotData.getDatasets()) {
223 if (ds.colorRGB != null) {
224 itemColors["/" + wpd.gettext("datasets") + "/" + ds.name] = ds.colorRGB;
225 }
226 }
227
228 // Measurements folder
229 let distMeasures = fileManager.filterToCurrentFileMeasurements(
230 plotData.getMeasurementsByType(wpd.DistanceMeasurement)
231 );

Callers 2

initFunction · 0.85
refreshFunction · 0.85

Calls 13

showTreeItemWidgetFunction · 0.85
currentFileIndexMethod · 0.80
gettextMethod · 0.80
getAxesNamesMethod · 0.80
currentPageMethod · 0.80
getDatasetNamesMethod · 0.80
getDatasetsMethod · 0.80
getMeasurementsByTypeMethod · 0.80
renderMethod · 0.80
getAxesNameMapMethod · 0.45

Tested by

no test coverage detected