整理demo+UI
This commit is contained in:
94
demo/resources/scripts/axure/recording.js
Normal file
94
demo/resources/scripts/axure/recording.js
Normal file
@@ -0,0 +1,94 @@
|
||||
// ******* Recording MANAGER ******** //
|
||||
|
||||
$axure.internal(function($ax) {
|
||||
var _recording = $ax.recording = {};
|
||||
|
||||
$ax.recording.recordEvent = function(element, eventInfo, axEventObject, timeStamp) {
|
||||
|
||||
var elementHtml = $jobj(element);
|
||||
var className = elementHtml.attr('class');
|
||||
var inputValue;
|
||||
|
||||
if(className === 'ax_checkbox') {
|
||||
inputValue = elementHtml.find('#' + element + '_input')[0].checked;
|
||||
eventInfo.inputType = className;
|
||||
eventInfo.inputValue = inputValue;
|
||||
}
|
||||
|
||||
if(className === 'ax_text_field') {
|
||||
inputValue = elementHtml.find('#' + element + '_input').val();
|
||||
eventInfo.inputType = className;
|
||||
eventInfo.inputValue = inputValue;
|
||||
}
|
||||
|
||||
|
||||
var scriptId = $ax.repeater.getScriptIdFromElementId(element);
|
||||
var diagramObjectPath = $ax.getPathFromScriptId(scriptId);
|
||||
var form = {
|
||||
recordingId: $ax.recording.recordingId,
|
||||
elementID: element,
|
||||
eventType: axEventObject.description,
|
||||
'eventInfo': eventInfo,
|
||||
// eventObject: axEventObject,
|
||||
'timeStamp': timeStamp,
|
||||
'path': diagramObjectPath
|
||||
// ,
|
||||
// 'trigger': function() {
|
||||
// $ax.event.handleEvent(element, eventInfo, axEventObject);
|
||||
// return false;
|
||||
// }
|
||||
};
|
||||
|
||||
$ax.messageCenter.postMessage('logEvent', form);
|
||||
};
|
||||
|
||||
|
||||
$ax.recording.maybeRecordEvent = function(element, eventInfo, axEventObject, timeStamp) {
|
||||
};
|
||||
|
||||
|
||||
$ax.recording.recordingId = "";
|
||||
$ax.recording.recordingName = "";
|
||||
|
||||
$ax.messageCenter.addMessageListener(function(message, data) {
|
||||
if(message === 'startRecording') {
|
||||
$ax.recording.maybeRecordEvent = $ax.recording.recordEvent;
|
||||
$ax.recording.recordingId = data.recordingId;
|
||||
$ax.recording.recordingName = data.recordingName;
|
||||
} else if(message === 'stopRecording') {
|
||||
$ax.recording.maybeRecordEvent = function(element, eventInfo, axEventObject, timeStamp) {
|
||||
};
|
||||
|
||||
}
|
||||
else if(message === 'playEvent') {
|
||||
|
||||
var eventType = makeFirstLetterLower(data.eventType);
|
||||
var inputElement;
|
||||
|
||||
var dObj = data.element === '' ? $ax.pageData.page : $ax.getObjectFromElementId(data.element);
|
||||
if(!data.axEventObject) {
|
||||
data.axEventObject = dObj && dObj.interactionMap && dObj.interactionMap[eventType];
|
||||
}
|
||||
|
||||
data.eventInfo.thiswidget = $ax.getWidgetInfo(data.element);
|
||||
data.eventInfo.item = $ax.getItemInfo(data.element);
|
||||
|
||||
if(data.eventInfo.inputType && data.eventInfo.inputType === 'ax_checkbox') {
|
||||
inputElement = $jobj(data.element + '_input');
|
||||
inputElement[0].checked = data.eventInfo.inputValue;
|
||||
}
|
||||
|
||||
if(data.eventInfo.inputType && data.eventInfo.inputType === 'ax_text_field') {
|
||||
inputElement = $jobj(data.element + '_input');
|
||||
inputElement.val(data.eventInfo.inputValue);
|
||||
}
|
||||
|
||||
$ax.event.handleEvent(data.element, data.eventInfo, data.axEventObject, false, true);
|
||||
}
|
||||
});
|
||||
|
||||
var makeFirstLetterLower = function(eventName) {
|
||||
return eventName.substr(0, 1).toLowerCase() + eventName.substr(1);
|
||||
};
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user