Opened 7 years ago

Closed 7 years ago

#15983 closed defect (worksforme)

Popup menu doesn't appear in Safari\Mac

Reported by: ahmedasaleh Owned by: ahmedasaleh
Priority: undecided Milestone: tbd
Component: Dijit Version: 1.8.0
Keywords: Cc:
Blocked By: Blocking:

Description

Using test_Menu.html file to test PopupMenuItem?. It found that on Safari over Mac, the popup menu doesn't appear when dir="rtl" is specified on widget level (popup menu).

Attachments (1)

worksForMe.gif (113.7 KB) - added by bill 7 years ago.
my test output

Download all attachments as: .zip

Change History (4)

comment:1 Changed 7 years ago by Kitson Kelly

Owner: changed from bill to ahmedasaleh
Status: newpending

This test does not contain any thing where the dir is set on the widget level. Can you provide a working example of what you did to produce this issue?

comment:2 Changed 7 years ago by ahmedasaleh

Status: pendingnew

Herein the whole code for the widget with id="windowContextMenu"

	<div id="windowContextMenu" dir="rtl" data-dojo-type="dijit/Menu" data-dojo-props='contextMenuForWindow:true, style:"display: none;"'>
		<div data-dojo-type="dijit/MenuItem" data-dojo-props='onClick:function(){ console.log("Hello world"); }'>Context Menu</div>
		<div data-dojo-type="dijit/MenuSeparator"></div>
		<div data-dojo-type="dijit/MenuItem" data-dojo-props='disabled:true, onClick:function(){ alert("this should NOT appear"); }'>Disabled Item</div>
		<div data-dojo-type="dijit/MenuItem" data-dojo-props='iconClass:"dijitEditorIcon dijitEditorIconCut",
			onClick:function(){ console.log("not actually cutting anything, just a test!") }, accelKey:"Ctrl+X"'>Cut</div>
		<div dir="rtl" data-dojo-type="dijit/MenuItem" data-dojo-props='iconClass:"dijitEditorIcon dijitEditorIconCopy",
			onClick:function(){ console.log("not actually copying anything, just a test!") }, accelKey:"Ctrl+C"'>Copy</div>
		<div data-dojo-type="dijit/MenuItem" data-dojo-props='iconClass:"dijitEditorIcon dijitEditorIconPaste",
			onClick:function(){ console.log("not actually pasting anything, just a test!") }, accelKey:"Ctrl+V"'>Paste</div>
		<div data-dojo-type="dijit/MenuSeparator"></div>
		<div dir="rtl" id="enabledSubmenu" data-dojo-type="dijit/PopupMenuItem" >
			<span>Enabled Submenu</span>
			<div id="submenu2" data-dojo-type="dijit/Menu" >
				<div id="submenu2_item1" data-dojo-type="dijit/MenuItem" data-dojo-props='onClick:function(){ console.log("Submenu 1!") }'>Submenu Item One</div>
				<div id="submenu2_item2" data-dojo-type="dijit/MenuItem" data-dojo-props='onClick:function(){ console.log("Submenu 2!") }'>Submenu Item Two</div>
				<div id="deeperSubmenu" data-dojo-type="dijit/PopupMenuItem" >
					<span>Deeper Submenu</span>
					<div id="submenu4" data-dojo-type="dijit/Menu" >
						<div data-dojo-type="dijit/MenuItem" data-dojo-props='onClick:function(){ console.log("Sub-submenu 1!") }'>Sub-sub-menu Item One</div>
						<div data-dojo-type="dijit/MenuItem" data-dojo-props='onClick:function(){ console.log("Sub-submenu 2!") }'>Sub-sub-menu Item Two</div>
					</div>
				</div>
			</div>
		</div>
		<div data-dojo-type="dijit/PopupMenuItem" data-dojo-props='disabled:true'>
			<span>Disabled Submenu</span>
			<div id="submenu3" dir="rtl" data-dojo-type="dijit/Menu" data-dojo-props='style:"display: none;"'>
				<div data-dojo-type="dijit/MenuItem" data-dojo-props='onClick:function(){ console.log("Submenu 1!") }'>Submenu Item One</div>
				<div data-dojo-type="dijit/MenuItem" data-dojo-props='onClick:function(){ console.log("Submenu 2!") }'>Submenu Item Two</div>
			</div>
		</div>
		<div data-dojo-type="dijit/PopupMenuItem">
			<span>Different popup</span>
			<div data-dojo-type="dijit/ColorPalette" dir="rtl"></div>
		</div>
		<div data-dojo-type="dijit/MenuSeparator"></div>
		<div dir="rtl" data-dojo-type="dijit/CheckedMenuItem" data-dojo-props='checked:true, onChange:function(val){ console.log("Now set to " + val); }'>Checked</div>
		<div dir="rtl" data-dojo-type="dijit/CheckedMenuItem">Not Checked</div>
		<div dir="rtl" data-dojo-type="dijit/CheckedMenuItem" data-dojo-props='checked:true, disabled:true'>Checked Disabled</div>
		<div data-dojo-type="dijit/MenuSeparator"></div>
		<div data-dojo-type="dijit/PopupMenuItem">
			<span>Bigger Submenu</span>
			<div id="bigsubmenu" dir="rtl" data-dojo-type="dijit/Menu" data-dojo-props='style:"display: none;"'>
				<div data-dojo-type="dijit/MenuItem">Item One</div>
				<div data-dojo-type="dijit/MenuItem">Item Two</div>
				<div data-dojo-type="dijit/MenuItem">Item Three</div>
				<div data-dojo-type="dijit/MenuItem">Item Four</div>
				<div data-dojo-type="dijit/MenuItem">Item Five</div>
				<div data-dojo-type="dijit/MenuItem">Item Six</div>
				<div data-dojo-type="dijit/MenuItem">Item Seven</div>
				<div data-dojo-type="dijit/MenuItem">Item Eight</div>
				<div data-dojo-type="dijit/MenuItem">Item Nine</div>
				<div data-dojo-type="dijit/MenuItem">Item Ten</div>
			</div>
		</div>
	</div>

comment:3 Changed 7 years ago by bill

Resolution: worksforme
Status: newclosed

I tried modifying test_Menu.html to set dir=rtl on the context menu, and it works fine for me. See attached screenshot.

Changed 7 years ago by bill

Attachment: worksForMe.gif added

my test output

Note: See TracTickets for help on using tickets.