[fusion-users] Fusion Flyout problem (Mapguide Studio issue?)
Paul Spencer
pspencer at dmsolutions.ca
Wed May 28 21:14:37 EDT 2008
Hi David,
the fusion-users list only allows posts from members, but I've let
this one through for now. If you plan to post again, I would
encourage you to subscribe.
This is a good catch, I have filed a ticket for this:
http://trac.osgeo.org/fusion/ticket/72
It will be reviewed to see if your change is sufficient - there may be
other cases where a missing container could cause an exception.
Cheers
Paul
On 28-May-08, at 10:47 AM, David Hequet wrote:
>
> Hi,
>
> I move my message from the MapGuide mailing list:
>
> I noticed that creating Fusion template without a toolbar that include
> Flyout or tweaking existing with Mapguide Studio can throw
> javascript error.
> (tested with MapGuide Enterprise 2009 and MGOS 2.0, don't know what
> version
> of Fusion is in).
>
> IE: If you remove the FileMenu composant from an existing template
> (with
> Studio) and render the layout in your browser, Fusion will try to
> render
> sub-element from this toolbar (Map Menu and view Menu).
> Because of the container (toolbar) does not exist, when Fusion try
> to add
> the Flyout it throw a javascript error.
>
> As the flyout menu is saved in the repository's
> ApplicationDefinition you
> can remove the flyout from the toolbar then remove the toolbar from
> the
> template (then it will not try to render, so no error).
>
> I tweaked the Fusion's applicationdefinition.js code so it don't try
> to
> render menu if container doesn't exist.
>
> If you have better idea tell me, if my code tweak seems self-
> sufisant put it
> in the next release :)
>
> Here is the code :
>
> Fusion.Lib.ApplicationDefinition.Item = Class.create();
> Fusion.Lib.ApplicationDefinition.Item.prototype = {
> ..................
> case 'Flyout':
> /* create a menu */
>
> var menu;
> var opt = {};
> opt.label = this.flyout.label;
> opt.tooltip = this.flyout.tooltip;
> opt.image = this.flyout.imageUrl;
> opt.imageClass = this.flyout.imageClass;
> if (container instanceof Jx.Toolbar) {
> menu = new Jx.Menu(opt);
> } else if (container instanceof Jx.Menu ||
> container instanceof Jx.ContextMenu ||
> container instanceof Jx.SubMenu) {
> menu = new Jx.SubMenu(opt);
> } else if (container == undefined) // if container
> does not
> exist, does not create the menu
> {
> break;
> }
> container.add(menu);
> this.flyout.create(widgetSet, menu);
>
> break;
> .............
> };
>
> Regards,
> David
> --
> View this message in context: http://www.nabble.com/Fusion-Flyout-problem-%28Mapguide-Studio-issue-%29-tp17514398p17514398.html
> Sent from the Fusion Users mailing list archive at Nabble.com.
>
> _______________________________________________
> fusion-users mailing list
> fusion-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/fusion-users
__________________________________________
Paul Spencer
Chief Technology Officer
DM Solutions Group Inc
http://www.dmsolutions.ca/
More information about the fusion-users
mailing list