整理demo+UI
This commit is contained in:
166
demo/resources/scripts/axure/legacy.js
Normal file
166
demo/resources/scripts/axure/legacy.js
Normal file
@@ -0,0 +1,166 @@
|
||||
//stored on each browser event
|
||||
var windowEvent;
|
||||
|
||||
$axure.internal(function($ax) {
|
||||
var _legacy = {};
|
||||
$ax.legacy = _legacy;
|
||||
|
||||
var Forms = window.document.getElementsByTagName("FORM");
|
||||
for(var i = 0; i < Forms.length; i++) {
|
||||
var Form = Forms[i];
|
||||
Form.onclick = $ax.legacy.SuppressBubble;
|
||||
}
|
||||
|
||||
$ax.legacy.SuppressBubble = function(event) {
|
||||
if(IE_10_AND_BELOW) {
|
||||
window.event.cancelBubble = true;
|
||||
window.event.returnValue = false;
|
||||
} else {
|
||||
if(event) {
|
||||
event.stopPropagation();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
$ax.legacy.BringToFront = function(id, skipFixed) {
|
||||
_bringToFrontHelper(id);
|
||||
if(!skipFixed) $ax.legacy.BringFixedToFront();
|
||||
};
|
||||
|
||||
var _bringToFrontHelper = function(id) {
|
||||
var target = window.document.getElementById(id);
|
||||
if(target == null) return;
|
||||
$ax.globals.MaxZIndex = $ax.globals.MaxZIndex + 1;
|
||||
target.style.zIndex = $ax.globals.MaxZIndex;
|
||||
};
|
||||
|
||||
$ax.legacy.BringFixedToFront = function() {
|
||||
$ax(function(diagramObject) { return diagramObject.fixedKeepInFront; }).each(function(diagramObject, scriptId) {
|
||||
_bringToFrontHelper(scriptId);
|
||||
});
|
||||
};
|
||||
|
||||
$ax.legacy.SendToBack = function(id) {
|
||||
var target = window.document.getElementById(id);
|
||||
if(target == null) return;
|
||||
target.style.zIndex = $ax.globals.MinZIndex = $ax.globals.MinZIndex - 1;
|
||||
};
|
||||
|
||||
$ax.legacy.RefreshScreen = function() {
|
||||
var oldColor = window.document.body.style.backgroundColor;
|
||||
var setColor = (oldColor == "rgb(0,0,0)") ? "#FFFFFF" : "#000000";
|
||||
window.document.body.style.backgroundColor = setColor;
|
||||
window.document.body.style.backgroundColor = oldColor;
|
||||
};
|
||||
|
||||
$ax.legacy.getAbsoluteLeft = function(currentNode, elementId) {
|
||||
var oldDisplay = currentNode.css('display');
|
||||
var displaySet = false;
|
||||
if(oldDisplay == 'none') {
|
||||
currentNode.css('display', '');
|
||||
displaySet = true;
|
||||
}
|
||||
var left = currentNode.offset().left;
|
||||
|
||||
// Special Layer code
|
||||
if($ax.getTypeFromElementId(elementId) == 'layer') {
|
||||
var first = true;
|
||||
var children = currentNode.children();
|
||||
for(var i = 0; i < children.length; i++) {
|
||||
var child = $(children[i]);
|
||||
var subDisplaySet = false;
|
||||
if(child.css('display') == 'none') {
|
||||
child.css('display', '');
|
||||
subDisplaySet = true;
|
||||
}
|
||||
if(first) left = child.offset().left;
|
||||
else left = Math.min(child.offset().left, left);
|
||||
first = false;
|
||||
|
||||
if(subDisplaySet) child.css('display', 'none');
|
||||
}
|
||||
}
|
||||
|
||||
if (displaySet) currentNode.css('display', oldDisplay);
|
||||
|
||||
return $axure.fn.bodyToWorld(left, true);
|
||||
};
|
||||
|
||||
$ax.legacy.getAbsoluteTop = function(currentNode, elementId) {
|
||||
var oldDisplay = currentNode.css('display');
|
||||
var displaySet = false;
|
||||
if(oldDisplay == 'none') {
|
||||
currentNode.css('display', '');
|
||||
displaySet = true;
|
||||
}
|
||||
var top = currentNode.offset().top;
|
||||
|
||||
// Special Layer code
|
||||
if ($ax.getTypeFromElementId(elementId) == 'layer') {
|
||||
var first = true;
|
||||
var children = currentNode.children();
|
||||
for (var i = 0; i < children.length; i++) {
|
||||
var child = $(children[i]);
|
||||
var subDisplaySet = false;
|
||||
if (child.css('display') == 'none') {
|
||||
child.css('display', '');
|
||||
subDisplaySet = true;
|
||||
}
|
||||
if (first) top = child.offset().top;
|
||||
else top = Math.min(child.offset().top, top);
|
||||
first = false;
|
||||
|
||||
if (subDisplaySet) child.css('display', 'none');
|
||||
}
|
||||
}
|
||||
|
||||
if(displaySet) currentNode.css('display', oldDisplay);
|
||||
return top;
|
||||
};
|
||||
|
||||
// ****************** Annotation and Link Functions ****************** //
|
||||
|
||||
$ax.legacy.GetAnnotationHtml = function(annJson) {
|
||||
var retVal = "";
|
||||
for(var noteName in annJson) {
|
||||
if(noteName != "label" && noteName != "id") {
|
||||
retVal += "<div class='annotationName'>" + noteName + "</div>";
|
||||
retVal += "<div class='annotationValue'>" + linkify(annJson[noteName]) + "</div>";
|
||||
}
|
||||
}
|
||||
return retVal;
|
||||
|
||||
function linkify(text) {
|
||||
var urlRegex = /(\b(((https?|ftp|file):\/\/)|(www\.))[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
|
||||
return text.replace(urlRegex, function (url, b, c) {
|
||||
var url2 = (c == 'www.') ? 'http://' + url : url;
|
||||
return '<a href="' + url2 + '" target="_blank" class="noteLink">' + url + '</a>';
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
$ax.legacy.GetScrollable = function(target) {
|
||||
var $target = $(target);
|
||||
var last = $target;
|
||||
// Start past inital target. Can't scroll to target in itself, must be some ancestor.
|
||||
var current = last.parent();
|
||||
|
||||
while(!current.is('body') && !current.is('html')) {
|
||||
var elementId = current.attr('id');
|
||||
var diagramObject = elementId && $ax.getObjectFromElementId(elementId);
|
||||
if (diagramObject && $ax.public.fn.IsDynamicPanel(diagramObject.type) && diagramObject.scrollbars != 'none') {
|
||||
//returns the panel diagram div which handles scrolling
|
||||
return $ax.dynamicPanelManager.getShownState(current.attr('id'))[0];
|
||||
}
|
||||
last = current;
|
||||
current = current.parent();
|
||||
}
|
||||
// Need to do this because of ie
|
||||
if(IE_10_AND_BELOW) return window.document.documentElement;
|
||||
else return window.document.body;
|
||||
};
|
||||
|
||||
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user