diff --git a/MVCDemos/Content/DemosStyles/ContextMenu/Scrolling.css b/MVCDemos/Content/DemosStyles/ContextMenu/Scrolling.css new file mode 100644 index 00000000000..3e116b1b5f5 --- /dev/null +++ b/MVCDemos/Content/DemosStyles/ContextMenu/Scrolling.css @@ -0,0 +1,10 @@ +.target-area { + color: var(--dx-color-text); + background-color: var(--dx-color-border); + height: 300px; + max-width: 600px; + width: 100%; + display: flex; + justify-content: center; + align-items: center; +} diff --git a/MVCDemos/Controllers/ContextMenuController.cs b/MVCDemos/Controllers/ContextMenuController.cs index 78db45449f5..b1666374e38 100644 --- a/MVCDemos/Controllers/ContextMenuController.cs +++ b/MVCDemos/Controllers/ContextMenuController.cs @@ -1,6 +1,7 @@ -using System; -using System.Collections.Generic; -using System.Linq; +using DevExtreme.AspNet.Data; +using DevExtreme.AspNet.Mvc; +using DevExtreme.MVC.Demos.Models.SampleData; +using Newtonsoft.Json; using System.Web.Mvc; namespace DevExtreme.MVC.Demos.Controllers { @@ -9,8 +10,17 @@ public ActionResult Basics() { return View(); } + public ActionResult Scrolling() { + return View(); + } + public ActionResult Templates() { return View(); } + + [HttpGet] + public ActionResult GetScrollingProducts(DataSourceLoadOptions loadOptions) { + return Json(DataSourceLoader.Load(ContextMenuData.Products, loadOptions), JsonRequestBehavior.AllowGet); + } } } diff --git a/MVCDemos/DevExtreme.MVC.Demos.csproj b/MVCDemos/DevExtreme.MVC.Demos.csproj index a535184b038..35ea2976b98 100644 --- a/MVCDemos/DevExtreme.MVC.Demos.csproj +++ b/MVCDemos/DevExtreme.MVC.Demos.csproj @@ -376,7 +376,9 @@ + + @@ -676,6 +678,7 @@ Northwind.mdf + @@ -1943,6 +1946,7 @@ + diff --git a/MVCDemos/Models/ContextMenuScrollingItem.cs b/MVCDemos/Models/ContextMenuScrollingItem.cs new file mode 100644 index 00000000000..496da51a9b2 --- /dev/null +++ b/MVCDemos/Models/ContextMenuScrollingItem.cs @@ -0,0 +1,10 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace DevExtreme.MVC.Demos.Models { + public class ContextMenuScrollingItem { + public string text { get; set; } + public IEnumerable items { get; set; } + } +} diff --git a/MVCDemos/Models/SampleData/ContextMenuData.cs b/MVCDemos/Models/SampleData/ContextMenuData.cs new file mode 100644 index 00000000000..f04ebf096cc --- /dev/null +++ b/MVCDemos/Models/SampleData/ContextMenuData.cs @@ -0,0 +1,1243 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace DevExtreme.MVC.Demos.Models.SampleData { + public static class ContextMenuData { + public static readonly IEnumerable Products = new[] { + new ContextMenuScrollingItem { + text = "Audio", + items = new[] { + new ContextMenuScrollingItem { + text = "Bluetooth Headphones", + items = new[] { + new ContextMenuScrollingItem { + text = "NT Bluetooth Active Headphones E202", + }, + new ContextMenuScrollingItem { + text = "NT Bluetooth Stereo Headphones E52", + }, + new ContextMenuScrollingItem { + text = "NT Wireless Bluetooth Stereo Headphones E102", + }, + new ContextMenuScrollingItem { + text = "NT Wireless Bluetooth Stereo Headphones E302", + }, + new ContextMenuScrollingItem { + text = "NT Wireless Bluetooth Stereo Headphones M402", + }, + new ContextMenuScrollingItem { + text = "NT Wireless Transmitter and Bluetooth Headphones M150", + }, + new ContextMenuScrollingItem { + text = "WWI Stereo Bluetooth Headphones E1000", + }, + new ContextMenuScrollingItem { + text = "WWI Stereo Bluetooth Headphones New Generation M370", + }, + new ContextMenuScrollingItem { + text = "WWI Wireless Bluetooth Stereo Headphones M170", + }, + new ContextMenuScrollingItem { + text = "WWI Wireless Bluetooth Stereo Headphones M270", + }, + new ContextMenuScrollingItem { + text = "WWI Wireless Transmitter and Bluetooth Headphones X250", + }, + }, + }, + new ContextMenuScrollingItem { + text = "MP4&MP3", + items = new[] { + new ContextMenuScrollingItem { + text = "Contoso 16GB Mp5 Player M1600", + }, + new ContextMenuScrollingItem { + text = "Contoso 16GB New Generation MP5 Player M1650", + }, + new ContextMenuScrollingItem { + text = "Contoso 2G MP3 Player E200", + }, + new ContextMenuScrollingItem { + text = "Contoso 32GB Video MP3 Player M3200", + }, + new ContextMenuScrollingItem { + text = "Contoso 4G MP3 Player E400", + }, + new ContextMenuScrollingItem { + text = "Contoso 4GB Flash MP3 Player E401", + }, + new ContextMenuScrollingItem { + text = "Contoso 4GB Portable MP3 Player M450", + }, + new ContextMenuScrollingItem { + text = "Contoso 512MB MP3 Player E51", + }, + new ContextMenuScrollingItem { + text = "Contoso 8GB Clock & Radio MP3 Player X850", + }, + new ContextMenuScrollingItem { + text = "Contoso 8GB MP3 Player new model M820", + }, + new ContextMenuScrollingItem { + text = "Contoso 8GB Super-Slim MP3/Video Player M800", + }, + }, + }, + new ContextMenuScrollingItem { + text = "Recording Pen", + items = new[] { + new ContextMenuScrollingItem { + text = "WWI 1GB Digital Voice Recorder Pen E100", + }, + new ContextMenuScrollingItem { + text = "WWI 1GBPulse Smart pen E50", + }, + new ContextMenuScrollingItem { + text = "WWI 2GB Pulse Smart pen M100", + }, + new ContextMenuScrollingItem { + text = "WWI 2GB Spy Video Recorder Pen M300", + }, + new ContextMenuScrollingItem { + text = "WWI 4GB Video Recording Pen X200", + }, + }, + }, + }, + }, + new ContextMenuScrollingItem { + text = "Cameras and camcorders", + items = new[] { + new ContextMenuScrollingItem { + text = "Camcorders", + items = new[] { + new ContextMenuScrollingItem { + text = "Fabrikam Budget Movie-Maker 1'' 25mm E400", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Budget Movie-Maker 1/2'' 3mm E300", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Budget Movie-Maker 1/3'' 8.5mm E200", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Budget Moviemaker 1/3'' 8.5mm E200", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Budget Movie-Maker 2/3'' 17mm E100", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Budget Moviemaker 2/3'' 17mm E100", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Business Videographer 1'' 25mm M600", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Business Videographer 1/2'' 3mm M500", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Business Videographer 1/3'' 8.5mm M380", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Business Videographer 2/3'' 17mm M280", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Home and Vacation Moviemaker 1'' 25mm M400", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Home and Vacation Moviemaker 1/2'' 3mm M300", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Home and Vacation Moviemaker 1/3'' 8.5mm M200", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Home and vacation moviemaker 2/3'' 17mm M103", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Independent Filmmaker 1'' 25mm X400", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Independent Filmmaker 1/2'' 3mm X300", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Independent Filmmaker 1/3'' 8.5mm X200", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Independent Filmmaker 2/3'' 17mm X100", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Social videographer 1'' 25mm E400", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Social Videographer 1/2'' 3mm E300", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Social Videographer 1/3'' 8.5mm E200", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Social Videographer 2/3'' 17mm E100", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Trendsetter 1'' 25mm X400", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Trendsetter 1/2'' 3mm X300", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Trendsetter 1/3'' 8.5mm X200", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Trendsetter 2/3'' 17mm X100", + }, + }, + }, + new ContextMenuScrollingItem { + text = "Cameras & Camcorders Accessories", + items = new[] { + new ContextMenuScrollingItem { + text = "Contoso Carrying Case E312 Blue", + }, + new ContextMenuScrollingItem { + text = "Contoso Conversion Lens M550", + }, + new ContextMenuScrollingItem { + text = "Contoso Cyber Shot Digital Cameras Adapter E306", + }, + new ContextMenuScrollingItem { + text = "Contoso Digital Camera/Camcorder USB Cable E324", + }, + new ContextMenuScrollingItem { + text = "Contoso Digital Cameras Lightweight Tripod E316", + }, + new ContextMenuScrollingItem { + text = "Contoso General Carrying Case E304", + }, + new ContextMenuScrollingItem { + text = "Contoso General Soft Carrying Case E318", + }, + new ContextMenuScrollingItem { + text = "Contoso Genuine Leather Grip Belt E322", + }, + new ContextMenuScrollingItem { + text = "Contoso Lens Adapter M450", + }, + new ContextMenuScrollingItem { + text = "Contoso Macro Zoom Lens X300", + }, + new ContextMenuScrollingItem { + text = "Contoso Mini Battery Charger Kit E320", + }, + new ContextMenuScrollingItem { + text = "Contoso Multi-Use Terminal Cable E308", + }, + new ContextMenuScrollingItem { + text = "Contoso Rechargeable Battery Pack E310", + }, + new ContextMenuScrollingItem { + text = "Contoso Rechargeable Li-Ion Battery Pack E300", + }, + new ContextMenuScrollingItem { + text = "Contoso Telephoto Conversion Lens M350", + }, + new ContextMenuScrollingItem { + text = "Contoso Telephoto Conversion Lens X400", + }, + new ContextMenuScrollingItem { + text = "Contoso Travel Charger for S-Series Battery E302", + }, + new ContextMenuScrollingItem { + text = "Contoso USB Cable M250", + }, + }, + }, + new ContextMenuScrollingItem { + text = "Digital Cameras", + items = new[] { + new ContextMenuScrollingItem { + text = "A. Datum Advanced Digital Camera M300", + }, + new ContextMenuScrollingItem { + text = "A. Datum All in One Digital Camera M200", + }, + new ContextMenuScrollingItem { + text = "A. Datum Consumer Digital Camera E100A. Datum Consumer Digital Camera E100", + }, + new ContextMenuScrollingItem { + text = "A. Datum Consumer Digital Camera M300", + }, + new ContextMenuScrollingItem { + text = "A. Datum Full Frame Digital Camera X300", + }, + new ContextMenuScrollingItem { + text = "A. Datum Interchangeable lens Non-SLR Digital Camera X250", + }, + new ContextMenuScrollingItem { + text = "A. Datum Point n' Shoot Digital Camera M500 Grey", + }, + new ContextMenuScrollingItem { + text = "A. Datum Point Shoot Digital Camera M500", + }, + new ContextMenuScrollingItem { + text = "A. Datum Rangefinder Digital Camera X200", + }, + new ContextMenuScrollingItem { + text = "A. Datum Slim Digital Camera M180", + }, + new ContextMenuScrollingItem { + text = "A. Datum SLR-like Digital Camera M400", + }, + new ContextMenuScrollingItem { + text = "A. Datum Super-zoom Digital Camera X300", + }, + new ContextMenuScrollingItem { + text = "A. Datum Ultra Compact Digital Camera M190", + }, + }, + }, + new ContextMenuScrollingItem { + text = "Digital SLR Cameras", + items = new[] { + new ContextMenuScrollingItem { + text = "A. Datum SLR Camera 35' M358", + }, + new ContextMenuScrollingItem { + text = "A. Datum SLR Camera 35' X358", + }, + new ContextMenuScrollingItem { + text = "A. Datum SLR Camera M135", + }, + new ContextMenuScrollingItem { + text = "A. Datum SLR Camera X135", + }, + new ContextMenuScrollingItem { + text = "Contoso SLR Camera 35' M358", + }, + new ContextMenuScrollingItem { + text = "Contoso SLR Camera 35' X358", + }, + new ContextMenuScrollingItem { + text = "Contoso SLR Camera M142", + }, + new ContextMenuScrollingItem { + text = "Contoso SLR Camera X142", + }, + new ContextMenuScrollingItem { + text = "Fabrikam SLR Camera 35' M358", + }, + new ContextMenuScrollingItem { + text = "Fabrikam SLR Camera 35' X358", + }, + new ContextMenuScrollingItem { + text = "Fabrikam SLR Camera M146", + }, + new ContextMenuScrollingItem { + text = "Fabrikam SLR Camera X146", + }, + }, + }, + }, + }, + new ContextMenuScrollingItem { + text = "Cell phones", + items = new[] { + new ContextMenuScrollingItem { + text = "Cell phones Accessories", + items = new[] { + new ContextMenuScrollingItem { + text = "Cigarette Lighter Adapter for Contoso Phones E110", + }, + new ContextMenuScrollingItem { + text = "Contoso Bluetooth Active Headphones L15", + }, + new ContextMenuScrollingItem { + text = "Contoso In-Line Coupler E180", + }, + new ContextMenuScrollingItem { + text = "Contoso Original K1m Li-Ion Standard Battery E170", + }, + new ContextMenuScrollingItem { + text = "Contoso Phone Tough Skin Case E140", + }, + new ContextMenuScrollingItem { + text = "Contoso Rubberized SkinBerry E100", + }, + new ContextMenuScrollingItem { + text = "Contoso Touch Stylus Pen E150", + }, + new ContextMenuScrollingItem { + text = "Headphone Adapter for Contoso Phone E130", + }, + new ContextMenuScrollingItem { + text = "Reusable Phone Screen Protector E120", + }, + }, + }, + new ContextMenuScrollingItem { + text = "Home & Office Phones", + items = new[] { + new ContextMenuScrollingItem { + text = "Contoso 2-Line Corded Cordless Telephone M202", + }, + new ContextMenuScrollingItem { + text = "Contoso 2-Line Speakerphone M109", + }, + new ContextMenuScrollingItem { + text = "Contoso 3 Handset Cordless Phone System E30", + }, + new ContextMenuScrollingItem { + text = "Contoso 4 Handset Cordless Phone System M86", + }, + new ContextMenuScrollingItem { + text = "Contoso 4-Line Corded Cordless Telephone M203", + }, + new ContextMenuScrollingItem { + text = "Contoso 4-Line Expandable Cordless Phone System M900", + }, + new ContextMenuScrollingItem { + text = "Contoso behind Centrex X15", + }, + new ContextMenuScrollingItem { + text = "Contoso Centrex Phone System L10", + }, + new ContextMenuScrollingItem { + text = "Contoso Digital Cordless Expansion Handset Phone M900", + }, + new ContextMenuScrollingItem { + text = "Contoso Dual Handset Cordless Phone System E20", + }, + new ContextMenuScrollingItem { + text = "Contoso Electronic Private Automatic Branch Exchange M90", + }, + new ContextMenuScrollingItem { + text = "Contoso Expandable 2-Handset Cordless Phone System M205", + }, + new ContextMenuScrollingItem { + text = "Contoso Expandable 3-Handset Cordless Phone System M204", + }, + new ContextMenuScrollingItem { + text = "Contoso Expandable 4-Handset Cordless Phone System M206", + }, + new ContextMenuScrollingItem { + text = "Contoso Expandable Cordless Phone System M008", + }, + new ContextMenuScrollingItem { + text = "Contoso Expandable1-Handset Cordless Phone System M207", + }, + new ContextMenuScrollingItem { + text = "Contoso Hybrid system M60", + }, + new ContextMenuScrollingItem { + text = "Contoso In front of Centrex L15", + }, + new ContextMenuScrollingItem { + text = "Contoso Integrated Business Phone L08", + }, + new ContextMenuScrollingItem { + text = "Contoso Integrated Business Phone With card L10", + }, + new ContextMenuScrollingItem { + text = "Contoso KSU-less key system M38", + }, + new ContextMenuScrollingItem { + text = "Contoso Lifestyles Series - Big Button Cordless phone M800", + }, + new ContextMenuScrollingItem { + text = "Contoso Multi-line phones M30", + }, + new ContextMenuScrollingItem { + text = "Contoso Phone for MSN E200", + }, + new ContextMenuScrollingItem { + text = "Contoso Phone System Accessory Handset with Charger M308", + }, + new ContextMenuScrollingItem { + text = "Contoso Phone with 13-Number Memory (210) M301", + }, + new ContextMenuScrollingItem { + text = "Contoso Phone with Memory Dialing-2 lines E90", + }, + new ContextMenuScrollingItem { + text = "Contoso Phone with Memory Dialing-single line E88", + }, + new ContextMenuScrollingItem { + text = "Contoso Private Automatic Branch Exchange M65", + }, + new ContextMenuScrollingItem { + text = "Contoso Private Branch Exchange M88", + }, + new ContextMenuScrollingItem { + text = "Contoso Single-line phones E10", + }, + new ContextMenuScrollingItem { + text = "Contoso Waterproof Accessory Handset and Charging Cradle M609", + }, + }, + }, + new ContextMenuScrollingItem { + text = "Smart phones & PDAs", + items = new[] { + new ContextMenuScrollingItem { + text = "The Phone Company Microsoft Windows Mobile M200", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA GPS Phone 3.5 inch M910", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA GPS Phone 3.7 inch M930", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA GPS Phone 4.7 inch L950", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA Handheld 3.5 inch M610", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA Handheld 3.7 inch M630", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA Handheld 4.7 inch L650", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA Palm 3.5 inch M810", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA Palm 3.7 inch M830", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA Palm 4.7 inch L850", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA Phone 3.5 inches M320", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA Phone 3.7 inches M340", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA Phone 4.7 inches L360", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA Phone Unlocked 3.5 inches M530", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA Phone Unlocked 3.7 inches M510", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA Phone Unlocked 4.7 inches L550", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA Wifi 3.5-inch M200", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA Wifi 3.7-inch M250", + }, + new ContextMenuScrollingItem { + text = "The Phone Company PDA Wifi 4.7-inch L290", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Smart phones 160x160 M26", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Smart phones -320 x 320 M86", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Smart phones 4 GB of Memory M300", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Smart phones 6-LINE SCREEN M21", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Smart phones 8 GB of Memory M400", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Smart phones Expert M400", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Smart phones Unlocked International M800", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Smart phones Unlocked M300", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Smart phones without camera E100", + }, + }, + }, + new ContextMenuScrollingItem { + text = "Touch Screen Phones", + items = new[] { + new ContextMenuScrollingItem { + text = "Contoso Finger Touch Screen Phones M30", + }, + new ContextMenuScrollingItem { + text = "Contoso Pen Touch Screen Phones M320", + }, + new ContextMenuScrollingItem { + text = "Contoso Sharp Touch Screen Phones M910", + }, + new ContextMenuScrollingItem { + text = "Contoso Touch Screen Phones - LCD M12", + }, + new ContextMenuScrollingItem { + text = "Contoso Touch Screen Phones - CRT M11", + }, + new ContextMenuScrollingItem { + text = "Contoso Touch Screen Phones 4-Wire/ Built-in M205", + }, + new ContextMenuScrollingItem { + text = "Contoso Touch Screen Phones 5-Wire/Built-in M500", + }, + new ContextMenuScrollingItem { + text = "Contoso Touch Screen Phones 5-Wire/On-wall M508", + }, + new ContextMenuScrollingItem { + text = "Contoso Touch Screen Phones Capacitive M908", + }, + new ContextMenuScrollingItem { + text = "Contoso Touch Screen Phones Infrared M901", + }, + new ContextMenuScrollingItem { + text = "Contoso Touch Screen Phones SAW/On-wall M806", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Finger Touch Screen Phones M30", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Pen Touch Screen Phones-2.6' M320", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Sharp Touch Screen Phones M910", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Touch Screen Phone 1600 TFT-1.4' L250", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Touch Screen Phone 1600 TFT-2.2' L200", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Touch Screen Phones - CRT M11", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Touch Screen Phones - LCD M12", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Touch Screen Phones 26-1.4' M250", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Touch Screen Phones 26-2.2' M200", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Touch Screen Phones 4-Wire/ Built-in M205", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Touch Screen Phones 4-Wire/On-wall M302", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Touch Screen Phones 5-Wire/Built-in M500", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Touch Screen Phones 5-Wire/On-wall M508", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Touch Screen Phones Capacitive M908", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Touch Screen Phones Infrared M901", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Touch Screen Phones SAW/Built-in M801", + }, + new ContextMenuScrollingItem { + text = "The Phone Company Touch Screen Phones SAW/On-wall M806", + }, + }, + }, + }, + }, + new ContextMenuScrollingItem { + text = "Computers", + items = new[] { + new ContextMenuScrollingItem { + text = "Computer Accessories", + items = new[] { + new ContextMenuScrollingItem { + text = "Contoso 90W AC/DC Power Adapter E300", + }, + new ContextMenuScrollingItem { + text = "Contoso ADSL Modem Splitter/Filter X 1 E100", + }, + new ContextMenuScrollingItem { + text = "Contoso ADSL Modem Splitter/Filter X 2 E200", + }, + new ContextMenuScrollingItem { + text = "Contoso ADSL Modem Splitter/Filter X 3 E300", + }, + new ContextMenuScrollingItem { + text = "Contoso Battery charger - bike E200", + }, + new ContextMenuScrollingItem { + text = "Contoso Bluetooth Notebook Mouse E70", + }, + new ContextMenuScrollingItem { + text = "Contoso Bluetooth Notebook Mouse X305", + }, + new ContextMenuScrollingItem { + text = "Contoso Bright Light battery E20", + }, + new ContextMenuScrollingItem { + text = "Contoso Car power adapter M90", + }, + new ContextMenuScrollingItem { + text = "Contoso Desktop Alternative Bundle E200", + }, + new ContextMenuScrollingItem { + text = "Contoso Digital camera accessory kit M200", + }, + new ContextMenuScrollingItem { + text = "Contoso Education Essentials Bundle M300", + }, + new ContextMenuScrollingItem { + text = "Contoso Education Supplies Bundle E200", + }, + new ContextMenuScrollingItem { + text = "Contoso Enhanced Capacity Battery M800", + }, + new ContextMenuScrollingItem { + text = "Contoso Home/Office Laptop Power Adapter E300", + }, + new ContextMenuScrollingItem { + text = "Contoso Laptop Keyboard X105", + }, + new ContextMenuScrollingItem { + text = "Contoso Laptop Starter Bundle M200", + }, + new ContextMenuScrollingItem { + text = "Contoso Lens cap E80", + }, + new ContextMenuScrollingItem { + text = "Contoso Mouse Lock Bundle E200", + }, + new ContextMenuScrollingItem { + text = "Contoso Multimedia Speakers M25", + }, + new ContextMenuScrollingItem { + text = "Contoso Notebook Peripheral Kit M69", + }, + new ContextMenuScrollingItem { + text = "Contoso Optical USB Mouse M45", + }, + new ContextMenuScrollingItem { + text = "Contoso Optical Wheel OEM PS/2 Mouse E60", + }, + new ContextMenuScrollingItem { + text = "Contoso Rechargeable Battery E100", + }, + new ContextMenuScrollingItem { + text = "Contoso Reserve Pen - Tablet Pen E200", + }, + new ContextMenuScrollingItem { + text = "Contoso Smart Battery M901Contoso Smart Battery M901", + }, + new ContextMenuScrollingItem { + text = "Contoso Ultraportable Neoprene Sleeve E30", + }, + new ContextMenuScrollingItem { + text = "Contoso USB Optical Mouse E200", + }, + new ContextMenuScrollingItem { + text = "Contoso USB Wave Multi-media Keyboard E280", + }, + new ContextMenuScrollingItem { + text = "Contoso Wireless Laser Mouse E50", + }, + new ContextMenuScrollingItem { + text = "Contoso Wireless Laser Mouse M55", + }, + new ContextMenuScrollingItem { + text = "Contoso Wireless Notebook Optical Mouse M35", + }, + new ContextMenuScrollingItem { + text = "Contoso Wireless Notebook Optical Mouse X205", + }, + new ContextMenuScrollingItem { + text = "SV 160GB USB2.0 Portable Hard Disk M65", + }, + new ContextMenuScrollingItem { + text = "SV 2GB Laptop memory E800", + }, + new ContextMenuScrollingItem { + text = "SV 40GB USB2.0 Portable Hard Disk E400", + }, + new ContextMenuScrollingItem { + text = "SV 4GB Laptop Memory M65", + }, + new ContextMenuScrollingItem { + text = "SV 500GB USB 2.0 Portable External Hard Drive X405", + }, + new ContextMenuScrollingItem { + text = "SV 512MB Laptop memory E800", + }, + new ContextMenuScrollingItem { + text = "SV 80GB USB2.0 Portable Hard Disk E500", + }, + new ContextMenuScrollingItem { + text = "SV Keyboard E10", + }, + new ContextMenuScrollingItem { + text = "SV Keyboard E90", + }, + new ContextMenuScrollingItem { + text = "SV PCI Network Adapter E903", + }, + new ContextMenuScrollingItem { + text = "'SV Rechargeable Bluetooth Notebook Mouse E80", + }, + new ContextMenuScrollingItem { + text = "SV USB Data Cable E600", + }, + new ContextMenuScrollingItem { + text = "SV USB Sync Charge Cable E700", + }, + new ContextMenuScrollingItem { + text = "SV Wireless LAN PCI Network Card Adapter E900", + }, + }, + }, + new ContextMenuScrollingItem { + text = "Desktops", + items = new[] { + new ContextMenuScrollingItem { + text = "Adventure Works Desktop PC1.60 ED160", + }, + new ContextMenuScrollingItem { + text = "Adventure Works Desktop PC1.80 ED180", + }, + new ContextMenuScrollingItem { + text = "Adventure Works Desktop PC1.80 ED182", + }, + new ContextMenuScrollingItem { + text = "Adventure Works Desktop PC2.30 MD230", + }, + new ContextMenuScrollingItem { + text = "Adventure Works Desktop PC2.33 XD233", + }, + new ContextMenuScrollingItem { + text = "Adventure Works Desktop PC3.0 MS300", + }, + new ContextMenuScrollingItem { + text = "WWI Desktop PC1.60 E1600", + }, + new ContextMenuScrollingItem { + text = "WWI Desktop PC1.80 E1800", + }, + new ContextMenuScrollingItem { + text = "WWI Desktop PC1.80 E1801", + }, + new ContextMenuScrollingItem { + text = "WWI Desktop PC2.30 M2300", + }, + new ContextMenuScrollingItem { + text = "WWI Desktop PC2.33 X2330", + }, + new ContextMenuScrollingItem { + text = "WWI Desktop PC3.0 M0300", + }, + }, + }, + new ContextMenuScrollingItem { + text = "Laptops", + items = new[] { + new ContextMenuScrollingItem { + text = "Adventure Works Laptop12 M1200", + }, + new ContextMenuScrollingItem { + text = "Adventure Works Laptop15 M1500", + }, + new ContextMenuScrollingItem { + text = "Adventure Works Laptop15.4W M1548", + }, + new ContextMenuScrollingItem { + text = "Adventure Works Laptop16 M1600", + }, + new ContextMenuScrollingItem { + text = "Adventure Works Laptop19 X1900", + }, + new ContextMenuScrollingItem { + text = "Adventure Works Laptop8.9 E0890", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Laptop10.1 M0100", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Laptop12 M2000", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Laptop13.3 M3000", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Laptop14.1 E4101", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Laptop15 M5000", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Laptop16 M6000", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Laptop17 M7000", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Laptop19 M9000", + }, + new ContextMenuScrollingItem { + text = "Fabrikam Laptop8.9 E0800", + }, + new ContextMenuScrollingItem { + text = "Proseware Laptop12 M210", + }, + new ContextMenuScrollingItem { + text = "Proseware Laptop15 M510", + }, + new ContextMenuScrollingItem { + text = "Proseware Laptop15 M510", + }, + new ContextMenuScrollingItem { + text = "Proseware Laptop15.4W M518", + }, + new ContextMenuScrollingItem { + text = "Proseware Laptop16 M610", + }, + new ContextMenuScrollingItem { + text = "Proseware Laptop19 X910", + }, + new ContextMenuScrollingItem { + text = "Proseware Laptop8.9 E089", + }, + new ContextMenuScrollingItem { + text = "WWI Laptop12 M0120", + }, + new ContextMenuScrollingItem { + text = "WWI Laptop15 M0150", + }, + new ContextMenuScrollingItem { + text = "WWI Laptop15.4W M0156", + }, + new ContextMenuScrollingItem { + text = "WWI Laptop16 M0160", + }, + new ContextMenuScrollingItem { + text = "WWI Laptop19W X0196", + }, + new ContextMenuScrollingItem { + text = "WWI Laptop8.9 E0089", + }, + }, + }, + new ContextMenuScrollingItem { + text = "Monitors", + items = new[] { + new ContextMenuScrollingItem { + text = "Adventure Works CRT15 E101", + }, + new ContextMenuScrollingItem { + text = "Adventure Works CRT17 E105", + }, + new ContextMenuScrollingItem { + text = "Adventure Works CRT19 E10", + }, + new ContextMenuScrollingItem { + text = "Adventure Works LCD15 E100", + }, + new ContextMenuScrollingItem { + text = "Adventure Works LCD17 E200", + }, + new ContextMenuScrollingItem { + text = "Adventure Works LCD17W E203", + }, + new ContextMenuScrollingItem { + text = "Adventure Works LCD19 E108", + }, + new ContextMenuScrollingItem { + text = "Adventure Works LCD19W M100", + }, + new ContextMenuScrollingItem { + text = "Adventure Works LCD20 M210", + }, + new ContextMenuScrollingItem { + text = "Adventure Works LCD20W M240", + }, + new ContextMenuScrollingItem { + text = "Adventure Works LCD22 M200", + }, + new ContextMenuScrollingItem { + text = "Adventure Works LCD22W M200", + }, + new ContextMenuScrollingItem { + text = "Adventure Works LCD24 X300", + }, + new ContextMenuScrollingItem { + text = "Adventure Works LCD24W X300", + }, + new ContextMenuScrollingItem { + text = "Proseware CRT15 E10", + }, + new ContextMenuScrollingItem { + text = "Proseware CRT17 E104", + }, + new ContextMenuScrollingItem { + text = "Proseware CRT19 E201", + }, + new ContextMenuScrollingItem { + text = "Proseware LCD15 E103", + }, + new ContextMenuScrollingItem { + text = "Proseware LCD17 E200", + }, + new ContextMenuScrollingItem { + text = "Proseware LCD17W E202", + }, + new ContextMenuScrollingItem { + text = "Proseware LCD19 E1000", + }, + new ContextMenuScrollingItem { + text = "Proseware LCD19W M100", + }, + new ContextMenuScrollingItem { + text = "Proseware LCD20 M200", + }, + new ContextMenuScrollingItem { + text = "Proseware LCD20W M230", + }, + new ContextMenuScrollingItem { + text = "Proseware LCD22 M2000", + }, + new ContextMenuScrollingItem { + text = "Proseware LCD22W M2001", + }, + new ContextMenuScrollingItem { + text = "Proseware LCD24 X300", + }, + new ContextMenuScrollingItem { + text = "Proseware LCD24W X300", + }, + new ContextMenuScrollingItem { + text = "WWI CRT17 E106", + }, + new ContextMenuScrollingItem { + text = "WWI LCD17 E200", + }, + new ContextMenuScrollingItem { + text = "WWI LCD17W E200", + }, + new ContextMenuScrollingItem { + text = "WWI LCD19 E107", + }, + new ContextMenuScrollingItem { + text = "WWI LCD19W M100", + }, + new ContextMenuScrollingItem { + text = "WWI LCD20 M220", + }, + new ContextMenuScrollingItem { + text = "WWI LCD20W M250", + }, + new ContextMenuScrollingItem { + text = "WWI LCD22 M2002", + }, + new ContextMenuScrollingItem { + text = "WWI LCD22W M2003", + }, + new ContextMenuScrollingItem { + text = "WWI LCD24 X300", + }, + new ContextMenuScrollingItem { + text = "WWI LCD24W X300", + }, + }, + }, + new ContextMenuScrollingItem { + text = "Printers, Scanners & Fax", + items = new[] { + new ContextMenuScrollingItem { + text = "Proseware All-In-One Photo Printer M200", + }, + new ContextMenuScrollingItem { + text = "Proseware Color Ink Jet Fax, Copier, Phone M250", + }, + new ContextMenuScrollingItem { + text = "Proseware Duplex Scanner M200", + }, + new ContextMenuScrollingItem { + text = "Proseware Fax Machine E100", + }, + new ContextMenuScrollingItem { + text = "Proseware Fax phone E100", + }, + new ContextMenuScrollingItem { + text = "Proseware High Speed Laser Fax M2000", + }, + new ContextMenuScrollingItem { + text = "Proseware High Speed Laser M2000", + }, + new ContextMenuScrollingItem { + text = "Proseware Ink Jet All in one M300", + }, + new ContextMenuScrollingItem { + text = "Proseware Ink Jet Fax Machine E100v", + }, + new ContextMenuScrollingItem { + text = "Proseware Ink Jet Wireless All-In-One Printer M400", + }, + new ContextMenuScrollingItem { + text = "Proseware Laser Fax Printer E100", + }, + new ContextMenuScrollingItem { + text = "Proseware Laser Fax Printer M250", + }, + new ContextMenuScrollingItem { + text = "Proseware Laser Jet All in one X300", + }, + new ContextMenuScrollingItem { + text = "Proseware Laser Jet Color Printer X300", + }, + new ContextMenuScrollingItem { + text = "Proseware Laser Jet Printer E100", + }, + new ContextMenuScrollingItem { + text = "Proseware Office Jet All-in-One Printer M500", + }, + new ContextMenuScrollingItem { + text = "Proseware Photo Ink Jet Printer E290", + }, + new ContextMenuScrollingItem { + text = "Proseware Photo Ink Jet Printer M100", + }, + new ContextMenuScrollingItem { + text = "Proseware Photo Inkjet Printer E290", + }, + new ContextMenuScrollingItem { + text = "Proseware Photo smart All-in-One Printer M380", + }, + new ContextMenuScrollingItem { + text = "Proseware Scan Jet Digital Flat Bed Scanner M300", + }, + new ContextMenuScrollingItem { + text = "Proseware Wireless Photo All-in-One Printer M390", + }, + }, + }, + new ContextMenuScrollingItem { + text = "Projectors & Screens", + items = new[] { + new ContextMenuScrollingItem { + text = "Contoso Projector 1080p X980", + }, + new ContextMenuScrollingItem { + text = "Contoso Projector 1080p X981", + }, + new ContextMenuScrollingItem { + text = "Contoso Projector 480p M480", + }, + new ContextMenuScrollingItem { + text = "Contoso Projector 480p M481", + }, + new ContextMenuScrollingItem { + text = "Contoso Projector 720p M620", + }, + new ContextMenuScrollingItem { + text = "Contoso Projector 720p M621", + }, + new ContextMenuScrollingItem { + text = "Contoso Screen 100in E010", + }, + new ContextMenuScrollingItem { + text = "Contoso Screen 106in M060", + }, + new ContextMenuScrollingItem { + text = "Contoso Screen 113in M251", + }, + new ContextMenuScrollingItem { + text = "Contoso Screen 125in M250", + }, + new ContextMenuScrollingItem { + text = "Contoso Screen 80in E080", + }, + new ContextMenuScrollingItem { + text = "Contoso Screen 85in E085", + }, + new ContextMenuScrollingItem { + text = "Proseware Projector 1080p DLP86", + }, + new ContextMenuScrollingItem { + text = "Proseware Projector 1080p LCD86", + }, + new ContextMenuScrollingItem { + text = "Proseware Projector 480p DLP12", + }, + new ContextMenuScrollingItem { + text = "Proseware Projector 480p LCD12", + }, + new ContextMenuScrollingItem { + text = "Proseware Projector 720p DLP56", + }, + new ContextMenuScrollingItem { + text = "Proseware Projector 720p LCD56", + }, + new ContextMenuScrollingItem { + text = "Proseware Screen 100in M1609", + }, + new ContextMenuScrollingItem { + text = "Proseware Screen 106in M1609", + }, + new ContextMenuScrollingItem { + text = "Proseware Screen 113in X1609", + }, + new ContextMenuScrollingItem { + text = "Proseware Screen 125in X1609", + }, + new ContextMenuScrollingItem { + text = "Proseware Screen 80in E1010", + }, + new ContextMenuScrollingItem { + text = "Proseware Screen 85in E1010", + }, + new ContextMenuScrollingItem { + text = "WWI Projector 1080p DLP86", + }, + new ContextMenuScrollingItem { + text = "WWI Projector 1080p LCD86", + }, + new ContextMenuScrollingItem { + text = "WWI Projector 480p DLP12", + }, + new ContextMenuScrollingItem { + text = "WWI Projector 480p LCD12", + }, + new ContextMenuScrollingItem { + text = "WWI Projector 720p DLP56", + }, + new ContextMenuScrollingItem { + text = "WWI Projector 720p LCD56", + }, + new ContextMenuScrollingItem { + text = "WWI Screen 100in M1609", + }, + new ContextMenuScrollingItem { + text = "WWI Screen 106in M1609", + }, + new ContextMenuScrollingItem { + text = "WWI Screen 113in M1610", + }, + new ContextMenuScrollingItem { + text = "WWI Screen 125in M1611", + }, + new ContextMenuScrollingItem { + text = "WWI Screen 85in E1010", + }, + }, + }, + }, + }, + }; + } +} diff --git a/MVCDemos/Views/ContextMenu/Scrolling.cshtml b/MVCDemos/Views/ContextMenu/Scrolling.cshtml new file mode 100644 index 00000000000..d2b25440ad1 --- /dev/null +++ b/MVCDemos/Views/ContextMenu/Scrolling.cshtml @@ -0,0 +1,16 @@ +
+ Right click here to show the context menu +
+ +@(Html.DevExtreme().ContextMenu() + .Width(200) + .Target(".target-area") + .OnItemClick("contextMenu_ItemClick") + .DataSource(d => d.Mvc().LoadAction("GetScrollingProducts")) +) + +