mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Use style classes to produce left floating text field
This commit is contained in:
@@ -14,8 +14,8 @@ define([ 'utils/utils' ], function( Utils ) {
|
||||
|
||||
// create new element
|
||||
this.setElement( this._template( this.model.attributes ) );
|
||||
this.$text = this.$( '.ui-form-slider-text' );
|
||||
this.$slider = this.$( '.ui-form-slider-element' );
|
||||
this.$text = this.$( '.ui-form-slider-text' );
|
||||
this.$slider = this.$( '.ui-form-slider-element' );
|
||||
|
||||
// add text field event
|
||||
var pressed = [];
|
||||
@@ -45,6 +45,7 @@ define([ 'utils/utils' ], function( Utils ) {
|
||||
},
|
||||
|
||||
render: function() {
|
||||
var self = this;
|
||||
var options = this.model.attributes;
|
||||
var useslider = options.max !== null && options.min !== null && options.max > options.min;
|
||||
var step = options.step;
|
||||
@@ -55,16 +56,10 @@ define([ 'utils/utils' ], function( Utils ) {
|
||||
step = 1.0;
|
||||
}
|
||||
}
|
||||
if ( useslider ) {
|
||||
this.$slider.slider( { min: options.min, max: options.max, step: step } )
|
||||
.on( 'slide', function ( event, ui ) {
|
||||
self.value( ui.value );
|
||||
}).show();
|
||||
this.$text.css( 'width', 'auto' );
|
||||
} else {
|
||||
this.$slider.hide();
|
||||
this.$text.css( 'width', '100%' );
|
||||
}
|
||||
this.$text[ useslider ? 'addClass' : 'removeClass' ]( 'ui-form-slider-left' );
|
||||
this.$slider[ useslider ? 'show' : 'hide' ]();
|
||||
useslider && this.$slider.slider( { min: options.min, max: options.max, step: step } )
|
||||
.on( 'slide', function ( event, ui ) { self.value( ui.value ) } );
|
||||
},
|
||||
|
||||
/** Set and Return the current value */
|
||||
|
||||
@@ -746,8 +746,11 @@
|
||||
width: 100%;
|
||||
.ui-form-slider-text {
|
||||
&:extend(.ui-input);
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.ui-form-slider-left {
|
||||
float: left;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.ui-form-slider-element {
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"ui-slider.js","sources":["../../../src/mvc/ui/ui-slider.js"],"names":["define","Utils","View","Backbone","extend","initialize","options","self","this","model","Model","id","uid","min","max","step","precise","split","value","set","setElement","_template","attributes","$text","$","$slider","pressed","on","val","e","which","get","v","event","preventDefault","indexOf","_isParameter","listenTo","render","useslider","slider","ui","show","css","hide","new_val","undefined","isNaN","Math","onchange","String","substring"],"mappings":"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"}
|
||||
{"version":3,"file":"ui-slider.js","sources":["../../../src/mvc/ui/ui-slider.js"],"names":["define","Utils","View","Backbone","extend","initialize","options","self","this","model","Model","id","uid","min","max","step","precise","split","value","set","setElement","_template","attributes","$text","$","$slider","pressed","on","val","e","which","get","v","event","preventDefault","indexOf","_isParameter","listenTo","render","useslider","slider","ui","new_val","undefined","isNaN","Math","onchange","String","substring"],"mappings":"AAAAA,QAAS,eAAiB,SAAUC,GAChC,GAAIC,GAAOC,SAASD,KAAKE,QACrBC,WAAa,SAAUC,GACnB,GAAIC,GAAOC,IACXA,MAAKC,MAAQH,GAAWA,EAAQG,OAAS,GAAIN,UAASO,OAClDC,GAAUV,EAAMW,MAChBC,IAAU,KACVC,IAAU,KACVC,KAAU,KACVC,SAAU,EACVC,MAAU,IACVC,MAAU,OACXC,IAAKb,GAGRE,KAAKY,WAAYZ,KAAKa,UAAWb,KAAKC,MAAMa,aAC5Cd,KAAKe,MAAUf,KAAKgB,EAAG,wBACvBhB,KAAKiB,QAAUjB,KAAKgB,EAAG,0BAGvB,IAAIE,KACJlB,MAAKe,MAAMI,GAAI,SAAU,WACrBpB,EAAKW,MAAOM,EAAGhB,MAAOoB,SACvBD,GAAI,QAAS,SAAUE,GACtBH,EAAQG,EAAEC,QAAS,EACnBvB,EAAKE,MAAMsB,IAAK,aAAgBxB,EAAKE,MAAMsB,IAAK,YAAcP,EAAGhB,MAAOoB,SACzED,GAAI,UAAW,SAAWE,GACzB,GAAIG,GAAIH,EAAEC,KACVJ,GAASM,IAAM,EACVzB,EAAKE,MAAMsB,IAAK,gBAAmBL,EAAS,KAAa,IAALM,GACrDzB,EAAKW,MAAO,KACZe,MAAMC,kBACS,GAALF,GAAe,GAALA,GAAe,IAALA,GAAgB,IAALA,GAAgB,IAALA,GAAaA,GAAK,IAAW,IAALA,IAAYN,EAAS,KAAYM,GAAK,IAAW,KAALA,IAC5G,KAALA,GAAiB,KAALA,IAAgD,IAAlCR,EAAGhB,MAAOoB,MAAMO,QAAS,MAAe5B,EAAKE,MAAMsB,IAAK,aAC7E,KAALC,GAAiB,KAALA,IAAgD,IAAlCR,EAAGhB,MAAOoB,MAAMO,QAAS,MACvD5B,EAAK6B,aAAcZ,EAAGhB,MAAOoB,QAC7BF,EAAS,KAAQA,EAAS,KAC7BO,MAAMC,mBAKd1B,KAAK6B,SAAU7B,KAAKC,MAAO,SAAUD,KAAK8B,OAAQ9B,MAClDA,KAAK8B,UAGTA,OAAQ,WACJ,GAAI/B,GAAOC,KACPF,EAAUE,KAAKC,MAAMa,WACrBiB,EAA4B,OAAhBjC,EAAQQ,KAAgC,OAAhBR,EAAQO,KAAgBP,EAAQQ,IAAMR,EAAQO,IAClFE,EAAOT,EAAQS,IACbA,KAEEA,EADCT,EAAQU,SAAWuB,GACXjC,EAAQQ,IAAMR,EAAQO,KAAQP,EAAQW,MAExC,GAGfT,KAAKe,MAAOgB,EAAY,WAAa,eAAiB,uBACtD/B,KAAKiB,QAASc,EAAY,OAAS,UACnCA,GAAa/B,KAAKiB,QAAQe,QAAU3B,IAAKP,EAAQO,IAAKC,IAAKR,EAAQQ,IAAKC,KAAMA,IACpDY,GAAI,QAAS,SAAWM,EAAOQ,GAAOlC,EAAKW,MAAOuB,EAAGvB,UAInFA,MAAQ,SAAWwB,GACf,GAAIpC,GAAUE,KAAKC,MAAMa,UAWzB,OAViBqB,UAAZD,IACgB,OAAZA,GAAgC,KAAZA,GAAmBlC,KAAK4B,aAAcM,KAC3DE,MAAOF,KAAeA,EAAU,GAChB,OAAhBpC,EAAQQ,MAAkB4B,EAAUG,KAAKhC,IAAK6B,EAASpC,EAAQQ,MAC/C,OAAhBR,EAAQO,MAAkB6B,EAAUG,KAAK/B,IAAK4B,EAASpC,EAAQO,OAEnEL,KAAKiB,SAAWjB,KAAKiB,QAAQe,OAAQ,QAASE,GAC9ClC,KAAKe,MAAMK,IAAKc,GAChBpC,EAAQwC,UAAYxC,EAAQwC,SAAUJ,IAEnClC,KAAKe,MAAMK,OAItBQ,aAAc,SAAUlB,GACpB,MAAOV,MAAKC,MAAMsB,IAAK,gBAAyD,MAAtCgB,OAAQ7B,GAAQ8B,UAAW,EAAG,IAI5E3B,UAAW,SAAUf,GACjB,MAAQ,YAAcA,EAAQK,GAAK,yHAO3C,QACIT,KAAOA"}
|
||||
@@ -3095,17 +3095,14 @@ webpackJsonp([4,1],[
|
||||
max: null,
|
||||
step: null,
|
||||
precise: false,
|
||||
split: 10000
|
||||
split: 10000,
|
||||
value: null
|
||||
}).set(options);
|
||||
|
||||
// create new element
|
||||
this.setElement(this._template(this.model.attributes));
|
||||
this.$text = this.$('#text');
|
||||
this.$slider = this.$('#slider');
|
||||
this.$slider_text = this.$('.ui-form-slider-text');
|
||||
|
||||
// set initial value
|
||||
this.options.value !== undefined && this.value(this.options.value);
|
||||
this.$text = this.$('.ui-form-slider-text');
|
||||
this.$slider = this.$('.ui-form-slider-element');
|
||||
|
||||
// add text field event
|
||||
var pressed = [];
|
||||
@@ -3125,11 +3122,13 @@ webpackJsonp([4,1],[
|
||||
}
|
||||
});
|
||||
|
||||
// add change listener
|
||||
this.listenTo(this.model, 'change', this.render, this);
|
||||
this.render();
|
||||
},
|
||||
|
||||
render: function () {
|
||||
var self = this;
|
||||
var options = this.model.attributes;
|
||||
var useslider = options.max !== null && options.min !== null && options.max > options.min;
|
||||
var step = options.step;
|
||||
@@ -3144,9 +3143,10 @@ webpackJsonp([4,1],[
|
||||
this.$slider.slider({ min: options.min, max: options.max, step: step }).on('slide', function (event, ui) {
|
||||
self.value(ui.value);
|
||||
}).show();
|
||||
this.$text.css('width', 'auto');
|
||||
} else {
|
||||
this.$slider.hide();
|
||||
this.$slide_text.css('width', '100%');
|
||||
this.$text.css('width', '100%');
|
||||
}
|
||||
},
|
||||
|
||||
@@ -3173,7 +3173,7 @@ webpackJsonp([4,1],[
|
||||
|
||||
/** Slider template */
|
||||
_template: function (options) {
|
||||
return '<div id="' + options.id + '" class="ui-form-slider">' + '<input id="text" type="text" class="ui-form-slider-text"/>' + '<div id="slider" class="ui-form-slider-element"/>' + '</div>';
|
||||
return '<div id="' + options.id + '" class="ui-form-slider">' + '<input type="text" class="ui-form-slider-text"/>' + '<div class="ui-form-slider-element"/>' + '</div>';
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,2 +1,2 @@
|
||||
define(["utils/utils"],function(a){var b=Backbone.View.extend({initialize:function(b){var c=this;this.model=b&&b.model||new Backbone.Model({id:a.uid(),min:null,max:null,step:null,precise:!1,split:1e4,value:null}).set(b),this.setElement(this._template(this.model.attributes)),this.$text=this.$(".ui-form-slider-text"),this.$slider=this.$(".ui-form-slider-element");var d=[];this.$text.on("change",function(){c.value($(this).val())}).on("keyup",function(a){d[a.which]=!1,c.model.get("onchange")&&c.model.get("onchange")($(this).val())}).on("keydown",function(a){var b=a.which;d[b]=!0,c.model.get("is_workflow")&&d[16]&&52==b?(c.value("$"),event.preventDefault()):8==b||9==b||13==b||37==b||39==b||b>=48&&57>=b&&!d[16]||b>=96&&105>=b||(190==b||110==b)&&-1==$(this).val().indexOf(".")&&c.model.get("precise")||(189==b||109==b)&&-1==$(this).val().indexOf("-")||c._isParameter($(this).val())||d[91]||d[17]||event.preventDefault()}),this.listenTo(this.model,"change",this.render,this),this.render()},render:function(){var a=this.model.attributes,b=null!==a.max&&null!==a.min&&a.max>a.min,c=a.step;c||(c=a.precise&&b?(a.max-a.min)/a.split:1),b?(this.$slider.slider({min:a.min,max:a.max,step:c}).on("slide",function(a,b){self.value(b.value)}).show(),this.$text.css("width","auto")):(this.$slider.hide(),this.$text.css("width","100%"))},value:function(a){var b=this.model.attributes;return void 0!==a&&(null===a||""===a||this._isParameter(a)||(isNaN(a)&&(a=0),null!==b.max&&(a=Math.min(a,b.max)),null!==b.min&&(a=Math.max(a,b.min))),this.$slider&&this.$slider.slider("value",a),this.$text.val(a),b.onchange&&b.onchange(a)),this.$text.val()},_isParameter:function(a){return this.model.get("is_workflow")&&"$"===String(a).substring(0,1)},_template:function(a){return'<div id="'+a.id+'" class="ui-form-slider"><input type="text" class="ui-form-slider-text"/><div class="ui-form-slider-element"/></div>'}});return{View:b}});
|
||||
define(["utils/utils"],function(a){var b=Backbone.View.extend({initialize:function(b){var c=this;this.model=b&&b.model||new Backbone.Model({id:a.uid(),min:null,max:null,step:null,precise:!1,split:1e4,value:null}).set(b),this.setElement(this._template(this.model.attributes)),this.$text=this.$(".ui-form-slider-text"),this.$slider=this.$(".ui-form-slider-element");var d=[];this.$text.on("change",function(){c.value($(this).val())}).on("keyup",function(a){d[a.which]=!1,c.model.get("onchange")&&c.model.get("onchange")($(this).val())}).on("keydown",function(a){var b=a.which;d[b]=!0,c.model.get("is_workflow")&&d[16]&&52==b?(c.value("$"),event.preventDefault()):8==b||9==b||13==b||37==b||39==b||b>=48&&57>=b&&!d[16]||b>=96&&105>=b||(190==b||110==b)&&-1==$(this).val().indexOf(".")&&c.model.get("precise")||(189==b||109==b)&&-1==$(this).val().indexOf("-")||c._isParameter($(this).val())||d[91]||d[17]||event.preventDefault()}),this.listenTo(this.model,"change",this.render,this),this.render()},render:function(){var a=this,b=this.model.attributes,c=null!==b.max&&null!==b.min&&b.max>b.min,d=b.step;d||(d=b.precise&&c?(b.max-b.min)/b.split:1),this.$text[c?"addClass":"removeClass"]("ui-form-slider-left"),this.$slider[c?"show":"hide"](),c&&this.$slider.slider({min:b.min,max:b.max,step:d}).on("slide",function(b,c){a.value(c.value)})},value:function(a){var b=this.model.attributes;return void 0!==a&&(null===a||""===a||this._isParameter(a)||(isNaN(a)&&(a=0),null!==b.max&&(a=Math.min(a,b.max)),null!==b.min&&(a=Math.max(a,b.min))),this.$slider&&this.$slider.slider("value",a),this.$text.val(a),b.onchange&&b.onchange(a)),this.$text.val()},_isParameter:function(a){return this.model.get("is_workflow")&&"$"===String(a).substring(0,1)},_template:function(a){return'<div id="'+a.id+'" class="ui-form-slider"><input type="text" class="ui-form-slider-text"/><div class="ui-form-slider-element"/></div>'}});return{View:b}});
|
||||
//# sourceMappingURL=../../../maps/mvc/ui/ui-slider.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -3,9 +3,12 @@
|
||||
test environment is bootstrapped in test-common.js -->
|
||||
<html>
|
||||
<head>
|
||||
<link href="../../../static/style/blue/jquery-ui/smoothness/jquery-ui.css" media="screen" rel="stylesheet" type="text/css">
|
||||
<link href="../../../static/style/blue/base.css" media="screen" rel="stylesheet" type="text/css">
|
||||
<script data-main="../test-common" src="../scripts/libs/require.js"></script>
|
||||
<script src="../scripts/libs/jquery/jquery.js"></script>
|
||||
<script src="../scripts/libs/jquery/jquery-ui.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
@@ -1,6 +1,6 @@
|
||||
/* global define, QUnit, module, test, ok, equal, deepEqual, notEqual */
|
||||
define([ 'test-app', 'mvc/ui/ui-misc', 'mvc/ui/ui-select-content', 'mvc/ui/ui-drilldown', 'mvc/ui/ui-thumbnails', 'mvc/ui/ui-tabs'
|
||||
], function( testApp, Ui, SelectContent, Drilldown, Thumbnails, Tabs ){
|
||||
define([ 'test-app', 'mvc/ui/ui-misc', 'mvc/ui/ui-select-content', 'mvc/ui/ui-drilldown', 'mvc/ui/ui-slider', 'mvc/ui/ui-thumbnails', 'mvc/ui/ui-tabs'
|
||||
], function( testApp, Ui, SelectContent, Drilldown, Slider, Thumbnails, Tabs ){
|
||||
'use strict';
|
||||
module( 'Ui test', {
|
||||
setup: function() {
|
||||
@@ -581,6 +581,12 @@ define([ 'test-app', 'mvc/ui/ui-misc', 'mvc/ui/ui-select-content', 'mvc/ui/ui-dr
|
||||
ok( label.$el.html() === '_new_title', 'Correct new title' );
|
||||
} );
|
||||
|
||||
test( 'slider', function() {
|
||||
var input = new Slider.View( { min: 1, max: 100, value: 5 } );
|
||||
$( 'body' ).prepend( input.$el );
|
||||
ok( true );
|
||||
} );
|
||||
|
||||
test( 'input', function() {
|
||||
var input = new Ui.Input();
|
||||
$( 'body' ).prepend( input.$el );
|
||||
|
||||
Reference in New Issue
Block a user