window.DeviceLogReplayAdapter = {
|
normalizeTimeline: function (data) {
|
return {
|
sessionId: data && data.sessionId ? data.sessionId : '',
|
day: data && data.day ? data.day : '',
|
startTimeMs: data && data.startTimeMs ? Number(data.startTimeMs) : 0,
|
endTimeMs: data && data.endTimeMs ? Number(data.endTimeMs) : 0,
|
maxPrefetchChunks: data && data.maxPrefetchChunks ? Number(data.maxPrefetchChunks) : 1,
|
chunks: (data && data.chunks ? data.chunks : []).map(function (chunk) {
|
return {
|
chunkIndex: Number(chunk.chunkIndex || 0),
|
startTimeMs: Number(chunk.startTimeMs || 0),
|
endTimeMs: Number(chunk.endTimeMs || 0),
|
estimatedSamples: Number(chunk.estimatedSamples || 0),
|
firstSampleSeq: Number(chunk.firstSampleSeq || 0),
|
lastSampleSeq: Number(chunk.lastSampleSeq || 0)
|
};
|
})
|
};
|
},
|
normalizeTimelineSummary: function (data) {
|
return {
|
sessionId: data && data.sessionId ? data.sessionId : '',
|
day: data && data.day ? data.day : '',
|
bucketCount: Number(data && data.bucketCount || 0),
|
startTimeMs: Number(data && data.startTimeMs || 0),
|
endTimeMs: Number(data && data.endTimeMs || 0),
|
buckets: (data && data.buckets ? data.buckets : []).map(function (bucket) {
|
return {
|
bucketIndex: Number(bucket && bucket.bucketIndex || 0),
|
startTimeMs: Number(bucket && bucket.startTimeMs || 0),
|
endTimeMs: Number(bucket && bucket.endTimeMs || 0),
|
activityScore: Number(bucket && bucket.activityScore || 0),
|
abnormalCount: Number(bucket && bucket.abnormalCount || 0),
|
errorCount: Number(bucket && bucket.errorCount || 0),
|
blockCount: Number(bucket && bucket.blockCount || 0),
|
hasReplayData: Boolean(bucket && bucket.hasReplayData),
|
hasCrnData: Boolean(bucket && bucket.hasCrnData),
|
hasStationData: Boolean(bucket && bucket.hasStationData),
|
hasRgvData: Boolean(bucket && bucket.hasRgvData),
|
anchorChunkIndex: Number(bucket && bucket.anchorChunkIndex != null ? bucket.anchorChunkIndex : -1),
|
anchorFrameIndex: Number(bucket && bucket.anchorFrameIndex != null ? bucket.anchorFrameIndex : -1),
|
firstAbnormalChunkIndex: Number(bucket && bucket.firstAbnormalChunkIndex != null ? bucket.firstAbnormalChunkIndex : -1),
|
firstAbnormalFrameIndex: Number(bucket && bucket.firstAbnormalFrameIndex != null ? bucket.firstAbnormalFrameIndex : -1),
|
topEventType: bucket && bucket.topEventType ? String(bucket.topEventType) : ''
|
};
|
})
|
};
|
},
|
normalizeChunk: function (data) {
|
return {
|
chunkIndex: Number(data && data.chunkIndex || 0),
|
startTimeMs: Number(data && data.startTimeMs || 0),
|
endTimeMs: Number(data && data.endTimeMs || 0),
|
frameCount: Number(data && data.frameCount || 0),
|
baseState: this.normalizeFrameState(Object.assign({
|
timestamp: Number(data && data.baseState && data.baseState.timestamp || 0),
|
sampleSeq: Number(data && data.baseState && data.baseState.sampleSeq || 0)
|
}, data && data.baseState ? data.baseState : {})),
|
frames: (data && data.frames ? data.frames : []).map((frame, index) => {
|
return this.normalizeFrameState(Object.assign({
|
_frameIndex: index,
|
timestamp: Number(frame && frame.timestamp || 0),
|
sampleSeq: Number(frame && frame.sampleSeq || 0),
|
stationStates: [],
|
crnStates: [],
|
dualCrnStates: [],
|
rgvStates: [],
|
abnormalList: [],
|
targets: [],
|
summary: {}
|
}, frame || {}));
|
})
|
};
|
},
|
normalizeFrameState: function (frame) {
|
var normalizedFrame = Object.assign({}, frame || {});
|
normalizedFrame.stationStates = (normalizedFrame.stationStates || []).map(function (item) {
|
return Object.assign({}, item || {});
|
});
|
normalizedFrame.crnStates = (normalizedFrame.crnStates || []).map(function (item) {
|
return window.DeviceLogReplayAdapter.normalizeCrnState(item);
|
});
|
normalizedFrame.dualCrnStates = (normalizedFrame.dualCrnStates || []).map(function (item) {
|
return window.DeviceLogReplayAdapter.normalizeCrnState(item);
|
});
|
normalizedFrame.rgvStates = (normalizedFrame.rgvStates || []).map(function (item) {
|
return window.DeviceLogReplayAdapter.normalizeRgvState(item);
|
});
|
return normalizedFrame;
|
},
|
normalizeCrnState: function (item) {
|
var normalizedItem = Object.assign({}, item || {});
|
if (normalizedItem.crnNo == null && normalizedItem.crnId != null) {
|
normalizedItem.crnNo = normalizedItem.crnId;
|
}
|
if (!normalizedItem.deviceStatus && normalizedItem.crnStatus) {
|
normalizedItem.deviceStatus = normalizedItem.crnStatus;
|
}
|
return normalizedItem;
|
},
|
normalizeRgvState: function (item) {
|
var normalizedItem = Object.assign({}, item || {});
|
if (!normalizedItem.deviceStatus && normalizedItem.rgvStatus) {
|
normalizedItem.deviceStatus = normalizedItem.rgvStatus;
|
}
|
return normalizedItem;
|
},
|
findMatchingTarget: function (frame, targetLike) {
|
if (!frame || !targetLike) {
|
return null;
|
}
|
var targets = frame.targets ? frame.targets : [];
|
for (var i = 0; i < targets.length; i++) {
|
var item = targets[i];
|
if (String(item.type || '') !== String(targetLike.type || '')) {
|
continue;
|
}
|
if (String(item.deviceNo || '') !== String(targetLike.deviceNo || '')) {
|
continue;
|
}
|
if (String(item.stationId || '') !== String(targetLike.stationId || '')) {
|
continue;
|
}
|
return item;
|
}
|
return null;
|
},
|
findTargetByStation: function (frame, stationId) {
|
if (!frame || stationId == null) {
|
return null;
|
}
|
var targets = frame.targets ? frame.targets : [];
|
for (var i = 0; i < targets.length; i++) {
|
var item = targets[i];
|
if (String(item.type || '') !== 'Devp') {
|
continue;
|
}
|
if (String(item.stationId || '') === String(stationId)) {
|
return item;
|
}
|
}
|
return null;
|
},
|
resolveTarget: function (frame, clickedTarget) {
|
return this.findMatchingTarget(frame, clickedTarget) || clickedTarget || null;
|
},
|
buildDeviceLogsUrl: function (anchor, replayBackUrl) {
|
var query = '?_v=20260424_workbench_v10';
|
query += '&day=' + encodeURIComponent(anchor.day || '');
|
query += '&type=' + encodeURIComponent(anchor.type || '');
|
query += '&deviceNo=' + encodeURIComponent(anchor.deviceNo || '');
|
if (anchor.stationId != null && anchor.stationId !== '') {
|
query += '&stationId=' + encodeURIComponent(anchor.stationId);
|
}
|
if (anchor.timestamp) {
|
query += '×tamp=' + encodeURIComponent(anchor.timestamp);
|
}
|
if (replayBackUrl) {
|
query += '&replayBackUrl=' + encodeURIComponent(replayBackUrl);
|
}
|
return 'deviceLogs.html' + query;
|
}
|
};
|