| /** |
| * Copyright (c) 2006-2015, JGraph Ltd |
| * Copyright (c) 2006-2015, Gaudenz Alder |
| */ |
| mxCodecRegistry.register(function() |
| { |
| /** |
| * Class: mxDefaultPopupMenuCodec |
| * |
| * Custom codec for configuring <mxDefaultPopupMenu>s. This class is created |
| * and registered dynamically at load time and used implicitely via |
| * <mxCodec> and the <mxCodecRegistry>. This codec only reads configuration |
| * data for existing popup menus, it does not encode or create menus. Note |
| * that this codec only passes the configuration node to the popup menu, |
| * which uses the config to dynamically create menus. See |
| * <mxDefaultPopupMenu.createMenu>. |
| */ |
| var codec = new mxObjectCodec(new mxDefaultPopupMenu()); |
| |
| /** |
| * Function: encode |
| * |
| * Returns null. |
| */ |
| codec.encode = function(enc, obj) |
| { |
| return null; |
| }; |
| |
| /** |
| * Function: decode |
| * |
| * Uses the given node as the config for <mxDefaultPopupMenu>. |
| */ |
| codec.decode = function(dec, node, into) |
| { |
| var inc = node.getElementsByTagName('include')[0]; |
| |
| if (inc != null) |
| { |
| this.processInclude(dec, inc, into); |
| } |
| else if (into != null) |
| { |
| into.config = node; |
| } |
| |
| return into; |
| }; |
| |
| // Returns the codec into the registry |
| return codec; |
| |
| }()); |