railsstrap 3.2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.bowerrc +3 -0
- data/README.md +61 -0
- data/Rakefile +24 -0
- data/app/helpers/railsstrap/badge_label_helper.rb +18 -0
- data/app/helpers/railsstrap/bootstrap_flash_helper.rb +27 -0
- data/app/helpers/railsstrap/breadcrumbs.rb +56 -0
- data/app/helpers/railsstrap/breadcrumbs_helper.rb +15 -0
- data/app/helpers/railsstrap/flash_block_helper.rb +19 -0
- data/app/helpers/railsstrap/form_errors_helper.rb +25 -0
- data/app/helpers/railsstrap/glyph_helper.rb +22 -0
- data/app/helpers/railsstrap/icon_helper.rb +22 -0
- data/app/helpers/railsstrap/modal_helper.rb +65 -0
- data/app/helpers/railsstrap/navbar_helper.rb +210 -0
- data/app/views/railsstrap/_breadcrumbs.html.erb +14 -0
- data/lib/generators/railsstrap/install/install_generator.rb +83 -0
- data/lib/generators/railsstrap/install/templates/application.css +7 -0
- data/lib/generators/railsstrap/install/templates/application.js +18 -0
- data/lib/generators/railsstrap/install/templates/bootstrap.coffee +3 -0
- data/lib/generators/railsstrap/install/templates/bootstrap.js +4 -0
- data/lib/generators/railsstrap/install/templates/bootstrap_and_overrides.css +8 -0
- data/lib/generators/railsstrap/install/templates/bootstrap_and_overrides.less +19 -0
- data/lib/generators/railsstrap/install/templates/en.bootstrap.yml +23 -0
- data/lib/generators/railsstrap/layout/layout_generator.rb +20 -0
- data/lib/generators/railsstrap/layout/templates/layout.html.erb +85 -0
- data/lib/generators/railsstrap/layout/templates/layout.html.haml +50 -0
- data/lib/generators/railsstrap/layout/templates/layout.html.slim +50 -0
- data/lib/generators/railsstrap/partial/partial_generator.rb +20 -0
- data/lib/generators/railsstrap/partial/templates/_login.html.erb +28 -0
- data/lib/generators/railsstrap/themed/templates/_form.html.erb +36 -0
- data/lib/generators/railsstrap/themed/templates/_form.html.haml +12 -0
- data/lib/generators/railsstrap/themed/templates/_form.html.slim +13 -0
- data/lib/generators/railsstrap/themed/templates/edit.html.erb +5 -0
- data/lib/generators/railsstrap/themed/templates/edit.html.haml +4 -0
- data/lib/generators/railsstrap/themed/templates/edit.html.slim +4 -0
- data/lib/generators/railsstrap/themed/templates/index.html.erb +40 -0
- data/lib/generators/railsstrap/themed/templates/index.html.haml +25 -0
- data/lib/generators/railsstrap/themed/templates/index.html.slim +27 -0
- data/lib/generators/railsstrap/themed/templates/new.html.erb +5 -0
- data/lib/generators/railsstrap/themed/templates/new.html.haml +4 -0
- data/lib/generators/railsstrap/themed/templates/new.html.slim +4 -0
- data/lib/generators/railsstrap/themed/templates/show.html.erb +21 -0
- data/lib/generators/railsstrap/themed/templates/show.html.haml +15 -0
- data/lib/generators/railsstrap/themed/templates/show.html.slim +16 -0
- data/lib/generators/railsstrap/themed/templates/simple_form/_form.html.erb +14 -0
- data/lib/generators/railsstrap/themed/templates/simple_form/_form.html.haml +11 -0
- data/lib/generators/railsstrap/themed/templates/simple_form/_form.html.slim +12 -0
- data/lib/generators/railsstrap/themed/themed_generator.rb +148 -0
- data/lib/railsstrap/bootstrap.rb +2 -0
- data/lib/railsstrap/constants.rb +6 -0
- data/lib/railsstrap/engine.rb +40 -0
- data/lib/railsstrap.rb +5 -0
- data/vendor/assets/bower_components/bootstrap/Gruntfile.js +480 -0
- data/vendor/assets/bower_components/bootstrap/LICENSE +21 -0
- data/vendor/assets/bower_components/bootstrap/README.md +127 -0
- data/vendor/assets/bower_components/bootstrap/bower.json +38 -0
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css +442 -0
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css.map +1 -0
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +5 -0
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css +6203 -0
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css.map +1 -0
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css +5 -0
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +229 -0
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
- data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.js +2114 -0
- data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.min.js +6 -0
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.svg +229 -0
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
- data/vendor/assets/bower_components/bootstrap/grunt/bs-glyphicons-data-generator.js +41 -0
- data/vendor/assets/bower_components/bootstrap/grunt/bs-lessdoc-parser.js +236 -0
- data/vendor/assets/bower_components/bootstrap/grunt/bs-raw-files-generator.js +46 -0
- data/vendor/assets/bower_components/bootstrap/grunt/sauce_browsers.yml +82 -0
- data/vendor/assets/bower_components/bootstrap/js/affix.js +142 -0
- data/vendor/assets/bower_components/bootstrap/js/alert.js +92 -0
- data/vendor/assets/bower_components/bootstrap/js/button.js +110 -0
- data/vendor/assets/bower_components/bootstrap/js/carousel.js +223 -0
- data/vendor/assets/bower_components/bootstrap/js/collapse.js +170 -0
- data/vendor/assets/bower_components/bootstrap/js/dropdown.js +151 -0
- data/vendor/assets/bower_components/bootstrap/js/modal.js +280 -0
- data/vendor/assets/bower_components/bootstrap/js/popover.js +113 -0
- data/vendor/assets/bower_components/bootstrap/js/scrollspy.js +170 -0
- data/vendor/assets/bower_components/bootstrap/js/tab.js +128 -0
- data/vendor/assets/bower_components/bootstrap/js/tooltip.js +457 -0
- data/vendor/assets/bower_components/bootstrap/js/transition.js +59 -0
- data/vendor/assets/bower_components/bootstrap/less/alerts.less +68 -0
- data/vendor/assets/bower_components/bootstrap/less/badges.less +55 -0
- data/vendor/assets/bower_components/bootstrap/less/bootstrap.less +50 -0
- data/vendor/assets/bower_components/bootstrap/less/breadcrumbs.less +26 -0
- data/vendor/assets/bower_components/bootstrap/less/button-groups.less +240 -0
- data/vendor/assets/bower_components/bootstrap/less/buttons.less +157 -0
- data/vendor/assets/bower_components/bootstrap/less/carousel.less +243 -0
- data/vendor/assets/bower_components/bootstrap/less/close.less +33 -0
- data/vendor/assets/bower_components/bootstrap/less/code.less +68 -0
- data/vendor/assets/bower_components/bootstrap/less/component-animations.less +31 -0
- data/vendor/assets/bower_components/bootstrap/less/dropdowns.less +215 -0
- data/vendor/assets/bower_components/bootstrap/less/forms.less +540 -0
- data/vendor/assets/bower_components/bootstrap/less/glyphicons.less +233 -0
- data/vendor/assets/bower_components/bootstrap/less/grid.less +84 -0
- data/vendor/assets/bower_components/bootstrap/less/input-groups.less +166 -0
- data/vendor/assets/bower_components/bootstrap/less/jumbotron.less +48 -0
- data/vendor/assets/bower_components/bootstrap/less/labels.less +64 -0
- data/vendor/assets/bower_components/bootstrap/less/list-group.less +131 -0
- data/vendor/assets/bower_components/bootstrap/less/media.less +56 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/alerts.less +14 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/background-variant.less +8 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/border-radius.less +18 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/buttons.less +50 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/center-block.less +7 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/clearfix.less +22 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/forms.less +81 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/gradients.less +59 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/grid-framework.less +91 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/grid.less +122 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/hide-text.less +21 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/image.less +34 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/labels.less +12 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/list-group.less +29 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/nav-divider.less +10 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/nav-vertical-align.less +9 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/opacity.less +8 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/pagination.less +23 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/panels.less +24 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/progress-bar.less +10 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/reset-filter.less +8 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/resize.less +6 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/responsive-visibility.less +15 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/size.less +10 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/tab-focus.less +9 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/table-row.less +28 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/text-emphasis.less +8 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/text-overflow.less +8 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/vendor-prefixes.less +224 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins.less +39 -0
- data/vendor/assets/bower_components/bootstrap/less/modals.less +150 -0
- data/vendor/assets/bower_components/bootstrap/less/navbar.less +655 -0
- data/vendor/assets/bower_components/bootstrap/less/navs.less +242 -0
- data/vendor/assets/bower_components/bootstrap/less/normalize.less +425 -0
- data/vendor/assets/bower_components/bootstrap/less/pager.less +55 -0
- data/vendor/assets/bower_components/bootstrap/less/pagination.less +88 -0
- data/vendor/assets/bower_components/bootstrap/less/panels.less +243 -0
- data/vendor/assets/bower_components/bootstrap/less/popovers.less +133 -0
- data/vendor/assets/bower_components/bootstrap/less/print.less +101 -0
- data/vendor/assets/bower_components/bootstrap/less/progress-bars.less +105 -0
- data/vendor/assets/bower_components/bootstrap/less/responsive-embed.less +34 -0
- data/vendor/assets/bower_components/bootstrap/less/responsive-utilities.less +194 -0
- data/vendor/assets/bower_components/bootstrap/less/scaffolding.less +150 -0
- data/vendor/assets/bower_components/bootstrap/less/tables.less +233 -0
- data/vendor/assets/bower_components/bootstrap/less/theme.less +258 -0
- data/vendor/assets/bower_components/bootstrap/less/thumbnails.less +36 -0
- data/vendor/assets/bower_components/bootstrap/less/tooltip.less +95 -0
- data/vendor/assets/bower_components/bootstrap/less/type.less +313 -0
- data/vendor/assets/bower_components/bootstrap/less/utilities.less +57 -0
- data/vendor/assets/bower_components/bootstrap/less/variables.less +846 -0
- data/vendor/assets/bower_components/bootstrap/less/wells.less +29 -0
- data/vendor/assets/bower_components/bootstrap/package.json +81 -0
- data/vendor/assets/bower_components/fontawesome/bower.json +23 -0
- data/vendor/assets/bower_components/fontawesome/css/font-awesome.css +1672 -0
- data/vendor/assets/bower_components/fontawesome/css/font-awesome.min.css +4 -0
- data/vendor/assets/bower_components/fontawesome/fonts/FontAwesome.otf +0 -0
- data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.eot +0 -0
- data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.svg +520 -0
- data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.ttf +0 -0
- data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.woff +0 -0
- data/vendor/assets/bower_components/fontawesome/less/bordered-pulled.less +16 -0
- data/vendor/assets/bower_components/fontawesome/less/core.less +11 -0
- data/vendor/assets/bower_components/fontawesome/less/extras.less +2 -0
- data/vendor/assets/bower_components/fontawesome/less/fixed-width.less +6 -0
- data/vendor/assets/bower_components/fontawesome/less/font-awesome.less +17 -0
- data/vendor/assets/bower_components/fontawesome/less/icons.less +552 -0
- data/vendor/assets/bower_components/fontawesome/less/larger.less +13 -0
- data/vendor/assets/bower_components/fontawesome/less/list.less +19 -0
- data/vendor/assets/bower_components/fontawesome/less/mixins.less +25 -0
- data/vendor/assets/bower_components/fontawesome/less/path.less +14 -0
- data/vendor/assets/bower_components/fontawesome/less/rotated-flipped.less +20 -0
- data/vendor/assets/bower_components/fontawesome/less/spinning.less +29 -0
- data/vendor/assets/bower_components/fontawesome/less/stacked.less +20 -0
- data/vendor/assets/bower_components/fontawesome/less/variables.less +561 -0
- data/vendor/assets/bower_components/fontawesome/scss/_bordered-pulled.scss +16 -0
- data/vendor/assets/bower_components/fontawesome/scss/_core.scss +11 -0
- data/vendor/assets/bower_components/fontawesome/scss/_extras.scss +44 -0
- data/vendor/assets/bower_components/fontawesome/scss/_fixed-width.scss +6 -0
- data/vendor/assets/bower_components/fontawesome/scss/_icons.scss +552 -0
- data/vendor/assets/bower_components/fontawesome/scss/_larger.scss +13 -0
- data/vendor/assets/bower_components/fontawesome/scss/_list.scss +19 -0
- data/vendor/assets/bower_components/fontawesome/scss/_mixins.scss +25 -0
- data/vendor/assets/bower_components/fontawesome/scss/_path.scss +14 -0
- data/vendor/assets/bower_components/fontawesome/scss/_rotated-flipped.scss +20 -0
- data/vendor/assets/bower_components/fontawesome/scss/_spinning.scss +29 -0
- data/vendor/assets/bower_components/fontawesome/scss/_stacked.scss +20 -0
- data/vendor/assets/bower_components/fontawesome/scss/_variables.scss +561 -0
- data/vendor/assets/bower_components/fontawesome/scss/font-awesome.scss +17 -0
- data/vendor/assets/bower_components/jquery/MIT-LICENSE.txt +21 -0
- data/vendor/assets/bower_components/jquery/bower.json +27 -0
- data/vendor/assets/bower_components/jquery/dist/jquery.js +9190 -0
- data/vendor/assets/bower_components/jquery/dist/jquery.min.js +5 -0
- data/vendor/assets/bower_components/jquery/dist/jquery.min.map +1 -0
- data/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +89 -0
- data/vendor/assets/bower_components/jquery/src/ajax/load.js +75 -0
- data/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +13 -0
- data/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +28 -0
- data/vendor/assets/bower_components/jquery/src/ajax/script.js +64 -0
- data/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +5 -0
- data/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +3 -0
- data/vendor/assets/bower_components/jquery/src/ajax/xhr.js +135 -0
- data/vendor/assets/bower_components/jquery/src/ajax.js +806 -0
- data/vendor/assets/bower_components/jquery/src/attributes/attr.js +143 -0
- data/vendor/assets/bower_components/jquery/src/attributes/classes.js +158 -0
- data/vendor/assets/bower_components/jquery/src/attributes/prop.js +96 -0
- data/vendor/assets/bower_components/jquery/src/attributes/support.js +35 -0
- data/vendor/assets/bower_components/jquery/src/attributes/val.js +163 -0
- data/vendor/assets/bower_components/jquery/src/attributes.js +11 -0
- data/vendor/assets/bower_components/jquery/src/callbacks.js +205 -0
- data/vendor/assets/bower_components/jquery/src/core/access.js +60 -0
- data/vendor/assets/bower_components/jquery/src/core/init.js +123 -0
- data/vendor/assets/bower_components/jquery/src/core/parseHTML.js +39 -0
- data/vendor/assets/bower_components/jquery/src/core/ready.js +97 -0
- data/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +4 -0
- data/vendor/assets/bower_components/jquery/src/core.js +498 -0
- data/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +24 -0
- data/vendor/assets/bower_components/jquery/src/css/curCSS.js +57 -0
- data/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +70 -0
- data/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
- data/vendor/assets/bower_components/jquery/src/css/support.js +91 -0
- data/vendor/assets/bower_components/jquery/src/css/swap.js +28 -0
- data/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +3 -0
- data/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +5 -0
- data/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +13 -0
- data/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +3 -0
- data/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
- data/vendor/assets/bower_components/jquery/src/css.js +451 -0
- data/vendor/assets/bower_components/jquery/src/data/Data.js +181 -0
- data/vendor/assets/bower_components/jquery/src/data/accepts.js +20 -0
- data/vendor/assets/bower_components/jquery/src/data/var/data_priv.js +5 -0
- data/vendor/assets/bower_components/jquery/src/data/var/data_user.js +5 -0
- data/vendor/assets/bower_components/jquery/src/data.js +179 -0
- data/vendor/assets/bower_components/jquery/src/deferred.js +149 -0
- data/vendor/assets/bower_components/jquery/src/deprecated.js +13 -0
- data/vendor/assets/bower_components/jquery/src/dimensions.js +50 -0
- data/vendor/assets/bower_components/jquery/src/effects/Tween.js +114 -0
- data/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +13 -0
- data/vendor/assets/bower_components/jquery/src/effects.js +649 -0
- data/vendor/assets/bower_components/jquery/src/event/alias.js +39 -0
- data/vendor/assets/bower_components/jquery/src/event/support.js +9 -0
- data/vendor/assets/bower_components/jquery/src/event.js +868 -0
- data/vendor/assets/bower_components/jquery/src/exports/amd.js +24 -0
- data/vendor/assets/bower_components/jquery/src/exports/global.js +32 -0
- data/vendor/assets/bower_components/jquery/src/intro.js +44 -0
- data/vendor/assets/bower_components/jquery/src/jquery.js +36 -0
- data/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +18 -0
- data/vendor/assets/bower_components/jquery/src/manipulation/support.js +31 -0
- data/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
- data/vendor/assets/bower_components/jquery/src/manipulation.js +582 -0
- data/vendor/assets/bower_components/jquery/src/offset.js +204 -0
- data/vendor/assets/bower_components/jquery/src/outro.js +1 -0
- data/vendor/assets/bower_components/jquery/src/queue/delay.js +22 -0
- data/vendor/assets/bower_components/jquery/src/queue.js +142 -0
- data/vendor/assets/bower_components/jquery/src/selector-native.js +172 -0
- data/vendor/assets/bower_components/jquery/src/selector-sizzle.js +14 -0
- data/vendor/assets/bower_components/jquery/src/selector.js +1 -0
- data/vendor/assets/bower_components/jquery/src/serialize.js +111 -0
- data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.js +2044 -0
- data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
- data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
- data/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +100 -0
- data/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
- data/vendor/assets/bower_components/jquery/src/traversing.js +200 -0
- data/vendor/assets/bower_components/jquery/src/var/arr.js +3 -0
- data/vendor/assets/bower_components/jquery/src/var/class2type.js +4 -0
- data/vendor/assets/bower_components/jquery/src/var/concat.js +5 -0
- data/vendor/assets/bower_components/jquery/src/var/hasOwn.js +5 -0
- data/vendor/assets/bower_components/jquery/src/var/indexOf.js +5 -0
- data/vendor/assets/bower_components/jquery/src/var/pnum.js +3 -0
- data/vendor/assets/bower_components/jquery/src/var/push.js +5 -0
- data/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +3 -0
- data/vendor/assets/bower_components/jquery/src/var/slice.js +5 -0
- data/vendor/assets/bower_components/jquery/src/var/strundefined.js +3 -0
- data/vendor/assets/bower_components/jquery/src/var/support.js +4 -0
- data/vendor/assets/bower_components/jquery/src/var/toString.js +5 -0
- data/vendor/assets/bower_components/jquery/src/wrap.js +78 -0
- metadata +356 -0
@@ -0,0 +1,181 @@
|
|
1
|
+
define([
|
2
|
+
"../core",
|
3
|
+
"../var/rnotwhite",
|
4
|
+
"./accepts"
|
5
|
+
], function( jQuery, rnotwhite ) {
|
6
|
+
|
7
|
+
function Data() {
|
8
|
+
// Support: Android < 4,
|
9
|
+
// Old WebKit does not have Object.preventExtensions/freeze method,
|
10
|
+
// return new empty object instead with no [[set]] accessor
|
11
|
+
Object.defineProperty( this.cache = {}, 0, {
|
12
|
+
get: function() {
|
13
|
+
return {};
|
14
|
+
}
|
15
|
+
});
|
16
|
+
|
17
|
+
this.expando = jQuery.expando + Math.random();
|
18
|
+
}
|
19
|
+
|
20
|
+
Data.uid = 1;
|
21
|
+
Data.accepts = jQuery.acceptData;
|
22
|
+
|
23
|
+
Data.prototype = {
|
24
|
+
key: function( owner ) {
|
25
|
+
// We can accept data for non-element nodes in modern browsers,
|
26
|
+
// but we should not, see #8335.
|
27
|
+
// Always return the key for a frozen object.
|
28
|
+
if ( !Data.accepts( owner ) ) {
|
29
|
+
return 0;
|
30
|
+
}
|
31
|
+
|
32
|
+
var descriptor = {},
|
33
|
+
// Check if the owner object already has a cache key
|
34
|
+
unlock = owner[ this.expando ];
|
35
|
+
|
36
|
+
// If not, create one
|
37
|
+
if ( !unlock ) {
|
38
|
+
unlock = Data.uid++;
|
39
|
+
|
40
|
+
// Secure it in a non-enumerable, non-writable property
|
41
|
+
try {
|
42
|
+
descriptor[ this.expando ] = { value: unlock };
|
43
|
+
Object.defineProperties( owner, descriptor );
|
44
|
+
|
45
|
+
// Support: Android < 4
|
46
|
+
// Fallback to a less secure definition
|
47
|
+
} catch ( e ) {
|
48
|
+
descriptor[ this.expando ] = unlock;
|
49
|
+
jQuery.extend( owner, descriptor );
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
// Ensure the cache object
|
54
|
+
if ( !this.cache[ unlock ] ) {
|
55
|
+
this.cache[ unlock ] = {};
|
56
|
+
}
|
57
|
+
|
58
|
+
return unlock;
|
59
|
+
},
|
60
|
+
set: function( owner, data, value ) {
|
61
|
+
var prop,
|
62
|
+
// There may be an unlock assigned to this node,
|
63
|
+
// if there is no entry for this "owner", create one inline
|
64
|
+
// and set the unlock as though an owner entry had always existed
|
65
|
+
unlock = this.key( owner ),
|
66
|
+
cache = this.cache[ unlock ];
|
67
|
+
|
68
|
+
// Handle: [ owner, key, value ] args
|
69
|
+
if ( typeof data === "string" ) {
|
70
|
+
cache[ data ] = value;
|
71
|
+
|
72
|
+
// Handle: [ owner, { properties } ] args
|
73
|
+
} else {
|
74
|
+
// Fresh assignments by object are shallow copied
|
75
|
+
if ( jQuery.isEmptyObject( cache ) ) {
|
76
|
+
jQuery.extend( this.cache[ unlock ], data );
|
77
|
+
// Otherwise, copy the properties one-by-one to the cache object
|
78
|
+
} else {
|
79
|
+
for ( prop in data ) {
|
80
|
+
cache[ prop ] = data[ prop ];
|
81
|
+
}
|
82
|
+
}
|
83
|
+
}
|
84
|
+
return cache;
|
85
|
+
},
|
86
|
+
get: function( owner, key ) {
|
87
|
+
// Either a valid cache is found, or will be created.
|
88
|
+
// New caches will be created and the unlock returned,
|
89
|
+
// allowing direct access to the newly created
|
90
|
+
// empty data object. A valid owner object must be provided.
|
91
|
+
var cache = this.cache[ this.key( owner ) ];
|
92
|
+
|
93
|
+
return key === undefined ?
|
94
|
+
cache : cache[ key ];
|
95
|
+
},
|
96
|
+
access: function( owner, key, value ) {
|
97
|
+
var stored;
|
98
|
+
// In cases where either:
|
99
|
+
//
|
100
|
+
// 1. No key was specified
|
101
|
+
// 2. A string key was specified, but no value provided
|
102
|
+
//
|
103
|
+
// Take the "read" path and allow the get method to determine
|
104
|
+
// which value to return, respectively either:
|
105
|
+
//
|
106
|
+
// 1. The entire cache object
|
107
|
+
// 2. The data stored at the key
|
108
|
+
//
|
109
|
+
if ( key === undefined ||
|
110
|
+
((key && typeof key === "string") && value === undefined) ) {
|
111
|
+
|
112
|
+
stored = this.get( owner, key );
|
113
|
+
|
114
|
+
return stored !== undefined ?
|
115
|
+
stored : this.get( owner, jQuery.camelCase(key) );
|
116
|
+
}
|
117
|
+
|
118
|
+
// [*]When the key is not a string, or both a key and value
|
119
|
+
// are specified, set or extend (existing objects) with either:
|
120
|
+
//
|
121
|
+
// 1. An object of properties
|
122
|
+
// 2. A key and value
|
123
|
+
//
|
124
|
+
this.set( owner, key, value );
|
125
|
+
|
126
|
+
// Since the "set" path can have two possible entry points
|
127
|
+
// return the expected data based on which path was taken[*]
|
128
|
+
return value !== undefined ? value : key;
|
129
|
+
},
|
130
|
+
remove: function( owner, key ) {
|
131
|
+
var i, name, camel,
|
132
|
+
unlock = this.key( owner ),
|
133
|
+
cache = this.cache[ unlock ];
|
134
|
+
|
135
|
+
if ( key === undefined ) {
|
136
|
+
this.cache[ unlock ] = {};
|
137
|
+
|
138
|
+
} else {
|
139
|
+
// Support array or space separated string of keys
|
140
|
+
if ( jQuery.isArray( key ) ) {
|
141
|
+
// If "name" is an array of keys...
|
142
|
+
// When data is initially created, via ("key", "val") signature,
|
143
|
+
// keys will be converted to camelCase.
|
144
|
+
// Since there is no way to tell _how_ a key was added, remove
|
145
|
+
// both plain key and camelCase key. #12786
|
146
|
+
// This will only penalize the array argument path.
|
147
|
+
name = key.concat( key.map( jQuery.camelCase ) );
|
148
|
+
} else {
|
149
|
+
camel = jQuery.camelCase( key );
|
150
|
+
// Try the string as a key before any manipulation
|
151
|
+
if ( key in cache ) {
|
152
|
+
name = [ key, camel ];
|
153
|
+
} else {
|
154
|
+
// If a key with the spaces exists, use it.
|
155
|
+
// Otherwise, create an array by matching non-whitespace
|
156
|
+
name = camel;
|
157
|
+
name = name in cache ?
|
158
|
+
[ name ] : ( name.match( rnotwhite ) || [] );
|
159
|
+
}
|
160
|
+
}
|
161
|
+
|
162
|
+
i = name.length;
|
163
|
+
while ( i-- ) {
|
164
|
+
delete cache[ name[ i ] ];
|
165
|
+
}
|
166
|
+
}
|
167
|
+
},
|
168
|
+
hasData: function( owner ) {
|
169
|
+
return !jQuery.isEmptyObject(
|
170
|
+
this.cache[ owner[ this.expando ] ] || {}
|
171
|
+
);
|
172
|
+
},
|
173
|
+
discard: function( owner ) {
|
174
|
+
if ( owner[ this.expando ] ) {
|
175
|
+
delete this.cache[ owner[ this.expando ] ];
|
176
|
+
}
|
177
|
+
}
|
178
|
+
};
|
179
|
+
|
180
|
+
return Data;
|
181
|
+
});
|
@@ -0,0 +1,20 @@
|
|
1
|
+
define([
|
2
|
+
"../core"
|
3
|
+
], function( jQuery ) {
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Determines whether an object can have data
|
7
|
+
*/
|
8
|
+
jQuery.acceptData = function( owner ) {
|
9
|
+
// Accepts only:
|
10
|
+
// - Node
|
11
|
+
// - Node.ELEMENT_NODE
|
12
|
+
// - Node.DOCUMENT_NODE
|
13
|
+
// - Object
|
14
|
+
// - Any
|
15
|
+
/* jshint -W018 */
|
16
|
+
return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
|
17
|
+
};
|
18
|
+
|
19
|
+
return jQuery.acceptData;
|
20
|
+
});
|
@@ -0,0 +1,179 @@
|
|
1
|
+
define([
|
2
|
+
"./core",
|
3
|
+
"./var/rnotwhite",
|
4
|
+
"./core/access",
|
5
|
+
"./data/var/data_priv",
|
6
|
+
"./data/var/data_user"
|
7
|
+
], function( jQuery, rnotwhite, access, data_priv, data_user ) {
|
8
|
+
|
9
|
+
/*
|
10
|
+
Implementation Summary
|
11
|
+
|
12
|
+
1. Enforce API surface and semantic compatibility with 1.9.x branch
|
13
|
+
2. Improve the module's maintainability by reducing the storage
|
14
|
+
paths to a single mechanism.
|
15
|
+
3. Use the same single mechanism to support "private" and "user" data.
|
16
|
+
4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
|
17
|
+
5. Avoid exposing implementation details on user objects (eg. expando properties)
|
18
|
+
6. Provide a clear path for implementation upgrade to WeakMap in 2014
|
19
|
+
*/
|
20
|
+
var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
|
21
|
+
rmultiDash = /([A-Z])/g;
|
22
|
+
|
23
|
+
function dataAttr( elem, key, data ) {
|
24
|
+
var name;
|
25
|
+
|
26
|
+
// If nothing was found internally, try to fetch any
|
27
|
+
// data from the HTML5 data-* attribute
|
28
|
+
if ( data === undefined && elem.nodeType === 1 ) {
|
29
|
+
name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
|
30
|
+
data = elem.getAttribute( name );
|
31
|
+
|
32
|
+
if ( typeof data === "string" ) {
|
33
|
+
try {
|
34
|
+
data = data === "true" ? true :
|
35
|
+
data === "false" ? false :
|
36
|
+
data === "null" ? null :
|
37
|
+
// Only convert to a number if it doesn't change the string
|
38
|
+
+data + "" === data ? +data :
|
39
|
+
rbrace.test( data ) ? jQuery.parseJSON( data ) :
|
40
|
+
data;
|
41
|
+
} catch( e ) {}
|
42
|
+
|
43
|
+
// Make sure we set the data so it isn't changed later
|
44
|
+
data_user.set( elem, key, data );
|
45
|
+
} else {
|
46
|
+
data = undefined;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
return data;
|
50
|
+
}
|
51
|
+
|
52
|
+
jQuery.extend({
|
53
|
+
hasData: function( elem ) {
|
54
|
+
return data_user.hasData( elem ) || data_priv.hasData( elem );
|
55
|
+
},
|
56
|
+
|
57
|
+
data: function( elem, name, data ) {
|
58
|
+
return data_user.access( elem, name, data );
|
59
|
+
},
|
60
|
+
|
61
|
+
removeData: function( elem, name ) {
|
62
|
+
data_user.remove( elem, name );
|
63
|
+
},
|
64
|
+
|
65
|
+
// TODO: Now that all calls to _data and _removeData have been replaced
|
66
|
+
// with direct calls to data_priv methods, these can be deprecated.
|
67
|
+
_data: function( elem, name, data ) {
|
68
|
+
return data_priv.access( elem, name, data );
|
69
|
+
},
|
70
|
+
|
71
|
+
_removeData: function( elem, name ) {
|
72
|
+
data_priv.remove( elem, name );
|
73
|
+
}
|
74
|
+
});
|
75
|
+
|
76
|
+
jQuery.fn.extend({
|
77
|
+
data: function( key, value ) {
|
78
|
+
var i, name, data,
|
79
|
+
elem = this[ 0 ],
|
80
|
+
attrs = elem && elem.attributes;
|
81
|
+
|
82
|
+
// Gets all values
|
83
|
+
if ( key === undefined ) {
|
84
|
+
if ( this.length ) {
|
85
|
+
data = data_user.get( elem );
|
86
|
+
|
87
|
+
if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) {
|
88
|
+
i = attrs.length;
|
89
|
+
while ( i-- ) {
|
90
|
+
|
91
|
+
// Support: IE11+
|
92
|
+
// The attrs elements can be null (#14894)
|
93
|
+
if ( attrs[ i ] ) {
|
94
|
+
name = attrs[ i ].name;
|
95
|
+
if ( name.indexOf( "data-" ) === 0 ) {
|
96
|
+
name = jQuery.camelCase( name.slice(5) );
|
97
|
+
dataAttr( elem, name, data[ name ] );
|
98
|
+
}
|
99
|
+
}
|
100
|
+
}
|
101
|
+
data_priv.set( elem, "hasDataAttrs", true );
|
102
|
+
}
|
103
|
+
}
|
104
|
+
|
105
|
+
return data;
|
106
|
+
}
|
107
|
+
|
108
|
+
// Sets multiple values
|
109
|
+
if ( typeof key === "object" ) {
|
110
|
+
return this.each(function() {
|
111
|
+
data_user.set( this, key );
|
112
|
+
});
|
113
|
+
}
|
114
|
+
|
115
|
+
return access( this, function( value ) {
|
116
|
+
var data,
|
117
|
+
camelKey = jQuery.camelCase( key );
|
118
|
+
|
119
|
+
// The calling jQuery object (element matches) is not empty
|
120
|
+
// (and therefore has an element appears at this[ 0 ]) and the
|
121
|
+
// `value` parameter was not undefined. An empty jQuery object
|
122
|
+
// will result in `undefined` for elem = this[ 0 ] which will
|
123
|
+
// throw an exception if an attempt to read a data cache is made.
|
124
|
+
if ( elem && value === undefined ) {
|
125
|
+
// Attempt to get data from the cache
|
126
|
+
// with the key as-is
|
127
|
+
data = data_user.get( elem, key );
|
128
|
+
if ( data !== undefined ) {
|
129
|
+
return data;
|
130
|
+
}
|
131
|
+
|
132
|
+
// Attempt to get data from the cache
|
133
|
+
// with the key camelized
|
134
|
+
data = data_user.get( elem, camelKey );
|
135
|
+
if ( data !== undefined ) {
|
136
|
+
return data;
|
137
|
+
}
|
138
|
+
|
139
|
+
// Attempt to "discover" the data in
|
140
|
+
// HTML5 custom data-* attrs
|
141
|
+
data = dataAttr( elem, camelKey, undefined );
|
142
|
+
if ( data !== undefined ) {
|
143
|
+
return data;
|
144
|
+
}
|
145
|
+
|
146
|
+
// We tried really hard, but the data doesn't exist.
|
147
|
+
return;
|
148
|
+
}
|
149
|
+
|
150
|
+
// Set the data...
|
151
|
+
this.each(function() {
|
152
|
+
// First, attempt to store a copy or reference of any
|
153
|
+
// data that might've been store with a camelCased key.
|
154
|
+
var data = data_user.get( this, camelKey );
|
155
|
+
|
156
|
+
// For HTML5 data-* attribute interop, we have to
|
157
|
+
// store property names with dashes in a camelCase form.
|
158
|
+
// This might not apply to all properties...*
|
159
|
+
data_user.set( this, camelKey, value );
|
160
|
+
|
161
|
+
// *... In the case of properties that might _actually_
|
162
|
+
// have dashes, we need to also store a copy of that
|
163
|
+
// unchanged property.
|
164
|
+
if ( key.indexOf("-") !== -1 && data !== undefined ) {
|
165
|
+
data_user.set( this, key, value );
|
166
|
+
}
|
167
|
+
});
|
168
|
+
}, null, value, arguments.length > 1, null, true );
|
169
|
+
},
|
170
|
+
|
171
|
+
removeData: function( key ) {
|
172
|
+
return this.each(function() {
|
173
|
+
data_user.remove( this, key );
|
174
|
+
});
|
175
|
+
}
|
176
|
+
});
|
177
|
+
|
178
|
+
return jQuery;
|
179
|
+
});
|
@@ -0,0 +1,149 @@
|
|
1
|
+
define([
|
2
|
+
"./core",
|
3
|
+
"./var/slice",
|
4
|
+
"./callbacks"
|
5
|
+
], function( jQuery, slice ) {
|
6
|
+
|
7
|
+
jQuery.extend({
|
8
|
+
|
9
|
+
Deferred: function( func ) {
|
10
|
+
var tuples = [
|
11
|
+
// action, add listener, listener list, final state
|
12
|
+
[ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ],
|
13
|
+
[ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ],
|
14
|
+
[ "notify", "progress", jQuery.Callbacks("memory") ]
|
15
|
+
],
|
16
|
+
state = "pending",
|
17
|
+
promise = {
|
18
|
+
state: function() {
|
19
|
+
return state;
|
20
|
+
},
|
21
|
+
always: function() {
|
22
|
+
deferred.done( arguments ).fail( arguments );
|
23
|
+
return this;
|
24
|
+
},
|
25
|
+
then: function( /* fnDone, fnFail, fnProgress */ ) {
|
26
|
+
var fns = arguments;
|
27
|
+
return jQuery.Deferred(function( newDefer ) {
|
28
|
+
jQuery.each( tuples, function( i, tuple ) {
|
29
|
+
var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];
|
30
|
+
// deferred[ done | fail | progress ] for forwarding actions to newDefer
|
31
|
+
deferred[ tuple[1] ](function() {
|
32
|
+
var returned = fn && fn.apply( this, arguments );
|
33
|
+
if ( returned && jQuery.isFunction( returned.promise ) ) {
|
34
|
+
returned.promise()
|
35
|
+
.done( newDefer.resolve )
|
36
|
+
.fail( newDefer.reject )
|
37
|
+
.progress( newDefer.notify );
|
38
|
+
} else {
|
39
|
+
newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments );
|
40
|
+
}
|
41
|
+
});
|
42
|
+
});
|
43
|
+
fns = null;
|
44
|
+
}).promise();
|
45
|
+
},
|
46
|
+
// Get a promise for this deferred
|
47
|
+
// If obj is provided, the promise aspect is added to the object
|
48
|
+
promise: function( obj ) {
|
49
|
+
return obj != null ? jQuery.extend( obj, promise ) : promise;
|
50
|
+
}
|
51
|
+
},
|
52
|
+
deferred = {};
|
53
|
+
|
54
|
+
// Keep pipe for back-compat
|
55
|
+
promise.pipe = promise.then;
|
56
|
+
|
57
|
+
// Add list-specific methods
|
58
|
+
jQuery.each( tuples, function( i, tuple ) {
|
59
|
+
var list = tuple[ 2 ],
|
60
|
+
stateString = tuple[ 3 ];
|
61
|
+
|
62
|
+
// promise[ done | fail | progress ] = list.add
|
63
|
+
promise[ tuple[1] ] = list.add;
|
64
|
+
|
65
|
+
// Handle state
|
66
|
+
if ( stateString ) {
|
67
|
+
list.add(function() {
|
68
|
+
// state = [ resolved | rejected ]
|
69
|
+
state = stateString;
|
70
|
+
|
71
|
+
// [ reject_list | resolve_list ].disable; progress_list.lock
|
72
|
+
}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
|
73
|
+
}
|
74
|
+
|
75
|
+
// deferred[ resolve | reject | notify ]
|
76
|
+
deferred[ tuple[0] ] = function() {
|
77
|
+
deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments );
|
78
|
+
return this;
|
79
|
+
};
|
80
|
+
deferred[ tuple[0] + "With" ] = list.fireWith;
|
81
|
+
});
|
82
|
+
|
83
|
+
// Make the deferred a promise
|
84
|
+
promise.promise( deferred );
|
85
|
+
|
86
|
+
// Call given func if any
|
87
|
+
if ( func ) {
|
88
|
+
func.call( deferred, deferred );
|
89
|
+
}
|
90
|
+
|
91
|
+
// All done!
|
92
|
+
return deferred;
|
93
|
+
},
|
94
|
+
|
95
|
+
// Deferred helper
|
96
|
+
when: function( subordinate /* , ..., subordinateN */ ) {
|
97
|
+
var i = 0,
|
98
|
+
resolveValues = slice.call( arguments ),
|
99
|
+
length = resolveValues.length,
|
100
|
+
|
101
|
+
// the count of uncompleted subordinates
|
102
|
+
remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,
|
103
|
+
|
104
|
+
// the master Deferred. If resolveValues consist of only a single Deferred, just use that.
|
105
|
+
deferred = remaining === 1 ? subordinate : jQuery.Deferred(),
|
106
|
+
|
107
|
+
// Update function for both resolve and progress values
|
108
|
+
updateFunc = function( i, contexts, values ) {
|
109
|
+
return function( value ) {
|
110
|
+
contexts[ i ] = this;
|
111
|
+
values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
|
112
|
+
if ( values === progressValues ) {
|
113
|
+
deferred.notifyWith( contexts, values );
|
114
|
+
} else if ( !( --remaining ) ) {
|
115
|
+
deferred.resolveWith( contexts, values );
|
116
|
+
}
|
117
|
+
};
|
118
|
+
},
|
119
|
+
|
120
|
+
progressValues, progressContexts, resolveContexts;
|
121
|
+
|
122
|
+
// add listeners to Deferred subordinates; treat others as resolved
|
123
|
+
if ( length > 1 ) {
|
124
|
+
progressValues = new Array( length );
|
125
|
+
progressContexts = new Array( length );
|
126
|
+
resolveContexts = new Array( length );
|
127
|
+
for ( ; i < length; i++ ) {
|
128
|
+
if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {
|
129
|
+
resolveValues[ i ].promise()
|
130
|
+
.done( updateFunc( i, resolveContexts, resolveValues ) )
|
131
|
+
.fail( deferred.reject )
|
132
|
+
.progress( updateFunc( i, progressContexts, progressValues ) );
|
133
|
+
} else {
|
134
|
+
--remaining;
|
135
|
+
}
|
136
|
+
}
|
137
|
+
}
|
138
|
+
|
139
|
+
// if we're not waiting on anything, resolve the master
|
140
|
+
if ( !remaining ) {
|
141
|
+
deferred.resolveWith( resolveContexts, resolveValues );
|
142
|
+
}
|
143
|
+
|
144
|
+
return deferred.promise();
|
145
|
+
}
|
146
|
+
});
|
147
|
+
|
148
|
+
return jQuery;
|
149
|
+
});
|
@@ -0,0 +1,50 @@
|
|
1
|
+
define([
|
2
|
+
"./core",
|
3
|
+
"./core/access",
|
4
|
+
"./css"
|
5
|
+
], function( jQuery, access ) {
|
6
|
+
|
7
|
+
// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
|
8
|
+
jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
|
9
|
+
jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) {
|
10
|
+
// margin is only for outerHeight, outerWidth
|
11
|
+
jQuery.fn[ funcName ] = function( margin, value ) {
|
12
|
+
var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
|
13
|
+
extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
|
14
|
+
|
15
|
+
return access( this, function( elem, type, value ) {
|
16
|
+
var doc;
|
17
|
+
|
18
|
+
if ( jQuery.isWindow( elem ) ) {
|
19
|
+
// As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there
|
20
|
+
// isn't a whole lot we can do. See pull request at this URL for discussion:
|
21
|
+
// https://github.com/jquery/jquery/pull/764
|
22
|
+
return elem.document.documentElement[ "client" + name ];
|
23
|
+
}
|
24
|
+
|
25
|
+
// Get document width or height
|
26
|
+
if ( elem.nodeType === 9 ) {
|
27
|
+
doc = elem.documentElement;
|
28
|
+
|
29
|
+
// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
|
30
|
+
// whichever is greatest
|
31
|
+
return Math.max(
|
32
|
+
elem.body[ "scroll" + name ], doc[ "scroll" + name ],
|
33
|
+
elem.body[ "offset" + name ], doc[ "offset" + name ],
|
34
|
+
doc[ "client" + name ]
|
35
|
+
);
|
36
|
+
}
|
37
|
+
|
38
|
+
return value === undefined ?
|
39
|
+
// Get width or height on the element, requesting but not forcing parseFloat
|
40
|
+
jQuery.css( elem, type, extra ) :
|
41
|
+
|
42
|
+
// Set width or height on the element
|
43
|
+
jQuery.style( elem, type, value, extra );
|
44
|
+
}, type, chainable ? margin : undefined, chainable, null );
|
45
|
+
};
|
46
|
+
});
|
47
|
+
});
|
48
|
+
|
49
|
+
return jQuery;
|
50
|
+
});
|