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
|
/*
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
/*
* Create a Context Table
*/
function createEngineContextTable(wrapper) {
var tableId = config.engineContext.tableId;
var headers = config.engineContext.headers.map(function(a) {
return a.title;
});
return createEngineTable($(wrapper), tableId, headers);
}
/*
* Update each Context Table with the latest data
*/
function setEngineContextData(engineContextData) {
var tableId = config.engineContext.tableId;
for ( var ecd in engineContextData) {
var id = tableId + "_" + engineContextData[ecd].id;
var existingTable = undefined;
for ( var ect in this.engineContextTables) {
if (id === this.engineContextTables[ect].getAttribute("id")) {
existingTable = this.engineContextTables[ect];
}
}
var engineInfo = JSON.parse(engineContextData[ecd].engine_info);
var contextAlbums = engineInfo.ContextAlbums;
var data = [];
for ( var ca in contextAlbums) {
var cAlbumn = contextAlbums[ca];
data.push([ cAlbumn.AlbumKey.name, cAlbumn.AlbumKey.version,
JSON.stringify(cAlbumn.AlbumContent, undefined, 50) ]);
}
var table = existingTable;
// If no table already exists for the context, add one
if (!table) {
var wrapper = document.createElement("div");
wrapper.setAttribute("class", "engineContextWrapper");
var title = document.createElement("div");
title.setAttribute("class", "engineContextTitle");
title.innerHTML = engineContextData[ecd].id;
$(wrapper).append(title);
$("." + config.engineContext.parent).append(wrapper);
table = createEngineContextTable(wrapper);
table.setAttribute("id", id);
table.style["margin-bottom"] = "10px";
this.engineContextTables.push(table);
}
var old_data = $(table).data(tableId);
if (!deepCompare(old_data, data)) {
$(table).find("tbody").remove();
var tbody = document.createElement("tbody");
for ( var d in data) {
var rowData = data[d];
var row = document.createElement("tr");
var rowContent = "<tr>";
for ( var rd in rowData) {
var tdClass = (rd == 2 ? "dataTd_wordwrap" : "dataTd");
rowContent += "<td class=" + tdClass + ">" + rowData[rd]
+ "</td>";
}
rowContent += "</tr>";
row.innerHTML = rowContent;
$(tbody).append(row);
}
$(table).data(tableId, data);
$(table).append(tbody);
}
}
}
|