整理demo+UI
This commit is contained in:
53
demo/resources/scripts/axure/model.js
Normal file
53
demo/resources/scripts/axure/model.js
Normal file
@@ -0,0 +1,53 @@
|
||||
// ******* Object Model ******** //
|
||||
$axure.internal(function($ax) {
|
||||
var _implementations = {};
|
||||
|
||||
var _initializeObject = function(type, obj) {
|
||||
$.extend(obj, _implementations[type]);
|
||||
};
|
||||
$ax.initializeObject = _initializeObject;
|
||||
|
||||
var _model = $ax.model = {};
|
||||
|
||||
_model.idsInRdoToHideOrLimbo = function(rdoId, scriptIds) {
|
||||
var rdoScriptId = $ax.repeater.getScriptIdFromElementId(rdoId);
|
||||
var path = $ax.getPathFromScriptId(rdoScriptId);
|
||||
|
||||
if(!scriptIds) scriptIds = [];
|
||||
|
||||
var rdo = $ax.getObjectFromElementId(rdoId);
|
||||
var master = $ax.pageData.masters[rdo.masterId];
|
||||
var masterChildren = master.diagram.objects;
|
||||
for(var i = 0; i < masterChildren.length; i++) {
|
||||
var obj = masterChildren[i];
|
||||
var objScriptIds = obj.scriptIds;
|
||||
for(var j = 0; j < objScriptIds.length; j++) {
|
||||
var scriptId = objScriptIds[j];
|
||||
// Anything in a layer is already handled by the layer
|
||||
if($ax.getLayerParentFromElementId(scriptId)) continue;
|
||||
|
||||
// Make sure in same rdo
|
||||
var elementPath = $ax.getPathFromScriptId(scriptId);
|
||||
|
||||
// This is because last part of path is for the obj itself.
|
||||
elementPath.pop();
|
||||
if(elementPath.length != path.length) continue;
|
||||
var samePath = true;
|
||||
for(var k = 0; k < path.length; k++) {
|
||||
if(elementPath[k] != path[k]) {
|
||||
samePath = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!samePath) continue;
|
||||
|
||||
if($ax.public.fn.IsReferenceDiagramObject(obj.type)) _model.idsInRdoToHideOrLimbo(scriptId, scriptIds);
|
||||
else if(scriptIds.indexOf(scriptId) == -1) scriptIds.push(scriptId);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
return scriptIds;
|
||||
};
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user