iqvoc 3.5.6 → 3.5.7
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +9 -0
- data/Gemfile +3 -2
- data/Gemfile.lock +71 -65
- data/README.md +5 -4
- data/app/assets/javascripts/framework.js +1 -1
- data/app/assets/javascripts/iqvoc/entityselect.js.erb +20 -19
- data/app/assets/javascripts/iqvoc/entityselect_qualified.js.erb +45 -0
- data/app/assets/javascripts/iqvoc/iqvoc.js +2 -2
- data/app/assets/javascripts/iqvoc/manifest.js +1 -0
- data/app/assets/stylesheets/framework.css +1 -1
- data/app/assets/stylesheets/iqvoc/iqvoc.css.erb +28 -22
- data/app/controllers/collections/hierarchical_controller.rb +2 -2
- data/app/controllers/collections_controller.rb +0 -1
- data/app/controllers/concepts/alphabetical_controller.rb +0 -1
- data/app/controllers/concepts/hierarchical_controller.rb +0 -1
- data/app/controllers/concepts/untranslated_controller.rb +0 -1
- data/app/controllers/concepts_controller.rb +0 -1
- data/app/controllers/instance_configuration_controller.rb +2 -2
- data/app/controllers/pages_controller.rb +0 -1
- data/app/controllers/rdf_controller.rb +0 -2
- data/app/controllers/search_results_controller.rb +0 -1
- data/app/controllers/user_sessions_controller.rb +5 -4
- data/app/helpers/application_helper.rb +8 -4
- data/app/helpers/widget_helper.rb +39 -0
- data/app/models/collection/base.rb +4 -0
- data/app/models/concept/base.rb +59 -10
- data/app/models/concept/relation/base.rb +20 -0
- data/app/models/concept/relation/reverse_relation_extension.rb +4 -3
- data/app/models/concept/skos/base.rb +1 -1
- data/app/views/collections/_collection.html.erb +5 -0
- data/app/views/concepts/_visualization.html.erb +1 -1
- data/app/views/errors/access_denied.html.erb +6 -2
- data/app/views/layouts/_controls.html.erb +1 -1
- data/app/views/layouts/application.html.erb +2 -3
- data/app/views/pages/about.html.erb +2 -0
- data/app/views/partials/concept/relation/_base.html.erb +1 -1
- data/app/views/partials/concept/relation/_edit_base.html.erb +2 -5
- data/app/views/partials/concept/relation/_edit_ranked.html.erb +13 -0
- data/app/views/partials/concept/relation/_ranked.html.erb +12 -0
- data/app/views/partials/concept/relation/skos/broader/_mono.html.erb +1 -1
- data/app/views/partials/note/_base.html.erb +1 -1
- data/app/views/user_sessions/_form.html.erb +10 -0
- data/app/views/user_sessions/new.html.erb +1 -9
- data/config/application.rb +4 -1
- data/config/database.yml +8 -0
- data/config/initializers/heroku.rb +24 -0
- data/config/initializers/iqvoc.rb +2 -2
- data/config/locales/activerecord.en.yml +1 -1
- data/config/locales/de.yml +1 -3
- data/config/locales/en.yml +1 -3
- data/db/migrate/20101208103531_add_type_to_collection_contents.rb +0 -2
- data/db/migrate/20120326102037_add_rank_to_concept_relations.rb +5 -0
- data/db/schema.rb +12 -1
- data/lib/iqvoc/ability.rb +3 -1
- data/lib/iqvoc/controller_extensions.rb +12 -29
- data/lib/iqvoc/environments/production.rb +2 -0
- data/lib/iqvoc/environments/test.rb +0 -3
- data/lib/iqvoc/{data_helper.rb → inline_data_helper.rb} +1 -3
- data/lib/iqvoc/maker.rb +2 -1
- data/lib/iqvoc/origin.rb +23 -24
- data/lib/iqvoc/rankable.rb +34 -0
- data/lib/iqvoc/version.rb +1 -1
- data/test/factories.rb +1 -1
- data/test/integration/alphabetical_test.rb +2 -1
- data/test/integration/authentication_test.rb +1 -1
- data/test/integration/browse_concepts_and_labels_test.rb +2 -1
- data/test/integration/concept_scheme_test.rb +1 -1
- data/test/integration/edit_concepts_test.rb +1 -1
- data/test/integration/instance_configuration_test.rb +1 -1
- data/test/integration/search_test.rb +6 -5
- data/test/integration/tree_test.rb +1 -1
- data/test/integration/untranslated_test.rb +2 -1
- data/test/integration_test_helper.rb +0 -29
- data/test/unit/concept_test.rb +17 -6
- data/test/unit/hygiene_test.rb +15 -5
- data/test/unit/origin_test.rb +7 -4
- data/vendor/assets/javascripts/{jquery-ui-1.8.16.custom.js → jquery-ui-1.8.20.custom.js} +146 -71
- data/vendor/assets/stylesheets/{jquery-ui-1.8.16.custom.css → jquery-ui-1.8.20.custom.css} +16 -19
- metadata +32 -27
- data/app/views/errors/multiple_choices.html.erb +0 -11
- data/lib/iqvoc/rdf_helper.rb +0 -67
- data/lib/ojdbc14.jar +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
/*!
|
2
|
-
* jQuery UI 1.8.
|
2
|
+
* jQuery UI 1.8.20
|
3
3
|
*
|
4
|
-
* Copyright
|
4
|
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
5
5
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
6
6
|
* http://jquery.org/license
|
7
7
|
*
|
@@ -18,7 +18,7 @@ if ( $.ui.version ) {
|
|
18
18
|
}
|
19
19
|
|
20
20
|
$.extend( $.ui, {
|
21
|
-
version: "1.8.
|
21
|
+
version: "1.8.20",
|
22
22
|
|
23
23
|
keyCode: {
|
24
24
|
ALT: 18,
|
@@ -225,6 +225,11 @@ $(function() {
|
|
225
225
|
var body = document.body,
|
226
226
|
div = body.appendChild( div = document.createElement( "div" ) );
|
227
227
|
|
228
|
+
// access offsetHeight before setting the style to prevent a layout bug
|
229
|
+
// in IE 9 which causes the elemnt to continue to take up space even
|
230
|
+
// after it is removed from the DOM (#8026)
|
231
|
+
div.offsetHeight;
|
232
|
+
|
228
233
|
$.extend( div.style, {
|
229
234
|
minHeight: "100px",
|
230
235
|
height: "auto",
|
@@ -313,9 +318,9 @@ $.extend( $.ui, {
|
|
313
318
|
|
314
319
|
})( jQuery );
|
315
320
|
/*!
|
316
|
-
* jQuery UI Widget 1.8.
|
321
|
+
* jQuery UI Widget 1.8.20
|
317
322
|
*
|
318
|
-
* Copyright
|
323
|
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
319
324
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
320
325
|
* http://jquery.org/license
|
321
326
|
*
|
@@ -553,21 +558,25 @@ $.Widget.prototype = {
|
|
553
558
|
},
|
554
559
|
|
555
560
|
_trigger: function( type, event, data ) {
|
556
|
-
var
|
561
|
+
var prop, orig,
|
562
|
+
callback = this.options[ type ];
|
557
563
|
|
564
|
+
data = data || {};
|
558
565
|
event = $.Event( event );
|
559
566
|
event.type = ( type === this.widgetEventPrefix ?
|
560
567
|
type :
|
561
568
|
this.widgetEventPrefix + type ).toLowerCase();
|
562
|
-
|
569
|
+
// the original event may come from any element
|
570
|
+
// so we need to reset the target on the new event
|
571
|
+
event.target = this.element[ 0 ];
|
563
572
|
|
564
573
|
// copy original event properties over to the new event
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
574
|
+
orig = event.originalEvent;
|
575
|
+
if ( orig ) {
|
576
|
+
for ( prop in orig ) {
|
577
|
+
if ( !( prop in event ) ) {
|
578
|
+
event[ prop ] = orig[ prop ];
|
579
|
+
}
|
571
580
|
}
|
572
581
|
}
|
573
582
|
|
@@ -580,10 +589,10 @@ $.Widget.prototype = {
|
|
580
589
|
};
|
581
590
|
|
582
591
|
})( jQuery );
|
583
|
-
|
584
|
-
* jQuery UI Position 1.8.
|
592
|
+
/*!
|
593
|
+
* jQuery UI Position 1.8.20
|
585
594
|
*
|
586
|
-
* Copyright
|
595
|
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
587
596
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
588
597
|
* http://jquery.org/license
|
589
598
|
*
|
@@ -596,6 +605,7 @@ $.ui = $.ui || {};
|
|
596
605
|
var horizontalPositions = /left|center|right/,
|
597
606
|
verticalPositions = /top|center|bottom/,
|
598
607
|
center = "center",
|
608
|
+
support = {},
|
599
609
|
_position = $.fn.position,
|
600
610
|
_offset = $.fn.offset;
|
601
611
|
|
@@ -703,9 +713,11 @@ $.fn.position = function( options ) {
|
|
703
713
|
position.top -= elemHeight / 2;
|
704
714
|
}
|
705
715
|
|
706
|
-
// prevent fractions (see #5280)
|
707
|
-
|
708
|
-
|
716
|
+
// prevent fractions if jQuery version doesn't support them (see #5280)
|
717
|
+
if ( !support.fractions ) {
|
718
|
+
position.left = Math.round( position.left );
|
719
|
+
position.top = Math.round( position.top );
|
720
|
+
}
|
709
721
|
|
710
722
|
collisionPosition = {
|
711
723
|
left: position.left - marginLeft,
|
@@ -831,11 +843,54 @@ if ( !$.offset.setOffset ) {
|
|
831
843
|
};
|
832
844
|
}
|
833
845
|
|
846
|
+
// fraction support test (older versions of jQuery don't support fractions)
|
847
|
+
(function () {
|
848
|
+
var body = document.getElementsByTagName( "body" )[ 0 ],
|
849
|
+
div = document.createElement( "div" ),
|
850
|
+
testElement, testElementParent, testElementStyle, offset, offsetTotal;
|
851
|
+
|
852
|
+
//Create a "fake body" for testing based on method used in jQuery.support
|
853
|
+
testElement = document.createElement( body ? "div" : "body" );
|
854
|
+
testElementStyle = {
|
855
|
+
visibility: "hidden",
|
856
|
+
width: 0,
|
857
|
+
height: 0,
|
858
|
+
border: 0,
|
859
|
+
margin: 0,
|
860
|
+
background: "none"
|
861
|
+
};
|
862
|
+
if ( body ) {
|
863
|
+
$.extend( testElementStyle, {
|
864
|
+
position: "absolute",
|
865
|
+
left: "-1000px",
|
866
|
+
top: "-1000px"
|
867
|
+
});
|
868
|
+
}
|
869
|
+
for ( var i in testElementStyle ) {
|
870
|
+
testElement.style[ i ] = testElementStyle[ i ];
|
871
|
+
}
|
872
|
+
testElement.appendChild( div );
|
873
|
+
testElementParent = body || document.documentElement;
|
874
|
+
testElementParent.insertBefore( testElement, testElementParent.firstChild );
|
875
|
+
|
876
|
+
div.style.cssText = "position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;";
|
877
|
+
|
878
|
+
offset = $( div ).offset( function( _, offset ) {
|
879
|
+
return offset;
|
880
|
+
}).offset();
|
881
|
+
|
882
|
+
testElement.innerHTML = "";
|
883
|
+
testElementParent.removeChild( testElement );
|
884
|
+
|
885
|
+
offsetTotal = offset.top + offset.left + ( body ? 2000 : 0 );
|
886
|
+
support.fractions = offsetTotal > 21 && offsetTotal < 22;
|
887
|
+
})();
|
888
|
+
|
834
889
|
}( jQuery ));
|
835
|
-
|
836
|
-
* jQuery UI Autocomplete 1.8.
|
890
|
+
/*!
|
891
|
+
* jQuery UI Autocomplete 1.8.20
|
837
892
|
*
|
838
|
-
* Copyright
|
893
|
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
839
894
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
840
895
|
* http://jquery.org/license
|
841
896
|
*
|
@@ -871,6 +926,7 @@ $.widget( "ui.autocomplete", {
|
|
871
926
|
var self = this,
|
872
927
|
doc = this.element[ 0 ].ownerDocument,
|
873
928
|
suppressKeyPress;
|
929
|
+
this.isMultiLine = this.element.is( "textarea" );
|
874
930
|
|
875
931
|
this.element
|
876
932
|
.addClass( "ui-autocomplete-input" )
|
@@ -896,14 +952,10 @@ $.widget( "ui.autocomplete", {
|
|
896
952
|
self._move( "nextPage", event );
|
897
953
|
break;
|
898
954
|
case keyCode.UP:
|
899
|
-
self.
|
900
|
-
// prevent moving cursor to beginning of text field in some browsers
|
901
|
-
event.preventDefault();
|
955
|
+
self._keyEvent( "previous", event );
|
902
956
|
break;
|
903
957
|
case keyCode.DOWN:
|
904
|
-
self.
|
905
|
-
// prevent moving cursor to end of text field in some browsers
|
906
|
-
event.preventDefault();
|
958
|
+
self._keyEvent( "next", event );
|
907
959
|
break;
|
908
960
|
case keyCode.ENTER:
|
909
961
|
case keyCode.NUMPAD_ENTER:
|
@@ -965,9 +1017,6 @@ $.widget( "ui.autocomplete", {
|
|
965
1017
|
}, 150 );
|
966
1018
|
});
|
967
1019
|
this._initSource();
|
968
|
-
this.response = function() {
|
969
|
-
return self._response.apply( self, arguments );
|
970
|
-
};
|
971
1020
|
this.menu = $( "<ul></ul>" )
|
972
1021
|
.addClass( "ui-autocomplete" )
|
973
1022
|
.appendTo( $( this.options.appendTo || "body", doc )[0] )
|
@@ -1049,6 +1098,13 @@ $.widget( "ui.autocomplete", {
|
|
1049
1098
|
if ( $.fn.bgiframe ) {
|
1050
1099
|
this.menu.element.bgiframe();
|
1051
1100
|
}
|
1101
|
+
// turning off autocomplete prevents the browser from remembering the
|
1102
|
+
// value when navigating through history, so we re-enable autocomplete
|
1103
|
+
// if the page is unloaded before the widget is destroyed. #7790
|
1104
|
+
self.beforeunloadHandler = function() {
|
1105
|
+
self.element.removeAttr( "autocomplete" );
|
1106
|
+
};
|
1107
|
+
$( window ).bind( "beforeunload", self.beforeunloadHandler );
|
1052
1108
|
},
|
1053
1109
|
|
1054
1110
|
destroy: function() {
|
@@ -1059,6 +1115,7 @@ $.widget( "ui.autocomplete", {
|
|
1059
1115
|
.removeAttr( "aria-autocomplete" )
|
1060
1116
|
.removeAttr( "aria-haspopup" );
|
1061
1117
|
this.menu.element.remove();
|
1118
|
+
$( window ).unbind( "beforeunload", this.beforeunloadHandler );
|
1062
1119
|
$.Widget.prototype.destroy.call( this );
|
1063
1120
|
},
|
1064
1121
|
|
@@ -1094,16 +1151,11 @@ $.widget( "ui.autocomplete", {
|
|
1094
1151
|
url: url,
|
1095
1152
|
data: request,
|
1096
1153
|
dataType: "json",
|
1097
|
-
autocompleteRequest: ++requestIndex,
|
1098
1154
|
success: function( data, status ) {
|
1099
|
-
|
1100
|
-
response( data );
|
1101
|
-
}
|
1155
|
+
response( data );
|
1102
1156
|
},
|
1103
1157
|
error: function() {
|
1104
|
-
|
1105
|
-
response( [] );
|
1106
|
-
}
|
1158
|
+
response( [] );
|
1107
1159
|
}
|
1108
1160
|
});
|
1109
1161
|
};
|
@@ -1134,10 +1186,26 @@ $.widget( "ui.autocomplete", {
|
|
1134
1186
|
this.pending++;
|
1135
1187
|
this.element.addClass( "ui-autocomplete-loading" );
|
1136
1188
|
|
1137
|
-
this.source( { term: value }, this.
|
1189
|
+
this.source( { term: value }, this._response() );
|
1190
|
+
},
|
1191
|
+
|
1192
|
+
_response: function() {
|
1193
|
+
var that = this,
|
1194
|
+
index = ++requestIndex;
|
1195
|
+
|
1196
|
+
return function( content ) {
|
1197
|
+
if ( index === requestIndex ) {
|
1198
|
+
that.__response( content );
|
1199
|
+
}
|
1200
|
+
|
1201
|
+
that.pending--;
|
1202
|
+
if ( !that.pending ) {
|
1203
|
+
that.element.removeClass( "ui-autocomplete-loading" );
|
1204
|
+
}
|
1205
|
+
};
|
1138
1206
|
},
|
1139
1207
|
|
1140
|
-
|
1208
|
+
__response: function( content ) {
|
1141
1209
|
if ( !this.options.disabled && content && content.length ) {
|
1142
1210
|
content = this._normalize( content );
|
1143
1211
|
this._suggest( content );
|
@@ -1145,10 +1213,6 @@ $.widget( "ui.autocomplete", {
|
|
1145
1213
|
} else {
|
1146
1214
|
this.close();
|
1147
1215
|
}
|
1148
|
-
this.pending--;
|
1149
|
-
if ( !this.pending ) {
|
1150
|
-
this.element.removeClass( "ui-autocomplete-loading" );
|
1151
|
-
}
|
1152
1216
|
},
|
1153
1217
|
|
1154
1218
|
close: function( event ) {
|
@@ -1209,7 +1273,9 @@ $.widget( "ui.autocomplete", {
|
|
1209
1273
|
_resizeMenu: function() {
|
1210
1274
|
var ul = this.menu.element;
|
1211
1275
|
ul.outerWidth( Math.max(
|
1212
|
-
|
1276
|
+
// Firefox wraps long text (possibly a rounding bug)
|
1277
|
+
// so we add 1px to avoid the wrapping (#7513)
|
1278
|
+
ul.width( "" ).outerWidth() + 1,
|
1213
1279
|
this.element.outerWidth()
|
1214
1280
|
) );
|
1215
1281
|
},
|
@@ -1244,6 +1310,14 @@ $.widget( "ui.autocomplete", {
|
|
1244
1310
|
|
1245
1311
|
widget: function() {
|
1246
1312
|
return this.menu.element;
|
1313
|
+
},
|
1314
|
+
_keyEvent: function( keyEvent, event ) {
|
1315
|
+
if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) {
|
1316
|
+
this._move( keyEvent, event );
|
1317
|
+
|
1318
|
+
// prevents moving cursor to beginning/end of the text field in some browsers
|
1319
|
+
event.preventDefault();
|
1320
|
+
}
|
1247
1321
|
}
|
1248
1322
|
});
|
1249
1323
|
|
@@ -1416,7 +1490,7 @@ $.widget("ui.menu", {
|
|
1416
1490
|
}
|
1417
1491
|
|
1418
1492
|
var base = this.active.offset().top,
|
1419
|
-
height = this.element.height()
|
1493
|
+
height = this.element.height(),
|
1420
1494
|
result = this.element.children(".ui-menu-item").filter(function() {
|
1421
1495
|
var close = $(this).offset().top - base + height - $(this).height();
|
1422
1496
|
// TODO improve approximation
|
@@ -1444,10 +1518,10 @@ $.widget("ui.menu", {
|
|
1444
1518
|
});
|
1445
1519
|
|
1446
1520
|
}(jQuery));
|
1447
|
-
|
1448
|
-
* jQuery UI Datepicker 1.8.
|
1521
|
+
/*!
|
1522
|
+
* jQuery UI Datepicker 1.8.20
|
1449
1523
|
*
|
1450
|
-
* Copyright
|
1524
|
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
1451
1525
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
1452
1526
|
* http://jquery.org/license
|
1453
1527
|
*
|
@@ -1458,7 +1532,7 @@ $.widget("ui.menu", {
|
|
1458
1532
|
*/
|
1459
1533
|
(function( $, undefined ) {
|
1460
1534
|
|
1461
|
-
$.extend($.ui, { datepicker: { version: "1.8.
|
1535
|
+
$.extend($.ui, { datepicker: { version: "1.8.20" } });
|
1462
1536
|
|
1463
1537
|
var PROP_NAME = 'datepicker';
|
1464
1538
|
var dpuuid = new Date().getTime();
|
@@ -1679,7 +1753,10 @@ $.extend(Datepicker.prototype, {
|
|
1679
1753
|
inst.trigger.click(function() {
|
1680
1754
|
if ($.datepicker._datepickerShowing && $.datepicker._lastInput == input[0])
|
1681
1755
|
$.datepicker._hideDatepicker();
|
1682
|
-
else
|
1756
|
+
else if ($.datepicker._datepickerShowing && $.datepicker._lastInput != input[0]) {
|
1757
|
+
$.datepicker._hideDatepicker();
|
1758
|
+
$.datepicker._showDatepicker(input[0]);
|
1759
|
+
} else
|
1683
1760
|
$.datepicker._showDatepicker(input[0]);
|
1684
1761
|
return false;
|
1685
1762
|
});
|
@@ -2063,8 +2140,8 @@ $.extend(Datepicker.prototype, {
|
|
2063
2140
|
$.datepicker._updateDatepicker(inst);
|
2064
2141
|
}
|
2065
2142
|
}
|
2066
|
-
catch (
|
2067
|
-
$.datepicker.log(
|
2143
|
+
catch (err) {
|
2144
|
+
$.datepicker.log(err);
|
2068
2145
|
}
|
2069
2146
|
}
|
2070
2147
|
return true;
|
@@ -2082,10 +2159,10 @@ $.extend(Datepicker.prototype, {
|
|
2082
2159
|
return;
|
2083
2160
|
var inst = $.datepicker._getInst(input);
|
2084
2161
|
if ($.datepicker._curInst && $.datepicker._curInst != inst) {
|
2085
|
-
if ( $.datepicker._datepickerShowing ) {
|
2086
|
-
$.datepicker._triggerOnClose($.datepicker._curInst);
|
2087
|
-
}
|
2088
2162
|
$.datepicker._curInst.dpDiv.stop(true, true);
|
2163
|
+
if ( inst && $.datepicker._datepickerShowing ) {
|
2164
|
+
$.datepicker._hideDatepicker( $.datepicker._curInst.input[0] );
|
2165
|
+
}
|
2089
2166
|
}
|
2090
2167
|
var beforeShow = $.datepicker._get(inst, 'beforeShow');
|
2091
2168
|
var beforeShowSettings = beforeShow ? beforeShow.apply(input, [input, inst]) : {};
|
@@ -2234,14 +2311,6 @@ $.extend(Datepicker.prototype, {
|
|
2234
2311
|
return [position.left, position.top];
|
2235
2312
|
},
|
2236
2313
|
|
2237
|
-
/* Trigger custom callback of onClose. */
|
2238
|
-
_triggerOnClose: function(inst) {
|
2239
|
-
var onClose = this._get(inst, 'onClose');
|
2240
|
-
if (onClose)
|
2241
|
-
onClose.apply((inst.input ? inst.input[0] : null),
|
2242
|
-
[(inst.input ? inst.input.val() : ''), inst]);
|
2243
|
-
},
|
2244
|
-
|
2245
2314
|
/* Hide the date picker from view.
|
2246
2315
|
@param input element - the input field attached to the date picker */
|
2247
2316
|
_hideDatepicker: function(input) {
|
@@ -2253,7 +2322,6 @@ $.extend(Datepicker.prototype, {
|
|
2253
2322
|
var duration = this._get(inst, 'duration');
|
2254
2323
|
var postProcess = function() {
|
2255
2324
|
$.datepicker._tidyDialog(inst);
|
2256
|
-
this._curInst = null;
|
2257
2325
|
};
|
2258
2326
|
if ($.effects && $.effects[showAnim])
|
2259
2327
|
inst.dpDiv.hide(showAnim, $.datepicker._get(inst, 'showOptions'), duration, postProcess);
|
@@ -2262,8 +2330,11 @@ $.extend(Datepicker.prototype, {
|
|
2262
2330
|
(showAnim == 'fadeIn' ? 'fadeOut' : 'hide'))]((showAnim ? duration : null), postProcess);
|
2263
2331
|
if (!showAnim)
|
2264
2332
|
postProcess();
|
2265
|
-
$.datepicker._triggerOnClose(inst);
|
2266
2333
|
this._datepickerShowing = false;
|
2334
|
+
var onClose = this._get(inst, 'onClose');
|
2335
|
+
if (onClose)
|
2336
|
+
onClose.apply((inst.input ? inst.input[0] : null),
|
2337
|
+
[(inst.input ? inst.input.val() : ''), inst]);
|
2267
2338
|
this._lastInput = null;
|
2268
2339
|
if (this._inDialog) {
|
2269
2340
|
this._dialogInput.css({ position: 'absolute', left: '0', top: '-100px' });
|
@@ -2285,12 +2356,16 @@ $.extend(Datepicker.prototype, {
|
|
2285
2356
|
_checkExternalClick: function(event) {
|
2286
2357
|
if (!$.datepicker._curInst)
|
2287
2358
|
return;
|
2288
|
-
|
2289
|
-
|
2359
|
+
|
2360
|
+
var $target = $(event.target),
|
2361
|
+
inst = $.datepicker._getInst($target[0]);
|
2362
|
+
|
2363
|
+
if ( ( ( $target[0].id != $.datepicker._mainDivId &&
|
2290
2364
|
$target.parents('#' + $.datepicker._mainDivId).length == 0 &&
|
2291
2365
|
!$target.hasClass($.datepicker.markerClassName) &&
|
2292
|
-
!$target.
|
2293
|
-
$.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI))
|
2366
|
+
!$target.closest("." + $.datepicker._triggerClass).length &&
|
2367
|
+
$.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI) ) ) ||
|
2368
|
+
( $target.hasClass($.datepicker.markerClassName) && $.datepicker._curInst != inst ) )
|
2294
2369
|
$.datepicker._hideDatepicker();
|
2295
2370
|
},
|
2296
2371
|
|
@@ -3260,7 +3335,7 @@ $.fn.datepicker = function(options){
|
|
3260
3335
|
$.datepicker = new Datepicker(); // singleton instance
|
3261
3336
|
$.datepicker.initialized = false;
|
3262
3337
|
$.datepicker.uuid = new Date().getTime();
|
3263
|
-
$.datepicker.version = "1.8.
|
3338
|
+
$.datepicker.version = "1.8.20";
|
3264
3339
|
|
3265
3340
|
// Workaround for #4055
|
3266
3341
|
// Add another global to avoid noConflict issues with inline event handlers
|
@@ -1,7 +1,7 @@
|
|
1
|
-
|
2
|
-
* jQuery UI CSS Framework 1.8.
|
1
|
+
/*!
|
2
|
+
* jQuery UI CSS Framework 1.8.20
|
3
3
|
*
|
4
|
-
* Copyright
|
4
|
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
5
5
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
6
6
|
* http://jquery.org/license
|
7
7
|
*
|
@@ -13,12 +13,9 @@
|
|
13
13
|
.ui-helper-hidden { display: none; }
|
14
14
|
.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
|
15
15
|
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
16
|
-
.ui-helper-clearfix:after { content: "
|
17
|
-
.ui-helper-clearfix {
|
18
|
-
|
19
|
-
* html .ui-helper-clearfix { height:1%; }
|
20
|
-
.ui-helper-clearfix { display:block; }
|
21
|
-
/* end clearfix */
|
16
|
+
.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; }
|
17
|
+
.ui-helper-clearfix:after { clear: both; }
|
18
|
+
.ui-helper-clearfix { zoom: 1; }
|
22
19
|
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
23
20
|
|
24
21
|
|
@@ -41,10 +38,10 @@
|
|
41
38
|
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
42
39
|
|
43
40
|
|
44
|
-
|
45
|
-
* jQuery UI CSS Framework 1.8.
|
41
|
+
/*!
|
42
|
+
* jQuery UI CSS Framework 1.8.20
|
46
43
|
*
|
47
|
-
* Copyright
|
44
|
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
48
45
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
49
46
|
* http://jquery.org/license
|
50
47
|
*
|
@@ -287,10 +284,10 @@
|
|
287
284
|
|
288
285
|
/* Overlays */
|
289
286
|
.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
|
290
|
-
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }
|
291
|
-
* jQuery UI Autocomplete 1.8.
|
287
|
+
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*!
|
288
|
+
* jQuery UI Autocomplete 1.8.20
|
292
289
|
*
|
293
|
-
* Copyright
|
290
|
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
294
291
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
295
292
|
* http://jquery.org/license
|
296
293
|
*
|
@@ -302,7 +299,7 @@
|
|
302
299
|
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
|
303
300
|
|
304
301
|
/*
|
305
|
-
* jQuery UI Menu 1.8.
|
302
|
+
* jQuery UI Menu 1.8.20
|
306
303
|
*
|
307
304
|
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
|
308
305
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
@@ -340,10 +337,10 @@
|
|
340
337
|
font-weight: normal;
|
341
338
|
margin: -1px;
|
342
339
|
}
|
343
|
-
|
344
|
-
* jQuery UI Datepicker 1.8.
|
340
|
+
/*!
|
341
|
+
* jQuery UI Datepicker 1.8.20
|
345
342
|
*
|
346
|
-
* Copyright
|
343
|
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
347
344
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
348
345
|
* http://jquery.org/license
|
349
346
|
*
|