UNPKG

angularjs-slider

Version:

AngularJS slider directive with no external dependencies. Mobile friendly!.

463 lines (413 loc) 15.5 kB
<!DOCTYPE html> <html ng-app="rzSliderDemo"> <head> <meta charset="utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>AngularJS Touch Slider</title> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="./lib/bootstrap.min.css"> <link rel="stylesheet" href="../dist/rzslider.css"/> <link rel="stylesheet" href="demo.css"/> <link href='http://fonts.googleapis.com/css?family=Open+Sans:300,400,700' rel='stylesheet' type='text/css'> </head> <body ng-controller="MainCtrl"> <div class="wrapper"> <header> <h1>AngularJS Touch Slider</h1> </header> <article> <h2>Simple slider</h2> Model: <input type="number" ng-model="minSlider.value"/><br/> <rzslider rz-slider-model="minSlider.value"></rzslider> </article> <article> <h2>Range slider</h2> Min Value: <input type="number" ng-model="rangeSlider.minValue"/><br/> Max Value: <input type="number" ng-model="rangeSlider.maxValue"/><br/> <rzslider data-rz-slider-model="rangeSlider.minValue" data-rz-slider-high="rangeSlider.maxValue" data-rz-slider-options="rangeSlider.options" ></rzslider> </article> <article> <h2>Slider with custom style</h2> <rzslider class="custom-slider" data-rz-slider-model="customSlider.minValue" data-rz-slider-high="customSlider.maxValue" data-rz-slider-options="customSlider.options" ></rzslider> </article> <article> <h2>Range slider with min limit set to 10 and max limit set to 90 </h2> <rzslider rz-slider-model="minMaxLimitSlider.value" rz-slider-options="minMaxLimitSlider.options" ></rzslider> </article> <article> <h2>Range slider with restricted area from 30 to 70</h2> <rzslider data-rz-slider-model="restrictedRangeSlider.minValue" data-rz-slider-high="restrictedRangeSlider.maxValue" data-rz-slider-options="restrictedRangeSlider.options" ></rzslider> </article> <article> <h2>Range slider with multiple restricted area from 20 to 30, 50 to 60 and 75 to 85 <br /> and the feature that skip restricted ranges with arrow keys </h2> <rzslider rz-slider-model="multipleRestrictedRangeSlider.minValue" rz-slider-high="multipleRestrictedRangeSlider.maxValue" rz-slider-options="multipleRestrictedRangeSlider.options" ></rzslider> </article> <article> <h2>Range slider with minimum range of 10 and maximum of 50</h2> <rzslider rz-slider-model="minMaxRangeSlider.minValue" rz-slider-high="minMaxRangeSlider.maxValue" rz-slider-options="minMaxRangeSlider.options" ></rzslider> </article> <article> <h2>Range slider with noSwitching=true</h2> <rzslider rz-slider-model="noSwitchingSlider.minValue" rz-slider-high="noSwitchingSlider.maxValue" rz-slider-options="noSwitchingSlider.options" ></rzslider> </article> <article> <h2>Range slider with minimum range of 10 and pushRange option</h2> <rzslider rz-slider-model="minPushRangeSlider.minValue" rz-slider-high="minPushRangeSlider.maxValue" rz-slider-options="minPushRangeSlider.options" ></rzslider> </article> <article> <h2>Range slider with coloured bars outside the selected range</h2> <rzslider rz-slider-model="outerBarsRangeSlider.minValue" rz-slider-high="outerBarsRangeSlider.maxValue" rz-slider-options="outerBarsRangeSlider.options" ></rzslider> </article> <article> <h2>Slider with visible selection bar</h2> <rzslider rz-slider-model="slider_visible_bar.value" rz-slider-options="slider_visible_bar.options" ></rzslider> </article> <article> <h2>Slider with visible selection bar at the end</h2> <rzslider rz-slider-model="slider_visible_bar_end.value" rz-slider-options="slider_visible_bar_end.options" ></rzslider> </article> <article> <h2>Slider with visible selection bar from a value</h2> <rzslider rz-slider-model="slider_visible_bar_from_value.value" rz-slider-options="slider_visible_bar_from_value.options" ></rzslider> </article> <article> <h2>Slider with selection bar gradient</h2> <rzslider rz-slider-model="gradient_slider_bar.minValue" rz-slider-high="gradient_slider_bar.maxValue" rz-slider-options="gradient_slider_bar.options" ></rzslider> </article> <article> <h2>Slider with dynamic selection bar colors</h2> <rzslider rz-slider-model="color_slider_bar.value" rz-slider-options="color_slider_bar.options" ></rzslider> </article> <article> <h2>Slider with dynamic pointer color</h2> <rzslider rz-slider-model="color_slider_pointer.value" rz-slider-options="color_slider_pointer.options" ></rzslider> </article> <article> <h2>Slider with custom floor/ceil/step</h2> <rzslider rz-slider-model="slider_floor_ceil.value" rz-slider-options="slider_floor_ceil.options" ></rzslider> </article> <article> <h2>Slider with logarithmic scale</h2> <rzslider rz-slider-model="slider_log.value" rz-slider-options="slider_log.options" ></rzslider> </article> <article> <h2>Slider with custom scale</h2> <rzslider rz-slider-model="slider_custom_scale.value" rz-slider-options="slider_custom_scale.options" ></rzslider> </article> <article> <h2>Right to left slider with custom floor/ceil/step</h2> <rzslider rz-slider-model="slider_floor_ceil_rtl.value" rz-slider-options="slider_floor_ceil_rtl.options" ></rzslider> </article> <article> <h2>Slider with callbacks on start, change and end</h2> <p>Value linked on start: {{ otherData.start }}</p> <p>Value linked on change: {{ otherData.change }}</p> <p>Value linked on end: {{ otherData.end }}</p> <rzslider rz-slider-model="slider_callbacks.value" rz-slider-options="slider_callbacks.options" ></rzslider> </article> <article> <h2>Slider with custom display function</h2> <rzslider rz-slider-model="slider_translate.minValue" rz-slider-high="slider_translate.maxValue" rz-slider-options="slider_translate.options" ></rzslider> </article> <article> <h2>Slider with custom display function using html formatting</h2> <rzslider rz-slider-model="slider_translate_html.minValue" rz-slider-high="slider_translate_html.maxValue" rz-slider-options="slider_translate_html.options" ></rzslider> </article> <article> <h2>Slider with Alphabet</h2> Current letter: {{ slider_alphabet.value }} <rzslider rz-slider-model="slider_alphabet.value" rz-slider-options="slider_alphabet.options" ></rzslider> </article> <article> <h2>Slider with ticks</h2> <rzslider rz-slider-model="slider_ticks.value" rz-slider-options="slider_ticks.options" ></rzslider> </article> <article> <h2>Slider with ticks at specific positions</h2> <rzslider rz-slider-model="slider_ticks_array.value" rz-slider-options="slider_ticks_array.options" ></rzslider> </article> <article> <h2>Slider with ticks and tooltips</h2> <rzslider rz-slider-model="slider_ticks_tooltip.value" rz-slider-options="slider_ticks_tooltip.options" ></rzslider> </article> <article> <h2>Slider with ticks and values (and tooltips)</h2> <rzslider rz-slider-model="slider_ticks_values.value" rz-slider-options="slider_ticks_values.options" ></rzslider> </article> <article> <h2>Range slider with ticks and values</h2> <rzslider rz-slider-model="range_slider_ticks_values.minValue" rz-slider-high="range_slider_ticks_values.maxValue" rz-slider-options="range_slider_ticks_values.options" ></rzslider> </article> <article> <h2>Slider with ticks at intermediate positions</h2> <rzslider rz-slider-model="slider_ticks_at.value" rz-slider-options="slider_ticks_at.options" ></rzslider> </article> <article> <h2>Slider with ticks and values at intermediate positions</h2> <rzslider rz-slider-model="slider_ticks_values_at.value" rz-slider-options="slider_ticks_values_at.options" ></rzslider> <br><br> </article> <article> <h2>Slider with ticks values and legend</h2> <rzslider class="with-legend" rz-slider-model="slider_ticks_legend.value" rz-slider-options="slider_ticks_legend.options" ></rzslider> </article> <article> <h2>Slider with dynamic tick color</h2> <rzslider rz-slider-model="slider_tick_color.value" rz-slider-options="slider_tick_color.options" ></rzslider> </article> <article> <h2>Slider with date values</h2> <rzslider rz-slider-model="slider_dates.value" rz-slider-options="slider_dates.options" ></rzslider> </article> <article> <h2>Slider with draggable range</h2> <rzslider rz-slider-model="slider_draggable_range.minValue" rz-slider-high="slider_draggable_range.maxValue" rz-slider-options="slider_draggable_range.options" ></rzslider> </article> <article> <h2>Slider with draggable range only</h2> <rzslider rz-slider-model="slider_draggable_range_only.minValue" rz-slider-high="slider_draggable_range_only.maxValue" rz-slider-options="slider_draggable_range_only.options" ></rzslider> </article> <article> <h2>Vertical sliders</h2> <div class="row vertical-sliders" style="margin: 20px;"> <div class="col-md-2"> <rzslider rz-slider-model="verticalSlider1.value" rz-slider-options="verticalSlider1.options"></rzslider> </div> <div class="col-md-2"> <rzslider rz-slider-model="verticalSlider2.minValue" rz-slider-high="verticalSlider2.maxValue" rz-slider-options="verticalSlider2.options"></rzslider> </div> <div class="col-md-2"> <rzslider rz-slider-model="verticalSlider3.value" rz-slider-options="verticalSlider3.options"></rzslider> </div> <div class="col-md-2"> <rzslider rz-slider-model="verticalSlider4.minValue" rz-slider-high="verticalSlider4.maxValue" rz-slider-options="verticalSlider4.options"></rzslider> </div> <div class="col-md-2"> <rzslider rz-slider-model="verticalSlider5.value" rz-slider-options="verticalSlider5.options"></rzslider> </div> <div class="col-md-2"> <rzslider rz-slider-model="verticalSlider6.value" rz-slider-options="verticalSlider6.options"></rzslider> </div> </div> </article> <article> <h2>Disabled slider</h2> <label>Disabled <input type="checkbox" ng-model="disabled_slider.options.disabled"></label> <rzslider rz-slider-model="disabled_slider.minValue" rz-slider-high="disabled_slider.maxValue" rz-slider-options="disabled_slider.options" ></rzslider> </article> <article> <h2>Read-only slider</h2> <label>Read-only <input type="checkbox" ng-model="read_only_slider.options.readOnly"></label> <rzslider rz-slider-model="read_only_slider.value" rz-slider-options="read_only_slider.options" ></rzslider> </article> <article> <h2>Toggle slider example</h2> <button ng-click="toggle()">{{ visible ? 'Hide' : 'Show' }}</button> <br/> <div ng-show="visible"> <rzslider rz-slider-model="slider_toggle.value" rz-slider-options="slider_toggle.options"></rzslider> </div> </article> <article> <h2>Sliders inside a modal</h2> Normal slider value: {{percentages.normal.low}}% </br> Range slider values: {{percentages.range.low}}% and {{percentages.range.high}}% </br> <button type="button" ng-click="openModal()" class="btn btn-default btn-lg">Open Modal!</button> </article> <article> <h2>Sliders inside tabs</h2> <p>Price 1: {{tabSliders.slider1.value}}</p> <p>Price 2: {{tabSliders.slider2.value}}</p> <uib-tabset> <uib-tab heading="Slider 1" select="refreshSlider()"> <rzslider rz-slider-model="tabSliders.slider1.value"></rzslider> </uib-tab> <uib-tab heading="Slider 2" select="refreshSlider()"> <rzslider rz-slider-model="tabSliders.slider2.value"></rzslider> </uib-tab> </uib-tabset> </article> <article> <h2>Slider with angular directive inside custom template</h2> <rzslider rz-slider-model="slider_custom_directive_inside_template.minValue" rz-slider-high="slider_custom_directive_inside_template.maxValue" rz-slider-options="slider_custom_directive_inside_template.options" rz-slider-tpl-url="directiveInCustomTemplate.html" ></rzslider> </article> <article> <h2>Slider with all options demo</h2> <div class="row all-options"> <div class="col-md-4"> <label class="field-title">Min Value: </label><input type="number" ng-model="slider_all_options.minValue"/><br/> <label class="field-title"><input type="checkbox" ng-click="toggleHighValue()"> Max Value: </label> <input type="number" ng-model="slider_all_options.maxValue" ng-disabled="slider_all_options.maxValue == null"/><br/> <label class="field-title">Floor: </label><input type="number" ng-model="slider_all_options.options.floor"/><br/> <label class="field-title">Ceil: </label><input type="number" ng-model="slider_all_options.options.ceil"/><br/> </div> <div class="col-md-4"> <label class="field-title">Step: </label><input type="number" ng-model="slider_all_options.options.step"/><br/> <label class="field-title">Precision: </label><input type="number" ng-model="slider_all_options.options.precision"/><br/> <label>Hide limits <input type="checkbox" ng-model="slider_all_options.options.hideLimitLabels"></label><br/> <label>Draggable range <input type="checkbox" ng-model="slider_all_options.options.draggableRange"></label> </div> <div class="col-md-4"> <label>Show ticks <input type="checkbox" ng-model="slider_all_options.options.showTicks"></label><br/> <label>Show ticks values <input type="checkbox" ng-model="slider_all_options.options.showTicksValues"></label><br/> <label>Disabled <input type="checkbox" ng-model="slider_all_options.options.disabled"></label><br/> <label>Read-Only <input type="checkbox" ng-model="slider_all_options.options.readOnly"></label><br /> <label>Right to Left <input type="checkbox" ng-model="slider_all_options.options.rightToLeft"></label><br /> <label>Reversed Controls <input type="checkbox" ng-model="slider_all_options.options.reversedControls"></label><br /> <label>Vertical <input type="checkbox" ng-model="slider_all_options.options.vertical"></label> </div> </div> <rzslider rz-slider-model="slider_all_options.minValue" rz-slider-high="slider_all_options.maxValue" rz-slider-options="slider_all_options.options" ></rzslider> </article> </div> </body> <script src="../node_modules/angular/angular.js"></script> <script src="./lib/ui-bootstrap-tpls.js"></script> <script src="../dist/rzslider.js"></script> <script src="demo.js"></script> </html>