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
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>