UNPKG

jqwidgets-scripts-custom

Version:

jQWidgets is an advanced jQuery, Angular 7, Vue, React, ASP .NET MVC, Custom Elements and HTML5 UI framework.

135 lines (106 loc) 5.1 kB
<!DOCTYPE html> <html lang="en"> <head> <title id="Description">Custom Element ColorPicker DefaultFunctionality</title> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <meta name="viewport" content="width=device-width, initial-scale=1 maximum-scale=1 minimum-scale=1" /> <meta name="description" content="This is an example of the default functionalities in Angular Color Picker." /> <link rel="stylesheet" href="../../../jqwidgets/styles/jqx.base.css" type="text/css" /> <link rel="stylesheet" href="../../../styles/demos.css" type="text/css" /> <script type="text/javascript" src="../../../scripts/webcomponents-lite.min.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcore.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcore.elements.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcolorpicker.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxradiobutton.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxdropdownbutton.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxscrollview.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxbuttons.js"></script> <script type="text/javascript" src="../../../scripts/demos.js"></script> <style type="text/css"> jqx-drop-down-button { height: 25px; } .photo { width: 500px; height: 350px; background-color: #000; background-position: center; background-repeat: no-repeat; } .gallery { border: 15px solid #ffaabb; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; } </style> <script type="text/javascript"> var getTextElementByColor = (color) => { if (color == 'transparent' || color.hex == '') { return '<div style="text-shadow: none; position: relative; padding-bottom: 2px; margin-top: 2px;">transparent</div>'; } var element = document.createElement('div'); element.style.cssText = 'text-shadow: none; position: relative; padding-bottom: 2px; margin-top: 2px;'; element.innerHTML = '#' + color.hex; var nThreshold = 105; var bgDelta = (color.r * 0.299) + (color.g * 0.587) + (color.b * 0.114); var foreColor = (255 - bgDelta < nThreshold) ? 'Black' : 'White'; element.color = foreColor; element.style.background = '#' + color.hex; element.addClass = 'jqx-rc-all'; return element; }; JQXElements.settings['ColorPicker'] = { color: 'ffaabb', colorMode: 'hue', } JQXElements.settings['ScrollVIew'] = { slideShow: true, width: 500, showButtons: false } window.onload = function() { var myDropDownButton = document.querySelector('jqx-drop-down-button'); var myColorPicker = document.querySelector('jqx-color-picker'); var myPhotoGallery = document.querySelector('jqx-scroll-view'); myColorPicker.addEventListener('colorchange', event => { myDropDownButton.setContent(getTextElementByColor(event.args.color)); myPhotoGallery.style.borderColor = '#' + event.args.color.hex; }); document.querySelector('jqx-drop-down-button').setContent(getTextElementByColor(new jqx.color({ hex: 'ffaabb' }))); } </script> </head> <body> <div class="example-description"> The Custom element ColorPicker widget allows you to easily pick a color. </div> <jqx-scroll-view class="gallery" settings="ScrollVIew"> <div> <div class="photo" style="background-image: url(../../../images/imageNature1.jpg)"></div> </div> <div> <div class="photo" style="background-image: url(../../../images/imageNature2.jpg)"></div> </div> <div> <div class="photo" style="background-image: url(../../../images/imageNature3.jpg)"></div> </div> <div> <div class="photo" style="background-image: url(../../../images/imageNature4.jpg)"></div> </div> <div> <div class="photo" style="background-image: url(../../../images/imageNature5.jpg)"></div> </div> </jqx-scroll-view> <br /> <label style="margin-left: 5px; font-size: 12px; font-family: Verdana;">Select Frame color</label> <br /> <jqx-drop-down-button style="margin: 3px; float: left;"> <div style="padding: 3px;"> <jqx-color-picker settings="ColorPicker"></jqx-color-picker> </div> </jqx-drop-down-button> </body> </html>