1// Name: Slider.SliderBehavior_resource.debug.js 2// Assembly: AjaxControlToolkit 3// Version: 3.5.7.1213 4// FileVersion: 3.5.7.1213 5 6 7 8/// <reference name="MicrosoftAjax.debug.js" /> 9/// <reference path="../ExtenderBase/BaseScripts.js" /> 10/// <reference path="../Common/Common.js" /> 11/// <reference path="../Compat/DragDrop/DragDropScripts.js" /> 12/// <reference path="../Animation/Animations.js" /> 13 14(function() { 15var scriptName = "ExtendedSlider"; 16 17function execute() { 18 19Type.registerNamespace('Sys.Extended.UI'); 20 21 22Sys.Extended.UI._SliderDragDropManagerInternal = function() { 23 Sys.Extended.UI._SliderDragDropManagerInternal.initializeBase(this); 24 25 this._instance = null; 26} 27Sys.Extended.UI._SliderDragDropManagerInternal.prototype = { 28 _getInstance : function() { 29 this._instance = new Sys.Extended.UI.GenericDragDropManager(); 30 31 this._instance.initialize(); 32 this._instance.add_dragStart(Function.createDelegate(this, this._raiseDragStart)); 33 this._instance.add_dragStop(Function.createDelegate(this, this._raiseDragStop)); 34 35 return this._instance; 36 } 37} 38Sys.Extended.UI._SliderDragDropManagerInternal.registerClass('Sys.Extended.UI._SliderDragDropManagerInternal', Sys.Extended.UI._DragDropManager); 39Sys.Extended.UI.SliderDragDropManagerInternal = new Sys.Extended.UI._SliderDragDropManagerInternal(); 40 41Sys.Extended.UI.SliderOrientation = function() { 42 43} 44Sys.Extended.UI.SliderOrientation.prototype = { 45 Horizontal : 0, 46 Vertical : 1 47} 48Sys.Extended.UI.SliderOrientation.registerEnum('Sys.Extended.UI.SliderOrientation', false); 49 50Sys.Extended.UI.SliderBehavior = function(element) { 51 Sys.Extended.UI.SliderBehavior.initializeBase(this, [element]); 52 53 this._minimum = 0; 54 this._maximum = 100; 55 this._value = null; 56 this._steps = 0; 57 this._decimals = 0; 58 this._orientation = Sys.Extended.UI.SliderOrientation.Horizontal; 59 this._railElement = null; 60 this._railCssClass = null; 61 this._isHorizontal = true; 62 this._isUpdatingInternal = false; 63 this._isInitializedInternal = false; 64 this._enableHandleAnimation = false; 65 this._handle = null; 66 this._handleImage = null; 67 this._handleAnimation = null; 68 this._handleAnimationDuration = 0.1; 69 this._handleImageUrl = null; 70 this._handleCssClass = null; 71 this._dragHandle = null; 72 this._mouseupHandler = null; 73 this._selectstartHandler = null; 74 this._boundControlChangeHandler = null; 75 this._boundControlKeyPressHandler = null; 76 this._boundControlID = null; 77 this._boundControl = null; 78 this._length = null; 79 this._raiseChangeOnlyOnMouseUp = true; 80 this._animationPending = false; 81 this._selectstartPending = false; 82 this._tooltipText = ''; 83 84 this._enableKeyboard = true; 85 86 this._keyDownHandler = null; 87 88} 89Sys.Extended.UI.SliderBehavior.prototype = { 90 91 initialize : function() { 92 Sys.Extended.UI.SliderBehavior.callBaseMethod(this, 'initialize'); 93 94 this._initializeLayout(); 95 }, 96 97 dispose : function() { 98 this._disposeHandlers(); 99 100 this._disposeBoundControl(); 101 102 if(this._enableHandleAnimation && this._handleAnimation) { 103 this._handleAnimation.dispose(); 104 } 105 106 Sys.Extended.UI.SliderBehavior.callBaseMethod(this, 'dispose'); 107 }, 108 109 _initializeLayout : function() { 110 this._railElement = document.createElement('DIV'); 111 this._railElement.id = this.get_id() + '_railElement'; 112 113 this._railElement.tabIndex = -1; 114 115 this._railElement.innerHTML = '<div></div>'; 116 this._handle = this._railElement.childNodes[0]; 117 this._handle.style.overflow = 'hidden'; 118 this._handle.style.position = 'absolute'; 119 120 if(Sys.Browser.agent == Sys.Browser.Opera) { 121 this._handle.style.left = '0px'; 122 this._handle.style.top = '0px'; 123 } 124
125 var textBoxElement = this.get_element(); 126 var textBoxElementBounds = $common.getBounds(textBoxElement); 127 textBoxElement.parentNode.insertBefore(this._railElement, textBoxElement); 128 129 this._isHorizontal = (this._orientation == Sys.Extended.UI.SliderOrientation.Horizontal); 130 131 var defaultRailCssClass = (this._isHorizontal) ? 'ajax__slider_h_rail' : 'ajax__slider_v_rail'; 132 var defaultHandleCssClass = (this._isHorizontal) ? 'ajax__slider_h_handle' : 'ajax__slider_v_handle'; 133 var defaultHandleImageUrl = (this._isHorizontal) ? 'WebResource.axd?d=Wfw997UiEcuLXOl1jIV1armyDgTjwVFWVoB0Rye7_VIVyH5yU7AIABzbqFPPJgudghxtDmyBTZw0M7rB205qVAQEOaFWGxUS8ICKBfMwSL9jok0mNisFM0Xf6uon338mMmeEdA2&t=636942241534201962' 134 : 'WebResource.axd?d=y7kkVX7AinMrIGf6uKTResjFd6WfkBdpjCCCT_HEl4QHYepUwLXr5EXOVzhQu3kTA8QLp0WQMQK6pyzfj59WFoWTpfq6_rE68eyjnPBlzMFDrEYO6eDVWJ0agaokBsuwiNVoJA2&t=636942241534201962'; 135 136 this._railElement.className = (this._railCssClass) ? this._railCssClass : defaultRailCssClass; 137 this._handle.className = (this._handleCssClass) ? this._handleCssClass : defaultHandleCssClass; 138 if(!this._handleImageUrl) this._handleImageUrl = defaultHandleImageUrl; 139 140 if (this._isHorizontal) { 141 if(this._length) this._railElement.style.width = this._length; 142 } 143 else { 144 if(this._length) this._railElement.style.height = this._length; 145 } 146 147 this._loadHandleImage(); 148 149 this._enforceTextBoxElementPositioning(); 150 151 this._hideTextBoxElement(); 152 153 this._initializeSlider(); 154 }, 155 156 _enforceTextBoxElementPositioning : function() { 157 var tbPosition = 158 { 159 position: this.get_element().style.position, 160 top: this.get_element().style.top, 161 right: this.get_element().style.right, 162 bottom: this.get_element().style.bottom, 163 left: this.get_element().style.left 164 }; 165 166 if(tbPosition.position != '') { 167 this._railElement.style.position = tbPosition.position; 168 } 169 if(tbPosition.top != '') { 170 this._railElement.style.top = tbPosition.top; 171 } 172 if(tbPosition.right != '') { 173 this._railElement.style.right = tbPosition.right; 174 } 175 if(tbPosition.bottom != '') { 176 this._railElement.style.bottom = tbPosition.bottom; 177 } 178 if(tbPosition.left != '') { 179 this._railElement.style.left = tbPosition.left; 180 } 181 }, 182 183 _hideTextBoxElement: function() { 184 var textBoxElement = this.get_element(); 185 186 textBoxElement.readOnly = true; 187 188 var dimension = '0px'; 189 190 if (Sys.Browser.agent == Sys.Browser.Safari) { 191 dimension = '1px'; 192 } 193 194 textBoxElement.style.width = dimension; 195 textBoxElement.style.height = dimension; 196 textBoxElement.style.border = '0px'; 197 textBoxElement.style.padding = '0px'; 198 textBoxElement.style.margin = '0px'; 199 textBoxElement.style.fontSize = '1px'; 200 textBoxElement.style.lineHeight = '1px'; 201 textBoxElement.style.outline = '0'; 202 203 textBoxElement.style.position = 'absolute'; 204 }, 205 206 _loadHandleImage : function() { 207 this._handleImage = document.createElement('IMG'); 208 this._handleImage.id = this.get_id() + '_handleImage'; 209 this._handle.appendChild(this._handleImage); 210 this._handleImage.src = this._handleImageUrl; 211 }, 212 213 _initializeSlider : function() { 214 this._initializeBoundControl(); 215 216 var _elementValue; 217 try { 218 _elementValue = parseFloat(this.get_element().value); 219 } catch(ex) { 220 _elementValue = Number.NaN; 221 } 222 223 this.set_Value(_elementValue); 224 225 this._setHandleOffset(this._value); 226 227 this._initializeDragHandle(); 228 229 Sys.Extended.UI.SliderDragDropManagerInternal.registerDropTarget(this); 230 231 this._initializeHandlers(); 232 233 this._initializeHandleAnimation(); 234 235 this._isInitializedInternal = true; 236 237 this._raiseEvent('sliderInitialized'); 238 }, 239 240 _initializeBoundControl : function() { 241 if(this._boundControl) { 242 var isInputElement = this._boundControl.nodeName == 'INPUT'; 243 244 if(isInputElement) { 245 this._boundControlChangeHandler = Function.createDelegate(this, this._onBoundControlChange); 246 this._boundControlKeyPressHandler = Function.createDelegate(this, this._onBoundControlKeyPress); 247 248 $addHandler(this._boundControl, 'change', this._boundControlChangeHandler); 249 $addHandler(this._boundControl, 'keypress', this._boundControlKeyPressHandler); 250 } 251 } 252 }, 253 254 _disposeBoundControl : function() { 255 if(this._boundControl) {; 256 var isInputElement = this._boundControl.nodeName == 'INPUT'; 257 258 if(isInputElement) { 259 $removeHandler(this._boundControl, 'change', this._boundControlChangeHandler); 260 $removeHandler(this._boundControl, 'keypress', this._boundControlKeyPressHandler); 261 } 262 } 263 }, 264 265 _onBoundControlChange : function(evt) { 266 this._animationPending = true; 267 this._setValueFromBoundControl(); 268 }, 269 270 _onBoundControlKeyPress : function(evt) { 271 if(evt.charCode == 13) { 272 this._animationPending = true; 273 this._setValueFromBoundControl(); 274 evt.preventDefault(); 275 } 276 }, 277 278 _setValueFromBoundControl : function() { 279 this._isUpdatingInternal = true; 280 281 if(this._boundControlID) { 282 this._calcValue($get(this._boundControlID).value); 283 } 284 285 this._isUpdatingInternal = false; 286 }, 287 288 _initializeHandleAnimation : function() { 289 if(this._steps > 0) { 290 this._enableHandleAnimation = false; 291 return; 292 } 293 294 if(this._enableHandleAnimation) { 295 this._handleAnimation = new Sys.Extended.UI.Animation.LengthA
295nimation( 296 this._handle, this._handleAnimationDuration, 100, 'style'); 297 } 298 }, 299 300 _ensureBinding : function() { 301 if(this._boundControl) { 302 var value = this._value; 303 304 if(value >= this._minimum || value <= this._maximum) { 305 var isInputElement = this._boundControl.nodeName == 'INPUT'; 306 307 if(isInputElement) { 308 this._boundControl.value = value; 309 } 310 else if(this._boundControl) { 311 this._boundControl.innerHTML = value; 312 } 313 } 314 } 315 }, 316 317 _getBoundsInternal : function(element) { 318 var bounds = $common.getBounds(element); 319 320 function hasSize() { 321 return bounds.width > 0 && bounds.height > 0; 322 } 323 324 if(!hasSize()) { 325 bounds.width = parseInt($common.getCurrentStyle(element, 'width')); 326 bounds.height = parseInt($common.getCurrentStyle(element, 'height')); 327 328 if(!hasSize()) { 329 var tempNode = element.cloneNode(true); 330 tempNode.visibility = 'hidden'; 331 document.body.appendChild(tempNode); 332 333 bounds.width = parseInt($common.getCurrentStyle(tempNode, 'width')); 334 bounds.height = parseInt($common.getCurrentStyle(tempNode, 'height')); 335 document.body.removeChild(tempNode); 336 337 if(!hasSize()) { 338 throw Error.argument('element size', Sys.Extended.UI.Resources.Slider_NoSizeProvided); 339 } 340 } 341 } 342 343 if(this._orientation == Sys.Extended.UI.SliderOrientation.Vertical) { 344 bounds = { x : bounds.y, 345 y : bounds.x, 346 height : bounds.width, 347 width : bounds.height, 348 right : bounds.right, 349 bottom : bounds.bottom, 350 location : {x:bounds.y, y:bounds.x}, 351 size : {width:bounds.height, height:bounds.width} 352 }; 353 } 354 355 return bounds; 356 }, 357 358 _getRailBounds : function() { 359 var bounds = this._getBoundsInternal(this._railElement); 360 361 return bounds; 362 }, 363 364 _getHandleBounds : function() { 365 return this._getBoundsInternal(this._handle); 366 }, 367 368 _initializeDragHandle : function() { 369 var dh = this._dragHandle = document.createElement('DIV'); 370 371 dh.style.position = 'absolute'; 372 dh.style.width = '1px'; 373 dh.style.height = '1px'; 374 dh.style.overflow = 'hidden'; 375 dh.style.zIndex = '999'; 376 dh.style.background = 'none'; 377 378 document.body.appendChild(this._dragHandle); 379 }, 380 381 _resetDragHandle : function() { 382 var handleBounds = $common.getBounds(this._handle); 383 384 $common.setLocation(this._dragHandle, {x:handleBounds.x, y:handleBounds.y}); 385 }, 386 387 _initializeHandlers : function() { 388 this._selectstartHandler = Function.createDelegate(this, this._onSelectStart); 389 this._mouseupHandler = Function.createDelegate(this, this._onMouseUp); 390 391 this._keyDownHandler = Function.createDelegate(this, this._onKeyDown); 392 393 $addHandler(document, 'mouseup', this._mouseupHandler); 394 395 $addHandler(this.get_element(), 'keydown', this._keyDownHandler); 396 397 $addHandlers(this._handle, 398 { 399 'mousedown': this._onMouseDown, 400 'dragstart': this._IEDragDropHandler, 401 'drag': this._IEDragDropHandler, 402 'dragend': this._IEDragDropHandler 403 }, 404 this); 405 406 $addHandlers(this._railElement, 407 { 408 'click': this._onRailClick 409 }, 410 this); 411 }, 412 413 _disposeHandlers : function() { 414 $clearHandlers(this._handle); 415 $clearHandlers(this._railElement); 416
417 $removeHandler(this.get_element(), 'keydown', this._keyDownHandler); 418 419 $removeHandler(document, 'mouseup', this._mouseupHandler); 420 421 this._keyDownHandler = null; 422 this._mouseupHandler = null; 423 this._selectstartHandler = null; 424 }, 425 426 startDragDrop : function(dragVisual) { 427 this._resetDragHandle(); 428 429 Sys.Extended.UI.SliderDragDropManagerInternal.startDragDrop(this, dragVisual, null); 430 }, 431 432 _onMouseDown : function(evt) { 433 window._event = evt; 434 evt.preventDefault(); 435 436 if(!Sys.Extended.UI.SliderBehavior.DropPending) { 437 Sys.Extended.UI.SliderBehavior.DropPending = this; 438 439 $addHandler(document, 'selectstart', this._selectstartHandler); 440 this._selectstartPending = true; 441 442 this.startDragDrop(this._dragHandle); 443 } 444 }, 445 446 _onMouseUp : function(evt) { 447 var srcElement = evt.target; 448 449 if(Sys.Extended.UI.SliderBehavior.DropPending == this) { 450 Sys.Extended.UI.SliderBehavior.DropPending = null; 451 452 if(this._selectstartPending) { 453 $removeHandler(document, 'selectstart', this._selectstartHandler); 454 } 455 } 456 }, 457 458 _onKeyDown: function(e) { 459 if (this._enableKeyboard) { 460 var evt = new Sys.UI.DomEvent(e); 461 462 switch (evt.keyCode || evt.rawEvent.keyCode) { 463 case Sys.UI.Key.up: 464 case Sys.UI.Key.left: 465 this._handleSlide(true); 466 evt.preventDefault(); 467 return; 468 case Sys.UI.Key.down: 469 case Sys.UI.Key.right: 470 this._handleSlide(false); 471 evt.preventDefault(); 472 return false; 473 default: 474 return false; 475 } 476 } 477 }, 478 479 _handleSlide: function(decrement) { 480 this._animationPending = true; 481 482 this._isUpdatingInternal = true; 483 484 var currentValue = this.get_Value(); 485 var increment; 486 487 if (this._steps > 0) { 488 var extent = this._maximum - this._minimum; 489 490 var delta = (extent / (this._steps - 1)).toFixed(this._decimals); 491 492 increment = delta; 493 } else { 494 increment = this._decimals == 0 ? 1 : 1 / Math.pow(10, this._decimals); 495 } 496 497 if (decrement) { 498 increment = 0 - increment 499 } 500 501 this._calcValue(parseFloat(currentValue) + parseFloat(increment)); 502 503 this._isUpdatingInternal = false; 504 505 this._fireTextBoxChangeEvent(); 506 }, 507 508 _onRailClick : function(evt) { 509 if(evt.target == this._railElement) { 510 this._animationPending = true; 511 this._onRailClicked(evt); 512 } 513 }, 514 515 _IEDragDropHandler : function(evt) { 516 evt.preventDefault(); 517 }, 518 519 _onSelectStart : function(evt) { 520 evt.preventDefault(); 521 }, 522 523 _calcValue : function(value, mouseOffset) { 524 var val; 525 526 if(value != null) { 527 if(!Number.isInstanceOfType(value)) { 528 try { 529 value = parseFloat(value); 530 } catch(ex) { 531 value = Number.NaN; 532 } 533 } 534 535 if(isNaN(value)) { 536 value = this._minimum; 537 } 538 539 val = (value < this._minimum) ? this._minimum 540 : (value > this._maximum) ? this._maximum 541 : value; 542 } 543 else { 544 var _minimum = this._minimum; 545 var _maximum = this._maximum; 546 var handleBounds = this._getHandleBounds(); 547 var sliderBounds = this._getRailBounds(); 548 var handleX = (mouseOffset) ? mouseOffset - handleBounds.width / 2 549 : handleBounds.x - sliderBounds.x; 550 var extent = sliderBounds.width - handleBounds.width;
551 var percent = handleX / extent; 552 553 val = (handleX == 0) ? _minimum 554 : (handleX == (sliderBounds.width - handleBounds.width)) ? _maximum 555 : _minimum + percent * (_maximum - _minimum); 556 } 557 558 if(this._steps > 0) { 559 val = this._getNearestStepValue(val); 560 } 561 562 val = (val < this._minimum) ? this._minimum 563 : (val > this._maximum) ? this._maximum 564 : val; 565 566 this._isUpdatingInternal = true; 567 this.set_Value(val); 568 this._isUpdatingInternal = false; 569 570 return val; 571 }, 572 573 _setHandleOffset : function(value, playHandleAnimation) { 574 var _minimum = this._minimum; 575 var _maximum = this._maximum; 576 var handleBounds = this._getHandleBounds(); 577 var sliderBounds = this._getRailBounds(); 578 579 var extent = _maximum - _minimum; 580 var fraction = (value - _minimum) / extent; 581 var hypOffset = Math.round(fraction * (sliderBounds.width - handleBounds.width)); 582 583 var offset = (value == _minimum) ? 0 584 : (value == _maximum) ? (sliderBounds.width - handleBounds.width) 585 : hypOffset; 586 587 if(playHandleAnimation) { 588 this._handleAnimation.set_startValue(handleBounds.x - sliderBounds.x); 589 this._handleAnimation.set_endValue(offset); 590 this._handleAnimation.set_propertyKey((this._isHorizontal) ? 'left' : 'top'); 591 this._handleAnimation.play(); 592 593 this._animationPending = false; 594 } 595 else { 596 if(this._isHorizontal) { 597 this._handle.style.left = offset + 'px'; 598 } 599 else { 600 this._handle.style.top = offset + 'px'; 601 } 602 } 603 }, 604 605 _getNearestStepValue : function(value) { 606 if(this._steps == 0) return value; 607 608 var extent = this._maximum - this._minimum; 609 if (extent == 0) return value; 610 611 var delta = extent / (this._steps - 1); 612 613 return Math.round(value / delta) * delta; 614 }, 615 616 _onHandleReleased : function() { 617 if(this._raiseChangeOnlyOnMouseUp) { 618 this._fireTextBoxChangeEvent(); 619 } 620 621 this._raiseEvent('slideEnd'); 622 }, 623 624 _onRailClicked : function(evt) { 625 var handleBounds = this._getHandleBounds(); 626 var sliderBounds = this._getRailBounds(); 627 var offset = (this._isHorizontal) ? evt.offsetX : evt.offsetY; 628 var minOffset = handleBounds.width / 2; 629 var maxOffset = sliderBounds.width - minOffset; 630 631 offset = (offset < minOffset) ? minOffset 632 : (offset > maxOffset) ? maxOffset 633 : offset; 634 635 this._calcValue(null, offset, true); 636 637 this.get_element().focus(); 638 639 this._fireTextBoxChangeEvent(); 640 }, 641 642 _fireTextBoxChangeEvent : function() { 643 if (document.createEvent) { 644 var onchangeEvent = document.createEvent('HTMLEvents'); 645 onchangeEvent.initEvent('change', true, false); 646 647 this.get_element().dispatchEvent(onchangeEvent); 648 } 649 else if(document.createEventObject) { 650 this.get_element().fireEvent('onchange'); 651 } 652 }, 653 654 get_dragDataType : function() { 655 return 'HTML'; 656 }, 657 658 getDragData : function() { 659 return this._handle; 660 }, 661 662 get_dragMode : function() { 663 return Sys.Extended.UI.DragMode.Move; 664 }, 665 666 onDragStart : function() { 667 this.get_element().focus(); 668 669 this._resetDragHandle(); 670 this._raiseEvent('slideStart'); 671 }, 672 673 onDrag : function() { 674 var dragHandleBounds = this._getBoundsInternal(this._dragHandle); 675 var handleBounds = this._getHandleBounds(); 676 var sliderBounds = this._getRailBounds(); 677 678 var handlePosition; 679 if(this._isHorizontal) { 680 handlePosition = { x:dragHandleBounds.x - sliderBounds.x, y:0 }; 681 } 682 else { 683 handlePosition = { y:dragHandleBounds.x - sliderBounds.x, x:0 }; 684 } 685 686 $common.setLocation(this._handle, handlePosition); 687 688 this._calcValue(null, null); 689 690 if(this._steps > 1) { 691 this._setHandleOffset(this.get_Value(), false); 692 } 693 }, 694 695 onDragEnd : function() { 696 this._onHandleReleased(); 697 }, 698 699 get_dropTargetElement : function() { 700 return document.body; 701 }, 702 703 canDrop : function(dragMode, dataType) { 704 return dataType == 'HTML'; 705 }, 706 707 drop : Function.emptyMethod, 708 709 onDragEnterTarget : Function.emptyMethod, 710 711 onDragLeaveTarget : Function.emptyMethod, 712 713 onDragInTarget : Function.emptyMethod, 714 715 add_sliderInitialized : function(handler) { 716 this.get_events().addHandler('sliderInitialized', handler); 717 }, 718 719 remove_sliderInitialized : function(handler) { 720 this.get_events().removeHandler('sliderInitialized', handler); 721 }, 722 723 add_valueChanged : function(handler) { 724 this.get_events().addHandler('valueChanged', handler); 725 }, 726 727 remove_valueChanged : function(handler) { 728 this.get_events().removeHandler('valueChanged', handler); 729 }, 730 731 add_slideStart : function(handler) { 732 this.get_events().addHandler('slideStart', handler); 733 }, 734 735 remove_slideStart : function(handler) { 736 this.get_events().removeHandler('slideStart', handler); 737 }, 738 739 add_slideEnd : function(handler) { 740 this.get_events().addHandler('slideEnd', handler); 741 }, 742 743 remove_slideEnd : function(handler) { 744 this.get_events().removeHandler('slideEnd', handler); 745 }, 746 747 _raiseEvent : function(eventName, eventArgs) { 748 var handler = this.get_events().getHandler(eventName); 749 if (handler) { 750 if (!eventArgs) { 751 eventArgs = Sys.EventArgs.Empty; 752 } 753 handler(this, eventArgs); 754 } 755 }, 756 757 get_Value : function() { 758 return this._value; 759 }, 760 761 set_Value : function(value) { 762 var oldValue = this._value; 763 var newValue = value; 764 765 if(!this._isUpdatingInternal) { 766 newValue = this._calcValue(value); 767 } 768
769 this.get_element().value = this._value = newValue.toFixed(this._decimals); 770 771 this._ensureBinding(); 772 773 if(!Number.isInstanceOfType(this._value)) { 774 try { 775 this._value = parseFloat(this._value); 776 } catch(ex) { 777 this._value = Number.NaN; 778 } 779 } 780 781 if(this._tooltipText) { 782 this._handle.alt = this._handle.title = 783 String.format(this._tooltipText, this._value); 784 } 785 786 if(this._isInitializedInternal) { 787 this._setHandleOffset(newValue, this._enableHandleAnimation && this._animationPending); 788 789 if(this._isUpdatingInternal) { 790 if(!this._raiseChangeOnlyOnMouseUp) { 791 this._fireTextBoxChangeEvent(); 792 } 793 } 794 795 if(this._value != oldValue) { 796 this._raiseEvent('valueChanged'); 797 } 798 } 799 }, 800 801 get_RailCssClass : function() { 802 return this._railCssClass; 803 }, 804 805 set_RailCssClass : function(value) { 806 this._railCssClass = value; 807 }, 808 809 get_HandleImageUrl : function() { 810 return this._handleImageUrl; 811 }, 812 813 set_HandleImageUrl : function(value) { 814 this._handleImageUrl = value; 815 }, 816 817 get_HandleCssClass : function() { 818 return this._handleCssClass; 819 }, 820 821 set_HandleCssClass : function(value) { 822 this._handleCssClass = value; 823 }, 824 825 get_Minimum : function() { 826 return this._minimum; 827 }, 828 829 set_Minimum : function(value) { 830 this._minimum = value; 831 }, 832 833 get_Maximum : function() { 834 return this._maximum; 835 }, 836 837 set_Maximum : function(value) { 838 this._maximum = value; 839 }, 840 841 get_Orientation : function() { 842 return this._orientation; 843 }, 844 845 set_Orientation : function(value) { 846 this._orientation = value; 847 }, 848 849 get_Steps : function() { 850 return this._steps; 851 }, 852 853 set_Steps : function(value) { 854 this._steps = Math.abs(value); 855 this._steps = (this._steps == 1) ? 2 : this._steps; 856 }, 857 858 get_Decimals : function() { 859 return this._decimals; 860 }, 861 862 set_Decimals : function(value) { 863 this._decimals = Math.abs(value); 864 }, 865 866 get_EnableHandleAnimation : function() { 867 return this._enableHandleAnimation; 868 }, 869 870 set_EnableHandleAnimation : function(value) { 871 this._enableHandleAnimation = value; 872 }, 873 874 get_HandleAnimationDuration : function() { 875 return this._handleAnimationDuration; 876 }, 877 878 set_HandleAnimationDuration : function(value) { 879 this._handleAnimationDuration = value; 880 }, 881 882 get_BoundControlID : function() { 883 return this._boundControlID; 884 }, 885 886 set_BoundControlID : function(value) { 887 this._boundControlID = value; 888 if(this._boundControlID) { 889 this._boundControl = $get(this._boundControlID); 890 } else { 891 this._boundControl = null; 892 } 893 }, 894 895 get_Length : function() { 896 return this._length; 897 }, 898 899 set_Length : function(value) { 900 this._length = value + 'px'; 901 }, 902 903 get_SliderInitialized : function() { 904 return this._isInitializedInternal; 905 }, 906 907 get_RaiseChangeOnlyOnMouseUp : function() { 908 return this._raiseChangeOnlyOnMouseUp; 909 }, 910 911 set_RaiseChangeOnlyOnMouseUp : function(value) { 912 this._raiseChangeOnlyOnMouseUp = value; 913 }, 914 915 get_TooltipText : function() { 916 return this._tooltipText; 917 }, 918 919 set_TooltipText : function(value) { 920 this._tooltipText = value; 921 }, 922 923 get_enableKeyboard: function() { 924 /// <value type="Boolean"> 925 /// Determines if the slider will respond to arrow keys when it has focus. 926 /// </value> 927 928 return this._enableKeyboard; 929 }, 930 set_enableKeyboard: function(value) { 931 /// <value type="Boolean"> 932 /// Determines if the slider will respond to arrow keys when it has focus. 933 /// </value> 934 935 if (value !== this._enableKeyboard) { 936 this._enableKeyboard = value; 937 this.raisePropertyChanged('enableKeyboard'); 938 } 939 }, 940 941 getClientState : function() {
942 var value = Sys.Extended.UI.SliderBehavior.callBaseMethod(this, 'get_ClientState'); 943 if (value == '') value = null; 944 return value; 945 }, 946 947 setClientState : function(value) { 948 return Sys.Extended.UI.SliderBehavior.callBaseMethod(this, 'set_ClientState',[value]); 949 } 950} 951 952Sys.Extended.UI.SliderBehavior.DropPending = null; // Global, used to work around an issue when using the GenericDragDropManager in IE. 953 954Sys.Extended.UI.SliderBehavior.registerClass('Sys.Extended.UI.SliderBehavior', Sys.Extended.UI.BehaviorBase, Sys.Extended.UI.IDragSource, Sys.Extended.UI.IDropTarget); 955 956} // execute 957 958if (window.Sys && Sys.loader) { 959 Sys.loader.registerScript(scriptName, ["ExtendedBase", "ExtendedDragDrop", "ExendedAnimations"], execute); 960} 961else { 962 execute(); 963} 964 965})(); 966 967if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.