Ho un sistema che genera eventi interni per oggetti. Sto estendendo il loro debugger per visualizzare una versione leggibile dagli utenti degli eventi inviati al debugger.
Ad esempio, il sistema genererà "OnClick" per il controllo "Blue Button", su una vista "a-guid-value-for-the-view". Se la versione leggibile di "a-guid-value-for-the-view" è "Customer Edit View", desidero generare
Nella vista Modifica cliente, è stato fatto clic sul pulsante blu.
Per configurarlo, mapperò ogni evento a un modello letterale che valuto dinamicamente. Il mio codice funziona ma l'impostazione della mappa in PopulateEvents sembra troppo pesante. C'è un modo per renderlo più leggibile?
//Setup the list of events
function populateEvents() {
events = new Map([
["OnClick", function _renderEvent(viewId, controlName, properEvent) {
return 'On the ${_viewName(viewId)}, ${controlName} was ${properEvent}.'}],
])}
//Function to translate system event
var eventName = function (eventParams) {
return events.get(systemEventName)(viewId, controlName, properEvent);
}
var viewName = function (viewId) {
if (!views.has(viewId)) {
views.set(viewId, fnToConvertViewIdToName(viewId))
}
return views(viewId);
}
}