From b207e601f5d26584d7126d285d9cb38d9c875412 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20S=CC=8Ckoda?= Date: Sat, 6 Apr 2013 19:06:55 +0200 Subject: [PATCH] MDL-38786 import YUI 3.9.1 --- lib/setup.php | 2 +- lib/thirdpartylibs.xml | 2 +- .../build/axis-base/axis-base-coverage.js | 1012 ---- .../3.9.0/build/axis-base/axis-base-min.js | 2 - .../axis-category-base-min.js | 2 - .../axis-numeric-base-min.js | 2 - .../build/axis-numeric/axis-numeric-min.js | 2 - lib/yuilib/3.9.0/build/axis/axis-coverage.js | 4002 -------------- lib/yuilib/3.9.0/build/axis/axis-min.js | 5 - .../build/charts-base/charts-base-min.js | 9 - .../build/charts-legend/charts-legend-min.js | 4 - lib/yuilib/3.9.0/build/charts/charts-min.js | 2 - .../assets/console-filters-core.css | 1 - .../build/console/assets/console-core.css | 1 - .../console/assets/console-filters-core.css | 1 - .../graphics-canvas/graphics-canvas-min.js | 6 - .../build/graphics-svg/graphics-svg-min.js | 6 - .../graphics-vml/graphics-vml-coverage.js | 4712 ---------------- .../build/graphics-vml/graphics-vml-min.js | 6 - .../3.9.0/build/graphics/graphics-min.js | 2 - .../handlebars-base/handlebars-base-min.js | 7 - .../handlebars-compiler-debug.js | 1999 ------- .../handlebars-compiler-min.js | 12 - .../handlebars-compiler.js | 1999 ------- .../lazy-model-list/lazy-model-list-min.js | 2 - .../assets/skins/sam/node-flick-skin.css | 2 - .../overlay/assets/skins/sam/overlay-skin.css | 1 - .../assets/skins/night/resize-base-skin.css | 47 - .../assets/skins/sam/resize-base-skin.css | 47 - .../assets/skins/night/resize-base-skin.css | 47 - .../assets/skins/sam/resize-base-skin.css | 47 - lib/yuilib/3.9.0/build/router/router-min.js | 3 - .../skins/night/scrollview-base-skin.css | 1 - .../assets/scrollview-list-core.css | 1 - .../3.9.0/build/scrollview/scrollview-min.js | 2 - .../3.9.0/build/selector/selector-debug.js | 6 - .../3.9.0/build/selector/selector-min.js | 2 - lib/yuilib/3.9.0/build/selector/selector.js | 6 - .../series-bar-stacked-min.js | 2 - .../3.9.0/build/series-bar/series-bar-min.js | 2 - .../build/series-base/series-base-min.js | 2 - .../series-cartesian/series-cartesian-min.js | 3 - .../series-column-stacked-min.js | 2 - .../build/series-column/series-column-min.js | 2 - .../series-fill-util/series-fill-util-min.js | 2 - .../series-histogram-base-min.js | 2 - .../series-line-util/series-line-util-min.js | 2 - .../3.9.0/build/series-pie/series-pie-min.js | 3 - .../series-plot-util/series-plot-util-min.js | 2 - .../build/series-range/series-range-min.js | 2 - .../series-stacked/series-stacked-min.js | 2 - .../tree-openable/tree-openable-coverage.js | 278 - .../build/tree-openable/tree-openable-min.js | 2 - .../tree-selectable/tree-selectable-min.js | 2 - lib/yuilib/3.9.0/build/tree/tree-coverage.js | 920 ---- lib/yuilib/3.9.0/build/tree/tree-min.js | 2 - .../assets/skins/night/widget-base-skin.css | 1 - .../assets/skins/sam/widget-base-skin.css | 1 - .../assets/widget-modality-core.css | 2 - .../widget-skin/assets/widget-base-core.css | 21 - .../assets/skins/night/widget-stack-skin.css | 1 - .../assets/skins/sam/widget-stack-skin.css | 1 - .../assets/widget-base-core.css | 21 - .../align-plugin/align-plugin-coverage.js | 6 +- .../build/align-plugin/align-plugin-debug.js | 4 +- .../build/align-plugin/align-plugin-min.js | 4 +- .../build/align-plugin/align-plugin.js | 4 +- .../build/anim-base/anim-base-coverage.js | 6 +- .../build/anim-base/anim-base-debug.js | 4 +- .../build/anim-base/anim-base-min.js | 4 +- .../build/anim-base/anim-base.js | 4 +- .../build/anim-color/anim-color-coverage.js | 6 +- .../build/anim-color/anim-color-debug.js | 4 +- .../build/anim-color/anim-color-min.js | 4 +- .../build/anim-color/anim-color.js | 4 +- .../build/anim-curve/anim-curve-coverage.js | 6 +- .../build/anim-curve/anim-curve-debug.js | 4 +- .../build/anim-curve/anim-curve-min.js | 4 +- .../build/anim-curve/anim-curve.js | 4 +- .../build/anim-easing/anim-easing-coverage.js | 6 +- .../build/anim-easing/anim-easing-debug.js | 4 +- .../build/anim-easing/anim-easing-min.js | 4 +- .../build/anim-easing/anim-easing.js | 4 +- .../anim-node-plugin-coverage.js | 6 +- .../anim-node-plugin-debug.js | 4 +- .../anim-node-plugin/anim-node-plugin-min.js | 4 +- .../anim-node-plugin/anim-node-plugin.js | 4 +- .../build/anim-scroll/anim-scroll-coverage.js | 6 +- .../build/anim-scroll/anim-scroll-debug.js | 4 +- .../build/anim-scroll/anim-scroll-min.js | 4 +- .../build/anim-scroll/anim-scroll.js | 4 +- .../anim-shape-transform-coverage.js | 6 +- .../build/anim-shape/anim-shape-coverage.js | 6 +- .../build/anim-shape/anim-shape-debug.js | 4 +- .../build/anim-shape/anim-shape-min.js | 4 +- .../build/anim-shape/anim-shape.js | 4 +- .../build/anim-xy/anim-xy-coverage.js | 6 +- .../build/anim-xy/anim-xy-debug.js | 4 +- .../build/anim-xy/anim-xy-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/anim-xy/anim-xy.js | 4 +- .../build/app-base/app-base-coverage.js | 6 +- .../build/app-base/app-base-debug.js | 4 +- .../build/app-base/app-base-min.js | 4 +- .../build/app-base/app-base.js | 4 +- .../build/app-content/app-content-coverage.js | 6 +- .../build/app-content/app-content-debug.js | 4 +- .../build/app-content/app-content-min.js | 4 +- .../build/app-content/app-content.js | 4 +- .../app-transitions-css-min.css | 2 +- .../app-transitions-css.css | 2 +- .../app-transitions-native-coverage.js | 6 +- .../app-transitions-native-debug.js | 4 +- .../app-transitions-native-min.js | 4 +- .../app-transitions-native.js | 4 +- .../app-transitions-coverage.js | 6 +- .../app-transitions/app-transitions-debug.js | 4 +- .../app-transitions/app-transitions-min.js | 4 +- .../build/app-transitions/app-transitions.js | 4 +- .../array-extras/array-extras-coverage.js | 6 +- .../build/array-extras/array-extras-debug.js | 4 +- .../build/array-extras/array-extras-min.js | 4 +- .../build/array-extras/array-extras.js | 4 +- .../array-invoke/array-invoke-coverage.js | 6 +- .../build/array-invoke/array-invoke-debug.js | 4 +- .../build/array-invoke/array-invoke-min.js | 4 +- .../build/array-invoke/array-invoke.js | 4 +- .../arraylist-add/arraylist-add-coverage.js | 6 +- .../arraylist-add/arraylist-add-debug.js | 4 +- .../build/arraylist-add/arraylist-add-min.js | 4 +- .../build/arraylist-add/arraylist-add.js | 4 +- .../arraylist-filter-coverage.js | 6 +- .../arraylist-filter-debug.js | 4 +- .../arraylist-filter/arraylist-filter-min.js | 4 +- .../arraylist-filter/arraylist-filter.js | 4 +- .../build/arraylist/arraylist-coverage.js | 6 +- .../build/arraylist/arraylist-debug.js | 4 +- .../build/arraylist/arraylist-min.js | 4 +- .../build/arraylist/arraylist.js | 4 +- .../build/arraysort/arraysort-coverage.js | 6 +- .../build/arraysort/arraysort-debug.js | 4 +- .../build/arraysort/arraysort-min.js | 4 +- .../build/arraysort/arraysort.js | 4 +- .../build/assets/skins/sam/arrows.png | Bin .../assets/skins/sam/autocomplete-list.css | 2 +- .../build/assets/skins/sam/bg.png | Bin .../build/assets/skins/sam/calendar-base.css | 2 +- .../build}/assets/skins/sam/calendar.css | 2 +- .../assets/skins/sam/calendarnavigator.css | 2 +- .../assets/skins/sam/console-filters.css | 2 +- .../build}/assets/skins/sam/console.css | 2 +- .../skins/sam/datatable-base-deprecated.css | 2 +- .../build/assets/skins/sam/datatable-base.css | 2 +- .../assets/skins/sam/datatable-message.css | 2 +- .../assets/skins/sam/datatable-scroll.css | 2 +- .../build/assets/skins/sam/datatable-sort.css | 2 +- .../build/assets/skins/sam/dial.css | 2 +- .../build/assets/skins/sam/dt-arrow-dn.png | Bin .../build/assets/skins/sam/dt-arrow-up.png | Bin .../sam/horizontal-menu-submenu-indicator.png | Bin .../sam/horizontal-menu-submenu-toggle.png | Bin .../build}/assets/skins/sam/node-flick.css | 2 +- .../build/assets/skins/sam/node-menunav.css | 2 +- .../build/assets/skins/sam/overlay.css | 2 +- .../build/assets/skins/sam/panel.css | 2 +- .../build/assets/skins/sam/rail-x-lines.png | Bin .../build/assets/skins/sam/rail-x.png | Bin .../build/assets/skins/sam/rail-y-lines.png | Bin .../build/assets/skins/sam/rail-y.png | Bin .../build/assets/skins/sam/resize-base.css | 2 +- .../assets/skins/sam/scrollview-base.css | 2 +- .../assets/skins/sam/scrollview-list.css | 2 +- .../skins/sam/scrollview-scrollbars.css | 2 +- .../build/assets/skins/sam/skin.css | 2 +- .../build/assets/skins/sam/slider-base.css | 2 +- .../assets/skins/sam/sort-arrow-sprite-ie.png | Bin .../assets/skins/sam/sort-arrow-sprite.png | Bin .../build/assets/skins/sam/sprite.png | Bin .../build/assets/skins/sam/sprite_icons.gif | Bin .../build/assets/skins/sam/sprite_icons.png | Bin .../build/assets/skins/sam/tabview.css | 2 +- .../build}/assets/skins/sam/test-console.css | 2 +- .../build/assets/skins/sam/thumb-x.png | Bin .../build/assets/skins/sam/thumb-y.png | Bin .../sam/vertical-menu-submenu-indicator.png | Bin .../build/assets/skins/sam/warn_error.png | Bin .../build/assets/skins/sam/widget-base.css | 2 +- .../build/assets/skins/sam/widget-buttons.css | 2 +- .../assets/skins/sam/widget-modality.css | 2 +- .../build}/assets/skins/sam/widget-stack.css | 2 +- .../build/async-queue/async-queue-coverage.js | 6 +- .../build/async-queue/async-queue-debug.js | 4 +- .../build/async-queue/async-queue-min.js | 4 +- .../build/async-queue/async-queue.js | 4 +- .../attribute-base/attribute-base-coverage.js | 6 +- .../attribute-base/attribute-base-debug.js | 4 +- .../attribute-base/attribute-base-min.js | 4 +- .../build/attribute-base/attribute-base.js | 4 +- .../attribute-complex-coverage.js | 6 +- .../attribute-complex-debug.js | 4 +- .../attribute-complex-min.js | 4 +- .../attribute-complex/attribute-complex.js | 4 +- .../attribute-core/attribute-core-coverage.js | 6 +- .../attribute-core/attribute-core-debug.js | 4 +- .../attribute-core/attribute-core-min.js | 4 +- .../build/attribute-core/attribute-core.js | 4 +- .../attribute-extras-coverage.js | 6 +- .../attribute-extras-debug.js | 4 +- .../attribute-extras/attribute-extras-min.js | 4 +- .../attribute-extras/attribute-extras.js | 4 +- .../attribute-observable-coverage.js | 6 +- .../attribute-observable-debug.js | 4 +- .../attribute-observable-min.js | 4 +- .../attribute-observable.js | 4 +- .../autocomplete-base-coverage.js | 6 +- .../autocomplete-base-debug.js | 4 +- .../autocomplete-base-min.js | 4 +- .../autocomplete-base/autocomplete-base.js | 4 +- ...utocomplete-filters-accentfold-coverage.js | 6 +- .../autocomplete-filters-accentfold-debug.js | 4 +- .../autocomplete-filters-accentfold-min.js | 4 +- .../autocomplete-filters-accentfold.js | 4 +- .../autocomplete-filters-coverage.js | 6 +- .../autocomplete-filters-debug.js | 4 +- .../autocomplete-filters-min.js | 4 +- .../autocomplete-filters.js | 4 +- ...mplete-highlighters-accentfold-coverage.js | 6 +- ...ocomplete-highlighters-accentfold-debug.js | 4 +- ...utocomplete-highlighters-accentfold-min.js | 4 +- .../autocomplete-highlighters-accentfold.js | 4 +- .../autocomplete-highlighters-coverage.js | 6 +- .../autocomplete-highlighters-debug.js | 4 +- .../autocomplete-highlighters-min.js | 4 +- .../autocomplete-highlighters.js | 4 +- .../autocomplete-list-keys-coverage.js | 6 +- .../autocomplete-list-keys-debug.js | 4 +- .../autocomplete-list-keys-min.js | 4 +- .../autocomplete-list-keys.js | 4 +- .../assets/autocomplete-list-core.css | 2 +- .../skins/night/autocomplete-list-skin.css | 2 +- .../assets/skins/night/autocomplete-list.css | 2 +- .../skins/sam/autocomplete-list-skin.css | 2 +- .../assets/skins/sam/autocomplete-list.css | 2 +- .../autocomplete-list-coverage.js | 6 +- .../autocomplete-list-debug.js | 4 +- .../autocomplete-list-min.js | 4 +- .../autocomplete-list/autocomplete-list.js | 4 +- .../lang/autocomplete-list.js | 4 +- .../lang/autocomplete-list_en.js | 4 +- .../lang/autocomplete-list_es.js | 4 +- .../autocomplete-plugin-coverage.js | 6 +- .../autocomplete-plugin-debug.js | 4 +- .../autocomplete-plugin-min.js | 4 +- .../autocomplete-plugin.js | 4 +- .../autocomplete-sources-coverage.js | 6 +- .../autocomplete-sources-debug.js | 4 +- .../autocomplete-sources-min.js | 4 +- .../autocomplete-sources.js | 4 +- .../build/axis-base/axis-base-coverage.js | 999 ++++ .../build/axis-base/axis-base-debug.js | 49 +- .../3.9.1/build/axis-base/axis-base-min.js | 2 + .../build/axis-base/axis-base.js | 49 +- .../axis-category-base-coverage.js | 79 +- .../axis-category-base-debug.js | 11 +- .../axis-category-base-min.js | 2 + .../axis-category-base/axis-category-base.js | 11 +- .../axis-category/axis-category-coverage.js | 8 +- .../axis-category/axis-category-debug.js | 6 +- .../build/axis-category/axis-category-min.js | 4 +- .../build/axis-category/axis-category.js | 6 +- .../axis-numeric-base-coverage.js | 425 +- .../axis-numeric-base-debug.js | 18 +- .../axis-numeric-base-min.js | 2 + .../axis-numeric-base/axis-numeric-base.js | 18 +- .../axis-numeric/axis-numeric-coverage.js | 17 +- .../build/axis-numeric/axis-numeric-debug.js | 9 +- .../build/axis-numeric/axis-numeric-min.js | 2 + .../build/axis-numeric/axis-numeric.js | 9 +- .../axis-stacked-base-coverage.js | 6 +- .../axis-stacked-base-debug.js | 4 +- .../axis-stacked-base-min.js | 4 +- .../axis-stacked-base/axis-stacked-base.js | 4 +- .../axis-stacked/axis-stacked-coverage.js | 6 +- .../build/axis-stacked/axis-stacked-debug.js | 4 +- .../build/axis-stacked/axis-stacked-min.js | 4 +- .../build/axis-stacked/axis-stacked.js | 4 +- .../axis-time-base/axis-time-base-coverage.js | 12 +- .../axis-time-base/axis-time-base-debug.js | 10 +- .../axis-time-base/axis-time-base-min.js | 4 +- .../build/axis-time-base/axis-time-base.js | 10 +- .../build/axis-time/axis-time-coverage.js | 8 +- .../build/axis-time/axis-time-debug.js | 6 +- .../build/axis-time/axis-time-min.js | 4 +- .../build/axis-time/axis-time.js | 6 +- lib/yuilib/3.9.1/build/axis/axis-coverage.js | 4004 ++++++++++++++ .../{3.9.0 => 3.9.1}/build/axis/axis-debug.js | 56 +- lib/yuilib/3.9.1/build/axis/axis-min.js | 5 + .../{3.9.0 => 3.9.1}/build/axis/axis.js | 56 +- .../build/base-base/base-base-coverage.js | 6 +- .../build/base-base/base-base-debug.js | 4 +- .../build/base-base/base-base-min.js | 4 +- .../build/base-base/base-base.js | 4 +- .../build/base-build/base-build-coverage.js | 6 +- .../build/base-build/base-build-debug.js | 4 +- .../build/base-build/base-build-min.js | 4 +- .../build/base-build/base-build.js | 4 +- .../build/base-core/base-core-coverage.js | 6 +- .../build/base-core/base-core-debug.js | 4 +- .../build/base-core/base-core-min.js | 4 +- .../build/base-core/base-core.js | 4 +- .../base-observable-coverage.js | 6 +- .../base-observable/base-observable-debug.js | 4 +- .../base-observable/base-observable-min.js | 4 +- .../build/base-observable/base-observable.js | 4 +- .../base-pluginhost-coverage.js | 6 +- .../base-pluginhost/base-pluginhost-debug.js | 4 +- .../base-pluginhost/base-pluginhost-min.js | 4 +- .../build/base-pluginhost/base-pluginhost.js | 4 +- .../build/button-core/button-core-coverage.js | 6 +- .../build/button-core/button-core-debug.js | 4 +- .../build/button-core/button-core-min.js | 4 +- .../build/button-core/button-core.js | 4 +- .../button-group/button-group-coverage.js | 6 +- .../build/button-group/button-group-debug.js | 4 +- .../build/button-group/button-group-min.js | 4 +- .../build/button-group/button-group.js | 4 +- .../button-plugin/button-plugin-coverage.js | 6 +- .../button-plugin/button-plugin-debug.js | 4 +- .../build/button-plugin/button-plugin-min.js | 4 +- .../build/button-plugin/button-plugin.js | 4 +- .../build/button/button-coverage.js | 6 +- .../build/button/button-debug.js | 4 +- .../build/button/button-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/button/button.js | 4 +- .../build/cache-base/cache-base-coverage.js | 6 +- .../build/cache-base/cache-base-debug.js | 4 +- .../build/cache-base/cache-base-min.js | 4 +- .../build/cache-base/cache-base.js | 4 +- .../cache-offline/cache-offline-coverage.js | 6 +- .../cache-offline/cache-offline-debug.js | 4 +- .../build/cache-offline/cache-offline-min.js | 4 +- .../build/cache-offline/cache-offline.js | 4 +- .../cache-plugin/cache-plugin-coverage.js | 6 +- .../build/cache-plugin/cache-plugin-debug.js | 4 +- .../build/cache-plugin/cache-plugin-min.js | 4 +- .../build/cache-plugin/cache-plugin.js | 4 +- .../assets/calendar-base-core.css | 2 +- .../assets/skins/night/calendar-base-skin.css | 2 +- .../assets/skins/night/calendar-base.css | 2 +- .../assets/skins/sam/calendar-base-skin.css | 2 +- .../assets/skins/sam/calendar-base.css | 2 +- .../calendar-base/calendar-base-coverage.js | 6 +- .../calendar-base/calendar-base-debug.js | 4 +- .../build/calendar-base/calendar-base-min.js | 4 +- .../build/calendar-base/calendar-base.js | 4 +- .../build/calendar-base/lang/calendar-base.js | 4 +- .../calendar-base/lang/calendar-base_de.js | 4 +- .../calendar-base/lang/calendar-base_en.js | 4 +- .../calendar-base/lang/calendar-base_es-AR.js | 4 +- .../calendar-base/lang/calendar-base_es.js | 4 +- .../calendar-base/lang/calendar-base_fr.js | 4 +- .../calendar-base/lang/calendar-base_it.js | 4 +- .../calendar-base/lang/calendar-base_ja.js | 4 +- .../calendar-base/lang/calendar-base_nb-NO.js | 4 +- .../calendar-base/lang/calendar-base_nl.js | 4 +- .../calendar-base/lang/calendar-base_pt-BR.js | 4 +- .../calendar-base/lang/calendar-base_ru.js | 4 +- .../lang/calendar-base_zh-HANT-TW.js | 4 +- .../build/calendar/assets/calendar-core.css | 2 +- .../assets/skins/night/calendar-skin.css | 2 +- .../calendar/assets/skins/night/calendar.css | 2 +- .../assets/skins/sam/calendar-skin.css | 2 +- .../calendar}/assets/skins/sam/calendar.css | 2 +- .../build/calendar/calendar-coverage.js | 6 +- .../build/calendar/calendar-debug.js | 4 +- .../build/calendar/calendar-min.js | 4 +- .../build/calendar/calendar.js | 4 +- .../build/calendar/lang/calendar.js | 4 +- .../build/calendar/lang/calendar_de.js | 4 +- .../build/calendar/lang/calendar_en.js | 4 +- .../build/calendar/lang/calendar_es-AR.js | 4 +- .../build/calendar/lang/calendar_es.js | 4 +- .../build/calendar/lang/calendar_fr.js | 4 +- .../build/calendar/lang/calendar_it.js | 4 +- .../build/calendar/lang/calendar_ja.js | 4 +- .../build/calendar/lang/calendar_nb-NO.js | 4 +- .../build/calendar/lang/calendar_nl.js | 4 +- .../build/calendar/lang/calendar_pt-BR.js | 4 +- .../build/calendar/lang/calendar_ru.js | 4 +- .../calendar/lang/calendar_zh-HANT-TW.js | 4 +- .../assets/calendarnavigator-core.css | 2 +- .../skins/night/calendarnavigator-skin.css | 2 +- .../assets/skins/night/calendarnavigator.css | 2 +- .../skins/sam/calendarnavigator-skin.css | 2 +- .../assets/skins/sam/calendarnavigator.css | 2 +- .../calendarnavigator-coverage.js | 6 +- .../calendarnavigator-debug.js | 4 +- .../calendarnavigator-min.js | 4 +- .../calendarnavigator/calendarnavigator.js | 4 +- .../build/charts-base/charts-base-coverage.js | 3269 +++++------ .../build/charts-base/charts-base-debug.js | 238 +- .../build/charts-base/charts-base-min.js | 9 + .../build/charts-base/charts-base.js | 238 +- .../charts-legend/charts-legend-coverage.js | 840 +-- .../charts-legend/charts-legend-debug.js | 66 +- .../build/charts-legend/charts-legend-min.js | 4 + .../build/charts-legend/charts-legend.js | 66 +- .../build/charts/charts-coverage.js | 6 +- .../build/charts/charts-debug.js | 4 +- lib/yuilib/3.9.1/build/charts/charts-min.js | 2 + .../{3.9.0 => 3.9.1}/build/charts/charts.js | 4 +- .../classnamemanager-coverage.js | 6 +- .../classnamemanager-debug.js | 4 +- .../classnamemanager/classnamemanager-min.js | 4 +- .../classnamemanager/classnamemanager.js | 4 +- .../assets/slider-base-core.css | 2 +- .../clickable-rail}/assets/slider-core.css | 2 +- .../assets/thumb-x-oblong-dark.png | Bin .../clickable-rail/assets/thumb-x-oblong.png | Bin .../assets/thumb-x-oblong2-dark.png | Bin .../clickable-rail/assets/thumb-x-oblong2.png | Bin .../assets/thumb-y-oblong-dark.png | Bin .../clickable-rail/assets/thumb-y-oblong.png | Bin .../assets/thumb-y-oblong2-dark.png | Bin .../clickable-rail/assets/thumb-y-oblong2.png | Bin .../clickable-rail/clickable-rail-coverage.js | 6 +- .../clickable-rail/clickable-rail-debug.js | 4 +- .../clickable-rail/clickable-rail-min.js | 4 +- .../build/clickable-rail/clickable-rail.js | 4 +- .../build/color-base/color-base-coverage.js | 6 +- .../build/color-base/color-base-debug.js | 4 +- .../build/color-base/color-base-min.js | 4 +- .../build/color-base/color-base.js | 4 +- .../color-harmony/color-harmony-coverage.js | 6 +- .../color-harmony/color-harmony-debug.js | 4 +- .../build/color-harmony/color-harmony-min.js | 4 +- .../build/color-harmony/color-harmony.js | 4 +- .../build/color-hsl/color-hsl-coverage.js | 6 +- .../build/color-hsl/color-hsl-debug.js | 4 +- .../build/color-hsl/color-hsl-min.js | 4 +- .../build/color-hsl/color-hsl.js | 4 +- .../build/color-hsv/color-hsv-coverage.js | 6 +- .../build/color-hsv/color-hsv-debug.js | 4 +- .../build/color-hsv/color-hsv-min.js | 4 +- .../build/color-hsv/color-hsv.js | 4 +- .../assets/console-filters-core.css | 1 + .../assets/skins/sam/console-filters-skin.css | 2 +- .../assets/skins/sam/console-filters.css | 2 +- .../console-filters-coverage.js | 6 +- .../console-filters/console-filters-debug.js | 4 +- .../console-filters/console-filters-min.js | 4 +- .../build/console-filters/console-filters.js | 4 +- .../build/console/assets/console-core.css | 1 + .../console/assets/console-filters-core.css | 1 + .../build/console/assets/skins/sam/bg.png | Bin .../assets/skins/sam/console-filters-skin.css | 2 +- .../assets/skins/sam/console-filters.css | 2 +- .../console/assets/skins/sam/console-skin.css | 2 +- .../console}/assets/skins/sam/console.css | 2 +- .../console/assets/skins/sam/warn_error.png | Bin .../build/console/assets/warn_error.png | Bin .../build/console/console-coverage.js | 6 +- .../build/console/console-debug.js | 4 +- .../build/console/console-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/console/console.js | 4 +- .../build/console/lang/console.js | 4 +- .../build/console/lang/console_en.js | 4 +- .../build/console/lang/console_es.js | 4 +- .../build/console/lang/console_ja.js | 4 +- .../build/cookie/cookie-coverage.js | 6 +- .../build/cookie/cookie-debug.js | 4 +- .../build/cookie/cookie-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/cookie/cookie.js | 4 +- .../createlink-base-coverage.js | 6 +- .../createlink-base/createlink-base-debug.js | 4 +- .../createlink-base/createlink-base-min.js | 4 +- .../build/createlink-base/createlink-base.js | 4 +- .../cssbase-context/base-context-min.css | 2 +- .../build/cssbase-context/base-context.css | 2 +- .../cssbase-context/cssbase-context-min.css | 2 +- .../build/cssbase-context/cssbase-context.css | 2 +- .../build/cssbase/base-min.css | 2 +- .../{3.9.0 => 3.9.1}/build/cssbase/base.css | 2 +- .../build/cssbase/cssbase-min.css | 2 +- .../build/cssbase/cssbase.css | 2 +- .../build/cssbutton/cssbutton-min.css | 2 +- .../build/cssbutton/cssbutton.css | 2 +- .../cssfonts-context/cssfonts-context-min.css | 2 +- .../cssfonts-context/cssfonts-context.css | 2 +- .../cssfonts-context/fonts-context-min.css | 2 +- .../build/cssfonts-context/fonts-context.css | 2 +- .../build/cssfonts/cssfonts-min.css | 2 +- .../build/cssfonts/cssfonts.css | 2 +- .../build/cssfonts/fonts-min.css | 2 +- .../{3.9.0 => 3.9.1}/build/cssfonts/fonts.css | 2 +- .../build/cssgrids-base/cssgrids-base-min.css | 2 +- .../build/cssgrids-base/cssgrids-base.css | 2 +- .../grids-context-min.css | 2 +- .../grids-context.css | 2 +- .../cssgrids-responsive-min.css | 2 +- .../cssgrids-responsive.css | 2 +- .../cssgrids-units/cssgrids-units-min.css | 2 +- .../build/cssgrids-units/cssgrids-units.css | 2 +- .../build/cssgrids/cssgrids-min.css | 2 +- .../build/cssgrids/cssgrids.css | 2 +- .../build/cssgrids/grids-min.css | 2 +- .../{3.9.0 => 3.9.1}/build/cssgrids/grids.css | 2 +- .../cssnormalize-context-min.css | 2 +- .../cssnormalize-context.css | 2 +- .../build/cssnormalize/cssnormalize-min.css | 2 +- .../build/cssnormalize/cssnormalize.css | 2 +- .../cssreset-context/cssreset-context-min.css | 2 +- .../cssreset-context/cssreset-context.css | 2 +- .../cssreset-context/reset-context-min.css | 2 +- .../build/cssreset-context/reset-context.css | 2 +- .../build/cssreset/cssreset-min.css | 2 +- .../build/cssreset/cssreset.css | 2 +- .../build/cssreset/reset-min.css | 2 +- .../{3.9.0 => 3.9.1}/build/cssreset/reset.css | 2 +- .../dataschema-array-coverage.js | 6 +- .../dataschema-array-debug.js | 4 +- .../dataschema-array/dataschema-array-min.js | 4 +- .../dataschema-array/dataschema-array.js | 4 +- .../dataschema-base-coverage.js | 6 +- .../dataschema-base/dataschema-base-debug.js | 4 +- .../dataschema-base/dataschema-base-min.js | 4 +- .../build/dataschema-base/dataschema-base.js | 4 +- .../dataschema-json-coverage.js | 6 +- .../dataschema-json/dataschema-json-debug.js | 4 +- .../dataschema-json/dataschema-json-min.js | 4 +- .../build/dataschema-json/dataschema-json.js | 4 +- .../dataschema-text-coverage.js | 6 +- .../dataschema-text/dataschema-text-debug.js | 4 +- .../dataschema-text/dataschema-text-min.js | 4 +- .../build/dataschema-text/dataschema-text.js | 4 +- .../dataschema-xml/dataschema-xml-coverage.js | 6 +- .../dataschema-xml/dataschema-xml-debug.js | 4 +- .../dataschema-xml/dataschema-xml-min.js | 4 +- .../build/dataschema-xml/dataschema-xml.js | 4 +- .../datasource-arrayschema-coverage.js | 6 +- .../datasource-arrayschema-debug.js | 4 +- .../datasource-arrayschema-min.js | 4 +- .../datasource-arrayschema.js | 4 +- .../datasource-cache-coverage.js | 6 +- .../datasource-cache-debug.js | 4 +- .../datasource-cache/datasource-cache-min.js | 4 +- .../datasource-cache/datasource-cache.js | 4 +- .../datasource-function-coverage.js | 6 +- .../datasource-function-debug.js | 4 +- .../datasource-function-min.js | 4 +- .../datasource-function.js | 4 +- .../datasource-get/datasource-get-coverage.js | 6 +- .../datasource-get/datasource-get-debug.js | 4 +- .../datasource-get/datasource-get-min.js | 4 +- .../build/datasource-get/datasource-get.js | 4 +- .../datasource-io/datasource-io-coverage.js | 6 +- .../datasource-io/datasource-io-debug.js | 4 +- .../build/datasource-io/datasource-io-min.js | 4 +- .../build/datasource-io/datasource-io.js | 4 +- .../datasource-jsonschema-coverage.js | 6 +- .../datasource-jsonschema-debug.js | 4 +- .../datasource-jsonschema-min.js | 4 +- .../datasource-jsonschema.js | 4 +- .../datasource-local-coverage.js | 6 +- .../datasource-local-debug.js | 4 +- .../datasource-local/datasource-local-min.js | 4 +- .../datasource-local/datasource-local.js | 4 +- .../datasource-polling-coverage.js | 6 +- .../datasource-polling-debug.js | 4 +- .../datasource-polling-min.js | 4 +- .../datasource-polling/datasource-polling.js | 4 +- .../datasource-textschema-coverage.js | 6 +- .../datasource-textschema-debug.js | 4 +- .../datasource-textschema-min.js | 4 +- .../datasource-textschema.js | 4 +- .../datasource-xmlschema-coverage.js | 6 +- .../datasource-xmlschema-debug.js | 4 +- .../datasource-xmlschema-min.js | 4 +- .../datasource-xmlschema.js | 4 +- .../assets/datatable-base-deprecated-core.css | 2 +- .../night/datatable-base-deprecated-skin.css | 2 +- .../skins/night/datatable-base-deprecated.css | 2 +- .../sam/datatable-base-deprecated-skin.css | 2 +- .../skins/sam/datatable-base-deprecated.css | 2 +- .../assets/skins/sam/dt-arrow-dn.png | Bin .../assets/skins/sam/dt-arrow-up.png | Bin .../datatable-base-deprecated-coverage.js | 6 +- .../datatable-base-deprecated-debug.js | 4 +- .../datatable-base-deprecated-min.js | 4 +- .../datatable-base-deprecated.js | 4 +- .../assets/datatable-base-core.css | 2 +- .../skins/night/datatable-base-skin.css | 2 +- .../assets/skins/night/datatable-base.css | 2 +- .../assets/skins/sam/datatable-base-skin.css | 2 +- .../assets/skins/sam/datatable-base.css | 2 +- .../datatable-base/datatable-base-coverage.js | 6 +- .../datatable-base/datatable-base-debug.js | 4 +- .../datatable-base/datatable-base-min.js | 4 +- .../build/datatable-base/datatable-base.js | 4 +- .../datatable-body/datatable-body-coverage.js | 6 +- .../datatable-body/datatable-body-debug.js | 4 +- .../datatable-body/datatable-body-min.js | 4 +- .../build/datatable-body/datatable-body.js | 4 +- .../datatable-column-widths-coverage.js | 6 +- .../datatable-column-widths-debug.js | 4 +- .../datatable-column-widths-min.js | 4 +- .../datatable-column-widths.js | 4 +- .../datatable-core/datatable-core-coverage.js | 6 +- .../datatable-core/datatable-core-debug.js | 4 +- .../datatable-core/datatable-core-min.js | 4 +- .../build/datatable-core/datatable-core.js | 4 +- ...atatable-datasource-deprecated-coverage.js | 6 +- .../datatable-datasource-deprecated-debug.js | 4 +- .../datatable-datasource-deprecated-min.js | 4 +- .../datatable-datasource-deprecated.js | 4 +- .../datatable-datasource-coverage.js | 6 +- .../datatable-datasource-debug.js | 4 +- .../datatable-datasource-min.js | 4 +- .../datatable-datasource.js | 4 +- .../datatable-formatters-coverage.js | 6 +- .../datatable-formatters-debug.js | 4 +- .../datatable-formatters-min.js | 4 +- .../datatable-formatters.js | 4 +- .../datatable-head/datatable-head-coverage.js | 6 +- .../datatable-head/datatable-head-debug.js | 4 +- .../datatable-head/datatable-head-min.js | 4 +- .../build/datatable-head/datatable-head.js | 4 +- .../assets/datatable-message-core.css | 2 +- .../skins/night/datatable-message-skin.css | 2 +- .../assets/skins/night/datatable-message.css | 2 +- .../skins/sam/datatable-message-skin.css | 2 +- .../assets/skins/sam/datatable-message.css | 2 +- .../datatable-message-coverage.js | 6 +- .../datatable-message-debug.js | 4 +- .../datatable-message-min.js | 4 +- .../datatable-message/datatable-message.js | 4 +- .../lang/datatable-message.js | 4 +- .../lang/datatable-message_en.js | 4 +- .../lang/datatable-message_es.js | 4 +- .../lang/datatable-message_fr.js | 4 +- .../datatable-mutable-coverage.js | 6 +- .../datatable-mutable-debug.js | 4 +- .../datatable-mutable-min.js | 4 +- .../datatable-mutable/datatable-mutable.js | 4 +- .../datatable-scroll-deprecated-coverage.js | 6 +- .../datatable-scroll-deprecated-debug.js | 4 +- .../datatable-scroll-deprecated-min.js | 4 +- .../datatable-scroll-deprecated.js | 4 +- .../assets/datatable-scroll-core.css | 2 +- .../skins/night/datatable-scroll-skin.css | 2 +- .../assets/skins/night/datatable-scroll.css | 2 +- .../skins/sam/datatable-scroll-skin.css | 2 +- .../assets/skins/sam/datatable-scroll.css | 2 +- .../datatable-scroll-coverage.js | 6 +- .../datatable-scroll-debug.js | 4 +- .../datatable-scroll/datatable-scroll-min.js | 4 +- .../datatable-scroll/datatable-scroll.js | 4 +- .../datatable-sort-deprecated-coverage.js | 6 +- .../datatable-sort-deprecated-debug.js | 4 +- .../datatable-sort-deprecated-min.js | 4 +- .../datatable-sort-deprecated.js | 4 +- .../lang/datatable-sort-deprecated.js | 4 +- .../lang/datatable-sort-deprecated_en.js | 4 +- .../assets/datatable-sort-core.css | 2 +- .../skins/night/datatable-sort-skin.css | 2 +- .../assets/skins/night/datatable-sort.css | 2 +- .../skins/night/sort-arrow-sprite-ie.png | Bin .../assets/skins/night/sort-arrow-sprite.png | Bin .../assets/skins/sam/datatable-sort-skin.css | 2 +- .../assets/skins/sam/datatable-sort.css | 2 +- .../assets/skins/sam/sort-arrow-sprite-ie.png | Bin .../assets/skins/sam/sort-arrow-sprite.png | Bin .../datatable-sort/datatable-sort-coverage.js | 6 +- .../datatable-sort/datatable-sort-debug.js | 4 +- .../datatable-sort/datatable-sort-min.js | 4 +- .../build/datatable-sort/datatable-sort.js | 4 +- .../datatable-sort/lang/datatable-sort.js | 4 +- .../datatable-sort/lang/datatable-sort_en.js | 4 +- .../datatable-sort/lang/datatable-sort_es.js | 4 +- .../datatable-sort/lang/datatable-sort_fr.js | 4 +- .../datatable-table-coverage.js | 6 +- .../datatable-table/datatable-table-debug.js | 4 +- .../datatable-table/datatable-table-min.js | 4 +- .../build/datatable-table/datatable-table.js | 4 +- .../datatype-date-format-coverage.js | 6 +- .../datatype-date-format-debug.js | 4 +- .../datatype-date-format-min.js | 4 +- .../datatype-date-format.js | 4 +- .../lang/datatype-date-format.js | 4 +- .../lang/datatype-date-format_ar-JO.js | 4 +- .../lang/datatype-date-format_ar.js | 4 +- .../lang/datatype-date-format_ca-ES.js | 4 +- .../lang/datatype-date-format_ca.js | 4 +- .../lang/datatype-date-format_da-DK.js | 4 +- .../lang/datatype-date-format_da.js | 4 +- .../lang/datatype-date-format_de-AT.js | 4 +- .../lang/datatype-date-format_de-DE.js | 4 +- .../lang/datatype-date-format_de.js | 4 +- .../lang/datatype-date-format_el-GR.js | 4 +- .../lang/datatype-date-format_el.js | 4 +- .../lang/datatype-date-format_en-AU.js | 4 +- .../lang/datatype-date-format_en-CA.js | 4 +- .../lang/datatype-date-format_en-GB.js | 4 +- .../lang/datatype-date-format_en-IE.js | 4 +- .../lang/datatype-date-format_en-IN.js | 4 +- .../lang/datatype-date-format_en-JO.js | 4 +- .../lang/datatype-date-format_en-MY.js | 4 +- .../lang/datatype-date-format_en-NZ.js | 4 +- .../lang/datatype-date-format_en-PH.js | 4 +- .../lang/datatype-date-format_en-SG.js | 4 +- .../lang/datatype-date-format_en-US.js | 4 +- .../lang/datatype-date-format_en.js | 4 +- .../lang/datatype-date-format_es-AR.js | 4 +- .../lang/datatype-date-format_es-BO.js | 4 +- .../lang/datatype-date-format_es-CL.js | 4 +- .../lang/datatype-date-format_es-CO.js | 4 +- .../lang/datatype-date-format_es-EC.js | 4 +- .../lang/datatype-date-format_es-ES.js | 4 +- .../lang/datatype-date-format_es-MX.js | 4 +- .../lang/datatype-date-format_es-PE.js | 4 +- .../lang/datatype-date-format_es-PY.js | 4 +- .../lang/datatype-date-format_es-US.js | 4 +- .../lang/datatype-date-format_es-UY.js | 4 +- .../lang/datatype-date-format_es-VE.js | 4 +- .../lang/datatype-date-format_es.js | 4 +- .../lang/datatype-date-format_fi-FI.js | 4 +- .../lang/datatype-date-format_fi.js | 4 +- .../lang/datatype-date-format_fr-BE.js | 4 +- .../lang/datatype-date-format_fr-CA.js | 4 +- .../lang/datatype-date-format_fr-FR.js | 4 +- .../lang/datatype-date-format_fr.js | 4 +- .../lang/datatype-date-format_hi-IN.js | 4 +- .../lang/datatype-date-format_hi.js | 4 +- .../lang/datatype-date-format_id-ID.js | 4 +- .../lang/datatype-date-format_id.js | 4 +- .../lang/datatype-date-format_it-IT.js | 4 +- .../lang/datatype-date-format_it.js | 4 +- .../lang/datatype-date-format_ja-JP.js | 4 +- .../lang/datatype-date-format_ja.js | 4 +- .../lang/datatype-date-format_ko-KR.js | 4 +- .../lang/datatype-date-format_ko.js | 4 +- .../lang/datatype-date-format_ms-MY.js | 4 +- .../lang/datatype-date-format_ms.js | 4 +- .../lang/datatype-date-format_nb-NO.js | 4 +- .../lang/datatype-date-format_nb.js | 4 +- .../lang/datatype-date-format_nl-BE.js | 4 +- .../lang/datatype-date-format_nl-NL.js | 4 +- .../lang/datatype-date-format_nl.js | 4 +- .../lang/datatype-date-format_pl-PL.js | 4 +- .../lang/datatype-date-format_pl.js | 4 +- .../lang/datatype-date-format_pt-BR.js | 4 +- .../lang/datatype-date-format_pt.js | 4 +- .../lang/datatype-date-format_ro-RO.js | 4 +- .../lang/datatype-date-format_ro.js | 4 +- .../lang/datatype-date-format_ru-RU.js | 4 +- .../lang/datatype-date-format_ru.js | 4 +- .../lang/datatype-date-format_sv-SE.js | 4 +- .../lang/datatype-date-format_sv.js | 4 +- .../lang/datatype-date-format_th-TH.js | 4 +- .../lang/datatype-date-format_th.js | 4 +- .../lang/datatype-date-format_tr-TR.js | 4 +- .../lang/datatype-date-format_tr.js | 4 +- .../lang/datatype-date-format_vi-VN.js | 4 +- .../lang/datatype-date-format_vi.js | 4 +- .../lang/datatype-date-format_zh-Hans-CN.js | 4 +- .../lang/datatype-date-format_zh-Hans.js | 4 +- .../lang/datatype-date-format_zh-Hant-HK.js | 4 +- .../lang/datatype-date-format_zh-Hant-TW.js | 4 +- .../lang/datatype-date-format_zh-Hant.js | 4 +- .../datatype-date-math-coverage.js | 88 +- .../datatype-date-math-debug.js | 4 +- .../datatype-date-math-min.js | 4 +- .../datatype-date-math/datatype-date-math.js | 4 +- .../datatype-date-parse-coverage.js | 6 +- .../datatype-date-parse-debug.js | 4 +- .../datatype-date-parse-min.js | 4 +- .../datatype-date-parse.js | 4 +- .../datatype-number-format-coverage.js | 6 +- .../datatype-number-format-debug.js | 4 +- .../datatype-number-format-min.js | 4 +- .../datatype-number-format.js | 4 +- .../datatype-number-parse-coverage.js | 6 +- .../datatype-number-parse-debug.js | 4 +- .../datatype-number-parse-min.js | 4 +- .../datatype-number-parse.js | 4 +- .../datatype-xml-format-coverage.js | 6 +- .../datatype-xml-format-debug.js | 4 +- .../datatype-xml-format-min.js | 4 +- .../datatype-xml-format.js | 4 +- .../datatype-xml-parse-coverage.js | 6 +- .../datatype-xml-parse-debug.js | 4 +- .../datatype-xml-parse-min.js | 4 +- .../datatype-xml-parse/datatype-xml-parse.js | 4 +- .../dd-constrain/dd-constrain-coverage.js | 6 +- .../build/dd-constrain/dd-constrain-debug.js | 4 +- .../build/dd-constrain/dd-constrain-min.js | 4 +- .../build/dd-constrain/dd-constrain.js | 4 +- .../build/dd-ddm-base/dd-ddm-base-coverage.js | 6 +- .../build/dd-ddm-base/dd-ddm-base-debug.js | 4 +- .../build/dd-ddm-base/dd-ddm-base-min.js | 4 +- .../build/dd-ddm-base/dd-ddm-base.js | 4 +- .../build/dd-ddm-drop/dd-ddm-drop-coverage.js | 6 +- .../build/dd-ddm-drop/dd-ddm-drop-debug.js | 4 +- .../build/dd-ddm-drop/dd-ddm-drop-min.js | 4 +- .../build/dd-ddm-drop/dd-ddm-drop.js | 4 +- .../build/dd-ddm/dd-ddm-coverage.js | 6 +- .../build/dd-ddm/dd-ddm-debug.js | 4 +- .../build/dd-ddm/dd-ddm-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/dd-ddm/dd-ddm.js | 4 +- .../build/dd-delegate/dd-delegate-coverage.js | 6 +- .../build/dd-delegate/dd-delegate-debug.js | 4 +- .../build/dd-delegate/dd-delegate-min.js | 4 +- .../build/dd-delegate/dd-delegate.js | 4 +- .../build/dd-drag/dd-drag-coverage.js | 6 +- .../build/dd-drag/dd-drag-debug.js | 4 +- .../build/dd-drag/dd-drag-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/dd-drag/dd-drag.js | 4 +- .../dd-drop-plugin/dd-drop-plugin-coverage.js | 6 +- .../dd-drop-plugin/dd-drop-plugin-debug.js | 4 +- .../dd-drop-plugin/dd-drop-plugin-min.js | 4 +- .../build/dd-drop-plugin/dd-drop-plugin.js | 4 +- .../build/dd-drop/dd-drop-coverage.js | 6 +- .../build/dd-drop/dd-drop-debug.js | 4 +- .../build/dd-drop/dd-drop-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/dd-drop/dd-drop.js | 4 +- .../build/dd-gestures/dd-gestures-coverage.js | 6 +- .../build/dd-gestures/dd-gestures-debug.js | 4 +- .../build/dd-gestures/dd-gestures-min.js | 4 +- .../build/dd-gestures/dd-gestures.js | 4 +- .../build/dd-plugin/dd-plugin-coverage.js | 6 +- .../build/dd-plugin/dd-plugin-debug.js | 4 +- .../build/dd-plugin/dd-plugin-min.js | 4 +- .../build/dd-plugin/dd-plugin.js | 4 +- .../build/dd-proxy/dd-proxy-coverage.js | 6 +- .../build/dd-proxy/dd-proxy-debug.js | 4 +- .../build/dd-proxy/dd-proxy-min.js | 4 +- .../build/dd-proxy/dd-proxy.js | 4 +- .../build/dd-scroll/dd-scroll-coverage.js | 6 +- .../build/dd-scroll/dd-scroll-debug.js | 4 +- .../build/dd-scroll/dd-scroll-min.js | 4 +- .../build/dd-scroll/dd-scroll.js | 4 +- .../build/dial/assets/dial-core.css | 2 +- .../dial/assets/skins/night/dial-skin.css | 2 +- .../build/dial/assets/skins/night/dial.css | 2 +- .../build/dial/assets/skins/sam/dial-skin.css | 2 +- .../build/dial/assets/skins/sam/dial.css | 2 +- .../build/dial/dial-coverage.js | 6 +- .../{3.9.0 => 3.9.1}/build/dial/dial-debug.js | 4 +- .../{3.9.0 => 3.9.1}/build/dial/dial-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/dial/dial.js | 4 +- .../{3.9.0 => 3.9.1}/build/dial/lang/dial.js | 4 +- .../build/dial/lang/dial_en.js | 4 +- .../build/dial/lang/dial_es.js | 4 +- .../build/dom-attrs/dom-attrs-debug.js | 4 +- .../build/dom-attrs/dom-attrs-min.js | 4 +- .../build/dom-attrs/dom-attrs.js | 4 +- .../build/dom-base/dom-base-coverage.js | 6 +- .../build/dom-base/dom-base-debug.js | 4 +- .../build/dom-base/dom-base-min.js | 4 +- .../build/dom-base/dom-base.js | 4 +- .../build/dom-class/dom-class-debug.js | 4 +- .../build/dom-class/dom-class-min.js | 4 +- .../build/dom-class/dom-class.js | 4 +- .../build/dom-core/dom-core-coverage.js | 6 +- .../build/dom-core/dom-core-debug.js | 4 +- .../build/dom-core/dom-core-min.js | 4 +- .../build/dom-core/dom-core.js | 4 +- .../build/dom-create/dom-create-debug.js | 4 +- .../build/dom-create/dom-create-min.js | 4 +- .../build/dom-create/dom-create.js | 4 +- .../dom-deprecated/dom-deprecated-coverage.js | 6 +- .../dom-deprecated/dom-deprecated-debug.js | 4 +- .../dom-deprecated/dom-deprecated-min.js | 4 +- .../build/dom-deprecated/dom-deprecated.js | 4 +- .../build/dom-screen/dom-screen-coverage.js | 6 +- .../build/dom-screen/dom-screen-debug.js | 4 +- .../build/dom-screen/dom-screen-min.js | 4 +- .../build/dom-screen/dom-screen.js | 4 +- .../build/dom-size/dom-size-debug.js | 4 +- .../build/dom-size/dom-size-min.js | 4 +- .../build/dom-size/dom-size.js | 4 +- .../dom-style-ie/dom-style-ie-coverage.js | 6 +- .../build/dom-style-ie/dom-style-ie-debug.js | 4 +- .../build/dom-style-ie/dom-style-ie-min.js | 4 +- .../build/dom-style-ie/dom-style-ie.js | 4 +- .../build/dom-style/dom-style-coverage.js | 6 +- .../build/dom-style/dom-style-debug.js | 4 +- .../build/dom-style/dom-style-min.js | 4 +- .../build/dom-style/dom-style.js | 4 +- .../build/dump/dump-coverage.js | 6 +- .../{3.9.0 => 3.9.1}/build/dump/dump-debug.js | 4 +- .../{3.9.0 => 3.9.1}/build/dump/dump-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/dump/dump.js | 4 +- .../build/editor-base/editor-base-coverage.js | 6 +- .../build/editor-base/editor-base-debug.js | 4 +- .../build/editor-base/editor-base-min.js | 4 +- .../build/editor-base/editor-base.js | 4 +- .../build/editor-bidi/editor-bidi-coverage.js | 6 +- .../build/editor-bidi/editor-bidi-debug.js | 4 +- .../build/editor-bidi/editor-bidi-min.js | 4 +- .../build/editor-bidi/editor-bidi.js | 4 +- .../build/editor-br/editor-br-coverage.js | 6 +- .../build/editor-br/editor-br-debug.js | 4 +- .../build/editor-br/editor-br-min.js | 4 +- .../build/editor-br/editor-br.js | 4 +- .../editor-lists/editor-lists-coverage.js | 6 +- .../build/editor-lists/editor-lists-debug.js | 4 +- .../build/editor-lists/editor-lists-min.js | 4 +- .../build/editor-lists/editor-lists.js | 4 +- .../editor-para-base-coverage.js | 6 +- .../editor-para-base-debug.js | 4 +- .../editor-para-base/editor-para-base-min.js | 4 +- .../editor-para-base/editor-para-base.js | 4 +- .../editor-para-ie/editor-para-ie-coverage.js | 6 +- .../editor-para-ie/editor-para-ie-debug.js | 4 +- .../editor-para-ie/editor-para-ie-min.js | 4 +- .../build/editor-para-ie/editor-para-ie.js | 4 +- .../build/editor-para/editor-para-coverage.js | 6 +- .../build/editor-para/editor-para-debug.js | 4 +- .../build/editor-para/editor-para-min.js | 4 +- .../build/editor-para/editor-para.js | 4 +- .../editor-selection-coverage.js | 6 +- .../editor-selection-debug.js | 4 +- .../editor-selection/editor-selection-min.js | 4 +- .../editor-selection/editor-selection.js | 4 +- .../build/editor-tab/editor-tab-coverage.js | 6 +- .../build/editor-tab/editor-tab-debug.js | 4 +- .../build/editor-tab/editor-tab-min.js | 4 +- .../build/editor-tab/editor-tab.js | 4 +- .../build/escape/escape-coverage.js | 6 +- .../build/escape/escape-debug.js | 4 +- .../build/escape/escape-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/escape/escape.js | 4 +- .../event-base-ie/event-base-ie-coverage.js | 6 +- .../event-base-ie/event-base-ie-debug.js | 4 +- .../build/event-base-ie/event-base-ie-min.js | 4 +- .../build/event-base-ie/event-base-ie.js | 4 +- .../build/event-base/event-base-coverage.js | 6 +- .../build/event-base/event-base-debug.js | 4 +- .../build/event-base/event-base-min.js | 4 +- .../build/event-base/event-base.js | 4 +- .../event-contextmenu-coverage.js | 6 +- .../event-contextmenu-debug.js | 4 +- .../event-contextmenu-min.js | 4 +- .../event-contextmenu/event-contextmenu.js | 4 +- .../event-custom-base-coverage.js | 6 +- .../event-custom-base-debug.js | 4 +- .../event-custom-base-min.js | 4 +- .../event-custom-base/event-custom-base.js | 4 +- .../event-custom-complex-coverage.js | 6 +- .../event-custom-complex-debug.js | 4 +- .../event-custom-complex-min.js | 4 +- .../event-custom-complex.js | 4 +- .../event-delegate/event-delegate-coverage.js | 6 +- .../event-delegate/event-delegate-debug.js | 4 +- .../event-delegate/event-delegate-min.js | 4 +- .../build/event-delegate/event-delegate.js | 4 +- .../build/event-flick/event-flick-coverage.js | 6 +- .../build/event-flick/event-flick-debug.js | 4 +- .../build/event-flick/event-flick-min.js | 4 +- .../build/event-flick/event-flick.js | 4 +- .../build/event-focus/event-focus-coverage.js | 6 +- .../build/event-focus/event-focus-debug.js | 4 +- .../build/event-focus/event-focus-min.js | 4 +- .../build/event-focus/event-focus.js | 4 +- .../build/event-hover/event-hover-coverage.js | 6 +- .../build/event-hover/event-hover-debug.js | 4 +- .../build/event-hover/event-hover-min.js | 4 +- .../build/event-hover/event-hover.js | 4 +- .../build/event-key/event-key-coverage.js | 6 +- .../build/event-key/event-key-debug.js | 4 +- .../build/event-key/event-key-min.js | 4 +- .../build/event-key/event-key.js | 4 +- .../event-mouseenter-coverage.js | 6 +- .../event-mouseenter-debug.js | 4 +- .../event-mouseenter/event-mouseenter-min.js | 4 +- .../event-mouseenter/event-mouseenter.js | 4 +- .../event-mousewheel-coverage.js | 6 +- .../event-mousewheel-debug.js | 4 +- .../event-mousewheel/event-mousewheel-min.js | 4 +- .../event-mousewheel/event-mousewheel.js | 4 +- .../build/event-move/event-move-coverage.js | 6 +- .../build/event-move/event-move-debug.js | 4 +- .../build/event-move/event-move-min.js | 4 +- .../build/event-move/event-move.js | 4 +- .../event-outside/event-outside-coverage.js | 6 +- .../event-outside/event-outside-debug.js | 4 +- .../build/event-outside/event-outside-min.js | 4 +- .../build/event-outside/event-outside.js | 4 +- .../event-resize/event-resize-coverage.js | 6 +- .../build/event-resize/event-resize-debug.js | 4 +- .../build/event-resize/event-resize-min.js | 4 +- .../build/event-resize/event-resize.js | 4 +- .../event-simulate/event-simulate-coverage.js | 6 +- .../event-simulate/event-simulate-debug.js | 4 +- .../event-simulate/event-simulate-min.js | 4 +- .../build/event-simulate/event-simulate.js | 4 +- .../event-synthetic-coverage.js | 6 +- .../event-synthetic/event-synthetic-debug.js | 4 +- .../event-synthetic/event-synthetic-min.js | 4 +- .../build/event-synthetic/event-synthetic.js | 4 +- .../build/event-tap/event-tap-coverage.js | 6 +- .../build/event-tap/event-tap-debug.js | 4 +- .../build/event-tap/event-tap-min.js | 4 +- .../build/event-tap/event-tap.js | 4 +- .../build/event-touch/event-touch-coverage.js | 6 +- .../build/event-touch/event-touch-debug.js | 4 +- .../build/event-touch/event-touch-min.js | 4 +- .../build/event-touch/event-touch.js | 4 +- .../event-valuechange-coverage.js | 6 +- .../event-valuechange-debug.js | 4 +- .../event-valuechange-min.js | 4 +- .../event-valuechange/event-valuechange.js | 4 +- .../exec-command/exec-command-coverage.js | 6 +- .../build/exec-command/exec-command-debug.js | 4 +- .../build/exec-command/exec-command-min.js | 4 +- .../build/exec-command/exec-command.js | 4 +- .../build/features/features-coverage.js | 6 +- .../build/features/features-debug.js | 4 +- .../build/features/features-min.js | 4 +- .../build/features/features.js | 4 +- .../build/file-flash/file-flash-coverage.js | 6 +- .../build/file-flash/file-flash-debug.js | 4 +- .../build/file-flash/file-flash-min.js | 4 +- .../build/file-flash/file-flash.js | 4 +- .../build/file-html5/file-html5-coverage.js | 6 +- .../build/file-html5/file-html5-debug.js | 4 +- .../build/file-html5/file-html5-min.js | 4 +- .../build/file-html5/file-html5.js | 4 +- .../build/file/file-coverage.js | 6 +- .../{3.9.0 => 3.9.1}/build/file/file-debug.js | 4 +- .../{3.9.0 => 3.9.1}/build/file/file-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/file/file.js | 4 +- .../build/frame/frame-coverage.js | 6 +- .../build/frame/frame-debug.js | 4 +- .../{3.9.0 => 3.9.1}/build/frame/frame-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/frame/frame.js | 4 +- .../gesture-simulate-coverage.js | 6 +- .../gesture-simulate-debug.js | 4 +- .../gesture-simulate/gesture-simulate-min.js | 4 +- .../gesture-simulate/gesture-simulate.js | 4 +- .../build/get-nodejs/get-nodejs-coverage.js | 6 +- .../build/get-nodejs/get-nodejs-debug.js | 4 +- .../build/get-nodejs/get-nodejs-min.js | 4 +- .../build/get-nodejs/get-nodejs.js | 4 +- .../build/get/get-coverage.js | 6 +- .../{3.9.0 => 3.9.1}/build/get/get-debug.js | 4 +- .../{3.9.0 => 3.9.1}/build/get/get-min.js | 4 +- lib/yuilib/{3.9.0 => 3.9.1}/build/get/get.js | 4 +- .../graphics-canvas-default-coverage.js | 6 +- .../graphics-canvas-default-debug.js | 4 +- .../graphics-canvas-default-min.js | 4 +- .../graphics-canvas-default.js | 4 +- .../graphics-canvas-coverage.js | 2012 +++---- .../graphics-canvas/graphics-canvas-debug.js | 99 +- .../graphics-canvas/graphics-canvas-min.js | 6 + .../build/graphics-canvas/graphics-canvas.js | 99 +- .../graphics-group/graphics-group-coverage.js | 6 +- .../graphics-group/graphics-group-debug.js | 4 +- .../graphics-group/graphics-group-min.js | 4 +- .../build/graphics-group/graphics-group.js | 4 +- .../graphics-svg-default-coverage.js | 6 +- .../graphics-svg-default-debug.js | 4 +- .../graphics-svg-default-min.js | 4 +- .../graphics-svg-default.js | 4 +- .../graphics-svg/graphics-svg-coverage.js | 1742 +++--- .../build/graphics-svg/graphics-svg-debug.js | 86 +- .../build/graphics-svg/graphics-svg-min.js | 6 + .../build/graphics-svg/graphics-svg.js | 86 +- .../graphics-vml-default-coverage.js | 6 +- .../graphics-vml-default-debug.js | 4 +- .../graphics-vml-default-min.js | 4 +- .../graphics-vml-default.js | 4 +- .../graphics-vml/graphics-vml-coverage.js | 4823 +++++++++++++++++ .../build/graphics-vml/graphics-vml-debug.js | 220 +- .../build/graphics-vml/graphics-vml-min.js | 6 + .../build/graphics-vml/graphics-vml.js | 220 +- .../build/graphics/graphics-coverage.js | 107 +- .../build/graphics/graphics-debug.js | 13 +- .../3.9.1/build/graphics/graphics-min.js | 2 + .../build/graphics/graphics.js | 13 +- .../handlebars-base-coverage.js | 6 +- .../handlebars-base/handlebars-base-debug.js | 155 +- .../handlebars-base/handlebars-base-min.js | 7 + .../build/handlebars-base/handlebars-base.js | 155 +- .../handlebars-compiler-coverage.js | 6 +- .../handlebars-compiler-debug.js | 2003 +++++++ .../handlebars-compiler-min.js | 12 + .../handlebars-compiler.js | 2003 +++++++ .../highlight-accentfold-coverage.js | 6 +- .../highlight-accentfold-debug.js | 4 +- .../highlight-accentfold-min.js | 4 +- .../highlight-accentfold.js | 4 +- .../highlight-base/highlight-base-coverage.js | 6 +- .../highlight-base/highlight-base-debug.js | 4 +- .../highlight-base/highlight-base-min.js | 4 +- .../build/highlight-base/highlight-base.js | 4 +- .../history-base/history-base-coverage.js | 6 +- .../build/history-base/history-base-debug.js | 4 +- .../build/history-base/history-base-min.js | 4 +- .../build/history-base/history-base.js | 4 +- .../history-hash-ie-coverage.js | 6 +- .../history-hash-ie/history-hash-ie-debug.js | 4 +- .../history-hash-ie/history-hash-ie-min.js | 4 +- .../build/history-hash-ie/history-hash-ie.js | 4 +- .../history-hash/history-hash-coverage.js | 6 +- .../build/history-hash/history-hash-debug.js | 4 +- .../build/history-hash/history-hash-min.js | 4 +- .../build/history-hash/history-hash.js | 4 +- .../history-html5/history-html5-coverage.js | 6 +- .../history-html5/history-html5-debug.js | 4 +- .../build/history-html5/history-html5-min.js | 4 +- .../build/history-html5/history-html5.js | 4 +- .../build/imageloader/imageloader-coverage.js | 6 +- .../build/imageloader/imageloader-debug.js | 4 +- .../build/imageloader/imageloader-min.js | 4 +- .../build/imageloader/imageloader.js | 4 +- .../build/intl-base/intl-base-coverage.js | 6 +- .../build/intl-base/intl-base-debug.js | 4 +- .../build/intl-base/intl-base-min.js | 4 +- .../build/intl-base/intl-base.js | 4 +- .../build/intl/intl-coverage.js | 6 +- .../{3.9.0 => 3.9.1}/build/intl/intl-debug.js | 4 +- .../{3.9.0 => 3.9.1}/build/intl/intl-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/intl/intl.js | 4 +- .../build/io-base/io-base-coverage.js | 6 +- .../build/io-base/io-base-debug.js | 4 +- .../build/io-base/io-base-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/io-base/io-base.js | 4 +- .../build/io-form/io-form-coverage.js | 6 +- .../build/io-form/io-form-debug.js | 4 +- .../build/io-form/io-form-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/io-form/io-form.js | 4 +- .../build/io-nodejs/io-nodejs-coverage.js | 6 +- .../build/io-nodejs/io-nodejs-debug.js | 4 +- .../build/io-nodejs/io-nodejs-min.js | 4 +- .../build/io-nodejs/io-nodejs.js | 4 +- .../build/io-queue/io-queue-coverage.js | 6 +- .../build/io-queue/io-queue-debug.js | 4 +- .../build/io-queue/io-queue-min.js | 4 +- .../build/io-queue/io-queue.js | 4 +- .../io-upload-iframe-coverage.js | 6 +- .../io-upload-iframe-debug.js | 4 +- .../io-upload-iframe/io-upload-iframe-min.js | 4 +- .../io-upload-iframe/io-upload-iframe.js | 4 +- .../build/io-xdr/io-xdr-coverage.js | 6 +- .../build/io-xdr/io-xdr-debug.js | 4 +- .../build/io-xdr/io-xdr-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/io-xdr/io-xdr.js | 4 +- .../{3.9.0 => 3.9.1}/build/io-xdr/io.swf | Bin .../json-parse-shim-coverage.js | 6 +- .../json-parse-shim/json-parse-shim-debug.js | 4 +- .../json-parse-shim/json-parse-shim-min.js | 4 +- .../build/json-parse-shim/json-parse-shim.js | 4 +- .../build/json-parse/json-parse-coverage.js | 6 +- .../build/json-parse/json-parse-debug.js | 4 +- .../build/json-parse/json-parse-min.js | 4 +- .../build/json-parse/json-parse.js | 4 +- .../json-stringify-shim-coverage.js | 6 +- .../json-stringify-shim-debug.js | 4 +- .../json-stringify-shim-min.js | 4 +- .../json-stringify-shim.js | 4 +- .../json-stringify/json-stringify-coverage.js | 6 +- .../json-stringify/json-stringify-debug.js | 4 +- .../json-stringify/json-stringify-min.js | 4 +- .../build/json-stringify/json-stringify.js | 4 +- .../build/jsonp-url/jsonp-url-coverage.js | 6 +- .../build/jsonp-url/jsonp-url-debug.js | 4 +- .../build/jsonp-url/jsonp-url-min.js | 4 +- .../build/jsonp-url/jsonp-url.js | 4 +- .../build/jsonp/jsonp-coverage.js | 6 +- .../build/jsonp/jsonp-debug.js | 4 +- .../{3.9.0 => 3.9.1}/build/jsonp/jsonp-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/jsonp/jsonp.js | 4 +- .../lazy-model-list-coverage.js | 280 +- .../lazy-model-list/lazy-model-list-debug.js | 39 +- .../lazy-model-list/lazy-model-list-min.js | 2 + .../build/lazy-model-list/lazy-model-list.js | 39 +- .../build/loader-base/loader-base-coverage.js | 6 +- .../build/loader-base/loader-base-debug.js | 4 +- .../build/loader-base/loader-base-min.js | 4 +- .../build/loader-base/loader-base.js | 4 +- .../loader-rollup/loader-rollup-coverage.js | 6 +- .../loader-rollup/loader-rollup-debug.js | 4 +- .../build/loader-rollup/loader-rollup-min.js | 4 +- .../build/loader-rollup/loader-rollup.js | 4 +- .../build/loader-yui3/loader-yui3-coverage.js | 6 +- .../build/loader-yui3/loader-yui3-debug.js | 4 +- .../build/loader-yui3/loader-yui3-min.js | 4 +- .../build/loader-yui3/loader-yui3.js | 4 +- .../build/loader/loader-coverage.js | 12 +- .../build/loader/loader-debug.js | 10 +- .../build/loader/loader-min.js | 6 +- .../{3.9.0 => 3.9.1}/build/loader/loader.js | 10 +- .../build/matrix/matrix-coverage.js | 6 +- .../build/matrix/matrix-debug.js | 4 +- .../build/matrix/matrix-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/matrix/matrix.js | 4 +- .../build/model-list/model-list-coverage.js | 6 +- .../build/model-list/model-list-debug.js | 4 +- .../build/model-list/model-list-min.js | 4 +- .../build/model-list/model-list.js | 4 +- .../model-sync-rest-coverage.js | 6 +- .../model-sync-rest/model-sync-rest-debug.js | 4 +- .../model-sync-rest/model-sync-rest-min.js | 4 +- .../build/model-sync-rest/model-sync-rest.js | 4 +- .../build/model/model-coverage.js | 6 +- .../build/model/model-debug.js | 4 +- .../{3.9.0 => 3.9.1}/build/model/model-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/model/model.js | 4 +- .../build/node-base/node-base-coverage.js | 6 +- .../build/node-base/node-base-debug.js | 4 +- .../build/node-base/node-base-min.js | 4 +- .../build/node-base/node-base.js | 4 +- .../build/node-core/node-core-coverage.js | 10 +- .../build/node-core/node-core-debug.js | 8 +- .../build/node-core/node-core-min.js | 4 +- .../build/node-core/node-core.js | 8 +- .../node-deprecated-coverage.js | 6 +- .../node-deprecated/node-deprecated-debug.js | 4 +- .../node-deprecated/node-deprecated-min.js | 4 +- .../build/node-deprecated/node-deprecated.js | 4 +- .../node-event-delegate-coverage.js | 6 +- .../node-event-delegate-debug.js | 4 +- .../node-event-delegate-min.js | 4 +- .../node-event-delegate.js | 4 +- .../node-event-html5-coverage.js | 6 +- .../node-event-html5-debug.js | 4 +- .../node-event-html5/node-event-html5-min.js | 4 +- .../node-event-html5/node-event-html5.js | 4 +- .../node-event-simulate-coverage.js | 6 +- .../node-event-simulate-debug.js | 4 +- .../node-event-simulate-min.js | 4 +- .../node-event-simulate.js | 4 +- .../node-flick/assets/node-flick-core.css | 2 +- .../assets/skins/sam/node-flick-skin.css | 2 + .../assets/skins/sam/node-flick.css | 2 +- .../build/node-flick/node-flick-coverage.js | 6 +- .../build/node-flick/node-flick-debug.js | 4 +- .../build/node-flick/node-flick-min.js | 4 +- .../build/node-flick/node-flick.js | 4 +- .../node-focusmanager-coverage.js | 6 +- .../node-focusmanager-debug.js | 4 +- .../node-focusmanager-min.js | 4 +- .../node-focusmanager/node-focusmanager.js | 4 +- .../build/node-load/node-load-coverage.js | 6 +- .../build/node-load/node-load-debug.js | 4 +- .../build/node-load/node-load-min.js | 4 +- .../build/node-load/node-load.js | 4 +- .../node-menunav/assets/node-menunav-core.css | 2 +- .../horizontal-menu-submenu-indicator.png | Bin .../assets/skins/night/node-menunav-skin.css | 2 +- .../assets/skins/night/node-menunav.css | 2 +- .../night/vertical-menu-submenu-indicator.png | Bin .../sam/horizontal-menu-submenu-indicator.png | Bin .../sam/horizontal-menu-submenu-toggle.png | Bin .../assets/skins/sam/node-menunav-skin.css | 2 +- .../assets/skins/sam/node-menunav.css | 2 +- .../sam/vertical-menu-submenu-indicator.png | Bin .../node-menunav/node-menunav-coverage.js | 6 +- .../build/node-menunav/node-menunav-debug.js | 4 +- .../build/node-menunav/node-menunav-min.js | 4 +- .../build/node-menunav/node-menunav.js | 4 +- .../node-pluginhost-coverage.js | 6 +- .../node-pluginhost/node-pluginhost-debug.js | 4 +- .../node-pluginhost/node-pluginhost-min.js | 4 +- .../build/node-pluginhost/node-pluginhost.js | 4 +- .../build/node-screen/node-screen-coverage.js | 6 +- .../build/node-screen/node-screen-debug.js | 4 +- .../build/node-screen/node-screen-min.js | 4 +- .../build/node-screen/node-screen.js | 4 +- .../node-scroll-info-coverage.js | 6 +- .../node-scroll-info-debug.js | 4 +- .../node-scroll-info/node-scroll-info-min.js | 4 +- .../node-scroll-info/node-scroll-info.js | 4 +- .../build/node-style/node-style-coverage.js | 6 +- .../build/node-style/node-style-debug.js | 4 +- .../build/node-style/node-style-min.js | 4 +- .../build/node-style/node-style.js | 4 +- .../build/oop/oop-coverage.js | 6 +- .../{3.9.0 => 3.9.1}/build/oop/oop-debug.js | 4 +- .../{3.9.0 => 3.9.1}/build/oop/oop-min.js | 4 +- lib/yuilib/{3.9.0 => 3.9.1}/build/oop/oop.js | 4 +- .../build/overlay/assets/overlay-core.css | 2 +- .../assets/skins/night/overlay-skin.css | 2 +- .../overlay/assets/skins/night/overlay.css | 2 +- .../overlay/assets/skins/sam/overlay-skin.css | 1 + .../overlay/assets/skins/sam/overlay.css | 2 +- .../build/overlay/overlay-coverage.js | 6 +- .../build/overlay/overlay-debug.js | 4 +- .../build/overlay/overlay-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/overlay/overlay.js | 4 +- .../build/panel/assets/panel-core.css | 2 +- .../panel/assets/skins/night/panel-skin.css | 2 +- .../build/panel/assets/skins/night/panel.css | 2 +- .../panel/assets/skins/night/sprite_icons.png | Bin .../panel/assets/skins/sam/panel-skin.css | 2 +- .../build/panel/assets/skins/sam/panel.css | 2 +- .../panel/assets/skins/sam/sprite_icons.png | Bin .../build/panel/panel-coverage.js | 6 +- .../build/panel/panel-debug.js | 4 +- .../{3.9.0 => 3.9.1}/build/panel/panel-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/panel/panel.js | 4 +- .../build/parallel/parallel-coverage.js | 6 +- .../build/parallel/parallel-debug.js | 4 +- .../build/parallel/parallel-min.js | 4 +- .../build/parallel/parallel.js | 4 +- .../build/pjax-base/pjax-base-coverage.js | 6 +- .../build/pjax-base/pjax-base-debug.js | 4 +- .../build/pjax-base/pjax-base-min.js | 4 +- .../build/pjax-base/pjax-base.js | 4 +- .../pjax-content/pjax-content-coverage.js | 6 +- .../build/pjax-content/pjax-content-debug.js | 4 +- .../build/pjax-content/pjax-content-min.js | 4 +- .../build/pjax-content/pjax-content.js | 4 +- .../build/pjax-plugin/pjax-plugin-coverage.js | 6 +- .../build/pjax-plugin/pjax-plugin-debug.js | 4 +- .../build/pjax-plugin/pjax-plugin-min.js | 4 +- .../build/pjax-plugin/pjax-plugin.js | 4 +- .../build/pjax/pjax-coverage.js | 6 +- .../{3.9.0 => 3.9.1}/build/pjax/pjax-debug.js | 4 +- .../{3.9.0 => 3.9.1}/build/pjax/pjax-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/pjax/pjax.js | 4 +- .../build/plugin/plugin-coverage.js | 6 +- .../build/plugin/plugin-debug.js | 4 +- .../build/plugin/plugin-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/plugin/plugin.js | 4 +- .../pluginhost-base-coverage.js | 6 +- .../pluginhost-base/pluginhost-base-debug.js | 4 +- .../pluginhost-base/pluginhost-base-min.js | 4 +- .../build/pluginhost-base/pluginhost-base.js | 4 +- .../pluginhost-config-coverage.js | 6 +- .../pluginhost-config-debug.js | 4 +- .../pluginhost-config-min.js | 4 +- .../pluginhost-config/pluginhost-config.js | 4 +- .../build/profiler/profiler-coverage.js | 6 +- .../build/profiler/profiler-debug.js | 4 +- .../build/profiler/profiler-min.js | 4 +- .../build/profiler/profiler.js | 4 +- .../build/promise/promise-coverage.js | 6 +- .../build/promise/promise-debug.js | 4 +- .../build/promise/promise-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/promise/promise.js | 4 +- .../querystring-parse-simple-coverage.js | 6 +- .../querystring-parse-simple-debug.js | 4 +- .../querystring-parse-simple-min.js | 4 +- .../querystring-parse-simple.js | 4 +- .../querystring-parse-coverage.js | 6 +- .../querystring-parse-debug.js | 4 +- .../querystring-parse-min.js | 4 +- .../querystring-parse/querystring-parse.js | 4 +- .../querystring-stringify-simple-coverage.js | 6 +- .../querystring-stringify-simple-debug.js | 4 +- .../querystring-stringify-simple-min.js | 4 +- .../querystring-stringify-simple.js | 4 +- .../querystring-stringify-coverage.js | 6 +- .../querystring-stringify-debug.js | 4 +- .../querystring-stringify-min.js | 4 +- .../querystring-stringify.js | 4 +- .../queue-promote/queue-promote-coverage.js | 6 +- .../queue-promote/queue-promote-debug.js | 4 +- .../build/queue-promote/queue-promote-min.js | 4 +- .../build/queue-promote/queue-promote.js | 4 +- .../range-slider}/assets/slider-base-core.css | 2 +- .../build/range-slider/assets/slider-core.css | 2 +- .../assets/thumb-x-oblong-dark.png | Bin .../range-slider/assets/thumb-x-oblong.png | Bin .../assets/thumb-x-oblong2-dark.png | Bin .../range-slider/assets/thumb-x-oblong2.png | Bin .../assets/thumb-y-oblong-dark.png | Bin .../range-slider/assets/thumb-y-oblong.png | Bin .../assets/thumb-y-oblong2-dark.png | Bin .../range-slider/assets/thumb-y-oblong2.png | Bin .../range-slider/range-slider-coverage.js | 6 +- .../build/range-slider/range-slider-debug.js | 4 +- .../build/range-slider/range-slider-min.js | 4 +- .../build/range-slider/range-slider.js | 4 +- .../recordset-base/recordset-base-coverage.js | 6 +- .../recordset-base/recordset-base-debug.js | 4 +- .../recordset-base/recordset-base-min.js | 4 +- .../build/recordset-base/recordset-base.js | 4 +- .../recordset-filter-coverage.js | 6 +- .../recordset-filter-debug.js | 4 +- .../recordset-filter/recordset-filter-min.js | 4 +- .../recordset-filter/recordset-filter.js | 4 +- .../recordset-indexer-coverage.js | 6 +- .../recordset-indexer-debug.js | 4 +- .../recordset-indexer-min.js | 4 +- .../recordset-indexer/recordset-indexer.js | 4 +- .../recordset-sort/recordset-sort-coverage.js | 6 +- .../recordset-sort/recordset-sort-debug.js | 4 +- .../recordset-sort/recordset-sort-min.js | 4 +- .../build/recordset-sort/recordset-sort.js | 4 +- .../resize-base}/assets/resize-base-core.css | 2 +- .../resize-base/assets/skins/night/arrows.png | Bin .../assets/skins/night}/resize-base-skin.css | 2 +- .../assets/skins/night/resize-base.css | 2 +- .../resize-base/assets/skins/sam/arrows.png | Bin .../assets/skins/sam}/resize-base-skin.css | 2 +- .../assets/skins/sam/resize-base.css | 2 +- .../build/resize-base/resize-base-coverage.js | 6 +- .../build/resize-base/resize-base-debug.js | 4 +- .../build/resize-base/resize-base-min.js | 4 +- .../build/resize-base/resize-base.js | 4 +- .../assets/resize-base-core.css | 2 +- .../assets/skins/night/arrows.png | Bin .../assets/skins/night}/resize-base-skin.css | 2 +- .../assets/skins/sam/arrows.png | Bin .../assets/skins/sam}/resize-base-skin.css | 2 +- .../resize-constrain-coverage.js | 6 +- .../resize-constrain-debug.js | 4 +- .../resize-constrain/resize-constrain-min.js | 4 +- .../resize-constrain/resize-constrain.js | 4 +- .../assets/resize-base-core.css | 2 +- .../assets/skins/night/arrows.png | Bin .../assets/skins/night/resize-base-skin.css | 47 + .../resize-plugin/assets/skins/sam/arrows.png | Bin .../assets/skins/sam/resize-base-skin.css | 47 + .../resize-plugin/resize-plugin-coverage.js | 6 +- .../resize-plugin/resize-plugin-debug.js | 4 +- .../build/resize-plugin/resize-plugin-min.js | 4 +- .../build/resize-plugin/resize-plugin.js | 4 +- .../resize-proxy/assets/resize-base-core.css | 2 +- .../assets/skins/night/arrows.png | Bin .../assets/skins/night/resize-base-skin.css | 47 + .../resize-proxy/assets/skins/sam/arrows.png | Bin .../assets/skins/sam/resize-base-skin.css | 47 + .../resize-proxy/resize-proxy-coverage.js | 6 +- .../build/resize-proxy/resize-proxy-debug.js | 4 +- .../build/resize-proxy/resize-proxy-min.js | 4 +- .../build/resize-proxy/resize-proxy.js | 4 +- .../build/router/router-coverage.js | 408 +- .../build/router/router-debug.js | 19 +- lib/yuilib/3.9.1/build/router/router-min.js | 3 + .../{3.9.0 => 3.9.1}/build/router/router.js | 19 +- .../scrollview-base-ie-coverage.js | 6 +- .../scrollview-base-ie-debug.js | 4 +- .../scrollview-base-ie-min.js | 4 +- .../scrollview-base-ie/scrollview-base-ie.js | 4 +- .../assets/scrollview-base-core.css | 2 +- .../skins/night/scrollview-base-skin.css | 1 + .../assets/skins/night/scrollview-base.css | 2 +- .../assets/skins/sam/scrollview-base-skin.css | 2 +- .../assets/skins/sam/scrollview-base.css | 2 +- .../scrollview-base-coverage.js | 6 +- .../scrollview-base/scrollview-base-debug.js | 4 +- .../scrollview-base/scrollview-base-min.js | 4 +- .../build/scrollview-base/scrollview-base.js | 4 +- .../assets/scrollview-list-core.css | 1 + .../skins/night/scrollview-list-skin.css | 2 +- .../assets/skins/night/scrollview-list.css | 2 +- .../assets/skins/sam/scrollview-list-skin.css | 2 +- .../assets/skins/sam/scrollview-list.css | 2 +- .../scrollview-list-coverage.js | 6 +- .../scrollview-list/scrollview-list-debug.js | 4 +- .../scrollview-list/scrollview-list-min.js | 4 +- .../build/scrollview-list/scrollview-list.js | 4 +- .../scrollview-paginator-coverage.js | 6 +- .../scrollview-paginator-debug.js | 4 +- .../scrollview-paginator-min.js | 4 +- .../scrollview-paginator.js | 4 +- .../assets/scrollview-scrollbars-core.css | 2 +- .../night/scrollview-scrollbars-skin.css | 2 +- .../skins/night/scrollview-scrollbars.css | 2 +- .../skins/sam/scrollview-scrollbars-skin.css | 2 +- .../skins/sam/scrollview-scrollbars.css | 2 +- .../scrollview-scrollbars-coverage.js | 6 +- .../scrollview-scrollbars-debug.js | 4 +- .../scrollview-scrollbars-min.js | 4 +- .../scrollview-scrollbars.js | 4 +- .../build/scrollview/scrollview-coverage.js | 6 +- .../build/scrollview/scrollview-debug.js | 4 +- .../3.9.1/build/scrollview/scrollview-min.js | 2 + .../build/scrollview/scrollview.js | 4 +- .../selector-css2/selector-css2-coverage.js | 6 +- .../selector-css2/selector-css2-debug.js | 4 +- .../build/selector-css2/selector-css2-min.js | 4 +- .../build/selector-css2/selector-css2.js | 4 +- .../selector-css3/selector-css3-coverage.js | 6 +- .../selector-css3/selector-css3-debug.js | 4 +- .../build/selector-css3/selector-css3-min.js | 4 +- .../build/selector-css3/selector-css3.js | 4 +- .../selector-native-coverage.js | 6 +- .../selector-native/selector-native-debug.js | 4 +- .../selector-native/selector-native-min.js | 4 +- .../build/selector-native/selector-native.js | 4 +- .../build/selector/selector-coverage.js | 6 +- .../3.9.1/build/selector/selector-debug.js | 6 + .../3.9.1/build/selector/selector-min.js | 2 + lib/yuilib/3.9.1/build/selector/selector.js | 6 + .../series-area-stacked-coverage.js | 6 +- .../series-area-stacked-debug.js | 4 +- .../series-area-stacked-min.js | 4 +- .../series-area-stacked.js | 4 +- .../build/series-area/series-area-coverage.js | 6 +- .../build/series-area/series-area-debug.js | 4 +- .../build/series-area/series-area-min.js | 4 +- .../build/series-area/series-area.js | 4 +- .../series-areaspline-stacked-coverage.js | 6 +- .../series-areaspline-stacked-debug.js | 4 +- .../series-areaspline-stacked-min.js | 4 +- .../series-areaspline-stacked.js | 4 +- .../series-areaspline-coverage.js | 6 +- .../series-areaspline-debug.js | 4 +- .../series-areaspline-min.js | 4 +- .../series-areaspline/series-areaspline.js | 4 +- .../series-bar-stacked-coverage.js | 197 +- .../series-bar-stacked-debug.js | 7 +- .../series-bar-stacked-min.js | 2 + .../series-bar-stacked/series-bar-stacked.js | 7 +- .../build/series-bar/series-bar-coverage.js | 8 +- .../build/series-bar/series-bar-debug.js | 6 +- .../3.9.1/build/series-bar/series-bar-min.js | 2 + .../build/series-bar/series-bar.js | 6 +- .../build/series-base/series-base-coverage.js | 210 +- .../build/series-base/series-base-debug.js | 74 +- .../build/series-base/series-base-min.js | 2 + .../build/series-base/series-base.js | 74 +- .../series-candlestick-coverage.js | 40 +- .../series-candlestick-debug.js | 38 +- .../series-candlestick-min.js | 4 +- .../series-candlestick/series-candlestick.js | 38 +- .../series-cartesian-coverage.js | 396 +- .../series-cartesian-debug.js | 114 +- .../series-cartesian/series-cartesian-min.js | 3 + .../series-cartesian/series-cartesian.js | 114 +- .../series-column-stacked-coverage.js | 201 +- .../series-column-stacked-debug.js | 7 +- .../series-column-stacked-min.js | 2 + .../series-column-stacked.js | 7 +- .../series-column/series-column-coverage.js | 8 +- .../series-column/series-column-debug.js | 6 +- .../build/series-column/series-column-min.js | 2 + .../build/series-column/series-column.js | 6 +- .../series-combo-stacked-coverage.js | 6 +- .../series-combo-stacked-debug.js | 4 +- .../series-combo-stacked-min.js | 4 +- .../series-combo-stacked.js | 4 +- .../series-combo/series-combo-coverage.js | 6 +- .../build/series-combo/series-combo-debug.js | 4 +- .../build/series-combo/series-combo-min.js | 4 +- .../build/series-combo/series-combo.js | 4 +- .../series-combospline-stacked-coverage.js | 6 +- .../series-combospline-stacked-debug.js | 4 +- .../series-combospline-stacked-min.js | 4 +- .../series-combospline-stacked.js | 4 +- .../series-combospline-coverage.js | 6 +- .../series-combospline-debug.js | 4 +- .../series-combospline-min.js | 4 +- .../series-combospline/series-combospline.js | 4 +- .../series-curve-util-coverage.js | 85 +- .../series-curve-util-debug.js | 15 +- .../series-curve-util-min.js | 4 +- .../series-curve-util/series-curve-util.js | 15 +- .../series-fill-util-coverage.js | 299 +- .../series-fill-util-debug.js | 19 +- .../series-fill-util/series-fill-util-min.js | 2 + .../series-fill-util/series-fill-util.js | 19 +- .../series-histogram-base-coverage.js | 149 +- .../series-histogram-base-debug.js | 7 +- .../series-histogram-base-min.js | 2 + .../series-histogram-base.js | 7 +- .../series-line-stacked-coverage.js | 6 +- .../series-line-stacked-debug.js | 4 +- .../series-line-stacked-min.js | 4 +- .../series-line-stacked.js | 4 +- .../series-line-util-coverage.js | 10 +- .../series-line-util-debug.js | 8 +- .../series-line-util/series-line-util-min.js | 2 + .../series-line-util/series-line-util.js | 8 +- .../build/series-line/series-line-coverage.js | 6 +- .../build/series-line/series-line-debug.js | 4 +- .../build/series-line/series-line-min.js | 4 +- .../build/series-line/series-line.js | 4 +- .../series-marker-stacked-coverage.js | 6 +- .../series-marker-stacked-debug.js | 4 +- .../series-marker-stacked-min.js | 4 +- .../series-marker-stacked.js | 4 +- .../series-marker/series-marker-coverage.js | 6 +- .../series-marker/series-marker-debug.js | 4 +- .../build/series-marker/series-marker-min.js | 4 +- .../build/series-marker/series-marker.js | 4 +- .../build/series-ohlc/series-ohlc-coverage.js | 22 +- .../build/series-ohlc/series-ohlc-debug.js | 20 +- .../build/series-ohlc/series-ohlc-min.js | 4 +- .../build/series-ohlc/series-ohlc.js | 20 +- .../build/series-pie/series-pie-coverage.js | 226 +- .../build/series-pie/series-pie-debug.js | 28 +- .../3.9.1/build/series-pie/series-pie-min.js | 3 + .../build/series-pie/series-pie.js | 28 +- .../series-plot-util-coverage.js | 212 +- .../series-plot-util-debug.js | 16 +- .../series-plot-util/series-plot-util-min.js | 2 + .../series-plot-util/series-plot-util.js | 16 +- .../series-range/series-range-coverage.js | 25 +- .../build/series-range/series-range-debug.js | 17 +- .../build/series-range/series-range-min.js | 2 + .../build/series-range/series-range.js | 17 +- .../series-spline-stacked-coverage.js | 6 +- .../series-spline-stacked-debug.js | 4 +- .../series-spline-stacked-min.js | 4 +- .../series-spline-stacked.js | 4 +- .../series-spline/series-spline-coverage.js | 6 +- .../series-spline/series-spline-debug.js | 4 +- .../build/series-spline/series-spline-min.js | 4 +- .../build/series-spline/series-spline.js | 4 +- .../series-stacked/series-stacked-coverage.js | 216 +- .../series-stacked/series-stacked-debug.js | 8 +- .../series-stacked/series-stacked-min.js | 2 + .../build/series-stacked/series-stacked.js | 8 +- .../build/shim-plugin/shim-plugin-coverage.js | 6 +- .../build/shim-plugin/shim-plugin-debug.js | 4 +- .../build/shim-plugin/shim-plugin-min.js | 4 +- .../build/shim-plugin/shim-plugin.js | 4 +- .../build/simpleyui/simpleyui-debug.js | 82 +- .../build/simpleyui/simpleyui-min.js | 42 +- .../build/simpleyui/simpleyui.js | 82 +- .../assets/skins/audio-light/rail-x.png | Bin .../assets/skins/audio-light/rail-y.png | Bin .../skins/audio-light/slider-base-skin.css | 2 +- .../assets/skins/audio-light/slider-base.css | 2 +- .../assets/skins/audio-light/slider-skin.css | 2 +- .../assets/skins/audio-light/thumb-x.png | Bin .../assets/skins/audio-light/thumb-y.png | Bin .../slider-base/assets/skins/audio/rail-x.png | Bin .../slider-base/assets/skins/audio/rail-y.png | Bin .../assets/skins/audio/slider-base-skin.css | 2 +- .../assets/skins/audio/slider-base.css | 2 +- .../assets/skins/audio/slider-skin.css | 2 +- .../assets/skins/audio/thumb-x.png | Bin .../assets/skins/audio/thumb-y.png | Bin .../assets/skins/capsule-dark/rail-x-dots.png | Bin .../skins/capsule-dark/rail-x-lines.png | Bin .../assets/skins/capsule-dark/rail-x.png | Bin .../assets/skins/capsule-dark/rail-y-dots.png | Bin .../skins/capsule-dark/rail-y-lines.png | Bin .../assets/skins/capsule-dark/rail-y.png | Bin .../skins/capsule-dark/slider-base-skin.css | 2 +- .../assets/skins/capsule-dark/slider-base.css | 2 +- .../assets/skins/capsule-dark/slider-skin.css | 2 +- .../skins/capsule-dark/thumb-x-line.png | Bin .../assets/skins/capsule-dark/thumb-x.png | Bin .../skins/capsule-dark/thumb-y-line.png | Bin .../assets/skins/capsule-dark/thumb-y.png | Bin .../assets/skins/capsule/rail-x-dots.png | Bin .../assets/skins/capsule/rail-x-lines.png | Bin .../assets/skins/capsule/rail-x.png | Bin .../assets/skins/capsule/rail-y-dots.png | Bin .../assets/skins/capsule/rail-y-lines.png | Bin .../assets/skins/capsule/rail-y.png | Bin .../assets/skins/capsule/slider-base-skin.css | 2 +- .../assets/skins/capsule/slider-base.css | 2 +- .../assets/skins/capsule/slider-skin.css | 2 +- .../assets/skins/capsule/thumb-x-line.png | Bin .../assets/skins/capsule/thumb-x.png | Bin .../assets/skins/capsule/thumb-y-line.png | Bin .../assets/skins/capsule/thumb-y-lines.png | Bin .../assets/skins/capsule/thumb-y.png | Bin .../assets/skins/night/rail-x-lines.png | Bin .../slider-base/assets/skins/night/rail-x.png | Bin .../assets/skins/night/rail-y-lines.png | Bin .../slider-base/assets/skins/night/rail-y.png | Bin .../assets/skins/night/slider-base-skin.css | 2 +- .../assets/skins/night/slider-base.css | 2 +- .../assets/skins/night/slider-skin.css | 2 +- .../assets/skins/night/thumb-x.png | Bin .../assets/skins/night/thumb-y.png | Bin .../assets/skins/round-dark/rail-x.png | Bin .../assets/skins/round-dark/rail-y.png | Bin .../skins/round-dark/slider-base-skin.css | 2 +- .../assets/skins/round-dark/slider-base.css | 2 +- .../assets/skins/round-dark/slider-skin.css | 2 +- .../assets/skins/round-dark/thumb-x-grip.png | Bin .../assets/skins/round-dark/thumb-x.png | Bin .../assets/skins/round-dark/thumb-y-grip.png | Bin .../assets/skins/round-dark/thumb-y.png | Bin .../slider-base/assets/skins/round/rail-x.png | Bin .../slider-base/assets/skins/round/rail-y.png | Bin .../assets/skins/round/slider-base-skin.css | 2 +- .../assets/skins/round/slider-base.css | 2 +- .../assets/skins/round/slider-skin.css | 2 +- .../assets/skins/round/thumb-x-grip.png | Bin .../assets/skins/round/thumb-x.png | Bin .../assets/skins/round/thumb-y-grip.png | Bin .../assets/skins/round/thumb-y.png | Bin .../assets/skins/sam-dark/rail-x-lines.png | Bin .../assets/skins/sam-dark/rail-x.png | Bin .../assets/skins/sam-dark/rail-y-lines.png | Bin .../assets/skins/sam-dark/rail-y.png | Bin .../skins/sam-dark/slider-base-skin.css | 2 +- .../assets/skins/sam-dark/slider-base.css | 2 +- .../assets/skins/sam-dark/slider-skin.css | 2 +- .../assets/skins/sam-dark/thumb-x.png | Bin .../assets/skins/sam-dark/thumb-y.png | Bin .../assets/skins/sam/rail-x-lines.png | Bin .../slider-base/assets/skins/sam/rail-x.png | Bin .../assets/skins/sam/rail-y-lines.png | Bin .../slider-base/assets/skins/sam/rail-y.png | Bin .../assets/skins/sam/slider-base-skin.css | 2 +- .../assets/skins/sam/slider-base.css | 2 +- .../assets/skins/sam/slider-skin.css | 2 +- .../slider-base/assets/skins/sam/thumb-x.png | Bin .../slider-base/assets/skins/sam/thumb-y.png | Bin .../slider-base}/assets/slider-base-core.css | 2 +- .../build/slider-base}/assets/slider-core.css | 2 +- .../assets/thumb-x-oblong-dark.png | Bin .../slider-base/assets/thumb-x-oblong.png | Bin .../assets/thumb-x-oblong2-dark.png | Bin .../slider-base/assets/thumb-x-oblong2.png | Bin .../assets/thumb-y-oblong-dark.png | Bin .../slider-base/assets/thumb-y-oblong.png | Bin .../assets/thumb-y-oblong2-dark.png | Bin .../slider-base/assets/thumb-y-oblong2.png | Bin .../build/slider-base/slider-base-coverage.js | 6 +- .../build/slider-base/slider-base-debug.js | 4 +- .../build/slider-base/slider-base-min.js | 4 +- .../build/slider-base/slider-base.js | 4 +- .../assets/slider-base-core.css | 2 +- .../assets/slider-core.css | 2 +- .../assets/thumb-x-oblong-dark.png | Bin .../assets/thumb-x-oblong.png | Bin .../assets/thumb-x-oblong2-dark.png | Bin .../assets/thumb-x-oblong2.png | Bin .../assets/thumb-y-oblong-dark.png | Bin .../assets/thumb-y-oblong.png | Bin .../assets/thumb-y-oblong2-dark.png | Bin .../assets/thumb-y-oblong2.png | Bin .../slider-value-range-coverage.js | 6 +- .../slider-value-range-debug.js | 4 +- .../slider-value-range-min.js | 4 +- .../slider-value-range/slider-value-range.js | 4 +- .../sortable-scroll-coverage.js | 6 +- .../sortable-scroll/sortable-scroll-debug.js | 4 +- .../sortable-scroll/sortable-scroll-min.js | 4 +- .../build/sortable-scroll/sortable-scroll.js | 4 +- .../build/sortable/sortable-coverage.js | 6 +- .../build/sortable/sortable-debug.js | 4 +- .../build/sortable/sortable-min.js | 4 +- .../build/sortable/sortable.js | 4 +- .../build/stylesheet/stylesheet-coverage.js | 6 +- .../build/stylesheet/stylesheet-debug.js | 4 +- .../build/stylesheet/stylesheet-min.js | 4 +- .../build/stylesheet/stylesheet.js | 4 +- .../build/substitute/substitute-coverage.js | 6 +- .../build/substitute/substitute-debug.js | 4 +- .../build/substitute/substitute-min.js | 4 +- .../build/substitute/substitute.js | 4 +- .../build/swf/swf-coverage.js | 6 +- .../{3.9.0 => 3.9.1}/build/swf/swf-debug.js | 4 +- .../{3.9.0 => 3.9.1}/build/swf/swf-min.js | 4 +- lib/yuilib/{3.9.0 => 3.9.1}/build/swf/swf.js | 4 +- .../build/swfdetect/swfdetect-coverage.js | 6 +- .../build/swfdetect/swfdetect-debug.js | 4 +- .../build/swfdetect/swfdetect-min.js | 4 +- .../build/swfdetect/swfdetect.js | 4 +- .../tabview-base/assets/tabview-core.css | 2 +- .../build/tabview-base/assets/tabview.css | 2 +- .../tabview-base/tabview-base-coverage.js | 6 +- .../build/tabview-base/tabview-base-debug.js | 4 +- .../build/tabview-base/tabview-base-min.js | 4 +- .../build/tabview-base/tabview-base.js | 4 +- .../tabview-plugin/assets/tabview-core.css | 2 +- .../build/tabview-plugin/assets/tabview.css | 2 +- .../tabview-plugin/tabview-plugin-coverage.js | 6 +- .../tabview-plugin/tabview-plugin-debug.js | 4 +- .../tabview-plugin/tabview-plugin-min.js | 4 +- .../build/tabview-plugin/tabview-plugin.js | 4 +- .../assets/skins/night/tabview-skin.css | 2 +- .../tabview/assets/skins/night/tabview.css | 2 +- .../tabview/assets/skins/sam/tabview-skin.css | 2 +- .../tabview/assets/skins/sam/tabview.css | 2 +- .../build/tabview/assets/tabview-core.css | 2 +- .../build/tabview/assets/tabview.css | 2 +- .../build/tabview/tabview-coverage.js | 6 +- .../build/tabview/tabview-debug.js | 4 +- .../build/tabview/tabview-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/tabview/tabview.js | 4 +- .../template-base/template-base-coverage.js | 6 +- .../template-base/template-base-debug.js | 4 +- .../build/template-base/template-base-min.js | 4 +- .../build/template-base/template-base.js | 4 +- .../template-micro/template-micro-coverage.js | 6 +- .../template-micro/template-micro-debug.js | 4 +- .../template-micro/template-micro-min.js | 4 +- .../build/template-micro/template-micro.js | 4 +- .../assets/skins/sam/test-console-skin.css | 2 +- .../assets/skins/sam/test-console.css | 2 +- .../test-console/assets/test-console-core.css | 2 +- .../test-console/test-console-coverage.js | 6 +- .../build/test-console/test-console-debug.js | 4 +- .../build/test-console/test-console-min.js | 4 +- .../build/test-console/test-console.js | 4 +- .../build/test/test-coverage.js | 8 +- .../{3.9.0 => 3.9.1}/build/test/test-debug.js | 6 +- .../{3.9.0 => 3.9.1}/build/test/test-min.js | 6 +- .../{3.9.0 => 3.9.1}/build/test/test.js | 6 +- .../text-accentfold-coverage.js | 6 +- .../text-accentfold/text-accentfold-debug.js | 4 +- .../text-accentfold/text-accentfold-min.js | 4 +- .../build/text-accentfold/text-accentfold.js | 4 +- .../text-data-accentfold-coverage.js | 6 +- .../text-data-accentfold-debug.js | 4 +- .../text-data-accentfold-min.js | 4 +- .../text-data-accentfold.js | 4 +- .../text-data-wordbreak-coverage.js | 6 +- .../text-data-wordbreak-debug.js | 4 +- .../text-data-wordbreak-min.js | 4 +- .../text-data-wordbreak.js | 4 +- .../text-wordbreak/text-wordbreak-coverage.js | 6 +- .../text-wordbreak/text-wordbreak-debug.js | 4 +- .../text-wordbreak/text-wordbreak-min.js | 4 +- .../build/text-wordbreak/text-wordbreak.js | 4 +- .../build/timers/timers-coverage.js | 6 +- .../build/timers/timers-debug.js | 4 +- .../build/timers/timers-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/timers/timers.js | 4 +- .../transition-timer-coverage.js | 6 +- .../transition-timer-debug.js | 4 +- .../transition-timer/transition-timer-min.js | 4 +- .../transition-timer/transition-timer.js | 4 +- .../build/transition/transition-coverage.js | 6 +- .../build/transition/transition-debug.js | 4 +- .../build/transition/transition-min.js | 4 +- .../build/transition/transition.js | 4 +- .../tree-labelable/tree-labelable-coverage.js | 6 +- .../tree-labelable/tree-labelable-debug.js | 4 +- .../tree-labelable/tree-labelable-min.js | 4 +- .../build/tree-labelable/tree-labelable.js | 4 +- .../build/tree-lazy/tree-lazy-coverage.js | 6 +- .../build/tree-lazy/tree-lazy-debug.js | 4 +- .../build/tree-lazy/tree-lazy-min.js | 4 +- .../build/tree-lazy/tree-lazy.js | 4 +- .../build/tree-node/tree-node-coverage.js | 132 +- .../build/tree-node/tree-node-debug.js | 16 +- .../build/tree-node/tree-node-min.js | 4 +- .../build/tree-node/tree-node.js | 16 +- .../tree-openable/tree-openable-coverage.js | 310 ++ .../tree-openable/tree-openable-debug.js | 40 +- .../build/tree-openable/tree-openable-min.js | 2 + .../build/tree-openable/tree-openable.js | 40 +- .../tree-selectable-coverage.js | 128 +- .../tree-selectable/tree-selectable-debug.js | 34 +- .../tree-selectable/tree-selectable-min.js | 2 + .../build/tree-selectable/tree-selectable.js | 34 +- lib/yuilib/3.9.1/build/tree/tree-coverage.js | 943 ++++ .../{3.9.0 => 3.9.1}/build/tree/tree-debug.js | 29 +- lib/yuilib/3.9.1/build/tree/tree-min.js | 2 + .../{3.9.0 => 3.9.1}/build/tree/tree.js | 29 +- .../uploader-deprecated/assets/uploader.swf | Bin .../uploader-deprecated-coverage.js | 6 +- .../uploader-deprecated-debug.js | 4 +- .../uploader-deprecated-min.js | 4 +- .../uploader-deprecated.js | 4 +- .../assets/uploader-flash-core.css | 2 +- .../uploader-flash/uploader-flash-coverage.js | 6 +- .../uploader-flash/uploader-flash-debug.js | 4 +- .../uploader-flash/uploader-flash-min.js | 4 +- .../build/uploader-flash/uploader-flash.js | 4 +- .../assets/uploader-flash-core.css | 2 +- .../uploader-html5/uploader-html5-coverage.js | 6 +- .../uploader-html5/uploader-html5-debug.js | 4 +- .../uploader-html5/uploader-html5-min.js | 4 +- .../build/uploader-html5/uploader-html5.js | 4 +- .../assets/uploader-flash-core.css | 2 +- .../uploader-queue/uploader-queue-coverage.js | 6 +- .../uploader-queue/uploader-queue-debug.js | 4 +- .../uploader-queue/uploader-queue-min.js | 4 +- .../build/uploader-queue/uploader-queue.js | 4 +- .../build/uploader/assets/flashuploader.swf | Bin .../uploader/assets/uploader-flash-core.css | 2 +- .../build/uploader/uploader-coverage.js | 6 +- .../build/uploader/uploader-debug.js | 4 +- .../build/uploader/uploader-min.js | 4 +- .../build/uploader/uploader.js | 4 +- .../view-node-map/view-node-map-coverage.js | 6 +- .../view-node-map/view-node-map-debug.js | 4 +- .../build/view-node-map/view-node-map-min.js | 4 +- .../build/view-node-map/view-node-map.js | 4 +- .../build/view/view-coverage.js | 6 +- .../{3.9.0 => 3.9.1}/build/view/view-debug.js | 4 +- .../{3.9.0 => 3.9.1}/build/view/view-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/view/view.js | 4 +- .../build/widget-anim/widget-anim-coverage.js | 6 +- .../build/widget-anim/widget-anim-debug.js | 4 +- .../build/widget-anim/widget-anim-min.js | 4 +- .../build/widget-anim/widget-anim.js | 4 +- .../widget-autohide-coverage.js | 6 +- .../widget-autohide/widget-autohide-debug.js | 4 +- .../widget-autohide/widget-autohide-min.js | 4 +- .../build/widget-autohide/widget-autohide.js | 4 +- .../assets/widget-base-core.css | 2 +- .../widget-base-ie/widget-base-ie-coverage.js | 6 +- .../widget-base-ie/widget-base-ie-debug.js | 4 +- .../widget-base-ie/widget-base-ie-min.js | 4 +- .../build/widget-base-ie/widget-base-ie.js | 4 +- .../assets/skins/night/widget-base-skin.css | 1 + .../assets/skins/night/widget-base.css | 2 +- .../assets/skins/sam/widget-base-skin.css | 1 + .../assets/skins/sam/widget-base.css | 2 +- .../widget-base}/assets/widget-base-core.css | 2 +- .../build/widget-base/widget-base-coverage.js | 6 +- .../build/widget-base/widget-base-debug.js | 4 +- .../build/widget-base/widget-base-min.js | 4 +- .../build/widget-base/widget-base.js | 4 +- .../assets/skins/night/sprite_icons.gif | Bin .../skins/night/widget-buttons-skin.css | 2 +- .../assets/skins/night/widget-buttons.css | 2 +- .../assets/skins/sam/sprite_icons.gif | Bin .../assets/skins/sam/widget-buttons-skin.css | 2 +- .../assets/skins/sam/widget-buttons.css | 2 +- .../assets/widget-buttons-core.css | 2 +- .../widget-buttons/widget-buttons-coverage.js | 6 +- .../widget-buttons/widget-buttons-debug.js | 4 +- .../widget-buttons/widget-buttons-min.js | 4 +- .../build/widget-buttons/widget-buttons.js | 4 +- .../widget-child/widget-child-coverage.js | 6 +- .../build/widget-child/widget-child-debug.js | 4 +- .../build/widget-child/widget-child-min.js | 4 +- .../build/widget-child/widget-child.js | 4 +- .../assets/widget-base-core.css | 2 +- .../widget-htmlparser-coverage.js | 6 +- .../widget-htmlparser-debug.js | 4 +- .../widget-htmlparser-min.js | 4 +- .../widget-htmlparser/widget-htmlparser.js | 4 +- .../widget-locale/assets/widget-base-core.css | 2 +- .../widget-locale/widget-locale-coverage.js | 6 +- .../widget-locale/widget-locale-debug.js | 4 +- .../build/widget-locale/widget-locale-min.js | 4 +- .../build/widget-locale/widget-locale.js | 4 +- .../skins/night/widget-modality-skin.css | 2 +- .../assets/skins/night/widget-modality.css | 2 +- .../assets/skins/sam/widget-modality-skin.css | 2 +- .../assets/skins/sam/widget-modality.css | 2 +- .../assets/widget-modality-core.css | 2 + .../widget-modality-coverage.js | 6 +- .../widget-modality/widget-modality-debug.js | 4 +- .../widget-modality/widget-modality-min.js | 4 +- .../build/widget-modality/widget-modality.js | 4 +- .../widget-parent/widget-parent-coverage.js | 6 +- .../widget-parent/widget-parent-debug.js | 4 +- .../build/widget-parent/widget-parent-min.js | 4 +- .../build/widget-parent/widget-parent.js | 4 +- .../widget-position-align-coverage.js | 6 +- .../widget-position-align-debug.js | 4 +- .../widget-position-align-min.js | 4 +- .../widget-position-align.js | 4 +- .../widget-position-constrain-coverage.js | 6 +- .../widget-position-constrain-debug.js | 4 +- .../widget-position-constrain-min.js | 4 +- .../widget-position-constrain.js | 4 +- .../widget-position-coverage.js | 6 +- .../widget-position/widget-position-debug.js | 4 +- .../widget-position/widget-position-min.js | 4 +- .../build/widget-position/widget-position.js | 4 +- .../widget-skin/assets/widget-base-core.css | 21 + .../build/widget-skin/widget-skin-coverage.js | 6 +- .../build/widget-skin/widget-skin-debug.js | 4 +- .../build/widget-skin/widget-skin-min.js | 4 +- .../build/widget-skin/widget-skin.js | 4 +- .../assets/skins/night/widget-stack-skin.css | 1 + .../assets/skins/night/widget-stack.css | 2 +- .../assets/skins/sam/widget-stack-skin.css | 1 + .../assets/skins/sam/widget-stack.css | 2 +- .../widget-stack/assets/widget-stack-core.css | 2 +- .../widget-stack/widget-stack-coverage.js | 6 +- .../build/widget-stack/widget-stack-debug.js | 4 +- .../build/widget-stack/widget-stack-min.js | 4 +- .../build/widget-stack/widget-stack.js | 4 +- .../widget-stdmod/widget-stdmod-coverage.js | 6 +- .../widget-stdmod/widget-stdmod-debug.js | 4 +- .../build/widget-stdmod/widget-stdmod-min.js | 4 +- .../build/widget-stdmod/widget-stdmod.js | 4 +- .../assets/widget-base-core.css | 21 + .../widget-uievents-coverage.js | 6 +- .../widget-uievents/widget-uievents-debug.js | 4 +- .../widget-uievents/widget-uievents-min.js | 4 +- .../build/widget-uievents/widget-uievents.js | 4 +- .../build/yql-jsonp/yql-jsonp-coverage.js | 6 +- .../build/yql-jsonp/yql-jsonp-debug.js | 4 +- .../build/yql-jsonp/yql-jsonp-min.js | 4 +- .../build/yql-jsonp/yql-jsonp.js | 4 +- .../build/yql-nodejs/yql-nodejs-coverage.js | 6 +- .../build/yql-nodejs/yql-nodejs-debug.js | 4 +- .../build/yql-nodejs/yql-nodejs-min.js | 4 +- .../build/yql-nodejs/yql-nodejs.js | 4 +- .../build/yql-winjs/yql-winjs-coverage.js | 6 +- .../build/yql-winjs/yql-winjs-debug.js | 4 +- .../build/yql-winjs/yql-winjs-min.js | 4 +- .../build/yql-winjs/yql-winjs.js | 4 +- .../build/yql/yql-coverage.js | 6 +- .../{3.9.0 => 3.9.1}/build/yql/yql-debug.js | 4 +- .../{3.9.0 => 3.9.1}/build/yql/yql-min.js | 4 +- lib/yuilib/{3.9.0 => 3.9.1}/build/yql/yql.js | 4 +- .../build/yui-base/yui-base-coverage.js | 8 +- .../build/yui-base/yui-base-debug.js | 18 +- .../build/yui-base/yui-base-min.js | 10 +- .../build/yui-base/yui-base.js | 18 +- .../build/yui-core/yui-core-coverage.js | 8 +- .../build/yui-core/yui-core-debug.js | 6 +- .../build/yui-core/yui-core-min.js | 6 +- .../build/yui-core/yui-core.js | 6 +- .../build/yui-later/yui-later-coverage.js | 6 +- .../build/yui-later/yui-later-debug.js | 4 +- .../build/yui-later/yui-later-min.js | 4 +- .../build/yui-later/yui-later.js | 4 +- .../yui-log-nodejs/yui-log-nodejs-coverage.js | 6 +- .../yui-log-nodejs/yui-log-nodejs-debug.js | 4 +- .../yui-log-nodejs/yui-log-nodejs-min.js | 4 +- .../build/yui-log-nodejs/yui-log-nodejs.js | 4 +- .../build/yui-log/yui-log-coverage.js | 6 +- .../build/yui-log/yui-log-debug.js | 4 +- .../build/yui-log/yui-log-min.js | 4 +- .../{3.9.0 => 3.9.1}/build/yui-log/yui-log.js | 4 +- .../build/yui-nodejs/yui-nodejs-coverage.js | 8 +- .../build/yui-nodejs/yui-nodejs-debug.js | 26 +- .../build/yui-nodejs/yui-nodejs-min.js | 14 +- .../build/yui-nodejs/yui-nodejs.js | 26 +- .../yui-throttle/yui-throttle-coverage.js | 6 +- .../build/yui-throttle/yui-throttle-debug.js | 4 +- .../build/yui-throttle/yui-throttle-min.js | 4 +- .../build/yui-throttle/yui-throttle.js | 4 +- .../build/yui/yui-coverage.js | 8 +- .../{3.9.0 => 3.9.1}/build/yui/yui-debug.js | 24 +- .../{3.9.0 => 3.9.1}/build/yui/yui-min.js | 14 +- lib/yuilib/{3.9.0 => 3.9.1}/build/yui/yui.js | 24 +- lib/yuilib/readme_moodle.txt | 2 +- 2025 files changed, 27019 insertions(+), 25975 deletions(-) delete mode 100644 lib/yuilib/3.9.0/build/axis-base/axis-base-coverage.js delete mode 100644 lib/yuilib/3.9.0/build/axis-base/axis-base-min.js delete mode 100644 lib/yuilib/3.9.0/build/axis-category-base/axis-category-base-min.js delete mode 100644 lib/yuilib/3.9.0/build/axis-numeric-base/axis-numeric-base-min.js delete mode 100644 lib/yuilib/3.9.0/build/axis-numeric/axis-numeric-min.js delete mode 100644 lib/yuilib/3.9.0/build/axis/axis-coverage.js delete mode 100644 lib/yuilib/3.9.0/build/axis/axis-min.js delete mode 100644 lib/yuilib/3.9.0/build/charts-base/charts-base-min.js delete mode 100644 lib/yuilib/3.9.0/build/charts-legend/charts-legend-min.js delete mode 100644 lib/yuilib/3.9.0/build/charts/charts-min.js delete mode 100644 lib/yuilib/3.9.0/build/console-filters/assets/console-filters-core.css delete mode 100644 lib/yuilib/3.9.0/build/console/assets/console-core.css delete mode 100644 lib/yuilib/3.9.0/build/console/assets/console-filters-core.css delete mode 100644 lib/yuilib/3.9.0/build/graphics-canvas/graphics-canvas-min.js delete mode 100644 lib/yuilib/3.9.0/build/graphics-svg/graphics-svg-min.js delete mode 100644 lib/yuilib/3.9.0/build/graphics-vml/graphics-vml-coverage.js delete mode 100644 lib/yuilib/3.9.0/build/graphics-vml/graphics-vml-min.js delete mode 100644 lib/yuilib/3.9.0/build/graphics/graphics-min.js delete mode 100644 lib/yuilib/3.9.0/build/handlebars-base/handlebars-base-min.js delete mode 100644 lib/yuilib/3.9.0/build/handlebars-compiler/handlebars-compiler-debug.js delete mode 100644 lib/yuilib/3.9.0/build/handlebars-compiler/handlebars-compiler-min.js delete mode 100644 lib/yuilib/3.9.0/build/handlebars-compiler/handlebars-compiler.js delete mode 100644 lib/yuilib/3.9.0/build/lazy-model-list/lazy-model-list-min.js delete mode 100644 lib/yuilib/3.9.0/build/node-flick/assets/skins/sam/node-flick-skin.css delete mode 100644 lib/yuilib/3.9.0/build/overlay/assets/skins/sam/overlay-skin.css delete mode 100644 lib/yuilib/3.9.0/build/resize-plugin/assets/skins/night/resize-base-skin.css delete mode 100644 lib/yuilib/3.9.0/build/resize-plugin/assets/skins/sam/resize-base-skin.css delete mode 100644 lib/yuilib/3.9.0/build/resize-proxy/assets/skins/night/resize-base-skin.css delete mode 100644 lib/yuilib/3.9.0/build/resize-proxy/assets/skins/sam/resize-base-skin.css delete mode 100644 lib/yuilib/3.9.0/build/router/router-min.js delete mode 100644 lib/yuilib/3.9.0/build/scrollview-base/assets/skins/night/scrollview-base-skin.css delete mode 100644 lib/yuilib/3.9.0/build/scrollview-list/assets/scrollview-list-core.css delete mode 100644 lib/yuilib/3.9.0/build/scrollview/scrollview-min.js delete mode 100644 lib/yuilib/3.9.0/build/selector/selector-debug.js delete mode 100644 lib/yuilib/3.9.0/build/selector/selector-min.js delete mode 100644 lib/yuilib/3.9.0/build/selector/selector.js delete mode 100644 lib/yuilib/3.9.0/build/series-bar-stacked/series-bar-stacked-min.js delete mode 100644 lib/yuilib/3.9.0/build/series-bar/series-bar-min.js delete mode 100644 lib/yuilib/3.9.0/build/series-base/series-base-min.js delete mode 100644 lib/yuilib/3.9.0/build/series-cartesian/series-cartesian-min.js delete mode 100644 lib/yuilib/3.9.0/build/series-column-stacked/series-column-stacked-min.js delete mode 100644 lib/yuilib/3.9.0/build/series-column/series-column-min.js delete mode 100644 lib/yuilib/3.9.0/build/series-fill-util/series-fill-util-min.js delete mode 100644 lib/yuilib/3.9.0/build/series-histogram-base/series-histogram-base-min.js delete mode 100644 lib/yuilib/3.9.0/build/series-line-util/series-line-util-min.js delete mode 100644 lib/yuilib/3.9.0/build/series-pie/series-pie-min.js delete mode 100644 lib/yuilib/3.9.0/build/series-plot-util/series-plot-util-min.js delete mode 100644 lib/yuilib/3.9.0/build/series-range/series-range-min.js delete mode 100644 lib/yuilib/3.9.0/build/series-stacked/series-stacked-min.js delete mode 100644 lib/yuilib/3.9.0/build/tree-openable/tree-openable-coverage.js delete mode 100644 lib/yuilib/3.9.0/build/tree-openable/tree-openable-min.js delete mode 100644 lib/yuilib/3.9.0/build/tree-selectable/tree-selectable-min.js delete mode 100644 lib/yuilib/3.9.0/build/tree/tree-coverage.js delete mode 100644 lib/yuilib/3.9.0/build/tree/tree-min.js delete mode 100644 lib/yuilib/3.9.0/build/widget-base/assets/skins/night/widget-base-skin.css delete mode 100644 lib/yuilib/3.9.0/build/widget-base/assets/skins/sam/widget-base-skin.css delete mode 100644 lib/yuilib/3.9.0/build/widget-modality/assets/widget-modality-core.css delete mode 100644 lib/yuilib/3.9.0/build/widget-skin/assets/widget-base-core.css delete mode 100644 lib/yuilib/3.9.0/build/widget-stack/assets/skins/night/widget-stack-skin.css delete mode 100644 lib/yuilib/3.9.0/build/widget-stack/assets/skins/sam/widget-stack-skin.css delete mode 100644 lib/yuilib/3.9.0/build/widget-uievents/assets/widget-base-core.css rename lib/yuilib/{3.9.0 => 3.9.1}/build/align-plugin/align-plugin-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/align-plugin/align-plugin-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/align-plugin/align-plugin-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/align-plugin/align-plugin.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-base/anim-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-base/anim-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-base/anim-base-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-base/anim-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-color/anim-color-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-color/anim-color-debug.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-color/anim-color-min.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-color/anim-color.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-curve/anim-curve-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-curve/anim-curve-debug.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-curve/anim-curve-min.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-curve/anim-curve.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-easing/anim-easing-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-easing/anim-easing-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-easing/anim-easing-min.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-easing/anim-easing.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-node-plugin/anim-node-plugin-coverage.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-node-plugin/anim-node-plugin-debug.js (80%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-node-plugin/anim-node-plugin-min.js (64%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-node-plugin/anim-node-plugin.js (80%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-scroll/anim-scroll-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-scroll/anim-scroll-debug.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-scroll/anim-scroll-min.js (76%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-scroll/anim-scroll.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-shape-transform/anim-shape-transform-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-shape/anim-shape-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-shape/anim-shape-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-shape/anim-shape-min.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-shape/anim-shape.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-xy/anim-xy-coverage.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-xy/anim-xy-debug.js (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-xy/anim-xy-min.js (63%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/anim-xy/anim-xy.js (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-base/app-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-base/app-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-base/app-base-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-base/app-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-content/app-content-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-content/app-content-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-content/app-content-min.js (88%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-content/app-content.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-transitions-css/app-transitions-css-min.css (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-transitions-css/app-transitions-css.css (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-transitions-native/app-transitions-native-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-transitions-native/app-transitions-native-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-transitions-native/app-transitions-native-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-transitions-native/app-transitions-native.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-transitions/app-transitions-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-transitions/app-transitions-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-transitions/app-transitions-min.js (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/app-transitions/app-transitions.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/array-extras/array-extras-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/array-extras/array-extras-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/array-extras/array-extras-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/array-extras/array-extras.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/array-invoke/array-invoke-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/array-invoke/array-invoke-debug.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/array-invoke/array-invoke-min.js (65%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/array-invoke/array-invoke.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/arraylist-add/arraylist-add-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/arraylist-add/arraylist-add-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/arraylist-add/arraylist-add-min.js (74%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/arraylist-add/arraylist-add.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/arraylist-filter/arraylist-filter-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/arraylist-filter/arraylist-filter-debug.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/arraylist-filter/arraylist-filter-min.js (64%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/arraylist-filter/arraylist-filter.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/arraylist/arraylist-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/arraylist/arraylist-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/arraylist/arraylist-min.js (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/arraylist/arraylist.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/arraysort/arraysort-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/arraysort/arraysort-debug.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/arraysort/arraysort-min.js (63%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/arraysort/arraysort.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/arrows.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/autocomplete-list.css (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/bg.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/calendar-base.css (97%) rename lib/yuilib/{3.9.0/build/calendar => 3.9.1/build}/assets/skins/sam/calendar.css (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/calendarnavigator.css (97%) rename lib/yuilib/{3.9.0/build/console-filters => 3.9.1/build}/assets/skins/sam/console-filters.css (92%) rename lib/yuilib/{3.9.0/build/console => 3.9.1/build}/assets/skins/sam/console.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/datatable-base-deprecated.css (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/datatable-base.css (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/datatable-message.css (83%) rename lib/yuilib/{3.9.0/build/datatable-scroll => 3.9.1/build}/assets/skins/sam/datatable-scroll.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/datatable-sort.css (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/dial.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/dt-arrow-dn.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/dt-arrow-up.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/horizontal-menu-submenu-indicator.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/horizontal-menu-submenu-toggle.png (100%) rename lib/yuilib/{3.9.0/build/node-flick => 3.9.1/build}/assets/skins/sam/node-flick.css (71%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/node-menunav.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/overlay.css (77%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/panel.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/rail-x-lines.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/rail-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/rail-y-lines.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/rail-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/resize-base.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/scrollview-base.css (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/scrollview-list.css (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/scrollview-scrollbars.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/skin.css (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/slider-base.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/sort-arrow-sprite-ie.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/sort-arrow-sprite.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/sprite.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/sprite_icons.gif (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/sprite_icons.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/tabview.css (96%) rename lib/yuilib/{3.9.0/build/test-console => 3.9.1/build}/assets/skins/sam/test-console.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/thumb-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/thumb-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/vertical-menu-submenu-indicator.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/warn_error.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/widget-base.css (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/assets/skins/sam/widget-buttons.css (89%) rename lib/yuilib/{3.9.0/build/widget-modality => 3.9.1/build}/assets/skins/sam/widget-modality.css (76%) rename lib/yuilib/{3.9.0/build/widget-stack => 3.9.1/build}/assets/skins/sam/widget-stack.css (80%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/async-queue/async-queue-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/async-queue/async-queue-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/async-queue/async-queue-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/async-queue/async-queue.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-base/attribute-base-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-base/attribute-base-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-base/attribute-base-min.js (79%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-base/attribute-base.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-complex/attribute-complex-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-complex/attribute-complex-debug.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-complex/attribute-complex-min.js (63%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-complex/attribute-complex.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-core/attribute-core-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-core/attribute-core-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-core/attribute-core-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-core/attribute-core.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-extras/attribute-extras-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-extras/attribute-extras-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-extras/attribute-extras-min.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-extras/attribute-extras.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-observable/attribute-observable-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-observable/attribute-observable-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-observable/attribute-observable-min.js (88%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/attribute-observable/attribute-observable.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-base/autocomplete-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-base/autocomplete-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-base/autocomplete-base-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-base/autocomplete-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-filters-accentfold/autocomplete-filters-accentfold-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-filters-accentfold/autocomplete-filters-accentfold-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-filters-accentfold/autocomplete-filters-accentfold-min.js (88%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-filters-accentfold/autocomplete-filters-accentfold.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-filters/autocomplete-filters-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-filters/autocomplete-filters-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-filters/autocomplete-filters-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-filters/autocomplete-filters.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-highlighters-accentfold/autocomplete-highlighters-accentfold-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-highlighters-accentfold/autocomplete-highlighters-accentfold-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-highlighters-accentfold/autocomplete-highlighters-accentfold-min.js (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-highlighters-accentfold/autocomplete-highlighters-accentfold.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-highlighters/autocomplete-highlighters-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-highlighters/autocomplete-highlighters-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-highlighters/autocomplete-highlighters-min.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-highlighters/autocomplete-highlighters.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-list-keys/autocomplete-list-keys-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-list-keys/autocomplete-list-keys-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-list-keys/autocomplete-list-keys-min.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-list-keys/autocomplete-list-keys.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-list/assets/autocomplete-list-core.css (88%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-list/assets/skins/night/autocomplete-list-skin.css (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-list/assets/skins/night/autocomplete-list.css (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-list/assets/skins/sam/autocomplete-list-skin.css (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-list/assets/skins/sam/autocomplete-list.css (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-list/autocomplete-list-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-list/autocomplete-list-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-list/autocomplete-list-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-list/autocomplete-list.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-list/lang/autocomplete-list.js (68%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-list/lang/autocomplete-list_en.js (72%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-list/lang/autocomplete-list_es.js (68%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-plugin/autocomplete-plugin-coverage.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-plugin/autocomplete-plugin-debug.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-plugin/autocomplete-plugin-min.js (74%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-plugin/autocomplete-plugin.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-sources/autocomplete-sources-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-sources/autocomplete-sources-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-sources/autocomplete-sources-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/autocomplete-sources/autocomplete-sources.js (99%) create mode 100644 lib/yuilib/3.9.1/build/axis-base/axis-base-coverage.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-base/axis-base-debug.js (95%) create mode 100644 lib/yuilib/3.9.1/build/axis-base/axis-base-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-base/axis-base.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-category-base/axis-category-base-coverage.js (61%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-category-base/axis-category-base-debug.js (94%) create mode 100644 lib/yuilib/3.9.1/build/axis-category-base/axis-category-base-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-category-base/axis-category-base.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-category/axis-category-coverage.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-category/axis-category-debug.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-category/axis-category-min.js (68%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-category/axis-category.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-numeric-base/axis-numeric-base-coverage.js (52%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-numeric-base/axis-numeric-base-debug.js (98%) create mode 100644 lib/yuilib/3.9.1/build/axis-numeric-base/axis-numeric-base-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-numeric-base/axis-numeric-base.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-numeric/axis-numeric-coverage.js (81%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-numeric/axis-numeric-debug.js (86%) create mode 100644 lib/yuilib/3.9.1/build/axis-numeric/axis-numeric-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-numeric/axis-numeric.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-stacked-base/axis-stacked-base-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-stacked-base/axis-stacked-base-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-stacked-base/axis-stacked-base-min.js (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-stacked-base/axis-stacked-base.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-stacked/axis-stacked-coverage.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-stacked/axis-stacked-debug.js (80%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-stacked/axis-stacked-min.js (50%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-stacked/axis-stacked.js (80%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-time-base/axis-time-base-coverage.js (73%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-time-base/axis-time-base-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-time-base/axis-time-base-min.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-time-base/axis-time-base.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-time/axis-time-coverage.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-time/axis-time-debug.js (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-time/axis-time-min.js (58%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis-time/axis-time.js (87%) create mode 100644 lib/yuilib/3.9.1/build/axis/axis-coverage.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis/axis-debug.js (98%) create mode 100644 lib/yuilib/3.9.1/build/axis/axis-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/axis/axis.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-base/base-base-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-base/base-base-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-base/base-base-min.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-base/base-base.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-build/base-build-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-build/base-build-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-build/base-build-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-build/base-build.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-core/base-core-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-core/base-core-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-core/base-core-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-core/base-core.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-observable/base-observable-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-observable/base-observable-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-observable/base-observable-min.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-observable/base-observable.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-pluginhost/base-pluginhost-coverage.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-pluginhost/base-pluginhost-debug.js (88%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-pluginhost/base-pluginhost-min.js (58%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/base-pluginhost/base-pluginhost.js (88%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/button-core/button-core-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/button-core/button-core-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/button-core/button-core-min.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/button-core/button-core.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/button-group/button-group-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/button-group/button-group-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/button-group/button-group-min.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/button-group/button-group.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/button-plugin/button-plugin-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/button-plugin/button-plugin-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/button-plugin/button-plugin-min.js (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/button-plugin/button-plugin.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/button/button-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/button/button-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/button/button-min.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/button/button.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cache-base/cache-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cache-base/cache-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cache-base/cache-base-min.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cache-base/cache-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cache-offline/cache-offline-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cache-offline/cache-offline-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cache-offline/cache-offline-min.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cache-offline/cache-offline.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cache-plugin/cache-plugin-coverage.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cache-plugin/cache-plugin-debug.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cache-plugin/cache-plugin-min.js (66%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cache-plugin/cache-plugin.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/assets/calendar-base-core.css (79%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/assets/skins/night/calendar-base-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/assets/skins/night/calendar-base.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/assets/skins/sam/calendar-base-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/assets/skins/sam/calendar-base.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/calendar-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/calendar-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/calendar-base-min.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/calendar-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/lang/calendar-base.js (69%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/lang/calendar-base_de.js (79%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/lang/calendar-base_en.js (68%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/lang/calendar-base_es-AR.js (82%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/lang/calendar-base_es.js (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/lang/calendar-base_fr.js (69%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/lang/calendar-base_it.js (79%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/lang/calendar-base_ja.js (82%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/lang/calendar-base_nb-NO.js (76%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/lang/calendar-base_nl.js (82%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/lang/calendar-base_pt-BR.js (81%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/lang/calendar-base_ru.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar-base/lang/calendar-base_zh-HANT-TW.js (79%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/assets/calendar-core.css (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/assets/skins/night/calendar-skin.css (77%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/assets/skins/night/calendar.css (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/assets/skins/sam/calendar-skin.css (76%) rename lib/yuilib/{3.9.0/build => 3.9.1/build/calendar}/assets/skins/sam/calendar.css (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/calendar-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/calendar-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/calendar-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/calendar.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/lang/calendar.js (77%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/lang/calendar_de.js (63%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/lang/calendar_en.js (76%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/lang/calendar_es-AR.js (74%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/lang/calendar_es.js (75%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/lang/calendar_fr.js (71%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/lang/calendar_it.js (71%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/lang/calendar_ja.js (76%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/lang/calendar_nb-NO.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/lang/calendar_nl.js (74%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/lang/calendar_pt-BR.js (73%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/lang/calendar_ru.js (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendar/lang/calendar_zh-HANT-TW.js (81%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendarnavigator/assets/calendarnavigator-core.css (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendarnavigator/assets/skins/night/calendarnavigator-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendarnavigator/assets/skins/night/calendarnavigator.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendarnavigator/assets/skins/sam/calendarnavigator-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendarnavigator/assets/skins/sam/calendarnavigator.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendarnavigator/calendarnavigator-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendarnavigator/calendarnavigator-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendarnavigator/calendarnavigator-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/calendarnavigator/calendarnavigator.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/charts-base/charts-base-coverage.js (53%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/charts-base/charts-base-debug.js (95%) create mode 100644 lib/yuilib/3.9.1/build/charts-base/charts-base-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/charts-base/charts-base.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/charts-legend/charts-legend-coverage.js (56%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/charts-legend/charts-legend-debug.js (96%) create mode 100644 lib/yuilib/3.9.1/build/charts-legend/charts-legend-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/charts-legend/charts-legend.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/charts/charts-coverage.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/charts/charts-debug.js (77%) create mode 100644 lib/yuilib/3.9.1/build/charts/charts-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/charts/charts.js (77%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/classnamemanager/classnamemanager-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/classnamemanager/classnamemanager-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/classnamemanager/classnamemanager-min.js (70%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/classnamemanager/classnamemanager.js (95%) rename lib/yuilib/{3.9.0/build/range-slider => 3.9.1/build/clickable-rail}/assets/slider-base-core.css (90%) rename lib/yuilib/{3.9.0/build/slider-base => 3.9.1/build/clickable-rail}/assets/slider-core.css (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/clickable-rail/assets/thumb-x-oblong-dark.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/clickable-rail/assets/thumb-x-oblong.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/clickable-rail/assets/thumb-x-oblong2-dark.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/clickable-rail/assets/thumb-x-oblong2.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/clickable-rail/assets/thumb-y-oblong-dark.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/clickable-rail/assets/thumb-y-oblong.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/clickable-rail/assets/thumb-y-oblong2-dark.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/clickable-rail/assets/thumb-y-oblong2.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/clickable-rail/clickable-rail-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/clickable-rail/clickable-rail-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/clickable-rail/clickable-rail-min.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/clickable-rail/clickable-rail.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/color-base/color-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/color-base/color-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/color-base/color-base-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/color-base/color-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/color-harmony/color-harmony-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/color-harmony/color-harmony-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/color-harmony/color-harmony-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/color-harmony/color-harmony.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/color-hsl/color-hsl-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/color-hsl/color-hsl-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/color-hsl/color-hsl-min.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/color-hsl/color-hsl.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/color-hsv/color-hsv-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/color-hsv/color-hsv-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/color-hsv/color-hsv-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/color-hsv/color-hsv.js (97%) create mode 100644 lib/yuilib/3.9.1/build/console-filters/assets/console-filters-core.css rename lib/yuilib/{3.9.0/build/console => 3.9.1/build/console-filters}/assets/skins/sam/console-filters-skin.css (92%) rename lib/yuilib/{3.9.0/build => 3.9.1/build/console-filters}/assets/skins/sam/console-filters.css (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/console-filters/console-filters-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/console-filters/console-filters-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/console-filters/console-filters-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/console-filters/console-filters.js (99%) create mode 100644 lib/yuilib/3.9.1/build/console/assets/console-core.css create mode 100644 lib/yuilib/3.9.1/build/console/assets/console-filters-core.css rename lib/yuilib/{3.9.0 => 3.9.1}/build/console/assets/skins/sam/bg.png (100%) rename lib/yuilib/{3.9.0/build/console-filters => 3.9.1/build/console}/assets/skins/sam/console-filters-skin.css (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/console/assets/skins/sam/console-filters.css (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/console/assets/skins/sam/console-skin.css (98%) rename lib/yuilib/{3.9.0/build => 3.9.1/build/console}/assets/skins/sam/console.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/console/assets/skins/sam/warn_error.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/console/assets/warn_error.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/console/console-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/console/console-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/console/console-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/console/console.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/console/lang/console.js (61%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/console/lang/console_en.js (60%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/console/lang/console_es.js (56%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/console/lang/console_ja.js (65%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cookie/cookie-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cookie/cookie-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cookie/cookie-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cookie/cookie.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/createlink-base/createlink-base-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/createlink-base/createlink-base-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/createlink-base/createlink-base-min.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/createlink-base/createlink-base.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssbase-context/base-context-min.css (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssbase-context/base-context.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssbase-context/cssbase-context-min.css (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssbase-context/cssbase-context.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssbase/base-min.css (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssbase/base.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssbase/cssbase-min.css (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssbase/cssbase.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssbutton/cssbutton-min.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssbutton/cssbutton.css (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssfonts-context/cssfonts-context-min.css (88%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssfonts-context/cssfonts-context.css (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssfonts-context/fonts-context-min.css (88%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssfonts-context/fonts-context.css (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssfonts/cssfonts-min.css (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssfonts/cssfonts.css (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssfonts/fonts-min.css (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssfonts/fonts.css (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssgrids-base/cssgrids-base-min.css (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssgrids-base/cssgrids-base.css (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssgrids-context-deprecated/grids-context-min.css (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssgrids-context-deprecated/grids-context.css (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssgrids-responsive/cssgrids-responsive-min.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssgrids-responsive/cssgrids-responsive.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssgrids-units/cssgrids-units-min.css (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssgrids-units/cssgrids-units.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssgrids/cssgrids-min.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssgrids/cssgrids.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssgrids/grids-min.css (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssgrids/grids.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssnormalize-context/cssnormalize-context-min.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssnormalize-context/cssnormalize-context.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssnormalize/cssnormalize-min.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssnormalize/cssnormalize.css (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssreset-context/cssreset-context-min.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssreset-context/cssreset-context.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssreset-context/reset-context-min.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssreset-context/reset-context.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssreset/cssreset-min.css (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssreset/cssreset.css (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssreset/reset-min.css (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/cssreset/reset.css (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-array/dataschema-array-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-array/dataschema-array-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-array/dataschema-array-min.js (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-array/dataschema-array.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-base/dataschema-base-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-base/dataschema-base-debug.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-base/dataschema-base-min.js (72%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-base/dataschema-base.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-json/dataschema-json-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-json/dataschema-json-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-json/dataschema-json-min.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-json/dataschema-json.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-text/dataschema-text-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-text/dataschema-text-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-text/dataschema-text-min.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-text/dataschema-text.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-xml/dataschema-xml-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-xml/dataschema-xml-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-xml/dataschema-xml-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dataschema-xml/dataschema-xml.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-arrayschema/datasource-arrayschema-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-arrayschema/datasource-arrayschema-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-arrayschema/datasource-arrayschema-min.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-arrayschema/datasource-arrayschema.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-cache/datasource-cache-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-cache/datasource-cache-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-cache/datasource-cache-min.js (88%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-cache/datasource-cache.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-function/datasource-function-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-function/datasource-function-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-function/datasource-function-min.js (80%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-function/datasource-function.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-get/datasource-get-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-get/datasource-get-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-get/datasource-get-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-get/datasource-get.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-io/datasource-io-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-io/datasource-io-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-io/datasource-io-min.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-io/datasource-io.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-jsonschema/datasource-jsonschema-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-jsonschema/datasource-jsonschema-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-jsonschema/datasource-jsonschema-min.js (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-jsonschema/datasource-jsonschema.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-local/datasource-local-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-local/datasource-local-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-local/datasource-local-min.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-local/datasource-local.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-polling/datasource-polling-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-polling/datasource-polling-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-polling/datasource-polling-min.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-polling/datasource-polling.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-textschema/datasource-textschema-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-textschema/datasource-textschema-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-textschema/datasource-textschema-min.js (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-textschema/datasource-textschema.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-xmlschema/datasource-xmlschema-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-xmlschema/datasource-xmlschema-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-xmlschema/datasource-xmlschema-min.js (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datasource-xmlschema/datasource-xmlschema.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base-deprecated/assets/datatable-base-deprecated-core.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base-deprecated/assets/skins/night/datatable-base-deprecated-skin.css (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base-deprecated/assets/skins/night/datatable-base-deprecated.css (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base-deprecated/assets/skins/sam/datatable-base-deprecated-skin.css (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base-deprecated/assets/skins/sam/datatable-base-deprecated.css (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base-deprecated/assets/skins/sam/dt-arrow-dn.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base-deprecated/assets/skins/sam/dt-arrow-up.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base-deprecated/datatable-base-deprecated-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base-deprecated/datatable-base-deprecated-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base-deprecated/datatable-base-deprecated-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base-deprecated/datatable-base-deprecated.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base/assets/datatable-base-core.css (59%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base/assets/skins/night/datatable-base-skin.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base/assets/skins/night/datatable-base.css (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base/assets/skins/sam/datatable-base-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base/assets/skins/sam/datatable-base.css (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base/datatable-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base/datatable-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base/datatable-base-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-base/datatable-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-body/datatable-body-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-body/datatable-body-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-body/datatable-body-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-body/datatable-body.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-column-widths/datatable-column-widths-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-column-widths/datatable-column-widths-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-column-widths/datatable-column-widths-min.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-column-widths/datatable-column-widths.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-core/datatable-core-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-core/datatable-core-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-core/datatable-core-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-core/datatable-core.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-datasource-deprecated/datatable-datasource-deprecated-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-datasource-deprecated/datatable-datasource-deprecated-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-datasource-deprecated/datatable-datasource-deprecated-min.js (88%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-datasource-deprecated/datatable-datasource-deprecated.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-datasource/datatable-datasource-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-datasource/datatable-datasource-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-datasource/datatable-datasource-min.js (88%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-datasource/datatable-datasource.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-formatters/datatable-formatters-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-formatters/datatable-formatters-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-formatters/datatable-formatters-min.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-formatters/datatable-formatters.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-head/datatable-head-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-head/datatable-head-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-head/datatable-head-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-head/datatable-head.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-message/assets/datatable-message-core.css (73%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-message/assets/skins/night/datatable-message-skin.css (74%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-message/assets/skins/night/datatable-message.css (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-message/assets/skins/sam/datatable-message-skin.css (70%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-message/assets/skins/sam/datatable-message.css (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-message/datatable-message-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-message/datatable-message-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-message/datatable-message-min.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-message/datatable-message.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-message/lang/datatable-message.js (62%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-message/lang/datatable-message_en.js (61%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-message/lang/datatable-message_es.js (59%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-message/lang/datatable-message_fr.js (56%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-mutable/datatable-mutable-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-mutable/datatable-mutable-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-mutable/datatable-mutable-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-mutable/datatable-mutable.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-scroll-deprecated/datatable-scroll-deprecated-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-scroll-deprecated/datatable-scroll-deprecated-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-scroll-deprecated/datatable-scroll-deprecated-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-scroll-deprecated/datatable-scroll-deprecated.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-scroll/assets/datatable-scroll-core.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-scroll/assets/skins/night/datatable-scroll-skin.css (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-scroll/assets/skins/night/datatable-scroll.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-scroll/assets/skins/sam/datatable-scroll-skin.css (91%) rename lib/yuilib/{3.9.0/build => 3.9.1/build/datatable-scroll}/assets/skins/sam/datatable-scroll.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-scroll/datatable-scroll-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-scroll/datatable-scroll-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-scroll/datatable-scroll-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-scroll/datatable-scroll.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort-deprecated/datatable-sort-deprecated-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort-deprecated/datatable-sort-deprecated-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort-deprecated/datatable-sort-deprecated-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort-deprecated/datatable-sort-deprecated.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort-deprecated/lang/datatable-sort-deprecated.js (72%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort-deprecated/lang/datatable-sort-deprecated_en.js (71%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort/assets/datatable-sort-core.css (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort/assets/skins/night/datatable-sort-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort/assets/skins/night/datatable-sort.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort/assets/skins/night/sort-arrow-sprite-ie.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort/assets/skins/night/sort-arrow-sprite.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort/assets/skins/sam/datatable-sort-skin.css (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort/assets/skins/sam/datatable-sort.css (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort/assets/skins/sam/sort-arrow-sprite-ie.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort/assets/skins/sam/sort-arrow-sprite.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort/datatable-sort-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort/datatable-sort-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort/datatable-sort-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort/datatable-sort.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort/lang/datatable-sort.js (54%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort/lang/datatable-sort_en.js (54%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort/lang/datatable-sort_es.js (73%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-sort/lang/datatable-sort_fr.js (68%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-table/datatable-table-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-table/datatable-table-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-table/datatable-table-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatable-table/datatable-table.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/datatype-date-format-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/datatype-date-format-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/datatype-date-format-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/datatype-date-format.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format.js (81%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_ar-JO.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_ar.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_ca-ES.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_ca.js (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_da-DK.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_da.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_de-AT.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_de-DE.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_de.js (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_el-GR.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_el.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_en-AU.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_en-CA.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_en-GB.js (79%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_en-IE.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_en-IN.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_en-JO.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_en-MY.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_en-NZ.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_en-PH.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_en-SG.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_en-US.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_en.js (79%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_es-AR.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_es-BO.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_es-CL.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_es-CO.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_es-EC.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_es-ES.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_es-MX.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_es-PE.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_es-PY.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_es-US.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_es-UY.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_es-VE.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_es.js (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_fi-FI.js (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_fi.js (88%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_fr-BE.js (82%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_fr-CA.js (82%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_fr-FR.js (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_fr.js (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_hi-IN.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_hi.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_id-ID.js (81%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_id.js (82%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_it-IT.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_it.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_ja-JP.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_ja.js (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_ko-KR.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_ko.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_ms-MY.js (82%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_ms.js (82%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_nb-NO.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_nb.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_nl-BE.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_nl-NL.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_nl.js (79%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_pl-PL.js (82%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_pl.js (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_pt-BR.js (82%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_pt.js (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_ro-RO.js (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_ro.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_ru-RU.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_ru.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_sv-SE.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_sv.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_th-TH.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_th.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_tr-TR.js (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_tr.js (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_vi-VN.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_vi.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_zh-Hans-CN.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_zh-Hans.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_zh-Hant-HK.js (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_zh-Hant-TW.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-format/lang/datatype-date-format_zh-Hant.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-math/datatype-date-math-coverage.js (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-math/datatype-date-math-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-math/datatype-date-math-min.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-math/datatype-date-math.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-parse/datatype-date-parse-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-parse/datatype-date-parse-debug.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-parse/datatype-date-parse-min.js (64%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-date-parse/datatype-date-parse.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-number-format/datatype-number-format-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-number-format/datatype-number-format-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-number-format/datatype-number-format-min.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-number-format/datatype-number-format.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-number-parse/datatype-number-parse-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-number-parse/datatype-number-parse-debug.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-number-parse/datatype-number-parse-min.js (77%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-number-parse/datatype-number-parse.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-xml-format/datatype-xml-format-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-xml-format/datatype-xml-format-debug.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-xml-format/datatype-xml-format-min.js (76%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-xml-format/datatype-xml-format.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-xml-parse/datatype-xml-parse-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-xml-parse/datatype-xml-parse-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-xml-parse/datatype-xml-parse-min.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/datatype-xml-parse/datatype-xml-parse.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-constrain/dd-constrain-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-constrain/dd-constrain-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-constrain/dd-constrain-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-constrain/dd-constrain.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-ddm-base/dd-ddm-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-ddm-base/dd-ddm-base-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-ddm-base/dd-ddm-base-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-ddm-base/dd-ddm-base.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-ddm-drop/dd-ddm-drop-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-ddm-drop/dd-ddm-drop-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-ddm-drop/dd-ddm-drop-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-ddm-drop/dd-ddm-drop.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-ddm/dd-ddm-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-ddm/dd-ddm-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-ddm/dd-ddm-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-ddm/dd-ddm.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-delegate/dd-delegate-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-delegate/dd-delegate-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-delegate/dd-delegate-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-delegate/dd-delegate.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-drag/dd-drag-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-drag/dd-drag-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-drag/dd-drag-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-drag/dd-drag.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-drop-plugin/dd-drop-plugin-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-drop-plugin/dd-drop-plugin-debug.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-drop-plugin/dd-drop-plugin-min.js (63%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-drop-plugin/dd-drop-plugin.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-drop/dd-drop-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-drop/dd-drop-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-drop/dd-drop-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-drop/dd-drop.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-gestures/dd-gestures-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-gestures/dd-gestures-debug.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-gestures/dd-gestures-min.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-gestures/dd-gestures.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-plugin/dd-plugin-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-plugin/dd-plugin-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-plugin/dd-plugin-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-plugin/dd-plugin.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-proxy/dd-proxy-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-proxy/dd-proxy-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-proxy/dd-proxy-min.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-proxy/dd-proxy.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-scroll/dd-scroll-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-scroll/dd-scroll-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-scroll/dd-scroll-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dd-scroll/dd-scroll.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dial/assets/dial-core.css (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dial/assets/skins/night/dial-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dial/assets/skins/night/dial.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dial/assets/skins/sam/dial-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dial/assets/skins/sam/dial.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dial/dial-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dial/dial-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dial/dial-min.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dial/dial.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dial/lang/dial.js (68%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dial/lang/dial_en.js (66%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dial/lang/dial_es.js (61%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-attrs/dom-attrs-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-attrs/dom-attrs-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-attrs/dom-attrs.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-base/dom-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-base/dom-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-base/dom-base-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-base/dom-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-class/dom-class-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-class/dom-class-min.js (82%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-class/dom-class.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-core/dom-core-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-core/dom-core-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-core/dom-core-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-core/dom-core.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-create/dom-create-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-create/dom-create-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-create/dom-create.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-deprecated/dom-deprecated-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-deprecated/dom-deprecated-debug.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-deprecated/dom-deprecated-min.js (76%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-deprecated/dom-deprecated.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-screen/dom-screen-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-screen/dom-screen-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-screen/dom-screen-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-screen/dom-screen.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-size/dom-size-debug.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-size/dom-size-min.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-size/dom-size.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-style-ie/dom-style-ie-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-style-ie/dom-style-ie-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-style-ie/dom-style-ie-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-style-ie/dom-style-ie.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-style/dom-style-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-style/dom-style-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-style/dom-style-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dom-style/dom-style.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dump/dump-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dump/dump-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dump/dump-min.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/dump/dump.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-base/editor-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-base/editor-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-base/editor-base-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-base/editor-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-bidi/editor-bidi-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-bidi/editor-bidi-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-bidi/editor-bidi-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-bidi/editor-bidi.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-br/editor-br-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-br/editor-br-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-br/editor-br-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-br/editor-br.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-lists/editor-lists-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-lists/editor-lists-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-lists/editor-lists-min.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-lists/editor-lists.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-para-base/editor-para-base-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-para-base/editor-para-base-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-para-base/editor-para-base-min.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-para-base/editor-para-base.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-para-ie/editor-para-ie-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-para-ie/editor-para-ie-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-para-ie/editor-para-ie-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-para-ie/editor-para-ie.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-para/editor-para-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-para/editor-para-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-para/editor-para-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-para/editor-para.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-selection/editor-selection-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-selection/editor-selection-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-selection/editor-selection-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-selection/editor-selection.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-tab/editor-tab-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-tab/editor-tab-debug.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-tab/editor-tab-min.js (82%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/editor-tab/editor-tab.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/escape/escape-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/escape/escape-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/escape/escape-min.js (73%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/escape/escape.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-base-ie/event-base-ie-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-base-ie/event-base-ie-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-base-ie/event-base-ie-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-base-ie/event-base-ie.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-base/event-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-base/event-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-base/event-base-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-base/event-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-contextmenu/event-contextmenu-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-contextmenu/event-contextmenu-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-contextmenu/event-contextmenu-min.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-contextmenu/event-contextmenu.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-custom-base/event-custom-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-custom-base/event-custom-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-custom-base/event-custom-base-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-custom-base/event-custom-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-custom-complex/event-custom-complex-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-custom-complex/event-custom-complex-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-custom-complex/event-custom-complex-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-custom-complex/event-custom-complex.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-delegate/event-delegate-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-delegate/event-delegate-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-delegate/event-delegate-min.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-delegate/event-delegate.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-flick/event-flick-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-flick/event-flick-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-flick/event-flick-min.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-flick/event-flick.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-focus/event-focus-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-focus/event-focus-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-focus/event-focus-min.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-focus/event-focus.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-hover/event-hover-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-hover/event-hover-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-hover/event-hover-min.js (81%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-hover/event-hover.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-key/event-key-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-key/event-key-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-key/event-key-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-key/event-key.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-mouseenter/event-mouseenter-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-mouseenter/event-mouseenter-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-mouseenter/event-mouseenter-min.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-mouseenter/event-mouseenter.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-mousewheel/event-mousewheel-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-mousewheel/event-mousewheel-debug.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-mousewheel/event-mousewheel-min.js (72%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-mousewheel/event-mousewheel.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-move/event-move-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-move/event-move-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-move/event-move-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-move/event-move.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-outside/event-outside-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-outside/event-outside-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-outside/event-outside-min.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-outside/event-outside.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-resize/event-resize-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-resize/event-resize-debug.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-resize/event-resize-min.js (77%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-resize/event-resize.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-simulate/event-simulate-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-simulate/event-simulate-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-simulate/event-simulate-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-simulate/event-simulate.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-synthetic/event-synthetic-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-synthetic/event-synthetic-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-synthetic/event-synthetic-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-synthetic/event-synthetic.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-tap/event-tap-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-tap/event-tap-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-tap/event-tap-min.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-tap/event-tap.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-touch/event-touch-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-touch/event-touch-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-touch/event-touch-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-touch/event-touch.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-valuechange/event-valuechange-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-valuechange/event-valuechange-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-valuechange/event-valuechange-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/event-valuechange/event-valuechange.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/exec-command/exec-command-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/exec-command/exec-command-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/exec-command/exec-command-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/exec-command/exec-command.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/features/features-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/features/features-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/features/features-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/features/features.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/file-flash/file-flash-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/file-flash/file-flash-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/file-flash/file-flash-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/file-flash/file-flash.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/file-html5/file-html5-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/file-html5/file-html5-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/file-html5/file-html5-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/file-html5/file-html5.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/file/file-coverage.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/file/file-debug.js (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/file/file-min.js (57%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/file/file.js (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/frame/frame-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/frame/frame-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/frame/frame-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/frame/frame.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/gesture-simulate/gesture-simulate-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/gesture-simulate/gesture-simulate-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/gesture-simulate/gesture-simulate-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/gesture-simulate/gesture-simulate.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/get-nodejs/get-nodejs-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/get-nodejs/get-nodejs-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/get-nodejs/get-nodejs-min.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/get-nodejs/get-nodejs.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/get/get-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/get/get-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/get/get-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/get/get.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-canvas-default/graphics-canvas-default-coverage.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-canvas-default/graphics-canvas-default-debug.js (77%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-canvas-default/graphics-canvas-default-min.js (69%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-canvas-default/graphics-canvas-default.js (77%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-canvas/graphics-canvas-coverage.js (56%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-canvas/graphics-canvas-debug.js (97%) create mode 100644 lib/yuilib/3.9.1/build/graphics-canvas/graphics-canvas-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-canvas/graphics-canvas.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-group/graphics-group-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-group/graphics-group-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-group/graphics-group-min.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-group/graphics-group.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-svg-default/graphics-svg-default-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-svg-default/graphics-svg-default-debug.js (75%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-svg-default/graphics-svg-default-min.js (75%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-svg-default/graphics-svg-default.js (75%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-svg/graphics-svg-coverage.js (52%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-svg/graphics-svg-debug.js (98%) create mode 100644 lib/yuilib/3.9.1/build/graphics-svg/graphics-svg-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-svg/graphics-svg.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-vml-default/graphics-vml-default-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-vml-default/graphics-vml-default-debug.js (75%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-vml-default/graphics-vml-default-min.js (75%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-vml-default/graphics-vml-default.js (75%) create mode 100644 lib/yuilib/3.9.1/build/graphics-vml/graphics-vml-coverage.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-vml/graphics-vml-debug.js (93%) create mode 100644 lib/yuilib/3.9.1/build/graphics-vml/graphics-vml-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics-vml/graphics-vml.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics/graphics-coverage.js (56%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics/graphics-debug.js (99%) create mode 100644 lib/yuilib/3.9.1/build/graphics/graphics-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/graphics/graphics.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/handlebars-base/handlebars-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/handlebars-base/handlebars-base-debug.js (89%) create mode 100644 lib/yuilib/3.9.1/build/handlebars-base/handlebars-base-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/handlebars-base/handlebars-base.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/handlebars-compiler/handlebars-compiler-coverage.js (99%) create mode 100644 lib/yuilib/3.9.1/build/handlebars-compiler/handlebars-compiler-debug.js create mode 100644 lib/yuilib/3.9.1/build/handlebars-compiler/handlebars-compiler-min.js create mode 100644 lib/yuilib/3.9.1/build/handlebars-compiler/handlebars-compiler.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/highlight-accentfold/highlight-accentfold-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/highlight-accentfold/highlight-accentfold-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/highlight-accentfold/highlight-accentfold-min.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/highlight-accentfold/highlight-accentfold.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/highlight-base/highlight-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/highlight-base/highlight-base-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/highlight-base/highlight-base-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/highlight-base/highlight-base.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/history-base/history-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/history-base/history-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/history-base/history-base-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/history-base/history-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/history-hash-ie/history-hash-ie-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/history-hash-ie/history-hash-ie-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/history-hash-ie/history-hash-ie-min.js (88%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/history-hash-ie/history-hash-ie.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/history-hash/history-hash-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/history-hash/history-hash-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/history-hash/history-hash-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/history-hash/history-hash.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/history-html5/history-html5-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/history-html5/history-html5-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/history-html5/history-html5-min.js (88%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/history-html5/history-html5.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/imageloader/imageloader-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/imageloader/imageloader-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/imageloader/imageloader-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/imageloader/imageloader.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/intl-base/intl-base-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/intl-base/intl-base-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/intl-base/intl-base-min.js (80%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/intl-base/intl-base.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/intl/intl-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/intl/intl-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/intl/intl-min.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/intl/intl.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-base/io-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-base/io-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-base/io-base-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-base/io-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-form/io-form-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-form/io-form-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-form/io-form-min.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-form/io-form.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-nodejs/io-nodejs-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-nodejs/io-nodejs-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-nodejs/io-nodejs-min.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-nodejs/io-nodejs.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-queue/io-queue-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-queue/io-queue-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-queue/io-queue-min.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-queue/io-queue.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-upload-iframe/io-upload-iframe-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-upload-iframe/io-upload-iframe-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-upload-iframe/io-upload-iframe-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-upload-iframe/io-upload-iframe.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-xdr/io-xdr-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-xdr/io-xdr-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-xdr/io-xdr-min.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-xdr/io-xdr.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/io-xdr/io.swf (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/json-parse-shim/json-parse-shim-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/json-parse-shim/json-parse-shim-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/json-parse-shim/json-parse-shim-min.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/json-parse-shim/json-parse-shim.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/json-parse/json-parse-coverage.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/json-parse/json-parse-debug.js (70%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/json-parse/json-parse-min.js (55%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/json-parse/json-parse.js (70%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/json-stringify-shim/json-stringify-shim-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/json-stringify-shim/json-stringify-shim-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/json-stringify-shim/json-stringify-shim-min.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/json-stringify-shim/json-stringify-shim.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/json-stringify/json-stringify-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/json-stringify/json-stringify-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/json-stringify/json-stringify-min.js (79%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/json-stringify/json-stringify.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/jsonp-url/jsonp-url-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/jsonp-url/jsonp-url-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/jsonp-url/jsonp-url-min.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/jsonp-url/jsonp-url.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/jsonp/jsonp-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/jsonp/jsonp-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/jsonp/jsonp-min.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/jsonp/jsonp.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/lazy-model-list/lazy-model-list-coverage.js (57%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/lazy-model-list/lazy-model-list-debug.js (92%) create mode 100644 lib/yuilib/3.9.1/build/lazy-model-list/lazy-model-list-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/lazy-model-list/lazy-model-list.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/loader-base/loader-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/loader-base/loader-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/loader-base/loader-base-min.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/loader-base/loader-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/loader-rollup/loader-rollup-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/loader-rollup/loader-rollup-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/loader-rollup/loader-rollup-min.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/loader-rollup/loader-rollup.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/loader-yui3/loader-yui3-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/loader-yui3/loader-yui3-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/loader-yui3/loader-yui3-min.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/loader-yui3/loader-yui3.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/loader/loader-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/loader/loader-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/loader/loader-min.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/loader/loader.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/matrix/matrix-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/matrix/matrix-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/matrix/matrix-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/matrix/matrix.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/model-list/model-list-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/model-list/model-list-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/model-list/model-list-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/model-list/model-list.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/model-sync-rest/model-sync-rest-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/model-sync-rest/model-sync-rest-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/model-sync-rest/model-sync-rest-min.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/model-sync-rest/model-sync-rest.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/model/model-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/model/model-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/model/model-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/model/model.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-base/node-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-base/node-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-base/node-base-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-base/node-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-core/node-core-coverage.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-core/node-core-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-core/node-core-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-core/node-core.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-deprecated/node-deprecated-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-deprecated/node-deprecated-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-deprecated/node-deprecated-min.js (77%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-deprecated/node-deprecated.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-event-delegate/node-event-delegate-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-event-delegate/node-event-delegate-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-event-delegate/node-event-delegate-min.js (63%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-event-delegate/node-event-delegate.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-event-html5/node-event-html5-coverage.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-event-html5/node-event-html5-debug.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-event-html5/node-event-html5-min.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-event-html5/node-event-html5.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-event-simulate/node-event-simulate-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-event-simulate/node-event-simulate-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-event-simulate/node-event-simulate-min.js (65%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-event-simulate/node-event-simulate.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-flick/assets/node-flick-core.css (67%) create mode 100644 lib/yuilib/3.9.1/build/node-flick/assets/skins/sam/node-flick-skin.css rename lib/yuilib/{3.9.0/build => 3.9.1/build/node-flick}/assets/skins/sam/node-flick.css (71%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-flick/node-flick-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-flick/node-flick-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-flick/node-flick-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-flick/node-flick.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-focusmanager/node-focusmanager-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-focusmanager/node-focusmanager-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-focusmanager/node-focusmanager-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-focusmanager/node-focusmanager.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-load/node-load-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-load/node-load-debug.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-load/node-load-min.js (77%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-load/node-load.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-menunav/assets/node-menunav-core.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-menunav/assets/skins/night/horizontal-menu-submenu-indicator.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-menunav/assets/skins/night/node-menunav-skin.css (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-menunav/assets/skins/night/node-menunav.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-menunav/assets/skins/night/vertical-menu-submenu-indicator.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-menunav/assets/skins/sam/horizontal-menu-submenu-indicator.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-menunav/assets/skins/sam/horizontal-menu-submenu-toggle.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-menunav/assets/skins/sam/node-menunav-skin.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-menunav/assets/skins/sam/node-menunav.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-menunav/assets/skins/sam/vertical-menu-submenu-indicator.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-menunav/node-menunav-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-menunav/node-menunav-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-menunav/node-menunav-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-menunav/node-menunav.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-pluginhost/node-pluginhost-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-pluginhost/node-pluginhost-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-pluginhost/node-pluginhost-min.js (82%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-pluginhost/node-pluginhost.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-screen/node-screen-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-screen/node-screen-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-screen/node-screen-min.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-screen/node-screen.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-scroll-info/node-scroll-info-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-scroll-info/node-scroll-info-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-scroll-info/node-scroll-info-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-scroll-info/node-scroll-info.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-style/node-style-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-style/node-style-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-style/node-style-min.js (77%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/node-style/node-style.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/oop/oop-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/oop/oop-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/oop/oop-min.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/oop/oop.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/overlay/assets/overlay-core.css (75%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/overlay/assets/skins/night/overlay-skin.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/overlay/assets/skins/night/overlay.css (97%) create mode 100644 lib/yuilib/3.9.1/build/overlay/assets/skins/sam/overlay-skin.css rename lib/yuilib/{3.9.0 => 3.9.1}/build/overlay/assets/skins/sam/overlay.css (77%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/overlay/overlay-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/overlay/overlay-debug.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/overlay/overlay-min.js (68%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/overlay/overlay.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/panel/assets/panel-core.css (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/panel/assets/skins/night/panel-skin.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/panel/assets/skins/night/panel.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/panel/assets/skins/night/sprite_icons.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/panel/assets/skins/sam/panel-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/panel/assets/skins/sam/panel.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/panel/assets/skins/sam/sprite_icons.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/panel/panel-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/panel/panel-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/panel/panel-min.js (81%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/panel/panel.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/parallel/parallel-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/parallel/parallel-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/parallel/parallel-min.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/parallel/parallel.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pjax-base/pjax-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pjax-base/pjax-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pjax-base/pjax-base-min.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pjax-base/pjax-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pjax-content/pjax-content-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pjax-content/pjax-content-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pjax-content/pjax-content-min.js (88%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pjax-content/pjax-content.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pjax-plugin/pjax-plugin-coverage.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pjax-plugin/pjax-plugin-debug.js (82%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pjax-plugin/pjax-plugin-min.js (59%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pjax-plugin/pjax-plugin.js (82%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pjax/pjax-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pjax/pjax-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pjax/pjax-min.js (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pjax/pjax.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/plugin/plugin-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/plugin/plugin-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/plugin/plugin-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/plugin/plugin.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pluginhost-base/pluginhost-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pluginhost-base/pluginhost-base-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pluginhost-base/pluginhost-base-min.js (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pluginhost-base/pluginhost-base.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pluginhost-config/pluginhost-config-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pluginhost-config/pluginhost-config-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pluginhost-config/pluginhost-config-min.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/pluginhost-config/pluginhost-config.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/profiler/profiler-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/profiler/profiler-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/profiler/profiler-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/profiler/profiler.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/promise/promise-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/promise/promise-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/promise/promise-min.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/promise/promise.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/querystring-parse-simple/querystring-parse-simple-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/querystring-parse-simple/querystring-parse-simple-debug.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/querystring-parse-simple/querystring-parse-simple-min.js (75%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/querystring-parse-simple/querystring-parse-simple.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/querystring-parse/querystring-parse-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/querystring-parse/querystring-parse-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/querystring-parse/querystring-parse-min.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/querystring-parse/querystring-parse.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/querystring-stringify-simple/querystring-stringify-simple-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/querystring-stringify-simple/querystring-stringify-simple-debug.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/querystring-stringify-simple/querystring-stringify-simple-min.js (73%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/querystring-stringify-simple/querystring-stringify-simple.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/querystring-stringify/querystring-stringify-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/querystring-stringify/querystring-stringify-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/querystring-stringify/querystring-stringify-min.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/querystring-stringify/querystring-stringify.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/queue-promote/queue-promote-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/queue-promote/queue-promote-debug.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/queue-promote/queue-promote-min.js (69%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/queue-promote/queue-promote.js (91%) rename lib/yuilib/{3.9.0/build/slider-base => 3.9.1/build/range-slider}/assets/slider-base-core.css (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/range-slider/assets/slider-core.css (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/range-slider/assets/thumb-x-oblong-dark.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/range-slider/assets/thumb-x-oblong.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/range-slider/assets/thumb-x-oblong2-dark.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/range-slider/assets/thumb-x-oblong2.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/range-slider/assets/thumb-y-oblong-dark.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/range-slider/assets/thumb-y-oblong.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/range-slider/assets/thumb-y-oblong2-dark.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/range-slider/assets/thumb-y-oblong2.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/range-slider/range-slider-coverage.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/range-slider/range-slider-debug.js (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/range-slider/range-slider-min.js (54%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/range-slider/range-slider.js (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/recordset-base/recordset-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/recordset-base/recordset-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/recordset-base/recordset-base-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/recordset-base/recordset-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/recordset-filter/recordset-filter-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/recordset-filter/recordset-filter-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/recordset-filter/recordset-filter-min.js (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/recordset-filter/recordset-filter.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/recordset-indexer/recordset-indexer-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/recordset-indexer/recordset-indexer-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/recordset-indexer/recordset-indexer-min.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/recordset-indexer/recordset-indexer.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/recordset-sort/recordset-sort-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/recordset-sort/recordset-sort-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/recordset-sort/recordset-sort-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/recordset-sort/recordset-sort.js (97%) rename lib/yuilib/{3.9.0/build/resize-plugin => 3.9.1/build/resize-base}/assets/resize-base-core.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-base/assets/skins/night/arrows.png (100%) rename lib/yuilib/{3.9.0/build/resize-constrain/assets/skins/sam => 3.9.1/build/resize-base/assets/skins/night}/resize-base-skin.css (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-base/assets/skins/night/resize-base.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-base/assets/skins/sam/arrows.png (100%) rename lib/yuilib/{3.9.0/build/resize-base/assets/skins/night => 3.9.1/build/resize-base/assets/skins/sam}/resize-base-skin.css (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-base/assets/skins/sam/resize-base.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-base/resize-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-base/resize-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-base/resize-base-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-base/resize-base.js (99%) rename lib/yuilib/{3.9.0/build/resize-base => 3.9.1/build/resize-constrain}/assets/resize-base-core.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-constrain/assets/skins/night/arrows.png (100%) rename lib/yuilib/{3.9.0/build/resize-base/assets/skins/sam => 3.9.1/build/resize-constrain/assets/skins/night}/resize-base-skin.css (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-constrain/assets/skins/sam/arrows.png (100%) rename lib/yuilib/{3.9.0/build/resize-constrain/assets/skins/night => 3.9.1/build/resize-constrain/assets/skins/sam}/resize-base-skin.css (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-constrain/resize-constrain-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-constrain/resize-constrain-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-constrain/resize-constrain-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-constrain/resize-constrain.js (99%) rename lib/yuilib/{3.9.0/build/resize-constrain => 3.9.1/build/resize-plugin}/assets/resize-base-core.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-plugin/assets/skins/night/arrows.png (100%) create mode 100644 lib/yuilib/3.9.1/build/resize-plugin/assets/skins/night/resize-base-skin.css rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-plugin/assets/skins/sam/arrows.png (100%) create mode 100644 lib/yuilib/3.9.1/build/resize-plugin/assets/skins/sam/resize-base-skin.css rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-plugin/resize-plugin-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-plugin/resize-plugin-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-plugin/resize-plugin-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-plugin/resize-plugin.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-proxy/assets/resize-base-core.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-proxy/assets/skins/night/arrows.png (100%) create mode 100644 lib/yuilib/3.9.1/build/resize-proxy/assets/skins/night/resize-base-skin.css rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-proxy/assets/skins/sam/arrows.png (100%) create mode 100644 lib/yuilib/3.9.1/build/resize-proxy/assets/skins/sam/resize-base-skin.css rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-proxy/resize-proxy-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-proxy/resize-proxy-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-proxy/resize-proxy-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/resize-proxy/resize-proxy.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/router/router-coverage.js (67%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/router/router-debug.js (98%) create mode 100644 lib/yuilib/3.9.1/build/router/router-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/router/router.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-base-ie/scrollview-base-ie-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-base-ie/scrollview-base-ie-debug.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-base-ie/scrollview-base-ie-min.js (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-base-ie/scrollview-base-ie.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-base/assets/scrollview-base-core.css (79%) create mode 100644 lib/yuilib/3.9.1/build/scrollview-base/assets/skins/night/scrollview-base-skin.css rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-base/assets/skins/night/scrollview-base.css (80%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-base/assets/skins/sam/scrollview-base-skin.css (63%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-base/assets/skins/sam/scrollview-base.css (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-base/scrollview-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-base/scrollview-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-base/scrollview-base-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-base/scrollview-base.js (99%) create mode 100644 lib/yuilib/3.9.1/build/scrollview-list/assets/scrollview-list-core.css rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-list/assets/skins/night/scrollview-list-skin.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-list/assets/skins/night/scrollview-list.css (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-list/assets/skins/sam/scrollview-list-skin.css (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-list/assets/skins/sam/scrollview-list.css (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-list/scrollview-list-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-list/scrollview-list-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-list/scrollview-list-min.js (85%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-list/scrollview-list.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-paginator/scrollview-paginator-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-paginator/scrollview-paginator-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-paginator/scrollview-paginator-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-paginator/scrollview-paginator.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-scrollbars/assets/scrollview-scrollbars-core.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-scrollbars/assets/skins/night/scrollview-scrollbars-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-scrollbars/assets/skins/night/scrollview-scrollbars.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-scrollbars/assets/skins/sam/scrollview-scrollbars-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-scrollbars/assets/skins/sam/scrollview-scrollbars.css (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-scrollbars/scrollview-scrollbars-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-scrollbars/scrollview-scrollbars-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-scrollbars/scrollview-scrollbars-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview-scrollbars/scrollview-scrollbars.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview/scrollview-coverage.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview/scrollview-debug.js (83%) create mode 100644 lib/yuilib/3.9.1/build/scrollview/scrollview-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/scrollview/scrollview.js (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/selector-css2/selector-css2-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/selector-css2/selector-css2-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/selector-css2/selector-css2-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/selector-css2/selector-css2.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/selector-css3/selector-css3-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/selector-css3/selector-css3-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/selector-css3/selector-css3-min.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/selector-css3/selector-css3.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/selector-native/selector-native-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/selector-native/selector-native-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/selector-native/selector-native-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/selector-native/selector-native.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/selector/selector-coverage.js (87%) create mode 100644 lib/yuilib/3.9.1/build/selector/selector-debug.js create mode 100644 lib/yuilib/3.9.1/build/selector/selector-min.js create mode 100644 lib/yuilib/3.9.1/build/selector/selector.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-area-stacked/series-area-stacked-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-area-stacked/series-area-stacked-debug.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-area-stacked/series-area-stacked-min.js (74%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-area-stacked/series-area-stacked.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-area/series-area-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-area/series-area-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-area/series-area-min.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-area/series-area.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-areaspline-stacked/series-areaspline-stacked-coverage.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-areaspline-stacked/series-areaspline-stacked-debug.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-areaspline-stacked/series-areaspline-stacked-min.js (70%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-areaspline-stacked/series-areaspline-stacked.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-areaspline/series-areaspline-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-areaspline/series-areaspline-debug.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-areaspline/series-areaspline-min.js (63%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-areaspline/series-areaspline.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-bar-stacked/series-bar-stacked-coverage.js (59%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-bar-stacked/series-bar-stacked-debug.js (97%) create mode 100644 lib/yuilib/3.9.1/build/series-bar-stacked/series-bar-stacked-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-bar-stacked/series-bar-stacked.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-bar/series-bar-coverage.js (74%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-bar/series-bar-debug.js (96%) create mode 100644 lib/yuilib/3.9.1/build/series-bar/series-bar-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-bar/series-bar.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-base/series-base-coverage.js (53%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-base/series-base-debug.js (84%) create mode 100644 lib/yuilib/3.9.1/build/series-base/series-base-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-base/series-base.js (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-candlestick/series-candlestick-coverage.js (60%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-candlestick/series-candlestick-debug.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-candlestick/series-candlestick-min.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-candlestick/series-candlestick.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-cartesian/series-cartesian-coverage.js (57%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-cartesian/series-cartesian-debug.js (91%) create mode 100644 lib/yuilib/3.9.1/build/series-cartesian/series-cartesian-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-cartesian/series-cartesian.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-column-stacked/series-column-stacked-coverage.js (59%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-column-stacked/series-column-stacked-debug.js (97%) create mode 100644 lib/yuilib/3.9.1/build/series-column-stacked/series-column-stacked-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-column-stacked/series-column-stacked.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-column/series-column-coverage.js (75%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-column/series-column-debug.js (96%) create mode 100644 lib/yuilib/3.9.1/build/series-column/series-column-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-column/series-column.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-combo-stacked/series-combo-stacked-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-combo-stacked/series-combo-stacked-debug.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-combo-stacked/series-combo-stacked-min.js (80%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-combo-stacked/series-combo-stacked.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-combo/series-combo-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-combo/series-combo-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-combo/series-combo-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-combo/series-combo.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-combospline-stacked/series-combospline-stacked-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-combospline-stacked/series-combospline-stacked-debug.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-combospline-stacked/series-combospline-stacked-min.js (76%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-combospline-stacked/series-combospline-stacked.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-combospline/series-combospline-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-combospline/series-combospline-debug.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-combospline/series-combospline-min.js (73%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-combospline/series-combospline.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-curve-util/series-curve-util-coverage.js (69%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-curve-util/series-curve-util-debug.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-curve-util/series-curve-util-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-curve-util/series-curve-util.js (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-fill-util/series-fill-util-coverage.js (61%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-fill-util/series-fill-util-debug.js (97%) create mode 100644 lib/yuilib/3.9.1/build/series-fill-util/series-fill-util-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-fill-util/series-fill-util.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-histogram-base/series-histogram-base-coverage.js (64%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-histogram-base/series-histogram-base-debug.js (96%) create mode 100644 lib/yuilib/3.9.1/build/series-histogram-base/series-histogram-base-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-histogram-base/series-histogram-base.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-line-stacked/series-line-stacked-coverage.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-line-stacked/series-line-stacked-debug.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-line-stacked/series-line-stacked-min.js (69%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-line-stacked/series-line-stacked.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-line-util/series-line-util-coverage.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-line-util/series-line-util-debug.js (97%) create mode 100644 lib/yuilib/3.9.1/build/series-line-util/series-line-util-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-line-util/series-line-util.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-line/series-line-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-line/series-line-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-line/series-line-min.js (77%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-line/series-line.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-marker-stacked/series-marker-stacked-coverage.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-marker-stacked/series-marker-stacked-debug.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-marker-stacked/series-marker-stacked-min.js (70%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-marker-stacked/series-marker-stacked.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-marker/series-marker-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-marker/series-marker-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-marker/series-marker-min.js (72%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-marker/series-marker.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-ohlc/series-ohlc-coverage.js (60%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-ohlc/series-ohlc-debug.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-ohlc/series-ohlc-min.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-ohlc/series-ohlc.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-pie/series-pie-coverage.js (55%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-pie/series-pie-debug.js (95%) create mode 100644 lib/yuilib/3.9.1/build/series-pie/series-pie-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-pie/series-pie.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-plot-util/series-plot-util-coverage.js (73%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-plot-util/series-plot-util-debug.js (96%) create mode 100644 lib/yuilib/3.9.1/build/series-plot-util/series-plot-util-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-plot-util/series-plot-util.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-range/series-range-coverage.js (64%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-range/series-range-debug.js (84%) create mode 100644 lib/yuilib/3.9.1/build/series-range/series-range-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-range/series-range.js (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-spline-stacked/series-spline-stacked-coverage.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-spline-stacked/series-spline-stacked-debug.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-spline-stacked/series-spline-stacked-min.js (70%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-spline-stacked/series-spline-stacked.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-spline/series-spline-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-spline/series-spline-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-spline/series-spline-min.js (63%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-spline/series-spline.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-stacked/series-stacked-coverage.js (57%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-stacked/series-stacked-debug.js (97%) create mode 100644 lib/yuilib/3.9.1/build/series-stacked/series-stacked-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/series-stacked/series-stacked.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/shim-plugin/shim-plugin-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/shim-plugin/shim-plugin-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/shim-plugin/shim-plugin-min.js (88%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/shim-plugin/shim-plugin.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/simpleyui/simpleyui-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/simpleyui/simpleyui-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/simpleyui/simpleyui.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/audio-light/rail-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/audio-light/rail-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/audio-light/slider-base-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/audio-light/slider-base.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/audio-light/slider-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/audio-light/thumb-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/audio-light/thumb-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/audio/rail-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/audio/rail-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/audio/slider-base-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/audio/slider-base.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/audio/slider-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/audio/thumb-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/audio/thumb-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule-dark/rail-x-dots.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule-dark/rail-x-lines.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule-dark/rail-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule-dark/rail-y-dots.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule-dark/rail-y-lines.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule-dark/rail-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule-dark/slider-base-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule-dark/slider-base.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule-dark/slider-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule-dark/thumb-x-line.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule-dark/thumb-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule-dark/thumb-y-line.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule-dark/thumb-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule/rail-x-dots.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule/rail-x-lines.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule/rail-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule/rail-y-dots.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule/rail-y-lines.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule/rail-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule/slider-base-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule/slider-base.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule/slider-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule/thumb-x-line.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule/thumb-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule/thumb-y-line.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule/thumb-y-lines.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/capsule/thumb-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/night/rail-x-lines.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/night/rail-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/night/rail-y-lines.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/night/rail-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/night/slider-base-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/night/slider-base.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/night/slider-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/night/thumb-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/night/thumb-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round-dark/rail-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round-dark/rail-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round-dark/slider-base-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round-dark/slider-base.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round-dark/slider-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round-dark/thumb-x-grip.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round-dark/thumb-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round-dark/thumb-y-grip.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round-dark/thumb-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round/rail-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round/rail-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round/slider-base-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round/slider-base.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round/slider-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round/thumb-x-grip.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round/thumb-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round/thumb-y-grip.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/round/thumb-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam-dark/rail-x-lines.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam-dark/rail-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam-dark/rail-y-lines.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam-dark/rail-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam-dark/slider-base-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam-dark/slider-base.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam-dark/slider-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam-dark/thumb-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam-dark/thumb-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam/rail-x-lines.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam/rail-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam/rail-y-lines.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam/rail-y.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam/slider-base-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam/slider-base.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam/slider-skin.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam/thumb-x.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/skins/sam/thumb-y.png (100%) rename lib/yuilib/{3.9.0/build/clickable-rail => 3.9.1/build/slider-base}/assets/slider-base-core.css (90%) rename lib/yuilib/{3.9.0/build/slider-value-range => 3.9.1/build/slider-base}/assets/slider-core.css (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/thumb-x-oblong-dark.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/thumb-x-oblong.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/thumb-x-oblong2-dark.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/thumb-x-oblong2.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/thumb-y-oblong-dark.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/thumb-y-oblong.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/thumb-y-oblong2-dark.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/assets/thumb-y-oblong2.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/slider-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/slider-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/slider-base-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-base/slider-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-value-range/assets/slider-base-core.css (90%) rename lib/yuilib/{3.9.0/build/clickable-rail => 3.9.1/build/slider-value-range}/assets/slider-core.css (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-value-range/assets/thumb-x-oblong-dark.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-value-range/assets/thumb-x-oblong.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-value-range/assets/thumb-x-oblong2-dark.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-value-range/assets/thumb-x-oblong2.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-value-range/assets/thumb-y-oblong-dark.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-value-range/assets/thumb-y-oblong.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-value-range/assets/thumb-y-oblong2-dark.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-value-range/assets/thumb-y-oblong2.png (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-value-range/slider-value-range-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-value-range/slider-value-range-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-value-range/slider-value-range-min.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/slider-value-range/slider-value-range.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/sortable-scroll/sortable-scroll-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/sortable-scroll/sortable-scroll-debug.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/sortable-scroll/sortable-scroll-min.js (79%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/sortable-scroll/sortable-scroll.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/sortable/sortable-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/sortable/sortable-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/sortable/sortable-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/sortable/sortable.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/stylesheet/stylesheet-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/stylesheet/stylesheet-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/stylesheet/stylesheet-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/stylesheet/stylesheet.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/substitute/substitute-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/substitute/substitute-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/substitute/substitute-min.js (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/substitute/substitute.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/swf/swf-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/swf/swf-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/swf/swf-min.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/swf/swf.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/swfdetect/swfdetect-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/swfdetect/swfdetect-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/swfdetect/swfdetect-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/swfdetect/swfdetect.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview-base/assets/tabview-core.css (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview-base/assets/tabview.css (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview-base/tabview-base-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview-base/tabview-base-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview-base/tabview-base-min.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview-base/tabview-base.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview-plugin/assets/tabview-core.css (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview-plugin/assets/tabview.css (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview-plugin/tabview-plugin-coverage.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview-plugin/tabview-plugin-debug.js (75%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview-plugin/tabview-plugin-min.js (65%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview-plugin/tabview-plugin.js (75%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview/assets/skins/night/tabview-skin.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview/assets/skins/night/tabview.css (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview/assets/skins/sam/tabview-skin.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview/assets/skins/sam/tabview.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview/assets/tabview-core.css (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview/assets/tabview.css (82%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview/tabview-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview/tabview-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview/tabview-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tabview/tabview.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/template-base/template-base-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/template-base/template-base-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/template-base/template-base-min.js (84%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/template-base/template-base.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/template-micro/template-micro-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/template-micro/template-micro-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/template-micro/template-micro-min.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/template-micro/template-micro.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/test-console/assets/skins/sam/test-console-skin.css (96%) rename lib/yuilib/{3.9.0/build => 3.9.1/build/test-console}/assets/skins/sam/test-console.css (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/test-console/assets/test-console-core.css (72%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/test-console/test-console-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/test-console/test-console-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/test-console/test-console-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/test-console/test-console.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/test/test-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/test/test-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/test/test-min.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/test/test.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/text-accentfold/text-accentfold-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/text-accentfold/text-accentfold-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/text-accentfold/text-accentfold-min.js (79%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/text-accentfold/text-accentfold.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/text-data-accentfold/text-data-accentfold-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/text-data-accentfold/text-data-accentfold-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/text-data-accentfold/text-data-accentfold-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/text-data-accentfold/text-data-accentfold.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/text-data-wordbreak/text-data-wordbreak-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/text-data-wordbreak/text-data-wordbreak-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/text-data-wordbreak/text-data-wordbreak-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/text-data-wordbreak/text-data-wordbreak.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/text-wordbreak/text-wordbreak-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/text-wordbreak/text-wordbreak-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/text-wordbreak/text-wordbreak-min.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/text-wordbreak/text-wordbreak.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/timers/timers-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/timers/timers-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/timers/timers-min.js (77%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/timers/timers.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/transition-timer/transition-timer-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/transition-timer/transition-timer-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/transition-timer/transition-timer-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/transition-timer/transition-timer.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/transition/transition-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/transition/transition-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/transition/transition-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/transition/transition.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree-labelable/tree-labelable-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree-labelable/tree-labelable-debug.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree-labelable/tree-labelable-min.js (76%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree-labelable/tree-labelable.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree-lazy/tree-lazy-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree-lazy/tree-lazy-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree-lazy/tree-lazy-min.js (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree-lazy/tree-lazy.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree-node/tree-node-coverage.js (66%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree-node/tree-node-debug.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree-node/tree-node-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree-node/tree-node.js (93%) create mode 100644 lib/yuilib/3.9.1/build/tree-openable/tree-openable-coverage.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree-openable/tree-openable-debug.js (69%) create mode 100644 lib/yuilib/3.9.1/build/tree-openable/tree-openable-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree-openable/tree-openable.js (69%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree-selectable/tree-selectable-coverage.js (60%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree-selectable/tree-selectable-debug.js (78%) create mode 100644 lib/yuilib/3.9.1/build/tree-selectable/tree-selectable-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree-selectable/tree-selectable.js (78%) create mode 100644 lib/yuilib/3.9.1/build/tree/tree-coverage.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree/tree-debug.js (93%) create mode 100644 lib/yuilib/3.9.1/build/tree/tree-min.js rename lib/yuilib/{3.9.0 => 3.9.1}/build/tree/tree.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-deprecated/assets/uploader.swf (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-deprecated/uploader-deprecated-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-deprecated/uploader-deprecated-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-deprecated/uploader-deprecated-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-deprecated/uploader-deprecated.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-flash/assets/uploader-flash-core.css (58%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-flash/uploader-flash-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-flash/uploader-flash-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-flash/uploader-flash-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-flash/uploader-flash.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-html5/assets/uploader-flash-core.css (58%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-html5/uploader-html5-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-html5/uploader-html5-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-html5/uploader-html5-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-html5/uploader-html5.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-queue/assets/uploader-flash-core.css (58%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-queue/uploader-queue-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-queue/uploader-queue-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-queue/uploader-queue-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader-queue/uploader-queue.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader/assets/flashuploader.swf (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader/assets/uploader-flash-core.css (58%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader/uploader-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader/uploader-debug.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader/uploader-min.js (66%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/uploader/uploader.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/view-node-map/view-node-map-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/view-node-map/view-node-map-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/view-node-map/view-node-map-min.js (81%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/view-node-map/view-node-map.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/view/view-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/view/view-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/view/view-min.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/view/view.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-anim/widget-anim-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-anim/widget-anim-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-anim/widget-anim-min.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-anim/widget-anim.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-autohide/widget-autohide-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-autohide/widget-autohide-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-autohide/widget-autohide-min.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-autohide/widget-autohide.js (98%) rename lib/yuilib/{3.9.0/build/widget-base => 3.9.1/build/widget-base-ie}/assets/widget-base-core.css (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-base-ie/widget-base-ie-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-base-ie/widget-base-ie-debug.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-base-ie/widget-base-ie-min.js (79%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-base-ie/widget-base-ie.js (92%) create mode 100644 lib/yuilib/3.9.1/build/widget-base/assets/skins/night/widget-base-skin.css rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-base/assets/skins/night/widget-base.css (84%) create mode 100644 lib/yuilib/3.9.1/build/widget-base/assets/skins/sam/widget-base-skin.css rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-base/assets/skins/sam/widget-base.css (84%) rename lib/yuilib/{3.9.0/build/widget-htmlparser => 3.9.1/build/widget-base}/assets/widget-base-core.css (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-base/widget-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-base/widget-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-base/widget-base-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-base/widget-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-buttons/assets/skins/night/sprite_icons.gif (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-buttons/assets/skins/night/widget-buttons-skin.css (66%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-buttons/assets/skins/night/widget-buttons.css (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-buttons/assets/skins/sam/sprite_icons.gif (100%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-buttons/assets/skins/sam/widget-buttons-skin.css (66%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-buttons/assets/skins/sam/widget-buttons.css (89%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-buttons/assets/widget-buttons-core.css (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-buttons/widget-buttons-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-buttons/widget-buttons-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-buttons/widget-buttons-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-buttons/widget-buttons.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-child/widget-child-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-child/widget-child-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-child/widget-child-min.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-child/widget-child.js (98%) rename lib/yuilib/{3.9.0/build/widget-base-ie => 3.9.1/build/widget-htmlparser}/assets/widget-base-core.css (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-htmlparser/widget-htmlparser-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-htmlparser/widget-htmlparser-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-htmlparser/widget-htmlparser-min.js (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-htmlparser/widget-htmlparser.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-locale/assets/widget-base-core.css (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-locale/widget-locale-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-locale/widget-locale-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-locale/widget-locale-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-locale/widget-locale.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-modality/assets/skins/night/widget-modality-skin.css (77%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-modality/assets/skins/night/widget-modality.css (76%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-modality/assets/skins/sam/widget-modality-skin.css (77%) rename lib/yuilib/{3.9.0/build => 3.9.1/build/widget-modality}/assets/skins/sam/widget-modality.css (76%) create mode 100644 lib/yuilib/3.9.1/build/widget-modality/assets/widget-modality-core.css rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-modality/widget-modality-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-modality/widget-modality-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-modality/widget-modality-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-modality/widget-modality.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-parent/widget-parent-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-parent/widget-parent-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-parent/widget-parent-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-parent/widget-parent.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-position-align/widget-position-align-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-position-align/widget-position-align-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-position-align/widget-position-align-min.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-position-align/widget-position-align.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-position-constrain/widget-position-constrain-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-position-constrain/widget-position-constrain-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-position-constrain/widget-position-constrain-min.js (94%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-position-constrain/widget-position-constrain.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-position/widget-position-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-position/widget-position-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-position/widget-position-min.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-position/widget-position.js (98%) create mode 100644 lib/yuilib/3.9.1/build/widget-skin/assets/widget-base-core.css rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-skin/widget-skin-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-skin/widget-skin-debug.js (91%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-skin/widget-skin-min.js (70%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-skin/widget-skin.js (91%) create mode 100644 lib/yuilib/3.9.1/build/widget-stack/assets/skins/night/widget-stack-skin.css rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-stack/assets/skins/night/widget-stack.css (80%) create mode 100644 lib/yuilib/3.9.1/build/widget-stack/assets/skins/sam/widget-stack-skin.css rename lib/yuilib/{3.9.0/build => 3.9.1/build/widget-stack}/assets/skins/sam/widget-stack.css (80%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-stack/assets/widget-stack-core.css (86%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-stack/widget-stack-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-stack/widget-stack-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-stack/widget-stack-min.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-stack/widget-stack.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-stdmod/widget-stdmod-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-stdmod/widget-stdmod-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-stdmod/widget-stdmod-min.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-stdmod/widget-stdmod.js (99%) create mode 100644 lib/yuilib/3.9.1/build/widget-uievents/assets/widget-base-core.css rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-uievents/widget-uievents-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-uievents/widget-uievents-debug.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-uievents/widget-uievents-min.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/widget-uievents/widget-uievents.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yql-jsonp/yql-jsonp-coverage.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yql-jsonp/yql-jsonp-debug.js (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yql-jsonp/yql-jsonp-min.js (71%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yql-jsonp/yql-jsonp.js (87%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yql-nodejs/yql-nodejs-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yql-nodejs/yql-nodejs-debug.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yql-nodejs/yql-nodejs-min.js (67%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yql-nodejs/yql-nodejs.js (90%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yql-winjs/yql-winjs-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yql-winjs/yql-winjs-debug.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yql-winjs/yql-winjs-min.js (81%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yql-winjs/yql-winjs.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yql/yql-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yql/yql-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yql/yql-min.js (93%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yql/yql.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-base/yui-base-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-base/yui-base-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-base/yui-base-min.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-base/yui-base.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-core/yui-core-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-core/yui-core-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-core/yui-core-min.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-core/yui-core.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-later/yui-later-coverage.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-later/yui-later-debug.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-later/yui-later-min.js (78%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-later/yui-later.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-log-nodejs/yui-log-nodejs-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-log-nodejs/yui-log-nodejs-debug.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-log-nodejs/yui-log-nodejs-min.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-log-nodejs/yui-log-nodejs.js (95%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-log/yui-log-coverage.js (98%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-log/yui-log-debug.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-log/yui-log-min.js (83%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-log/yui-log.js (97%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-nodejs/yui-nodejs-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-nodejs/yui-nodejs-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-nodejs/yui-nodejs-min.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-nodejs/yui-nodejs.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-throttle/yui-throttle-coverage.js (96%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-throttle/yui-throttle-debug.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-throttle/yui-throttle-min.js (73%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui-throttle/yui-throttle.js (92%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui/yui-coverage.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui/yui-debug.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui/yui-min.js (99%) rename lib/yuilib/{3.9.0 => 3.9.1}/build/yui/yui.js (99%) diff --git a/lib/setup.php b/lib/setup.php index 00721c6151a..886c48a6bd0 100644 --- a/lib/setup.php +++ b/lib/setup.php @@ -277,7 +277,7 @@ umask(0000); // exact version of currently used yui2 and 3 library $CFG->yui2version = '2.9.0'; -$CFG->yui3version = '3.9.0'; +$CFG->yui3version = '3.9.1'; // special support for highly optimised scripts that do not need libraries and DB connection diff --git a/lib/thirdpartylibs.xml b/lib/thirdpartylibs.xml index 8693e652cb1..682db9160ac 100644 --- a/lib/thirdpartylibs.xml +++ b/lib/thirdpartylibs.xml @@ -200,7 +200,7 @@ yui YUI BSD - 3.9.0 + 3.9.1 diff --git a/lib/yuilib/3.9.0/build/axis-base/axis-base-coverage.js b/lib/yuilib/3.9.0/build/axis-base/axis-base-coverage.js deleted file mode 100644 index b7a731db07b..00000000000 --- a/lib/yuilib/3.9.0/build/axis-base/axis-base-coverage.js +++ /dev/null @@ -1,1012 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -if (typeof _yuitest_coverage == "undefined"){ - _yuitest_coverage = {}; - _yuitest_coverline = function(src, line){ - var coverage = _yuitest_coverage[src]; - if (!coverage.lines[line]){ - coverage.calledLines++; - } - coverage.lines[line]++; - }; - _yuitest_coverfunc = function(src, name, line){ - var coverage = _yuitest_coverage[src], - funcId = name + ":" + line; - if (!coverage.functions[funcId]){ - coverage.calledFunctions++; - } - coverage.functions[funcId]++; - }; -} -_yuitest_coverage["build/axis-base/axis-base.js"] = { - lines: {}, - functions: {}, - coveredLines: 0, - calledLines: 0, - coveredFunctions: 0, - calledFunctions: 0, - path: "build/axis-base/axis-base.js", - code: [] -}; -_yuitest_coverage["build/axis-base/axis-base.js"].code=["YUI.add('axis-base', function (Y, NAME) {","","/**"," * The Charts widget provides an api for displaying data"," * graphically."," *"," * @module charts"," * @main charts"," */","","/**"," * Provides functionality for the handling of axis data in a chart."," *"," * @module charts"," * @submodule axis-base"," */","","var CONFIG = Y.config,"," WINDOW = CONFIG.win,"," DOCUMENT = CONFIG.doc,"," Y_Lang = Y.Lang,"," IS_STRING = Y_Lang.isString,"," Y_DOM = Y.DOM,"," LeftAxisLayout,"," RightAxisLayout,"," BottomAxisLayout,"," TopAxisLayout,"," _getClassName = Y.ClassNameManager.getClassName,"," SERIES_MARKER = _getClassName(\"seriesmarker\");","","","/**"," * The Renderer class is a base class for chart components that use the `styles`"," * attribute."," *"," * @module charts"," * @class Renderer"," * @constructor"," */","function Renderer(){}","","Renderer.ATTRS = {"," /**"," * Style properties for class"," *"," * @attribute styles"," * @type Object"," */"," styles:"," {"," getter: function()"," {"," this._styles = this._styles || this._getDefaultStyles();"," return this._styles;"," },",""," setter: function(val)"," {"," this._styles = this._setStyles(val);"," }"," },",""," /**"," * The graphic in which drawings will be rendered."," *"," * @attribute graphic"," * @type Graphic"," */"," graphic: {}","};","Renderer.NAME = \"renderer\";","","Renderer.prototype = {"," /**"," * Storage for `styles` attribute."," *"," * @property _styles"," * @type Object"," * @private"," */"," _styles: null,",""," /**"," * Method used by `styles` setter."," *"," * @method _setStyles"," * @param {Object} newStyles Hash of properties to update."," * @return Object"," * @protected"," */"," _setStyles: function(newstyles)"," {"," var styles = this.get(\"styles\");"," return this._mergeStyles(newstyles, styles);"," },",""," /**"," * Merges to object literals so that only specified properties are"," * overwritten."," *"," * @method _mergeStyles"," * @param {Object} a Hash of new styles"," * @param {Object} b Hash of original styles"," * @return Object"," * @protected"," */"," _mergeStyles: function(a, b)"," {"," if(!b)"," {"," b = {};"," }"," var newstyles = Y.merge(b, {});"," Y.Object.each(a, function(value, key, a)"," {"," if(b.hasOwnProperty(key) && Y_Lang.isObject(value) && !Y_Lang.isFunction(value) && !Y_Lang.isArray(value))"," {"," newstyles[key] = this._mergeStyles(value, b[key]);"," }"," else"," {"," newstyles[key] = value;"," }"," }, this);"," return newstyles;"," },",""," /**"," * Gets the default value for the `styles` attribute."," *"," * @method _getDefaultStyles"," * @return Object"," * @protected"," */"," _getDefaultStyles: function()"," {"," return {padding:{"," top:0,"," right: 0,"," bottom: 0,"," left: 0"," }};"," }","};","","Y.augment(Renderer, Y.Attribute);","Y.Renderer = Renderer;","","/**"," * The axis-base submodule contains functionality for the handling of axis data in a chart."," *"," * @module charts"," * @submodule axis-base"," */","/**"," * An abstract class that provides the core functionality used by the following classes:"," * "," *"," * @class AxisBase"," * @constructor"," * @extends Base"," * @uses Renderer"," * @param {Object} config (optional) Configuration parameters."," * @submodule axis-base"," */","Y.AxisBase = Y.Base.create(\"axisBase\", Y.Base, [Y.Renderer], {"," /**"," * @method initializer"," * @private"," */"," initializer: function()"," {"," this.after(\"minimumChange\", Y.bind(this._keyChangeHandler, this));"," this.after(\"maximumChange\", Y.bind(this._keyChangeHandler, this));"," this.after(\"keysChange\", this._keyChangeHandler);"," this.after(\"dataProviderChange\", this._dataProviderChangeHandler);"," },",""," /**"," * Handles changes to `dataProvider`."," *"," * @method _dataProviderChangeHandler"," * @param {Object} e Event object."," * @private"," */"," _dataProviderChangeHandler: function(e)"," {"," var keyCollection = this.get(\"keyCollection\").concat(),"," keys = this.get(\"keys\"),"," i;"," if(keys)"," {"," for(i in keys)"," {"," if(keys.hasOwnProperty(i))"," {"," delete keys[i];"," }"," }"," }"," if(keyCollection && keyCollection.length)"," {"," this.set(\"keys\", keyCollection);"," }"," },",""," /**"," * Calculates the maximum and minimum values for the `Data`."," *"," * @method _updateMinAndMax"," * @private"," */"," _updateMinAndMax: function() {"," },",""," /**"," * Constant used to generate unique id."," *"," * @property GUID"," * @type String"," * @private"," */"," GUID: \"yuibaseaxis\",",""," /**"," * Type of data used in `Axis`."," *"," * @property _type"," * @type String"," * @readOnly"," * @private"," */"," _type: null,",""," /**"," * Storage for `setMaximum` attribute."," *"," * @property _setMaximum"," * @type Object"," * @private"," */"," _setMaximum: null,",""," /**"," * Storage for `setMinimum` attribute."," *"," * @property _setMinimum"," * @type Object"," * @private"," */"," _setMinimum: null,",""," /**"," * Reference to data array."," *"," * @property _data"," * @type Array"," * @private"," */"," _data: null,",""," /**"," * Indicates whether the all data is up to date."," *"," * @property _updateTotalDataFlag"," * @type Boolean"," * @private"," */"," _updateTotalDataFlag: true,",""," /**"," * Storage for `dataReady` attribute."," *"," * @property _dataReady"," * @type Boolean"," * @readOnly"," * @private"," */"," _dataReady: false,",""," /**"," * Adds an array to the key hash."," *"," * @method addKey"," * @param value Indicates what key to use in retrieving"," * the array."," */"," addKey: function (value)"," {"," this.set(\"keys\", value);"," },",""," /**"," * Gets an array of values based on a key."," *"," * @method _getKeyArray"," * @param {String} key Value key associated with the data array."," * @param {Array} data Array in which the data resides."," * @return Array"," * @private"," */"," _getKeyArray: function(key, data)"," {"," var i = 0,"," obj,"," keyArray = [],"," len = data.length;"," for(; i < len; ++i)"," {"," obj = data[i];"," keyArray[i] = obj[key];"," }"," return keyArray;"," },",""," /**"," * Updates the total data array."," *"," * @method _updateTotalData"," * @private"," */"," _updateTotalData: function()"," {"," var keys = this.get(\"keys\"),"," i;"," this._data = [];"," for(i in keys)"," {"," if(keys.hasOwnProperty(i))"," {"," this._data = this._data.concat(keys[i]);"," }"," }"," this._updateTotalDataFlag = false;"," },",""," /**"," * Removes an array from the key hash."," *"," * @method removeKey"," * @param {String} value Indicates what key to use in removing from"," * the hash."," */"," removeKey: function(value)"," {"," var keys = this.get(\"keys\");"," if(keys.hasOwnProperty(value))"," {"," delete keys[value];"," this._keyChangeHandler();"," }"," },",""," /**"," * Returns a value based of a key value and an index."," *"," * @method getKeyValueAt"," * @param {String} key value used to look up the correct array"," * @param {Number} index within the array"," * @return Number"," */"," getKeyValueAt: function(key, index)"," {"," var value = NaN,"," keys = this.get(\"keys\");"," if(keys[key] && Y_Lang.isNumber(parseFloat(keys[key][index])))"," {"," value = keys[key][index];"," }"," return parseFloat(value);"," },",""," /**"," * Returns values based on key identifiers. When a string is passed as an argument, an array of values is returned."," * When an array of keys is passed as an argument, an object literal with an array of values mapped to each key is "," * returned."," *"," * @method getDataByKey"," * @param {String|Array} value value used to identify the array"," * @return Array|Object"," */"," getDataByKey: function (value)"," {"," var obj,"," i,"," len,"," key,"," keys = this.get(\"keys\");"," if(Y_Lang.isArray(value)) "," {"," obj = {};"," len = value.length;"," for(i = 0; i < len; i = i + 1) "," {"," key = value[i];"," if(keys[key]) "," {"," obj[key] = this.getDataByKey(key);"," }"," }"," }"," else if(keys[value])"," {"," obj = keys[value];"," }"," else"," {"," obj = null;"," }"," return obj;"," },",""," /**"," * Returns the total number of majorUnits that will appear on an axis."," *"," * @method getTotalMajorUnits"," * @return Number"," */"," getTotalMajorUnits: function()"," {"," var units,"," majorUnit = this.get(\"styles\").majorUnit;"," units = majorUnit.count;"," return units;"," },",""," /**"," * Gets the distance that the first and last ticks are offset from there respective"," * edges."," *"," * @method getEdgeOffset"," * @param {Number} ct Number of ticks on the axis."," * @param {Number} l Length (in pixels) of the axis."," * @return Number"," */"," getEdgeOffset: function(ct, l)"," {"," var edgeOffset;"," if(this.get(\"calculateEdgeOffset\")) {"," edgeOffset = l/ct;"," } else {"," edgeOffset = 0;"," }"," return edgeOffset;"," },",""," /**"," * Updates the `Axis` after a change in keys."," *"," * @method _keyChangeHandler"," * @param {Object} e Event object."," * @private"," */"," _keyChangeHandler: function(e)"," {"," this._updateMinAndMax();"," this._updateTotalDataFlag = true;"," this.fire(\"dataUpdate\");"," },",""," /**"," * Gets the default value for the `styles` attribute. Overrides"," * base implementation."," *"," * @method _getDefaultStyles"," * @return Object"," * @protected"," */"," _getDefaultStyles: function()"," {"," var axisstyles = {"," majorUnit: {"," determinant:\"count\","," count:11,"," distance:75"," }"," };"," return axisstyles;"," },"," "," /**"," * Getter method for maximum attribute."," *"," * @method _maximumGetter"," * @return Number"," * @private"," */"," _maximumGetter: function ()"," {"," var max = this.get(\"dataMaximum\"),"," min = this.get(\"minimum\");"," //If all values are zero, force a range so that the Axis and related series"," //will still render."," if(min === 0 && max === 0)"," {"," max = 10;"," }"," if(Y_Lang.isNumber(this._setMaximum))"," {"," max = this._setMaximum;"," }"," return parseFloat(max);"," },"," "," /**"," * Setter method for maximum attribute."," *"," * @method _maximumSetter"," * @param {Object} value"," * @private"," */"," _maximumSetter: function (value)"," {"," this._setMaximum = parseFloat(value);"," return value;"," },",""," /**"," * Getter method for minimum attribute."," *"," * @method _minimumGetter"," * @return Number"," * @private"," */"," _minimumGetter: function ()"," {"," var min = this.get(\"dataMinimum\");"," if(Y_Lang.isNumber(this._setMinimum))"," {"," min = this._setMinimum;"," }"," return parseFloat(min);"," },"," "," /**"," * Setter method for minimum attribute."," *"," * @method _minimumSetter"," * @param {Object} value"," * @private"," */"," _minimumSetter: function(val)"," {"," this._setMinimum = parseFloat(val);"," return val;"," },",""," /**"," * Indicates whether or not the maximum attribute has been explicitly set."," *"," * @method _getSetMax"," * @return Boolean"," * @private"," */"," _getSetMax: function()"," {"," return Y_Lang.isNumber(this._setMaximum);"," },"," "," /**"," * Indicates whether or not the minimum attribute has been explicitly set."," *"," * @method _getSetMin"," * @return Boolean"," * @private"," */"," _getSetMin: function()"," {"," return Y_Lang.isNumber(this._setMinimum);"," }","}, {"," ATTRS: {"," /**"," * Determines whether and offset is automatically calculated for the edges of the axis."," *"," * @attribute calculateEdgeOffset"," * @type Boolean"," */"," calculateEdgeOffset: {"," value: false"," },"," "," labelFunction: {"," valueFn: function() {"," return this.formatLabel;"," }"," },"," "," /**"," * Hash of array identifed by a string value."," *"," * @attribute keys"," * @type Object"," */"," keys: {"," value: {},",""," setter: function(val)"," {"," var keys = {},"," i,"," len,"," data = this.get(\"dataProvider\");"," if(Y_Lang.isArray(val))"," {"," len = val.length;"," for(i = 0; i < len; ++i)"," {"," keys[val[i]] = this._getKeyArray(val[i], data);"," }",""," }"," else if(Y_Lang.isString(val))"," {"," keys = this.get(\"keys\");"," keys[val] = this._getKeyArray(val, data);"," }"," else"," {"," for(i in val)"," {"," if(val.hasOwnProperty(i))"," {"," keys[i] = this._getKeyArray(i, data);"," }"," }"," }"," this._updateTotalDataFlag = true;"," return keys;"," }"," },",""," /**"," *Returns the type of axis data"," *
"," *
time
Manages time data
"," *
stacked
Manages stacked numeric data
"," *
numeric
Manages numeric data
"," *
category
Manages categorical data
"," *
"," *"," * @attribute type"," * @type String"," */"," type:"," {"," readOnly: true,",""," getter: function ()"," {"," return this._type;"," }"," },",""," /**"," * Instance of `ChartDataProvider` that the class uses"," * to build its own data."," *"," * @attribute dataProvider"," * @type Array"," */"," dataProvider:{"," setter: function (value)"," {"," return value;"," }"," },",""," /**"," * The maximum value contained in the `data` array. Used for"," * `maximum` when `autoMax` is true."," *"," * @attribute dataMaximum"," * @type Number"," */"," dataMaximum: {"," getter: function ()"," {"," if(!Y_Lang.isNumber(this._dataMaximum))"," {"," this._updateMinAndMax();"," }"," return this._dataMaximum;"," }"," },",""," /**"," * The maximum value that will appear on an axis."," *"," * @attribute maximum"," * @type Number"," */"," maximum: {"," lazyAdd: false,",""," getter: \"_maximumGetter\","," "," setter: \"_maximumSetter\""," },",""," /**"," * The minimum value contained in the `data` array. Used for"," * `minimum` when `autoMin` is true."," *"," * @attribute dataMinimum"," * @type Number"," */"," dataMinimum: {"," getter: function ()"," {"," if(!Y_Lang.isNumber(this._dataMinimum))"," {"," this._updateMinAndMax();"," }"," return this._dataMinimum;"," }"," },",""," /**"," * The minimum value that will appear on an axis."," *"," * @attribute minimum"," * @type Number"," */"," minimum: {"," lazyAdd: false,",""," getter: \"_minimumGetter\","," "," setter: \"_minimumSetter\""," },",""," /**"," * Determines whether the maximum is calculated or explicitly"," * set by the user."," *"," * @attribute setMax"," * @type Boolean"," */"," setMax: {"," readOnly: true,",""," getter: \"_getSetMax\""," },",""," /**"," * Determines whether the minimum is calculated or explicitly"," * set by the user."," *"," * @attribute setMin"," * @type Boolean"," */"," setMin: {"," readOnly: true,",""," getter: \"_getSetMin\""," },",""," /**"," * Array of axis data"," *"," * @attribute data"," * @type Array"," */"," data: {"," getter: function ()"," {"," if(!this._data || this._updateTotalDataFlag)"," {"," this._updateTotalData();"," }"," return this._data;"," }"," },",""," /**"," * Array containing all the keys in the axis.",""," * @attribute keyCollection"," * @type Array"," */"," keyCollection: {"," getter: function()"," {"," var keys = this.get(\"keys\"),"," i,"," col = [];"," for(i in keys)"," {"," if(keys.hasOwnProperty(i))"," {"," col.push(i);"," }"," }"," return col;"," },"," readOnly: true"," },",""," /**"," * Object which should have by the labelFunction"," *"," * @attribute labelFunctionScope"," * @type Object"," */"," labelFunctionScope: {}"," }","});","","","}, '3.9.0', {\"requires\": [\"classnamemanager\", \"datatype-number\", \"datatype-date\", \"base\", \"event-custom\"]});"]; -_yuitest_coverage["build/axis-base/axis-base.js"].lines = {"1":0,"18":0,"40":0,"42":0,"53":0,"54":0,"59":0,"71":0,"73":0,"93":0,"94":0,"109":0,"111":0,"113":0,"114":0,"116":0,"118":0,"122":0,"125":0,"137":0,"146":0,"147":0,"175":0,"182":0,"183":0,"184":0,"185":0,"197":0,"200":0,"202":0,"204":0,"206":0,"210":0,"212":0,"299":0,"313":0,"317":0,"319":0,"320":0,"322":0,"333":0,"335":0,"336":0,"338":0,"340":0,"343":0,"355":0,"356":0,"358":0,"359":0,"373":0,"375":0,"377":0,"379":0,"393":0,"398":0,"400":0,"401":0,"402":0,"404":0,"405":0,"407":0,"411":0,"413":0,"417":0,"419":0,"430":0,"432":0,"433":0,"447":0,"448":0,"449":0,"451":0,"453":0,"465":0,"466":0,"467":0,"480":0,"487":0,"499":0,"503":0,"505":0,"507":0,"509":0,"511":0,"523":0,"524":0,"536":0,"537":0,"539":0,"541":0,"553":0,"554":0,"566":0,"578":0,"594":0,"609":0,"613":0,"615":0,"616":0,"618":0,"622":0,"624":0,"625":0,"629":0,"631":0,"633":0,"637":0,"638":0,"660":0,"674":0,"688":0,"690":0,"692":0,"720":0,"722":0,"724":0,"777":0,"779":0,"781":0,"794":0,"797":0,"799":0,"801":0,"804":0}; -_yuitest_coverage["build/axis-base/axis-base.js"].functions = {"Renderer:40":0,"getter:51":0,"setter:57":0,"_setStyles:91":0,"(anonymous 2):114":0,"_mergeStyles:107":0,"_getDefaultStyles:135":0,"initializer:180":0,"_dataProviderChangeHandler:195":0,"addKey:297":0,"_getKeyArray:311":0,"_updateTotalData:331":0,"removeKey:353":0,"getKeyValueAt:371":0,"getDataByKey:391":0,"getTotalMajorUnits:428":0,"getEdgeOffset:445":0,"_keyChangeHandler:463":0,"_getDefaultStyles:478":0,"_maximumGetter:497":0,"_maximumSetter:521":0,"_minimumGetter:534":0,"_minimumSetter:551":0,"_getSetMax:564":0,"_getSetMin:576":0,"valueFn:593":0,"setter:607":0,"getter:658":0,"setter:672":0,"getter:686":0,"getter:718":0,"getter:775":0,"getter:792":0,"(anonymous 1):1":0}; -_yuitest_coverage["build/axis-base/axis-base.js"].coveredLines = 125; -_yuitest_coverage["build/axis-base/axis-base.js"].coveredFunctions = 34; -_yuitest_coverline("build/axis-base/axis-base.js", 1); -YUI.add('axis-base', function (Y, NAME) { - -/** - * The Charts widget provides an api for displaying data - * graphically. - * - * @module charts - * @main charts - */ - -/** - * Provides functionality for the handling of axis data in a chart. - * - * @module charts - * @submodule axis-base - */ - -_yuitest_coverfunc("build/axis-base/axis-base.js", "(anonymous 1)", 1); -_yuitest_coverline("build/axis-base/axis-base.js", 18); -var CONFIG = Y.config, - WINDOW = CONFIG.win, - DOCUMENT = CONFIG.doc, - Y_Lang = Y.Lang, - IS_STRING = Y_Lang.isString, - Y_DOM = Y.DOM, - LeftAxisLayout, - RightAxisLayout, - BottomAxisLayout, - TopAxisLayout, - _getClassName = Y.ClassNameManager.getClassName, - SERIES_MARKER = _getClassName("seriesmarker"); - - -/** - * The Renderer class is a base class for chart components that use the `styles` - * attribute. - * - * @module charts - * @class Renderer - * @constructor - */ -_yuitest_coverline("build/axis-base/axis-base.js", 40); -function Renderer(){} - -_yuitest_coverline("build/axis-base/axis-base.js", 42); -Renderer.ATTRS = { - /** - * Style properties for class - * - * @attribute styles - * @type Object - */ - styles: - { - getter: function() - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "getter", 51); -_yuitest_coverline("build/axis-base/axis-base.js", 53); -this._styles = this._styles || this._getDefaultStyles(); - _yuitest_coverline("build/axis-base/axis-base.js", 54); -return this._styles; - }, - - setter: function(val) - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "setter", 57); -_yuitest_coverline("build/axis-base/axis-base.js", 59); -this._styles = this._setStyles(val); - } - }, - - /** - * The graphic in which drawings will be rendered. - * - * @attribute graphic - * @type Graphic - */ - graphic: {} -}; -_yuitest_coverline("build/axis-base/axis-base.js", 71); -Renderer.NAME = "renderer"; - -_yuitest_coverline("build/axis-base/axis-base.js", 73); -Renderer.prototype = { - /** - * Storage for `styles` attribute. - * - * @property _styles - * @type Object - * @private - */ - _styles: null, - - /** - * Method used by `styles` setter. - * - * @method _setStyles - * @param {Object} newStyles Hash of properties to update. - * @return Object - * @protected - */ - _setStyles: function(newstyles) - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "_setStyles", 91); -_yuitest_coverline("build/axis-base/axis-base.js", 93); -var styles = this.get("styles"); - _yuitest_coverline("build/axis-base/axis-base.js", 94); -return this._mergeStyles(newstyles, styles); - }, - - /** - * Merges to object literals so that only specified properties are - * overwritten. - * - * @method _mergeStyles - * @param {Object} a Hash of new styles - * @param {Object} b Hash of original styles - * @return Object - * @protected - */ - _mergeStyles: function(a, b) - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "_mergeStyles", 107); -_yuitest_coverline("build/axis-base/axis-base.js", 109); -if(!b) - { - _yuitest_coverline("build/axis-base/axis-base.js", 111); -b = {}; - } - _yuitest_coverline("build/axis-base/axis-base.js", 113); -var newstyles = Y.merge(b, {}); - _yuitest_coverline("build/axis-base/axis-base.js", 114); -Y.Object.each(a, function(value, key, a) - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "(anonymous 2)", 114); -_yuitest_coverline("build/axis-base/axis-base.js", 116); -if(b.hasOwnProperty(key) && Y_Lang.isObject(value) && !Y_Lang.isFunction(value) && !Y_Lang.isArray(value)) - { - _yuitest_coverline("build/axis-base/axis-base.js", 118); -newstyles[key] = this._mergeStyles(value, b[key]); - } - else - { - _yuitest_coverline("build/axis-base/axis-base.js", 122); -newstyles[key] = value; - } - }, this); - _yuitest_coverline("build/axis-base/axis-base.js", 125); -return newstyles; - }, - - /** - * Gets the default value for the `styles` attribute. - * - * @method _getDefaultStyles - * @return Object - * @protected - */ - _getDefaultStyles: function() - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "_getDefaultStyles", 135); -_yuitest_coverline("build/axis-base/axis-base.js", 137); -return {padding:{ - top:0, - right: 0, - bottom: 0, - left: 0 - }}; - } -}; - -_yuitest_coverline("build/axis-base/axis-base.js", 146); -Y.augment(Renderer, Y.Attribute); -_yuitest_coverline("build/axis-base/axis-base.js", 147); -Y.Renderer = Renderer; - -/** - * The axis-base submodule contains functionality for the handling of axis data in a chart. - * - * @module charts - * @submodule axis-base - */ -/** - * An abstract class that provides the core functionality used by the following classes: - * - * - * @class AxisBase - * @constructor - * @extends Base - * @uses Renderer - * @param {Object} config (optional) Configuration parameters. - * @submodule axis-base - */ -_yuitest_coverline("build/axis-base/axis-base.js", 175); -Y.AxisBase = Y.Base.create("axisBase", Y.Base, [Y.Renderer], { - /** - * @method initializer - * @private - */ - initializer: function() - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "initializer", 180); -_yuitest_coverline("build/axis-base/axis-base.js", 182); -this.after("minimumChange", Y.bind(this._keyChangeHandler, this)); - _yuitest_coverline("build/axis-base/axis-base.js", 183); -this.after("maximumChange", Y.bind(this._keyChangeHandler, this)); - _yuitest_coverline("build/axis-base/axis-base.js", 184); -this.after("keysChange", this._keyChangeHandler); - _yuitest_coverline("build/axis-base/axis-base.js", 185); -this.after("dataProviderChange", this._dataProviderChangeHandler); - }, - - /** - * Handles changes to `dataProvider`. - * - * @method _dataProviderChangeHandler - * @param {Object} e Event object. - * @private - */ - _dataProviderChangeHandler: function(e) - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "_dataProviderChangeHandler", 195); -_yuitest_coverline("build/axis-base/axis-base.js", 197); -var keyCollection = this.get("keyCollection").concat(), - keys = this.get("keys"), - i; - _yuitest_coverline("build/axis-base/axis-base.js", 200); -if(keys) - { - _yuitest_coverline("build/axis-base/axis-base.js", 202); -for(i in keys) - { - _yuitest_coverline("build/axis-base/axis-base.js", 204); -if(keys.hasOwnProperty(i)) - { - _yuitest_coverline("build/axis-base/axis-base.js", 206); -delete keys[i]; - } - } - } - _yuitest_coverline("build/axis-base/axis-base.js", 210); -if(keyCollection && keyCollection.length) - { - _yuitest_coverline("build/axis-base/axis-base.js", 212); -this.set("keys", keyCollection); - } - }, - - /** - * Calculates the maximum and minimum values for the `Data`. - * - * @method _updateMinAndMax - * @private - */ - _updateMinAndMax: function() { - }, - - /** - * Constant used to generate unique id. - * - * @property GUID - * @type String - * @private - */ - GUID: "yuibaseaxis", - - /** - * Type of data used in `Axis`. - * - * @property _type - * @type String - * @readOnly - * @private - */ - _type: null, - - /** - * Storage for `setMaximum` attribute. - * - * @property _setMaximum - * @type Object - * @private - */ - _setMaximum: null, - - /** - * Storage for `setMinimum` attribute. - * - * @property _setMinimum - * @type Object - * @private - */ - _setMinimum: null, - - /** - * Reference to data array. - * - * @property _data - * @type Array - * @private - */ - _data: null, - - /** - * Indicates whether the all data is up to date. - * - * @property _updateTotalDataFlag - * @type Boolean - * @private - */ - _updateTotalDataFlag: true, - - /** - * Storage for `dataReady` attribute. - * - * @property _dataReady - * @type Boolean - * @readOnly - * @private - */ - _dataReady: false, - - /** - * Adds an array to the key hash. - * - * @method addKey - * @param value Indicates what key to use in retrieving - * the array. - */ - addKey: function (value) - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "addKey", 297); -_yuitest_coverline("build/axis-base/axis-base.js", 299); -this.set("keys", value); - }, - - /** - * Gets an array of values based on a key. - * - * @method _getKeyArray - * @param {String} key Value key associated with the data array. - * @param {Array} data Array in which the data resides. - * @return Array - * @private - */ - _getKeyArray: function(key, data) - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "_getKeyArray", 311); -_yuitest_coverline("build/axis-base/axis-base.js", 313); -var i = 0, - obj, - keyArray = [], - len = data.length; - _yuitest_coverline("build/axis-base/axis-base.js", 317); -for(; i < len; ++i) - { - _yuitest_coverline("build/axis-base/axis-base.js", 319); -obj = data[i]; - _yuitest_coverline("build/axis-base/axis-base.js", 320); -keyArray[i] = obj[key]; - } - _yuitest_coverline("build/axis-base/axis-base.js", 322); -return keyArray; - }, - - /** - * Updates the total data array. - * - * @method _updateTotalData - * @private - */ - _updateTotalData: function() - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "_updateTotalData", 331); -_yuitest_coverline("build/axis-base/axis-base.js", 333); -var keys = this.get("keys"), - i; - _yuitest_coverline("build/axis-base/axis-base.js", 335); -this._data = []; - _yuitest_coverline("build/axis-base/axis-base.js", 336); -for(i in keys) - { - _yuitest_coverline("build/axis-base/axis-base.js", 338); -if(keys.hasOwnProperty(i)) - { - _yuitest_coverline("build/axis-base/axis-base.js", 340); -this._data = this._data.concat(keys[i]); - } - } - _yuitest_coverline("build/axis-base/axis-base.js", 343); -this._updateTotalDataFlag = false; - }, - - /** - * Removes an array from the key hash. - * - * @method removeKey - * @param {String} value Indicates what key to use in removing from - * the hash. - */ - removeKey: function(value) - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "removeKey", 353); -_yuitest_coverline("build/axis-base/axis-base.js", 355); -var keys = this.get("keys"); - _yuitest_coverline("build/axis-base/axis-base.js", 356); -if(keys.hasOwnProperty(value)) - { - _yuitest_coverline("build/axis-base/axis-base.js", 358); -delete keys[value]; - _yuitest_coverline("build/axis-base/axis-base.js", 359); -this._keyChangeHandler(); - } - }, - - /** - * Returns a value based of a key value and an index. - * - * @method getKeyValueAt - * @param {String} key value used to look up the correct array - * @param {Number} index within the array - * @return Number - */ - getKeyValueAt: function(key, index) - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "getKeyValueAt", 371); -_yuitest_coverline("build/axis-base/axis-base.js", 373); -var value = NaN, - keys = this.get("keys"); - _yuitest_coverline("build/axis-base/axis-base.js", 375); -if(keys[key] && Y_Lang.isNumber(parseFloat(keys[key][index]))) - { - _yuitest_coverline("build/axis-base/axis-base.js", 377); -value = keys[key][index]; - } - _yuitest_coverline("build/axis-base/axis-base.js", 379); -return parseFloat(value); - }, - - /** - * Returns values based on key identifiers. When a string is passed as an argument, an array of values is returned. - * When an array of keys is passed as an argument, an object literal with an array of values mapped to each key is - * returned. - * - * @method getDataByKey - * @param {String|Array} value value used to identify the array - * @return Array|Object - */ - getDataByKey: function (value) - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "getDataByKey", 391); -_yuitest_coverline("build/axis-base/axis-base.js", 393); -var obj, - i, - len, - key, - keys = this.get("keys"); - _yuitest_coverline("build/axis-base/axis-base.js", 398); -if(Y_Lang.isArray(value)) - { - _yuitest_coverline("build/axis-base/axis-base.js", 400); -obj = {}; - _yuitest_coverline("build/axis-base/axis-base.js", 401); -len = value.length; - _yuitest_coverline("build/axis-base/axis-base.js", 402); -for(i = 0; i < len; i = i + 1) - { - _yuitest_coverline("build/axis-base/axis-base.js", 404); -key = value[i]; - _yuitest_coverline("build/axis-base/axis-base.js", 405); -if(keys[key]) - { - _yuitest_coverline("build/axis-base/axis-base.js", 407); -obj[key] = this.getDataByKey(key); - } - } - } - else {_yuitest_coverline("build/axis-base/axis-base.js", 411); -if(keys[value]) - { - _yuitest_coverline("build/axis-base/axis-base.js", 413); -obj = keys[value]; - } - else - { - _yuitest_coverline("build/axis-base/axis-base.js", 417); -obj = null; - }} - _yuitest_coverline("build/axis-base/axis-base.js", 419); -return obj; - }, - - /** - * Returns the total number of majorUnits that will appear on an axis. - * - * @method getTotalMajorUnits - * @return Number - */ - getTotalMajorUnits: function() - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "getTotalMajorUnits", 428); -_yuitest_coverline("build/axis-base/axis-base.js", 430); -var units, - majorUnit = this.get("styles").majorUnit; - _yuitest_coverline("build/axis-base/axis-base.js", 432); -units = majorUnit.count; - _yuitest_coverline("build/axis-base/axis-base.js", 433); -return units; - }, - - /** - * Gets the distance that the first and last ticks are offset from there respective - * edges. - * - * @method getEdgeOffset - * @param {Number} ct Number of ticks on the axis. - * @param {Number} l Length (in pixels) of the axis. - * @return Number - */ - getEdgeOffset: function(ct, l) - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "getEdgeOffset", 445); -_yuitest_coverline("build/axis-base/axis-base.js", 447); -var edgeOffset; - _yuitest_coverline("build/axis-base/axis-base.js", 448); -if(this.get("calculateEdgeOffset")) { - _yuitest_coverline("build/axis-base/axis-base.js", 449); -edgeOffset = l/ct; - } else { - _yuitest_coverline("build/axis-base/axis-base.js", 451); -edgeOffset = 0; - } - _yuitest_coverline("build/axis-base/axis-base.js", 453); -return edgeOffset; - }, - - /** - * Updates the `Axis` after a change in keys. - * - * @method _keyChangeHandler - * @param {Object} e Event object. - * @private - */ - _keyChangeHandler: function(e) - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "_keyChangeHandler", 463); -_yuitest_coverline("build/axis-base/axis-base.js", 465); -this._updateMinAndMax(); - _yuitest_coverline("build/axis-base/axis-base.js", 466); -this._updateTotalDataFlag = true; - _yuitest_coverline("build/axis-base/axis-base.js", 467); -this.fire("dataUpdate"); - }, - - /** - * Gets the default value for the `styles` attribute. Overrides - * base implementation. - * - * @method _getDefaultStyles - * @return Object - * @protected - */ - _getDefaultStyles: function() - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "_getDefaultStyles", 478); -_yuitest_coverline("build/axis-base/axis-base.js", 480); -var axisstyles = { - majorUnit: { - determinant:"count", - count:11, - distance:75 - } - }; - _yuitest_coverline("build/axis-base/axis-base.js", 487); -return axisstyles; - }, - - /** - * Getter method for maximum attribute. - * - * @method _maximumGetter - * @return Number - * @private - */ - _maximumGetter: function () - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "_maximumGetter", 497); -_yuitest_coverline("build/axis-base/axis-base.js", 499); -var max = this.get("dataMaximum"), - min = this.get("minimum"); - //If all values are zero, force a range so that the Axis and related series - //will still render. - _yuitest_coverline("build/axis-base/axis-base.js", 503); -if(min === 0 && max === 0) - { - _yuitest_coverline("build/axis-base/axis-base.js", 505); -max = 10; - } - _yuitest_coverline("build/axis-base/axis-base.js", 507); -if(Y_Lang.isNumber(this._setMaximum)) - { - _yuitest_coverline("build/axis-base/axis-base.js", 509); -max = this._setMaximum; - } - _yuitest_coverline("build/axis-base/axis-base.js", 511); -return parseFloat(max); - }, - - /** - * Setter method for maximum attribute. - * - * @method _maximumSetter - * @param {Object} value - * @private - */ - _maximumSetter: function (value) - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "_maximumSetter", 521); -_yuitest_coverline("build/axis-base/axis-base.js", 523); -this._setMaximum = parseFloat(value); - _yuitest_coverline("build/axis-base/axis-base.js", 524); -return value; - }, - - /** - * Getter method for minimum attribute. - * - * @method _minimumGetter - * @return Number - * @private - */ - _minimumGetter: function () - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "_minimumGetter", 534); -_yuitest_coverline("build/axis-base/axis-base.js", 536); -var min = this.get("dataMinimum"); - _yuitest_coverline("build/axis-base/axis-base.js", 537); -if(Y_Lang.isNumber(this._setMinimum)) - { - _yuitest_coverline("build/axis-base/axis-base.js", 539); -min = this._setMinimum; - } - _yuitest_coverline("build/axis-base/axis-base.js", 541); -return parseFloat(min); - }, - - /** - * Setter method for minimum attribute. - * - * @method _minimumSetter - * @param {Object} value - * @private - */ - _minimumSetter: function(val) - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "_minimumSetter", 551); -_yuitest_coverline("build/axis-base/axis-base.js", 553); -this._setMinimum = parseFloat(val); - _yuitest_coverline("build/axis-base/axis-base.js", 554); -return val; - }, - - /** - * Indicates whether or not the maximum attribute has been explicitly set. - * - * @method _getSetMax - * @return Boolean - * @private - */ - _getSetMax: function() - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "_getSetMax", 564); -_yuitest_coverline("build/axis-base/axis-base.js", 566); -return Y_Lang.isNumber(this._setMaximum); - }, - - /** - * Indicates whether or not the minimum attribute has been explicitly set. - * - * @method _getSetMin - * @return Boolean - * @private - */ - _getSetMin: function() - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "_getSetMin", 576); -_yuitest_coverline("build/axis-base/axis-base.js", 578); -return Y_Lang.isNumber(this._setMinimum); - } -}, { - ATTRS: { - /** - * Determines whether and offset is automatically calculated for the edges of the axis. - * - * @attribute calculateEdgeOffset - * @type Boolean - */ - calculateEdgeOffset: { - value: false - }, - - labelFunction: { - valueFn: function() { - _yuitest_coverfunc("build/axis-base/axis-base.js", "valueFn", 593); -_yuitest_coverline("build/axis-base/axis-base.js", 594); -return this.formatLabel; - } - }, - - /** - * Hash of array identifed by a string value. - * - * @attribute keys - * @type Object - */ - keys: { - value: {}, - - setter: function(val) - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "setter", 607); -_yuitest_coverline("build/axis-base/axis-base.js", 609); -var keys = {}, - i, - len, - data = this.get("dataProvider"); - _yuitest_coverline("build/axis-base/axis-base.js", 613); -if(Y_Lang.isArray(val)) - { - _yuitest_coverline("build/axis-base/axis-base.js", 615); -len = val.length; - _yuitest_coverline("build/axis-base/axis-base.js", 616); -for(i = 0; i < len; ++i) - { - _yuitest_coverline("build/axis-base/axis-base.js", 618); -keys[val[i]] = this._getKeyArray(val[i], data); - } - - } - else {_yuitest_coverline("build/axis-base/axis-base.js", 622); -if(Y_Lang.isString(val)) - { - _yuitest_coverline("build/axis-base/axis-base.js", 624); -keys = this.get("keys"); - _yuitest_coverline("build/axis-base/axis-base.js", 625); -keys[val] = this._getKeyArray(val, data); - } - else - { - _yuitest_coverline("build/axis-base/axis-base.js", 629); -for(i in val) - { - _yuitest_coverline("build/axis-base/axis-base.js", 631); -if(val.hasOwnProperty(i)) - { - _yuitest_coverline("build/axis-base/axis-base.js", 633); -keys[i] = this._getKeyArray(i, data); - } - } - }} - _yuitest_coverline("build/axis-base/axis-base.js", 637); -this._updateTotalDataFlag = true; - _yuitest_coverline("build/axis-base/axis-base.js", 638); -return keys; - } - }, - - /** - *Returns the type of axis data - *
- *
time
Manages time data
- *
stacked
Manages stacked numeric data
- *
numeric
Manages numeric data
- *
category
Manages categorical data
- *
- * - * @attribute type - * @type String - */ - type: - { - readOnly: true, - - getter: function () - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "getter", 658); -_yuitest_coverline("build/axis-base/axis-base.js", 660); -return this._type; - } - }, - - /** - * Instance of `ChartDataProvider` that the class uses - * to build its own data. - * - * @attribute dataProvider - * @type Array - */ - dataProvider:{ - setter: function (value) - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "setter", 672); -_yuitest_coverline("build/axis-base/axis-base.js", 674); -return value; - } - }, - - /** - * The maximum value contained in the `data` array. Used for - * `maximum` when `autoMax` is true. - * - * @attribute dataMaximum - * @type Number - */ - dataMaximum: { - getter: function () - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "getter", 686); -_yuitest_coverline("build/axis-base/axis-base.js", 688); -if(!Y_Lang.isNumber(this._dataMaximum)) - { - _yuitest_coverline("build/axis-base/axis-base.js", 690); -this._updateMinAndMax(); - } - _yuitest_coverline("build/axis-base/axis-base.js", 692); -return this._dataMaximum; - } - }, - - /** - * The maximum value that will appear on an axis. - * - * @attribute maximum - * @type Number - */ - maximum: { - lazyAdd: false, - - getter: "_maximumGetter", - - setter: "_maximumSetter" - }, - - /** - * The minimum value contained in the `data` array. Used for - * `minimum` when `autoMin` is true. - * - * @attribute dataMinimum - * @type Number - */ - dataMinimum: { - getter: function () - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "getter", 718); -_yuitest_coverline("build/axis-base/axis-base.js", 720); -if(!Y_Lang.isNumber(this._dataMinimum)) - { - _yuitest_coverline("build/axis-base/axis-base.js", 722); -this._updateMinAndMax(); - } - _yuitest_coverline("build/axis-base/axis-base.js", 724); -return this._dataMinimum; - } - }, - - /** - * The minimum value that will appear on an axis. - * - * @attribute minimum - * @type Number - */ - minimum: { - lazyAdd: false, - - getter: "_minimumGetter", - - setter: "_minimumSetter" - }, - - /** - * Determines whether the maximum is calculated or explicitly - * set by the user. - * - * @attribute setMax - * @type Boolean - */ - setMax: { - readOnly: true, - - getter: "_getSetMax" - }, - - /** - * Determines whether the minimum is calculated or explicitly - * set by the user. - * - * @attribute setMin - * @type Boolean - */ - setMin: { - readOnly: true, - - getter: "_getSetMin" - }, - - /** - * Array of axis data - * - * @attribute data - * @type Array - */ - data: { - getter: function () - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "getter", 775); -_yuitest_coverline("build/axis-base/axis-base.js", 777); -if(!this._data || this._updateTotalDataFlag) - { - _yuitest_coverline("build/axis-base/axis-base.js", 779); -this._updateTotalData(); - } - _yuitest_coverline("build/axis-base/axis-base.js", 781); -return this._data; - } - }, - - /** - * Array containing all the keys in the axis. - - * @attribute keyCollection - * @type Array - */ - keyCollection: { - getter: function() - { - _yuitest_coverfunc("build/axis-base/axis-base.js", "getter", 792); -_yuitest_coverline("build/axis-base/axis-base.js", 794); -var keys = this.get("keys"), - i, - col = []; - _yuitest_coverline("build/axis-base/axis-base.js", 797); -for(i in keys) - { - _yuitest_coverline("build/axis-base/axis-base.js", 799); -if(keys.hasOwnProperty(i)) - { - _yuitest_coverline("build/axis-base/axis-base.js", 801); -col.push(i); - } - } - _yuitest_coverline("build/axis-base/axis-base.js", 804); -return col; - }, - readOnly: true - }, - - /** - * Object which should have by the labelFunction - * - * @attribute labelFunctionScope - * @type Object - */ - labelFunctionScope: {} - } -}); - - -}, '3.9.0', {"requires": ["classnamemanager", "datatype-number", "datatype-date", "base", "event-custom"]}); diff --git a/lib/yuilib/3.9.0/build/axis-base/axis-base-min.js b/lib/yuilib/3.9.0/build/axis-base/axis-base-min.js deleted file mode 100644 index d51756e3c03..00000000000 --- a/lib/yuilib/3.9.0/build/axis-base/axis-base-min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("axis-base",function(e,t){function d(){}var n=e.config,r=n.win,i=n.doc,s=e.Lang,o=s.isString,u=e.DOM,a,f,l,c,h=e.ClassNameManager.getClassName,p=h("seriesmarker");d.ATTRS={styles:{getter:function(){return this._styles=this._styles||this._getDefaultStyles(),this._styles},setter:function(e){this._styles=this._setStyles(e)}},graphic:{}},d.NAME="renderer",d.prototype={_styles:null,_setStyles:function(e){var t=this.get("styles");return this._mergeStyles(e,t)},_mergeStyles:function(t,n){n||(n={});var r=e.merge(n,{});return e.Object.each(t,function(e,t,i){n.hasOwnProperty(t)&&s.isObject(e)&&!s.isFunction(e)&&!s.isArray(e)?r[t]=this._mergeStyles(e,n[t]):r[t]=e},this),r},_getDefaultStyles:function(){return{padding:{top:0,right:0,bottom:0,left:0}}}},e.augment(d,e.Attribute),e.Renderer=d,e.AxisBase=e.Base.create("axisBase",e.Base,[e.Renderer],{initializer:function(){this.after("minimumChange",e.bind(this._keyChangeHandler,this)),this.after("maximumChange",e.bind(this._keyChangeHandler,this)),this.after("keysChange",this._keyChangeHandler),this.after("dataProviderChange",this._dataProviderChangeHandler)},_dataProviderChangeHandler:function(e){var t=this.get("keyCollection").concat(),n=this.get("keys"),r;if(n)for(r in n)n.hasOwnProperty(r)&&delete n[r];t&&t.length&&this.set("keys",t)},_updateMinAndMax:function(){},GUID:"yuibaseaxis",_type:null,_setMaximum:null,_setMinimum:null,_data:null,_updateTotalDataFlag:!0,_dataReady:!1,addKey:function(e){this.set("keys",e)},_getKeyArray:function(e,t){var n=0,r,i=[],s=t.length;for(;n=t?(i=Math.floor((r/2-t)/(Math.pow(10,n-1)/2)),t=r/2-i*Math.pow(10,n-1)/2):t=r,isNaN(t)?e:t},_updateMinAndMax:function(){var e=this.get("data"),t,n,r,i,s=0,o,u=this.get("setMax"),a=this.get("setMin");if(!u||!a){if(e&&e.length&&e.length>0){r=e.length;for(;s=0,u=t>0,a,f,l,c,h,p,d,v=this.getTotalMajorUnits()-1,m=this.get("alwaysShowZero"),g=this.get("roundingMethod"),y=(t-e)/v>=1;if(g)if(g=="niceNumber"){i=this._getMinimumUnit(t,e,v);if(o&&u)(m||e=0)h--,c++,p=Math.ceil(t/c),d=Math.floor(e/h)*-1;h>0?t=d*c:t=e+i*v}else if(r){while(p=0)h++,c--,d=Math.floor(e/h)*-1,p=Math.ceil(t/c);c>0?e=p*h*-1:e=t-i*v}else i=Math.max(p,d),i=this._getNiceNumber(i),t=i*c,e=i*h*-1}else r?e=t-i*v:n?t=e+i*v:(e=this._roundDownToNearest(e,i),t=this._roundUpToNearest(t,i));else n?m?t=0:t=e+i*v:r?e=t-i*v:m||t===0||t+i>0?(t=0,i=this._getMinimumUnit(t,e,v),e=t-i*v):(e=this._roundDownToNearest(e,i),t=this._roundUpToNearest(t,i))}else g=="auto"?o&&u?((m||e<(t-e)/v)&&!n&&(e=0),i=(t-e)/v,y?(i=Math.ceil(i),t=e+i*v):t=e+Math.ceil(i*v*1e5)/1e5):u&&!o?m?(c=Math.round(v/(-1*e/t+1)),c=Math.max(Math.min(c,v-1),1),h=v-c,y?(p=Math.ceil(t/c),d=Math.floor(e/h)*-1,i=Math.max(p,d),t=i*c,e=i*h*-1):(p=t/c,d=e/h*-1,i=Math.max(p,d),t=Math.ceil(i*c*1e5)/1e5,e=Math.ceil(i*h*1e5)/1e5*-1)):(i=(t-e)/v,y&&(i=Math.ceil(i)),e=Math.round(this._roundDownToNearest(e,i)*1e5)/1e5,t=Math.round(this._roundUpToNearest(t,i)*1e5)/1e5):(i=(t-e)/v,y&&(i=Math.ceil(i)),m||t===0||t+i>0?(t=0,i=(t-e)/v,y?(Math.ceil(i),e=t-i*v):e=t-Math.ceil(i*v*1e5)/1e5):(e=this._roundDownToNearest(e,i),t=this._roundUpToNearest(t,i))):!isNaN(g)&&isFinite(g)&&(i=g,s=i*v,a=t-e>s,l=this._roundDownToNearest(e,i),f=this._roundUpToNearest(t,i),r?e=t-s:n?t=e+s:o&&u?(m||l<=0?e=0:e=l,t=e+s):u&&!o?(e=l,t=f):(m||f>=0?t=0:t=f,e=t-s));this._dataMaximum=t,this._dataMinimum=e},_roundToNearest:function(e,t){t=t||1;var n=Math.round(this._roundToPrecision(e/t,10))*t;return this._roundToPrecision(n,10)},_roundUpToNearest:function(e,t){return t=t||1,Math.ceil(this._roundToPrecision(e/t,10))*t},_roundDownToNearest:function(e,t){return t=t||1,Math.floor(this._roundToPrecision(e/t,10))*t},_roundToPrecision:function(e,t){t=t||0;var n=Math.pow(10,t);return Math.round(n*e)/n}},e.NumericImpl=r,e.NumericAxisBase=e.Base.create("numericAxisBase",e.AxisBase,[e.NumericImpl])},"3.9.0",{requires:["axis-base"]}); diff --git a/lib/yuilib/3.9.0/build/axis-numeric/axis-numeric-min.js b/lib/yuilib/3.9.0/build/axis-numeric/axis-numeric-min.js deleted file mode 100644 index 3c55c13e7e0..00000000000 --- a/lib/yuilib/3.9.0/build/axis-numeric/axis-numeric-min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("axis-numeric",function(e,t){Y_Lang=e.Lang,e.NumericAxis=e.Base.create("numericAxis",e.Axis,[e.NumericImpl],{_getLabelByIndex:function(){var e=arguments[0],t=arguments[1],n=this.get("minimum"),r=this.get("maximum"),i=(r-n)/(t-1),s,o=this.get("roundingMethod");return t-=1,e===0?s=n:e===t?s=r:(s=e*i,o=="niceNumber"&&(s=this._roundToNearest(s,i)),s+=n),parseFloat(s)},_hasDataOverflow:function(){var e,t,n;return this.get("setMin")||this.get("setMax")?!0:(e=this.get("roundingMethod"),t=this._actualMinimum,n=this._actualMaximum,Y_Lang.isNumber(e)&&(Y_Lang.isNumber(n)&&n>this._dataMaximum||Y_Lang.isNumber(t)&&t 0)"," {"," topOffset -= labelHeight/2 * rot/90;"," }"," else if(rot < 0)"," {"," leftOffset -= labelWidth;"," topOffset -= labelHeight/2 * absRot/90;"," }"," else"," {"," leftOffset -= labelWidth * 0.5;"," }"," topOffset += margin;"," topOffset += tickOffset;"," props.labelWidth = labelWidth;"," props.labelHeight = labelHeight;"," props.x = leftOffset;"," props.y = topOffset;"," host._rotate(label, props);"," },",""," /**"," * Adjusts the coordinates of an axis label based on the rotation."," *"," * @method _setRotationCoords"," * @param {Object} props Coordinates, dimension and rotation properties of the label."," * @protected"," */"," _setRotationCoords: function(props)"," {"," var rot = props.rot,"," absRot = props.absRot,"," labelWidth = props.labelWidth,"," labelHeight = props.labelHeight,"," leftOffset,"," topOffset;",""," if(rot > 0)"," {"," leftOffset = 0;"," topOffset = labelHeight/2 * rot/90;"," }"," else if(rot < 0)"," {"," leftOffset = labelWidth;"," topOffset = labelHeight/2 * absRot/90;"," }"," else"," {"," leftOffset = labelWidth * 0.5;"," topOffset = 0;"," }"," props.x -= leftOffset;"," props.y -= topOffset;"," },",""," /**"," * Returns the transformOrigin to use for an axis label based on the position of the axis"," * and the rotation of the label."," *"," * @method _getTransformOrigin"," * @param {Number} rot The rotation (in degrees) of the label."," * @return Array"," * @protected"," */"," _getTransformOrigin: function(rot)"," {"," var transformOrigin;"," if(rot > 0)"," {"," transformOrigin = [0, 0.5];"," }"," else if(rot < 0)"," {"," transformOrigin = [1, 0.5];"," }"," else"," {"," transformOrigin = [0, 0];"," }"," return transformOrigin;"," },",""," /**"," * Adjusts position for inner ticks."," *"," * @method offsetNodeForTick"," * @param {Node} cb contentBox of the axis"," * @protected"," */"," offsetNodeForTick: function(cb)"," {"," var host = this;"," host.get(\"contentBox\").setStyle(\"top\", 0 - host.get(\"topTickOffset\"));"," },",""," /**"," * Assigns a height based on the size of the contents."," *"," * @method setCalculatedSize"," * @protected"," */"," setCalculatedSize: function()"," {"," var host = this,"," styles = host.get(\"styles\"),"," labelStyle = styles.label,"," totalTitleSize = host._totalTitleSize,"," ttl = Math.round(host.get(\"bottomTickOffset\") + host._maxLabelSize + labelStyle.margin.top + totalTitleSize);"," if(host._explicitHeight)"," {"," ttl = host._explicitHeight;"," }"," host.set(\"calculatedHeight\", ttl);"," }","};","Y.BottomAxisLayout = BottomAxisLayout;","/**"," * Contains algorithms for rendering a top axis."," *"," * @class TopAxisLayout"," * @constructor"," * @submodule axis"," */","TopAxisLayout = function(){};","","TopAxisLayout.prototype = {"," /**"," * Default margins for text fields."," *"," * @private"," * @method _getDefaultMargins"," * @return Object"," */"," _getDefaultMargins: function()"," {"," return {"," top: 0,"," left: 0,"," right: 0,"," bottom: 4"," };"," },",""," /**"," * Sets the length of the tick on either side of the axis line."," *"," * @method setTickOffsets"," * @protected"," */"," setTickOffsets: function()"," {"," var host = this,"," majorTicks = host.get(\"styles\").majorTicks,"," tickLength = majorTicks.length,"," halfTick = tickLength * 0.5,"," display = majorTicks.display;"," host.set(\"leftTickOffset\", 0);"," host.set(\"rightTickOffset\", 0);"," switch(display)"," {"," case \"inside\" :"," host.set(\"bottomTickOffset\", tickLength);"," host.set(\"topTickOffset\", 0);"," break;"," case \"outside\" :"," host.set(\"bottomTickOffset\", 0);"," host.set(\"topTickOffset\", tickLength);"," break;"," case \"cross\" :"," host.set(\"topTickOffset\", halfTick);"," host.set(\"bottomTickOffset\", halfTick);"," break;"," default:"," host.set(\"topTickOffset\", 0);"," host.set(\"bottomTickOffset\", 0);"," break;"," }"," },",""," /**"," * Calculates the coordinates for the first point on an axis."," *"," * @method getLineStart"," * @protected"," */"," getLineStart: function()"," {"," var host = this,"," style = host.get(\"styles\"),"," padding = style.padding,"," majorTicks = style.majorTicks,"," tickLength = majorTicks.length,"," display = majorTicks.display,"," pt = {x:0, y:padding.top};"," if(display === \"outside\")"," {"," pt.y += tickLength;"," }"," else if(display === \"cross\")"," {"," pt.y += tickLength/2;"," }"," return pt;"," },",""," /**"," * Draws a tick"," *"," * @method drawTick"," * @param {Path} path reference to the path `Path` element in which to draw the tick."," * @param {Object} pt hash containing x and y coordinates"," * @param {Object} tickStyles hash of properties used to draw the tick"," * @protected"," */"," drawTick: function(path, pt, tickStyles)"," {"," var host = this,"," style = host.get(\"styles\"),"," padding = style.padding,"," tickLength = tickStyles.length,"," start = {x:pt.x, y:padding.top},"," end = {x:pt.x, y:tickLength + padding.top};"," host.drawLine(path, start, end);"," },",""," /**"," * Calculates the point for a label."," *"," * @method getLabelPoint"," * @param {Object} pt hash containing x and y coordinates"," * @return Object"," * @protected"," */"," getLabelPoint: function(pt)"," {"," return {x:pt.x, y:pt.y - this.get(\"topTickOffset\")};"," },",""," /**"," * Updates the value for the `maxLabelSize` for use in calculating total size."," *"," * @method updateMaxLabelSize"," * @param {HTMLElement} label to measure"," * @protected"," */"," updateMaxLabelSize: function(labelWidth, labelHeight)"," {"," var host = this,"," props = this._labelRotationProps,"," rot = props.rot,"," absRot = props.absRot,"," sinRadians = props.sinRadians,"," cosRadians = props.cosRadians,"," max;"," if(rot === 0)"," {"," max = labelHeight;"," }"," else if(absRot === 90)"," {"," max = labelWidth;"," }"," else"," {"," max = (sinRadians * labelWidth) + (cosRadians * labelHeight);"," }"," host._maxLabelSize = Math.max(host._maxLabelSize, max);"," },",""," /**"," * Determines the available label height when the axis width has been explicitly set."," *"," * @method getExplicitlySized"," * @return Boolean"," * @protected"," */"," getExplicitlySized: function(styles)"," {"," if(this._explicitHeight)"," {"," var host = this,"," h = host._explicitHeight,"," totalTitleSize = host._totalTitleSize,"," topTickOffset = host.get(\"topTickOffset\"),"," margin = styles.label.margin.right;"," host._maxLabelSize = h - (topTickOffset + margin + totalTitleSize);"," return true;"," }"," return false;"," },",""," /**"," * Rotate and position title."," *"," * @method positionTitle"," * @param {HTMLElement} label to rotate position"," * @protected"," */"," positionTitle: function(label)"," {"," var host = this,"," bounds = host._titleBounds,"," margin = host.get(\"styles\").title.margin,"," props = host._titleRotationProps,"," labelWidth = label.offsetWidth,"," labelHeight = label.offsetHeight,"," h = bounds.bottom - bounds.top,"," x = (host.get(\"width\") * 0.5) - (labelWidth * 0.5),"," y = h/2 - labelHeight/2;"," props.labelWidth = labelWidth;"," props.labelHeight = labelHeight;"," if(margin && margin.top)"," {"," y += margin.top;"," }"," props.x = x;"," props.y = y;"," props.transformOrigin = [0.5, 0.5];"," host._rotate(label, props);"," },",""," /**"," * Rotate and position labels."," *"," * @method positionLabel"," * @param {HTMLElement} label to rotate position"," * @param {Object} pt hash containing the x and y coordinates in which the label will be positioned"," * against."," * @protected"," */"," positionLabel: function(label, pt, styles, i)"," {"," var host = this,"," totalTitleSize = this._totalTitleSize,"," maxLabelSize = host._maxLabelSize,"," leftOffset = pt.x,"," topOffset = pt.y + totalTitleSize + maxLabelSize,"," props = this._labelRotationProps,"," rot = props.rot,"," absRot = props.absRot,"," labelWidth = this._labelWidths[i],"," labelHeight = this._labelHeights[i];"," if(rot === 0)"," {"," leftOffset -= labelWidth * 0.5;"," topOffset -= labelHeight;"," }"," else"," {"," if(rot === 90)"," {"," leftOffset -= labelWidth;"," topOffset -= (labelHeight * 0.5);"," }"," else if (rot === -90)"," {"," topOffset -= (labelHeight * 0.5);"," }"," else if(rot > 0)"," {"," leftOffset -= labelWidth;"," topOffset -= labelHeight - (labelHeight * rot/180);"," }"," else"," {"," topOffset -= labelHeight - (labelHeight * absRot/180);"," }"," }"," props.x = Math.round(leftOffset);"," props.y = Math.round(topOffset);"," props.labelWidth = labelWidth;"," props.labelHeight = labelHeight;"," this._rotate(label, props);"," },",""," /**"," * Adjusts the coordinates of an axis label based on the rotation."," *"," * @method _setRotationCoords"," * @param {Object} props Coordinates, dimension and rotation properties of the label."," * @protected"," */"," _setRotationCoords: function(props)"," {"," var rot = props.rot,"," absRot = props.absRot,"," labelWidth = props.labelWidth,"," labelHeight = props.labelHeight,"," leftOffset,"," topOffset;"," if(rot === 0)"," {"," leftOffset = labelWidth * 0.5;"," topOffset = labelHeight;"," }"," else"," {"," if(rot === 90)"," {"," leftOffset = labelWidth;"," topOffset = (labelHeight * 0.5);"," }"," else if (rot === -90)"," {"," topOffset = (labelHeight * 0.5);"," }"," else if(rot > 0)"," {"," leftOffset = labelWidth;"," topOffset = labelHeight - (labelHeight * rot/180);"," }"," else"," {"," topOffset = labelHeight - (labelHeight * absRot/180);"," }"," }"," props.x -= leftOffset;"," props.y -= topOffset;"," },",""," /**"," * Returns the transformOrigin to use for an axis label based on the position of the axis"," * and the rotation of the label."," *"," * @method _getTransformOrigin"," * @param {Number} rot The rotation (in degrees) of the label."," * @return Array"," * @protected"," */"," _getTransformOrigin: function(rot)"," {"," var transformOrigin;"," if(rot === 0)"," {"," transformOrigin = [0, 0];"," }"," else"," {"," if(rot === 90)"," {"," transformOrigin = [1, 0.5];"," }"," else if (rot === -90)"," {"," transformOrigin = [0, 0.5];"," }"," else if(rot > 0)"," {"," transformOrigin = [1, 0.5];"," }"," else"," {"," transformOrigin = [0, 0.5];"," }"," }"," return transformOrigin;"," },",""," /**"," * Adjusts position for inner ticks."," *"," * @method offsetNodeForTick"," * @param {Node} cb contentBox of the axis"," * @protected"," */"," offsetNodeForTick: function(cb)"," {"," },",""," /**"," * Assigns a height based on the size of the contents."," *"," * @method setCalculatedSize"," * @protected"," */"," setCalculatedSize: function()"," {"," var host = this,"," graphic = host.get(\"graphic\"),"," styles = host.get(\"styles\"),"," labelMargin = styles.label.margin,"," totalLabelSize = labelMargin.bottom + host._maxLabelSize,"," totalTitleSize = host._totalTitleSize,"," topTickOffset = this.get(\"topTickOffset\"),"," ttl = Math.round(topTickOffset + totalLabelSize + totalTitleSize);"," if(this._explicitHeight)"," {"," ttl = this._explicitHeight;"," }"," host.set(\"calculatedHeight\", ttl);"," graphic.set(\"y\", ttl - topTickOffset);"," }","};","Y.TopAxisLayout = TopAxisLayout;","","/**"," * An abstract class that provides the core functionality for draw a chart axis. Axis is used by the following classes:"," *
    "," *
  • {{#crossLink \"CategoryAxis\"}}{{/crossLink}}
  • "," *
  • {{#crossLink \"NumericAxis\"}}{{/crossLink}}
  • "," *
  • {{#crossLink \"StackedAxis\"}}{{/crossLink}}
  • "," *
  • {{#crossLink \"TimeAxis\"}}{{/crossLink}}
  • "," *
"," *"," * @class Axis"," * @extends Widget"," * @uses AxisBase"," * @uses TopAxisLayout"," * @uses RightAxisLayout"," * @uses BottomAxisLayout"," * @uses LeftAxisLayout"," * @constructor"," * @param {Object} config (optional) Configuration parameters."," * @submodule axis"," */","Y.Axis = Y.Base.create(\"axis\", Y.Widget, [Y.AxisBase], {"," /**"," * Calculates and returns a value based on the number of labels and the index of"," * the current label."," *"," * @method getLabelByIndex"," * @param {Number} i Index of the label."," * @param {Number} l Total number of labels."," * @return String"," */"," getLabelByIndex: function(i, l)"," {"," var position = this.get(\"position\"),"," direction = position == \"left\" || position == \"right\" ? \"vertical\" : \"horizontal\";"," return this._getLabelByIndex(i, l, direction);"," },",""," /**"," * @method bindUI"," * @private"," */"," bindUI: function()"," {"," this.after(\"dataReady\", Y.bind(this._dataChangeHandler, this));"," this.after(\"dataUpdate\", Y.bind(this._dataChangeHandler, this));"," this.after(\"stylesChange\", this._updateHandler);"," this.after(\"overlapGraphChange\", this._updateHandler);"," this.after(\"positionChange\", this._positionChangeHandler);"," this.after(\"widthChange\", this._handleSizeChange);"," this.after(\"heightChange\", this._handleSizeChange);"," this.after(\"calculatedWidthChange\", this._handleSizeChange);"," this.after(\"calculatedHeightChange\", this._handleSizeChange);"," },"," /**"," * Storage for calculatedWidth value."," *"," * @property _calculatedWidth"," * @type Number"," * @private"," */"," _calculatedWidth: 0,",""," /**"," * Storage for calculatedHeight value."," *"," * @property _calculatedHeight"," * @type Number"," * @private"," */"," _calculatedHeight: 0,",""," /**"," * Handles change to the dataProvider"," *"," * @method _dataChangeHandler"," * @param {Object} e Event object"," * @private"," */"," _dataChangeHandler: function(e)"," {"," if(this.get(\"rendered\"))"," {"," this._drawAxis();"," }"," },",""," /**"," * Handles change to the position attribute"," *"," * @method _positionChangeHandler"," * @param {Object} e Event object"," * @private"," */"," _positionChangeHandler: function(e)"," {"," this._updateGraphic(e.newVal);"," this._updateHandler();"," },",""," /**"," * Updates the the Graphic instance"," *"," * @method _updateGraphic"," * @param {String} position Position of axis"," * @private"," */"," _updateGraphic: function(position)"," {"," var graphic = this.get(\"graphic\");"," if(position == \"none\")"," {"," if(graphic)"," {"," graphic.destroy();"," }"," }"," else"," {"," if(!graphic)"," {"," this._setCanvas();"," }"," }"," },",""," /**"," * Handles changes to axis."," *"," * @method _updateHandler"," * @param {Object} e Event object"," * @private"," */"," _updateHandler: function(e)"," {"," if(this.get(\"rendered\"))"," {"," this._drawAxis();"," }"," },",""," /**"," * @method renderUI"," * @private"," */"," renderUI: function()"," {"," this._updateGraphic(this.get(\"position\"));"," },",""," /**"," * @method syncUI"," * @private"," */"," syncUI: function()"," {"," var layout = this._layout,"," defaultMargins,"," styles,"," label,"," title,"," i;"," if(layout)"," {"," defaultMargins = layout._getDefaultMargins();"," styles = this.get(\"styles\");"," label = styles.label.margin;"," title =styles.title.margin;"," //need to defaultMargins method to the layout classes."," for(i in defaultMargins)"," {"," if(defaultMargins.hasOwnProperty(i))"," {"," label[i] = label[i] === undefined ? defaultMargins[i] : label[i];"," title[i] = title[i] === undefined ? defaultMargins[i] : title[i];"," }"," }"," }"," this._drawAxis();"," },",""," /**"," * Creates a graphic instance to be used for the axis line and ticks."," *"," * @method _setCanvas"," * @private"," */"," _setCanvas: function()"," {"," var cb = this.get(\"contentBox\"),"," bb = this.get(\"boundingBox\"),"," p = this.get(\"position\"),"," pn = this._parentNode,"," w = this.get(\"width\"),"," h = this.get(\"height\");"," bb.setStyle(\"position\", \"absolute\");"," bb.setStyle(\"zIndex\", 2);"," w = w ? w + \"px\" : pn.getStyle(\"width\");"," h = h ? h + \"px\" : pn.getStyle(\"height\");"," if(p === \"top\" || p === \"bottom\")"," {"," cb.setStyle(\"width\", w);"," }"," else"," {"," cb.setStyle(\"height\", h);"," }"," cb.setStyle(\"position\", \"relative\");"," cb.setStyle(\"left\", \"0px\");"," cb.setStyle(\"top\", \"0px\");"," this.set(\"graphic\", new Y.Graphic());"," this.get(\"graphic\").render(cb);"," },",""," /**"," * Gets the default value for the `styles` attribute. Overrides"," * base implementation."," *"," * @method _getDefaultStyles"," * @return Object"," * @protected"," */"," _getDefaultStyles: function()"," {"," var axisstyles = {"," majorTicks: {"," display:\"inside\","," length:4,"," color:\"#dad8c9\","," weight:1,"," alpha:1"," },"," minorTicks: {"," display:\"none\","," length:2,"," color:\"#dad8c9\","," weight:1"," },"," line: {"," weight:1,"," color:\"#dad8c9\","," alpha:1"," },"," majorUnit: {"," determinant:\"count\","," count:11,"," distance:75"," },"," top: \"0px\","," left: \"0px\","," width: \"100px\","," height: \"100px\","," label: {"," color:\"#808080\","," alpha: 1,"," fontSize:\"85%\","," rotation: 0,"," margin: {"," top: undefined,"," right: undefined,"," bottom: undefined,"," left: undefined"," }"," },"," title: {"," color:\"#808080\","," alpha: 1,"," fontSize:\"85%\","," rotation: undefined,"," margin: {"," top: undefined,"," right: undefined,"," bottom: undefined,"," left: undefined"," }"," },"," hideOverlappingLabelTicks: false"," };",""," return Y.merge(Y.Renderer.prototype._getDefaultStyles(), axisstyles);"," },",""," /**"," * Updates the axis when the size changes."," *"," * @method _handleSizeChange"," * @param {Object} e Event object."," * @private"," */"," _handleSizeChange: function(e)"," {"," var attrName = e.attrName,"," pos = this.get(\"position\"),"," vert = pos == \"left\" || pos == \"right\","," cb = this.get(\"contentBox\"),"," hor = pos == \"bottom\" || pos == \"top\";"," cb.setStyle(\"width\", this.get(\"width\"));"," cb.setStyle(\"height\", this.get(\"height\"));"," if((hor && attrName == \"width\") || (vert && attrName == \"height\"))"," {"," this._drawAxis();"," }"," },",""," /**"," * Maps key values to classes containing layout algorithms"," *"," * @property _layoutClasses"," * @type Object"," * @private"," */"," _layoutClasses:"," {"," top : TopAxisLayout,"," bottom: BottomAxisLayout,"," left: LeftAxisLayout,"," right : RightAxisLayout"," },",""," /**"," * Draws a line segment between 2 points"," *"," * @method drawLine"," * @param {Object} startPoint x and y coordinates for the start point of the line segment"," * @param {Object} endPoint x and y coordinates for the for the end point of the line segment"," * @param {Object} line styles (weight, color and alpha to be applied to the line segment)"," * @private"," */"," drawLine: function(path, startPoint, endPoint)"," {"," path.moveTo(startPoint.x, startPoint.y);"," path.lineTo(endPoint.x, endPoint.y);"," },",""," /**"," * Generates the properties necessary for rotating and positioning a text field."," *"," * @method _getTextRotationProps"," * @param {Object} styles properties for the text field"," * @return Object"," * @private"," */"," _getTextRotationProps: function(styles)"," {"," if(styles.rotation === undefined)"," {"," switch(this.get(\"position\"))"," {"," case \"left\" :"," styles.rotation = -90;"," break;"," case \"right\" :"," styles.rotation = 90;"," break;"," default :"," styles.rotation = 0;"," break;"," }"," }"," var rot = Math.min(90, Math.max(-90, styles.rotation)),"," absRot = Math.abs(rot),"," radCon = Math.PI/180,"," sinRadians = parseFloat(parseFloat(Math.sin(absRot * radCon)).toFixed(8)),"," cosRadians = parseFloat(parseFloat(Math.cos(absRot * radCon)).toFixed(8));"," return {"," rot: rot,"," absRot: absRot,"," radCon: radCon,"," sinRadians: sinRadians,"," cosRadians: cosRadians,"," textAlpha: styles.alpha"," };"," },",""," /**"," * Draws an axis."," *"," * @method _drawAxis"," * @private"," */"," _drawAxis: function ()"," {"," if(this._drawing)"," {"," this._callLater = true;"," return;"," }"," this._drawing = true;"," this._callLater = false;"," if(this._layout)"," {"," var styles = this.get(\"styles\"),"," line = styles.line,"," labelStyles = styles.label,"," majorTickStyles = styles.majorTicks,"," drawTicks = majorTickStyles.display != \"none\","," tickPoint,"," majorUnit = styles.majorUnit,"," len,"," majorUnitDistance,"," i = 0,"," layout = this._layout,"," layoutLength,"," position,"," lineStart,"," label,"," labelWidth,"," labelHeight,"," labelFunction = this.get(\"labelFunction\"),"," labelFunctionScope = this.get(\"labelFunctionScope\"),"," labelFormat = this.get(\"labelFormat\"),"," graphic = this.get(\"graphic\"),"," path = this.get(\"path\"),"," tickPath,"," explicitlySized,"," position = this.get(\"position\"),"," direction = (position == \"left\" || position == \"right\") ? \"vertical\" : \"horizontal\";"," this._labelWidths = [];"," this._labelHeights = [];"," graphic.set(\"autoDraw\", false);"," path.clear();"," path.set(\"stroke\", {"," weight: line.weight,"," color: line.color,"," opacity: line.alpha"," });"," this._labelRotationProps = this._getTextRotationProps(labelStyles);"," this._labelRotationProps.transformOrigin = layout._getTransformOrigin(this._labelRotationProps.rot);"," layout.setTickOffsets.apply(this);"," layoutLength = this.getLength();"," lineStart = layout.getLineStart.apply(this);"," len = this.getTotalMajorUnits(majorUnit);"," majorUnitDistance = this.getMajorUnitDistance(len, layoutLength, majorUnit);"," this.set(\"edgeOffset\", this.getEdgeOffset(len, layoutLength) * 0.5);"," if(len < 1)"," {"," this._clearLabelCache();"," }"," else"," {"," tickPoint = this.getFirstPoint(lineStart);"," this.drawLine(path, lineStart, this.getLineEnd(tickPoint));"," if(drawTicks)"," {"," tickPath = this.get(\"tickPath\");"," tickPath.clear();"," tickPath.set(\"stroke\", {"," weight: majorTickStyles.weight,"," color: majorTickStyles.color,"," opacity: majorTickStyles.alpha"," });"," layout.drawTick.apply(this, [tickPath, tickPoint, majorTickStyles]);"," }"," this._createLabelCache();"," this._tickPoints = [];"," this._maxLabelSize = 0;"," this._totalTitleSize = 0;"," this._titleSize = 0;"," this._setTitle();"," explicitlySized = layout.getExplicitlySized.apply(this, [styles]);"," for(; i < len; ++i)"," {"," if(drawTicks)"," {"," layout.drawTick.apply(this, [tickPath, tickPoint, majorTickStyles]);"," }"," position = this.getPosition(tickPoint);"," label = this.getLabel(tickPoint, labelStyles);"," this._labels.push(label);"," this._tickPoints.push({x:tickPoint.x, y:tickPoint.y});"," this.get(\"appendLabelFunction\")(label, labelFunction.apply(labelFunctionScope, [this._getLabelByIndex(i, len, direction), labelFormat]));"," labelWidth = Math.round(label.offsetWidth);"," labelHeight = Math.round(label.offsetHeight);"," if(!explicitlySized)"," {"," this._layout.updateMaxLabelSize.apply(this, [labelWidth, labelHeight]);"," }"," this._labelWidths.push(labelWidth);"," this._labelHeights.push(labelHeight);"," tickPoint = this.getNextPoint(tickPoint, majorUnitDistance);"," }"," this._clearLabelCache();"," if(this.get(\"overlapGraph\"))"," {"," layout.offsetNodeForTick.apply(this, [this.get(\"contentBox\")]);"," }"," layout.setCalculatedSize.apply(this);"," if(this._titleTextField)"," {"," this._layout.positionTitle.apply(this, [this._titleTextField]);"," }"," for(i = 0; i < len; ++i)"," {"," layout.positionLabel.apply(this, [this.get(\"labels\")[i], this._tickPoints[i], styles, i]);"," }"," }"," }"," this._drawing = false;"," if(this._callLater)"," {"," this._drawAxis();"," }"," else"," {"," this._updatePathElement();"," this.fire(\"axisRendered\");"," }"," },",""," /**"," * Calculates and sets the total size of a title."," *"," * @method _setTotalTitleSize"," * @param {Object} styles Properties for the title field."," * @private"," */"," _setTotalTitleSize: function(styles)"," {"," var title = this._titleTextField,"," w = title.offsetWidth,"," h = title.offsetHeight,"," rot = this._titleRotationProps.rot,"," bounds,"," size,"," margin = styles.margin,"," position = this.get(\"position\"),"," matrix = new Y.Matrix();"," matrix.rotate(rot);"," bounds = matrix.getContentRect(w, h);"," if(position == \"left\" || position == \"right\")"," {"," size = bounds.right - bounds.left;"," if(margin)"," {"," size += margin.left + margin.right;"," }"," }"," else"," {"," size = bounds.bottom - bounds.top;"," if(margin)"," {"," size += margin.top + margin.bottom;"," }"," }"," this._titleBounds = bounds;"," this._totalTitleSize = size;"," },",""," /**"," * Updates path."," *"," * @method _updatePathElement"," * @private"," */"," _updatePathElement: function()"," {"," var path = this._path,"," tickPath = this._tickPath,"," redrawGraphic = false,"," graphic = this.get(\"graphic\");"," if(path)"," {"," redrawGraphic = true;"," path.end();"," }"," if(tickPath)"," {"," redrawGraphic = true;"," tickPath.end();"," }"," if(redrawGraphic)"," {"," graphic._redraw();"," }"," },",""," /**"," * Updates the content and style properties for a title field."," *"," * @method _updateTitle"," * @private"," */"," _setTitle: function()"," {"," var i,"," styles,"," customStyles,"," title = this.get(\"title\"),"," titleTextField = this._titleTextField,"," parentNode;"," if(title !== null && title !== undefined)"," {"," customStyles = {"," rotation: \"rotation\","," margin: \"margin\","," alpha: \"alpha\""," };"," styles = this.get(\"styles\").title;"," if(!titleTextField)"," {"," titleTextField = DOCUMENT.createElement('span');"," titleTextField.style.display = \"block\";"," titleTextField.style.whiteSpace = \"nowrap\";"," titleTextField.setAttribute(\"class\", \"axisTitle\");"," this.get(\"contentBox\").append(titleTextField);"," }"," else if(!DOCUMENT.createElementNS)"," {"," if(titleTextField.style.filter)"," {"," titleTextField.style.filter = null;"," }"," }"," titleTextField.style.position = \"absolute\";"," for(i in styles)"," {"," if(styles.hasOwnProperty(i) && !customStyles.hasOwnProperty(i))"," {"," titleTextField.style[i] = styles[i];"," }"," }"," this.get(\"appendTitleFunction\")(titleTextField, title);"," this._titleTextField = titleTextField;"," this._titleRotationProps = this._getTextRotationProps(styles);"," this._setTotalTitleSize(styles);"," }"," else if(titleTextField)"," {"," parentNode = titleTextField.parentNode;"," if(parentNode)"," {"," parentNode.removeChild(titleTextField);"," }"," this._titleTextField = null;"," this._totalTitleSize = 0;"," }"," },",""," /**"," * Creates or updates an axis label."," *"," * @method getLabel"," * @param {Object} pt x and y coordinates for the label"," * @param {Object} styles styles applied to label"," * @return HTMLElement"," * @private"," */"," getLabel: function(pt, styles)"," {"," var i,"," label,"," labelCache = this._labelCache,"," customStyles = {"," rotation: \"rotation\","," margin: \"margin\","," alpha: \"alpha\""," };"," if(labelCache && labelCache.length > 0)"," {"," label = labelCache.shift();"," }"," else"," {"," label = DOCUMENT.createElement(\"span\");"," label.className = Y.Lang.trim([label.className, \"axisLabel\"].join(' '));"," this.get(\"contentBox\").append(label);"," }"," if(!DOCUMENT.createElementNS)"," {"," if(label.style.filter)"," {"," label.style.filter = null;"," }"," }"," label.style.display = \"block\";"," label.style.whiteSpace = \"nowrap\";"," label.style.position = \"absolute\";"," for(i in styles)"," {"," if(styles.hasOwnProperty(i) && !customStyles.hasOwnProperty(i))"," {"," label.style[i] = styles[i];"," }"," }"," return label;"," },",""," /**"," * Creates a cache of labels that can be re-used when the axis redraws."," *"," * @method _createLabelCache"," * @private"," */"," _createLabelCache: function()"," {"," if(this._labels)"," {"," while(this._labels.length > 0)"," {"," this._labelCache.push(this._labels.shift());"," }"," }"," else"," {"," this._clearLabelCache();"," }"," this._labels = [];"," },",""," /**"," * Removes axis labels from the dom and clears the label cache."," *"," * @method _clearLabelCache"," * @private"," */"," _clearLabelCache: function()"," {"," if(this._labelCache)"," {"," var len = this._labelCache.length,"," i = 0,"," label;"," for(; i < len; ++i)"," {"," label = this._labelCache[i];"," this._removeChildren(label);"," Y.Event.purgeElement(label, true);"," label.parentNode.removeChild(label);"," }"," }"," this._labelCache = [];"," },",""," /**"," * Gets the end point of an axis."," *"," * @method getLineEnd"," * @return Object"," * @private"," */"," getLineEnd: function(pt)"," {"," var w = this.get(\"width\"),"," h = this.get(\"height\"),"," pos = this.get(\"position\");"," if(pos === \"top\" || pos === \"bottom\")"," {"," return {x:w, y:pt.y};"," }"," else"," {"," return {x:pt.x, y:h};"," }"," },",""," /**"," * Calcuates the width or height of an axis depending on its direction."," *"," * @method getLength"," * @return Number"," * @private"," */"," getLength: function()"," {"," var l,"," style = this.get(\"styles\"),"," padding = style.padding,"," w = this.get(\"width\"),"," h = this.get(\"height\"),"," pos = this.get(\"position\");"," if(pos === \"top\" || pos === \"bottom\")"," {"," l = w - (padding.left + padding.right);"," }"," else"," {"," l = h - (padding.top + padding.bottom);"," }"," return l;"," },",""," /**"," * Gets the position of the first point on an axis."," *"," * @method getFirstPoint"," * @param {Object} pt Object containing x and y coordinates."," * @return Object"," * @private"," */"," getFirstPoint:function(pt)"," {"," var style = this.get(\"styles\"),"," pos = this.get(\"position\"),"," padding = style.padding,"," np = {x:pt.x, y:pt.y};"," if(pos === \"top\" || pos === \"bottom\")"," {"," np.x += padding.left + this.get(\"edgeOffset\");"," }"," else"," {"," np.y += this.get(\"height\") - (padding.top + this.get(\"edgeOffset\"));"," }"," return np;"," },",""," /**"," * Gets the position of the next point on an axis."," *"," * @method getNextPoint"," * @param {Object} point Object containing x and y coordinates."," * @param {Number} majorUnitDistance Distance in pixels between ticks."," * @return Object"," * @private"," */"," getNextPoint: function(point, majorUnitDistance)"," {"," var pos = this.get(\"position\");"," if(pos === \"top\" || pos === \"bottom\")"," {"," point.x = point.x + majorUnitDistance;"," }"," else"," {"," point.y = point.y - majorUnitDistance;"," }"," return point;"," },",""," /**"," * Calculates the placement of last tick on an axis."," *"," * @method getLastPoint"," * @return Object"," * @private"," */"," getLastPoint: function()"," {"," var style = this.get(\"styles\"),"," padding = style.padding,"," w = this.get(\"width\"),"," pos = this.get(\"position\");"," if(pos === \"top\" || pos === \"bottom\")"," {"," return {x:w - padding.right, y:padding.top};"," }"," else"," {"," return {x:padding.left, y:padding.top};"," }"," },",""," /**"," * Calculates position on the axis."," *"," * @method getPosition"," * @param {Object} point contains x and y values"," * @private"," */"," getPosition: function(point)"," {"," var p,"," h = this.get(\"height\"),"," style = this.get(\"styles\"),"," padding = style.padding,"," pos = this.get(\"position\"),"," dataType = this.get(\"dataType\");"," if(pos === \"left\" || pos === \"right\")"," {"," //Numeric data on a vertical axis is displayed from bottom to top."," //Categorical and Timeline data is displayed from top to bottom."," if(dataType === \"numeric\")"," {"," p = (h - (padding.top + padding.bottom)) - (point.y - padding.top);"," }"," else"," {"," p = point.y - padding.top;"," }"," }"," else"," {"," p = point.x - padding.left;"," }"," return p;"," },",""," /**"," * Rotates and positions a text field."," *"," * @method _rotate"," * @param {HTMLElement} label text field to rotate and position"," * @param {Object} props properties to be applied to the text field."," * @private"," */"," _rotate: function(label, props)"," {"," var rot = props.rot,"," x = props.x,"," y = props.y,"," filterString,"," textAlpha,"," matrix = new Y.Matrix(),"," transformOrigin = props.transformOrigin || [0, 0],"," offsetRect;"," if(DOCUMENT.createElementNS)"," {"," matrix.translate(x, y);"," matrix.rotate(rot);"," Y_DOM.setStyle(label, \"transformOrigin\", (transformOrigin[0] * 100) + \"% \" + (transformOrigin[1] * 100) + \"%\");"," Y_DOM.setStyle(label, \"transform\", matrix.toCSSText());"," }"," else"," {"," textAlpha = props.textAlpha;"," if(Y_Lang.isNumber(textAlpha) && textAlpha < 1 && textAlpha > -1 && !isNaN(textAlpha))"," {"," filterString = \"progid:DXImageTransform.Microsoft.Alpha(Opacity=\" + Math.round(textAlpha * 100) + \")\";"," }"," if(rot !== 0)"," {"," //ms filters kind of, sort of uses a transformOrigin of 0, 0."," //we'll translate the difference to create a true 0, 0 origin."," matrix.rotate(rot);"," offsetRect = matrix.getContentRect(props.labelWidth, props.labelHeight);"," matrix.init();"," matrix.translate(offsetRect.left, offsetRect.top);"," matrix.translate(x, y);"," this._simulateRotateWithTransformOrigin(matrix, rot, transformOrigin, props.labelWidth, props.labelHeight);"," if(filterString)"," {"," filterString += \" \";"," }"," else"," {"," filterString = \"\";"," }"," filterString += matrix.toFilterText();"," label.style.left = matrix.dx + \"px\";"," label.style.top = matrix.dy + \"px\";"," }"," else"," {"," label.style.left = x + \"px\";"," label.style.top = y + \"px\";"," }"," if(filterString)"," {"," label.style.filter = filterString;"," }"," }"," },",""," /**"," * Simulates a rotation with a specified transformOrigin."," *"," * @method _simulateTransformOrigin"," * @param {Matrix} matrix Reference to a `Matrix` instance."," * @param {Number} rot The rotation (in degrees) that will be performed on a matrix."," * @param {Array} transformOrigin An array represeniting the origin in which to perform the transform. The first"," * index represents the x origin and the second index represents the y origin."," * @param {Number} w The width of the object that will be transformed."," * @param {Number} h The height of the object that will be transformed."," * @private"," */"," _simulateRotateWithTransformOrigin: function(matrix, rot, transformOrigin, w, h)"," {"," var transformX = transformOrigin[0] * w,"," transformY = transformOrigin[1] * h;"," transformX = !isNaN(transformX) ? transformX : 0;"," transformY = !isNaN(transformY) ? transformY : 0;"," matrix.translate(transformX, transformY);"," matrix.rotate(rot);"," matrix.translate(-transformX, -transformY);"," },",""," /**"," * Returns the coordinates (top, right, bottom, left) for the bounding box of the last label."," *"," * @method getMaxLabelBounds"," * @return Object"," */"," getMaxLabelBounds: function()"," {"," return this._getLabelBounds(this.getMaximumValue());"," },",""," /**"," * Returns the coordinates (top, right, bottom, left) for the bounding box of the first label."," *"," * @method getMinLabelBounds"," * @return Object"," */"," getMinLabelBounds: function()"," {"," return this._getLabelBounds(this.getMinimumValue());"," },",""," /**"," * Returns the coordinates (top, right, bottom, left) for the bounding box of a label."," *"," * @method _getLabelBounds"," * @param {String} Value of the label"," * @return Object"," * @private"," */"," _getLabelBounds: function(val)"," {"," var layout = this._layout,"," labelStyles = this.get(\"styles\").label,"," matrix = new Y.Matrix(),"," label,"," props = this._getTextRotationProps(labelStyles);"," props.transformOrigin = layout._getTransformOrigin(props.rot);"," label = this.getLabel({x: 0, y: 0}, labelStyles);"," this.get(\"appendLabelFunction\")(label, this.get(\"labelFunction\").apply(this, [val, this.get(\"labelFormat\")]));"," props.labelWidth = label.offsetWidth;"," props.labelHeight = label.offsetHeight;"," this._removeChildren(label);"," Y.Event.purgeElement(label, true);"," label.parentNode.removeChild(label);"," props.x = 0;"," props.y = 0;"," layout._setRotationCoords(props);"," matrix.translate(props.x, props.y);"," this._simulateRotateWithTransformOrigin(matrix, props.rot, props.transformOrigin, props.labelWidth, props.labelHeight);"," return matrix.getContentRect(props.labelWidth, props.labelHeight);"," },",""," /**"," * Removes all DOM elements from an HTML element. Used to clear out labels during detruction"," * phase."," *"," * @method _removeChildren"," * @private"," */"," _removeChildren: function(node)"," {"," if(node.hasChildNodes())"," {"," var child;"," while(node.firstChild)"," {"," child = node.firstChild;"," this._removeChildren(child);"," node.removeChild(child);"," }"," }"," },",""," /**"," * Destructor implementation Axis class. Removes all labels and the Graphic instance from the widget."," *"," * @method destructor"," * @protected"," */"," destructor: function()"," {"," var cb = this.get(\"contentBox\").getDOMNode(),"," labels = this.get(\"labels\"),"," graphic = this.get(\"graphic\"),"," label,"," len = labels ? labels.length : 0;"," if(len > 0)"," {"," while(labels.length > 0)"," {"," label = labels.shift();"," this._removeChildren(label);"," cb.removeChild(label);"," label = null;"," }"," }"," if(graphic)"," {"," graphic.destroy();"," }"," },",""," /**"," * Length in pixels of largest text bounding box. Used to calculate the height of the axis."," *"," * @property maxLabelSize"," * @type Number"," * @protected"," */"," _maxLabelSize: 0,",""," /**"," * Updates the content of text field. This method writes a value into a text field using"," * `appendChild`. If the value is a `String`, it is converted to a `TextNode` first."," *"," * @method _setText"," * @param label {HTMLElement} label to be updated"," * @param val {String} value with which to update the label"," * @private"," */"," _setText: function(textField, val)"," {"," textField.innerHTML = \"\";"," if(Y_Lang.isNumber(val))"," {"," val = val + \"\";"," }"," else if(!val)"," {"," val = \"\";"," }"," if(IS_STRING(val))"," {"," val = DOCUMENT.createTextNode(val);"," }"," textField.appendChild(val);"," },",""," /**"," * Returns the total number of majorUnits that will appear on an axis."," *"," * @method getTotalMajorUnits"," * @return Number"," */"," getTotalMajorUnits: function()"," {"," var units,"," majorUnit = this.get(\"styles\").majorUnit,"," len = this.getLength();"," if(majorUnit.determinant === \"count\")"," {"," units = majorUnit.count;"," }"," else if(majorUnit.determinant === \"distance\")"," {"," units = (len/majorUnit.distance) + 1;"," }"," return units;"," },",""," /**"," * Returns the distance between major units on an axis."," *"," * @method getMajorUnitDistance"," * @param {Number} len Number of ticks"," * @param {Number} uiLen Size of the axis."," * @param {Object} majorUnit Hash of properties used to determine the majorUnit"," * @return Number"," */"," getMajorUnitDistance: function(len, uiLen, majorUnit)"," {"," var dist;"," if(majorUnit.determinant === \"count\")"," {"," if(!this.get(\"calculateEdgeOffset\")) "," {"," len = len - 1;"," }"," dist = uiLen/len;"," }"," else if(majorUnit.determinant === \"distance\")"," {"," dist = majorUnit.distance;"," }"," return dist;"," },",""," /**"," * Checks to see if data extends beyond the range of the axis. If so,"," * that data will need to be hidden. This method is internal, temporary and subject"," * to removal in the future."," *"," * @method _hasDataOverflow"," * @protected"," * @return Boolean"," */"," _hasDataOverflow: function()"," {"," if(this.get(\"setMin\") || this.get(\"setMax\"))"," {"," return true;"," }"," return false;"," },",""," /**"," * Returns a string corresponding to the first label on an"," * axis."," *"," * @method getMinimumValue"," * @return String"," */"," getMinimumValue: function()"," {"," return this.get(\"minimum\");"," },",""," /**"," * Returns a string corresponding to the last label on an"," * axis."," *"," * @method getMaximumValue"," * @return String"," */"," getMaximumValue: function()"," {"," return this.get(\"maximum\");"," }","}, {"," ATTRS:"," {"," /**"," * When set, defines the width of a vertical axis instance. By default, vertical axes automatically size based"," * on their contents. When the width attribute is set, the axis will not calculate its width. When the width"," * attribute is explicitly set, axis labels will postion themselves off of the the inner edge of the axis and the"," * title, if present, will position itself off of the outer edge. If a specified width is less than the sum of"," * the axis' contents, excess content will overflow."," *"," * @attribute width"," * @type Number"," */"," width: {"," lazyAdd: false,",""," getter: function()"," {"," if(this._explicitWidth)"," {"," return this._explicitWidth;"," }"," return this._calculatedWidth;"," },",""," setter: function(val)"," {"," this._explicitWidth = val;"," return val;"," }"," },",""," /**"," * When set, defines the height of a horizontal axis instance. By default, horizontal axes automatically size based"," * on their contents. When the height attribute is set, the axis will not calculate its height. When the height"," * attribute is explicitly set, axis labels will postion themselves off of the the inner edge of the axis and the"," * title, if present, will position itself off of the outer edge. If a specified height is less than the sum of"," * the axis' contents, excess content will overflow."," *"," * @attribute height"," * @type Number"," */"," height: {"," lazyAdd: false,",""," getter: function()"," {"," if(this._explicitHeight)"," {"," return this._explicitHeight;"," }"," return this._calculatedHeight;"," },",""," setter: function(val)"," {"," this._explicitHeight = val;"," return val;"," }"," },",""," /**"," * Calculated value of an axis' width. By default, the value is used internally for vertical axes. If the `width`"," * attribute is explicitly set, this value will be ignored."," *"," * @attribute calculatedWidth"," * @type Number"," * @private"," */"," calculatedWidth: {"," getter: function()"," {"," return this._calculatedWidth;"," },",""," setter: function(val)"," {"," this._calculatedWidth = val;"," return val;"," }"," },",""," /**"," * Calculated value of an axis' height. By default, the value is used internally for horizontal axes. If the `height`"," * attribute is explicitly set, this value will be ignored."," *"," * @attribute calculatedHeight"," * @type Number"," * @private"," */"," calculatedHeight: {"," getter: function()"," {"," return this._calculatedHeight;"," },",""," setter: function(val)"," {"," this._calculatedHeight = val;"," return val;"," }"," },",""," /**"," * Difference betweend the first/last tick and edge of axis."," *"," * @attribute edgeOffset"," * @type Number"," * @protected"," */"," edgeOffset:"," {"," value: 0"," },",""," /**"," * The graphic in which the axis line and ticks will be rendered."," *"," * @attribute graphic"," * @type Graphic"," */"," graphic: {},",""," /**"," * @attribute path"," * @type Shape"," * @readOnly"," * @private"," */"," path: {"," readOnly: true,",""," getter: function()"," {"," if(!this._path)"," {"," var graphic = this.get(\"graphic\");"," if(graphic)"," {"," this._path = graphic.addShape({type:\"path\"});"," }"," }"," return this._path;"," }"," },",""," /**"," * @attribute tickPath"," * @type Shape"," * @readOnly"," * @private"," */"," tickPath: {"," readOnly: true,",""," getter: function()"," {"," if(!this._tickPath)"," {"," var graphic = this.get(\"graphic\");"," if(graphic)"," {"," this._tickPath = graphic.addShape({type:\"path\"});"," }"," }"," return this._tickPath;"," }"," },",""," /**"," * Contains the contents of the axis."," *"," * @attribute node"," * @type HTMLElement"," */"," node: {},",""," /**"," * Direction of the axis."," *"," * @attribute position"," * @type String"," */"," position: {"," lazyAdd: false,",""," setter: function(val)"," {"," var layoutClass = this._layoutClasses[val];"," if(val && val != \"none\")"," {"," this._layout = new layoutClass();"," }"," return val;"," }"," },",""," /**"," * Distance determined by the tick styles used to calculate the distance between the axis"," * line in relation to the top of the axis."," *"," * @attribute topTickOffset"," * @type Number"," */"," topTickOffset: {"," value: 0"," },",""," /**"," * Distance determined by the tick styles used to calculate the distance between the axis"," * line in relation to the bottom of the axis."," *"," * @attribute bottomTickOffset"," * @type Number"," */"," bottomTickOffset: {"," value: 0"," },",""," /**"," * Distance determined by the tick styles used to calculate the distance between the axis"," * line in relation to the left of the axis."," *"," * @attribute leftTickOffset"," * @type Number"," */"," leftTickOffset: {"," value: 0"," },",""," /**"," * Distance determined by the tick styles used to calculate the distance between the axis"," * line in relation to the right side of the axis."," *"," * @attribute rightTickOffset"," * @type Number"," */"," rightTickOffset: {"," value: 0"," },",""," /**"," * Collection of labels used to render the axis."," *"," * @attribute labels"," * @type Array"," */"," labels: {"," readOnly: true,"," getter: function()"," {"," return this._labels;"," }"," },",""," /**"," * Collection of points used for placement of labels and ticks along the axis."," *"," * @attribute tickPoints"," * @type Array"," */"," tickPoints: {"," readOnly: true,",""," getter: function()"," {"," if(this.get(\"position\") == \"none\")"," {"," return this.get(\"styles\").majorUnit.count;"," }"," return this._tickPoints;"," }"," },",""," /**"," * Indicates whether the axis overlaps the graph. If an axis is the inner most axis on a given"," * position and the tick position is inside or cross, the axis will need to overlap the graph."," *"," * @attribute overlapGraph"," * @type Boolean"," */"," overlapGraph: {"," value:true,",""," validator: function(val)"," {"," return Y_Lang.isBoolean(val);"," }"," },",""," /**"," * Length in pixels of largest text bounding box. Used to calculate the height of the axis."," *"," * @attribute maxLabelSize"," * @type Number"," * @protected"," */"," maxLabelSize: {"," getter: function()"," {"," return this._maxLabelSize;"," },",""," setter: function(val)"," {"," this._maxLabelSize = val;"," return val;"," }"," },",""," /**"," * Title for the axis. When specified, the title will display. The position of the title is determined by the axis position."," *
"," *
top
Appears above the axis and it labels. The default rotation is 0.
"," *
right
Appears to the right of the axis and its labels. The default rotation is 90.
"," *
bottom
Appears below the axis and its labels. The default rotation is 0.
"," *
left
Appears to the left of the axis and its labels. The default rotation is -90.
"," *
"," *"," * @attribute title"," * @type String"," */"," title: {"," value: null"," },",""," /**"," * Function used to append an axis value to an axis label. This function has the following signature:"," *
"," *
textField
The axis label to be appended. (`HTMLElement`)
"," *
val
The value to attach to the text field. This method will accept an `HTMLELement`"," * or a `String`. This method does not use (`HTMLElement` | `String`)
"," *
"," * The default method appends a value to the `HTMLElement` using the `appendChild` method. If the given"," * value is a `String`, the method will convert the the value to a `textNode` before appending to the"," * `HTMLElement`. This method will not convert an `HTMLString` to an `HTMLElement`."," *"," * @attribute appendLabelFunction"," * @type Function"," */"," appendLabelFunction: {"," valueFn: function()"," {"," return this._setText;"," }"," },",""," /**"," * Function used to append a title value to the title object. This function has the following signature:"," *
"," *
textField
The title text field to be appended. (`HTMLElement`)
"," *
val
The value to attach to the text field. This method will accept an `HTMLELement`"," * or a `String`. This method does not use (`HTMLElement` | `String`)
"," *
"," * The default method appends a value to the `HTMLElement` using the `appendChild` method. If the given"," * value is a `String`, the method will convert the the value to a `textNode` before appending to the"," * `HTMLElement` element. This method will not convert an `HTMLString` to an `HTMLElement`."," *"," * @attribute appendTitleFunction"," * @type Function"," */"," appendTitleFunction: {"," valueFn: function()"," {"," return this._setText;"," }"," }",""," /**"," * Style properties used for drawing an axis. This attribute is inherited from `Renderer`. Below are the default values:"," *
"," *
majorTicks
Properties used for drawing ticks."," *
"," *
display
Position of the tick. Possible values are `inside`, `outside`, `cross` and `none`."," * The default value is `inside`.
"," *
length
The length (in pixels) of the tick. The default value is 4.
"," *
color
The color of the tick. The default value is `#dad8c9`
"," *
weight
Number indicating the width of the tick. The default value is 1.
"," *
alpha
Number from 0 to 1 indicating the opacity of the tick. The default value is 1.
"," *
"," *
"," *
line
Properties used for drawing the axis line."," *
"," *
weight
Number indicating the width of the axis line. The default value is 1.
"," *
color
The color of the axis line. The default value is `#dad8c9`.
"," *
alpha
Number from 0 to 1 indicating the opacity of the tick. The default value is 1.
"," *
"," *
"," *
majorUnit
Properties used to calculate the `majorUnit` for the axis."," *
"," *
determinant
The algorithm used for calculating distance between ticks. The possible options are"," * `count` and `distance`. If the `determinant` is `count`, the axis ticks will spaced so that a specified number"," * of ticks appear on the axis. If the `determinant` is `distance`, the axis ticks will spaced out according to"," * the specified distance. The default value is `count`.
"," *
count
Number of ticks to appear on the axis when the `determinant` is `count`. The default value is 11.
"," *
distance
The distance (in pixels) between ticks when the `determinant` is `distance`. The default"," * value is 75.
"," *
"," *
"," *
label
Properties and styles applied to the axis labels."," *
"," *
color
The color of the labels. The default value is `#808080`.
"," *
alpha
Number between 0 and 1 indicating the opacity of the labels. The default value is 1.
"," *
fontSize
The font-size of the labels. The default value is 85%
"," *
rotation
The rotation, in degrees (between -90 and 90) of the labels. The default value is 0.
"," *
margin
The distance between the label and the axis/tick. Depending on the position of the `Axis`,"," * only one of the properties used."," *
"," *
top
Pixel value used for an axis with a `position` of `bottom`. The default value is 4.
"," *
right
Pixel value used for an axis with a `position` of `left`. The default value is 4.
"," *
bottom
Pixel value used for an axis with a `position` of `top`. The default value is 4.
"," *
left
Pixel value used for an axis with a `position` of `right`. The default value is 4.
"," *
"," *
"," *
"," *
"," *
"," *"," * @attribute styles"," * @type Object"," */"," }","});","Y.AxisType = Y.Base.create(\"baseAxis\", Y.Axis, [], {});","","","}, '3.9.0', {\"requires\": [\"dom\", \"widget\", \"widget-position\", \"widget-stack\", \"graphics\", \"axis-base\"]});"]; -_yuitest_coverage["build/axis/axis.js"].lines = {"1":0,"9":0,"28":0,"30":0,"40":0,"56":0,"61":0,"62":0,"64":0,"67":0,"68":0,"69":0,"71":0,"72":0,"73":0,"75":0,"76":0,"77":0,"79":0,"80":0,"81":0,"96":0,"102":0,"114":0,"120":0,"122":0,"124":0,"126":0,"128":0,"141":0,"153":0,"160":0,"162":0,"164":0,"166":0,"170":0,"172":0,"184":0,"186":0,"191":0,"192":0,"194":0,"206":0,"215":0,"216":0,"217":0,"219":0,"221":0,"222":0,"223":0,"224":0,"238":0,"249":0,"251":0,"252":0,"254":0,"256":0,"258":0,"260":0,"261":0,"265":0,"266":0,"268":0,"269":0,"270":0,"271":0,"272":0,"284":0,"290":0,"292":0,"293":0,"295":0,"297":0,"298":0,"300":0,"302":0,"303":0,"307":0,"308":0,"310":0,"311":0,"325":0,"326":0,"328":0,"330":0,"332":0,"334":0,"336":0,"340":0,"342":0,"364":0,"372":0,"374":0,"376":0,"377":0,"381":0,"389":0,"391":0,"401":0,"417":0,"422":0,"423":0,"425":0,"428":0,"429":0,"430":0,"432":0,"433":0,"434":0,"436":0,"437":0,"438":0,"440":0,"441":0,"442":0,"457":0,"463":0,"475":0,"482":0,"484":0,"486":0,"488":0,"490":0,"503":0,"515":0,"522":0,"524":0,"526":0,"528":0,"532":0,"534":0,"546":0,"548":0,"553":0,"554":0,"556":0,"568":0,"577":0,"578":0,"579":0,"581":0,"583":0,"584":0,"585":0,"586":0,"600":0,"611":0,"613":0,"615":0,"617":0,"619":0,"621":0,"622":0,"624":0,"626":0,"630":0,"631":0,"633":0,"634":0,"635":0,"636":0,"637":0,"638":0,"639":0,"651":0,"657":0,"659":0,"661":0,"663":0,"664":0,"666":0,"668":0,"672":0,"673":0,"675":0,"676":0,"690":0,"691":0,"693":0,"695":0,"697":0,"699":0,"701":0,"705":0,"707":0,"719":0,"722":0,"733":0,"738":0,"740":0,"742":0,"743":0,"747":0,"755":0,"757":0,"767":0,"783":0,"788":0,"789":0,"791":0,"794":0,"795":0,"796":0,"798":0,"799":0,"800":0,"802":0,"803":0,"804":0,"806":0,"807":0,"808":0,"820":0,"826":0,"828":0,"830":0,"832":0,"834":0,"848":0,"854":0,"867":0,"879":0,"886":0,"888":0,"890":0,"892":0,"896":0,"898":0,"910":0,"912":0,"917":0,"918":0,"920":0,"932":0,"941":0,"942":0,"943":0,"945":0,"947":0,"948":0,"949":0,"950":0,"964":0,"975":0,"977":0,"979":0,"981":0,"983":0,"985":0,"986":0,"990":0,"992":0,"993":0,"994":0,"995":0,"996":0,"997":0,"998":0,"1010":0,"1017":0,"1019":0,"1020":0,"1022":0,"1024":0,"1025":0,"1029":0,"1030":0,"1032":0,"1033":0,"1047":0,"1048":0,"1050":0,"1052":0,"1054":0,"1058":0,"1060":0,"1072":0,"1073":0,"1084":0,"1089":0,"1091":0,"1093":0,"1096":0,"1104":0,"1106":0,"1116":0,"1132":0,"1137":0,"1138":0,"1139":0,"1142":0,"1143":0,"1144":0,"1146":0,"1147":0,"1148":0,"1150":0,"1151":0,"1152":0,"1154":0,"1155":0,"1156":0,"1168":0,"1175":0,"1177":0,"1179":0,"1181":0,"1183":0,"1197":0,"1203":0,"1216":0,"1228":0,"1235":0,"1237":0,"1239":0,"1241":0,"1245":0,"1247":0,"1259":0,"1261":0,"1266":0,"1267":0,"1269":0,"1281":0,"1290":0,"1291":0,"1292":0,"1294":0,"1296":0,"1297":0,"1298":0,"1299":0,"1313":0,"1323":0,"1325":0,"1326":0,"1330":0,"1332":0,"1333":0,"1335":0,"1337":0,"1339":0,"1341":0,"1342":0,"1346":0,"1349":0,"1350":0,"1351":0,"1352":0,"1353":0,"1365":0,"1371":0,"1373":0,"1374":0,"1378":0,"1380":0,"1381":0,"1383":0,"1385":0,"1387":0,"1389":0,"1390":0,"1394":0,"1397":0,"1398":0,"1412":0,"1413":0,"1415":0,"1419":0,"1421":0,"1423":0,"1425":0,"1427":0,"1429":0,"1433":0,"1436":0,"1458":0,"1466":0,"1468":0,"1470":0,"1471":0,"1474":0,"1496":0,"1508":0,"1510":0,"1519":0,"1520":0,"1521":0,"1522":0,"1523":0,"1524":0,"1525":0,"1526":0,"1527":0,"1556":0,"1558":0,"1571":0,"1572":0,"1584":0,"1585":0,"1587":0,"1589":0,"1594":0,"1596":0,"1610":0,"1612":0,"1622":0,"1631":0,"1637":0,"1639":0,"1640":0,"1641":0,"1642":0,"1644":0,"1646":0,"1648":0,"1649":0,"1653":0,"1664":0,"1670":0,"1671":0,"1672":0,"1673":0,"1674":0,"1676":0,"1680":0,"1682":0,"1683":0,"1684":0,"1685":0,"1686":0,"1699":0,"1754":0,"1766":0,"1771":0,"1772":0,"1773":0,"1775":0,"1805":0,"1806":0,"1819":0,"1821":0,"1824":0,"1825":0,"1827":0,"1828":0,"1830":0,"1831":0,"1834":0,"1839":0,"1857":0,"1859":0,"1860":0,"1862":0,"1863":0,"1864":0,"1866":0,"1892":0,"1893":0,"1894":0,"1895":0,"1896":0,"1901":0,"1902":0,"1903":0,"1904":0,"1905":0,"1906":0,"1907":0,"1908":0,"1909":0,"1911":0,"1915":0,"1916":0,"1917":0,"1919":0,"1920":0,"1921":0,"1926":0,"1928":0,"1929":0,"1930":0,"1931":0,"1932":0,"1933":0,"1934":0,"1935":0,"1937":0,"1939":0,"1941":0,"1942":0,"1943":0,"1944":0,"1945":0,"1946":0,"1947":0,"1948":0,"1950":0,"1952":0,"1953":0,"1954":0,"1956":0,"1957":0,"1959":0,"1961":0,"1962":0,"1964":0,"1966":0,"1968":0,"1972":0,"1973":0,"1975":0,"1979":0,"1980":0,"1993":0,"2002":0,"2003":0,"2004":0,"2006":0,"2007":0,"2009":0,"2014":0,"2015":0,"2017":0,"2020":0,"2021":0,"2032":0,"2036":0,"2038":0,"2039":0,"2041":0,"2043":0,"2044":0,"2046":0,"2048":0,"2060":0,"2066":0,"2068":0,"2073":0,"2074":0,"2076":0,"2077":0,"2078":0,"2079":0,"2080":0,"2082":0,"2084":0,"2086":0,"2089":0,"2090":0,"2092":0,"2094":0,"2097":0,"2098":0,"2099":0,"2100":0,"2102":0,"2104":0,"2105":0,"2107":0,"2109":0,"2110":0,"2125":0,"2133":0,"2135":0,"2139":0,"2140":0,"2141":0,"2143":0,"2145":0,"2147":0,"2150":0,"2151":0,"2152":0,"2153":0,"2155":0,"2157":0,"2160":0,"2171":0,"2173":0,"2175":0,"2180":0,"2182":0,"2193":0,"2195":0,"2198":0,"2200":0,"2201":0,"2202":0,"2203":0,"2206":0,"2218":0,"2221":0,"2223":0,"2227":0,"2240":0,"2246":0,"2248":0,"2252":0,"2254":0,"2267":0,"2271":0,"2273":0,"2277":0,"2279":0,"2293":0,"2294":0,"2296":0,"2300":0,"2302":0,"2314":0,"2318":0,"2320":0,"2324":0,"2337":0,"2343":0,"2347":0,"2349":0,"2353":0,"2358":0,"2360":0,"2373":0,"2381":0,"2383":0,"2384":0,"2385":0,"2386":0,"2390":0,"2391":0,"2393":0,"2395":0,"2399":0,"2400":0,"2401":0,"2402":0,"2403":0,"2404":0,"2405":0,"2407":0,"2411":0,"2413":0,"2414":0,"2415":0,"2419":0,"2420":0,"2422":0,"2424":0,"2443":0,"2445":0,"2446":0,"2447":0,"2448":0,"2449":0,"2460":0,"2471":0,"2484":0,"2489":0,"2490":0,"2491":0,"2492":0,"2493":0,"2494":0,"2495":0,"2496":0,"2497":0,"2498":0,"2499":0,"2500":0,"2501":0,"2502":0,"2514":0,"2516":0,"2517":0,"2519":0,"2520":0,"2521":0,"2534":0,"2539":0,"2541":0,"2543":0,"2544":0,"2545":0,"2546":0,"2549":0,"2551":0,"2575":0,"2576":0,"2578":0,"2580":0,"2582":0,"2584":0,"2586":0,"2588":0,"2599":0,"2602":0,"2604":0,"2606":0,"2608":0,"2610":0,"2624":0,"2625":0,"2627":0,"2629":0,"2631":0,"2633":0,"2635":0,"2637":0,"2651":0,"2653":0,"2655":0,"2667":0,"2679":0,"2699":0,"2701":0,"2703":0,"2708":0,"2709":0,"2728":0,"2730":0,"2732":0,"2737":0,"2738":0,"2753":0,"2758":0,"2759":0,"2774":0,"2779":0,"2780":0,"2815":0,"2817":0,"2818":0,"2820":0,"2823":0,"2838":0,"2840":0,"2841":0,"2843":0,"2846":0,"2869":0,"2870":0,"2872":0,"2874":0,"2932":0,"2947":0,"2949":0,"2951":0,"2967":0,"2981":0,"2986":0,"2987":0,"3024":0,"3045":0,"3104":0}; -_yuitest_coverage["build/axis/axis.js"].functions = {"_getDefaultMargins:38":0,"setTickOffsets:54":0,"drawTick:94":0,"getLineStart:112":0,"getLabelPoint:139":0,"updateMaxLabelSize:151":0,"getExplicitlySized:182":0,"positionTitle:204":0,"positionLabel:236":0,"_setRotationCoords:282":0,"_getTransformOrigin:323":0,"setCalculatedSize:362":0,"_getDefaultMargins:399":0,"setTickOffsets:415":0,"drawTick:455":0,"getLineStart:473":0,"getLabelPoint:501":0,"updateMaxLabelSize:513":0,"getExplicitlySized:544":0,"positionTitle:566":0,"positionLabel:598":0,"_setRotationCoords:649":0,"_getTransformOrigin:688":0,"offsetNodeForTick:717":0,"setCalculatedSize:731":0,"_getDefaultMargins:765":0,"setTickOffsets:781":0,"getLineStart:818":0,"drawTick:846":0,"getLabelPoint:865":0,"updateMaxLabelSize:877":0,"getExplicitlySized:908":0,"positionTitle:930":0,"positionLabel:962":0,"_setRotationCoords:1008":0,"_getTransformOrigin:1045":0,"offsetNodeForTick:1070":0,"setCalculatedSize:1082":0,"_getDefaultMargins:1114":0,"setTickOffsets:1130":0,"getLineStart:1166":0,"drawTick:1195":0,"getLabelPoint:1214":0,"updateMaxLabelSize:1226":0,"getExplicitlySized:1257":0,"positionTitle:1279":0,"positionLabel:1311":0,"_setRotationCoords:1363":0,"_getTransformOrigin:1410":0,"setCalculatedSize:1456":0,"getLabelByIndex:1506":0,"bindUI:1517":0,"_dataChangeHandler:1554":0,"_positionChangeHandler:1569":0,"_updateGraphic:1582":0,"_updateHandler:1608":0,"renderUI:1620":0,"syncUI:1629":0,"_setCanvas:1662":0,"_getDefaultStyles:1697":0,"_handleSizeChange:1764":0,"drawLine:1803":0,"_getTextRotationProps:1817":0,"_drawAxis:1855":0,"_setTotalTitleSize:1991":0,"_updatePathElement:2030":0,"_setTitle:2058":0,"getLabel:2123":0,"_createLabelCache:2169":0,"_clearLabelCache:2191":0,"getLineEnd:2216":0,"getLength:2238":0,"getFirstPoint:2265":0,"getNextPoint:2291":0,"getLastPoint:2312":0,"getPosition:2335":0,"_rotate:2371":0,"_simulateRotateWithTransformOrigin:2441":0,"getMaxLabelBounds:2458":0,"getMinLabelBounds:2469":0,"_getLabelBounds:2482":0,"_removeChildren:2512":0,"destructor:2532":0,"_setText:2573":0,"getTotalMajorUnits:2597":0,"getMajorUnitDistance:2622":0,"_hasDataOverflow:2649":0,"getMinimumValue:2665":0,"getMaximumValue:2677":0,"getter:2697":0,"setter:2706":0,"getter:2726":0,"setter:2735":0,"getter:2751":0,"setter:2756":0,"getter:2772":0,"setter:2777":0,"getter:2813":0,"getter:2836":0,"setter:2867":0,"getter:2930":0,"getter:2945":0,"validator:2965":0,"getter:2979":0,"setter:2984":0,"valueFn:3022":0,"valueFn:3043":0,"(anonymous 1):1":0}; -_yuitest_coverage["build/axis/axis.js"].coveredLines = 753; -_yuitest_coverage["build/axis/axis.js"].coveredFunctions = 108; -_yuitest_coverline("build/axis/axis.js", 1); -YUI.add('axis', function (Y, NAME) { - -/** - * Provides base functionality for drawing chart axes. - * - * @module charts - * @submodule axis - */ -_yuitest_coverfunc("build/axis/axis.js", "(anonymous 1)", 1); -_yuitest_coverline("build/axis/axis.js", 9); -var CONFIG = Y.config, - WINDOW = CONFIG.win, - DOCUMENT = CONFIG.doc, - Y_Lang = Y.Lang, - IS_STRING = Y_Lang.isString, - Y_DOM = Y.DOM, - LeftAxisLayout, - RightAxisLayout, - BottomAxisLayout, - TopAxisLayout, - _getClassName = Y.ClassNameManager.getClassName, - SERIES_MARKER = _getClassName("seriesmarker"); -/** - * Algorithmic strategy for rendering a left axis. - * - * @class LeftAxisLayout - * @constructor - * @submodule axis - */ -_yuitest_coverline("build/axis/axis.js", 28); -LeftAxisLayout = function() {}; - -_yuitest_coverline("build/axis/axis.js", 30); -LeftAxisLayout.prototype = { - /** - * Default margins for text fields. - * - * @private - * @method _getDefaultMargins - * @return Object - */ - _getDefaultMargins: function() - { - _yuitest_coverfunc("build/axis/axis.js", "_getDefaultMargins", 38); -_yuitest_coverline("build/axis/axis.js", 40); -return { - top: 0, - left: 0, - right: 4, - bottom: 0 - }; - }, - - /** - * Sets the length of the tick on either side of the axis line. - * - * @method setTickOffset - * @protected - */ - setTickOffsets: function() - { - _yuitest_coverfunc("build/axis/axis.js", "setTickOffsets", 54); -_yuitest_coverline("build/axis/axis.js", 56); -var host = this, - majorTicks = host.get("styles").majorTicks, - tickLength = majorTicks.length, - halfTick = tickLength * 0.5, - display = majorTicks.display; - _yuitest_coverline("build/axis/axis.js", 61); -host.set("topTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 62); -host.set("bottomTickOffset", 0); - - _yuitest_coverline("build/axis/axis.js", 64); -switch(display) - { - case "inside" : - _yuitest_coverline("build/axis/axis.js", 67); -host.set("rightTickOffset", tickLength); - _yuitest_coverline("build/axis/axis.js", 68); -host.set("leftTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 69); -break; - case "outside" : - _yuitest_coverline("build/axis/axis.js", 71); -host.set("rightTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 72); -host.set("leftTickOffset", tickLength); - _yuitest_coverline("build/axis/axis.js", 73); -break; - case "cross": - _yuitest_coverline("build/axis/axis.js", 75); -host.set("rightTickOffset", halfTick); - _yuitest_coverline("build/axis/axis.js", 76); -host.set("leftTickOffset", halfTick); - _yuitest_coverline("build/axis/axis.js", 77); -break; - default: - _yuitest_coverline("build/axis/axis.js", 79); -host.set("rightTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 80); -host.set("leftTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 81); -break; - } - }, - - /** - * Draws a tick - * - * @method drawTick - * @param {Path} path reference to the path `Path` element in which to draw the tick. - * @param {Object} pt Point on the axis in which the tick will intersect. - * @param {Object} tickStyle Hash of properties to apply to the tick. - * @protected - */ - drawTick: function(path, pt, tickStyles) - { - _yuitest_coverfunc("build/axis/axis.js", "drawTick", 94); -_yuitest_coverline("build/axis/axis.js", 96); -var host = this, - style = host.get("styles"), - padding = style.padding, - tickLength = tickStyles.length, - start = {x:padding.left, y:pt.y}, - end = {x:tickLength + padding.left, y:pt.y}; - _yuitest_coverline("build/axis/axis.js", 102); -host.drawLine(path, start, end); - }, - - /** - * Calculates the coordinates for the first point on an axis. - * - * @method getLineStart - * @return {Object} - * @protected - */ - getLineStart: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getLineStart", 112); -_yuitest_coverline("build/axis/axis.js", 114); -var style = this.get("styles"), - padding = style.padding, - majorTicks = style.majorTicks, - tickLength = majorTicks.length, - display = majorTicks.display, - pt = {x:padding.left, y:0}; - _yuitest_coverline("build/axis/axis.js", 120); -if(display === "outside") - { - _yuitest_coverline("build/axis/axis.js", 122); -pt.x += tickLength; - } - else {_yuitest_coverline("build/axis/axis.js", 124); -if(display === "cross") - { - _yuitest_coverline("build/axis/axis.js", 126); -pt.x += tickLength/2; - }} - _yuitest_coverline("build/axis/axis.js", 128); -return pt; - }, - - /** - * Calculates the point for a label. - * - * @method getLabelPoint - * @param {Object} point Point on the axis in which the tick will intersect. - * @return {Object} - * @protected - */ - getLabelPoint: function(point) - { - _yuitest_coverfunc("build/axis/axis.js", "getLabelPoint", 139); -_yuitest_coverline("build/axis/axis.js", 141); -return {x:point.x - this.get("leftTickOffset"), y:point.y}; - }, - - /** - * Updates the value for the `maxLabelSize` for use in calculating total size. - * - * @method updateMaxLabelSize - * @param {HTMLElement} label to measure - * @protected - */ - updateMaxLabelSize: function(labelWidth, labelHeight) - { - _yuitest_coverfunc("build/axis/axis.js", "updateMaxLabelSize", 151); -_yuitest_coverline("build/axis/axis.js", 153); -var host = this, - props = this._labelRotationProps, - rot = props.rot, - absRot = props.absRot, - sinRadians = props.sinRadians, - cosRadians = props.cosRadians, - max; - _yuitest_coverline("build/axis/axis.js", 160); -if(rot === 0) - { - _yuitest_coverline("build/axis/axis.js", 162); -max = labelWidth; - } - else {_yuitest_coverline("build/axis/axis.js", 164); -if(absRot === 90) - { - _yuitest_coverline("build/axis/axis.js", 166); -max = labelHeight; - } - else - { - _yuitest_coverline("build/axis/axis.js", 170); -max = (cosRadians * labelWidth) + (sinRadians * labelHeight); - }} - _yuitest_coverline("build/axis/axis.js", 172); -host._maxLabelSize = Math.max(host._maxLabelSize, max); - }, - - /** - * Determines the available label width when the axis width has been explicitly set. - * - * @method getExplicitlySized - * @return Boolean - * @protected - */ - getExplicitlySized: function(styles) - { - _yuitest_coverfunc("build/axis/axis.js", "getExplicitlySized", 182); -_yuitest_coverline("build/axis/axis.js", 184); -if(this._explicitWidth) - { - _yuitest_coverline("build/axis/axis.js", 186); -var host = this, - w = host._explicitWidth, - totalTitleSize = host._totalTitleSize, - leftTickOffset = host.get("leftTickOffset"), - margin = styles.label.margin.right; - _yuitest_coverline("build/axis/axis.js", 191); -host._maxLabelSize = w - (leftTickOffset + margin + totalTitleSize); - _yuitest_coverline("build/axis/axis.js", 192); -return true; - } - _yuitest_coverline("build/axis/axis.js", 194); -return false; - }, - - /** - * Rotate and position title. - * - * @method positionTitle - * @param {HTMLElement} label to rotate position - * @protected - */ - positionTitle: function(label) - { - _yuitest_coverfunc("build/axis/axis.js", "positionTitle", 204); -_yuitest_coverline("build/axis/axis.js", 206); -var host = this, - bounds = host._titleBounds, - margin = host.get("styles").title.margin, - props = host._titleRotationProps, - w = bounds.right - bounds.left, - labelWidth = label.offsetWidth, - labelHeight = label.offsetHeight, - x = (labelWidth * -0.5) + (w * 0.5), - y = (host.get("height") * 0.5) - (labelHeight * 0.5); - _yuitest_coverline("build/axis/axis.js", 215); -props.labelWidth = labelWidth; - _yuitest_coverline("build/axis/axis.js", 216); -props.labelHeight = labelHeight; - _yuitest_coverline("build/axis/axis.js", 217); -if(margin && margin.left) - { - _yuitest_coverline("build/axis/axis.js", 219); -x += margin.left; - } - _yuitest_coverline("build/axis/axis.js", 221); -props.x = x; - _yuitest_coverline("build/axis/axis.js", 222); -props.y = y; - _yuitest_coverline("build/axis/axis.js", 223); -props.transformOrigin = [0.5, 0.5]; - _yuitest_coverline("build/axis/axis.js", 224); -host._rotate(label, props); - }, - - /** - * Rotate and position labels. - * - * @method positionLabel - * @param {HTMLElement} label to rotate position - * @param {Object} pt hash containing the x and y coordinates in which the label will be positioned - * against. - * @protected - */ - positionLabel: function(label, pt, styles, i) - { - _yuitest_coverfunc("build/axis/axis.js", "positionLabel", 236); -_yuitest_coverline("build/axis/axis.js", 238); -var host = this, - tickOffset = host.get("leftTickOffset"), - totalTitleSize = this._totalTitleSize, - leftOffset = pt.x + totalTitleSize - tickOffset, - topOffset = pt.y, - props = this._labelRotationProps, - rot = props.rot, - absRot = props.absRot, - maxLabelSize = host._maxLabelSize, - labelWidth = this._labelWidths[i], - labelHeight = this._labelHeights[i]; - _yuitest_coverline("build/axis/axis.js", 249); -if(rot === 0) - { - _yuitest_coverline("build/axis/axis.js", 251); -leftOffset -= labelWidth; - _yuitest_coverline("build/axis/axis.js", 252); -topOffset -= labelHeight * 0.5; - } - else {_yuitest_coverline("build/axis/axis.js", 254); -if(rot === 90) - { - _yuitest_coverline("build/axis/axis.js", 256); -leftOffset -= labelWidth * 0.5; - } - else {_yuitest_coverline("build/axis/axis.js", 258); -if(rot === -90) - { - _yuitest_coverline("build/axis/axis.js", 260); -leftOffset -= labelWidth * 0.5; - _yuitest_coverline("build/axis/axis.js", 261); -topOffset -= labelHeight; - } - else - { - _yuitest_coverline("build/axis/axis.js", 265); -leftOffset -= labelWidth + (labelHeight * absRot/360); - _yuitest_coverline("build/axis/axis.js", 266); -topOffset -= labelHeight * 0.5; - }}} - _yuitest_coverline("build/axis/axis.js", 268); -props.labelWidth = labelWidth; - _yuitest_coverline("build/axis/axis.js", 269); -props.labelHeight = labelHeight; - _yuitest_coverline("build/axis/axis.js", 270); -props.x = Math.round(maxLabelSize + leftOffset); - _yuitest_coverline("build/axis/axis.js", 271); -props.y = Math.round(topOffset); - _yuitest_coverline("build/axis/axis.js", 272); -this._rotate(label, props); - }, - - /** - * Adjusts the coordinates of an axis label based on the rotation. - * - * @method _setRotationCoords - * @param {Object} props Coordinates, dimension and rotation properties of the label. - * @protected - */ - _setRotationCoords: function(props) - { - _yuitest_coverfunc("build/axis/axis.js", "_setRotationCoords", 282); -_yuitest_coverline("build/axis/axis.js", 284); -var rot = props.rot, - absRot = props.absRot, - leftOffset, - topOffset, - labelWidth = props.labelWidth, - labelHeight = props.labelHeight; - _yuitest_coverline("build/axis/axis.js", 290); -if(rot === 0) - { - _yuitest_coverline("build/axis/axis.js", 292); -leftOffset = labelWidth; - _yuitest_coverline("build/axis/axis.js", 293); -topOffset = labelHeight * 0.5; - } - else {_yuitest_coverline("build/axis/axis.js", 295); -if(rot === 90) - { - _yuitest_coverline("build/axis/axis.js", 297); -topOffset = 0; - _yuitest_coverline("build/axis/axis.js", 298); -leftOffset = labelWidth * 0.5; - } - else {_yuitest_coverline("build/axis/axis.js", 300); -if(rot === -90) - { - _yuitest_coverline("build/axis/axis.js", 302); -leftOffset = labelWidth * 0.5; - _yuitest_coverline("build/axis/axis.js", 303); -topOffset = labelHeight; - } - else - { - _yuitest_coverline("build/axis/axis.js", 307); -leftOffset = labelWidth + (labelHeight * absRot/360); - _yuitest_coverline("build/axis/axis.js", 308); -topOffset = labelHeight * 0.5; - }}} - _yuitest_coverline("build/axis/axis.js", 310); -props.x -= leftOffset; - _yuitest_coverline("build/axis/axis.js", 311); -props.y -= topOffset; - }, - - /** - * Returns the transformOrigin to use for an axis label based on the position of the axis - * and the rotation of the label. - * - * @method _getTransformOrigin - * @param {Number} rot The rotation (in degrees) of the label. - * @return Array - * @protected - */ - _getTransformOrigin: function(rot) - { - _yuitest_coverfunc("build/axis/axis.js", "_getTransformOrigin", 323); -_yuitest_coverline("build/axis/axis.js", 325); -var transformOrigin; - _yuitest_coverline("build/axis/axis.js", 326); -if(rot === 0) - { - _yuitest_coverline("build/axis/axis.js", 328); -transformOrigin = [0, 0]; - } - else {_yuitest_coverline("build/axis/axis.js", 330); -if(rot === 90) - { - _yuitest_coverline("build/axis/axis.js", 332); -transformOrigin = [0.5, 0]; - } - else {_yuitest_coverline("build/axis/axis.js", 334); -if(rot === -90) - { - _yuitest_coverline("build/axis/axis.js", 336); -transformOrigin = [0.5, 1]; - } - else - { - _yuitest_coverline("build/axis/axis.js", 340); -transformOrigin = [1, 0.5]; - }}} - _yuitest_coverline("build/axis/axis.js", 342); -return transformOrigin; - }, - - /** - * Adjust the position of the Axis widget's content box for internal axes. - * - * @method offsetNodeForTick - * @param {Node} cb Content box of the Axis. - * @protected - */ - offsetNodeForTick: function(cb) - { - }, - - /** - * Sets the width of the axis based on its contents. - * - * @method setCalculatedSize - * @protected - */ - setCalculatedSize: function() - { - _yuitest_coverfunc("build/axis/axis.js", "setCalculatedSize", 362); -_yuitest_coverline("build/axis/axis.js", 364); -var host = this, - graphic = this.get("graphic"), - style = host.get("styles"), - label = style.label, - tickOffset = host.get("leftTickOffset"), - max = host._maxLabelSize, - totalTitleSize = this._totalTitleSize, - ttl = Math.round(totalTitleSize + tickOffset + max + label.margin.right); - _yuitest_coverline("build/axis/axis.js", 372); -if(this._explicitWidth) - { - _yuitest_coverline("build/axis/axis.js", 374); -ttl = this._explicitWidth; - } - _yuitest_coverline("build/axis/axis.js", 376); -this.set("calculatedWidth", ttl); - _yuitest_coverline("build/axis/axis.js", 377); -graphic.set("x", ttl - tickOffset); - } -}; - -_yuitest_coverline("build/axis/axis.js", 381); -Y.LeftAxisLayout = LeftAxisLayout; -/** - * RightAxisLayout contains algorithms for rendering a right axis. - * - * @class RightAxisLayout - * @constructor - * @submodule axis - */ -_yuitest_coverline("build/axis/axis.js", 389); -RightAxisLayout = function(){}; - -_yuitest_coverline("build/axis/axis.js", 391); -RightAxisLayout.prototype = { - /** - * Default margins for text fields. - * - * @private - * @method _getDefaultMargins - * @return Object - */ - _getDefaultMargins: function() - { - _yuitest_coverfunc("build/axis/axis.js", "_getDefaultMargins", 399); -_yuitest_coverline("build/axis/axis.js", 401); -return { - top: 0, - left: 4, - right: 0, - bottom: 0 - }; - }, - - /** - * Sets the length of the tick on either side of the axis line. - * - * @method setTickOffset - * @protected - */ - setTickOffsets: function() - { - _yuitest_coverfunc("build/axis/axis.js", "setTickOffsets", 415); -_yuitest_coverline("build/axis/axis.js", 417); -var host = this, - majorTicks = host.get("styles").majorTicks, - tickLength = majorTicks.length, - halfTick = tickLength * 0.5, - display = majorTicks.display; - _yuitest_coverline("build/axis/axis.js", 422); -host.set("topTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 423); -host.set("bottomTickOffset", 0); - - _yuitest_coverline("build/axis/axis.js", 425); -switch(display) - { - case "inside" : - _yuitest_coverline("build/axis/axis.js", 428); -host.set("leftTickOffset", tickLength); - _yuitest_coverline("build/axis/axis.js", 429); -host.set("rightTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 430); -break; - case "outside" : - _yuitest_coverline("build/axis/axis.js", 432); -host.set("leftTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 433); -host.set("rightTickOffset", tickLength); - _yuitest_coverline("build/axis/axis.js", 434); -break; - case "cross" : - _yuitest_coverline("build/axis/axis.js", 436); -host.set("rightTickOffset", halfTick); - _yuitest_coverline("build/axis/axis.js", 437); -host.set("leftTickOffset", halfTick); - _yuitest_coverline("build/axis/axis.js", 438); -break; - default: - _yuitest_coverline("build/axis/axis.js", 440); -host.set("leftTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 441); -host.set("rightTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 442); -break; - } - }, - - /** - * Draws a tick - * - * @method drawTick - * @param {Path} path reference to the path `Path` element in which to draw the tick. - * @param {Object} pt Point on the axis in which the tick will intersect. - * @param {Object) tickStyle Hash of properties to apply to the tick. - * @protected - */ - drawTick: function(path, pt, tickStyles) - { - _yuitest_coverfunc("build/axis/axis.js", "drawTick", 455); -_yuitest_coverline("build/axis/axis.js", 457); -var host = this, - style = host.get("styles"), - padding = style.padding, - tickLength = tickStyles.length, - start = {x:padding.left, y:pt.y}, - end = {x:padding.left + tickLength, y:pt.y}; - _yuitest_coverline("build/axis/axis.js", 463); -host.drawLine(path, start, end); - }, - - /** - * Calculates the coordinates for the first point on an axis. - * - * @method getLineStart - * @return {Object} - * @protected - */ - getLineStart: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getLineStart", 473); -_yuitest_coverline("build/axis/axis.js", 475); -var host = this, - style = host.get("styles"), - padding = style.padding, - majorTicks = style.majorTicks, - tickLength = majorTicks.length, - display = majorTicks.display, - pt = {x:padding.left, y:padding.top}; - _yuitest_coverline("build/axis/axis.js", 482); -if(display === "inside") - { - _yuitest_coverline("build/axis/axis.js", 484); -pt.x += tickLength; - } - else {_yuitest_coverline("build/axis/axis.js", 486); -if(display === "cross") - { - _yuitest_coverline("build/axis/axis.js", 488); -pt.x += tickLength/2; - }} - _yuitest_coverline("build/axis/axis.js", 490); -return pt; - }, - - /** - * Calculates the point for a label. - * - * @method getLabelPoint - * @param {Object} point Point on the axis in which the tick will intersect. - * @return {Object} - * @protected - */ - getLabelPoint: function(point) - { - _yuitest_coverfunc("build/axis/axis.js", "getLabelPoint", 501); -_yuitest_coverline("build/axis/axis.js", 503); -return {x:point.x + this.get("rightTickOffset"), y:point.y}; - }, - - /** - * Updates the value for the `maxLabelSize` for use in calculating total size. - * - * @method updateMaxLabelSize - * @param {HTMLElement} label to measure - * @protected - */ - updateMaxLabelSize: function(labelWidth, labelHeight) - { - _yuitest_coverfunc("build/axis/axis.js", "updateMaxLabelSize", 513); -_yuitest_coverline("build/axis/axis.js", 515); -var host = this, - props = this._labelRotationProps, - rot = props.rot, - absRot = props.absRot, - sinRadians = props.sinRadians, - cosRadians = props.cosRadians, - max; - _yuitest_coverline("build/axis/axis.js", 522); -if(rot === 0) - { - _yuitest_coverline("build/axis/axis.js", 524); -max = labelWidth; - } - else {_yuitest_coverline("build/axis/axis.js", 526); -if(absRot === 90) - { - _yuitest_coverline("build/axis/axis.js", 528); -max = labelHeight; - } - else - { - _yuitest_coverline("build/axis/axis.js", 532); -max = (cosRadians * labelWidth) + (sinRadians * labelHeight); - }} - _yuitest_coverline("build/axis/axis.js", 534); -host._maxLabelSize = Math.max(host._maxLabelSize, max); - }, - - /** - * Determines the available label width when the axis width has been explicitly set. - * - * @method getExplicitlySized - * @return Boolean - * @protected - */ - getExplicitlySized: function(styles) - { - _yuitest_coverfunc("build/axis/axis.js", "getExplicitlySized", 544); -_yuitest_coverline("build/axis/axis.js", 546); -if(this._explicitWidth) - { - _yuitest_coverline("build/axis/axis.js", 548); -var host = this, - w = host._explicitWidth, - totalTitleSize = this._totalTitleSize, - rightTickOffset = host.get("rightTickOffset"), - margin = styles.label.margin.right; - _yuitest_coverline("build/axis/axis.js", 553); -host._maxLabelSize = w - (rightTickOffset + margin + totalTitleSize); - _yuitest_coverline("build/axis/axis.js", 554); -return true; - } - _yuitest_coverline("build/axis/axis.js", 556); -return false; - }, - - /** - * Rotate and position title. - * - * @method positionTitle - * @param {HTMLElement} label to rotate position - * @protected - */ - positionTitle: function(label) - { - _yuitest_coverfunc("build/axis/axis.js", "positionTitle", 566); -_yuitest_coverline("build/axis/axis.js", 568); -var host = this, - bounds = host._titleBounds, - margin = host.get("styles").title.margin, - props = host._titleRotationProps, - labelWidth = label.offsetWidth, - labelHeight = label.offsetHeight, - w = bounds.right - bounds.left, - x = this.get("width") - (labelWidth * 0.5) - (w * 0.5), - y = (host.get("height") * 0.5) - (labelHeight * 0.5); - _yuitest_coverline("build/axis/axis.js", 577); -props.labelWidth = labelWidth; - _yuitest_coverline("build/axis/axis.js", 578); -props.labelHeight = labelHeight; - _yuitest_coverline("build/axis/axis.js", 579); -if(margin && margin.right) - { - _yuitest_coverline("build/axis/axis.js", 581); -x -= margin.left; - } - _yuitest_coverline("build/axis/axis.js", 583); -props.x = x; - _yuitest_coverline("build/axis/axis.js", 584); -props.y = y; - _yuitest_coverline("build/axis/axis.js", 585); -props.transformOrigin = [0.5, 0.5]; - _yuitest_coverline("build/axis/axis.js", 586); -host._rotate(label, props); - }, - - /** - * Rotate and position labels. - * - * @method positionLabel - * @param {HTMLElement} label to rotate position - * @param {Object} pt hash containing the x and y coordinates in which the label will be positioned - * against. - * @protected - */ - positionLabel: function(label, pt, styles, i) - { - _yuitest_coverfunc("build/axis/axis.js", "positionLabel", 598); -_yuitest_coverline("build/axis/axis.js", 600); -var host = this, - tickOffset = host.get("rightTickOffset"), - labelStyles = styles.label, - margin = 0, - leftOffset = pt.x, - topOffset = pt.y, - props = this._labelRotationProps, - rot = props.rot, - absRot = props.absRot, - labelWidth = this._labelWidths[i], - labelHeight = this._labelHeights[i]; - _yuitest_coverline("build/axis/axis.js", 611); -if(labelStyles.margin && labelStyles.margin.left) - { - _yuitest_coverline("build/axis/axis.js", 613); -margin = labelStyles.margin.left; - } - _yuitest_coverline("build/axis/axis.js", 615); -if(rot === 0) - { - _yuitest_coverline("build/axis/axis.js", 617); -topOffset -= labelHeight * 0.5; - } - else {_yuitest_coverline("build/axis/axis.js", 619); -if(rot === 90) - { - _yuitest_coverline("build/axis/axis.js", 621); -leftOffset -= labelWidth * 0.5; - _yuitest_coverline("build/axis/axis.js", 622); -topOffset -= labelHeight; - } - else {_yuitest_coverline("build/axis/axis.js", 624); -if(rot === -90) - { - _yuitest_coverline("build/axis/axis.js", 626); -leftOffset -= labelWidth * 0.5; - } - else - { - _yuitest_coverline("build/axis/axis.js", 630); -topOffset -= labelHeight * 0.5; - _yuitest_coverline("build/axis/axis.js", 631); -leftOffset += labelHeight/2 * absRot/90; - }}} - _yuitest_coverline("build/axis/axis.js", 633); -leftOffset += margin; - _yuitest_coverline("build/axis/axis.js", 634); -leftOffset += tickOffset; - _yuitest_coverline("build/axis/axis.js", 635); -props.labelWidth = labelWidth; - _yuitest_coverline("build/axis/axis.js", 636); -props.labelHeight = labelHeight; - _yuitest_coverline("build/axis/axis.js", 637); -props.x = Math.round(leftOffset); - _yuitest_coverline("build/axis/axis.js", 638); -props.y = Math.round(topOffset); - _yuitest_coverline("build/axis/axis.js", 639); -this._rotate(label, props); - }, - - /** - * Adjusts the coordinates of an axis label based on the rotation. - * - * @method _setRotationCoords - * @param {Object} props Coordinates, dimension and rotation properties of the label. - * @protected - */ - _setRotationCoords: function(props) - { - _yuitest_coverfunc("build/axis/axis.js", "_setRotationCoords", 649); -_yuitest_coverline("build/axis/axis.js", 651); -var rot = props.rot, - absRot = props.absRot, - leftOffset = 0, - topOffset = 0, - labelWidth = props.labelWidth, - labelHeight = props.labelHeight; - _yuitest_coverline("build/axis/axis.js", 657); -if(rot === 0) - { - _yuitest_coverline("build/axis/axis.js", 659); -topOffset = labelHeight * 0.5; - } - else {_yuitest_coverline("build/axis/axis.js", 661); -if(rot === 90) - { - _yuitest_coverline("build/axis/axis.js", 663); -leftOffset = labelWidth * 0.5; - _yuitest_coverline("build/axis/axis.js", 664); -topOffset = labelHeight; - } - else {_yuitest_coverline("build/axis/axis.js", 666); -if(rot === -90) - { - _yuitest_coverline("build/axis/axis.js", 668); -leftOffset = labelWidth * 0.5; - } - else - { - _yuitest_coverline("build/axis/axis.js", 672); -topOffset = labelHeight * 0.5; - _yuitest_coverline("build/axis/axis.js", 673); -leftOffset = labelHeight/2 * absRot/90; - }}} - _yuitest_coverline("build/axis/axis.js", 675); -props.x -= leftOffset; - _yuitest_coverline("build/axis/axis.js", 676); -props.y -= topOffset; - }, - - /** - * Returns the transformOrigin to use for an axis label based on the position of the axis - * and the rotation of the label. - * - * @method _getTransformOrigin - * @param {Number} rot The rotation (in degrees) of the label. - * @return Array - * @protected - */ - _getTransformOrigin: function(rot) - { - _yuitest_coverfunc("build/axis/axis.js", "_getTransformOrigin", 688); -_yuitest_coverline("build/axis/axis.js", 690); -var transformOrigin; - _yuitest_coverline("build/axis/axis.js", 691); -if(rot === 0) - { - _yuitest_coverline("build/axis/axis.js", 693); -transformOrigin = [0, 0]; - } - else {_yuitest_coverline("build/axis/axis.js", 695); -if(rot === 90) - { - _yuitest_coverline("build/axis/axis.js", 697); -transformOrigin = [0.5, 1]; - } - else {_yuitest_coverline("build/axis/axis.js", 699); -if(rot === -90) - { - _yuitest_coverline("build/axis/axis.js", 701); -transformOrigin = [0.5, 0]; - } - else - { - _yuitest_coverline("build/axis/axis.js", 705); -transformOrigin = [0, 0.5]; - }}} - _yuitest_coverline("build/axis/axis.js", 707); -return transformOrigin; - }, - - /** - * Adjusts position for inner ticks. - * - * @method offsetNodeForTick - * @param {Node} cb contentBox of the axis - * @protected - */ - offsetNodeForTick: function(cb) - { - _yuitest_coverfunc("build/axis/axis.js", "offsetNodeForTick", 717); -_yuitest_coverline("build/axis/axis.js", 719); -var host = this, - tickOffset = host.get("leftTickOffset"), - offset = 0 - tickOffset; - _yuitest_coverline("build/axis/axis.js", 722); -cb.setStyle("left", offset); - }, - - /** - * Assigns a height based on the size of the contents. - * - * @method setCalculatedSize - * @protected - */ - setCalculatedSize: function() - { - _yuitest_coverfunc("build/axis/axis.js", "setCalculatedSize", 731); -_yuitest_coverline("build/axis/axis.js", 733); -var host = this, - styles = host.get("styles"), - labelStyle = styles.label, - totalTitleSize = this._totalTitleSize, - ttl = Math.round(host.get("rightTickOffset") + host._maxLabelSize + totalTitleSize + labelStyle.margin.left); - _yuitest_coverline("build/axis/axis.js", 738); -if(this._explicitWidth) - { - _yuitest_coverline("build/axis/axis.js", 740); -ttl = this._explicitWidth; - } - _yuitest_coverline("build/axis/axis.js", 742); -host.set("calculatedWidth", ttl); - _yuitest_coverline("build/axis/axis.js", 743); -host.get("contentBox").setStyle("width", ttl); - } -}; - -_yuitest_coverline("build/axis/axis.js", 747); -Y.RightAxisLayout = RightAxisLayout; -/** - * Contains algorithms for rendering a bottom axis. - * - * @class BottomAxisLayout - * @Constructor - * @submodule axis - */ -_yuitest_coverline("build/axis/axis.js", 755); -BottomAxisLayout = function(){}; - -_yuitest_coverline("build/axis/axis.js", 757); -BottomAxisLayout.prototype = { - /** - * Default margins for text fields. - * - * @private - * @method _getDefaultMargins - * @return Object - */ - _getDefaultMargins: function() - { - _yuitest_coverfunc("build/axis/axis.js", "_getDefaultMargins", 765); -_yuitest_coverline("build/axis/axis.js", 767); -return { - top: 4, - left: 0, - right: 0, - bottom: 0 - }; - }, - - /** - * Sets the length of the tick on either side of the axis line. - * - * @method setTickOffsets - * @protected - */ - setTickOffsets: function() - { - _yuitest_coverfunc("build/axis/axis.js", "setTickOffsets", 781); -_yuitest_coverline("build/axis/axis.js", 783); -var host = this, - majorTicks = host.get("styles").majorTicks, - tickLength = majorTicks.length, - halfTick = tickLength * 0.5, - display = majorTicks.display; - _yuitest_coverline("build/axis/axis.js", 788); -host.set("leftTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 789); -host.set("rightTickOffset", 0); - - _yuitest_coverline("build/axis/axis.js", 791); -switch(display) - { - case "inside" : - _yuitest_coverline("build/axis/axis.js", 794); -host.set("topTickOffset", tickLength); - _yuitest_coverline("build/axis/axis.js", 795); -host.set("bottomTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 796); -break; - case "outside" : - _yuitest_coverline("build/axis/axis.js", 798); -host.set("topTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 799); -host.set("bottomTickOffset", tickLength); - _yuitest_coverline("build/axis/axis.js", 800); -break; - case "cross": - _yuitest_coverline("build/axis/axis.js", 802); -host.set("topTickOffset", halfTick); - _yuitest_coverline("build/axis/axis.js", 803); -host.set("bottomTickOffset", halfTick); - _yuitest_coverline("build/axis/axis.js", 804); -break; - default: - _yuitest_coverline("build/axis/axis.js", 806); -host.set("topTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 807); -host.set("bottomTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 808); -break; - } - }, - - /** - * Calculates the coordinates for the first point on an axis. - * - * @method getLineStart - * @protected - */ - getLineStart: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getLineStart", 818); -_yuitest_coverline("build/axis/axis.js", 820); -var style = this.get("styles"), - padding = style.padding, - majorTicks = style.majorTicks, - tickLength = majorTicks.length, - display = majorTicks.display, - pt = {x:0, y:padding.top}; - _yuitest_coverline("build/axis/axis.js", 826); -if(display === "inside") - { - _yuitest_coverline("build/axis/axis.js", 828); -pt.y += tickLength; - } - else {_yuitest_coverline("build/axis/axis.js", 830); -if(display === "cross") - { - _yuitest_coverline("build/axis/axis.js", 832); -pt.y += tickLength/2; - }} - _yuitest_coverline("build/axis/axis.js", 834); -return pt; - }, - - /** - * Draws a tick - * - * @method drawTick - * @param {Path} path reference to the path `Path` element in which to draw the tick. - * @param {Object} pt hash containing x and y coordinates - * @param {Object} tickStyles hash of properties used to draw the tick - * @protected - */ - drawTick: function(path, pt, tickStyles) - { - _yuitest_coverfunc("build/axis/axis.js", "drawTick", 846); -_yuitest_coverline("build/axis/axis.js", 848); -var host = this, - style = host.get("styles"), - padding = style.padding, - tickLength = tickStyles.length, - start = {x:pt.x, y:padding.top}, - end = {x:pt.x, y:tickLength + padding.top}; - _yuitest_coverline("build/axis/axis.js", 854); -host.drawLine(path, start, end); - }, - - /** - * Calculates the point for a label. - * - * @method getLabelPoint - * @param {Object} pt Object containing x and y coordinates - * @return Object - * @protected - */ - getLabelPoint: function(point) - { - _yuitest_coverfunc("build/axis/axis.js", "getLabelPoint", 865); -_yuitest_coverline("build/axis/axis.js", 867); -return {x:point.x, y:point.y + this.get("bottomTickOffset")}; - }, - - /** - * Updates the value for the `maxLabelSize` for use in calculating total size. - * - * @method updateMaxLabelSize - * @param {HTMLElement} label to measure - * @protected - */ - updateMaxLabelSize: function(labelWidth, labelHeight) - { - _yuitest_coverfunc("build/axis/axis.js", "updateMaxLabelSize", 877); -_yuitest_coverline("build/axis/axis.js", 879); -var host = this, - props = this._labelRotationProps, - rot = props.rot, - absRot = props.absRot, - sinRadians = props.sinRadians, - cosRadians = props.cosRadians, - max; - _yuitest_coverline("build/axis/axis.js", 886); -if(rot === 0) - { - _yuitest_coverline("build/axis/axis.js", 888); -max = labelHeight; - } - else {_yuitest_coverline("build/axis/axis.js", 890); -if(absRot === 90) - { - _yuitest_coverline("build/axis/axis.js", 892); -max = labelWidth; - } - else - { - _yuitest_coverline("build/axis/axis.js", 896); -max = (sinRadians * labelWidth) + (cosRadians * labelHeight); - }} - _yuitest_coverline("build/axis/axis.js", 898); -host._maxLabelSize = Math.max(host._maxLabelSize, max); - }, - - /** - * Determines the available label height when the axis width has been explicitly set. - * - * @method getExplicitlySized - * @return Boolean - * @protected - */ - getExplicitlySized: function(styles) - { - _yuitest_coverfunc("build/axis/axis.js", "getExplicitlySized", 908); -_yuitest_coverline("build/axis/axis.js", 910); -if(this._explicitHeight) - { - _yuitest_coverline("build/axis/axis.js", 912); -var host = this, - h = host._explicitHeight, - totalTitleSize = host._totalTitleSize, - bottomTickOffset = host.get("bottomTickOffset"), - margin = styles.label.margin.right; - _yuitest_coverline("build/axis/axis.js", 917); -host._maxLabelSize = h - (bottomTickOffset + margin + totalTitleSize); - _yuitest_coverline("build/axis/axis.js", 918); -return true; - } - _yuitest_coverline("build/axis/axis.js", 920); -return false; - }, - - /** - * Rotate and position title. - * - * @method positionTitle - * @param {HTMLElement} label to rotate position - * @protected - */ - positionTitle: function(label) - { - _yuitest_coverfunc("build/axis/axis.js", "positionTitle", 930); -_yuitest_coverline("build/axis/axis.js", 932); -var host = this, - bounds = host._titleBounds, - margin = host.get("styles").title.margin, - props = host._titleRotationProps, - h = bounds.bottom - bounds.top, - labelWidth = label.offsetWidth, - labelHeight = label.offsetHeight, - x = (host.get("width") * 0.5) - (labelWidth * 0.5), - y = host.get("height") - labelHeight/2 - h/2; - _yuitest_coverline("build/axis/axis.js", 941); -props.labelWidth = labelWidth; - _yuitest_coverline("build/axis/axis.js", 942); -props.labelHeight = labelHeight; - _yuitest_coverline("build/axis/axis.js", 943); -if(margin && margin.bottom) - { - _yuitest_coverline("build/axis/axis.js", 945); -y -= margin.bottom; - } - _yuitest_coverline("build/axis/axis.js", 947); -props.x = x; - _yuitest_coverline("build/axis/axis.js", 948); -props.y = y; - _yuitest_coverline("build/axis/axis.js", 949); -props.transformOrigin = [0.5, 0.5]; - _yuitest_coverline("build/axis/axis.js", 950); -host._rotate(label, props); - }, - - /** - * Rotate and position labels. - * - * @method positionLabel - * @param {HTMLElement} label to rotate position - * @param {Object} pt hash containing the x and y coordinates in which the label will be positioned - * against. - * @protected - */ - positionLabel: function(label, pt, styles, i) - { - _yuitest_coverfunc("build/axis/axis.js", "positionLabel", 962); -_yuitest_coverline("build/axis/axis.js", 964); -var host = this, - tickOffset = host.get("bottomTickOffset"), - labelStyles = styles.label, - margin = 0, - props = host._labelRotationProps, - rot = props.rot, - absRot = props.absRot, - leftOffset = Math.round(pt.x), - topOffset = Math.round(pt.y), - labelWidth = host._labelWidths[i], - labelHeight = host._labelHeights[i]; - _yuitest_coverline("build/axis/axis.js", 975); -if(labelStyles.margin && labelStyles.margin.top) - { - _yuitest_coverline("build/axis/axis.js", 977); -margin = labelStyles.margin.top; - } - _yuitest_coverline("build/axis/axis.js", 979); -if(rot > 0) - { - _yuitest_coverline("build/axis/axis.js", 981); -topOffset -= labelHeight/2 * rot/90; - } - else {_yuitest_coverline("build/axis/axis.js", 983); -if(rot < 0) - { - _yuitest_coverline("build/axis/axis.js", 985); -leftOffset -= labelWidth; - _yuitest_coverline("build/axis/axis.js", 986); -topOffset -= labelHeight/2 * absRot/90; - } - else - { - _yuitest_coverline("build/axis/axis.js", 990); -leftOffset -= labelWidth * 0.5; - }} - _yuitest_coverline("build/axis/axis.js", 992); -topOffset += margin; - _yuitest_coverline("build/axis/axis.js", 993); -topOffset += tickOffset; - _yuitest_coverline("build/axis/axis.js", 994); -props.labelWidth = labelWidth; - _yuitest_coverline("build/axis/axis.js", 995); -props.labelHeight = labelHeight; - _yuitest_coverline("build/axis/axis.js", 996); -props.x = leftOffset; - _yuitest_coverline("build/axis/axis.js", 997); -props.y = topOffset; - _yuitest_coverline("build/axis/axis.js", 998); -host._rotate(label, props); - }, - - /** - * Adjusts the coordinates of an axis label based on the rotation. - * - * @method _setRotationCoords - * @param {Object} props Coordinates, dimension and rotation properties of the label. - * @protected - */ - _setRotationCoords: function(props) - { - _yuitest_coverfunc("build/axis/axis.js", "_setRotationCoords", 1008); -_yuitest_coverline("build/axis/axis.js", 1010); -var rot = props.rot, - absRot = props.absRot, - labelWidth = props.labelWidth, - labelHeight = props.labelHeight, - leftOffset, - topOffset; - - _yuitest_coverline("build/axis/axis.js", 1017); -if(rot > 0) - { - _yuitest_coverline("build/axis/axis.js", 1019); -leftOffset = 0; - _yuitest_coverline("build/axis/axis.js", 1020); -topOffset = labelHeight/2 * rot/90; - } - else {_yuitest_coverline("build/axis/axis.js", 1022); -if(rot < 0) - { - _yuitest_coverline("build/axis/axis.js", 1024); -leftOffset = labelWidth; - _yuitest_coverline("build/axis/axis.js", 1025); -topOffset = labelHeight/2 * absRot/90; - } - else - { - _yuitest_coverline("build/axis/axis.js", 1029); -leftOffset = labelWidth * 0.5; - _yuitest_coverline("build/axis/axis.js", 1030); -topOffset = 0; - }} - _yuitest_coverline("build/axis/axis.js", 1032); -props.x -= leftOffset; - _yuitest_coverline("build/axis/axis.js", 1033); -props.y -= topOffset; - }, - - /** - * Returns the transformOrigin to use for an axis label based on the position of the axis - * and the rotation of the label. - * - * @method _getTransformOrigin - * @param {Number} rot The rotation (in degrees) of the label. - * @return Array - * @protected - */ - _getTransformOrigin: function(rot) - { - _yuitest_coverfunc("build/axis/axis.js", "_getTransformOrigin", 1045); -_yuitest_coverline("build/axis/axis.js", 1047); -var transformOrigin; - _yuitest_coverline("build/axis/axis.js", 1048); -if(rot > 0) - { - _yuitest_coverline("build/axis/axis.js", 1050); -transformOrigin = [0, 0.5]; - } - else {_yuitest_coverline("build/axis/axis.js", 1052); -if(rot < 0) - { - _yuitest_coverline("build/axis/axis.js", 1054); -transformOrigin = [1, 0.5]; - } - else - { - _yuitest_coverline("build/axis/axis.js", 1058); -transformOrigin = [0, 0]; - }} - _yuitest_coverline("build/axis/axis.js", 1060); -return transformOrigin; - }, - - /** - * Adjusts position for inner ticks. - * - * @method offsetNodeForTick - * @param {Node} cb contentBox of the axis - * @protected - */ - offsetNodeForTick: function(cb) - { - _yuitest_coverfunc("build/axis/axis.js", "offsetNodeForTick", 1070); -_yuitest_coverline("build/axis/axis.js", 1072); -var host = this; - _yuitest_coverline("build/axis/axis.js", 1073); -host.get("contentBox").setStyle("top", 0 - host.get("topTickOffset")); - }, - - /** - * Assigns a height based on the size of the contents. - * - * @method setCalculatedSize - * @protected - */ - setCalculatedSize: function() - { - _yuitest_coverfunc("build/axis/axis.js", "setCalculatedSize", 1082); -_yuitest_coverline("build/axis/axis.js", 1084); -var host = this, - styles = host.get("styles"), - labelStyle = styles.label, - totalTitleSize = host._totalTitleSize, - ttl = Math.round(host.get("bottomTickOffset") + host._maxLabelSize + labelStyle.margin.top + totalTitleSize); - _yuitest_coverline("build/axis/axis.js", 1089); -if(host._explicitHeight) - { - _yuitest_coverline("build/axis/axis.js", 1091); -ttl = host._explicitHeight; - } - _yuitest_coverline("build/axis/axis.js", 1093); -host.set("calculatedHeight", ttl); - } -}; -_yuitest_coverline("build/axis/axis.js", 1096); -Y.BottomAxisLayout = BottomAxisLayout; -/** - * Contains algorithms for rendering a top axis. - * - * @class TopAxisLayout - * @constructor - * @submodule axis - */ -_yuitest_coverline("build/axis/axis.js", 1104); -TopAxisLayout = function(){}; - -_yuitest_coverline("build/axis/axis.js", 1106); -TopAxisLayout.prototype = { - /** - * Default margins for text fields. - * - * @private - * @method _getDefaultMargins - * @return Object - */ - _getDefaultMargins: function() - { - _yuitest_coverfunc("build/axis/axis.js", "_getDefaultMargins", 1114); -_yuitest_coverline("build/axis/axis.js", 1116); -return { - top: 0, - left: 0, - right: 0, - bottom: 4 - }; - }, - - /** - * Sets the length of the tick on either side of the axis line. - * - * @method setTickOffsets - * @protected - */ - setTickOffsets: function() - { - _yuitest_coverfunc("build/axis/axis.js", "setTickOffsets", 1130); -_yuitest_coverline("build/axis/axis.js", 1132); -var host = this, - majorTicks = host.get("styles").majorTicks, - tickLength = majorTicks.length, - halfTick = tickLength * 0.5, - display = majorTicks.display; - _yuitest_coverline("build/axis/axis.js", 1137); -host.set("leftTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 1138); -host.set("rightTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 1139); -switch(display) - { - case "inside" : - _yuitest_coverline("build/axis/axis.js", 1142); -host.set("bottomTickOffset", tickLength); - _yuitest_coverline("build/axis/axis.js", 1143); -host.set("topTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 1144); -break; - case "outside" : - _yuitest_coverline("build/axis/axis.js", 1146); -host.set("bottomTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 1147); -host.set("topTickOffset", tickLength); - _yuitest_coverline("build/axis/axis.js", 1148); -break; - case "cross" : - _yuitest_coverline("build/axis/axis.js", 1150); -host.set("topTickOffset", halfTick); - _yuitest_coverline("build/axis/axis.js", 1151); -host.set("bottomTickOffset", halfTick); - _yuitest_coverline("build/axis/axis.js", 1152); -break; - default: - _yuitest_coverline("build/axis/axis.js", 1154); -host.set("topTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 1155); -host.set("bottomTickOffset", 0); - _yuitest_coverline("build/axis/axis.js", 1156); -break; - } - }, - - /** - * Calculates the coordinates for the first point on an axis. - * - * @method getLineStart - * @protected - */ - getLineStart: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getLineStart", 1166); -_yuitest_coverline("build/axis/axis.js", 1168); -var host = this, - style = host.get("styles"), - padding = style.padding, - majorTicks = style.majorTicks, - tickLength = majorTicks.length, - display = majorTicks.display, - pt = {x:0, y:padding.top}; - _yuitest_coverline("build/axis/axis.js", 1175); -if(display === "outside") - { - _yuitest_coverline("build/axis/axis.js", 1177); -pt.y += tickLength; - } - else {_yuitest_coverline("build/axis/axis.js", 1179); -if(display === "cross") - { - _yuitest_coverline("build/axis/axis.js", 1181); -pt.y += tickLength/2; - }} - _yuitest_coverline("build/axis/axis.js", 1183); -return pt; - }, - - /** - * Draws a tick - * - * @method drawTick - * @param {Path} path reference to the path `Path` element in which to draw the tick. - * @param {Object} pt hash containing x and y coordinates - * @param {Object} tickStyles hash of properties used to draw the tick - * @protected - */ - drawTick: function(path, pt, tickStyles) - { - _yuitest_coverfunc("build/axis/axis.js", "drawTick", 1195); -_yuitest_coverline("build/axis/axis.js", 1197); -var host = this, - style = host.get("styles"), - padding = style.padding, - tickLength = tickStyles.length, - start = {x:pt.x, y:padding.top}, - end = {x:pt.x, y:tickLength + padding.top}; - _yuitest_coverline("build/axis/axis.js", 1203); -host.drawLine(path, start, end); - }, - - /** - * Calculates the point for a label. - * - * @method getLabelPoint - * @param {Object} pt hash containing x and y coordinates - * @return Object - * @protected - */ - getLabelPoint: function(pt) - { - _yuitest_coverfunc("build/axis/axis.js", "getLabelPoint", 1214); -_yuitest_coverline("build/axis/axis.js", 1216); -return {x:pt.x, y:pt.y - this.get("topTickOffset")}; - }, - - /** - * Updates the value for the `maxLabelSize` for use in calculating total size. - * - * @method updateMaxLabelSize - * @param {HTMLElement} label to measure - * @protected - */ - updateMaxLabelSize: function(labelWidth, labelHeight) - { - _yuitest_coverfunc("build/axis/axis.js", "updateMaxLabelSize", 1226); -_yuitest_coverline("build/axis/axis.js", 1228); -var host = this, - props = this._labelRotationProps, - rot = props.rot, - absRot = props.absRot, - sinRadians = props.sinRadians, - cosRadians = props.cosRadians, - max; - _yuitest_coverline("build/axis/axis.js", 1235); -if(rot === 0) - { - _yuitest_coverline("build/axis/axis.js", 1237); -max = labelHeight; - } - else {_yuitest_coverline("build/axis/axis.js", 1239); -if(absRot === 90) - { - _yuitest_coverline("build/axis/axis.js", 1241); -max = labelWidth; - } - else - { - _yuitest_coverline("build/axis/axis.js", 1245); -max = (sinRadians * labelWidth) + (cosRadians * labelHeight); - }} - _yuitest_coverline("build/axis/axis.js", 1247); -host._maxLabelSize = Math.max(host._maxLabelSize, max); - }, - - /** - * Determines the available label height when the axis width has been explicitly set. - * - * @method getExplicitlySized - * @return Boolean - * @protected - */ - getExplicitlySized: function(styles) - { - _yuitest_coverfunc("build/axis/axis.js", "getExplicitlySized", 1257); -_yuitest_coverline("build/axis/axis.js", 1259); -if(this._explicitHeight) - { - _yuitest_coverline("build/axis/axis.js", 1261); -var host = this, - h = host._explicitHeight, - totalTitleSize = host._totalTitleSize, - topTickOffset = host.get("topTickOffset"), - margin = styles.label.margin.right; - _yuitest_coverline("build/axis/axis.js", 1266); -host._maxLabelSize = h - (topTickOffset + margin + totalTitleSize); - _yuitest_coverline("build/axis/axis.js", 1267); -return true; - } - _yuitest_coverline("build/axis/axis.js", 1269); -return false; - }, - - /** - * Rotate and position title. - * - * @method positionTitle - * @param {HTMLElement} label to rotate position - * @protected - */ - positionTitle: function(label) - { - _yuitest_coverfunc("build/axis/axis.js", "positionTitle", 1279); -_yuitest_coverline("build/axis/axis.js", 1281); -var host = this, - bounds = host._titleBounds, - margin = host.get("styles").title.margin, - props = host._titleRotationProps, - labelWidth = label.offsetWidth, - labelHeight = label.offsetHeight, - h = bounds.bottom - bounds.top, - x = (host.get("width") * 0.5) - (labelWidth * 0.5), - y = h/2 - labelHeight/2; - _yuitest_coverline("build/axis/axis.js", 1290); -props.labelWidth = labelWidth; - _yuitest_coverline("build/axis/axis.js", 1291); -props.labelHeight = labelHeight; - _yuitest_coverline("build/axis/axis.js", 1292); -if(margin && margin.top) - { - _yuitest_coverline("build/axis/axis.js", 1294); -y += margin.top; - } - _yuitest_coverline("build/axis/axis.js", 1296); -props.x = x; - _yuitest_coverline("build/axis/axis.js", 1297); -props.y = y; - _yuitest_coverline("build/axis/axis.js", 1298); -props.transformOrigin = [0.5, 0.5]; - _yuitest_coverline("build/axis/axis.js", 1299); -host._rotate(label, props); - }, - - /** - * Rotate and position labels. - * - * @method positionLabel - * @param {HTMLElement} label to rotate position - * @param {Object} pt hash containing the x and y coordinates in which the label will be positioned - * against. - * @protected - */ - positionLabel: function(label, pt, styles, i) - { - _yuitest_coverfunc("build/axis/axis.js", "positionLabel", 1311); -_yuitest_coverline("build/axis/axis.js", 1313); -var host = this, - totalTitleSize = this._totalTitleSize, - maxLabelSize = host._maxLabelSize, - leftOffset = pt.x, - topOffset = pt.y + totalTitleSize + maxLabelSize, - props = this._labelRotationProps, - rot = props.rot, - absRot = props.absRot, - labelWidth = this._labelWidths[i], - labelHeight = this._labelHeights[i]; - _yuitest_coverline("build/axis/axis.js", 1323); -if(rot === 0) - { - _yuitest_coverline("build/axis/axis.js", 1325); -leftOffset -= labelWidth * 0.5; - _yuitest_coverline("build/axis/axis.js", 1326); -topOffset -= labelHeight; - } - else - { - _yuitest_coverline("build/axis/axis.js", 1330); -if(rot === 90) - { - _yuitest_coverline("build/axis/axis.js", 1332); -leftOffset -= labelWidth; - _yuitest_coverline("build/axis/axis.js", 1333); -topOffset -= (labelHeight * 0.5); - } - else {_yuitest_coverline("build/axis/axis.js", 1335); -if (rot === -90) - { - _yuitest_coverline("build/axis/axis.js", 1337); -topOffset -= (labelHeight * 0.5); - } - else {_yuitest_coverline("build/axis/axis.js", 1339); -if(rot > 0) - { - _yuitest_coverline("build/axis/axis.js", 1341); -leftOffset -= labelWidth; - _yuitest_coverline("build/axis/axis.js", 1342); -topOffset -= labelHeight - (labelHeight * rot/180); - } - else - { - _yuitest_coverline("build/axis/axis.js", 1346); -topOffset -= labelHeight - (labelHeight * absRot/180); - }}} - } - _yuitest_coverline("build/axis/axis.js", 1349); -props.x = Math.round(leftOffset); - _yuitest_coverline("build/axis/axis.js", 1350); -props.y = Math.round(topOffset); - _yuitest_coverline("build/axis/axis.js", 1351); -props.labelWidth = labelWidth; - _yuitest_coverline("build/axis/axis.js", 1352); -props.labelHeight = labelHeight; - _yuitest_coverline("build/axis/axis.js", 1353); -this._rotate(label, props); - }, - - /** - * Adjusts the coordinates of an axis label based on the rotation. - * - * @method _setRotationCoords - * @param {Object} props Coordinates, dimension and rotation properties of the label. - * @protected - */ - _setRotationCoords: function(props) - { - _yuitest_coverfunc("build/axis/axis.js", "_setRotationCoords", 1363); -_yuitest_coverline("build/axis/axis.js", 1365); -var rot = props.rot, - absRot = props.absRot, - labelWidth = props.labelWidth, - labelHeight = props.labelHeight, - leftOffset, - topOffset; - _yuitest_coverline("build/axis/axis.js", 1371); -if(rot === 0) - { - _yuitest_coverline("build/axis/axis.js", 1373); -leftOffset = labelWidth * 0.5; - _yuitest_coverline("build/axis/axis.js", 1374); -topOffset = labelHeight; - } - else - { - _yuitest_coverline("build/axis/axis.js", 1378); -if(rot === 90) - { - _yuitest_coverline("build/axis/axis.js", 1380); -leftOffset = labelWidth; - _yuitest_coverline("build/axis/axis.js", 1381); -topOffset = (labelHeight * 0.5); - } - else {_yuitest_coverline("build/axis/axis.js", 1383); -if (rot === -90) - { - _yuitest_coverline("build/axis/axis.js", 1385); -topOffset = (labelHeight * 0.5); - } - else {_yuitest_coverline("build/axis/axis.js", 1387); -if(rot > 0) - { - _yuitest_coverline("build/axis/axis.js", 1389); -leftOffset = labelWidth; - _yuitest_coverline("build/axis/axis.js", 1390); -topOffset = labelHeight - (labelHeight * rot/180); - } - else - { - _yuitest_coverline("build/axis/axis.js", 1394); -topOffset = labelHeight - (labelHeight * absRot/180); - }}} - } - _yuitest_coverline("build/axis/axis.js", 1397); -props.x -= leftOffset; - _yuitest_coverline("build/axis/axis.js", 1398); -props.y -= topOffset; - }, - - /** - * Returns the transformOrigin to use for an axis label based on the position of the axis - * and the rotation of the label. - * - * @method _getTransformOrigin - * @param {Number} rot The rotation (in degrees) of the label. - * @return Array - * @protected - */ - _getTransformOrigin: function(rot) - { - _yuitest_coverfunc("build/axis/axis.js", "_getTransformOrigin", 1410); -_yuitest_coverline("build/axis/axis.js", 1412); -var transformOrigin; - _yuitest_coverline("build/axis/axis.js", 1413); -if(rot === 0) - { - _yuitest_coverline("build/axis/axis.js", 1415); -transformOrigin = [0, 0]; - } - else - { - _yuitest_coverline("build/axis/axis.js", 1419); -if(rot === 90) - { - _yuitest_coverline("build/axis/axis.js", 1421); -transformOrigin = [1, 0.5]; - } - else {_yuitest_coverline("build/axis/axis.js", 1423); -if (rot === -90) - { - _yuitest_coverline("build/axis/axis.js", 1425); -transformOrigin = [0, 0.5]; - } - else {_yuitest_coverline("build/axis/axis.js", 1427); -if(rot > 0) - { - _yuitest_coverline("build/axis/axis.js", 1429); -transformOrigin = [1, 0.5]; - } - else - { - _yuitest_coverline("build/axis/axis.js", 1433); -transformOrigin = [0, 0.5]; - }}} - } - _yuitest_coverline("build/axis/axis.js", 1436); -return transformOrigin; - }, - - /** - * Adjusts position for inner ticks. - * - * @method offsetNodeForTick - * @param {Node} cb contentBox of the axis - * @protected - */ - offsetNodeForTick: function(cb) - { - }, - - /** - * Assigns a height based on the size of the contents. - * - * @method setCalculatedSize - * @protected - */ - setCalculatedSize: function() - { - _yuitest_coverfunc("build/axis/axis.js", "setCalculatedSize", 1456); -_yuitest_coverline("build/axis/axis.js", 1458); -var host = this, - graphic = host.get("graphic"), - styles = host.get("styles"), - labelMargin = styles.label.margin, - totalLabelSize = labelMargin.bottom + host._maxLabelSize, - totalTitleSize = host._totalTitleSize, - topTickOffset = this.get("topTickOffset"), - ttl = Math.round(topTickOffset + totalLabelSize + totalTitleSize); - _yuitest_coverline("build/axis/axis.js", 1466); -if(this._explicitHeight) - { - _yuitest_coverline("build/axis/axis.js", 1468); -ttl = this._explicitHeight; - } - _yuitest_coverline("build/axis/axis.js", 1470); -host.set("calculatedHeight", ttl); - _yuitest_coverline("build/axis/axis.js", 1471); -graphic.set("y", ttl - topTickOffset); - } -}; -_yuitest_coverline("build/axis/axis.js", 1474); -Y.TopAxisLayout = TopAxisLayout; - -/** - * An abstract class that provides the core functionality for draw a chart axis. Axis is used by the following classes: - *
    - *
  • {{#crossLink "CategoryAxis"}}{{/crossLink}}
  • - *
  • {{#crossLink "NumericAxis"}}{{/crossLink}}
  • - *
  • {{#crossLink "StackedAxis"}}{{/crossLink}}
  • - *
  • {{#crossLink "TimeAxis"}}{{/crossLink}}
  • - *
- * - * @class Axis - * @extends Widget - * @uses AxisBase - * @uses TopAxisLayout - * @uses RightAxisLayout - * @uses BottomAxisLayout - * @uses LeftAxisLayout - * @constructor - * @param {Object} config (optional) Configuration parameters. - * @submodule axis - */ -_yuitest_coverline("build/axis/axis.js", 1496); -Y.Axis = Y.Base.create("axis", Y.Widget, [Y.AxisBase], { - /** - * Calculates and returns a value based on the number of labels and the index of - * the current label. - * - * @method getLabelByIndex - * @param {Number} i Index of the label. - * @param {Number} l Total number of labels. - * @return String - */ - getLabelByIndex: function(i, l) - { - _yuitest_coverfunc("build/axis/axis.js", "getLabelByIndex", 1506); -_yuitest_coverline("build/axis/axis.js", 1508); -var position = this.get("position"), - direction = position == "left" || position == "right" ? "vertical" : "horizontal"; - _yuitest_coverline("build/axis/axis.js", 1510); -return this._getLabelByIndex(i, l, direction); - }, - - /** - * @method bindUI - * @private - */ - bindUI: function() - { - _yuitest_coverfunc("build/axis/axis.js", "bindUI", 1517); -_yuitest_coverline("build/axis/axis.js", 1519); -this.after("dataReady", Y.bind(this._dataChangeHandler, this)); - _yuitest_coverline("build/axis/axis.js", 1520); -this.after("dataUpdate", Y.bind(this._dataChangeHandler, this)); - _yuitest_coverline("build/axis/axis.js", 1521); -this.after("stylesChange", this._updateHandler); - _yuitest_coverline("build/axis/axis.js", 1522); -this.after("overlapGraphChange", this._updateHandler); - _yuitest_coverline("build/axis/axis.js", 1523); -this.after("positionChange", this._positionChangeHandler); - _yuitest_coverline("build/axis/axis.js", 1524); -this.after("widthChange", this._handleSizeChange); - _yuitest_coverline("build/axis/axis.js", 1525); -this.after("heightChange", this._handleSizeChange); - _yuitest_coverline("build/axis/axis.js", 1526); -this.after("calculatedWidthChange", this._handleSizeChange); - _yuitest_coverline("build/axis/axis.js", 1527); -this.after("calculatedHeightChange", this._handleSizeChange); - }, - /** - * Storage for calculatedWidth value. - * - * @property _calculatedWidth - * @type Number - * @private - */ - _calculatedWidth: 0, - - /** - * Storage for calculatedHeight value. - * - * @property _calculatedHeight - * @type Number - * @private - */ - _calculatedHeight: 0, - - /** - * Handles change to the dataProvider - * - * @method _dataChangeHandler - * @param {Object} e Event object - * @private - */ - _dataChangeHandler: function(e) - { - _yuitest_coverfunc("build/axis/axis.js", "_dataChangeHandler", 1554); -_yuitest_coverline("build/axis/axis.js", 1556); -if(this.get("rendered")) - { - _yuitest_coverline("build/axis/axis.js", 1558); -this._drawAxis(); - } - }, - - /** - * Handles change to the position attribute - * - * @method _positionChangeHandler - * @param {Object} e Event object - * @private - */ - _positionChangeHandler: function(e) - { - _yuitest_coverfunc("build/axis/axis.js", "_positionChangeHandler", 1569); -_yuitest_coverline("build/axis/axis.js", 1571); -this._updateGraphic(e.newVal); - _yuitest_coverline("build/axis/axis.js", 1572); -this._updateHandler(); - }, - - /** - * Updates the the Graphic instance - * - * @method _updateGraphic - * @param {String} position Position of axis - * @private - */ - _updateGraphic: function(position) - { - _yuitest_coverfunc("build/axis/axis.js", "_updateGraphic", 1582); -_yuitest_coverline("build/axis/axis.js", 1584); -var graphic = this.get("graphic"); - _yuitest_coverline("build/axis/axis.js", 1585); -if(position == "none") - { - _yuitest_coverline("build/axis/axis.js", 1587); -if(graphic) - { - _yuitest_coverline("build/axis/axis.js", 1589); -graphic.destroy(); - } - } - else - { - _yuitest_coverline("build/axis/axis.js", 1594); -if(!graphic) - { - _yuitest_coverline("build/axis/axis.js", 1596); -this._setCanvas(); - } - } - }, - - /** - * Handles changes to axis. - * - * @method _updateHandler - * @param {Object} e Event object - * @private - */ - _updateHandler: function(e) - { - _yuitest_coverfunc("build/axis/axis.js", "_updateHandler", 1608); -_yuitest_coverline("build/axis/axis.js", 1610); -if(this.get("rendered")) - { - _yuitest_coverline("build/axis/axis.js", 1612); -this._drawAxis(); - } - }, - - /** - * @method renderUI - * @private - */ - renderUI: function() - { - _yuitest_coverfunc("build/axis/axis.js", "renderUI", 1620); -_yuitest_coverline("build/axis/axis.js", 1622); -this._updateGraphic(this.get("position")); - }, - - /** - * @method syncUI - * @private - */ - syncUI: function() - { - _yuitest_coverfunc("build/axis/axis.js", "syncUI", 1629); -_yuitest_coverline("build/axis/axis.js", 1631); -var layout = this._layout, - defaultMargins, - styles, - label, - title, - i; - _yuitest_coverline("build/axis/axis.js", 1637); -if(layout) - { - _yuitest_coverline("build/axis/axis.js", 1639); -defaultMargins = layout._getDefaultMargins(); - _yuitest_coverline("build/axis/axis.js", 1640); -styles = this.get("styles"); - _yuitest_coverline("build/axis/axis.js", 1641); -label = styles.label.margin; - _yuitest_coverline("build/axis/axis.js", 1642); -title =styles.title.margin; - //need to defaultMargins method to the layout classes. - _yuitest_coverline("build/axis/axis.js", 1644); -for(i in defaultMargins) - { - _yuitest_coverline("build/axis/axis.js", 1646); -if(defaultMargins.hasOwnProperty(i)) - { - _yuitest_coverline("build/axis/axis.js", 1648); -label[i] = label[i] === undefined ? defaultMargins[i] : label[i]; - _yuitest_coverline("build/axis/axis.js", 1649); -title[i] = title[i] === undefined ? defaultMargins[i] : title[i]; - } - } - } - _yuitest_coverline("build/axis/axis.js", 1653); -this._drawAxis(); - }, - - /** - * Creates a graphic instance to be used for the axis line and ticks. - * - * @method _setCanvas - * @private - */ - _setCanvas: function() - { - _yuitest_coverfunc("build/axis/axis.js", "_setCanvas", 1662); -_yuitest_coverline("build/axis/axis.js", 1664); -var cb = this.get("contentBox"), - bb = this.get("boundingBox"), - p = this.get("position"), - pn = this._parentNode, - w = this.get("width"), - h = this.get("height"); - _yuitest_coverline("build/axis/axis.js", 1670); -bb.setStyle("position", "absolute"); - _yuitest_coverline("build/axis/axis.js", 1671); -bb.setStyle("zIndex", 2); - _yuitest_coverline("build/axis/axis.js", 1672); -w = w ? w + "px" : pn.getStyle("width"); - _yuitest_coverline("build/axis/axis.js", 1673); -h = h ? h + "px" : pn.getStyle("height"); - _yuitest_coverline("build/axis/axis.js", 1674); -if(p === "top" || p === "bottom") - { - _yuitest_coverline("build/axis/axis.js", 1676); -cb.setStyle("width", w); - } - else - { - _yuitest_coverline("build/axis/axis.js", 1680); -cb.setStyle("height", h); - } - _yuitest_coverline("build/axis/axis.js", 1682); -cb.setStyle("position", "relative"); - _yuitest_coverline("build/axis/axis.js", 1683); -cb.setStyle("left", "0px"); - _yuitest_coverline("build/axis/axis.js", 1684); -cb.setStyle("top", "0px"); - _yuitest_coverline("build/axis/axis.js", 1685); -this.set("graphic", new Y.Graphic()); - _yuitest_coverline("build/axis/axis.js", 1686); -this.get("graphic").render(cb); - }, - - /** - * Gets the default value for the `styles` attribute. Overrides - * base implementation. - * - * @method _getDefaultStyles - * @return Object - * @protected - */ - _getDefaultStyles: function() - { - _yuitest_coverfunc("build/axis/axis.js", "_getDefaultStyles", 1697); -_yuitest_coverline("build/axis/axis.js", 1699); -var axisstyles = { - majorTicks: { - display:"inside", - length:4, - color:"#dad8c9", - weight:1, - alpha:1 - }, - minorTicks: { - display:"none", - length:2, - color:"#dad8c9", - weight:1 - }, - line: { - weight:1, - color:"#dad8c9", - alpha:1 - }, - majorUnit: { - determinant:"count", - count:11, - distance:75 - }, - top: "0px", - left: "0px", - width: "100px", - height: "100px", - label: { - color:"#808080", - alpha: 1, - fontSize:"85%", - rotation: 0, - margin: { - top: undefined, - right: undefined, - bottom: undefined, - left: undefined - } - }, - title: { - color:"#808080", - alpha: 1, - fontSize:"85%", - rotation: undefined, - margin: { - top: undefined, - right: undefined, - bottom: undefined, - left: undefined - } - }, - hideOverlappingLabelTicks: false - }; - - _yuitest_coverline("build/axis/axis.js", 1754); -return Y.merge(Y.Renderer.prototype._getDefaultStyles(), axisstyles); - }, - - /** - * Updates the axis when the size changes. - * - * @method _handleSizeChange - * @param {Object} e Event object. - * @private - */ - _handleSizeChange: function(e) - { - _yuitest_coverfunc("build/axis/axis.js", "_handleSizeChange", 1764); -_yuitest_coverline("build/axis/axis.js", 1766); -var attrName = e.attrName, - pos = this.get("position"), - vert = pos == "left" || pos == "right", - cb = this.get("contentBox"), - hor = pos == "bottom" || pos == "top"; - _yuitest_coverline("build/axis/axis.js", 1771); -cb.setStyle("width", this.get("width")); - _yuitest_coverline("build/axis/axis.js", 1772); -cb.setStyle("height", this.get("height")); - _yuitest_coverline("build/axis/axis.js", 1773); -if((hor && attrName == "width") || (vert && attrName == "height")) - { - _yuitest_coverline("build/axis/axis.js", 1775); -this._drawAxis(); - } - }, - - /** - * Maps key values to classes containing layout algorithms - * - * @property _layoutClasses - * @type Object - * @private - */ - _layoutClasses: - { - top : TopAxisLayout, - bottom: BottomAxisLayout, - left: LeftAxisLayout, - right : RightAxisLayout - }, - - /** - * Draws a line segment between 2 points - * - * @method drawLine - * @param {Object} startPoint x and y coordinates for the start point of the line segment - * @param {Object} endPoint x and y coordinates for the for the end point of the line segment - * @param {Object} line styles (weight, color and alpha to be applied to the line segment) - * @private - */ - drawLine: function(path, startPoint, endPoint) - { - _yuitest_coverfunc("build/axis/axis.js", "drawLine", 1803); -_yuitest_coverline("build/axis/axis.js", 1805); -path.moveTo(startPoint.x, startPoint.y); - _yuitest_coverline("build/axis/axis.js", 1806); -path.lineTo(endPoint.x, endPoint.y); - }, - - /** - * Generates the properties necessary for rotating and positioning a text field. - * - * @method _getTextRotationProps - * @param {Object} styles properties for the text field - * @return Object - * @private - */ - _getTextRotationProps: function(styles) - { - _yuitest_coverfunc("build/axis/axis.js", "_getTextRotationProps", 1817); -_yuitest_coverline("build/axis/axis.js", 1819); -if(styles.rotation === undefined) - { - _yuitest_coverline("build/axis/axis.js", 1821); -switch(this.get("position")) - { - case "left" : - _yuitest_coverline("build/axis/axis.js", 1824); -styles.rotation = -90; - _yuitest_coverline("build/axis/axis.js", 1825); -break; - case "right" : - _yuitest_coverline("build/axis/axis.js", 1827); -styles.rotation = 90; - _yuitest_coverline("build/axis/axis.js", 1828); -break; - default : - _yuitest_coverline("build/axis/axis.js", 1830); -styles.rotation = 0; - _yuitest_coverline("build/axis/axis.js", 1831); -break; - } - } - _yuitest_coverline("build/axis/axis.js", 1834); -var rot = Math.min(90, Math.max(-90, styles.rotation)), - absRot = Math.abs(rot), - radCon = Math.PI/180, - sinRadians = parseFloat(parseFloat(Math.sin(absRot * radCon)).toFixed(8)), - cosRadians = parseFloat(parseFloat(Math.cos(absRot * radCon)).toFixed(8)); - _yuitest_coverline("build/axis/axis.js", 1839); -return { - rot: rot, - absRot: absRot, - radCon: radCon, - sinRadians: sinRadians, - cosRadians: cosRadians, - textAlpha: styles.alpha - }; - }, - - /** - * Draws an axis. - * - * @method _drawAxis - * @private - */ - _drawAxis: function () - { - _yuitest_coverfunc("build/axis/axis.js", "_drawAxis", 1855); -_yuitest_coverline("build/axis/axis.js", 1857); -if(this._drawing) - { - _yuitest_coverline("build/axis/axis.js", 1859); -this._callLater = true; - _yuitest_coverline("build/axis/axis.js", 1860); -return; - } - _yuitest_coverline("build/axis/axis.js", 1862); -this._drawing = true; - _yuitest_coverline("build/axis/axis.js", 1863); -this._callLater = false; - _yuitest_coverline("build/axis/axis.js", 1864); -if(this._layout) - { - _yuitest_coverline("build/axis/axis.js", 1866); -var styles = this.get("styles"), - line = styles.line, - labelStyles = styles.label, - majorTickStyles = styles.majorTicks, - drawTicks = majorTickStyles.display != "none", - tickPoint, - majorUnit = styles.majorUnit, - len, - majorUnitDistance, - i = 0, - layout = this._layout, - layoutLength, - position, - lineStart, - label, - labelWidth, - labelHeight, - labelFunction = this.get("labelFunction"), - labelFunctionScope = this.get("labelFunctionScope"), - labelFormat = this.get("labelFormat"), - graphic = this.get("graphic"), - path = this.get("path"), - tickPath, - explicitlySized, - position = this.get("position"), - direction = (position == "left" || position == "right") ? "vertical" : "horizontal"; - _yuitest_coverline("build/axis/axis.js", 1892); -this._labelWidths = []; - _yuitest_coverline("build/axis/axis.js", 1893); -this._labelHeights = []; - _yuitest_coverline("build/axis/axis.js", 1894); -graphic.set("autoDraw", false); - _yuitest_coverline("build/axis/axis.js", 1895); -path.clear(); - _yuitest_coverline("build/axis/axis.js", 1896); -path.set("stroke", { - weight: line.weight, - color: line.color, - opacity: line.alpha - }); - _yuitest_coverline("build/axis/axis.js", 1901); -this._labelRotationProps = this._getTextRotationProps(labelStyles); - _yuitest_coverline("build/axis/axis.js", 1902); -this._labelRotationProps.transformOrigin = layout._getTransformOrigin(this._labelRotationProps.rot); - _yuitest_coverline("build/axis/axis.js", 1903); -layout.setTickOffsets.apply(this); - _yuitest_coverline("build/axis/axis.js", 1904); -layoutLength = this.getLength(); - _yuitest_coverline("build/axis/axis.js", 1905); -lineStart = layout.getLineStart.apply(this); - _yuitest_coverline("build/axis/axis.js", 1906); -len = this.getTotalMajorUnits(majorUnit); - _yuitest_coverline("build/axis/axis.js", 1907); -majorUnitDistance = this.getMajorUnitDistance(len, layoutLength, majorUnit); - _yuitest_coverline("build/axis/axis.js", 1908); -this.set("edgeOffset", this.getEdgeOffset(len, layoutLength) * 0.5); - _yuitest_coverline("build/axis/axis.js", 1909); -if(len < 1) - { - _yuitest_coverline("build/axis/axis.js", 1911); -this._clearLabelCache(); - } - else - { - _yuitest_coverline("build/axis/axis.js", 1915); -tickPoint = this.getFirstPoint(lineStart); - _yuitest_coverline("build/axis/axis.js", 1916); -this.drawLine(path, lineStart, this.getLineEnd(tickPoint)); - _yuitest_coverline("build/axis/axis.js", 1917); -if(drawTicks) - { - _yuitest_coverline("build/axis/axis.js", 1919); -tickPath = this.get("tickPath"); - _yuitest_coverline("build/axis/axis.js", 1920); -tickPath.clear(); - _yuitest_coverline("build/axis/axis.js", 1921); -tickPath.set("stroke", { - weight: majorTickStyles.weight, - color: majorTickStyles.color, - opacity: majorTickStyles.alpha - }); - _yuitest_coverline("build/axis/axis.js", 1926); -layout.drawTick.apply(this, [tickPath, tickPoint, majorTickStyles]); - } - _yuitest_coverline("build/axis/axis.js", 1928); -this._createLabelCache(); - _yuitest_coverline("build/axis/axis.js", 1929); -this._tickPoints = []; - _yuitest_coverline("build/axis/axis.js", 1930); -this._maxLabelSize = 0; - _yuitest_coverline("build/axis/axis.js", 1931); -this._totalTitleSize = 0; - _yuitest_coverline("build/axis/axis.js", 1932); -this._titleSize = 0; - _yuitest_coverline("build/axis/axis.js", 1933); -this._setTitle(); - _yuitest_coverline("build/axis/axis.js", 1934); -explicitlySized = layout.getExplicitlySized.apply(this, [styles]); - _yuitest_coverline("build/axis/axis.js", 1935); -for(; i < len; ++i) - { - _yuitest_coverline("build/axis/axis.js", 1937); -if(drawTicks) - { - _yuitest_coverline("build/axis/axis.js", 1939); -layout.drawTick.apply(this, [tickPath, tickPoint, majorTickStyles]); - } - _yuitest_coverline("build/axis/axis.js", 1941); -position = this.getPosition(tickPoint); - _yuitest_coverline("build/axis/axis.js", 1942); -label = this.getLabel(tickPoint, labelStyles); - _yuitest_coverline("build/axis/axis.js", 1943); -this._labels.push(label); - _yuitest_coverline("build/axis/axis.js", 1944); -this._tickPoints.push({x:tickPoint.x, y:tickPoint.y}); - _yuitest_coverline("build/axis/axis.js", 1945); -this.get("appendLabelFunction")(label, labelFunction.apply(labelFunctionScope, [this._getLabelByIndex(i, len, direction), labelFormat])); - _yuitest_coverline("build/axis/axis.js", 1946); -labelWidth = Math.round(label.offsetWidth); - _yuitest_coverline("build/axis/axis.js", 1947); -labelHeight = Math.round(label.offsetHeight); - _yuitest_coverline("build/axis/axis.js", 1948); -if(!explicitlySized) - { - _yuitest_coverline("build/axis/axis.js", 1950); -this._layout.updateMaxLabelSize.apply(this, [labelWidth, labelHeight]); - } - _yuitest_coverline("build/axis/axis.js", 1952); -this._labelWidths.push(labelWidth); - _yuitest_coverline("build/axis/axis.js", 1953); -this._labelHeights.push(labelHeight); - _yuitest_coverline("build/axis/axis.js", 1954); -tickPoint = this.getNextPoint(tickPoint, majorUnitDistance); - } - _yuitest_coverline("build/axis/axis.js", 1956); -this._clearLabelCache(); - _yuitest_coverline("build/axis/axis.js", 1957); -if(this.get("overlapGraph")) - { - _yuitest_coverline("build/axis/axis.js", 1959); -layout.offsetNodeForTick.apply(this, [this.get("contentBox")]); - } - _yuitest_coverline("build/axis/axis.js", 1961); -layout.setCalculatedSize.apply(this); - _yuitest_coverline("build/axis/axis.js", 1962); -if(this._titleTextField) - { - _yuitest_coverline("build/axis/axis.js", 1964); -this._layout.positionTitle.apply(this, [this._titleTextField]); - } - _yuitest_coverline("build/axis/axis.js", 1966); -for(i = 0; i < len; ++i) - { - _yuitest_coverline("build/axis/axis.js", 1968); -layout.positionLabel.apply(this, [this.get("labels")[i], this._tickPoints[i], styles, i]); - } - } - } - _yuitest_coverline("build/axis/axis.js", 1972); -this._drawing = false; - _yuitest_coverline("build/axis/axis.js", 1973); -if(this._callLater) - { - _yuitest_coverline("build/axis/axis.js", 1975); -this._drawAxis(); - } - else - { - _yuitest_coverline("build/axis/axis.js", 1979); -this._updatePathElement(); - _yuitest_coverline("build/axis/axis.js", 1980); -this.fire("axisRendered"); - } - }, - - /** - * Calculates and sets the total size of a title. - * - * @method _setTotalTitleSize - * @param {Object} styles Properties for the title field. - * @private - */ - _setTotalTitleSize: function(styles) - { - _yuitest_coverfunc("build/axis/axis.js", "_setTotalTitleSize", 1991); -_yuitest_coverline("build/axis/axis.js", 1993); -var title = this._titleTextField, - w = title.offsetWidth, - h = title.offsetHeight, - rot = this._titleRotationProps.rot, - bounds, - size, - margin = styles.margin, - position = this.get("position"), - matrix = new Y.Matrix(); - _yuitest_coverline("build/axis/axis.js", 2002); -matrix.rotate(rot); - _yuitest_coverline("build/axis/axis.js", 2003); -bounds = matrix.getContentRect(w, h); - _yuitest_coverline("build/axis/axis.js", 2004); -if(position == "left" || position == "right") - { - _yuitest_coverline("build/axis/axis.js", 2006); -size = bounds.right - bounds.left; - _yuitest_coverline("build/axis/axis.js", 2007); -if(margin) - { - _yuitest_coverline("build/axis/axis.js", 2009); -size += margin.left + margin.right; - } - } - else - { - _yuitest_coverline("build/axis/axis.js", 2014); -size = bounds.bottom - bounds.top; - _yuitest_coverline("build/axis/axis.js", 2015); -if(margin) - { - _yuitest_coverline("build/axis/axis.js", 2017); -size += margin.top + margin.bottom; - } - } - _yuitest_coverline("build/axis/axis.js", 2020); -this._titleBounds = bounds; - _yuitest_coverline("build/axis/axis.js", 2021); -this._totalTitleSize = size; - }, - - /** - * Updates path. - * - * @method _updatePathElement - * @private - */ - _updatePathElement: function() - { - _yuitest_coverfunc("build/axis/axis.js", "_updatePathElement", 2030); -_yuitest_coverline("build/axis/axis.js", 2032); -var path = this._path, - tickPath = this._tickPath, - redrawGraphic = false, - graphic = this.get("graphic"); - _yuitest_coverline("build/axis/axis.js", 2036); -if(path) - { - _yuitest_coverline("build/axis/axis.js", 2038); -redrawGraphic = true; - _yuitest_coverline("build/axis/axis.js", 2039); -path.end(); - } - _yuitest_coverline("build/axis/axis.js", 2041); -if(tickPath) - { - _yuitest_coverline("build/axis/axis.js", 2043); -redrawGraphic = true; - _yuitest_coverline("build/axis/axis.js", 2044); -tickPath.end(); - } - _yuitest_coverline("build/axis/axis.js", 2046); -if(redrawGraphic) - { - _yuitest_coverline("build/axis/axis.js", 2048); -graphic._redraw(); - } - }, - - /** - * Updates the content and style properties for a title field. - * - * @method _updateTitle - * @private - */ - _setTitle: function() - { - _yuitest_coverfunc("build/axis/axis.js", "_setTitle", 2058); -_yuitest_coverline("build/axis/axis.js", 2060); -var i, - styles, - customStyles, - title = this.get("title"), - titleTextField = this._titleTextField, - parentNode; - _yuitest_coverline("build/axis/axis.js", 2066); -if(title !== null && title !== undefined) - { - _yuitest_coverline("build/axis/axis.js", 2068); -customStyles = { - rotation: "rotation", - margin: "margin", - alpha: "alpha" - }; - _yuitest_coverline("build/axis/axis.js", 2073); -styles = this.get("styles").title; - _yuitest_coverline("build/axis/axis.js", 2074); -if(!titleTextField) - { - _yuitest_coverline("build/axis/axis.js", 2076); -titleTextField = DOCUMENT.createElement('span'); - _yuitest_coverline("build/axis/axis.js", 2077); -titleTextField.style.display = "block"; - _yuitest_coverline("build/axis/axis.js", 2078); -titleTextField.style.whiteSpace = "nowrap"; - _yuitest_coverline("build/axis/axis.js", 2079); -titleTextField.setAttribute("class", "axisTitle"); - _yuitest_coverline("build/axis/axis.js", 2080); -this.get("contentBox").append(titleTextField); - } - else {_yuitest_coverline("build/axis/axis.js", 2082); -if(!DOCUMENT.createElementNS) - { - _yuitest_coverline("build/axis/axis.js", 2084); -if(titleTextField.style.filter) - { - _yuitest_coverline("build/axis/axis.js", 2086); -titleTextField.style.filter = null; - } - }} - _yuitest_coverline("build/axis/axis.js", 2089); -titleTextField.style.position = "absolute"; - _yuitest_coverline("build/axis/axis.js", 2090); -for(i in styles) - { - _yuitest_coverline("build/axis/axis.js", 2092); -if(styles.hasOwnProperty(i) && !customStyles.hasOwnProperty(i)) - { - _yuitest_coverline("build/axis/axis.js", 2094); -titleTextField.style[i] = styles[i]; - } - } - _yuitest_coverline("build/axis/axis.js", 2097); -this.get("appendTitleFunction")(titleTextField, title); - _yuitest_coverline("build/axis/axis.js", 2098); -this._titleTextField = titleTextField; - _yuitest_coverline("build/axis/axis.js", 2099); -this._titleRotationProps = this._getTextRotationProps(styles); - _yuitest_coverline("build/axis/axis.js", 2100); -this._setTotalTitleSize(styles); - } - else {_yuitest_coverline("build/axis/axis.js", 2102); -if(titleTextField) - { - _yuitest_coverline("build/axis/axis.js", 2104); -parentNode = titleTextField.parentNode; - _yuitest_coverline("build/axis/axis.js", 2105); -if(parentNode) - { - _yuitest_coverline("build/axis/axis.js", 2107); -parentNode.removeChild(titleTextField); - } - _yuitest_coverline("build/axis/axis.js", 2109); -this._titleTextField = null; - _yuitest_coverline("build/axis/axis.js", 2110); -this._totalTitleSize = 0; - }} - }, - - /** - * Creates or updates an axis label. - * - * @method getLabel - * @param {Object} pt x and y coordinates for the label - * @param {Object} styles styles applied to label - * @return HTMLElement - * @private - */ - getLabel: function(pt, styles) - { - _yuitest_coverfunc("build/axis/axis.js", "getLabel", 2123); -_yuitest_coverline("build/axis/axis.js", 2125); -var i, - label, - labelCache = this._labelCache, - customStyles = { - rotation: "rotation", - margin: "margin", - alpha: "alpha" - }; - _yuitest_coverline("build/axis/axis.js", 2133); -if(labelCache && labelCache.length > 0) - { - _yuitest_coverline("build/axis/axis.js", 2135); -label = labelCache.shift(); - } - else - { - _yuitest_coverline("build/axis/axis.js", 2139); -label = DOCUMENT.createElement("span"); - _yuitest_coverline("build/axis/axis.js", 2140); -label.className = Y.Lang.trim([label.className, "axisLabel"].join(' ')); - _yuitest_coverline("build/axis/axis.js", 2141); -this.get("contentBox").append(label); - } - _yuitest_coverline("build/axis/axis.js", 2143); -if(!DOCUMENT.createElementNS) - { - _yuitest_coverline("build/axis/axis.js", 2145); -if(label.style.filter) - { - _yuitest_coverline("build/axis/axis.js", 2147); -label.style.filter = null; - } - } - _yuitest_coverline("build/axis/axis.js", 2150); -label.style.display = "block"; - _yuitest_coverline("build/axis/axis.js", 2151); -label.style.whiteSpace = "nowrap"; - _yuitest_coverline("build/axis/axis.js", 2152); -label.style.position = "absolute"; - _yuitest_coverline("build/axis/axis.js", 2153); -for(i in styles) - { - _yuitest_coverline("build/axis/axis.js", 2155); -if(styles.hasOwnProperty(i) && !customStyles.hasOwnProperty(i)) - { - _yuitest_coverline("build/axis/axis.js", 2157); -label.style[i] = styles[i]; - } - } - _yuitest_coverline("build/axis/axis.js", 2160); -return label; - }, - - /** - * Creates a cache of labels that can be re-used when the axis redraws. - * - * @method _createLabelCache - * @private - */ - _createLabelCache: function() - { - _yuitest_coverfunc("build/axis/axis.js", "_createLabelCache", 2169); -_yuitest_coverline("build/axis/axis.js", 2171); -if(this._labels) - { - _yuitest_coverline("build/axis/axis.js", 2173); -while(this._labels.length > 0) - { - _yuitest_coverline("build/axis/axis.js", 2175); -this._labelCache.push(this._labels.shift()); - } - } - else - { - _yuitest_coverline("build/axis/axis.js", 2180); -this._clearLabelCache(); - } - _yuitest_coverline("build/axis/axis.js", 2182); -this._labels = []; - }, - - /** - * Removes axis labels from the dom and clears the label cache. - * - * @method _clearLabelCache - * @private - */ - _clearLabelCache: function() - { - _yuitest_coverfunc("build/axis/axis.js", "_clearLabelCache", 2191); -_yuitest_coverline("build/axis/axis.js", 2193); -if(this._labelCache) - { - _yuitest_coverline("build/axis/axis.js", 2195); -var len = this._labelCache.length, - i = 0, - label; - _yuitest_coverline("build/axis/axis.js", 2198); -for(; i < len; ++i) - { - _yuitest_coverline("build/axis/axis.js", 2200); -label = this._labelCache[i]; - _yuitest_coverline("build/axis/axis.js", 2201); -this._removeChildren(label); - _yuitest_coverline("build/axis/axis.js", 2202); -Y.Event.purgeElement(label, true); - _yuitest_coverline("build/axis/axis.js", 2203); -label.parentNode.removeChild(label); - } - } - _yuitest_coverline("build/axis/axis.js", 2206); -this._labelCache = []; - }, - - /** - * Gets the end point of an axis. - * - * @method getLineEnd - * @return Object - * @private - */ - getLineEnd: function(pt) - { - _yuitest_coverfunc("build/axis/axis.js", "getLineEnd", 2216); -_yuitest_coverline("build/axis/axis.js", 2218); -var w = this.get("width"), - h = this.get("height"), - pos = this.get("position"); - _yuitest_coverline("build/axis/axis.js", 2221); -if(pos === "top" || pos === "bottom") - { - _yuitest_coverline("build/axis/axis.js", 2223); -return {x:w, y:pt.y}; - } - else - { - _yuitest_coverline("build/axis/axis.js", 2227); -return {x:pt.x, y:h}; - } - }, - - /** - * Calcuates the width or height of an axis depending on its direction. - * - * @method getLength - * @return Number - * @private - */ - getLength: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getLength", 2238); -_yuitest_coverline("build/axis/axis.js", 2240); -var l, - style = this.get("styles"), - padding = style.padding, - w = this.get("width"), - h = this.get("height"), - pos = this.get("position"); - _yuitest_coverline("build/axis/axis.js", 2246); -if(pos === "top" || pos === "bottom") - { - _yuitest_coverline("build/axis/axis.js", 2248); -l = w - (padding.left + padding.right); - } - else - { - _yuitest_coverline("build/axis/axis.js", 2252); -l = h - (padding.top + padding.bottom); - } - _yuitest_coverline("build/axis/axis.js", 2254); -return l; - }, - - /** - * Gets the position of the first point on an axis. - * - * @method getFirstPoint - * @param {Object} pt Object containing x and y coordinates. - * @return Object - * @private - */ - getFirstPoint:function(pt) - { - _yuitest_coverfunc("build/axis/axis.js", "getFirstPoint", 2265); -_yuitest_coverline("build/axis/axis.js", 2267); -var style = this.get("styles"), - pos = this.get("position"), - padding = style.padding, - np = {x:pt.x, y:pt.y}; - _yuitest_coverline("build/axis/axis.js", 2271); -if(pos === "top" || pos === "bottom") - { - _yuitest_coverline("build/axis/axis.js", 2273); -np.x += padding.left + this.get("edgeOffset"); - } - else - { - _yuitest_coverline("build/axis/axis.js", 2277); -np.y += this.get("height") - (padding.top + this.get("edgeOffset")); - } - _yuitest_coverline("build/axis/axis.js", 2279); -return np; - }, - - /** - * Gets the position of the next point on an axis. - * - * @method getNextPoint - * @param {Object} point Object containing x and y coordinates. - * @param {Number} majorUnitDistance Distance in pixels between ticks. - * @return Object - * @private - */ - getNextPoint: function(point, majorUnitDistance) - { - _yuitest_coverfunc("build/axis/axis.js", "getNextPoint", 2291); -_yuitest_coverline("build/axis/axis.js", 2293); -var pos = this.get("position"); - _yuitest_coverline("build/axis/axis.js", 2294); -if(pos === "top" || pos === "bottom") - { - _yuitest_coverline("build/axis/axis.js", 2296); -point.x = point.x + majorUnitDistance; - } - else - { - _yuitest_coverline("build/axis/axis.js", 2300); -point.y = point.y - majorUnitDistance; - } - _yuitest_coverline("build/axis/axis.js", 2302); -return point; - }, - - /** - * Calculates the placement of last tick on an axis. - * - * @method getLastPoint - * @return Object - * @private - */ - getLastPoint: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getLastPoint", 2312); -_yuitest_coverline("build/axis/axis.js", 2314); -var style = this.get("styles"), - padding = style.padding, - w = this.get("width"), - pos = this.get("position"); - _yuitest_coverline("build/axis/axis.js", 2318); -if(pos === "top" || pos === "bottom") - { - _yuitest_coverline("build/axis/axis.js", 2320); -return {x:w - padding.right, y:padding.top}; - } - else - { - _yuitest_coverline("build/axis/axis.js", 2324); -return {x:padding.left, y:padding.top}; - } - }, - - /** - * Calculates position on the axis. - * - * @method getPosition - * @param {Object} point contains x and y values - * @private - */ - getPosition: function(point) - { - _yuitest_coverfunc("build/axis/axis.js", "getPosition", 2335); -_yuitest_coverline("build/axis/axis.js", 2337); -var p, - h = this.get("height"), - style = this.get("styles"), - padding = style.padding, - pos = this.get("position"), - dataType = this.get("dataType"); - _yuitest_coverline("build/axis/axis.js", 2343); -if(pos === "left" || pos === "right") - { - //Numeric data on a vertical axis is displayed from bottom to top. - //Categorical and Timeline data is displayed from top to bottom. - _yuitest_coverline("build/axis/axis.js", 2347); -if(dataType === "numeric") - { - _yuitest_coverline("build/axis/axis.js", 2349); -p = (h - (padding.top + padding.bottom)) - (point.y - padding.top); - } - else - { - _yuitest_coverline("build/axis/axis.js", 2353); -p = point.y - padding.top; - } - } - else - { - _yuitest_coverline("build/axis/axis.js", 2358); -p = point.x - padding.left; - } - _yuitest_coverline("build/axis/axis.js", 2360); -return p; - }, - - /** - * Rotates and positions a text field. - * - * @method _rotate - * @param {HTMLElement} label text field to rotate and position - * @param {Object} props properties to be applied to the text field. - * @private - */ - _rotate: function(label, props) - { - _yuitest_coverfunc("build/axis/axis.js", "_rotate", 2371); -_yuitest_coverline("build/axis/axis.js", 2373); -var rot = props.rot, - x = props.x, - y = props.y, - filterString, - textAlpha, - matrix = new Y.Matrix(), - transformOrigin = props.transformOrigin || [0, 0], - offsetRect; - _yuitest_coverline("build/axis/axis.js", 2381); -if(DOCUMENT.createElementNS) - { - _yuitest_coverline("build/axis/axis.js", 2383); -matrix.translate(x, y); - _yuitest_coverline("build/axis/axis.js", 2384); -matrix.rotate(rot); - _yuitest_coverline("build/axis/axis.js", 2385); -Y_DOM.setStyle(label, "transformOrigin", (transformOrigin[0] * 100) + "% " + (transformOrigin[1] * 100) + "%"); - _yuitest_coverline("build/axis/axis.js", 2386); -Y_DOM.setStyle(label, "transform", matrix.toCSSText()); - } - else - { - _yuitest_coverline("build/axis/axis.js", 2390); -textAlpha = props.textAlpha; - _yuitest_coverline("build/axis/axis.js", 2391); -if(Y_Lang.isNumber(textAlpha) && textAlpha < 1 && textAlpha > -1 && !isNaN(textAlpha)) - { - _yuitest_coverline("build/axis/axis.js", 2393); -filterString = "progid:DXImageTransform.Microsoft.Alpha(Opacity=" + Math.round(textAlpha * 100) + ")"; - } - _yuitest_coverline("build/axis/axis.js", 2395); -if(rot !== 0) - { - //ms filters kind of, sort of uses a transformOrigin of 0, 0. - //we'll translate the difference to create a true 0, 0 origin. - _yuitest_coverline("build/axis/axis.js", 2399); -matrix.rotate(rot); - _yuitest_coverline("build/axis/axis.js", 2400); -offsetRect = matrix.getContentRect(props.labelWidth, props.labelHeight); - _yuitest_coverline("build/axis/axis.js", 2401); -matrix.init(); - _yuitest_coverline("build/axis/axis.js", 2402); -matrix.translate(offsetRect.left, offsetRect.top); - _yuitest_coverline("build/axis/axis.js", 2403); -matrix.translate(x, y); - _yuitest_coverline("build/axis/axis.js", 2404); -this._simulateRotateWithTransformOrigin(matrix, rot, transformOrigin, props.labelWidth, props.labelHeight); - _yuitest_coverline("build/axis/axis.js", 2405); -if(filterString) - { - _yuitest_coverline("build/axis/axis.js", 2407); -filterString += " "; - } - else - { - _yuitest_coverline("build/axis/axis.js", 2411); -filterString = ""; - } - _yuitest_coverline("build/axis/axis.js", 2413); -filterString += matrix.toFilterText(); - _yuitest_coverline("build/axis/axis.js", 2414); -label.style.left = matrix.dx + "px"; - _yuitest_coverline("build/axis/axis.js", 2415); -label.style.top = matrix.dy + "px"; - } - else - { - _yuitest_coverline("build/axis/axis.js", 2419); -label.style.left = x + "px"; - _yuitest_coverline("build/axis/axis.js", 2420); -label.style.top = y + "px"; - } - _yuitest_coverline("build/axis/axis.js", 2422); -if(filterString) - { - _yuitest_coverline("build/axis/axis.js", 2424); -label.style.filter = filterString; - } - } - }, - - /** - * Simulates a rotation with a specified transformOrigin. - * - * @method _simulateTransformOrigin - * @param {Matrix} matrix Reference to a `Matrix` instance. - * @param {Number} rot The rotation (in degrees) that will be performed on a matrix. - * @param {Array} transformOrigin An array represeniting the origin in which to perform the transform. The first - * index represents the x origin and the second index represents the y origin. - * @param {Number} w The width of the object that will be transformed. - * @param {Number} h The height of the object that will be transformed. - * @private - */ - _simulateRotateWithTransformOrigin: function(matrix, rot, transformOrigin, w, h) - { - _yuitest_coverfunc("build/axis/axis.js", "_simulateRotateWithTransformOrigin", 2441); -_yuitest_coverline("build/axis/axis.js", 2443); -var transformX = transformOrigin[0] * w, - transformY = transformOrigin[1] * h; - _yuitest_coverline("build/axis/axis.js", 2445); -transformX = !isNaN(transformX) ? transformX : 0; - _yuitest_coverline("build/axis/axis.js", 2446); -transformY = !isNaN(transformY) ? transformY : 0; - _yuitest_coverline("build/axis/axis.js", 2447); -matrix.translate(transformX, transformY); - _yuitest_coverline("build/axis/axis.js", 2448); -matrix.rotate(rot); - _yuitest_coverline("build/axis/axis.js", 2449); -matrix.translate(-transformX, -transformY); - }, - - /** - * Returns the coordinates (top, right, bottom, left) for the bounding box of the last label. - * - * @method getMaxLabelBounds - * @return Object - */ - getMaxLabelBounds: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getMaxLabelBounds", 2458); -_yuitest_coverline("build/axis/axis.js", 2460); -return this._getLabelBounds(this.getMaximumValue()); - }, - - /** - * Returns the coordinates (top, right, bottom, left) for the bounding box of the first label. - * - * @method getMinLabelBounds - * @return Object - */ - getMinLabelBounds: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getMinLabelBounds", 2469); -_yuitest_coverline("build/axis/axis.js", 2471); -return this._getLabelBounds(this.getMinimumValue()); - }, - - /** - * Returns the coordinates (top, right, bottom, left) for the bounding box of a label. - * - * @method _getLabelBounds - * @param {String} Value of the label - * @return Object - * @private - */ - _getLabelBounds: function(val) - { - _yuitest_coverfunc("build/axis/axis.js", "_getLabelBounds", 2482); -_yuitest_coverline("build/axis/axis.js", 2484); -var layout = this._layout, - labelStyles = this.get("styles").label, - matrix = new Y.Matrix(), - label, - props = this._getTextRotationProps(labelStyles); - _yuitest_coverline("build/axis/axis.js", 2489); -props.transformOrigin = layout._getTransformOrigin(props.rot); - _yuitest_coverline("build/axis/axis.js", 2490); -label = this.getLabel({x: 0, y: 0}, labelStyles); - _yuitest_coverline("build/axis/axis.js", 2491); -this.get("appendLabelFunction")(label, this.get("labelFunction").apply(this, [val, this.get("labelFormat")])); - _yuitest_coverline("build/axis/axis.js", 2492); -props.labelWidth = label.offsetWidth; - _yuitest_coverline("build/axis/axis.js", 2493); -props.labelHeight = label.offsetHeight; - _yuitest_coverline("build/axis/axis.js", 2494); -this._removeChildren(label); - _yuitest_coverline("build/axis/axis.js", 2495); -Y.Event.purgeElement(label, true); - _yuitest_coverline("build/axis/axis.js", 2496); -label.parentNode.removeChild(label); - _yuitest_coverline("build/axis/axis.js", 2497); -props.x = 0; - _yuitest_coverline("build/axis/axis.js", 2498); -props.y = 0; - _yuitest_coverline("build/axis/axis.js", 2499); -layout._setRotationCoords(props); - _yuitest_coverline("build/axis/axis.js", 2500); -matrix.translate(props.x, props.y); - _yuitest_coverline("build/axis/axis.js", 2501); -this._simulateRotateWithTransformOrigin(matrix, props.rot, props.transformOrigin, props.labelWidth, props.labelHeight); - _yuitest_coverline("build/axis/axis.js", 2502); -return matrix.getContentRect(props.labelWidth, props.labelHeight); - }, - - /** - * Removes all DOM elements from an HTML element. Used to clear out labels during detruction - * phase. - * - * @method _removeChildren - * @private - */ - _removeChildren: function(node) - { - _yuitest_coverfunc("build/axis/axis.js", "_removeChildren", 2512); -_yuitest_coverline("build/axis/axis.js", 2514); -if(node.hasChildNodes()) - { - _yuitest_coverline("build/axis/axis.js", 2516); -var child; - _yuitest_coverline("build/axis/axis.js", 2517); -while(node.firstChild) - { - _yuitest_coverline("build/axis/axis.js", 2519); -child = node.firstChild; - _yuitest_coverline("build/axis/axis.js", 2520); -this._removeChildren(child); - _yuitest_coverline("build/axis/axis.js", 2521); -node.removeChild(child); - } - } - }, - - /** - * Destructor implementation Axis class. Removes all labels and the Graphic instance from the widget. - * - * @method destructor - * @protected - */ - destructor: function() - { - _yuitest_coverfunc("build/axis/axis.js", "destructor", 2532); -_yuitest_coverline("build/axis/axis.js", 2534); -var cb = this.get("contentBox").getDOMNode(), - labels = this.get("labels"), - graphic = this.get("graphic"), - label, - len = labels ? labels.length : 0; - _yuitest_coverline("build/axis/axis.js", 2539); -if(len > 0) - { - _yuitest_coverline("build/axis/axis.js", 2541); -while(labels.length > 0) - { - _yuitest_coverline("build/axis/axis.js", 2543); -label = labels.shift(); - _yuitest_coverline("build/axis/axis.js", 2544); -this._removeChildren(label); - _yuitest_coverline("build/axis/axis.js", 2545); -cb.removeChild(label); - _yuitest_coverline("build/axis/axis.js", 2546); -label = null; - } - } - _yuitest_coverline("build/axis/axis.js", 2549); -if(graphic) - { - _yuitest_coverline("build/axis/axis.js", 2551); -graphic.destroy(); - } - }, - - /** - * Length in pixels of largest text bounding box. Used to calculate the height of the axis. - * - * @property maxLabelSize - * @type Number - * @protected - */ - _maxLabelSize: 0, - - /** - * Updates the content of text field. This method writes a value into a text field using - * `appendChild`. If the value is a `String`, it is converted to a `TextNode` first. - * - * @method _setText - * @param label {HTMLElement} label to be updated - * @param val {String} value with which to update the label - * @private - */ - _setText: function(textField, val) - { - _yuitest_coverfunc("build/axis/axis.js", "_setText", 2573); -_yuitest_coverline("build/axis/axis.js", 2575); -textField.innerHTML = ""; - _yuitest_coverline("build/axis/axis.js", 2576); -if(Y_Lang.isNumber(val)) - { - _yuitest_coverline("build/axis/axis.js", 2578); -val = val + ""; - } - else {_yuitest_coverline("build/axis/axis.js", 2580); -if(!val) - { - _yuitest_coverline("build/axis/axis.js", 2582); -val = ""; - }} - _yuitest_coverline("build/axis/axis.js", 2584); -if(IS_STRING(val)) - { - _yuitest_coverline("build/axis/axis.js", 2586); -val = DOCUMENT.createTextNode(val); - } - _yuitest_coverline("build/axis/axis.js", 2588); -textField.appendChild(val); - }, - - /** - * Returns the total number of majorUnits that will appear on an axis. - * - * @method getTotalMajorUnits - * @return Number - */ - getTotalMajorUnits: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getTotalMajorUnits", 2597); -_yuitest_coverline("build/axis/axis.js", 2599); -var units, - majorUnit = this.get("styles").majorUnit, - len = this.getLength(); - _yuitest_coverline("build/axis/axis.js", 2602); -if(majorUnit.determinant === "count") - { - _yuitest_coverline("build/axis/axis.js", 2604); -units = majorUnit.count; - } - else {_yuitest_coverline("build/axis/axis.js", 2606); -if(majorUnit.determinant === "distance") - { - _yuitest_coverline("build/axis/axis.js", 2608); -units = (len/majorUnit.distance) + 1; - }} - _yuitest_coverline("build/axis/axis.js", 2610); -return units; - }, - - /** - * Returns the distance between major units on an axis. - * - * @method getMajorUnitDistance - * @param {Number} len Number of ticks - * @param {Number} uiLen Size of the axis. - * @param {Object} majorUnit Hash of properties used to determine the majorUnit - * @return Number - */ - getMajorUnitDistance: function(len, uiLen, majorUnit) - { - _yuitest_coverfunc("build/axis/axis.js", "getMajorUnitDistance", 2622); -_yuitest_coverline("build/axis/axis.js", 2624); -var dist; - _yuitest_coverline("build/axis/axis.js", 2625); -if(majorUnit.determinant === "count") - { - _yuitest_coverline("build/axis/axis.js", 2627); -if(!this.get("calculateEdgeOffset")) - { - _yuitest_coverline("build/axis/axis.js", 2629); -len = len - 1; - } - _yuitest_coverline("build/axis/axis.js", 2631); -dist = uiLen/len; - } - else {_yuitest_coverline("build/axis/axis.js", 2633); -if(majorUnit.determinant === "distance") - { - _yuitest_coverline("build/axis/axis.js", 2635); -dist = majorUnit.distance; - }} - _yuitest_coverline("build/axis/axis.js", 2637); -return dist; - }, - - /** - * Checks to see if data extends beyond the range of the axis. If so, - * that data will need to be hidden. This method is internal, temporary and subject - * to removal in the future. - * - * @method _hasDataOverflow - * @protected - * @return Boolean - */ - _hasDataOverflow: function() - { - _yuitest_coverfunc("build/axis/axis.js", "_hasDataOverflow", 2649); -_yuitest_coverline("build/axis/axis.js", 2651); -if(this.get("setMin") || this.get("setMax")) - { - _yuitest_coverline("build/axis/axis.js", 2653); -return true; - } - _yuitest_coverline("build/axis/axis.js", 2655); -return false; - }, - - /** - * Returns a string corresponding to the first label on an - * axis. - * - * @method getMinimumValue - * @return String - */ - getMinimumValue: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getMinimumValue", 2665); -_yuitest_coverline("build/axis/axis.js", 2667); -return this.get("minimum"); - }, - - /** - * Returns a string corresponding to the last label on an - * axis. - * - * @method getMaximumValue - * @return String - */ - getMaximumValue: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getMaximumValue", 2677); -_yuitest_coverline("build/axis/axis.js", 2679); -return this.get("maximum"); - } -}, { - ATTRS: - { - /** - * When set, defines the width of a vertical axis instance. By default, vertical axes automatically size based - * on their contents. When the width attribute is set, the axis will not calculate its width. When the width - * attribute is explicitly set, axis labels will postion themselves off of the the inner edge of the axis and the - * title, if present, will position itself off of the outer edge. If a specified width is less than the sum of - * the axis' contents, excess content will overflow. - * - * @attribute width - * @type Number - */ - width: { - lazyAdd: false, - - getter: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getter", 2697); -_yuitest_coverline("build/axis/axis.js", 2699); -if(this._explicitWidth) - { - _yuitest_coverline("build/axis/axis.js", 2701); -return this._explicitWidth; - } - _yuitest_coverline("build/axis/axis.js", 2703); -return this._calculatedWidth; - }, - - setter: function(val) - { - _yuitest_coverfunc("build/axis/axis.js", "setter", 2706); -_yuitest_coverline("build/axis/axis.js", 2708); -this._explicitWidth = val; - _yuitest_coverline("build/axis/axis.js", 2709); -return val; - } - }, - - /** - * When set, defines the height of a horizontal axis instance. By default, horizontal axes automatically size based - * on their contents. When the height attribute is set, the axis will not calculate its height. When the height - * attribute is explicitly set, axis labels will postion themselves off of the the inner edge of the axis and the - * title, if present, will position itself off of the outer edge. If a specified height is less than the sum of - * the axis' contents, excess content will overflow. - * - * @attribute height - * @type Number - */ - height: { - lazyAdd: false, - - getter: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getter", 2726); -_yuitest_coverline("build/axis/axis.js", 2728); -if(this._explicitHeight) - { - _yuitest_coverline("build/axis/axis.js", 2730); -return this._explicitHeight; - } - _yuitest_coverline("build/axis/axis.js", 2732); -return this._calculatedHeight; - }, - - setter: function(val) - { - _yuitest_coverfunc("build/axis/axis.js", "setter", 2735); -_yuitest_coverline("build/axis/axis.js", 2737); -this._explicitHeight = val; - _yuitest_coverline("build/axis/axis.js", 2738); -return val; - } - }, - - /** - * Calculated value of an axis' width. By default, the value is used internally for vertical axes. If the `width` - * attribute is explicitly set, this value will be ignored. - * - * @attribute calculatedWidth - * @type Number - * @private - */ - calculatedWidth: { - getter: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getter", 2751); -_yuitest_coverline("build/axis/axis.js", 2753); -return this._calculatedWidth; - }, - - setter: function(val) - { - _yuitest_coverfunc("build/axis/axis.js", "setter", 2756); -_yuitest_coverline("build/axis/axis.js", 2758); -this._calculatedWidth = val; - _yuitest_coverline("build/axis/axis.js", 2759); -return val; - } - }, - - /** - * Calculated value of an axis' height. By default, the value is used internally for horizontal axes. If the `height` - * attribute is explicitly set, this value will be ignored. - * - * @attribute calculatedHeight - * @type Number - * @private - */ - calculatedHeight: { - getter: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getter", 2772); -_yuitest_coverline("build/axis/axis.js", 2774); -return this._calculatedHeight; - }, - - setter: function(val) - { - _yuitest_coverfunc("build/axis/axis.js", "setter", 2777); -_yuitest_coverline("build/axis/axis.js", 2779); -this._calculatedHeight = val; - _yuitest_coverline("build/axis/axis.js", 2780); -return val; - } - }, - - /** - * Difference betweend the first/last tick and edge of axis. - * - * @attribute edgeOffset - * @type Number - * @protected - */ - edgeOffset: - { - value: 0 - }, - - /** - * The graphic in which the axis line and ticks will be rendered. - * - * @attribute graphic - * @type Graphic - */ - graphic: {}, - - /** - * @attribute path - * @type Shape - * @readOnly - * @private - */ - path: { - readOnly: true, - - getter: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getter", 2813); -_yuitest_coverline("build/axis/axis.js", 2815); -if(!this._path) - { - _yuitest_coverline("build/axis/axis.js", 2817); -var graphic = this.get("graphic"); - _yuitest_coverline("build/axis/axis.js", 2818); -if(graphic) - { - _yuitest_coverline("build/axis/axis.js", 2820); -this._path = graphic.addShape({type:"path"}); - } - } - _yuitest_coverline("build/axis/axis.js", 2823); -return this._path; - } - }, - - /** - * @attribute tickPath - * @type Shape - * @readOnly - * @private - */ - tickPath: { - readOnly: true, - - getter: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getter", 2836); -_yuitest_coverline("build/axis/axis.js", 2838); -if(!this._tickPath) - { - _yuitest_coverline("build/axis/axis.js", 2840); -var graphic = this.get("graphic"); - _yuitest_coverline("build/axis/axis.js", 2841); -if(graphic) - { - _yuitest_coverline("build/axis/axis.js", 2843); -this._tickPath = graphic.addShape({type:"path"}); - } - } - _yuitest_coverline("build/axis/axis.js", 2846); -return this._tickPath; - } - }, - - /** - * Contains the contents of the axis. - * - * @attribute node - * @type HTMLElement - */ - node: {}, - - /** - * Direction of the axis. - * - * @attribute position - * @type String - */ - position: { - lazyAdd: false, - - setter: function(val) - { - _yuitest_coverfunc("build/axis/axis.js", "setter", 2867); -_yuitest_coverline("build/axis/axis.js", 2869); -var layoutClass = this._layoutClasses[val]; - _yuitest_coverline("build/axis/axis.js", 2870); -if(val && val != "none") - { - _yuitest_coverline("build/axis/axis.js", 2872); -this._layout = new layoutClass(); - } - _yuitest_coverline("build/axis/axis.js", 2874); -return val; - } - }, - - /** - * Distance determined by the tick styles used to calculate the distance between the axis - * line in relation to the top of the axis. - * - * @attribute topTickOffset - * @type Number - */ - topTickOffset: { - value: 0 - }, - - /** - * Distance determined by the tick styles used to calculate the distance between the axis - * line in relation to the bottom of the axis. - * - * @attribute bottomTickOffset - * @type Number - */ - bottomTickOffset: { - value: 0 - }, - - /** - * Distance determined by the tick styles used to calculate the distance between the axis - * line in relation to the left of the axis. - * - * @attribute leftTickOffset - * @type Number - */ - leftTickOffset: { - value: 0 - }, - - /** - * Distance determined by the tick styles used to calculate the distance between the axis - * line in relation to the right side of the axis. - * - * @attribute rightTickOffset - * @type Number - */ - rightTickOffset: { - value: 0 - }, - - /** - * Collection of labels used to render the axis. - * - * @attribute labels - * @type Array - */ - labels: { - readOnly: true, - getter: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getter", 2930); -_yuitest_coverline("build/axis/axis.js", 2932); -return this._labels; - } - }, - - /** - * Collection of points used for placement of labels and ticks along the axis. - * - * @attribute tickPoints - * @type Array - */ - tickPoints: { - readOnly: true, - - getter: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getter", 2945); -_yuitest_coverline("build/axis/axis.js", 2947); -if(this.get("position") == "none") - { - _yuitest_coverline("build/axis/axis.js", 2949); -return this.get("styles").majorUnit.count; - } - _yuitest_coverline("build/axis/axis.js", 2951); -return this._tickPoints; - } - }, - - /** - * Indicates whether the axis overlaps the graph. If an axis is the inner most axis on a given - * position and the tick position is inside or cross, the axis will need to overlap the graph. - * - * @attribute overlapGraph - * @type Boolean - */ - overlapGraph: { - value:true, - - validator: function(val) - { - _yuitest_coverfunc("build/axis/axis.js", "validator", 2965); -_yuitest_coverline("build/axis/axis.js", 2967); -return Y_Lang.isBoolean(val); - } - }, - - /** - * Length in pixels of largest text bounding box. Used to calculate the height of the axis. - * - * @attribute maxLabelSize - * @type Number - * @protected - */ - maxLabelSize: { - getter: function() - { - _yuitest_coverfunc("build/axis/axis.js", "getter", 2979); -_yuitest_coverline("build/axis/axis.js", 2981); -return this._maxLabelSize; - }, - - setter: function(val) - { - _yuitest_coverfunc("build/axis/axis.js", "setter", 2984); -_yuitest_coverline("build/axis/axis.js", 2986); -this._maxLabelSize = val; - _yuitest_coverline("build/axis/axis.js", 2987); -return val; - } - }, - - /** - * Title for the axis. When specified, the title will display. The position of the title is determined by the axis position. - *
- *
top
Appears above the axis and it labels. The default rotation is 0.
- *
right
Appears to the right of the axis and its labels. The default rotation is 90.
- *
bottom
Appears below the axis and its labels. The default rotation is 0.
- *
left
Appears to the left of the axis and its labels. The default rotation is -90.
- *
- * - * @attribute title - * @type String - */ - title: { - value: null - }, - - /** - * Function used to append an axis value to an axis label. This function has the following signature: - *
- *
textField
The axis label to be appended. (`HTMLElement`)
- *
val
The value to attach to the text field. This method will accept an `HTMLELement` - * or a `String`. This method does not use (`HTMLElement` | `String`)
- *
- * The default method appends a value to the `HTMLElement` using the `appendChild` method. If the given - * value is a `String`, the method will convert the the value to a `textNode` before appending to the - * `HTMLElement`. This method will not convert an `HTMLString` to an `HTMLElement`. - * - * @attribute appendLabelFunction - * @type Function - */ - appendLabelFunction: { - valueFn: function() - { - _yuitest_coverfunc("build/axis/axis.js", "valueFn", 3022); -_yuitest_coverline("build/axis/axis.js", 3024); -return this._setText; - } - }, - - /** - * Function used to append a title value to the title object. This function has the following signature: - *
- *
textField
The title text field to be appended. (`HTMLElement`)
- *
val
The value to attach to the text field. This method will accept an `HTMLELement` - * or a `String`. This method does not use (`HTMLElement` | `String`)
- *
- * The default method appends a value to the `HTMLElement` using the `appendChild` method. If the given - * value is a `String`, the method will convert the the value to a `textNode` before appending to the - * `HTMLElement` element. This method will not convert an `HTMLString` to an `HTMLElement`. - * - * @attribute appendTitleFunction - * @type Function - */ - appendTitleFunction: { - valueFn: function() - { - _yuitest_coverfunc("build/axis/axis.js", "valueFn", 3043); -_yuitest_coverline("build/axis/axis.js", 3045); -return this._setText; - } - } - - /** - * Style properties used for drawing an axis. This attribute is inherited from `Renderer`. Below are the default values: - *
- *
majorTicks
Properties used for drawing ticks. - *
- *
display
Position of the tick. Possible values are `inside`, `outside`, `cross` and `none`. - * The default value is `inside`.
- *
length
The length (in pixels) of the tick. The default value is 4.
- *
color
The color of the tick. The default value is `#dad8c9`
- *
weight
Number indicating the width of the tick. The default value is 1.
- *
alpha
Number from 0 to 1 indicating the opacity of the tick. The default value is 1.
- *
- *
- *
line
Properties used for drawing the axis line. - *
- *
weight
Number indicating the width of the axis line. The default value is 1.
- *
color
The color of the axis line. The default value is `#dad8c9`.
- *
alpha
Number from 0 to 1 indicating the opacity of the tick. The default value is 1.
- *
- *
- *
majorUnit
Properties used to calculate the `majorUnit` for the axis. - *
- *
determinant
The algorithm used for calculating distance between ticks. The possible options are - * `count` and `distance`. If the `determinant` is `count`, the axis ticks will spaced so that a specified number - * of ticks appear on the axis. If the `determinant` is `distance`, the axis ticks will spaced out according to - * the specified distance. The default value is `count`.
- *
count
Number of ticks to appear on the axis when the `determinant` is `count`. The default value is 11.
- *
distance
The distance (in pixels) between ticks when the `determinant` is `distance`. The default - * value is 75.
- *
- *
- *
label
Properties and styles applied to the axis labels. - *
- *
color
The color of the labels. The default value is `#808080`.
- *
alpha
Number between 0 and 1 indicating the opacity of the labels. The default value is 1.
- *
fontSize
The font-size of the labels. The default value is 85%
- *
rotation
The rotation, in degrees (between -90 and 90) of the labels. The default value is 0.
- *
margin
The distance between the label and the axis/tick. Depending on the position of the `Axis`, - * only one of the properties used. - *
- *
top
Pixel value used for an axis with a `position` of `bottom`. The default value is 4.
- *
right
Pixel value used for an axis with a `position` of `left`. The default value is 4.
- *
bottom
Pixel value used for an axis with a `position` of `top`. The default value is 4.
- *
left
Pixel value used for an axis with a `position` of `right`. The default value is 4.
- *
- *
- *
- *
- *
- * - * @attribute styles - * @type Object - */ - } -}); -_yuitest_coverline("build/axis/axis.js", 3104); -Y.AxisType = Y.Base.create("baseAxis", Y.Axis, [], {}); - - -}, '3.9.0', {"requires": ["dom", "widget", "widget-position", "widget-stack", "graphics", "axis-base"]}); diff --git a/lib/yuilib/3.9.0/build/axis/axis-min.js b/lib/yuilib/3.9.0/build/axis/axis-min.js deleted file mode 100644 index 678ed4681f4..00000000000 --- a/lib/yuilib/3.9.0/build/axis/axis-min.js +++ /dev/null @@ -1,5 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("axis",function(e,t){var n=e.config,r=n.win,i=n.doc,s=e.Lang,o=s.isString,u=e.DOM,a,f,l,c,h=e.ClassNameManager.getClassName,p=h("seriesmarker");a=function(){},a.prototype={_getDefaultMargins:function(){return{top:0,left:0,right:4,bottom:0}},setTickOffsets:function(){var e=this,t=e.get("styles").majorTicks,n=t.length,r=n*.5,i=t.display;e.set("topTickOffset",0),e.set("bottomTickOffset",0);switch(i){case"inside":e.set("rightTickOffset",n),e.set("leftTickOffset",0);break;case"outside":e.set("rightTickOffset",0),e.set("leftTickOffset",n);break;case"cross":e.set("rightTickOffset",r),e.set("leftTickOffset",r);break;default:e.set("rightTickOffset",0),e.set("leftTickOffset",0)}},drawTick:function(e,t,n){var r=this,i=r.get("styles"),s=i.padding,o=n.length,u={x:s.left,y:t.y},a={x:o+s.left,y:t.y};r.drawLine(e,u,a)},getLineStart:function(){var e=this.get("styles"),t=e.padding,n=e.majorTicks,r=n.length,i=n.display,s={x:t.left,y:0};return i==="outside"?s.x+=r:i==="cross"&&(s.x+=r/2),s},getLabelPoint:function(e){return{x:e.x-this.get("leftTickOffset"),y:e.y}},updateMaxLabelSize:function(e,t){var n=this,r=this._labelRotationProps,i=r.rot,s=r.absRot,o=r.sinRadians,u=r.cosRadians,a;i===0?a=e:s===90?a=t:a=u*e+o*t,n._maxLabelSize=Math.max(n._maxLabelSize,a)},getExplicitlySized:function(e){if(this._explicitWidth){var t=this,n=t._explicitWidth,r=t._totalTitleSize,i=t.get("leftTickOffset"),s=e.label.margin.right;return t._maxLabelSize=n-(i+s+r),!0}return!1},positionTitle:function(e){var t=this,n=t._titleBounds,r=t.get("styles").title.margin,i=t._titleRotationProps,s=n.right-n.left,o=e.offsetWidth,u=e.offsetHeight,a=o*-0.5+s*.5,f=t.get("height")*.5-u*.5;i.labelWidth=o,i.labelHeight=u,r&&r.left&&(a+=r.left),i.x=a,i.y=f,i.transformOrigin=[.5,.5],t._rotate(e,i)},positionLabel:function(e,t,n,r){var i=this,s=i.get("leftTickOffset"),o=this._totalTitleSize,u=t.x+o-s,a=t.y,f=this._labelRotationProps,l=f.rot,c=f.absRot,h=i._maxLabelSize,p=this._labelWidths[r],d=this._labelHeights[r];l===0?(u-=p,a-=d*.5):l===90?u-=p*.5:l===-90?(u-=p*.5,a-=d):(u-=p+d*c/360,a-=d*.5),f.labelWidth=p,f.labelHeight=d,f.x=Math.round(h+u),f.y=Math.round(a),this._rotate(e,f)},_setRotationCoords:function(e){var t=e.rot,n=e.absRot,r,i,s=e.labelWidth,o=e.labelHeight;t===0?(r=s,i=o*.5):t===90?(i=0,r=s*.5):t===-90?(r=s*.5,i=o):(r=s+o*n/360,i=o*.5),e.x-=r,e.y-=i},_getTransformOrigin:function(e){var t;return e===0?t=[0,0]:e===90?t=[.5,0]:e===-90?t=[.5,1]:t=[1,.5],t},offsetNodeForTick:function(e){},setCalculatedSize:function(){var e=this,t=this.get("graphic"),n=e.get("styles"),r=n.label,i=e.get("leftTickOffset"),s=e._maxLabelSize,o=this._totalTitleSize,u=Math.round(o+i+s+r.margin.right);this._explicitWidth&&(u=this._explicitWidth),this.set("calculatedWidth",u),t.set("x",u-i)}},e.LeftAxisLayout=a,f=function(){},f.prototype={_getDefaultMargins:function(){return{top:0,left:4,right:0,bottom:0}},setTickOffsets:function(){var e=this,t=e.get("styles").majorTicks,n=t.length,r=n*.5,i=t.display;e.set("topTickOffset",0),e.set("bottomTickOffset",0);switch(i){case"inside":e.set("leftTickOffset",n),e.set("rightTickOffset",0);break;case"outside":e.set("leftTickOffset",0),e.set("rightTickOffset",n);break;case"cross":e.set("rightTickOffset",r),e.set("leftTickOffset",r);break;default:e.set("leftTickOffset",0),e.set("rightTickOffset",0)}},drawTick:function(e,t,n){var r=this,i=r.get("styles"),s=i.padding,o=n.length,u={x:s.left,y:t.y},a={x:s.left+o,y:t.y};r.drawLine(e,u,a)},getLineStart:function(){var e=this,t=e.get("styles"),n=t.padding,r=t.majorTicks,i=r.length,s=r.display,o={x:n.left,y:n.top};return s==="inside"?o.x+=i:s==="cross"&&(o.x+=i/2),o},getLabelPoint:function(e){return{x:e.x+this.get("rightTickOffset"),y:e.y}},updateMaxLabelSize:function(e,t){var n=this,r=this._labelRotationProps,i=r.rot,s=r.absRot,o=r.sinRadians,u=r.cosRadians,a;i===0?a=e:s===90?a=t:a=u*e+o*t,n._maxLabelSize=Math.max(n._maxLabelSize,a)},getExplicitlySized:function(e){if(this._explicitWidth){var t=this,n=t._explicitWidth,r=this._totalTitleSize,i=t.get("rightTickOffset"),s=e.label.margin.right;return t._maxLabelSize=n-(i+s+r),!0}return!1},positionTitle:function(e){var t=this,n=t._titleBounds,r=t.get("styles").title.margin,i=t._titleRotationProps,s=e.offsetWidth,o=e.offsetHeight,u=n.right-n.left,a=this.get("width")-s*.5-u*.5,f=t.get("height")*.5-o*.5;i.labelWidth=s,i.labelHeight=o,r&&r.right&&(a-=r.left),i.x=a,i.y=f,i.transformOrigin=[.5,.5],t._rotate(e,i)},positionLabel:function(e,t,n,r){var i=this,s=i.get("rightTickOffset"),o=n.label,u=0,a=t.x,f=t.y,l=this._labelRotationProps,c=l.rot,h=l.absRot,p=this._labelWidths[r],d=this._labelHeights[r];o.margin&&o.margin.left&&(u=o.margin.left),c===0?f-=d*.5:c===90?(a-=p*.5,f-=d):c===-90?a-=p*.5:(f-=d*.5,a+=d/2*h/90),a+=u,a+=s,l.labelWidth=p,l.labelHeight=d,l.x=Math.round(a),l.y=Math.round(f),this._rotate(e,l)},_setRotationCoords:function(e){var t=e.rot,n=e.absRot,r=0,i=0,s=e.labelWidth,o=e.labelHeight;t===0?i=o*.5:t===90?(r=s*.5,i=o):t===-90?r=s*.5:(i=o*.5,r=o/2*n/90),e.x-=r,e.y-=i},_getTransformOrigin:function(e){var t;return e===0?t=[0,0]:e===90?t=[.5,1]:e===-90?t=[.5,0]:t=[0,.5],t},offsetNodeForTick:function(e){var t=this,n=t.get("leftTickOffset"),r=0-n;e.setStyle("left",r)},setCalculatedSize:function(){var e=this,t=e.get("styles"),n=t.label,r=this._totalTitleSize,i=Math.round(e.get("rightTickOffset")+e._maxLabelSize+r+n.margin.left);this._explicitWidth&&(i=this._explicitWidth),e.set("calculatedWidth",i),e.get("contentBox").setStyle("width",i)}},e.RightAxisLayout=f,l=function(){},l.prototype={_getDefaultMargins:function(){return{top:4,left:0,right:0,bottom:0}},setTickOffsets:function(){var e=this,t=e.get("styles").majorTicks,n=t.length,r=n*.5,i=t.display;e.set("leftTickOffset",0),e.set("rightTickOffset",0);switch(i){case"inside":e.set("topTickOffset",n),e.set("bottomTickOffset",0);break;case"outside":e.set("topTickOffset",0),e.set("bottomTickOffset",n);break;case"cross":e.set("topTickOffset",r),e.set("bottomTickOffset",r);break;default:e.set("topTickOffset" -,0),e.set("bottomTickOffset",0)}},getLineStart:function(){var e=this.get("styles"),t=e.padding,n=e.majorTicks,r=n.length,i=n.display,s={x:0,y:t.top};return i==="inside"?s.y+=r:i==="cross"&&(s.y+=r/2),s},drawTick:function(e,t,n){var r=this,i=r.get("styles"),s=i.padding,o=n.length,u={x:t.x,y:s.top},a={x:t.x,y:o+s.top};r.drawLine(e,u,a)},getLabelPoint:function(e){return{x:e.x,y:e.y+this.get("bottomTickOffset")}},updateMaxLabelSize:function(e,t){var n=this,r=this._labelRotationProps,i=r.rot,s=r.absRot,o=r.sinRadians,u=r.cosRadians,a;i===0?a=t:s===90?a=e:a=o*e+u*t,n._maxLabelSize=Math.max(n._maxLabelSize,a)},getExplicitlySized:function(e){if(this._explicitHeight){var t=this,n=t._explicitHeight,r=t._totalTitleSize,i=t.get("bottomTickOffset"),s=e.label.margin.right;return t._maxLabelSize=n-(i+s+r),!0}return!1},positionTitle:function(e){var t=this,n=t._titleBounds,r=t.get("styles").title.margin,i=t._titleRotationProps,s=n.bottom-n.top,o=e.offsetWidth,u=e.offsetHeight,a=t.get("width")*.5-o*.5,f=t.get("height")-u/2-s/2;i.labelWidth=o,i.labelHeight=u,r&&r.bottom&&(f-=r.bottom),i.x=a,i.y=f,i.transformOrigin=[.5,.5],t._rotate(e,i)},positionLabel:function(e,t,n,r){var i=this,s=i.get("bottomTickOffset"),o=n.label,u=0,a=i._labelRotationProps,f=a.rot,l=a.absRot,c=Math.round(t.x),h=Math.round(t.y),p=i._labelWidths[r],d=i._labelHeights[r];o.margin&&o.margin.top&&(u=o.margin.top),f>0?h-=d/2*f/90:f<0?(c-=p,h-=d/2*l/90):c-=p*.5,h+=u,h+=s,a.labelWidth=p,a.labelHeight=d,a.x=c,a.y=h,i._rotate(e,a)},_setRotationCoords:function(e){var t=e.rot,n=e.absRot,r=e.labelWidth,i=e.labelHeight,s,o;t>0?(s=0,o=i/2*t/90):t<0?(s=r,o=i/2*n/90):(s=r*.5,o=0),e.x-=s,e.y-=o},_getTransformOrigin:function(e){var t;return e>0?t=[0,.5]:e<0?t=[1,.5]:t=[0,0],t},offsetNodeForTick:function(e){var t=this;t.get("contentBox").setStyle("top",0-t.get("topTickOffset"))},setCalculatedSize:function(){var e=this,t=e.get("styles"),n=t.label,r=e._totalTitleSize,i=Math.round(e.get("bottomTickOffset")+e._maxLabelSize+n.margin.top+r);e._explicitHeight&&(i=e._explicitHeight),e.set("calculatedHeight",i)}},e.BottomAxisLayout=l,c=function(){},c.prototype={_getDefaultMargins:function(){return{top:0,left:0,right:0,bottom:4}},setTickOffsets:function(){var e=this,t=e.get("styles").majorTicks,n=t.length,r=n*.5,i=t.display;e.set("leftTickOffset",0),e.set("rightTickOffset",0);switch(i){case"inside":e.set("bottomTickOffset",n),e.set("topTickOffset",0);break;case"outside":e.set("bottomTickOffset",0),e.set("topTickOffset",n);break;case"cross":e.set("topTickOffset",r),e.set("bottomTickOffset",r);break;default:e.set("topTickOffset",0),e.set("bottomTickOffset",0)}},getLineStart:function(){var e=this,t=e.get("styles"),n=t.padding,r=t.majorTicks,i=r.length,s=r.display,o={x:0,y:n.top};return s==="outside"?o.y+=i:s==="cross"&&(o.y+=i/2),o},drawTick:function(e,t,n){var r=this,i=r.get("styles"),s=i.padding,o=n.length,u={x:t.x,y:s.top},a={x:t.x,y:o+s.top};r.drawLine(e,u,a)},getLabelPoint:function(e){return{x:e.x,y:e.y-this.get("topTickOffset")}},updateMaxLabelSize:function(e,t){var n=this,r=this._labelRotationProps,i=r.rot,s=r.absRot,o=r.sinRadians,u=r.cosRadians,a;i===0?a=t:s===90?a=e:a=o*e+u*t,n._maxLabelSize=Math.max(n._maxLabelSize,a)},getExplicitlySized:function(e){if(this._explicitHeight){var t=this,n=t._explicitHeight,r=t._totalTitleSize,i=t.get("topTickOffset"),s=e.label.margin.right;return t._maxLabelSize=n-(i+s+r),!0}return!1},positionTitle:function(e){var t=this,n=t._titleBounds,r=t.get("styles").title.margin,i=t._titleRotationProps,s=e.offsetWidth,o=e.offsetHeight,u=n.bottom-n.top,a=t.get("width")*.5-s*.5,f=u/2-o/2;i.labelWidth=s,i.labelHeight=o,r&&r.top&&(f+=r.top),i.x=a,i.y=f,i.transformOrigin=[.5,.5],t._rotate(e,i)},positionLabel:function(e,t,n,r){var i=this,s=this._totalTitleSize,o=i._maxLabelSize,u=t.x,a=t.y+s+o,f=this._labelRotationProps,l=f.rot,c=f.absRot,h=this._labelWidths[r],p=this._labelHeights[r];l===0?(u-=h*.5,a-=p):l===90?(u-=h,a-=p*.5):l===-90?a-=p*.5:l>0?(u-=h,a-=p-p*l/180):a-=p-p*c/180,f.x=Math.round(u),f.y=Math.round(a),f.labelWidth=h,f.labelHeight=p,this._rotate(e,f)},_setRotationCoords:function(e){var t=e.rot,n=e.absRot,r=e.labelWidth,i=e.labelHeight,s,o;t===0?(s=r*.5,o=i):t===90?(s=r,o=i*.5):t===-90?o=i*.5:t>0?(s=r,o=i-i*t/180):o=i-i*n/180,e.x-=s,e.y-=o},_getTransformOrigin:function(e){var t;return e===0?t=[0,0]:e===90?t=[1,.5]:e===-90?t=[0,.5]:e>0?t=[1,.5]:t=[0,.5],t},offsetNodeForTick:function(e){},setCalculatedSize:function(){var e=this,t=e.get("graphic"),n=e.get("styles"),r=n.label.margin,i=r.bottom+e._maxLabelSize,s=e._totalTitleSize,o=this.get("topTickOffset"),u=Math.round(o+i+s);this._explicitHeight&&(u=this._explicitHeight),e.set("calculatedHeight",u),t.set("y",u-o)}},e.TopAxisLayout=c,e.Axis=e.Base.create("axis",e.Widget,[e.AxisBase],{getLabelByIndex:function(e,t){var n=this.get("position"),r=n=="left"||n=="right"?"vertical":"horizontal";return this._getLabelByIndex(e,t,r)},bindUI:function(){this.after("dataReady",e.bind(this._dataChangeHandler,this)),this.after("dataUpdate",e.bind(this._dataChangeHandler,this)),this.after("stylesChange",this._updateHandler),this.after("overlapGraphChange",this._updateHandler),this.after("positionChange",this._positionChangeHandler),this.after("widthChange",this._handleSizeChange),this.after("heightChange",this._handleSizeChange),this.after("calculatedWidthChange",this._handleSizeChange),this.after("calculatedHeightChange",this._handleSizeChange)},_calculatedWidth:0,_calculatedHeight:0,_dataChangeHandler:function(e){this.get("rendered")&&this._drawAxis()},_positionChangeHandler:function(e){this._updateGraphic(e.newVal),this._updateHandler()},_updateGraphic:function(e){var t=this.get("graphic");e=="none"?t&&t.destroy():t||this._setCanvas()},_updateHandler:function(e){this.get("rendered")&&this._drawAxis()},renderUI:function(){this._updateGraphic(this.get("position"))},syncUI:function(){var e=this._layout,t,n,r,i,s;if(e){t=e._getDefaultMargins(),n=this.get("styles"),r=n.label.margin,i=n.title.margin;for(s in -t)t.hasOwnProperty(s)&&(r[s]=r[s]===undefined?t[s]:r[s],i[s]=i[s]===undefined?t[s]:i[s])}this._drawAxis()},_setCanvas:function(){var t=this.get("contentBox"),n=this.get("boundingBox"),r=this.get("position"),i=this._parentNode,s=this.get("width"),o=this.get("height");n.setStyle("position","absolute"),n.setStyle("zIndex",2),s=s?s+"px":i.getStyle("width"),o=o?o+"px":i.getStyle("height"),r==="top"||r==="bottom"?t.setStyle("width",s):t.setStyle("height",o),t.setStyle("position","relative"),t.setStyle("left","0px"),t.setStyle("top","0px"),this.set("graphic",new e.Graphic),this.get("graphic").render(t)},_getDefaultStyles:function(){var t={majorTicks:{display:"inside",length:4,color:"#dad8c9",weight:1,alpha:1},minorTicks:{display:"none",length:2,color:"#dad8c9",weight:1},line:{weight:1,color:"#dad8c9",alpha:1},majorUnit:{determinant:"count",count:11,distance:75},top:"0px",left:"0px",width:"100px",height:"100px",label:{color:"#808080",alpha:1,fontSize:"85%",rotation:0,margin:{top:undefined,right:undefined,bottom:undefined,left:undefined}},title:{color:"#808080",alpha:1,fontSize:"85%",rotation:undefined,margin:{top:undefined,right:undefined,bottom:undefined,left:undefined}},hideOverlappingLabelTicks:!1};return e.merge(e.Renderer.prototype._getDefaultStyles(),t)},_handleSizeChange:function(e){var t=e.attrName,n=this.get("position"),r=n=="left"||n=="right",i=this.get("contentBox"),s=n=="bottom"||n=="top";i.setStyle("width",this.get("width")),i.setStyle("height",this.get("height")),(s&&t=="width"||r&&t=="height")&&this._drawAxis()},_layoutClasses:{top:c,bottom:l,left:a,right:f},drawLine:function(e,t,n){e.moveTo(t.x,t.y),e.lineTo(n.x,n.y)},_getTextRotationProps:function(e){if(e.rotation===undefined)switch(this.get("position")){case"left":e.rotation=-90;break;case"right":e.rotation=90;break;default:e.rotation=0}var t=Math.min(90,Math.max(-90,e.rotation)),n=Math.abs(t),r=Math.PI/180,i=parseFloat(parseFloat(Math.sin(n*r)).toFixed(8)),s=parseFloat(parseFloat(Math.cos(n*r)).toFixed(8));return{rot:t,absRot:n,radCon:r,sinRadians:i,cosRadians:s,textAlpha:e.alpha}},_drawAxis:function(){if(this._drawing){this._callLater=!0;return}this._drawing=!0,this._callLater=!1;if(this._layout){var e=this.get("styles"),t=e.line,n=e.label,r=e.majorTicks,i=r.display!="none",s,o=e.majorUnit,u,a,f=0,l=this._layout,c,h,p,d,v,m,g=this.get("labelFunction"),y=this.get("labelFunctionScope"),b=this.get("labelFormat"),w=this.get("graphic"),E=this.get("path"),S,x,h=this.get("position"),T=h=="left"||h=="right"?"vertical":"horizontal";this._labelWidths=[],this._labelHeights=[],w.set("autoDraw",!1),E.clear(),E.set("stroke",{weight:t.weight,color:t.color,opacity:t.alpha}),this._labelRotationProps=this._getTextRotationProps(n),this._labelRotationProps.transformOrigin=l._getTransformOrigin(this._labelRotationProps.rot),l.setTickOffsets.apply(this),c=this.getLength(),p=l.getLineStart.apply(this),u=this.getTotalMajorUnits(o),a=this.getMajorUnitDistance(u,c,o),this.set("edgeOffset",this.getEdgeOffset(u,c)*.5);if(u<1)this._clearLabelCache();else{s=this.getFirstPoint(p),this.drawLine(E,p,this.getLineEnd(s)),i&&(S=this.get("tickPath"),S.clear(),S.set("stroke",{weight:r.weight,color:r.color,opacity:r.alpha}),l.drawTick.apply(this,[S,s,r])),this._createLabelCache(),this._tickPoints=[],this._maxLabelSize=0,this._totalTitleSize=0,this._titleSize=0,this._setTitle(),x=l.getExplicitlySized.apply(this,[e]);for(;f0?s=o.shift():(s=i.createElement("span"),s.className=e.Lang.trim([s.className,"axisLabel"].join(" ")),this.get("contentBox").append(s)),i.createElementNS||s.style.filter&&(s.style.filter=null),s.style.display="block",s.style.whiteSpace="nowrap",s.style.position="absolute";for(r in n)n.hasOwnProperty(r)&&!u.hasOwnProperty(r)&&(s.style[r]=n[r]);return s},_createLabelCache:function(){if(this._labels)while(this._labels -.length>0)this._labelCache.push(this._labels.shift());else this._clearLabelCache();this._labels=[]},_clearLabelCache:function(){if(this._labelCache){var t=this._labelCache.length,n=0,r;for(;n-1&&!isNaN(l)&&(f="progid:DXImageTransform.Microsoft.Alpha(Opacity="+Math.round(l*100)+")"),r!==0?(c.rotate(r),p=c.getContentRect(n.labelWidth,n.labelHeight),c.init(),c.translate(p.left,p.top),c.translate(o,a),this._simulateRotateWithTransformOrigin(c,r,h,n.labelWidth,n.labelHeight),f?f+=" ":f="",f+=c.toFilterText(),t.style.left=c.dx+"px",t.style.top=c.dy+"px"):(t.style.left=o+"px",t.style.top=a+"px"),f&&(t.style.filter=f))},_simulateRotateWithTransformOrigin:function(e,t,n,r,i){var s=n[0]*r,o=n[1]*i;s=isNaN(s)?0:s,o=isNaN(o)?0:o,e.translate(s,o),e.rotate(t),e.translate(-s,-o)},getMaxLabelBounds:function(){return this._getLabelBounds(this.getMaximumValue())},getMinLabelBounds:function(){return this._getLabelBounds(this.getMinimumValue())},_getLabelBounds:function(t){var n=this._layout,r=this.get("styles").label,i=new e.Matrix,s,o=this._getTextRotationProps(r);return o.transformOrigin=n._getTransformOrigin(o.rot),s=this.getLabel({x:0,y:0},r),this.get("appendLabelFunction")(s,this.get("labelFunction").apply(this,[t,this.get("labelFormat")])),o.labelWidth=s.offsetWidth,o.labelHeight=s.offsetHeight,this._removeChildren(s),e.Event.purgeElement(s,!0),s.parentNode.removeChild(s),o.x=0,o.y=0,n._setRotationCoords(o),i.translate(o.x,o.y),this._simulateRotateWithTransformOrigin(i,o.rot,o.transformOrigin,o.labelWidth,o.labelHeight),i.getContentRect(o.labelWidth,o.labelHeight)},_removeChildren:function(e){if(e.hasChildNodes()){var t;while(e.firstChild)t=e.firstChild,this._removeChildren(t),e.removeChild(t)}},destructor:function(){var e=this.get("contentBox").getDOMNode(),t=this.get("labels"),n=this.get("graphic"),r,i=t?t.length:0;if(i>0)while(t.length>0)r=t.shift(),this._removeChildren(r),e.removeChild(r),r=null;n&&n.destroy()},_maxLabelSize:0,_setText:function(e,t){e.innerHTML="",s.isNumber(t)?t+="":t||(t=""),o(t)&&(t=i.createTextNode(t)),e.appendChild(t)},getTotalMajorUnits:function(){var e,t=this.get("styles").majorUnit,n=this.getLength();return t.determinant==="count"?e=t.count:t.determinant==="distance"&&(e=n/t.distance+1),e},getMajorUnitDistance:function(e,t,n){var r;return n.determinant==="count"?(this.get("calculateEdgeOffset")||(e-=1),r=t/e):n.determinant==="distance"&&(r=n.distance),r},_hasDataOverflow:function(){return this.get("setMin")||this.get("setMax")?!0:!1},getMinimumValue:function(){return this.get("minimum")},getMaximumValue:function(){return this.get("maximum")}},{ATTRS:{width:{lazyAdd:!1,getter:function(){return this._explicitWidth?this._explicitWidth:this._calculatedWidth},setter:function(e){return this._explicitWidth=e,e}},height:{lazyAdd:!1,getter:function(){return this._explicitHeight?this._explicitHeight:this._calculatedHeight},setter:function(e){return this._explicitHeight=e,e}},calculatedWidth:{getter:function(){return this._calculatedWidth},setter:function(e){return this._calculatedWidth=e,e}},calculatedHeight:{getter:function(){return this._calculatedHeight},setter:function(e){return this._calculatedHeight=e,e}},edgeOffset:{value:0},graphic:{},path:{readOnly:!0,getter:function(){if(!this._path){var e=this.get("graphic");e&&(this._path=e.addShape({type:"path"}))}return this._path}},tickPath:{readOnly:!0,getter:function(){if(!this._tickPath){var e=this.get("graphic");e&&(this._tickPath=e.addShape({type:"path"}))}return this._tickPath}},node:{},position:{lazyAdd:!1,setter:function(e){var t=this._layoutClasses[e];return e&&e!="none"&&(this._layout=new t),e}},topTickOffset:{value:0},bottomTickOffset:{value:0},leftTickOffset:{value:0},rightTickOffset:{value:0},labels:{readOnly:!0,getter:function(){return this._labels}},tickPoints:{readOnly:!0,getter:function(){return this.get("position")=="none"?this.get("styles").majorUnit.count:this._tickPoints}},overlapGraph:{value:!0,validator:function(e){return s.isBoolean(e)}},maxLabelSize:{getter:function(){return this._maxLabelSize},setter:function(e){return this._maxLabelSize=e,e}},title:{value:null},appendLabelFunction:{valueFn:function(){return this._setText}},appendTitleFunction:{valueFn:function(){return this._setText}}}}),e.AxisType=e.Base.create("baseAxis",e.Axis,[],{})},"3.9.0",{requires:["dom","widget","widget-position","widget-stack","graphics","axis-base"]}); diff --git a/lib/yuilib/3.9.0/build/charts-base/charts-base-min.js b/lib/yuilib/3.9.0/build/charts-base/charts-base-min.js deleted file mode 100644 index 9aab12bbbdc..00000000000 --- a/lib/yuilib/3.9.0/build/charts-base/charts-base-min.js +++ /dev/null @@ -1,9 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("charts-base",function(e,t){function l(){}function c(t){return t.type!="pie"?new e.CartesianChart(t):new e.PieChart(t)}var n=e.config,r=n.win,i=n.doc,s=e.Lang,o=s.isString,u=e.DOM,a=e.ClassNameManager.getClassName,f=a("seriesmarker");e.Gridlines=e.Base.create("gridlines",e.Base,[e.Renderer],{_path:null,remove:function(){var e=this._path;e&&e.destroy()},draw:function(){this.get("axis")&&this.get("graph")&&this._drawGridlines()},_drawGridlines:function(){var t,n=this.get("axis"),r=n.get("position"),i,s=0,o,u=this.get("direction"),a=this.get("graph"),f=a.get("width"),l=a.get("height"),c=this.get("styles").line,h=c.color,p=c.weight,d=c.alpha,v=this.get("count"),m=u=="vertical"?this._verticalLine:this._horizontalLine;if(isFinite(f)&&isFinite(l)&&f>0&&l>0){v&&e.Lang.isNumber(v)?i=this._getPoints(v,f,l):r!="none"&&n&&n.get("tickPoints")?i=n.get("tickPoints"):i=this._getPoints(n.get("styles").majorUnit.count,f,l),o=i.length,t=a.get("gridlines"),t.set("width",f),t.set("height",l),t.set("stroke",{weight:p,color:h,opacity:d});for(s=0;se&&(n=t[e]),n},getSeriesByKey:function(e){var t=this._seriesDictionary,n;return t&&t.hasOwnProperty(e)&&(n=t[e]),n},addDispatcher:function(e){this._dispatchers||(this._dispatchers=[]),this._dispatchers.push(e)},_seriesCollection:null,_seriesDictionary:null,_parseSeriesCollection:function(t){if(!t)return;var n=t.length,r=0,i,s;this._seriesCollection=[],this._seriesDictionary={},this.seriesTypes=[];for(;r-1&&this._dispatchers.splice(i,1),this._dispatchers.length<1&&(r=this.get("graphic"),r.get("autoDraw")||r._redraw(),this.fire("chartRendered"))},_getDefaultStyles:function(){var e={background:{shape:"rect",fill:{color:"#faf9f2"},border:{color:"#dad8c9",weight:1}}};return e},destructor:function(){this._graphic&&(this._graphic.destroy(),this._graphic=null),this._background&&(this._background.get("graphic").destroy(),this._background=null),this._gridlines&&(this._gridlines.get("graphic").destroy(),this._gridlines=null)}},{ATTRS:{x:{setter:function(e){return this.get("boundingBox").setStyle("left",e+"px"),e}},y:{setter:function(e){return this.get("boundingBox").setStyle("top",e+"px"),e}},chart:{getter:function(){var e=this._state.chart||this;return e}},seriesCollection:{getter:function(){return this._seriesCollection},setter:function(e){return this._parseSeriesCollection(e),this._seriesCollection}},showBackground:{value:!0},seriesDictionary:{readOnly:!0,getter:function(){return this._seriesDictionary}},horizontalGridlines:{value:null,setter:function(t){var n,r,i=this.get("horizontalGridlines");i&&i instanceof e.Gridlines&&i.remove();if(t instanceof e.Gridlines)return i=t,t.set("graph",this),t;if(t){n={direction:"horizonal",graph:this};for(r in t)t.hasOwnProperty(r)&&(n[r]=t[r]);return i=new e.Gridlines(n),i}}},verticalGridlines:{value:null,setter:function(t){var n,r,i=this.get("verticalGridlines");i&&i instanceof e.Gridlines&&i.remove();if(t instanceof e.Gridlines)return i=t,t.set("graph",this),t;if(t){n={direction:"vertical",graph:this};for(r in t)t.hasOwnProperty(r)&&(n[r]=t[r]);return i=new e.Gridlines(n),i}}},background:{getter:function(){return this._background||(this._backgroundGraphic=new e.Graphic({render:this.get("contentBox")}),this._backgroundGraphic.get("node").style.zIndex=0,this._background=this._backgroundGraphic.addShape({type:"rect"})),this._background}},gridlines:{readOnly:!0,getter:function(){return this._gridlines||(this._gridlinesGraphic=new e.Graphic({render:this.get("contentBox")}),this._gridlinesGraphic.get("node").style.zIndex=1,this._gridlines=this._gridlinesGraphic.addShape({type:"path"})),this._gridlines}},graphic:{readOnly:!0,getter:function(){return this._graphic||(this._graphic=new e.Graphic({render:this.get("contentBox")}),this._graphic.get("node").style.zIndex=2,this._graphic.set("autoDraw",!1)),this._graphic}},groupMarkers:{value:!1}}}),l.ATTRS={dataProvider:{lazyAdd:!1,valueFn:function(){var e=[];return this._seriesKeysExplicitlySet||(this._seriesKeys=this._buildSeriesKeys(e)),e},setter:function(e){var t=this._setDataValues(e);return this._seriesKeysExplicitlySet||(this._seriesKeys=this._buildSeriesKeys(t)),t}},seriesKeys:{getter:function(){return this._seriesKeys},setter:function(e){return this._seriesKeysExplicitlySet=!0,this._seriesKeys=e,e}},ariaLabel:{value:"Chart Application",setter:function(e){var t=this.get("contentBox");return t&&t.setAttribute("aria-label",e),e}},ariaDescription:{value:"Use the up and down keys to navigate between series. Use the left and right keys to navigate through items in a series.",setter:function(e){return this._description&&(this._description.setContent(""),this._description.appendChild(i.createTextNode(e))),e}},tooltip:{valueFn:"_getTooltip",setter:function(e){return this._updateTooltip(e)}},categoryKey:{value:"category"},categoryType:{value:"category"},interactionType:{value:"marker"},axesCollection:{},graph:{valueFn:"_getGraph"},groupMarkers:{value:!1}},l.prototype={_groupMarkersChangeHandler:function(e){var t=this.get("graph"),n=e.newVal;t&&t.set("groupMarkers",n)},_itemRendered:function(t){this._itemRenderQueue=this._itemRenderQueue.splice(1+e.Array.indexOf(this._itemRenderQueue,t.currentTarget),1),this._itemRenderQueue.length<1&&this._redraw()},_getGraph:function(){var t=new e.Graph({chart:this,groupMarkers:this.get("groupMarkers")});return t.after("chartRendered",e.bind(function(e){this.fire("chartRendered")},this)),t},getSeries:function(e){var t=null,n=this.get("graph");return n&&(s.isNumber(e)?t=n.getSeriesByIndex(e):t=n.getSeriesByKey(e)),t},getAxisByKey:function(e){var t,n=this.get("axes");return n&&n.hasOwnProperty(e)&&(t=n[e]),t},getCategoryAxis:function(){var e,t=this.get("categoryKey"),n=this.get("axes");return n.hasOwnProperty(t)&&(e=n[t]),e},_direction:"horizontal",_dataProvider:null,_setDataValues:function(e){if(s.isArray(e[0])){var t,n=[],r=e[0],i=0,o=r.length,u,a=e.length;for(;i"),n=e.UA.ie,r=n&&n<8?"rect(1px 1px 1px 1px)":"rect(1px, 1px, 1px, 1px)";return t.setStyle("position","absolute"),t.setStyle("height","1px" -),t.setStyle("width","1px"),t.setStyle("overflow","hidden"),t.setStyle("clip",r),t},syncUI:function(){this._redraw()},bindUI:function(){this.after("tooltipChange",e.bind(this._tooltipChangeHandler,this)),this.after("widthChange",this._sizeChanged),this.after("heightChange",this._sizeChanged),this.after("groupMarkersChange",this._groupMarkersChangeHandler);var t=this.get("tooltip"),n="mouseout",o="mouseover",u=this.get("contentBox"),a=this.get("interactionType"),l=0,c,h="."+f,p=r&&"ontouchstart"in r&&!(e.UA.chrome&&e.UA.chrome<6);e.on("keydown",e.bind(function(e){var t=e.keyCode,n=parseFloat(t),r;n>36&&n<41&&(e.halt(),r=this._getAriaMessage(n),this._liveRegion.setContent(""),this._liveRegion.appendChild(i.createTextNode(r)))},this),this.get("contentBox")),a=="marker"?(n=t.hideEvent,o=t.showEvent,p?(e.delegate("touchend",e.bind(this._markerEventDispatcher,this),u,h),e.on("touchend",e.bind(function(e){u.contains(e.target)&&e.halt(!0),this._activeMarker&&(this._activeMarker=null,this.hideTooltip(e))},this))):(e.delegate("mouseenter",e.bind(this._markerEventDispatcher,this),u,h),e.delegate("mousedown",e.bind(this._markerEventDispatcher,this),u,h),e.delegate("mouseup",e.bind(this._markerEventDispatcher,this),u,h),e.delegate("mouseleave",e.bind(this._markerEventDispatcher,this),u,h),e.delegate("click",e.bind(this._markerEventDispatcher,this),u,h),e.delegate("mousemove",e.bind(this._positionTooltip,this),u,h))):a=="planar"&&(p?this._overlay.on("touchend",e.bind(this._planarEventDispatcher,this)):(this._overlay.on("mousemove",e.bind(this._planarEventDispatcher,this)),this.on("mouseout",this.hideTooltip)));if(t){this.on("markerEvent:touchend",e.bind(function(e){var n=e.series.get("markers")[e.index];this._activeMarker&&n===this._activeMarker?(this._activeMarker=null,this.hideTooltip(e)):(this._activeMarker=n,t.markerEventHandler.apply(this,[e]))},this));if(n&&o&&n==o)this.on(a+"Event:"+n,this.toggleTooltip);else{o&&this.on(a+"Event:"+o,t[a+"EventHandler"]);if(n){if(s.isArray(n)){c=n.length;for(;l=T[h].start){p=h;break}N=l.length;for(h=0;h-1&&c.updateMarkerState("mouseout",d),C&&C[p]>-1&&(w&&!isNaN(p)&&p>-1&&c.updateMarkerState("mouseover",p),v=this.getSeriesItems(c,p),g.push(v.category),y.push(v.value),m.push(c));this._selectedIndex=p,p>-1?this.fire("planarEvent:mouseover",{categoryItem:g,valueItem:y,x:u,y:a,pageX:s,pageY:o,items:m,index:p,originEvent:e}):this.fire("planarEvent:mouseout")}},_type:"combo",_itemRenderQueue:null,_addToAxesRenderQueue:function(t){this._itemRenderQueue||(this._itemRenderQueue=[]),e.Array.indexOf(this._itemRenderQueue,t)<0&&this._itemRenderQueue.push(t)},_addToAxesCollection:function(e,t){var n=this.get(e+"AxesCollection");n||(n=[],this.set(e+"AxesCollection",n)),n.push(t)},_getDefaultSeriesCollection:function(){var e,t=this.get("dataProvider");return t&&(e=this._parseSeriesCollection()),e},_parseSeriesCollection:function(t){var n=this.get("direction"),r=[],i,s,o=[],u,a=this.get("seriesKeys").concat(),f,l,c,h=this.get("type"),p,d,v,m,g=[],y=this.get("categoryKey"),b=this.get("showMarkers"),w=this.get("showAreaFill"),E=this.get("showLines");t=t||[],n=="vertical"?(i="yAxis",d="yKey",s="xAxis",v="xKey"):(i="xAxis",d="xKey",s="yAxis",v="yKey"),c=t.length;while(t&&t.length>0)u=t.shift(),p=this._getBaseAttribute(u,v),p?(l=e.Array.indexOf(a,p),l>-1?(a.splice(l,1),o.push(p),r.push(u)):g.push(u)):g.push(u);while(g.length>0)u=g.shift(),a.length>0?(p=a.shift(),this._setBaseAttribute(u,v,p),o.push(p),r.push(u)):u instanceof e.CartesianSeries&&u.destroy(!0);a.length>0&&(o=o.concat(a)),c=o.length;for(f=0;f0&&f.set("overlapGraph",!1),r[u]=f)}return r},_addAxes:function(){var t=this.get("axes"),n,r,i,s=this.get("width"),o=this.get("height"),u=e.Node.one(this._parentNode);this._axesCollection||(this._axesCollection=[]);for(n in t)t.hasOwnProperty(n)&&(r=t[n],r instanceof e.Axis&&(s||(this.set("width",u.get("offsetWidth")),s=this.get("width")),o||(this.set("height",u.get("offsetHeight")),o=this.get("height")),this._addToAxesRenderQueue(r),i=r.get("position"),this.get(i+"AxesCollection")?this.get(i+"AxesCollection").push(r):this.set(i+"AxesCollection",[r]),this._axesCollection.push(r),r.get("keys").hasOwnProperty(this.get("categoryKey"))&&this.set("categoryAxis",r),r.render(this.get("contentBox"))))},_addSeries:function(){var e=this.get("graph"),t=this.get("seriesCollection");e.render(this.get("contentBox"))},_addGridlines:function(){var t=this.get("graph"),n=this.get("horizontalGridlines"),r=this.get("verticalGridlines"),i=this.get("direction"),s=this.get("leftAxesCollection"),o=this.get("rightAxesCollection"),u=this.get("bottomAxesCollection"),a=this.get("topAxesCollection"),f,l=this.get("categoryAxis"),c,h;this._axesCollection&&(f=this._axesCollection.concat(),f.splice(e.Array.indexOf(f,l),1)),n&&(s&&s[0]?c=s[0]:o&&o[0]?c=o[0]:c=i=="horizontal"?l:f[0],!this._getBaseAttribute(n,"axis")&&c&&this._setBaseAttribute(n,"axis",c),this._getBaseAttribute(n,"axis")&&t.set("horizontalGridlines",n)),r&&(u&&u[0]?h=u[0]:a&&a[0]?h=a[0]:h=i=="vertical"?l:f[0],!this._getBaseAttribute(r,"axis")&&h&&this._setBaseAttribute(r,"axis",h),this._getBaseAttribute(r,"axis")&&t.set("verticalGridlines",r))},_getDefaultAxes:function(){var e;return this.get("dataProvider")&&(e=this._parseAxes()),e},_parseAxes:function(t){var n=this.get("categoryKey"),r,i,o,u={},a=[],f=this.get("categoryAxisName")||this.get("categoryKey"),l=this.get("valueAxisName"),c=this.get("seriesKeys").concat(),h,p,d,v,m,g=this.get("direction"),y,b,w=[],E=this.get("stacked")?"stacked":"numeric";g=="vertical"?(y="bottom",b="left"):(y="left",b="bottom");if(t)for(h in t)if(t.hasOwnProperty(h)){r=t[h],o=this._getBaseAttribute(r,"keys"),i=this._getBaseAttribute(r,"type");if(i=="time"||i=="category")f=h,this.set("categoryAxisName",h),s.isArray(o)&&o.length>0&&(n=o[0],this.set("categoryKey",n)),u[h]=r;else if(h==f)u[h]=r;else{u[h]=r;if(h!=l&&o&&s.isArray(o)){v=o.length;for(d=0;d-1&&c.splice(m,1),p=a.length;for(h=0;h-1&&c.splice(m,1);return u.hasOwnProperty(f)||(u[f]={}),this._getBaseAttribute(u[f],"keys")||this._setBaseAttribute(u[f],"keys",[n]),this._getBaseAttribute(u[f],"position")||this._setBaseAttribute(u[f],"position",b),this._getBaseAttribute(u[f],"type")||this._setBaseAttribute(u[f],"type",this.get("categoryType")),!u.hasOwnProperty(l)&&c&&c.length>0&&(u[l]={keys:c},w.push(u[l])),a.length>0&&(c.length>0?c=a.concat(c):c=a),u.hasOwnProperty(l)&&(this._getBaseAttribute(u[l],"position")||this._setBaseAttribute(u[l],"position",this._getDefaultAxisPosition(u[l],w,y)),this._setBaseAttribute(u[l],"type",E),this._setBaseAttribute(u[l],"keys",c)),this._seriesKeysExplicitlySet||(this._seriesKeys=c),u},_getDefaultAxisPosition:function(t,n,r){var i=this.get("direction"),s=e.Array.indexOf(n,t);return n[s-1]&&n[s-1].position&&(i=="horizontal"?n[s-1].position=="left"?r="right":n[s-1].position=="right"&&(r="left"):n[s-1].position=="bottom"?r="top":r="bottom"),r},getSeriesItems:function(e,t){var n=e.get("xAxis"),r=e.get("yAxis"),i=e.get("xKey"),s=e.get("yKey"),o,u;return this.get("direction")=="vertical"?(o={axis:r,key:s,value:r.getKeyValueAt(s,t)},u={axis:n,key:i,value:n.getKeyValueAt(i,t)}):(u={axis:r,key:s,value:r.getKeyValueAt(s,t)},o={axis:n,key:i,value:n.getKeyValueAt(i,t)}),o.displayName=e.get("categoryDisplayName"),u.displayName=e.get("valueDisplayName"),o.value=o.axis.getKeyValueAt(o.key,t),u.value=u.axis.getKeyValueAt(u.key,t),{category:o,value:u}},_sizeChanged:function(e){if(this._axesCollection){var t=this._axesCollection,n=0,r=t.length;for(;n-1;--l)C.unshift(n),n+=o[l].get("width")}if(u){N=[],c=u.length,l=0;for(l=c-1;l>-1;--l)r+=u[l].get("width"),N.unshift(e-r)}if(a){k=[],c=a.length;for(l=c-1;l>-1;--l)k.unshift(i),i+=a[l].get("height")}if(f){L=[],c=f.length;for(l=c-1;l>-1;--l)s+=f[l].get("height"),L.unshift(t-s)}b=e-(n+r),w=t-(s+i),A.left=n,A.top=i,A.bottom=t-s,A.right=e-r;if(!x){v=this._getTopOverflow(o,u),m=this._getBottomOverflow(o,u),g=this._getLeftOverflow(f,a),y=this._getRightOverflow(f,a),T=v-i;if(T>0){A.top=v;if(k){l=0,c=k.length;for(;l0){A.bottom=t-m;if(L){l=0,c=L.length;for(;l0){A.left=g;if(C){l=0,c=C.length;for(;l0){A.right=e-y;if(N){l=0,c=N.length;for(;l1?(e===38?o=o<1?f-1:o-1:e===40&&(o=o>=f-1?0:o+1),this._itemIndex=-1):o=0,this._seriesIndex=o,n=this.getSeries(parseInt(o,10)),t=n.get("valueDisplayName")+" series."):(o>-1?(t="",n=this.getSeries(parseInt(o,10))):(o=0,this._seriesIndex=o,n=this.getSeries(parseInt(o,10)),t=n.get("valueDisplayName")+" series."),l=n._dataLength?n._dataLength:0,e===37?u=u>0?u-1:l-1:e===39&&(u=u>=l-1?0:u+1),this._itemIndex=u,r=this.getSeriesItems(n,u),i=r.category,s=r.value,i&&s&&i.value&&s.value?(t+=i.displayName+": "+i.axis.formatLabel.apply(this,[i.value,i.axis.get("labelFormat")])+", ",t+=s.displayName+": "+s.axis.formatLabel.apply(this,[s.value,s.axis.get("labelFormat")])+", "):t+="No data available.",t+=u+1+" of "+l+". "),t}},{ATTRS:{allowContentOverflow:{value:!1},axesStyles:{getter:function(){var t=this.get("axes"),n,r=this._axesStyles;if(t)for(n in t)t.hasOwnProperty(n)&&t[n]instanceof e.Axis&&(r||(r={}),r[n]=t[n].get("styles"));return r},setter:function(e){var t=this.get("axes"),n;for(n in e)e.hasOwnProperty(n)&&t.hasOwnProperty(n)&&this._setBaseAttribute(t[n],"styles",e[n])}},seriesStyles:{getter:function(){var e=this._seriesStyles,t=this.get("graph"),n,r;if(t){n=t.get("seriesDictionary");if(n){e={};for(r in n)n.hasOwnProperty(r)&&(e[r]=n[r].get("styles"))}}return e},setter:function(e){var t,n,r;if(s.isArray(e)){r=this.get("seriesCollection"),t=0,n=e.length;for(;t0?u-1:f-1:e===39&&(u=u>=f-1?0:u+1),this._itemIndex=u,r=this.getSeriesItems(i,u),n=r.category,s=r.value,l=i.getTotalValues(),c=Math.round(s.value/l*1e4)/100,n&&s?(t+=n.displayName+": "+n.axis.formatLabel.apply(this,[n.value,n.axis.get("labelFormat")])+", ",t+=s.displayName+": "+s.axis.formatLabel.apply(this,[s.value,s.axis.get("labelFormat")])+", ",t+="Percent of total "+s.displayName+": "+c+"%,"):t+="No data available,",t+=u+1+" of "+f+". ",t}},{ATTRS:{ariaDescription:{value:"Use the left and right keys to navigate through items.",setter:function(e){return this._description&&(this._description.setContent(""),this._description.appendChild(i.createTextNode(e))),e}},axes:{getter:function(){return this._axes},setter:function(e){this._parseAxes(e)}},seriesCollection:{getter:function(){return this._getSeriesCollection()},setter:function(e){return this._setSeriesCollection(e)}},type:{value:"pie"}}}),e.Chart=c},"3.9.0",{requires:["dom","event-mouseenter","event-touch","graphics-group","axes","series-pie" -,"series-line","series-marker","series-area","series-spline","series-column","series-bar","series-areaspline","series-combo","series-combospline","series-line-stacked","series-marker-stacked","series-area-stacked","series-spline-stacked","series-column-stacked","series-bar-stacked","series-areaspline-stacked","series-combo-stacked","series-combospline-stacked"]}); diff --git a/lib/yuilib/3.9.0/build/charts-legend/charts-legend-min.js b/lib/yuilib/3.9.0/build/charts-legend/charts-legend-min.js deleted file mode 100644 index b4f45d88581..00000000000 --- a/lib/yuilib/3.9.0/build/charts-legend/charts-legend-min.js +++ /dev/null @@ -1,4 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("charts-legend",function(e,t){var n=e.config.doc,r="top",i="right",s="bottom",o="left",u="external",a="horizontal",f="vertical",l="width",c="height",h="position",p="x",d="y",v="px",m={setter:function(t){var n=this.get("legend");return n&&n.destroy(!0),t instanceof e.ChartLegend?(n=t,n.set("chart",this)):(t.chart=this,t.hasOwnProperty("render")||(t.render=this.get("contentBox"),t.includeInChartLayout=!0),n=new e.ChartLegend(t)),n}},g={_positionLegendItems:function(e,t,n,r,i,s,o,u,a,f){var l=0,c=0,h,p,d,m,y,b=this.get("width"),w,E,S,x,T,N=s.top-u,C=b-(s.left+s.right),k,L,A,O;g._setRowArrays(e,C,o),w=g.rowArray,x=g.totalWidthArray,E=w.length;for(;c-1;--c)L.unshift(r),r+=u[c].get("width")}if(a){k=[],h=a.length,c=0;for(c=h-1;c>-1;--c)i+=a[c].get("width"),k.unshift(e-i)}if(f){A=[],h=f.length;for(c=h-1;c>-1;--c)A.unshift(s),s+=f[c].get("height")}if(l){O=[],h=l.length;for(c=h-1;c>-1;--c)o+=l[c].get("height"),O.unshift(t-o)}E=e-(r+i),S=t-(o+s),_.left=r,_.top=s,_.bottom=t-o,_.right=e-i;if(!N){g=this._getTopOverflow(u,a),y=this._getBottomOverflow(u,a),b=this._getLeftOverflow(l,f),w=this._getRightOverflow(l,f),C=g-s;if(C>0){_.top=g;if(A){c=0,h=A.length;for(;c0){_.bottom=t-y;if(O){c=0,h=O.length;for(;c0){_.left=b;if(L){c=0,h=L.length;for(;c0){_.right=e-w;if(k){c=0,h=k.length;for(;c0&&t>0&&this._drawLegend()},_updateHandler:function(e){this.get("rendered")&&this._drawLegend()},_positionChangeHandler:function(e){var t=this.get("chart"),n=this._parentNode;n&&t&&this.get("includeInChartLayout")?this.fire("legendRendered"):this.get("rendered")&&this._drawLegend()},_handleSizeChange:function(e){var t=e.attrName,n=this.get(h),u=n==o||n==i,a=n==s||n==r;(a&&t==l||u&&t==c)&&this._drawLegend()},_drawLegend:function(){if(this._drawing){this._callLater=!0;return}this._drawing=!0,this._callLater=!1,this.get("includeInChartLayout")&&this.get("chart")._itemRenderQueue.unshift(this);var t=this.get("chart"),n=this.get("contentBox"),r=t.get("seriesCollection"),i,s=this.get("styles"),o=s.padding,u=s.item,a,f=u.hSpacing,l=u.vSpacing,c=s.hAlign,h=s.vAlign,p=s.marker,d=u.label,v,m=this._layout[this.get("direction")],g,y,b,w,E,S,x,T,N,C,k,L=[],A=p.width,O=p.height,M=0-f,_=0-l,D=0,P=0,H,B;p&&p.shape&&(w=p.shape),this._destroyLegendItems();if(t instanceof e.PieChart){i=r[0],v=i.get("categoryAxis").getDataByKey(i.get("categoryKey")),a=i.get("styles").marker,N=a.fill.colors,C=a.border.colors,k=a.border.weight,g=0,y=v.length,w=w||e.Circle,b=e.Lang.isArray(w);for(;g0)e=this._items.shift(),e.shape.get("graphic").destroy(),e.node.empty(),e.node.destroy(!0),e.node=null,e=null;this._items=[]},_layout:{vertical:y,horizontal:g},destructor:function(){var e=this.get("background"),t;this._destroyLegendItems(),e&&(t=e.get("graphic"),t?t.destroy():e.destroy())}},{ATTRS:{includeInChartLayout:{value:!1},chart:{setter:function(t){return this.after("legendRendered",e.bind(t._itemRendered,t)),t}},direction:{value:"vertical"},position:{lazyAdd:!1,value:"right",setter:function(e){return e==r||e==s?this.set("direction",a):(e==o||e==i)&&this.set("direction",f),e}},width:{getter:function( -){var e=this.get("chart"),t=this._parentNode;return t?e&&this.get("includeInChartLayout")||this._width?(this._width||(this._width=0),this._width):t.get("offsetWidth"):""},setter:function(e){return this._width=e,e}},height:{valueFn:"_heightGetter",getter:function(){var e=this.get("chart"),t=this._parentNode;return t?e&&this.get("includeInChartLayout")||this._height?(this._height||(this._height=0),this._height):t.get("offsetHeight"):""},setter:function(e){return this._height=e,e}},x:{lazyAdd:!1,value:0,setter:function(e){var t=this.get("boundingBox");return t&&t.setStyle(o,e+v),e}},y:{lazyAdd:!1,value:0,setter:function(e){var t=this.get("boundingBox");return t&&t.setStyle(r,e+v),e}},items:{getter:function(){return this._items}},background:{}}})},"3.9.0",{requires:["charts-base"]}); diff --git a/lib/yuilib/3.9.0/build/charts/charts-min.js b/lib/yuilib/3.9.0/build/charts/charts-min.js deleted file mode 100644 index 8be2b41e62f..00000000000 --- a/lib/yuilib/3.9.0/build/charts/charts-min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("charts",function(e,t){function n(t){return t.type!="pie"?new e.CartesianChart(t):new e.PieChart(t)}e.Chart=n},"3.9.0",{requires:["charts-base"]}); diff --git a/lib/yuilib/3.9.0/build/console-filters/assets/console-filters-core.css b/lib/yuilib/3.9.0/build/console-filters/assets/console-filters-core.css deleted file mode 100644 index feaa2c7727e..00000000000 --- a/lib/yuilib/3.9.0/build/console-filters/assets/console-filters-core.css +++ /dev/null @@ -1 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ diff --git a/lib/yuilib/3.9.0/build/console/assets/console-core.css b/lib/yuilib/3.9.0/build/console/assets/console-core.css deleted file mode 100644 index feaa2c7727e..00000000000 --- a/lib/yuilib/3.9.0/build/console/assets/console-core.css +++ /dev/null @@ -1 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ diff --git a/lib/yuilib/3.9.0/build/console/assets/console-filters-core.css b/lib/yuilib/3.9.0/build/console/assets/console-filters-core.css deleted file mode 100644 index feaa2c7727e..00000000000 --- a/lib/yuilib/3.9.0/build/console/assets/console-filters-core.css +++ /dev/null @@ -1 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ diff --git a/lib/yuilib/3.9.0/build/graphics-canvas/graphics-canvas-min.js b/lib/yuilib/3.9.0/build/graphics-canvas/graphics-canvas-min.js deleted file mode 100644 index 37b0f27d497..00000000000 --- a/lib/yuilib/3.9.0/build/graphics-canvas/graphics-canvas-min.js +++ /dev/null @@ -1,6 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("graphics-canvas",function(e,t){function T(){}function N(e){N.superclass.constructor.apply(this,arguments)}var n="canvas",r="shape",i=/[a-z][^a-z]*/ig,s=/[-]?[0-9]*[0-9|\.][0-9]*/g,o=e.config.doc,u=e.Lang,a=e.AttributeLite,f,l,c,h,p,d,v=e.DOM,m=e.Color,g=parseInt,y=parseFloat,b=u.isNumber,w=RegExp,E=m.toRGB,S=m.toHex,x=e.ClassNameManager.getClassName;T.prototype={_pathSymbolToMethod:{M:"moveTo",m:"relativeMoveTo",L:"lineTo",l:"relativeLineTo",C:"curveTo",c:"relativeCurveTo",Q:"quadraticCurveTo",q:"relativeQuadraticCurveTo",z:"closePath",Z:"closePath"},_currentX:0,_currentY:0,_toRGBA:function(e,t){return t=t!==undefined?t:1,m.re_RGB.test(e)||(e=S(e)),m.re_hex.exec(e)&&(e="rgba("+[g(w.$1,16),g(w.$2,16),g(w.$3,16)].join(",")+","+t+")"),e},_toRGB:function(e){return E(e)},setSize:function(e,t){this.get("autoSize")&&(e>this.node.getAttribute("width")&&(this.node.style.width=e+"px",this.node.setAttribute("width",e)),t>this.node.getAttribute("height")&&(this.node.style.height=t+"px",this.node.setAttribute("height",t)))},_updateCoords:function(e,t){this._xcoords.push(e),this._ycoords.push(t),this._currentX=e,this._currentY=t},_clearAndUpdateCoords:function(){var e=this._xcoords.pop()||0,t=this._ycoords.pop()||0;this._updateCoords(e,t)},_updateNodePosition:function(){var e=this.get("node"),t=this.get("x"),n=this.get("y");e.style.position="absolute",e.style.left=t+this._left+"px",e.style.top=n+this._top+"px"},_updateDrawingQueue:function(e){this._methods.push(e)},lineTo:function(){return this._lineTo.apply(this,[e.Array(arguments),!1]),this},relativeLineTo:function(){return this._lineTo.apply(this,[e.Array(arguments),!0]),this},_lineTo:function(e,t){var n=e[0],r,i,s,o,u=this._stroke&&this._strokeWeight?this._strokeWeight:0,a=t?parseFloat(this._currentX):0,f=t?parseFloat(this._currentY):0;this._lineToMethods||(this._lineToMethods=[]),i=e.length-1;if(typeof n=="string"||typeof n=="number")for(r=0;r360&&(r=360),u=Math.ceil(Math.abs(r)/45),a=r/u,f=-(a/180)*Math.PI,l=n/180*Math.PI;if(u>0){h=e+Math.cos(n/180*Math.PI)*i,p=t+Math.sin(n/180*Math.PI)*s,this.lineTo(h,p);for(y=0;y=p/2?(d<180?(g=c,y=c+p):(g=c+p,y=c),v=b-(w-g)/T,m=b-(w-y)/T):(d>90&&d<270?(v=l+h,m=l):(v=l,m=l+h),g=(T*(b-v)-w)*-1,y=(T*(b-m)-w)*-1),f=this._context.createLinearGradient(v,g,m,y);for(u=0;u=S&&(A=k/S,A===1&&(A=1.01),N=(g-x)/A,C=(b-T)/A,N=N>0?Math.floor(N):Math.ceil(N),C=C>0?Math.floor(C):Math.ceil(C),g=x+N,b=T+C),r>=.5?(h=this._context.createRadialGradient(g,b,r,y,w,r*v),O=1):(h=this._context.createRadialGradient(g,b,r,y,w,v/2),O=r*2);for(l=0;lthis._right&&(this._right=e),ethis._bottom&&(this._bottom=t),this._width=this._right-this._left,this._height=this._bottom-this._top}},e.CanvasDrawing=T,f=function(t){this._transforms=[],this.matrix=new e.Matrix,f.superclass.constructor.apply(this,arguments)},f.NAME="shape",e.extend(f,e.GraphicBase,e.mix({init:function(){this.initializer.apply(this,arguments)},initializer:function(e){var t=this,n=e.graphic,r=this.get("data");t._initProps(),t.createNode(),t._xcoords=[0],t._ycoords=[0],n&&this._setGraphic(n),r&&t._parsePathData(r),t._updateHandler()},_setGraphic:function(t){var n;t instanceof e.CanvasGraphic?this._graphic=t:(t=e.one(t),n=new e.CanvasGraphic({render:t}),n._appendShape(this),this._graphic=n)},addClass:function(t){var n=e.one(this.get("node"));n.addClass(t)},removeClass:function(t){var n=e.one(this.get("node"));n.removeClass(t)},getXY:function(){var e=this.get("graphic"),t=e.getXY(),n=this.get("x"),r=this.get("y");return[t[0]+n,t[1]+r]},setXY:function(e){var t=this.get("graphic"),n=t.getXY(),r=e[0]-n[0],i=e[1]-n[1];this._set("x",r),this._set("y",i),this._updateNodePosition(r,i)},contains:function(t){return t===e.one(this.node)},test:function(t){return e.one(this.get("node")).test(t)},compareTo:function(e){var t=this.node;return t===e},_getDefaultFill:function(){return{type:"solid",opacity:1,cx:.5,cy:.5,fx:.5,fy:.5,r:.5}},_getDefaultStroke:function(){return{weight:1,dashstyle:"none",color:"#000",opacity:1}},_left:0,_right:0,_top:0,_bottom:0,createNode:function(){var t=this,i=e.config.doc.createElement("canvas"),s=t.get("id"),o=t._camelCaseConcat,u=t.name;t._context=i.getContext("2d"),i.setAttribute("overflow","visible"),i.style.overflow="visible",t.get("visible")||(i.style.visibility="hidden"),i.setAttribute("id",s),s="#"+s,t.node=i,t.addClass(x(r)+" "+x(o(n,r))+" "+x(u)+" "+x(o(n,u)))},on:function(t,n){return e.Node.DOM_EVENTS[t]?e.one("#"+this.get("id")).on(t,n):e.on.apply(this,arguments)},_setStrokeProps:function(t){var n,r,i,s,o,u;t?(n=t.color,r=y(t.weight),i=y(t.opacity),s=t.linejoin||"round",o=t.linecap||"butt",u=t.dashstyle,this._miterlimit=null,this._dashstyle=u&&e.Lang.isArray(u)&&u.length>1?u:null,this._strokeWeight=r,b(r)&&r>0?this._stroke=1:this._stroke=0,b(i)?this._strokeStyle=this._toRGBA(n,i):this._strokeStyle=n,this._linecap=o,s=="round"||s=="bevel"?this._linejoin=s:(s=parseInt(s,10),b(s)&&(this._miterlimit=Math.max(s,1),this._linejoin="miter"))):this._stroke=0},set:function(){var e=this,t=arguments[0];a.prototype.set.apply(e -,arguments),e.initialized&&e._updateHandler()},_setFillProps:function(e){var t=b,n,r,i;e?(n=e.color,i=e.type,i=="linear"||i=="radial"?this._fillType=i:n?(r=e.opacity,t(r)?(r=Math.max(0,Math.min(1,r)),n=this._toRGBA(n,r)):n=E(n),this._fillColor=n,this._fillType="solid"):this._fillColor=null):(this._fillType=null,this._fillColor=null)},translate:function(e,t){this._translateX+=e,this._translateY+=t,this._addTransform("translate",arguments)},translateX:function(e){this._translateX+=e,this._addTransform("translateX",arguments)},translateY:function(e){this._translateY+=e,this._addTransform("translateY",arguments)},skew:function(e,t){this._addTransform("skew",arguments)},skewX:function(e){this._addTransform("skewX",arguments)},skewY:function(e){this._addTransform("skewY",arguments)},rotate:function(e){this._rotation=e,this._addTransform("rotate",arguments)},scale:function(e,t){this._addTransform("scale",arguments)},_rotation:0,_transform:"",_addTransform:function(t,n){n=e.Array(n),this._transform=u.trim(this._transform+" "+t+"("+n.join(", ")+")"),n.unshift(t),this._transforms.push(n),this.initialized&&this._updateTransform()},_updateTransform:function(){var e=this.node,t,n,r=this.get("transformOrigin"),i=this.matrix,s,o=this._transforms.length;if(this._transforms&&this._transforms.length>0){for(s=0;s0&&(a=f.shift(),a&&(a=="closePath"?(r.closePath(),this._strokeAndFill(r)):a&&a=="lineTo"&&this._dashstyle?(f.unshift(this._xcoords[o]-this._left,this._ycoords[o]-this._top),this._drawDashedLine.apply(this,f)):r[a].apply(r,f)));this._strokeAndFill(r),this._drawingComplete=!0,this._clearAndUpdateCoords(),this._updateNodePosition(),this._methods=s}},_strokeAndFill:function(e){this._fillType&&(this._fillType=="linear"?e.fillStyle=this._getLinearGradient():this._fillType=="radial"?e.fillStyle=this._getRadialGradient():e.fillStyle=this._fillColor,e.closePath(),e.fill()),this._stroke&&(this._strokeWeight&&(e.lineWidth=this._strokeWeight),e.lineCap=this._linecap,e.lineJoin=this._linejoin,this._miterlimit&&(e.miterLimit=this._miterlimit),e.strokeStyle=this._strokeStyle,e.stroke())},_drawDashedLine:function(e,t,n,r){var i=this._context,s=this._dashstyle[0],o=this._dashstyle[1],u=s+o,a=n-e,f=r-t,l=Math.sqrt(Math.pow(a,2)+Math.pow(f,2)),c=Math.floor(Math.abs(l/u)),h=Math.atan2(f,a),p=e,d=t,v;a=Math.cos(h)*u,f=Math.sin(h)*u;for(v=0;vs?i.lineTo(p+Math.cos(h)*s,d+Math.sin(h)*s):l>0&&i.lineTo(p+Math.cos(h)*l,d+Math.sin(h)*l),i.moveTo(n,r)},getBounds:function(){var e=this._type,t=this.get("width"),n=this.get("height"),r=this.get("x"),i=this.get("y");return e=="path"&&(r+=this._left,i+=this._top,t=this._right-this._left,n=this._bottom-this._top),this._getContentRect(t,n,r,i)},_getContentRect:function(t,n,r,i){var s=this.get("transformOrigin"),o=s[0]*t,u=s[1]*n,a=this.matrix.getTransformArray(this.get("transform")),f=new e.Matrix,l,c=a.length,h,p,d;this._type=="path"&&(o+=r,u+=i),o=isNaN(o)?0:o,u=isNaN(u)?0:u,f.translate(o,u);for(l=0;l0)if(u.isString&&i[t])o=!0;else if(u.isObject(t))for(s in i)if(i.hasOwnProperty(s)&&t[s]){o=!0;break}o&&r._redraw()},_x:0,_y:0,getXY:function(){var t=e.one(this._node),n;return t&&(n=t.getXY()),n},initializer:function(e){var t=this.get("render"),n=this.get("visible")?"visible":"hidden",r=this.get("width")||0,i=this.get("height")||0;this._shapes={},this._redrawQueue={},this._contentBounds={left:0,top:0,right:0,bottom:0},this._node=o.createElement("div"),this._node.style.position="absolute",this._node.style.visibility=n,this.set("width",r),this.set("height",i),t&&this.render(t)},render:function(t){var n=e.one(t),r=this._node,i=this.get("width")||parseInt(n.getComputedStyle("width"),10),s=this.get("height")||parseInt(n.getComputedStyle("height"),10);return n=n||o.body,n.appendChild(r),r.style.display="block",r.style.position="absolute",r.style.left="0px",r.style.top="0px",this.set("width",i),this.set("height",s),this.parentNode=n,this},destroy:function(){this.removeAllShapes(),this._node&&(this._removeChildren(this._node),e.one(this._node).destroy())},addShape:function(e){e.graphic=this,this.get("visible")||(e.visible=!1);var t=this._getShapeClass(e.type),n=new t(e);return this._appendShape(n),n},_appendShape:function(e){var t=e.node,n=this._frag||this._node;this.get("autoDraw")?n.appendChild(t):this._getDocFrag().appendChild(t)},removeShape:function(e){return e instanceof f||u.isString(e)&&(e=this._shapes[e]),e&&e instanceof f&&(e._destroy(),delete this._shapes[e.get("id")]),this.get("autoDraw")&&this._redraw(),e},removeAllShapes:function(){var e=this._shapes,t;for(t in e)e.hasOwnProperty(t)&&e[t].destroy();this._shapes={}},clear:function(){this.removeAllShapes()},_removeChildren:function(e){if(e&&e.hasChildNodes()){var t;while(e.firstChild)t=e.firstChild,this._removeChildren(t),e.removeChild(t)}},_toggleVisible:function(e){var t,n=this._shapes,r=e?"visible":"hidden";if(n)for(t in n)n.hasOwnProperty(t)&&n[t].set("visible",e);this._node&&(this._node.style.visibility=r)},_getShapeClass:function( -e){var t=this._shapeClass[e];return t?t:e},_shapeClass:{circle:e.CanvasCircle,rect:e.CanvasRect,path:e.CanvasPath,ellipse:e.CanvasEllipse,pieslice:e.CanvasPieSlice},getShapeById:function(e){var t=this._shapes[e];return t},batch:function(e){var t=this.get("autoDraw");this.set("autoDraw",!1),e(),this.set("autoDraw",t)},_getDocFrag:function(){return this._frag||(this._frag=o.createDocumentFragment()),this._frag},_redraw:function(){var t=this.get("autoSize"),n=this.get("preserveAspectRatio"),r=this.get("resizeDown")?this._getUpdatedContentBounds():this._contentBounds,i,s,o,u,a,f,l=0,c=0,h,p=this.get("node");t&&(t=="sizeContentToGraphic"?(i=r.right-r.left,s=r.bottom-r.top,o=parseFloat(v.getComputedStyle(p,"width")),u=parseFloat(v.getComputedStyle(p,"height")),h=new e.Matrix,n=="none"?(a=o/i,f=u/s):i/s!==o/u&&(i*u/s>o?(a=f=o/i,c=this._calculateTranslate(n.slice(5).toLowerCase(),s*o/i,u)):(a=f=u/s,l=this._calculateTranslate(n.slice(1,4).toLowerCase(),i*u/s,o))),v.setStyle(p,"transformOrigin","0% 0%"),l-=r.left*a,c-=r.top*f,h.translate(l,c),h.scale(a,f),v.setStyle(p,"transform",h.toCSSText())):(this.set("width",r.right),this.set("height",r.bottom))),this._frag&&(this._node.appendChild(this._frag),this._frag=null)},_calculateTranslate:function(e,t,n){var r=n-t,i;switch(e){case"mid":i=r*.5;break;case"max":i=r;break;default:i=0}return i},addToRedrawQueue:function(e){var t,n;this._shapes[e.get("id")]=e,this.get("resizeDown")||(t=e.getBounds(),n=this._contentBounds,n.left=n.leftt.right?n.right:t.right,n.bottom=n.bottom>t.bottom?n.bottom:t.bottom,this._contentBounds=n),this.get("autoDraw")&&this._redraw()},_getUpdatedContentBounds:function(){var e,t,n,r=this._shapes,i={};for(t in r)r.hasOwnProperty(t)&&(n=r[t],e=n.getBounds(),i.left=u.isNumber(i.left)?Math.min(i.left,e.left):e.left,i.top=u.isNumber(i.top)?Math.min(i.top,e.top):e.top,i.right=u.isNumber(i.right)?Math.max(i.right,e.right):e.right,i.bottom=u.isNumber(i.bottom)?Math.max(i.bottom,e.bottom):e.bottom);return i.left=u.isNumber(i.left)?i.left:0,i.top=u.isNumber(i.top)?i.top:0,i.right=u.isNumber(i.right)?i.right:0,i.bottom=u.isNumber(i.bottom)?i.bottom:0,this._contentBounds=i,i},_toFront:function(t){var n=this.get("node");t instanceof e.CanvasShape&&(t=t.get("node")),n&&t&&n.appendChild(t)},_toBack:function(t){var n=this.get("node"),r;t instanceof e.CanvasShape&&(t=t.get("node")),n&&t&&(r=n.firstChild,r?n.insertBefore(t,r):n.appendChild(t))}}),e.CanvasGraphic=N},"3.9.0",{requires:["graphics"]}); diff --git a/lib/yuilib/3.9.0/build/graphics-svg/graphics-svg-min.js b/lib/yuilib/3.9.0/build/graphics-svg/graphics-svg-min.js deleted file mode 100644 index 39cabb7b7c9..00000000000 --- a/lib/yuilib/3.9.0/build/graphics-svg/graphics-svg-min.js +++ /dev/null @@ -1,6 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("graphics-svg",function(e,t){function g(){}var n="svg",r="shape",i=/[a-z][^a-z]*/ig,s=/[-]?[0-9]*[0-9|\.][0-9]*/g,o=e.Lang,u=e.AttributeLite,a,f,l,c,h,p,d,v=e.config.doc,m=e.ClassNameManager.getClassName;g.prototype={_pathSymbolToMethod:{M:"moveTo",m:"relativeMoveTo",L:"lineTo",l:"relativeLineTo",C:"curveTo",c:"relativeCurveTo",Q:"quadraticCurveTo",q:"relativeQuadraticCurveTo",z:"closePath",Z:"closePath"},_currentX:0,_currentY:0,_type:"path",curveTo:function(){return this._curveTo.apply(this,[e.Array(arguments),!1]),this},relativeCurveTo:function(){return this._curveTo.apply(this,[e.Array(arguments),!0]),this},_curveTo:function(e,t){var n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b=t?"c":"C",w=t?parseFloat(this._currentX):0,E=t?parseFloat(this._currentY):0;this._pathArray=this._pathArray||[],this._pathType!==b?(this._pathType=b,y=[b],this._pathArray.push(y)):(y=this._pathArray[Math.max(0,this._pathArray.length-1)],y||(y=[],this._pathArray.push(y))),g=this._pathArray.length-1,this._pathArray[g]=this._pathArray[g].concat(e),m=e.length-5;for(v=0;v360&&(r=360),o=Math.ceil(Math.abs(r)/45),u=r/o,a=-(u/180)*Math.PI,f=n/180*Math.PI;if(o>0){c=e+Math.cos(n/180*Math.PI)*i,h=t+Math.sin(n/180*Math.PI)*s,this._pathType="L",w++,this._pathArray[w]=["L"],this._pathArray[w].push(Math.round(c)),this._pathArray[w].push(Math.round(h)),w++,this._pathType="Q",this._pathArray[w]=["Q"];for(g=0;g0){n=t.shift(),i=n.length,r=n[0],r==="A"?a+=r+n[1]+","+n[2]:r=="z"||r=="Z"?a+=" z ":r=="C"||r=="c"?a+=r+(n[1]-l)+","+(n[2]-c):a+=" "+r+parseFloat(n[1]-l);switch(r){case"L":case"l":case"M":case"m":case"Q":case"q":for(u=2;uthis._right&&(this._right=e),ethis._bottom&&(this._bottom=t),this._width=this._right-this._left,this._height=this._bottom-this._top}},e.SVGDrawing=g,f=function(t){this._transforms=[],this.matrix=new e.Matrix,this._normalizedMatrix=new e.Matrix,f.superclass.constructor.apply(this,arguments)},f.NAME="shape",e.extend(f,e.GraphicBase,e.mix({_x:0,_y:0,init:function(){this.initializer.apply(this,arguments)},initializer:function(e){var t=this,n=e.graphic,r=this.get("data");t.createNode(),n&&t._setGraphic(n),r&&t._parsePathData(r),t._updateHandler()},_setGraphic:function(t){var n;t instanceof e.SVGGraphic?this._graphic=t:(t=e.one(t),n=new e.SVGGraphic({render:t}),n._appendShape(this),this._graphic=n)},addClass:function(e){var t=this.node;t.className.baseVal=o.trim([t.className.baseVal,e].join(" "))},removeClass:function(e){var t=this.node,n=t.className.baseVal;n=n.replace(new RegExp(e+" "),e).replace(new RegExp(e),""),t.className.baseVal=n},getXY:function(){var e=this._graphic,t=e.getXY(),n=this._x,r=this._y;return[t[0]+n,t[1]+r]},setXY:function(e){var t=this._graphic,n=t.getXY();this._x=e[0]-n[0],this._y=e[1]-n[1],this.set("transform",this.get("transform"))},contains:function(t){return t===e.one(this.node)},compareTo:function(e){var t=this.node;return t===e},test:function(t){return e.Selector.test(this.node,t)},_getDefaultFill:function(){return{type:"solid",opacity:1,cx:.5,cy:.5,fx:.5,fy:.5,r:.5}},_getDefaultStroke:function(){return{weight:1,dashstyle:"none",color:"#000",opacity:1}},createNode:function(){var t=this,i=v.createElementNS("http://www.w3.org/2000/svg","svg:"+this._type),s=t.get("id"),o=t.name,u=t._camelCaseConcat,a=t.get("pointerEvents");t.node=i,t.addClass(m(r)+" "+m(u(n,r))+" "+m(o)+" "+m(u(n,o))),s&&i.setAttribute("id",s),a&&i.setAttribute("pointer-events",a),t.get("visible")||e.one(i).setStyle("visibility","hidden")},on:function(t,n){return e.Node.DOM_EVENTS[t]?e.one("#"+this.get("id")).on(t,n):e.on.apply(this,arguments)},_strokeChangeHandler:function(e){var t=this.node,n=this.get("stroke"),r,i,s,u;n&&n.weight&&n.weight>0?(u=n.linejoin||"round",r=parseFloat(n.opacity),i=n.dashstyle||"none",s=o.isArray(i)?i.toString():i,n.color=n.color||"#000000",n.weight=n.weight||1,n.opacity=o.isNumber(r)?r:1,n.linecap=n.linecap||"butt",t.setAttribute("stroke-dasharray",s),t.setAttribute("stroke",n.color),t.setAttribute("stroke-linecap",n.linecap),t.setAttribute("stroke-width",n.weight),t.setAttribute("stroke-opacity",n.opacity),u=="round"||u=="bevel"?t.setAttribute("stroke-linejoin",u):(u=parseInt(u,10),o.isNumber(u)&&(t.setAttribute("stroke-miterlimit",Math.max(u,1)),t.setAttribute("stroke-linejoin","miter")))):t.setAttribute("stroke","none")},_fillChangeHandler:function(e){var t=this.node,n=this.get("fill"),r,i;n?(i=n.type,i=="linear"||i=="radial"?(this._setGradientFill(n),t.setAttribute("fill","url(#grad"+this.get("id")+")")):n.color?(r=parseFloat(n.opacity),r=o.isNumber(r)?r:1,t.setAttribute("fill",n.color),t.setAttribute("fill-opacity",r)):t.setAttribute("fill","none")):t.setAttribute("fill","none")},_setGradientFill:function(e){var t,n,r,i,s,u=o.isNumber,a=this._graphic,f=e.type,l=a.getGradientNode("grad"+this.get("id"),f),c=e.stops,h=this.get("width"),p=this.get("height"),d=e.rotation||0,v=Math.PI/180,m=parseFloat(parseFloat(Math.tan(d*v)).toFixed(8)),g,y,b,w,E="0%",S="100%",x="0%",T="0%",N=e.cx,C=e.cy,k=e.fx,L=e.fy,A=e.r,O=[];f=="linear"?(N=h/2,C=p/2,Math.abs(m)*h/2>=p/2?(d<180?(x=0,T=p):(x=p,T=0),E=N-(C-x)/m,S=N-(C-T)/m):(d>90&&d<270?(E=h,S=0):(E=0,S=h),x=(m*(N-E)-C)*-1,T=(m*(N-S)-C)*-1),E=Math.round(100*E/h),S=Math.round(100*S/h),x=Math.round(100*x/p),T=Math.round(100*T/p),E=u(E)?E:0,S=u(S)?S:100,x=u(x)?x:0,T=u(T)?T:0,l.setAttribute("spreadMethod","pad"),l.setAttribute("width",h),l.setAttribute("height",p),l.setAttribute("x1",E+"%"),l.setAttribute("x2",S+"%"),l.setAttribute -("y1",x+"%"),l.setAttribute("y2",T+"%")):(l.setAttribute("cx",N*100+"%"),l.setAttribute("cy",C*100+"%"),l.setAttribute("fx",k*100+"%"),l.setAttribute("fy",L*100+"%"),l.setAttribute("r",A*100+"%")),y=c.length,b=0;for(g=0;g0?(i=this._stops.shift(),s=!1):(i=a._createGraphicNode("stop"),s=!0),w=c[g],n=w.opacity,r=w.color,t=w.offset||g/(y-1),t=Math.round(t*100)+"%",n=u(n)?n:1,n=Math.max(0,Math.min(1,n)),b=(g+1)/y,i.setAttribute("offset",t),i.setAttribute("stop-color",r),i.setAttribute("stop-opacity",n),s&&l.appendChild(i),O.push(i);while(this._stops&&this._stops.length>0)l.removeChild(this._stops.shift());this._stops=O},_stops:null,set:function(){var e=this;u.prototype.set.apply(e,arguments),e.initialized&&e._updateHandler()},translate:function(e,t){this._addTransform("translate",arguments)},translateX:function(e){this._addTransform("translateX",arguments)},translateY:function(e){this._addTransform("translateY",arguments)},skew:function(e,t){this._addTransform("skew",arguments)},skewX:function(e){this._addTransform("skewX",arguments)},skewY:function(e){this._addTransform("skewY",arguments)},rotate:function(e){this._addTransform("rotate",arguments)},scale:function(e,t){this._addTransform("scale",arguments)},_addTransform:function(t,n){n=e.Array(n),this._transform=o.trim(this._transform+" "+t+"("+n.join(", ")+")"),n.unshift(t),this._transforms.push(n),this.initialized&&this._updateTransform()},_updateTransform:function(){var t=this._type=="path",n=this.node,r,i,s,o,u,a,f,l=this.matrix,c=this._normalizedMatrix,h,p=this._transforms.length;if(t||this._transforms&&this._transforms.length>0){o=this._x,u=this._y,s=this.get("transformOrigin"),a=o+s[0]*this.get("width"),f=u+s[1]*this.get("height"),t&&(this instanceof e.SVGPath||(a=this._left+s[0]*this.get("width"),f=this._top+s[1]*this.get("height")),c.init({dx:o+this._left,dy:u+this._top})),c.translate(a,f);for(h=0;h0)if(o.isString&&i[t])a=!0;else if(o.isObject(t))for(s in i)if(i.hasOwnProperty(s)&&t[s]){a=!0;break}a&&r._redraw()},_x:0,_y:0,getXY:function(){var t=e.one(this._node),n;return t&&(n=t.getXY()),n},initializer:function(){var e=this.get("render"),t=this.get("visible")?"visible":"hidden";this._shapes={},this._contentBounds={left:0,top:0,right:0,bottom:0},this._gradients={},this._node=v.createElement("div"),this._node.style.position="absolute",this._node.style.left=this.get("x")+"px",this._node.style.top=this.get("y")+"px",this._node.style.visibility=t,this._contentNode=this._createGraphics(),this._contentNode.style.visibility=t,this._contentNode.setAttribute("id",this.get("id")),this._node.appendChild(this._contentNode),e&&this.render(e)},render:function(t){var n=e.one(t),r=this.get("width")||parseInt(n.getComputedStyle("width"),10),i=this.get("height")||parseInt(n.getComputedStyle("height"),10);return n=n||e.one(v.body),n.append(this._node),this.parentNode=n,this.set("width",r),this.set("height",i),this},destroy:function(){this.removeAllShapes(),this._contentNode&&(this._removeChildren(this._contentNode),this._contentNode.parentNode&&this._contentNode.parentNode.removeChild(this._contentNode),this._contentNode=null),this._node&&(this._removeChildren(this._node),e.one(this._node).remove(!0),this._node=null)},addShape:function(e){e.graphic=this,this.get("visible")||(e.visible=!1);var t=this._getShapeClass(e.type),n=new t(e);return this._appendShape(n),n},_appendShape:function(e){var t=e.node,n=this._frag||this._contentNode;this.get("autoDraw")?n.appendChild(t):this._getDocFrag().appendChild(t)},removeShape:function(e){return e instanceof f||o.isString(e)&&(e=this._shapes[e]),e&&e instanceof f&&(e._destroy(),delete this._shapes[e.get("id")]),this.get("autoDraw")&&this._redraw(),e},removeAllShapes:function(){var e=this._shapes,t;for(t in e)e.hasOwnProperty(t)&&e[t]._destroy();this._shapes={}},_removeChildren:function(e){if(e.hasChildNodes()){var t;while(e.firstChild)t=e.firstChild,this._removeChildren(t),e.removeChild(t)}},clear:function(){this.removeAllShapes()},_toggleVisible:function(e){var t,n=this._shapes,r=e?"visible":"hidden";if(n)for(t in n)n.hasOwnProperty(t)&&n[t].set("visible",e);this._contentNode&&(this._contentNode.style.visibility=r),this._node&&(this._node.style.visibility=r)},_getShapeClass:function(e){var t=this._shapeClass[e];return t?t:e},_shapeClass:{circle:e.SVGCircle,rect:e.SVGRect,path:e.SVGPath,ellipse:e.SVGEllipse,pieslice:e.SVGPieSlice},getShapeById:function(e){var t=this._shapes[e];return t},batch:function(e){var t=this.get("autoDraw");this.set("autoDraw",!1),e(),this.set("autoDraw",t)},_getDocFrag:function(){return this._frag||(this._frag=v.createDocumentFragment()),this._frag},_redraw:function(){var t=this.get("autoSize"),n=this.get("preserveAspectRatio"),r=this.get("resizeDown")?this._getUpdatedContentBounds():this._contentBounds,i=r.left,s=r.right,o=r.top,u=r.bottom,a=s-i,f=u-o,l,c,h,p,d;t?t=="sizeContentToGraphic"?(d=e.one(this._node),l=parseFloat(d.getComputedStyle("width")),c=parseFloat(d.getComputedStyle("height")),h=p=0,this._contentNode.setAttribute("preserveAspectRatio",n)):(l=a,c=f,h=i,p=o,this._state.width=a,this._state.height=f,this._node&&(this._node.style.width=a+"px",this._node.style.height=f+"px")):(l=a,c=f -,h=i,p=o),this._contentNode&&(this._contentNode.style.left=h+"px",this._contentNode.style.top=p+"px",this._contentNode.setAttribute("width",l),this._contentNode.setAttribute("height",c),this._contentNode.style.width=l+"px",this._contentNode.style.height=c+"px",this._contentNode.setAttribute("viewBox",""+i+" "+o+" "+a+" "+f+"")),this._frag&&(this._contentNode&&this._contentNode.appendChild(this._frag),this._frag=null)},addToRedrawQueue:function(e){var t,n;this._shapes[e.get("id")]=e,this.get("resizeDown")||(t=e.getBounds(),n=this._contentBounds,n.left=n.leftt.right?n.right:t.right,n.bottom=n.bottom>t.bottom?n.bottom:t.bottom,n.width=n.right-n.left,n.height=n.bottom-n.top,this._contentBounds=n),this.get("autoDraw")&&this._redraw()},_getUpdatedContentBounds:function(){var e,t,n,r=this._shapes,i={};for(t in r)r.hasOwnProperty(t)&&(n=r[t],e=n.getBounds(),i.left=o.isNumber(i.left)?Math.min(i.left,e.left):e.left,i.top=o.isNumber(i.top)?Math.min(i.top,e.top):e.top,i.right=o.isNumber(i.right)?Math.max(i.right,e.right):e.right,i.bottom=o.isNumber(i.bottom)?Math.max(i.bottom,e.bottom):e.bottom);return i.left=o.isNumber(i.left)?i.left:0,i.top=o.isNumber(i.top)?i.top:0,i.right=o.isNumber(i.right)?i.right:0,i.bottom=o.isNumber(i.bottom)?i.bottom:0,this._contentBounds=i,i},_createGraphics:function(){var e=this._createGraphicNode("svg"),t=this.get("pointerEvents");return e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.overflow="auto",e.setAttribute("overflow","auto"),e.setAttribute("pointer-events",t),e},_createGraphicNode:function(e,t){var n=v.createElementNS("http://www.w3.org/2000/svg","svg:"+e),r=t||"none";return e!=="defs"&&e!=="stop"&&e!=="linearGradient"&&e!="radialGradient"&&n.setAttribute("pointer-events",r),n},getGradientNode:function(e,t){var n=this._gradients,r,i=t+"Gradient";return n.hasOwnProperty(e)&&n[e].tagName.indexOf(t)>-1?r=this._gradients[e]:(r=this._createGraphicNode(i),this._defs||(this._defs=this._createGraphicNode("defs"),this._contentNode.appendChild(this._defs)),this._defs.appendChild(r),e=e||"gradient"+Math.round(1e5*Math.random()),r.setAttribute("id",e),n.hasOwnProperty(e)&&this._defs.removeChild(n[e]),n[e]=r),r},_toFront:function(t){var n=this._contentNode;t instanceof e.SVGShape&&(t=t.get("node")),n&&t&&n.appendChild(t)},_toBack:function(t){var n=this._contentNode,r;t instanceof e.SVGShape&&(t=t.get("node")),n&&t&&(r=n.firstChild,r?n.insertBefore(t,r):n.appendChild(t))}}),e.SVGGraphic=a},"3.9.0",{requires:["graphics"]}); diff --git a/lib/yuilib/3.9.0/build/graphics-vml/graphics-vml-coverage.js b/lib/yuilib/3.9.0/build/graphics-vml/graphics-vml-coverage.js deleted file mode 100644 index 1909bee0449..00000000000 --- a/lib/yuilib/3.9.0/build/graphics-vml/graphics-vml-coverage.js +++ /dev/null @@ -1,4712 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -if (typeof _yuitest_coverage == "undefined"){ - _yuitest_coverage = {}; - _yuitest_coverline = function(src, line){ - var coverage = _yuitest_coverage[src]; - if (!coverage.lines[line]){ - coverage.calledLines++; - } - coverage.lines[line]++; - }; - _yuitest_coverfunc = function(src, name, line){ - var coverage = _yuitest_coverage[src], - funcId = name + ":" + line; - if (!coverage.functions[funcId]){ - coverage.calledFunctions++; - } - coverage.functions[funcId]++; - }; -} -_yuitest_coverage["build/graphics-vml/graphics-vml.js"] = { - lines: {}, - functions: {}, - coveredLines: 0, - calledLines: 0, - coveredFunctions: 0, - calledFunctions: 0, - path: "build/graphics-vml/graphics-vml.js", - code: [] -}; -_yuitest_coverage["build/graphics-vml/graphics-vml.js"].code=["YUI.add('graphics-vml', function (Y, NAME) {","","var IMPLEMENTATION = \"vml\","," SHAPE = \"shape\","," SPLITPATHPATTERN = /[a-z][^a-z]*/ig,"," SPLITARGSPATTERN = /[-]?[0-9]*[0-9|\\.][0-9]*/g,"," Y_LANG = Y.Lang,"," IS_NUM = Y_LANG.isNumber,"," IS_ARRAY = Y_LANG.isArray,"," IS_STRING = Y_LANG.isString,"," Y_DOM = Y.DOM,"," Y_SELECTOR = Y.Selector,"," DOCUMENT = Y.config.doc,"," AttributeLite = Y.AttributeLite,"," VMLShape,"," VMLCircle,"," VMLPath,"," VMLRect,"," VMLEllipse,"," VMLGraphic,"," VMLPieSlice,"," _getClassName = Y.ClassNameManager.getClassName;","","function VMLDrawing() {}","","/**"," * VML implementation of the `Drawing` class."," * `VMLDrawing` is not intended to be used directly. Instead, use the `Drawing` class."," * If the browser lacks SVG and Canvas"," * capabilities, the `Drawing` class will point to the `VMLDrawing` class."," *"," * @module graphics"," * @class VMLDrawing"," * @constructor"," */","VMLDrawing.prototype = {"," /**"," * Maps path to methods"," *"," * @property _pathSymbolToMethod"," * @type Object"," * @private"," */"," _pathSymbolToMethod: {"," M: \"moveTo\","," m: \"relativeMoveTo\","," L: \"lineTo\","," l: \"relativeLineTo\","," C: \"curveTo\","," c: \"relativeCurveTo\","," Q: \"quadraticCurveTo\","," q: \"relativeQuadraticCurveTo\","," z: \"closePath\","," Z: \"closePath\""," },",""," /**"," * Value for rounding up to coordsize"," *"," * @property _coordSpaceMultiplier"," * @type Number"," * @private"," */"," _coordSpaceMultiplier: 100,",""," /**"," * Rounds dimensions and position values based on the coordinate space."," *"," * @method _round"," * @param {Number} The value for rounding"," * @return Number"," * @private"," */"," _round:function(val)"," {"," return Math.round(val * this._coordSpaceMultiplier);"," },",""," /**"," * Concatanates the path."," *"," * @method _addToPath"," * @param {String} val The value to add to the path string."," * @private"," */"," _addToPath: function(val)"," {"," this._path = this._path || \"\";"," if(this._movePath)"," {"," this._path += this._movePath;"," this._movePath = null;"," }"," this._path += val;"," },",""," /**"," * Current x position of the drawing."," *"," * @property _currentX"," * @type Number"," * @private"," */"," _currentX: 0,",""," /**"," * Current y position of the drqwing."," *"," * @property _currentY"," * @type Number"," * @private"," */"," _currentY: 0,",""," /**"," * Draws a bezier curve."," *"," * @method curveTo"," * @param {Number} cp1x x-coordinate for the first control point."," * @param {Number} cp1y y-coordinate for the first control point."," * @param {Number} cp2x x-coordinate for the second control point."," * @param {Number} cp2y y-coordinate for the second control point."," * @param {Number} x x-coordinate for the end point."," * @param {Number} y y-coordinate for the end point."," * @chainable"," */"," curveTo: function() {"," this._curveTo.apply(this, [Y.Array(arguments), false]);"," return this;"," },",""," /**"," * Draws a bezier curve."," *"," * @method relativeCurveTo"," * @param {Number} cp1x x-coordinate for the first control point."," * @param {Number} cp1y y-coordinate for the first control point."," * @param {Number} cp2x x-coordinate for the second control point."," * @param {Number} cp2y y-coordinate for the second control point."," * @param {Number} x x-coordinate for the end point."," * @param {Number} y y-coordinate for the end point."," * @chainable"," */"," relativeCurveTo: function() {"," this._curveTo.apply(this, [Y.Array(arguments), true]);"," return this;"," },",""," /**"," * Implements curveTo methods."," *"," * @method _curveTo"," * @param {Array} args The arguments to be used."," * @param {Boolean} relative Indicates whether or not to use relative coordinates."," * @private"," */"," _curveTo: function(args, relative) {"," var w,"," h,"," x,"," y,"," cp1x,"," cp1y,"," cp2x,"," cp2y,"," pts,"," right,"," left,"," bottom,"," top,"," i,"," len,"," path,"," command = relative ? \" v \" : \" c \","," relativeX = relative ? parseFloat(this._currentX) : 0,"," relativeY = relative ? parseFloat(this._currentY) : 0;"," len = args.length - 5;"," path = command;"," for(i = 0; i < len; i = i + 6)"," {"," cp1x = parseFloat(args[i]);"," cp1y = parseFloat(args[i + 1]);"," cp2x = parseFloat(args[i + 2]);"," cp2y = parseFloat(args[i + 3]);"," x = parseFloat(args[i + 4]);"," y = parseFloat(args[i + 5]);"," if(i > 0)"," {"," path = path + \", \";"," }"," path = path + this._round(cp1x) + \", \" + this._round(cp1y) + \", \" + this._round(cp2x) + \", \" + this._round(cp2y) + \", \" + this._round(x) + \", \" + this._round(y);"," cp1x = cp1x + relativeX;"," cp1y = cp1y + relativeY;"," cp2x = cp2x + relativeX;"," cp2y = cp2y + relativeY;"," x = x + relativeX;"," y = y + relativeY;"," right = Math.max(x, Math.max(cp1x, cp2x));"," bottom = Math.max(y, Math.max(cp1y, cp2y));"," left = Math.min(x, Math.min(cp1x, cp2x));"," top = Math.min(y, Math.min(cp1y, cp2y));"," w = Math.abs(right - left);"," h = Math.abs(bottom - top);"," pts = [[this._currentX, this._currentY] , [cp1x, cp1y], [cp2x, cp2y], [x, y]];"," this._setCurveBoundingBox(pts, w, h);"," this._currentX = x;"," this._currentY = y;"," }"," this._addToPath(path);"," },",""," /**"," * Draws a quadratic bezier curve."," *"," * @method quadraticCurveTo"," * @param {Number} cpx x-coordinate for the control point."," * @param {Number} cpy y-coordinate for the control point."," * @param {Number} x x-coordinate for the end point."," * @param {Number} y y-coordinate for the end point."," * @chainable"," */"," quadraticCurveTo: function() {"," this._quadraticCurveTo.apply(this, [Y.Array(arguments), false]);"," return this;"," },",""," /**"," * Draws a quadratic bezier curve relative to the current position."," *"," * @method relativeQuadraticCurveTo"," * @param {Number} cpx x-coordinate for the control point."," * @param {Number} cpy y-coordinate for the control point."," * @param {Number} x x-coordinate for the end point."," * @param {Number} y y-coordinate for the end point."," * @chainable"," */"," relativeQuadraticCurveTo: function() {"," this._quadraticCurveTo.apply(this, [Y.Array(arguments), true]);"," return this;"," },",""," /**"," * Implements quadraticCurveTo methods."," *"," * @method _quadraticCurveTo"," * @param {Array} args The arguments to be used."," * @param {Boolean} relative Indicates whether or not to use relative coordinates."," * @private"," */"," _quadraticCurveTo: function(args, relative) {"," var cpx,"," cpy,"," cp1x,"," cp1y,"," cp2x,"," cp2y,"," x,"," y,"," currentX = this._currentX,"," currentY = this._currentY,"," i,"," len = args.length - 3,"," bezierArgs = [],"," relativeX = relative ? parseFloat(this._currentX) : 0,"," relativeY = relative ? parseFloat(this._currentY) : 0;"," for(i = 0; i < len; i = i + 4)"," {"," cpx = parseFloat(args[i]) + relativeX;"," cpy = parseFloat(args[i + 1]) + relativeY;"," x = parseFloat(args[i + 2]) + relativeX;"," y = parseFloat(args[i + 3]) + relativeY;"," cp1x = currentX + 0.67*(cpx - currentX);"," cp1y = currentY + 0.67*(cpy - currentY);"," cp2x = cp1x + (x - currentX) * 0.34;"," cp2y = cp1y + (y - currentY) * 0.34;"," bezierArgs.push(cp1x);"," bezierArgs.push(cp1y);"," bezierArgs.push(cp2x);"," bezierArgs.push(cp2y);"," bezierArgs.push(x);"," bezierArgs.push(y);"," }"," this._curveTo.apply(this, [bezierArgs, false]);"," },",""," /**"," * Draws a rectangle."," *"," * @method drawRect"," * @param {Number} x x-coordinate"," * @param {Number} y y-coordinate"," * @param {Number} w width"," * @param {Number} h height"," * @chainable"," */"," drawRect: function(x, y, w, h) {"," this.moveTo(x, y);"," this.lineTo(x + w, y);"," this.lineTo(x + w, y + h);"," this.lineTo(x, y + h);"," this.lineTo(x, y);"," this._currentX = x;"," this._currentY = y;"," return this;"," },",""," /**"," * Draws a rectangle with rounded corners."," *"," * @method drawRect"," * @param {Number} x x-coordinate"," * @param {Number} y y-coordinate"," * @param {Number} w width"," * @param {Number} h height"," * @param {Number} ew width of the ellipse used to draw the rounded corners"," * @param {Number} eh height of the ellipse used to draw the rounded corners"," * @chainable"," */"," drawRoundRect: function(x, y, w, h, ew, eh) {"," this.moveTo(x, y + eh);"," this.lineTo(x, y + h - eh);"," this.quadraticCurveTo(x, y + h, x + ew, y + h);"," this.lineTo(x + w - ew, y + h);"," this.quadraticCurveTo(x + w, y + h, x + w, y + h - eh);"," this.lineTo(x + w, y + eh);"," this.quadraticCurveTo(x + w, y, x + w - ew, y);"," this.lineTo(x + ew, y);"," this.quadraticCurveTo(x, y, x, y + eh);"," return this;"," },",""," /**"," * Draws a circle. Used internally by `CanvasCircle` class."," *"," * @method drawCircle"," * @param {Number} x y-coordinate"," * @param {Number} y x-coordinate"," * @param {Number} r radius"," * @chainable"," * @protected"," */"," drawCircle: function(x, y, radius) {"," var startAngle = 0,"," endAngle = 360,"," circum = radius * 2;",""," endAngle *= 65535;"," this._drawingComplete = false;"," this._trackSize(x + circum, y + circum);"," this.moveTo((x + circum), (y + radius));"," this._addToPath(\" ae \" + this._round(x + radius) + \", \" + this._round(y + radius) + \", \" + this._round(radius) + \", \" + this._round(radius) + \", \" + startAngle + \", \" + endAngle);"," return this;"," },",""," /**"," * Draws an ellipse."," *"," * @method drawEllipse"," * @param {Number} x x-coordinate"," * @param {Number} y y-coordinate"," * @param {Number} w width"," * @param {Number} h height"," * @chainable"," * @protected"," */"," drawEllipse: function(x, y, w, h) {"," var startAngle = 0,"," endAngle = 360,"," radius = w * 0.5,"," yRadius = h * 0.5;"," endAngle *= 65535;"," this._drawingComplete = false;"," this._trackSize(x + w, y + h);"," this.moveTo((x + w), (y + yRadius));"," this._addToPath(\" ae \" + this._round(x + radius) + \", \" + this._round(x + radius) + \", \" + this._round(y + yRadius) + \", \" + this._round(radius) + \", \" + this._round(yRadius) + \", \" + startAngle + \", \" + endAngle);"," return this;"," },",""," /**"," * Draws a diamond."," *"," * @method drawDiamond"," * @param {Number} x y-coordinate"," * @param {Number} y x-coordinate"," * @param {Number} width width"," * @param {Number} height height"," * @chainable"," * @protected"," */"," drawDiamond: function(x, y, width, height)"," {"," var midWidth = width * 0.5,"," midHeight = height * 0.5;"," this.moveTo(x + midWidth, y);"," this.lineTo(x + width, y + midHeight);"," this.lineTo(x + midWidth, y + height);"," this.lineTo(x, y + midHeight);"," this.lineTo(x + midWidth, y);"," return this;"," },",""," /**"," * Draws a wedge."," *"," * @method drawWedge"," * @param {Number} x x-coordinate of the wedge's center point"," * @param {Number} y y-coordinate of the wedge's center point"," * @param {Number} startAngle starting angle in degrees"," * @param {Number} arc sweep of the wedge. Negative values draw clockwise."," * @param {Number} radius radius of wedge. If [optional] yRadius is defined, then radius is the x radius."," * @param {Number} yRadius [optional] y radius for wedge."," * @chainable"," * @private"," */"," drawWedge: function(x, y, startAngle, arc, radius)"," {"," var diameter = radius * 2;"," if(Math.abs(arc) > 360)"," {"," arc = 360;"," }"," this._currentX = x;"," this._currentY = y;"," startAngle *= -65535;"," arc *= 65536;"," startAngle = Math.round(startAngle);"," arc = Math.round(arc);"," this.moveTo(x, y);"," this._addToPath(\" ae \" + this._round(x) + \", \" + this._round(y) + \", \" + this._round(radius) + \" \" + this._round(radius) + \", \" + startAngle + \", \" + arc);"," this._trackSize(diameter, diameter);"," return this;"," },",""," /**"," * Draws a line segment from the current drawing position to the specified x and y coordinates."," *"," * @method lineTo"," * @param {Number} point1 x-coordinate for the end point."," * @param {Number} point2 y-coordinate for the end point."," * @chainable"," */"," lineTo: function()"," {"," this._lineTo.apply(this, [Y.Array(arguments), false]);"," return this;"," },",""," /**"," * Draws a line segment using the current line style from the current drawing position to the relative x and y coordinates."," *"," * @method relativeLineTo"," * @param {Number} point1 x-coordinate for the end point."," * @param {Number} point2 y-coordinate for the end point."," * @chainable"," */"," relativeLineTo: function()"," {"," this._lineTo.apply(this, [Y.Array(arguments), true]);"," return this;"," },",""," /**"," * Implements lineTo methods."," *"," * @method _lineTo"," * @param {Array} args The arguments to be used."," * @param {Boolean} relative Indicates whether or not to use relative coordinates."," * @private"," */"," _lineTo: function(args, relative) {"," var point1 = args[0],"," i,"," len,"," x,"," y,"," path = relative ? \" r \" : \" l \","," relativeX = relative ? parseFloat(this._currentX) : 0,"," relativeY = relative ? parseFloat(this._currentY) : 0;"," if (typeof point1 == \"string\" || typeof point1 == \"number\") {"," len = args.length - 1;"," for (i = 0; i < len; i = i + 2) {"," x = parseFloat(args[i]);"," y = parseFloat(args[i + 1]);"," path += ' ' + this._round(x) + ', ' + this._round(y);"," x = x + relativeX;"," y = y + relativeY;"," this._currentX = x;"," this._currentY = y;"," this._trackSize.apply(this, [x, y]);"," }"," }"," else"," {"," len = args.length;"," for (i = 0; i < len; i = i + 1) {"," x = parseFloat(args[i][0]);"," y = parseFloat(args[i][1]);"," path += ' ' + this._round(x) + ', ' + this._round(y);"," x = x + relativeX;"," y = y + relativeY;"," this._currentX = x;"," this._currentY = y;"," this._trackSize.apply(this, [x, y]);"," }"," }"," this._addToPath(path);"," return this;"," },",""," /**"," * Moves the current drawing position to specified x and y coordinates."," *"," * @method moveTo"," * @param {Number} x x-coordinate for the end point."," * @param {Number} y y-coordinate for the end point."," * @chainable"," */"," moveTo: function()"," {"," this._moveTo.apply(this, [Y.Array(arguments), false]);"," return this;"," },",""," /**"," * Moves the current drawing position relative to specified x and y coordinates."," *"," * @method relativeMoveTo"," * @param {Number} x x-coordinate for the end point."," * @param {Number} y y-coordinate for the end point."," * @chainable"," */"," relativeMoveTo: function()"," {"," this._moveTo.apply(this, [Y.Array(arguments), true]);"," return this;"," },",""," /**"," * Implements moveTo methods."," *"," * @method _moveTo"," * @param {Array} args The arguments to be used."," * @param {Boolean} relative Indicates whether or not to use relative coordinates."," * @private"," */"," _moveTo: function(args, relative) {"," var x = parseFloat(args[0]),"," y = parseFloat(args[1]),"," command = relative ? \" t \" : \" m \","," relativeX = relative ? parseFloat(this._currentX) : 0,"," relativeY = relative ? parseFloat(this._currentY) : 0;"," this._movePath = command + this._round(x) + \", \" + this._round(y);"," x = x + relativeX;"," y = y + relativeY;"," this._trackSize(x, y);"," this._currentX = x;"," this._currentY = y;"," },",""," /**"," * Draws the graphic."," *"," * @method _draw"," * @private"," */"," _closePath: function()"," {"," var fill = this.get(\"fill\"),"," stroke = this.get(\"stroke\"),"," node = this.node,"," w = this.get(\"width\"),"," h = this.get(\"height\"),"," path = this._path,"," pathEnd = \"\","," multiplier = this._coordSpaceMultiplier;"," this._fillChangeHandler();"," this._strokeChangeHandler();"," if(path)"," {"," if(fill && fill.color)"," {"," pathEnd += ' x';"," }"," if(stroke)"," {"," pathEnd += ' e';"," }"," }"," if(path)"," {"," node.path = path + pathEnd;"," }"," if(!isNaN(w) && !isNaN(h))"," {"," node.coordOrigin = this._left + \", \" + this._top;"," node.coordSize = (w * multiplier) + \", \" + (h * multiplier);"," node.style.position = \"absolute\";"," node.style.width = w + \"px\";"," node.style.height = h + \"px\";"," }"," this._path = path;"," this._movePath = null;"," this._updateTransform();"," },",""," /**"," * Completes a drawing operation."," *"," * @method end"," * @chainable"," */"," end: function()"," {"," this._closePath();"," return this;"," },",""," /**"," * Ends a fill and stroke"," *"," * @method closePath"," * @chainable"," */"," closePath: function()"," {"," this._addToPath(\" x e\");"," return this;"," },",""," /**"," * Clears the path."," *"," * @method clear"," * @chainable"," */"," clear: function()"," {"," this._right = 0;"," this._bottom = 0;"," this._width = 0;"," this._height = 0;"," this._left = 0;"," this._top = 0;"," this._path = \"\";"," this._movePath = null;"," return this;"," },",""," /**"," * Returns the points on a curve"," *"," * @method getBezierData"," * @param Array points Array containing the begin, end and control points of a curve."," * @param Number t The value for incrementing the next set of points."," * @return Array"," * @private"," */"," getBezierData: function(points, t) {"," var n = points.length,"," tmp = [],"," i,"," j;",""," for (i = 0; i < n; ++i){"," tmp[i] = [points[i][0], points[i][1]]; // save input"," }",""," for (j = 1; j < n; ++j) {"," for (i = 0; i < n - j; ++i) {"," tmp[i][0] = (1 - t) * tmp[i][0] + t * tmp[parseInt(i + 1, 10)][0];"," tmp[i][1] = (1 - t) * tmp[i][1] + t * tmp[parseInt(i + 1, 10)][1];"," }"," }"," return [ tmp[0][0], tmp[0][1] ];"," },",""," /**"," * Calculates the bounding box for a curve"," *"," * @method _setCurveBoundingBox"," * @param Array pts Array containing points for start, end and control points of a curve."," * @param Number w Width used to calculate the number of points to describe the curve."," * @param Number h Height used to calculate the number of points to describe the curve."," * @private"," */"," _setCurveBoundingBox: function(pts, w, h)"," {"," var i,"," left = this._currentX,"," right = left,"," top = this._currentY,"," bottom = top,"," len = Math.round(Math.sqrt((w * w) + (h * h))),"," t = 1/len,"," xy;"," for(i = 0; i < len; ++i)"," {"," xy = this.getBezierData(pts, t * i);"," left = isNaN(left) ? xy[0] : Math.min(xy[0], left);"," right = isNaN(right) ? xy[0] : Math.max(xy[0], right);"," top = isNaN(top) ? xy[1] : Math.min(xy[1], top);"," bottom = isNaN(bottom) ? xy[1] : Math.max(xy[1], bottom);"," }"," left = Math.round(left * 10)/10;"," right = Math.round(right * 10)/10;"," top = Math.round(top * 10)/10;"," bottom = Math.round(bottom * 10)/10;"," this._trackSize(right, bottom);"," this._trackSize(left, top);"," },",""," /**"," * Updates the size of the graphics object"," *"," * @method _trackSize"," * @param {Number} w width"," * @param {Number} h height"," * @private"," */"," _trackSize: function(w, h) {"," if (w > this._right) {"," this._right = w;"," }"," if(w < this._left)"," {"," this._left = w;"," }"," if (h < this._top)"," {"," this._top = h;"," }"," if (h > this._bottom)"," {"," this._bottom = h;"," }"," this._width = this._right - this._left;"," this._height = this._bottom - this._top;"," },",""," _left: 0,",""," _right: 0,",""," _top: 0,",""," _bottom: 0,",""," _width: 0,",""," _height: 0","};","Y.VMLDrawing = VMLDrawing;","/**"," * VML implementation of the `Shape` class."," * `VMLShape` is not intended to be used directly. Instead, use the `Shape` class."," * If the browser lacks SVG and Canvas"," * capabilities, the `Shape` class will point to the `VMLShape` class."," *"," * @module graphics"," * @class VMLShape"," * @constructor"," * @param {Object} cfg (optional) Attribute configs"," */","VMLShape = function()","{"," this._transforms = [];"," this.matrix = new Y.Matrix();"," this._normalizedMatrix = new Y.Matrix();"," VMLShape.superclass.constructor.apply(this, arguments);","};","","VMLShape.NAME = \"shape\";","","Y.extend(VMLShape, Y.GraphicBase, Y.mix({"," /**"," * Indicates the type of shape"," *"," * @property _type"," * @type String"," * @private"," */"," _type: \"shape\",",""," /**"," * Init method, invoked during construction."," * Calls `initializer` method."," *"," * @method init"," * @protected"," */"," init: function()"," {"," this.initializer.apply(this, arguments);"," },",""," /**"," * Initializes the shape"," *"," * @private"," * @method _initialize"," */"," initializer: function(cfg)"," {"," var host = this,"," graphic = cfg.graphic,"," data = this.get(\"data\");"," host.createNode();"," if(graphic)"," {"," this._setGraphic(graphic);"," }"," if(data)"," {"," host._parsePathData(data);"," }"," this._updateHandler();"," },",""," /**"," * Set the Graphic instance for the shape."," *"," * @method _setGraphic"," * @param {Graphic | Node | HTMLElement | String} render This param is used to determine the graphic instance. If it is a"," * `Graphic` instance, it will be assigned to the `graphic` attribute. Otherwise, a new Graphic instance will be created"," * and rendered into the dom element that the render represents."," * @private"," */"," _setGraphic: function(render)"," {"," var graphic;"," if(render instanceof Y.VMLGraphic)"," {"," this._graphic = render;"," }"," else"," {"," render = Y.one(render);"," graphic = new Y.VMLGraphic({"," render: render"," });"," graphic._appendShape(this);"," this._graphic = graphic;"," this._appendStrokeAndFill();"," }"," },",""," /**"," * Appends fill and stroke nodes to the shape."," *"," * @method _appendStrokeAndFill"," * @private"," */"," _appendStrokeAndFill: function()"," {"," if(this._strokeNode)"," {"," this.node.appendChild(this._strokeNode);"," }"," if(this._fillNode)"," {"," this.node.appendChild(this._fillNode);"," }"," },",""," /**"," * Creates the dom node for the shape."," *"," * @method createNode"," * @return HTMLElement"," * @private"," */"," createNode: function()"," {"," var node,"," concat = this._camelCaseConcat,"," x = this.get(\"x\"),"," y = this.get(\"y\"),"," w = this.get(\"width\"),"," h = this.get(\"height\"),"," id,"," type,"," name = this.name,"," nodestring,"," visibility = this.get(\"visible\") ? \"visible\" : \"hidden\","," strokestring,"," classString,"," stroke,"," endcap,"," opacity,"," joinstyle,"," miterlimit,"," dashstyle,"," fill,"," fillstring;"," id = this.get(\"id\");"," type = this._type == \"path\" ? \"shape\" : this._type;"," classString = _getClassName(SHAPE) + \" \" + _getClassName(concat(IMPLEMENTATION, SHAPE)) + \" \" + _getClassName(name) + \" \" + _getClassName(concat(IMPLEMENTATION, name)) + \" \" + IMPLEMENTATION + type;"," stroke = this._getStrokeProps();"," fill = this._getFillProps();",""," nodestring = '<' + type + ' xmlns=\"urn:schemas-microsft.com:vml\" id=\"' + id + '\" class=\"' + classString + '\" style=\"behavior:url(#default#VML);display:inline-block;position:absolute;left:' + x + 'px;top:' + y + 'px;width:' + w + 'px;height:' + h + 'px;visibility:' + visibility + '\"';",""," if(stroke && stroke.weight && stroke.weight > 0)"," {"," endcap = stroke.endcap;"," opacity = parseFloat(stroke.opacity);"," joinstyle = stroke.joinstyle;"," miterlimit = stroke.miterlimit;"," dashstyle = stroke.dashstyle;"," nodestring += ' stroked=\"t\" strokecolor=\"' + stroke.color + '\" strokeWeight=\"' + stroke.weight + 'px\"';",""," strokestring = '';",""," node = DOCUMENT.createElement(nodestring);",""," this.node = node;"," this._strokeFlag = false;"," this._fillFlag = false;"," },",""," /**"," * Add a class name to each node."," *"," * @method addClass"," * @param {String} className the class name to add to the node's class attribute"," */"," addClass: function(className)"," {"," var node = this.node;"," Y_DOM.addClass(node, className);"," },",""," /**"," * Removes a class name from each node."," *"," * @method removeClass"," * @param {String} className the class name to remove from the node's class attribute"," */"," removeClass: function(className)"," {"," var node = this.node;"," Y_DOM.removeClass(node, className);"," },",""," /**"," * Gets the current position of the node in page coordinates."," *"," * @method getXY"," * @return Array The XY position of the shape."," */"," getXY: function()"," {"," var graphic = this._graphic,"," parentXY = graphic.getXY(),"," x = this.get(\"x\"),"," y = this.get(\"y\");"," return [parentXY[0] + x, parentXY[1] + y];"," },",""," /**"," * Set the position of the shape in page coordinates, regardless of how the node is positioned."," *"," * @method setXY"," * @param {Array} Contains x & y values for new position (coordinates are page-based)"," *"," */"," setXY: function(xy)"," {"," var graphic = this._graphic,"," parentXY = graphic.getXY();"," this.set(\"x\", xy[0] - parentXY[0]);"," this.set(\"y\", xy[1] - parentXY[1]);"," },",""," /**"," * Determines whether the node is an ancestor of another HTML element in the DOM hierarchy."," *"," * @method contains"," * @param {VMLShape | HTMLElement} needle The possible node or descendent"," * @return Boolean Whether or not this shape is the needle or its ancestor."," */"," contains: function(needle)"," {"," return needle === Y.one(this.node);"," },",""," /**"," * Compares nodes to determine if they match."," * Node instances can be compared to each other and/or HTMLElements."," * @method compareTo"," * @param {HTMLElement | Node} refNode The reference node to compare to the node."," * @return {Boolean} True if the nodes match, false if they do not."," */"," compareTo: function(refNode) {"," var node = this.node;",""," return node === refNode;"," },",""," /**"," * Test if the supplied node matches the supplied selector."," *"," * @method test"," * @param {String} selector The CSS selector to test against."," * @return Boolean Wheter or not the shape matches the selector."," */"," test: function(selector)"," {"," return Y_SELECTOR.test(this.node, selector);"," },",""," /**"," * Calculates and returns properties for setting an initial stroke."," *"," * @method _getStrokeProps"," * @return Object"," *"," * @private"," */"," _getStrokeProps: function()"," {"," var props,"," stroke = this.get(\"stroke\"),"," strokeOpacity,"," dashstyle,"," dash = \"\","," val,"," i = 0,"," len,"," linecap,"," linejoin;"," if(stroke && stroke.weight && stroke.weight > 0)"," {"," props = {};"," linecap = stroke.linecap || \"flat\";"," linejoin = stroke.linejoin || \"round\";"," if(linecap != \"round\" && linecap != \"square\")"," {"," linecap = \"flat\";"," }"," strokeOpacity = parseFloat(stroke.opacity);"," dashstyle = stroke.dashstyle || \"none\";"," stroke.color = stroke.color || \"#000000\";"," stroke.weight = stroke.weight || 1;"," stroke.opacity = IS_NUM(strokeOpacity) ? strokeOpacity : 1;"," props.stroked = true;"," props.color = stroke.color;"," props.weight = stroke.weight;"," props.endcap = linecap;"," props.opacity = stroke.opacity;"," if(IS_ARRAY(dashstyle))"," {"," dash = [];"," len = dashstyle.length;"," for(i = 0; i < len; ++i)"," {"," val = dashstyle[i];"," dash[i] = val / stroke.weight;"," }"," }"," if(linejoin == \"round\" || linejoin == \"bevel\")"," {"," props.joinstyle = linejoin;"," }"," else"," {"," linejoin = parseInt(linejoin, 10);"," if(IS_NUM(linejoin))"," {"," props.miterlimit = Math.max(linejoin, 1);"," props.joinstyle = \"miter\";"," }"," }"," props.dashstyle = dash;"," }"," return props;"," },",""," /**"," * Adds a stroke to the shape node."," *"," * @method _strokeChangeHandler"," * @private"," */"," _strokeChangeHandler: function(e)"," {"," if(!this._strokeFlag)"," {"," return;"," }"," var node = this.node,"," stroke = this.get(\"stroke\"),"," strokeOpacity,"," dashstyle,"," dash = \"\","," val,"," i = 0,"," len,"," linecap,"," linejoin;"," if(stroke && stroke.weight && stroke.weight > 0)"," {"," linecap = stroke.linecap || \"flat\";"," linejoin = stroke.linejoin || \"round\";"," if(linecap != \"round\" && linecap != \"square\")"," {"," linecap = \"flat\";"," }"," strokeOpacity = parseFloat(stroke.opacity);"," dashstyle = stroke.dashstyle || \"none\";"," stroke.color = stroke.color || \"#000000\";"," stroke.weight = stroke.weight || 1;"," stroke.opacity = IS_NUM(strokeOpacity) ? strokeOpacity : 1;"," node.stroked = true;"," node.strokeColor = stroke.color;"," node.strokeWeight = stroke.weight + \"px\";"," if(!this._strokeNode)"," {"," this._strokeNode = this._createGraphicNode(\"stroke\");"," node.appendChild(this._strokeNode);"," }"," this._strokeNode.endcap = linecap;"," this._strokeNode.opacity = stroke.opacity;"," if(IS_ARRAY(dashstyle))"," {"," dash = [];"," len = dashstyle.length;"," for(i = 0; i < len; ++i)"," {"," val = dashstyle[i];"," dash[i] = val / stroke.weight;"," }"," }"," if(linejoin == \"round\" || linejoin == \"bevel\")"," {"," this._strokeNode.joinstyle = linejoin;"," }"," else"," {"," linejoin = parseInt(linejoin, 10);"," if(IS_NUM(linejoin))"," {"," this._strokeNode.miterlimit = Math.max(linejoin, 1);"," this._strokeNode.joinstyle = \"miter\";"," }"," }"," this._strokeNode.dashstyle = dash;"," this._strokeNode.on = true;"," }"," else"," {"," if(this._strokeNode)"," {"," this._strokeNode.on = false;"," }"," node.stroked = false;"," }"," this._strokeFlag = false;"," },",""," /**"," * Calculates and returns properties for setting an initial fill."," *"," * @method _getFillProps"," * @return Object"," *"," * @private"," */"," _getFillProps: function()"," {"," var fill = this.get(\"fill\"),"," fillOpacity,"," props,"," gradient,"," i,"," fillstring,"," filled = false;"," if(fill)"," {"," props = {};",""," if(fill.type == \"radial\" || fill.type == \"linear\")"," {"," fillOpacity = parseFloat(fill.opacity);"," fillOpacity = IS_NUM(fillOpacity) ? fillOpacity : 1;"," filled = true;"," gradient = this._getGradientFill(fill);"," fillstring = '';"," }"," }"," }"," props.filled = filled;"," }"," return props;"," },",""," /**"," * Adds a fill to the shape node."," *"," * @method _fillChangeHandler"," * @private"," */"," _fillChangeHandler: function(e)"," {"," if(!this._fillFlag)"," {"," return;"," }"," var node = this.node,"," fill = this.get(\"fill\"),"," fillOpacity,"," fillstring,"," filled = false,"," i,"," gradient;"," if(fill)"," {"," if(fill.type == \"radial\" || fill.type == \"linear\")"," {"," filled = true;"," gradient = this._getGradientFill(fill);"," if(this._fillNode)"," {"," for(i in gradient)"," {"," if(gradient.hasOwnProperty(i))"," {"," if(i == \"colors\")"," {"," this._fillNode.colors.value = gradient[i];"," }"," else"," {"," this._fillNode[i] = gradient[i];"," }"," }"," }"," }"," else"," {"," fillstring = '';"," this._fillNode = DOCUMENT.createElement(fillstring);"," node.appendChild(this._fillNode);"," }"," }"," else if(this._fillNode)"," {"," this._fillNode.opacity = 1;"," this._fillNode.type = \"solid\";"," }"," }"," }"," node.filled = filled;"," this._fillFlag = false;"," },",""," //not used. remove next release."," _updateFillNode: function(node)"," {"," if(!this._fillNode)"," {"," this._fillNode = this._createGraphicNode(\"fill\");"," node.appendChild(this._fillNode);"," }"," },",""," /**"," * Calculates and returns an object containing gradient properties for a fill node."," *"," * @method _getGradientFill"," * @param {Object} fill Object containing fill properties."," * @return Object"," * @private"," */"," _getGradientFill: function(fill)"," {"," var gradientProps = {},"," gradientBoxWidth,"," gradientBoxHeight,"," type = fill.type,"," w = this.get(\"width\"),"," h = this.get(\"height\"),"," isNumber = IS_NUM,"," stop,"," stops = fill.stops,"," len = stops.length,"," opacity,"," color,"," i,"," oi,"," colorstring = \"\","," cx = fill.cx,"," cy = fill.cy,"," fx = fill.fx,"," fy = fill.fy,"," r = fill.r,"," pct,"," rotation = fill.rotation || 0;"," if(type === \"linear\")"," {"," if(rotation <= 270)"," {"," rotation = Math.abs(rotation - 270);"," }"," else if(rotation < 360)"," {"," rotation = 270 + (360 - rotation);"," }"," else"," {"," rotation = 270;"," }"," gradientProps.type = \"gradient\";//\"gradientunscaled\";"," gradientProps.angle = rotation;"," }"," else if(type === \"radial\")"," {"," gradientBoxWidth = w * (r * 2);"," gradientBoxHeight = h * (r * 2);"," fx = r * 2 * (fx - 0.5);"," fy = r * 2 * (fy - 0.5);"," fx += cx;"," fy += cy;"," gradientProps.focussize = (gradientBoxWidth/w)/10 + \"% \" + (gradientBoxHeight/h)/10 + \"%\";"," gradientProps.alignshape = false;"," gradientProps.type = \"gradientradial\";"," gradientProps.focus = \"100%\";"," gradientProps.focusposition = Math.round(fx * 100) + \"% \" + Math.round(fy * 100) + \"%\";"," }"," for(i = 0;i < len; ++i) {"," stop = stops[i];"," color = stop.color;"," opacity = stop.opacity;"," opacity = isNumber(opacity) ? opacity : 1;"," pct = stop.offset || i/(len-1);"," pct *= (r * 2);"," pct = Math.round(100 * pct) + \"%\";"," oi = i > 0 ? i + 1 : \"\";"," gradientProps[\"opacity\" + oi] = opacity + \"\";"," colorstring += \", \" + pct + \" \" + color;"," }"," if(parseFloat(pct) < 100)"," {"," colorstring += \", 100% \" + color;"," }"," gradientProps.colors = colorstring.substr(2);"," return gradientProps;"," },",""," /**"," * Adds a transform to the shape."," *"," * @method _addTransform"," * @param {String} type The transform being applied."," * @param {Array} args The arguments for the transform."," * @private"," */"," _addTransform: function(type, args)"," {"," args = Y.Array(args);"," this._transform = Y_LANG.trim(this._transform + \" \" + type + \"(\" + args.join(\", \") + \")\");"," args.unshift(type);"," this._transforms.push(args);"," if(this.initialized)"," {"," this._updateTransform();"," }"," },",""," /**"," * Applies all transforms."," *"," * @method _updateTransform"," * @private"," */"," _updateTransform: function()"," {"," var node = this.node,"," key,"," transform,"," transformOrigin,"," x = this.get(\"x\"),"," y = this.get(\"y\"),"," tx,"," ty,"," matrix = this.matrix,"," normalizedMatrix = this._normalizedMatrix,"," isPathShape = this instanceof Y.VMLPath,"," i,"," len = this._transforms.length;"," if(this._transforms && this._transforms.length > 0)"," {"," transformOrigin = this.get(\"transformOrigin\");",""," if(isPathShape)"," {"," normalizedMatrix.translate(this._left, this._top);"," }"," //vml skew matrix transformOrigin ranges from -0.5 to 0.5."," //subtract 0.5 from values"," tx = transformOrigin[0] - 0.5;"," ty = transformOrigin[1] - 0.5;",""," //ensure the values are within the appropriate range to avoid errors"," tx = Math.max(-0.5, Math.min(0.5, tx));"," ty = Math.max(-0.5, Math.min(0.5, ty));"," for(i = 0; i < len; ++i)"," {"," key = this._transforms[i].shift();"," if(key)"," {"," normalizedMatrix[key].apply(normalizedMatrix, this._transforms[i]);"," matrix[key].apply(matrix, this._transforms[i]);"," }"," }"," if(isPathShape)"," {"," normalizedMatrix.translate(-this._left, -this._top);"," }"," transform = normalizedMatrix.a + \",\" +"," normalizedMatrix.c + \",\" +"," normalizedMatrix.b + \",\" +"," normalizedMatrix.d + \",\" +"," 0 + \",\" +"," 0;"," }"," this._graphic.addToRedrawQueue(this);"," if(transform)"," {"," if(!this._skew)"," {"," this._skew = DOCUMENT.createElement( '');"," this.node.appendChild(this._skew);"," }"," this._skew.matrix = transform;"," this._skew.on = true;"," //this._skew.offset = this._getSkewOffsetValue(normalizedMatrix.dx) + \"px, \" + this._getSkewOffsetValue(normalizedMatrix.dy) + \"px\";"," this._skew.origin = tx + \", \" + ty;"," }"," if(this._type != \"path\")"," {"," this._transforms = [];"," }"," //add the translate to the x and y coordinates"," node.style.left = (x + this._getSkewOffsetValue(normalizedMatrix.dx)) + \"px\";"," node.style.top = (y + this._getSkewOffsetValue(normalizedMatrix.dy)) + \"px\";"," },",""," /**"," * Normalizes the skew offset values between -32767 and 32767."," *"," * @method _getSkewOffsetValue"," * @param {Number} val The value to normalize"," * @return Number"," * @private"," */"," _getSkewOffsetValue: function(val)"," {"," var sign = Y.MatrixUtil.sign(val),"," absVal = Math.abs(val);"," val = Math.min(absVal, 32767) * sign;"," return val;"," },",""," /**"," * Storage for translateX"," *"," * @property _translateX"," * @type Number"," * @private"," */"," _translateX: 0,",""," /**"," * Storage for translateY"," *"," * @property _translateY"," * @type Number"," * @private"," */"," _translateY: 0,",""," /**"," * Storage for the transform attribute."," *"," * @property _transform"," * @type String"," * @private"," */"," _transform: \"\",",""," /**"," * Specifies a 2d translation."," *"," * @method translate"," * @param {Number} x The value to translate on the x-axis."," * @param {Number} y The value to translate on the y-axis."," */"," translate: function(x, y)"," {"," this._translateX += x;"," this._translateY += y;"," this._addTransform(\"translate\", arguments);"," },",""," /**"," * Translates the shape along the x-axis. When translating x and y coordinates,"," * use the `translate` method."," *"," * @method translateX"," * @param {Number} x The value to translate."," */"," translateX: function(x)"," {"," this._translateX += x;"," this._addTransform(\"translateX\", arguments);"," },",""," /**"," * Performs a translate on the y-coordinate. When translating x and y coordinates,"," * use the `translate` method."," *"," * @method translateY"," * @param {Number} y The value to translate."," */"," translateY: function(y)"," {"," this._translateY += y;"," this._addTransform(\"translateY\", arguments);"," },",""," /**"," * Skews the shape around the x-axis and y-axis."," *"," * @method skew"," * @param {Number} x The value to skew on the x-axis."," * @param {Number} y The value to skew on the y-axis."," */"," skew: function(x, y)"," {"," this._addTransform(\"skew\", arguments);"," },",""," /**"," * Skews the shape around the x-axis."," *"," * @method skewX"," * @param {Number} x x-coordinate"," */"," skewX: function(x)"," {"," this._addTransform(\"skewX\", arguments);"," },",""," /**"," * Skews the shape around the y-axis."," *"," * @method skewY"," * @param {Number} y y-coordinate"," */"," skewY: function(y)"," {"," this._addTransform(\"skewY\", arguments);"," },",""," /**"," * Rotates the shape clockwise around it transformOrigin."," *"," * @method rotate"," * @param {Number} deg The degree of the rotation."," */"," rotate: function(deg)"," {"," this._addTransform(\"rotate\", arguments);"," },",""," /**"," * Specifies a 2d scaling operation."," *"," * @method scale"," * @param {Number} val"," */"," scale: function(x, y)"," {"," this._addTransform(\"scale\", arguments);"," },",""," /**"," * Overrides default `on` method. Checks to see if its a dom interaction event. If so,"," * return an event attached to the `node` element. If not, return the normal functionality."," *"," * @method on"," * @param {String} type event type"," * @param {Object} callback function"," * @private"," */"," on: function(type, fn)"," {"," if(Y.Node.DOM_EVENTS[type])"," {"," return Y.one(\"#\" + this.get(\"id\")).on(type, fn);"," }"," return Y.on.apply(this, arguments);"," },",""," /**"," * Draws the shape."," *"," * @method _draw"," * @private"," */"," _draw: function()"," {"," },",""," /**"," * Updates `Shape` based on attribute changes."," *"," * @method _updateHandler"," * @private"," */"," _updateHandler: function(e)"," {"," var host = this,"," node = host.node;"," host._fillChangeHandler();"," host._strokeChangeHandler();"," node.style.width = this.get(\"width\") + \"px\";"," node.style.height = this.get(\"height\") + \"px\";"," this._draw();"," host._updateTransform();"," },",""," /**"," * Creates a graphic node"," *"," * @method _createGraphicNode"," * @param {String} type node type to create"," * @return HTMLElement"," * @private"," */"," _createGraphicNode: function(type)"," {"," type = type || this._type;"," return DOCUMENT.createElement('<' + type + ' xmlns=\"urn:schemas-microsft.com:vml\" style=\"behavior:url(#default#VML);display:inline-block;\" class=\"vml' + type + '\"/>');"," },",""," /**"," * Value function for fill attribute"," *"," * @private"," * @method _getDefaultFill"," * @return Object"," */"," _getDefaultFill: function() {"," return {"," type: \"solid\","," opacity: 1,"," cx: 0.5,"," cy: 0.5,"," fx: 0.5,"," fy: 0.5,"," r: 0.5"," };"," },",""," /**"," * Value function for stroke attribute"," *"," * @private"," * @method _getDefaultStroke"," * @return Object"," */"," _getDefaultStroke: function()"," {"," return {"," weight: 1,"," dashstyle: \"none\","," color: \"#000\","," opacity: 1.0"," };"," },",""," /**"," * Sets the value of an attribute."," *"," * @method set"," * @param {String|Object} name The name of the attribute. Alternatively, an object of key value pairs can"," * be passed in to set multiple attributes at once."," * @param {Any} value The value to set the attribute to. This value is ignored if an object is received as"," * the name param."," */"," set: function()"," {"," var host = this;"," AttributeLite.prototype.set.apply(host, arguments);"," if(host.initialized)"," {"," host._updateHandler();"," }"," },",""," /**"," * Returns the bounds for a shape."," *"," * Calculates the a new bounding box from the original corner coordinates (base on size and position) and the transform matrix."," * The calculated bounding box is used by the graphic instance to calculate its viewBox."," *"," * @method getBounds"," * @return Object"," */"," getBounds: function()"," {"," var isPathShape = this instanceof Y.VMLPath,"," w = this.get(\"width\"),"," h = this.get(\"height\"),"," x = this.get(\"x\"),"," y = this.get(\"y\");"," if(isPathShape)"," {"," x = x + this._left;"," y = y + this._top;"," w = this._right - this._left;"," h = this._bottom - this._top;"," }"," return this._getContentRect(w, h, x, y);"," },",""," /**"," * Calculates the bounding box for the shape."," *"," * @method _getContentRect"," * @param {Number} w width of the shape"," * @param {Number} h height of the shape"," * @param {Number} x x-coordinate of the shape"," * @param {Number} y y-coordinate of the shape"," * @private"," */"," _getContentRect: function(w, h, x, y)"," {"," var transformOrigin = this.get(\"transformOrigin\"),"," transformX = transformOrigin[0] * w,"," transformY = transformOrigin[1] * h,"," transforms = this.matrix.getTransformArray(this.get(\"transform\")),"," matrix = new Y.Matrix(),"," i,"," len = transforms.length,"," transform,"," key,"," contentRect,"," isPathShape = this instanceof Y.VMLPath;"," if(isPathShape)"," {"," matrix.translate(this._left, this._top);"," }"," transformX = !isNaN(transformX) ? transformX : 0;"," transformY = !isNaN(transformY) ? transformY : 0;"," matrix.translate(transformX, transformY);"," for(i = 0; i < len; i = i + 1)"," {"," transform = transforms[i];"," key = transform.shift();"," if(key)"," {"," matrix[key].apply(matrix, transform);"," }"," }"," matrix.translate(-transformX, -transformY);"," if(isPathShape)"," {"," matrix.translate(-this._left, -this._top);"," }"," contentRect = matrix.getContentRect(w, h, x, y);"," return contentRect;"," },",""," /**"," * Places the shape above all other shapes."," *"," * @method toFront"," */"," toFront: function()"," {"," var graphic = this.get(\"graphic\");"," if(graphic)"," {"," graphic._toFront(this);"," }"," },",""," /**"," * Places the shape underneath all other shapes."," *"," * @method toFront"," */"," toBack: function()"," {"," var graphic = this.get(\"graphic\");"," if(graphic)"," {"," graphic._toBack(this);"," }"," },",""," /**"," * Parses path data string and call mapped methods."," *"," * @method _parsePathData"," * @param {String} val The path data"," * @private"," */"," _parsePathData: function(val)"," {"," var method,"," methodSymbol,"," args,"," commandArray = Y.Lang.trim(val.match(SPLITPATHPATTERN)),"," i,"," len,"," str,"," symbolToMethod = this._pathSymbolToMethod;"," if(commandArray)"," {"," this.clear();"," len = commandArray.length || 0;"," for(i = 0; i < len; i = i + 1)"," {"," str = commandArray[i];"," methodSymbol = str.substr(0, 1);"," args = str.substr(1).match(SPLITARGSPATTERN);"," method = symbolToMethod[methodSymbol];"," if(method)"," {"," if(args)"," {"," this[method].apply(this, args);"," }"," else"," {"," this[method].apply(this);"," }"," }"," }"," this.end();"," }"," },",""," /**"," * Destroys shape"," *"," * @method destroy"," */"," destroy: function()"," {"," var graphic = this.get(\"graphic\");"," if(graphic)"," {"," graphic.removeShape(this);"," }"," else"," {"," this._destroy();"," }"," },",""," /**"," * Implementation for shape destruction"," *"," * @method destroy"," * @protected"," */"," _destroy: function()"," {"," if(this.node)"," {"," if(this._fillNode)"," {"," this.node.removeChild(this._fillNode);"," this._fillNode = null;"," }"," if(this._strokeNode)"," {"," this.node.removeChild(this._strokeNode);"," this._strokeNode = null;"," }"," Y.one(this.node).remove(true);"," }"," }","}, Y.VMLDrawing.prototype));","","VMLShape.ATTRS = {"," /**"," * An array of x, y values which indicates the transformOrigin in which to rotate the shape. Valid values range between 0 and 1 representing a"," * fraction of the shape's corresponding bounding box dimension. The default value is [0.5, 0.5]."," *"," * @config transformOrigin"," * @type Array"," */"," transformOrigin: {"," valueFn: function()"," {"," return [0.5, 0.5];"," }"," },",""," /**"," *

A string containing, in order, transform operations applied to the shape instance. The `transform` string can contain the following values:"," *"," *

"," *
rotate
Rotates the shape clockwise around it transformOrigin.
"," *
translate
Specifies a 2d translation.
"," *
skew
Skews the shape around the x-axis and y-axis.
"," *
scale
Specifies a 2d scaling operation.
"," *
translateX
Translates the shape along the x-axis.
"," *
translateY
Translates the shape along the y-axis.
"," *
skewX
Skews the shape around the x-axis.
"," *
skewY
Skews the shape around the y-axis.
"," *
matrix
Specifies a 2D transformation matrix comprised of the specified six values.
"," *
"," *

"," *

Applying transforms through the transform attribute will reset the transform matrix and apply a new transform. The shape class also contains"," * corresponding methods for each transform that will apply the transform to the current matrix. The below code illustrates how you might use the"," * `transform` attribute to instantiate a recangle with a rotation of 45 degrees.

"," var myRect = new Y.Rect({"," type:\"rect\","," width: 50,"," height: 40,"," transform: \"rotate(45)\""," };"," *

The code below would apply `translate` and `rotate` to an existing shape.

",""," myRect.set(\"transform\", \"translate(40, 50) rotate(45)\");"," * @config transform"," * @type String"," */"," transform: {"," setter: function(val)"," {"," var i,"," len,"," transform;"," this.matrix.init();"," this._normalizedMatrix.init();"," this._transforms = this.matrix.getTransformArray(val);"," len = this._transforms.length;"," for(i = 0;i < len; ++i)"," {"," transform = this._transforms[i];"," }"," this._transform = val;"," return val;"," },",""," getter: function()"," {"," return this._transform;"," }"," },",""," /**"," * Indicates the x position of shape."," *"," * @config x"," * @type Number"," */"," x: {"," value: 0"," },",""," /**"," * Indicates the y position of shape."," *"," * @config y"," * @type Number"," */"," y: {"," value: 0"," },",""," /**"," * Unique id for class instance."," *"," * @config id"," * @type String"," */"," id: {"," valueFn: function()"," {"," return Y.guid();"," },",""," setter: function(val)"," {"," var node = this.node;"," if(node)"," {"," node.setAttribute(\"id\", val);"," }"," return val;"," }"," },",""," /**"," *"," * @config width"," */"," width: {"," value: 0"," },",""," /**"," *"," * @config height"," */"," height: {"," value: 0"," },",""," /**"," * Indicates whether the shape is visible."," *"," * @config visible"," * @type Boolean"," */"," visible: {"," value: true,",""," setter: function(val){"," var node = this.node,"," visibility = val ? \"visible\" : \"hidden\";"," if(node)"," {"," node.style.visibility = visibility;"," }"," return val;"," }"," },",""," /**"," * Contains information about the fill of the shape."," *
"," *
color
The color of the fill.
"," *
opacity
Number between 0 and 1 that indicates the opacity of the fill. The default value is 1.
"," *
type
Type of fill."," *
"," *
solid
Solid single color fill. (default)
"," *
linear
Linear gradient fill.
"," *
radial
Radial gradient fill.
"," *
"," *
"," *
"," *

If a `linear` or `radial` is specified as the fill type. The following additional property is used:"," *

"," *
stops
An array of objects containing the following properties:"," *
"," *
color
The color of the stop.
"," *
opacity
Number between 0 and 1 that indicates the opacity of the stop. The default value is 1."," * Note: No effect for IE 6 - 8
"," *
offset
Number between 0 and 1 indicating where the color stop is positioned.
"," *
"," *
"," *

Linear gradients also have the following property:

"," *
rotation
Linear gradients flow left to right by default. The rotation property allows you to change the"," * flow by rotation. (e.g. A rotation of 180 would make the gradient pain from right to left.)
"," *

Radial gradients have the following additional properties:

"," *
r
Radius of the gradient circle.
"," *
fx
Focal point x-coordinate of the gradient.
"," *
fy
Focal point y-coordinate of the gradient.
"," *
"," *

The corresponding `SVGShape` class implements the following additional properties.

"," *
"," *
cx
"," *

The x-coordinate of the center of the gradient circle. Determines where the color stop begins. The default value 0.5.

"," *

Note: Currently, this property is not implemented for corresponding `CanvasShape` and"," * `VMLShape` classes which are used on Android or IE 6 - 8.

"," *
"," *
cy
"," *

The y-coordinate of the center of the gradient circle. Determines where the color stop begins. The default value 0.5.

"," *

Note: Currently, this property is not implemented for corresponding `CanvasShape` and `VMLShape`"," * classes which are used on Android or IE 6 - 8.

"," *
"," *
"," *

These properties are not currently implemented in `CanvasShape` or `VMLShape`.

"," *"," * @config fill"," * @type Object"," */"," fill: {"," valueFn: \"_getDefaultFill\",",""," setter: function(val)"," {"," var i,"," fill,"," tmpl = this.get(\"fill\") || this._getDefaultFill();",""," if(val)"," {"," //ensure, fill type is solid if color is explicitly passed."," if(val.hasOwnProperty(\"color\"))"," {"," val.type = \"solid\";"," }"," for(i in val)"," {"," if(val.hasOwnProperty(i))"," {"," tmpl[i] = val[i];"," }"," }"," }"," fill = tmpl;"," if(fill && fill.color)"," {"," if(fill.color === undefined || fill.color == \"none\")"," {"," fill.color = null;"," }"," }"," this._fillFlag = true;"," return fill;"," }"," },",""," /**"," * Contains information about the stroke of the shape."," *
"," *
color
The color of the stroke.
"," *
weight
Number that indicates the width of the stroke.
"," *
opacity
Number between 0 and 1 that indicates the opacity of the stroke. The default value is 1.
"," *
dashstyle
Indicates whether to draw a dashed stroke. When set to \"none\", a solid stroke is drawn. When set"," * to an array, the first index indicates the length of the dash. The second index indicates the length of gap."," *
linecap
Specifies the linecap for the stroke. The following values can be specified:"," *
"," *
butt (default)
Specifies a butt linecap.
"," *
square
Specifies a sqare linecap.
"," *
round
Specifies a round linecap.
"," *
"," *
"," *
linejoin
Specifies a linejoin for the stroke. The following values can be specified:"," *
"," *
round (default)
Specifies that the linejoin will be round.
"," *
bevel
Specifies a bevel for the linejoin.
"," *
miter limit
An integer specifying the miter limit of a miter linejoin. If you want to specify a linejoin"," * of miter, you simply specify the limit as opposed to having separate miter and miter limit values.
"," *
"," *
"," *
"," *"," * @config stroke"," * @type Object"," */"," stroke: {"," valueFn: \"_getDefaultStroke\",",""," setter: function(val)"," {"," var i,"," stroke,"," wt,"," tmpl = this.get(\"stroke\") || this._getDefaultStroke();"," if(val)"," {"," if(val.hasOwnProperty(\"weight\"))"," {"," wt = parseInt(val.weight, 10);"," if(!isNaN(wt))"," {"," val.weight = wt;"," }"," }"," for(i in val)"," {"," if(val.hasOwnProperty(i))"," {"," tmpl[i] = val[i];"," }"," }"," }"," stroke = tmpl;"," this._strokeFlag = true;"," return stroke;"," }"," },",""," //Not used. Remove in future."," autoSize: {"," value: false"," },",""," // Only implemented in SVG"," // Determines whether the instance will receive mouse events."," //"," // @config pointerEvents"," // @type string"," //"," pointerEvents: {"," value: \"visiblePainted\""," },",""," /**"," * Dom node for the shape."," *"," * @config node"," * @type HTMLElement"," * @readOnly"," */"," node: {"," readOnly: true,",""," getter: function()"," {"," return this.node;"," }"," },",""," /**"," * Represents an SVG Path string. This will be parsed and added to shape's API to represent the SVG data across all"," * implementations. Note that when using VML or SVG implementations, part of this content will be added to the DOM using"," * respective VML/SVG attributes. If your content comes from an untrusted source, you will need to ensure that no"," * malicious code is included in that content."," *"," * @config data"," * @type String"," */"," data: {"," setter: function(val)"," {"," if(this.get(\"node\"))"," {"," this._parsePathData(val);"," }"," return val;"," }"," },",""," /**"," * Reference to the container Graphic."," *"," * @config graphic"," * @type Graphic"," */"," graphic: {"," readOnly: true,",""," getter: function()"," {"," return this._graphic;"," }"," }","};","Y.VMLShape = VMLShape;","/**"," * VML implementation of the `Path` class."," * `VMLPath` is not intended to be used directly. Instead, use the `Path` class."," * If the browser lacks SVG and Canvas"," * capabilities, the `Path` class will point to the `VMLPath` class."," *"," * @module graphics"," * @class VMLPath"," * @extends VMLShape"," */","VMLPath = function()","{"," VMLPath.superclass.constructor.apply(this, arguments);","};","","VMLPath.NAME = \"path\";","Y.extend(VMLPath, Y.VMLShape);","VMLPath.ATTRS = Y.merge(Y.VMLShape.ATTRS, {"," /**"," * Indicates the width of the shape"," *"," * @config width"," * @type Number"," */"," width: {"," getter: function()"," {"," var val = Math.max(this._right - this._left, 0);"," return val;"," }"," },",""," /**"," * Indicates the height of the shape"," *"," * @config height"," * @type Number"," */"," height: {"," getter: function()"," {"," return Math.max(this._bottom - this._top, 0);"," }"," },",""," /**"," * Indicates the path used for the node."," *"," * @config path"," * @type String"," * @readOnly"," */"," path: {"," readOnly: true,",""," getter: function()"," {"," return this._path;"," }"," }","});","Y.VMLPath = VMLPath;","/**"," * VML implementation of the `Rect` class."," * `VMLRect` is not intended to be used directly. Instead, use the `Rect` class."," * If the browser lacks SVG and Canvas"," * capabilities, the `Rect` class will point to the `VMLRect` class."," *"," * @module graphics"," * @class VMLRect"," * @constructor"," */","VMLRect = function()","{"," VMLRect.superclass.constructor.apply(this, arguments);","};","VMLRect.NAME = \"rect\";","Y.extend(VMLRect, Y.VMLShape, {"," /**"," * Indicates the type of shape"," *"," * @property _type"," * @type String"," * @private"," */"," _type: \"rect\"","});","VMLRect.ATTRS = Y.VMLShape.ATTRS;","Y.VMLRect = VMLRect;","/**"," * VML implementation of the `Ellipse` class."," * `VMLEllipse` is not intended to be used directly. Instead, use the `Ellipse` class."," * If the browser lacks SVG and Canvas"," * capabilities, the `Ellipse` class will point to the `VMLEllipse` class."," *"," * @module graphics"," * @class VMLEllipse"," * @constructor"," */","VMLEllipse = function()","{"," VMLEllipse.superclass.constructor.apply(this, arguments);","};","","VMLEllipse.NAME = \"ellipse\";","","Y.extend(VMLEllipse, Y.VMLShape, {"," /**"," * Indicates the type of shape"," *"," * @property _type"," * @type String"," * @private"," */"," _type: \"oval\"","});","VMLEllipse.ATTRS = Y.merge(Y.VMLShape.ATTRS, {"," /**"," * Horizontal radius for the ellipse."," *"," * @config xRadius"," * @type Number"," */"," xRadius: {"," lazyAdd: false,",""," getter: function()"," {"," var val = this.get(\"width\");"," val = Math.round((val/2) * 100)/100;"," return val;"," },",""," setter: function(val)"," {"," var w = val * 2;"," this.set(\"width\", w);"," return val;"," }"," },",""," /**"," * Vertical radius for the ellipse."," *"," * @config yRadius"," * @type Number"," * @readOnly"," */"," yRadius: {"," lazyAdd: false,",""," getter: function()"," {"," var val = this.get(\"height\");"," val = Math.round((val/2) * 100)/100;"," return val;"," },",""," setter: function(val)"," {"," var h = val * 2;"," this.set(\"height\", h);"," return val;"," }"," }","});","Y.VMLEllipse = VMLEllipse;","/**"," * VML implementation of the `Circle` class."," * `VMLCircle` is not intended to be used directly. Instead, use the `Circle` class."," * If the browser lacks SVG and Canvas"," * capabilities, the `Circle` class will point to the `VMLCircle` class."," *"," * @module graphics"," * @class VMLCircle"," * @constructor"," */","VMLCircle = function(cfg)","{"," VMLCircle.superclass.constructor.apply(this, arguments);","};","","VMLCircle.NAME = \"circle\";","","Y.extend(VMLCircle, VMLShape, {"," /**"," * Indicates the type of shape"," *"," * @property _type"," * @type String"," * @private"," */"," _type: \"oval\"","});","","VMLCircle.ATTRS = Y.merge(VMLShape.ATTRS, {"," /**"," * Radius for the circle."," *"," * @config radius"," * @type Number"," */"," radius: {"," lazyAdd: false,",""," value: 0"," },",""," /**"," * Indicates the width of the shape"," *"," * @config width"," * @type Number"," */"," width: {"," setter: function(val)"," {"," this.set(\"radius\", val/2);"," return val;"," },",""," getter: function()"," {"," var radius = this.get(\"radius\"),"," val = radius && radius > 0 ? radius * 2 : 0;"," return val;"," }"," },",""," /**"," * Indicates the height of the shape"," *"," * @config height"," * @type Number"," */"," height: {"," setter: function(val)"," {"," this.set(\"radius\", val/2);"," return val;"," },",""," getter: function()"," {"," var radius = this.get(\"radius\"),"," val = radius && radius > 0 ? radius * 2 : 0;"," return val;"," }"," }","});","Y.VMLCircle = VMLCircle;","/**"," * Draws pie slices"," *"," * @module graphics"," * @class VMLPieSlice"," * @constructor"," */","VMLPieSlice = function()","{"," VMLPieSlice.superclass.constructor.apply(this, arguments);","};","VMLPieSlice.NAME = \"vmlPieSlice\";","Y.extend(VMLPieSlice, Y.VMLShape, Y.mix({"," /**"," * Indicates the type of shape"," *"," * @property _type"," * @type String"," * @private"," */"," _type: \"shape\",",""," /**"," * Change event listener"," *"," * @private"," * @method _updateHandler"," */"," _draw: function(e)"," {"," var x = this.get(\"cx\"),"," y = this.get(\"cy\"),"," startAngle = this.get(\"startAngle\"),"," arc = this.get(\"arc\"),"," radius = this.get(\"radius\");"," this.clear();"," this.drawWedge(x, y, startAngle, arc, radius);"," this.end();"," }"," }, Y.VMLDrawing.prototype));","VMLPieSlice.ATTRS = Y.mix({"," cx: {"," value: 0"," },",""," cy: {"," value: 0"," },"," /**"," * Starting angle in relation to a circle in which to begin the pie slice drawing."," *"," * @config startAngle"," * @type Number"," */"," startAngle: {"," value: 0"," },",""," /**"," * Arc of the slice."," *"," * @config arc"," * @type Number"," */"," arc: {"," value: 0"," },",""," /**"," * Radius of the circle in which the pie slice is drawn"," *"," * @config radius"," * @type Number"," */"," radius: {"," value: 0"," }","}, Y.VMLShape.ATTRS);","Y.VMLPieSlice = VMLPieSlice;","/**"," * VML implementation of the `Graphic` class."," * `VMLGraphic` is not intended to be used directly. Instead, use the `Graphic` class."," * If the browser lacks SVG and Canvas"," * capabilities, the `Graphic` class will point to the `VMLGraphic` class."," *"," * @module graphics"," * @class VMLGraphic"," * @constructor"," */","VMLGraphic = function() {"," VMLGraphic.superclass.constructor.apply(this, arguments);","};","","VMLGraphic.NAME = \"vmlGraphic\";","","VMLGraphic.ATTRS = {"," /**"," * Whether or not to render the `Graphic` automatically after to a specified parent node after init. This can be a Node"," * instance or a CSS selector string."," *"," * @config render"," * @type Node | String"," */"," render: {},",""," /**"," * Unique id for class instance."," *"," * @config id"," * @type String"," */"," id: {"," valueFn: function()"," {"," return Y.guid();"," },",""," setter: function(val)"," {"," var node = this._node;"," if(node)"," {"," node.setAttribute(\"id\", val);"," }"," return val;"," }"," },",""," /**"," * Key value pairs in which a shape instance is associated with its id."," *"," * @config shapes"," * @type Object"," * @readOnly"," */"," shapes: {"," readOnly: true,",""," getter: function()"," {"," return this._shapes;"," }"," },",""," /**"," * Object containing size and coordinate data for the content of a Graphic in relation to the coordSpace node."," *"," * @config contentBounds"," * @type Object"," */"," contentBounds: {"," readOnly: true,",""," getter: function()"," {"," return this._contentBounds;"," }"," },",""," /**"," * The html element that represents to coordinate system of the Graphic instance."," *"," * @config node"," * @type HTMLElement"," */"," node: {"," readOnly: true,",""," getter: function()"," {"," return this._node;"," }"," },",""," /**"," * Indicates the width of the `Graphic`."," *"," * @config width"," * @type Number"," */"," width: {"," setter: function(val)"," {"," if(this._node)"," {"," this._node.style.width = val + \"px\";"," }"," return val;"," }"," },",""," /**"," * Indicates the height of the `Graphic`."," *"," * @config height"," * @type Number"," */"," height: {"," setter: function(val)"," {"," if(this._node)"," {"," this._node.style.height = val + \"px\";"," }"," return val;"," }"," },",""," /**"," * Determines the sizing of the Graphic."," *"," *
"," *
sizeContentToGraphic
The Graphic's width and height attributes are, either explicitly set through the"," * width and height attributes or are determined by the dimensions of the parent element. The"," * content contained in the Graphic will be sized to fit with in the Graphic instance's dimensions. When using this"," * setting, the preserveAspectRatio attribute will determine how the contents are sized.
"," *
sizeGraphicToContent
(Also accepts a value of true) The Graphic's width and height are determined by the"," * size and positioning of the content.
"," *
false
The Graphic's width and height attributes are, either explicitly set through the width"," * and height attributes or are determined by the dimensions of the parent element. The contents of the"," * Graphic instance are not affected by this setting.
"," *
"," *"," *"," * @config autoSize"," * @type Boolean | String"," * @default false"," */"," autoSize: {"," value: false"," },",""," /**"," * Determines how content is sized when autoSize is set to sizeContentToGraphic."," *"," *
"," *
none
Do not force uniform scaling. Scale the graphic content of the given element non-uniformly if necessary"," * such that the element's bounding box exactly matches the viewport rectangle.
"," *
xMinYMin
Force uniform scaling position along the top left of the Graphic's node.
"," *
xMidYMin
Force uniform scaling horizontally centered and positioned at the top of the Graphic's node.
"," *
xMaxYMin
Force uniform scaling positioned horizontally from the right and vertically from the top.
"," *
xMinYMid
Force uniform scaling positioned horizontally from the left and vertically centered."," *
xMidYMid (the default)
Force uniform scaling with the content centered.
"," *
xMaxYMid
Force uniform scaling positioned horizontally from the right and vertically centered.
"," *
xMinYMax
Force uniform scaling positioned horizontally from the left and vertically from the bottom.
"," *
xMidYMax
Force uniform scaling horizontally centered and position vertically from the bottom.
"," *
xMaxYMax
Force uniform scaling positioned horizontally from the right and vertically from the bottom.
"," *
"," *"," * @config preserveAspectRatio"," * @type String"," * @default xMidYMid"," */"," preserveAspectRatio: {"," value: \"xMidYMid\""," },",""," /**"," * The contentBounds will resize to greater values but not values. (for performance)"," * When resizing the contentBounds down is desirable, set the resizeDown value to true."," *"," * @config resizeDown"," * @type Boolean"," */"," resizeDown: {"," resizeDown: false"," },",""," /**"," * Indicates the x-coordinate for the instance."," *"," * @config x"," * @type Number"," */"," x: {"," getter: function()"," {"," return this._x;"," },",""," setter: function(val)"," {"," this._x = val;"," if(this._node)"," {"," this._node.style.left = val + \"px\";"," }"," return val;"," }"," },",""," /**"," * Indicates the y-coordinate for the instance."," *"," * @config y"," * @type Number"," */"," y: {"," getter: function()"," {"," return this._y;"," },",""," setter: function(val)"," {"," this._y = val;"," if(this._node)"," {"," this._node.style.top = val + \"px\";"," }"," return val;"," }"," },",""," /**"," * Indicates whether or not the instance will automatically redraw after a change is made to a shape."," * This property will get set to false when batching operations."," *"," * @config autoDraw"," * @type Boolean"," * @default true"," * @private"," */"," autoDraw: {"," value: true"," },",""," visible: {"," value: true,",""," setter: function(val)"," {"," this._toggleVisible(val);"," return val;"," }"," }","};","","Y.extend(VMLGraphic, Y.GraphicBase, {"," /**"," * Sets the value of an attribute."," *"," * @method set"," * @param {String|Object} name The name of the attribute. Alternatively, an object of key value pairs can"," * be passed in to set multiple attributes at once."," * @param {Any} value The value to set the attribute to. This value is ignored if an object is received as"," * the name param."," */"," set: function(attr, value)"," {"," var host = this,"," redrawAttrs = {"," autoDraw: true,"," autoSize: true,"," preserveAspectRatio: true,"," resizeDown: true"," },"," key,"," forceRedraw = false;"," AttributeLite.prototype.set.apply(host, arguments);"," if(host._state.autoDraw === true && Y.Object.size(this._shapes) > 0)"," {"," if(Y_LANG.isString && redrawAttrs[attr])"," {"," forceRedraw = true;"," }"," else if(Y_LANG.isObject(attr))"," {"," for(key in redrawAttrs)"," {"," if(redrawAttrs.hasOwnProperty(key) && attr[key])"," {"," forceRedraw = true;"," break;"," }"," }"," }"," }"," if(forceRedraw)"," {"," host._redraw();"," }"," },",""," /**"," * Storage for `x` attribute."," *"," * @property _x"," * @type Number"," * @private"," */"," _x: 0,",""," /**"," * Storage for `y` attribute."," *"," * @property _y"," * @type Number"," * @private"," */"," _y: 0,",""," /**"," * Gets the current position of the graphic instance in page coordinates."," *"," * @method getXY"," * @return Array The XY position of the shape."," */"," getXY: function()"," {"," var node = this.parentNode,"," x = this.get(\"x\"),"," y = this.get(\"y\"),"," xy;"," if(node)"," {"," xy = Y.one(node).getXY();"," xy[0] += x;"," xy[1] += y;"," }"," else"," {"," xy = Y.DOM._getOffset(this._node);"," }"," return xy;"," },",""," /**"," * Initializes the class."," *"," * @method initializer"," * @private"," */"," initializer: function(config) {"," var render = this.get(\"render\"),"," visibility = this.get(\"visible\") ? \"visible\" : \"hidden\";"," this._shapes = {};"," this._contentBounds = {"," left: 0,"," top: 0,"," right: 0,"," bottom: 0"," };"," this._node = this._createGraphic();"," this._node.style.left = this.get(\"x\") + \"px\";"," this._node.style.top = this.get(\"y\") + \"px\";"," this._node.style.visibility = visibility;"," this._node.setAttribute(\"id\", this.get(\"id\"));"," if(render)"," {"," this.render(render);"," }"," },",""," /**"," * Adds the graphics node to the dom."," *"," * @method render"," * @param {HTMLElement} parentNode node in which to render the graphics node into."," */"," render: function(render) {"," var parentNode = Y.one(render),"," w = this.get(\"width\") || parseInt(parentNode.getComputedStyle(\"width\"), 10),"," h = this.get(\"height\") || parseInt(parentNode.getComputedStyle(\"height\"), 10);"," parentNode = parentNode || DOCUMENT.body;"," parentNode.appendChild(this._node);"," this.parentNode = parentNode;"," this.set(\"width\", w);"," this.set(\"height\", h);"," return this;"," },",""," /**"," * Removes all nodes."," *"," * @method destroy"," */"," destroy: function()"," {"," this.clear();"," Y.one(this._node).remove(true);"," },",""," /**"," * Generates a shape instance by type."," *"," * @method addShape"," * @param {Object} cfg attributes for the shape"," * @return Shape"," */"," addShape: function(cfg)"," {"," cfg.graphic = this;"," if(!this.get(\"visible\"))"," {"," cfg.visible = false;"," }"," var shapeClass = this._getShapeClass(cfg.type),"," shape = new shapeClass(cfg);"," this._appendShape(shape);"," shape._appendStrokeAndFill();"," return shape;"," },",""," /**"," * Adds a shape instance to the graphic instance."," *"," * @method _appendShape"," * @param {Shape} shape The shape instance to be added to the graphic."," * @private"," */"," _appendShape: function(shape)"," {"," var node = shape.node,"," parentNode = this._frag || this._node;"," if(this.get(\"autoDraw\") || this.get(\"autoSize\") == \"sizeContentToGraphic\")"," {"," parentNode.appendChild(node);"," }"," else"," {"," this._getDocFrag().appendChild(node);"," }"," },",""," /**"," * Removes a shape instance from from the graphic instance."," *"," * @method removeShape"," * @param {Shape|String} shape The instance or id of the shape to be removed."," */"," removeShape: function(shape)"," {"," if(!(shape instanceof VMLShape))"," {"," if(Y_LANG.isString(shape))"," {"," shape = this._shapes[shape];"," }"," }"," if(shape && (shape instanceof VMLShape))"," {"," shape._destroy();"," this._shapes[shape.get(\"id\")] = null;"," delete this._shapes[shape.get(\"id\")];"," }"," if(this.get(\"autoDraw\"))"," {"," this._redraw();"," }"," },",""," /**"," * Removes all shape instances from the dom."," *"," * @method removeAllShapes"," */"," removeAllShapes: function()"," {"," var shapes = this._shapes,"," i;"," for(i in shapes)"," {"," if(shapes.hasOwnProperty(i))"," {"," shapes[i].destroy();"," }"," }"," this._shapes = {};"," },",""," /**"," * Removes all child nodes."," *"," * @method _removeChildren"," * @param node"," * @private"," */"," _removeChildren: function(node)"," {"," if(node.hasChildNodes())"," {"," var child;"," while(node.firstChild)"," {"," child = node.firstChild;"," this._removeChildren(child);"," node.removeChild(child);"," }"," }"," },",""," /**"," * Clears the graphics object."," *"," * @method clear"," */"," clear: function() {"," this.removeAllShapes();"," this._removeChildren(this._node);"," },",""," /**"," * Toggles visibility"," *"," * @method _toggleVisible"," * @param {Boolean} val indicates visibilitye"," * @private"," */"," _toggleVisible: function(val)"," {"," var i,"," shapes = this._shapes,"," visibility = val ? \"visible\" : \"hidden\";"," if(shapes)"," {"," for(i in shapes)"," {"," if(shapes.hasOwnProperty(i))"," {"," shapes[i].set(\"visible\", val);"," }"," }"," }"," if(this._node)"," {"," this._node.style.visibility = visibility;"," }"," if(this._node)"," {"," this._node.style.visibility = visibility;"," }"," },",""," /**"," * Sets the size of the graphics object."," *"," * @method setSize"," * @param w {Number} width to set for the instance."," * @param h {Number} height to set for the instance."," */"," setSize: function(w, h) {"," w = Math.round(w);"," h = Math.round(h);"," this._node.style.width = w + 'px';"," this._node.style.height = h + 'px';"," },",""," /**"," * Sets the positon of the graphics object."," *"," * @method setPosition"," * @param {Number} x x-coordinate for the object."," * @param {Number} y y-coordinate for the object."," */"," setPosition: function(x, y)"," {"," x = Math.round(x);"," y = Math.round(y);"," this._node.style.left = x + \"px\";"," this._node.style.top = y + \"px\";"," },",""," /**"," * Creates a group element"," *"," * @method _createGraphic"," * @private"," */"," _createGraphic: function() {"," var group = DOCUMENT.createElement('');"," return group;"," },",""," /**"," * Creates a graphic node"," *"," * @method _createGraphicNode"," * @param {String} type node type to create"," * @param {String} pe specified pointer-events value"," * @return HTMLElement"," * @private"," */"," _createGraphicNode: function(type)"," {"," return DOCUMENT.createElement('<' + type + ' xmlns=\"urn:schemas-microsft.com:vml\" style=\"behavior:url(#default#VML);display:inline-block;zoom:1;\" />');",""," },",""," /**"," * Returns a shape based on the id of its dom node."," *"," * @method getShapeById"," * @param {String} id Dom id of the shape's node attribute."," * @return Shape"," */"," getShapeById: function(id)"," {"," return this._shapes[id];"," },",""," /**"," * Returns a shape class. Used by `addShape`."," *"," * @method _getShapeClass"," * @param {Shape | String} val Indicates which shape class."," * @return Function"," * @private"," */"," _getShapeClass: function(val)"," {"," var shape = this._shapeClass[val];"," if(shape)"," {"," return shape;"," }"," return val;"," },",""," /**"," * Look up for shape classes. Used by `addShape` to retrieve a class for instantiation."," *"," * @property _shapeClass"," * @type Object"," * @private"," */"," _shapeClass: {"," circle: Y.VMLCircle,"," rect: Y.VMLRect,"," path: Y.VMLPath,"," ellipse: Y.VMLEllipse,"," pieslice: Y.VMLPieSlice"," },",""," /**"," * Allows for creating multiple shapes in order to batch appending and redraw operations."," *"," * @method batch"," * @param {Function} method Method to execute."," */"," batch: function(method)"," {"," var autoDraw = this.get(\"autoDraw\");"," this.set(\"autoDraw\", false);"," method.apply();"," this.set(\"autoDraw\", autoDraw);"," },",""," /**"," * Returns a document fragment to for attaching shapes."," *"," * @method _getDocFrag"," * @return DocumentFragment"," * @private"," */"," _getDocFrag: function()"," {"," if(!this._frag)"," {"," this._frag = DOCUMENT.createDocumentFragment();"," }"," return this._frag;"," },",""," /**"," * Adds a shape to the redraw queue and calculates the contentBounds."," *"," * @method addToRedrawQueue"," * @param shape {VMLShape}"," * @protected"," */"," addToRedrawQueue: function(shape)"," {"," var shapeBox,"," box;"," this._shapes[shape.get(\"id\")] = shape;"," if(!this.get(\"resizeDown\"))"," {"," shapeBox = shape.getBounds();"," box = this._contentBounds;"," box.left = box.left < shapeBox.left ? box.left : shapeBox.left;"," box.top = box.top < shapeBox.top ? box.top : shapeBox.top;"," box.right = box.right > shapeBox.right ? box.right : shapeBox.right;"," box.bottom = box.bottom > shapeBox.bottom ? box.bottom : shapeBox.bottom;"," box.width = box.right - box.left;"," box.height = box.bottom - box.top;"," this._contentBounds = box;"," }"," if(this.get(\"autoDraw\"))"," {"," this._redraw();"," }"," },",""," /**"," * Redraws all shapes."," *"," * @method _redraw"," * @private"," */"," _redraw: function()"," {"," var autoSize = this.get(\"autoSize\"),"," preserveAspectRatio,"," node = this.parentNode,"," nodeWidth = parseFloat(node.getComputedStyle(\"width\")),"," nodeHeight = parseFloat(node.getComputedStyle(\"height\")),"," xCoordOrigin = 0,"," yCoordOrigin = 0,"," box = this.get(\"resizeDown\") ? this._getUpdatedContentBounds() : this._contentBounds,"," left = box.left,"," right = box.right,"," top = box.top,"," bottom = box.bottom,"," contentWidth = right - left,"," contentHeight = bottom - top,"," aspectRatio,"," xCoordSize,"," yCoordSize,"," scaledWidth,"," scaledHeight,"," visible = this.get(\"visible\");"," this._node.style.visibility = \"hidden\";"," if(autoSize)"," {"," if(autoSize == \"sizeContentToGraphic\")"," {"," preserveAspectRatio = this.get(\"preserveAspectRatio\");"," if(preserveAspectRatio == \"none\" || contentWidth/contentHeight === nodeWidth/nodeHeight)"," {"," xCoordOrigin = left;"," yCoordOrigin = top;"," xCoordSize = contentWidth;"," yCoordSize = contentHeight;"," }"," else"," {"," if(contentWidth * nodeHeight/contentHeight > nodeWidth)"," {"," aspectRatio = nodeHeight/nodeWidth;"," xCoordSize = contentWidth;"," yCoordSize = contentWidth * aspectRatio;"," scaledHeight = (nodeWidth * (contentHeight/contentWidth)) * (yCoordSize/nodeHeight);"," yCoordOrigin = this._calculateCoordOrigin(preserveAspectRatio.slice(5).toLowerCase(), scaledHeight, yCoordSize);"," yCoordOrigin = top + yCoordOrigin;"," xCoordOrigin = left;"," }"," else"," {"," aspectRatio = nodeWidth/nodeHeight;"," xCoordSize = contentHeight * aspectRatio;"," yCoordSize = contentHeight;"," scaledWidth = (nodeHeight * (contentWidth/contentHeight)) * (xCoordSize/nodeWidth);"," xCoordOrigin = this._calculateCoordOrigin(preserveAspectRatio.slice(1, 4).toLowerCase(), scaledWidth, xCoordSize);"," xCoordOrigin = xCoordOrigin + left;"," yCoordOrigin = top;"," }"," }"," this._node.style.width = nodeWidth + \"px\";"," this._node.style.height = nodeHeight + \"px\";"," this._node.coordOrigin = xCoordOrigin + \", \" + yCoordOrigin;"," }"," else"," {"," xCoordSize = contentWidth;"," yCoordSize = contentHeight;"," this._node.style.width = contentWidth + \"px\";"," this._node.style.height = contentHeight + \"px\";"," this._state.width = contentWidth;"," this._state.height = contentHeight;",""," }"," this._node.coordSize = xCoordSize + \", \" + yCoordSize;"," }"," else"," {"," this._node.style.width = nodeWidth + \"px\";"," this._node.style.height = nodeHeight + \"px\";"," this._node.coordSize = nodeWidth + \", \" + nodeHeight;"," }"," if(this._frag)"," {"," this._node.appendChild(this._frag);"," this._frag = null;"," }"," if(visible)"," {"," this._node.style.visibility = \"visible\";"," }"," },",""," /**"," * Determines the value for either an x or y coordinate to be used for the coordOrigin of the Graphic."," *"," * @method _calculateCoordOrigin"," * @param {String} position The position for placement. Possible values are min, mid and max."," * @param {Number} size The total scaled size of the content."," * @param {Number} coordsSize The coordsSize for the Graphic."," * @return Number"," * @private"," */"," _calculateCoordOrigin: function(position, size, coordsSize)"," {"," var coord;"," switch(position)"," {"," case \"min\" :"," coord = 0;"," break;"," case \"mid\" :"," coord = (size - coordsSize)/2;"," break;"," case \"max\" :"," coord = (size - coordsSize);"," break;"," }"," return coord;"," },",""," /**"," * Recalculates and returns the `contentBounds` for the `Graphic` instance."," *"," * @method _getUpdatedContentBounds"," * @return {Object}"," * @private"," */"," _getUpdatedContentBounds: function()"," {"," var bounds,"," i,"," shape,"," queue = this._shapes,"," box = {};"," for(i in queue)"," {"," if(queue.hasOwnProperty(i))"," {"," shape = queue[i];"," bounds = shape.getBounds();"," box.left = Y_LANG.isNumber(box.left) ? Math.min(box.left, bounds.left) : bounds.left;"," box.top = Y_LANG.isNumber(box.top) ? Math.min(box.top, bounds.top) : bounds.top;"," box.right = Y_LANG.isNumber(box.right) ? Math.max(box.right, bounds.right) : bounds.right;"," box.bottom = Y_LANG.isNumber(box.bottom) ? Math.max(box.bottom, bounds.bottom) : bounds.bottom;"," }"," }"," box.left = Y_LANG.isNumber(box.left) ? box.left : 0;"," box.top = Y_LANG.isNumber(box.top) ? box.top : 0;"," box.right = Y_LANG.isNumber(box.right) ? box.right : 0;"," box.bottom = Y_LANG.isNumber(box.bottom) ? box.bottom : 0;"," this._contentBounds = box;"," return box;"," },",""," /**"," * Inserts shape on the top of the tree."," *"," * @method _toFront"," * @param {VMLShape} Shape to add."," * @private"," */"," _toFront: function(shape)"," {"," var contentNode = this._node;"," if(shape instanceof Y.VMLShape)"," {"," shape = shape.get(\"node\");"," }"," if(contentNode && shape)"," {"," contentNode.appendChild(shape);"," }"," },",""," /**"," * Inserts shape as the first child of the content node."," *"," * @method _toBack"," * @param {VMLShape} Shape to add."," * @private"," */"," _toBack: function(shape)"," {"," var contentNode = this._node,"," targetNode;"," if(shape instanceof Y.VMLShape)"," {"," shape = shape.get(\"node\");"," }"," if(contentNode && shape)"," {"," targetNode = contentNode.firstChild;"," if(targetNode)"," {"," contentNode.insertBefore(shape, targetNode);"," }"," else"," {"," contentNode.appendChild(shape);"," }"," }"," }","});","Y.VMLGraphic = VMLGraphic;","","","","}, '3.9.0', {\"requires\": [\"graphics\"]});"]; -_yuitest_coverage["build/graphics-vml/graphics-vml.js"].lines = {"1":0,"3":0,"24":0,"36":0,"76":0,"88":0,"89":0,"91":0,"92":0,"94":0,"128":0,"129":0,"145":0,"146":0,"158":0,"177":0,"178":0,"179":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"189":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"209":0,"223":0,"224":0,"238":0,"239":0,"251":0,"266":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"283":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":0,"320":0,"321":0,"322":0,"323":0,"324":0,"325":0,"326":0,"327":0,"328":0,"329":0,"343":0,"347":0,"348":0,"349":0,"350":0,"351":0,"352":0,"367":0,"371":0,"372":0,"373":0,"374":0,"375":0,"376":0,"392":0,"394":0,"395":0,"396":0,"397":0,"398":0,"399":0,"417":0,"418":0,"420":0,"422":0,"423":0,"424":0,"425":0,"426":0,"427":0,"428":0,"429":0,"430":0,"431":0,"444":0,"445":0,"458":0,"459":0,"471":0,"479":0,"480":0,"481":0,"482":0,"483":0,"484":0,"485":0,"486":0,"487":0,"488":0,"489":0,"494":0,"495":0,"496":0,"497":0,"498":0,"499":0,"500":0,"501":0,"502":0,"503":0,"506":0,"507":0,"520":0,"521":0,"534":0,"535":0,"547":0,"552":0,"553":0,"554":0,"555":0,"556":0,"557":0,"568":0,"576":0,"577":0,"578":0,"580":0,"582":0,"584":0,"586":0,"589":0,"591":0,"593":0,"595":0,"596":0,"597":0,"598":0,"599":0,"601":0,"602":0,"603":0,"614":0,"615":0,"626":0,"627":0,"638":0,"639":0,"640":0,"641":0,"642":0,"643":0,"644":0,"645":0,"646":0,"659":0,"664":0,"665":0,"668":0,"669":0,"670":0,"671":0,"674":0,"688":0,"696":0,"698":0,"699":0,"700":0,"701":0,"702":0,"704":0,"705":0,"706":0,"707":0,"708":0,"709":0,"721":0,"722":0,"724":0,"726":0,"728":0,"730":0,"732":0,"734":0,"736":0,"737":0,"752":0,"764":0,"766":0,"767":0,"768":0,"769":0,"772":0,"774":0,"793":0,"804":0,"807":0,"808":0,"810":0,"812":0,"814":0,"816":0,"830":0,"831":0,"833":0,"837":0,"838":0,"841":0,"842":0,"843":0,"855":0,"857":0,"859":0,"861":0,"874":0,"895":0,"896":0,"897":0,"898":0,"899":0,"901":0,"903":0,"905":0,"906":0,"907":0,"908":0,"909":0,"910":0,"912":0,"913":0,"914":0,"916":0,"918":0,"920":0,"922":0,"924":0,"926":0,"928":0,"930":0,"931":0,"932":0,"936":0,"938":0,"940":0,"942":0,"943":0,"945":0,"947":0,"949":0,"953":0,"954":0,"956":0,"958":0,"959":0,"960":0,"971":0,"972":0,"983":0,"984":0,"995":0,"999":0,"1011":0,"1013":0,"1014":0,"1026":0,"1037":0,"1039":0,"1051":0,"1064":0,"1074":0,"1076":0,"1077":0,"1078":0,"1079":0,"1081":0,"1083":0,"1084":0,"1085":0,"1086":0,"1087":0,"1088":0,"1089":0,"1090":0,"1091":0,"1092":0,"1093":0,"1095":0,"1096":0,"1097":0,"1099":0,"1100":0,"1103":0,"1105":0,"1109":0,"1110":0,"1112":0,"1113":0,"1116":0,"1118":0,"1129":0,"1131":0,"1133":0,"1143":0,"1145":0,"1146":0,"1147":0,"1149":0,"1151":0,"1152":0,"1153":0,"1154":0,"1155":0,"1156":0,"1157":0,"1158":0,"1159":0,"1161":0,"1162":0,"1164":0,"1165":0,"1166":0,"1168":0,"1169":0,"1170":0,"1172":0,"1173":0,"1176":0,"1178":0,"1182":0,"1183":0,"1185":0,"1186":0,"1189":0,"1190":0,"1194":0,"1196":0,"1198":0,"1200":0,"1213":0,"1220":0,"1222":0,"1224":0,"1226":0,"1227":0,"1228":0,"1229":0,"1230":0,"1231":0,"1233":0,"1235":0,"1238":0,"1239":0,"1241":0,"1243":0,"1244":0,"1245":0,"1246":0,"1248":0,"1249":0,"1250":0,"1252":0,"1256":0,"1258":0,"1269":0,"1271":0,"1273":0,"1280":0,"1282":0,"1284":0,"1285":0,"1286":0,"1288":0,"1290":0,"1292":0,"1294":0,"1298":0,"1305":0,"1306":0,"1308":0,"1310":0,"1313":0,"1314":0,"1315":0,"1318":0,"1320":0,"1321":0,"1322":0,"1323":0,"1325":0,"1326":0,"1328":0,"1330":0,"1332":0,"1336":0,"1337":0,"1338":0,"1341":0,"1343":0,"1344":0,"1348":0,"1349":0,"1355":0,"1357":0,"1358":0,"1372":0,"1394":0,"1396":0,"1398":0,"1400":0,"1402":0,"1406":0,"1408":0,"1409":0,"1411":0,"1413":0,"1414":0,"1415":0,"1416":0,"1417":0,"1418":0,"1419":0,"1420":0,"1421":0,"1422":0,"1423":0,"1425":0,"1426":0,"1427":0,"1428":0,"1429":0,"1430":0,"1431":0,"1432":0,"1433":0,"1434":0,"1435":0,"1437":0,"1439":0,"1441":0,"1442":0,"1455":0,"1456":0,"1457":0,"1458":0,"1459":0,"1461":0,"1473":0,"1486":0,"1488":0,"1490":0,"1492":0,"1496":0,"1497":0,"1500":0,"1501":0,"1502":0,"1504":0,"1505":0,"1507":0,"1508":0,"1511":0,"1513":0,"1515":0,"1522":0,"1523":0,"1525":0,"1527":0,"1528":0,"1530":0,"1531":0,"1533":0,"1535":0,"1537":0,"1540":0,"1541":0,"1554":0,"1556":0,"1557":0,"1596":0,"1597":0,"1598":0,"1610":0,"1611":0,"1623":0,"1624":0,"1636":0,"1647":0,"1658":0,"1669":0,"1680":0,"1694":0,"1696":0,"1698":0,"1719":0,"1721":0,"1722":0,"1723":0,"1724":0,"1725":0,"1726":0,"1739":0,"1740":0,"1751":0,"1771":0,"1790":0,"1791":0,"1792":0,"1794":0,"1809":0,"1814":0,"1816":0,"1817":0,"1818":0,"1819":0,"1821":0,"1836":0,"1847":0,"1849":0,"1851":0,"1852":0,"1853":0,"1854":0,"1856":0,"1857":0,"1858":0,"1860":0,"1863":0,"1864":0,"1866":0,"1868":0,"1869":0,"1879":0,"1880":0,"1882":0,"1893":0,"1894":0,"1896":0,"1909":0,"1917":0,"1919":0,"1920":0,"1921":0,"1923":0,"1924":0,"1925":0,"1926":0,"1927":0,"1929":0,"1931":0,"1935":0,"1939":0,"1950":0,"1951":0,"1953":0,"1957":0,"1969":0,"1971":0,"1973":0,"1974":0,"1976":0,"1978":0,"1979":0,"1981":0,"1986":0,"1997":0,"2034":0,"2037":0,"2038":0,"2039":0,"2040":0,"2041":0,"2043":0,"2045":0,"2046":0,"2051":0,"2084":0,"2089":0,"2090":0,"2092":0,"2094":0,"2124":0,"2126":0,"2128":0,"2130":0,"2188":0,"2192":0,"2195":0,"2197":0,"2199":0,"2201":0,"2203":0,"2207":0,"2208":0,"2210":0,"2212":0,"2215":0,"2216":0,"2253":0,"2257":0,"2259":0,"2261":0,"2262":0,"2264":0,"2267":0,"2269":0,"2271":0,"2275":0,"2276":0,"2277":0,"2308":0,"2324":0,"2326":0,"2328":0,"2343":0,"2347":0,"2358":0,"2360":0,"2363":0,"2364":0,"2365":0,"2375":0,"2376":0,"2389":0,"2405":0,"2409":0,"2420":0,"2422":0,"2424":0,"2425":0,"2435":0,"2436":0,"2447":0,"2449":0,"2452":0,"2454":0,"2464":0,"2476":0,"2477":0,"2478":0,"2483":0,"2484":0,"2485":0,"2501":0,"2502":0,"2503":0,"2508":0,"2509":0,"2510":0,"2514":0,"2525":0,"2527":0,"2530":0,"2532":0,"2543":0,"2565":0,"2566":0,"2571":0,"2573":0,"2586":0,"2587":0,"2592":0,"2594":0,"2598":0,"2606":0,"2608":0,"2610":0,"2611":0,"2629":0,"2634":0,"2635":0,"2636":0,"2639":0,"2677":0,"2688":0,"2689":0,"2692":0,"2694":0,"2713":0,"2718":0,"2719":0,"2721":0,"2723":0,"2739":0,"2754":0,"2769":0,"2782":0,"2784":0,"2786":0,"2799":0,"2801":0,"2803":0,"2876":0,"2881":0,"2882":0,"2884":0,"2886":0,"2899":0,"2904":0,"2905":0,"2907":0,"2909":0,"2931":0,"2932":0,"2937":0,"2949":0,"2958":0,"2959":0,"2961":0,"2963":0,"2965":0,"2967":0,"2969":0,"2971":0,"2972":0,"2977":0,"2979":0,"3009":0,"3013":0,"3015":0,"3016":0,"3017":0,"3021":0,"3023":0,"3033":0,"3035":0,"3036":0,"3042":0,"3043":0,"3044":0,"3045":0,"3046":0,"3047":0,"3049":0,"3060":0,"3063":0,"3064":0,"3065":0,"3066":0,"3067":0,"3068":0,"3078":0,"3079":0,"3091":0,"3092":0,"3094":0,"3096":0,"3098":0,"3099":0,"3100":0,"3112":0,"3114":0,"3116":0,"3120":0,"3132":0,"3134":0,"3136":0,"3139":0,"3141":0,"3142":0,"3143":0,"3145":0,"3147":0,"3158":0,"3160":0,"3162":0,"3164":0,"3167":0,"3179":0,"3181":0,"3182":0,"3184":0,"3185":0,"3186":0,"3197":0,"3198":0,"3210":0,"3213":0,"3215":0,"3217":0,"3219":0,"3223":0,"3225":0,"3227":0,"3229":0,"3241":0,"3242":0,"3243":0,"3244":0,"3256":0,"3257":0,"3258":0,"3259":0,"3269":0,"3270":0,"3284":0,"3297":0,"3310":0,"3311":0,"3313":0,"3315":0,"3341":0,"3342":0,"3343":0,"3344":0,"3356":0,"3358":0,"3360":0,"3372":0,"3374":0,"3375":0,"3377":0,"3378":0,"3379":0,"3380":0,"3381":0,"3382":0,"3383":0,"3384":0,"3385":0,"3387":0,"3389":0,"3401":0,"3421":0,"3422":0,"3424":0,"3426":0,"3427":0,"3429":0,"3430":0,"3431":0,"3432":0,"3436":0,"3438":0,"3439":0,"3440":0,"3441":0,"3442":0,"3443":0,"3444":0,"3448":0,"3449":0,"3450":0,"3451":0,"3452":0,"3453":0,"3454":0,"3457":0,"3458":0,"3459":0,"3463":0,"3464":0,"3465":0,"3466":0,"3467":0,"3468":0,"3471":0,"3475":0,"3476":0,"3477":0,"3479":0,"3481":0,"3482":0,"3484":0,"3486":0,"3502":0,"3503":0,"3506":0,"3507":0,"3509":0,"3510":0,"3512":0,"3513":0,"3515":0,"3527":0,"3532":0,"3534":0,"3536":0,"3537":0,"3538":0,"3539":0,"3540":0,"3541":0,"3544":0,"3545":0,"3546":0,"3547":0,"3548":0,"3549":0,"3561":0,"3562":0,"3564":0,"3566":0,"3568":0,"3581":0,"3583":0,"3585":0,"3587":0,"3589":0,"3590":0,"3592":0,"3596":0,"3601":0}; -_yuitest_coverage["build/graphics-vml/graphics-vml.js"].functions = {"VMLDrawing:24":0,"_round:74":0,"_addToPath:86":0,"curveTo:127":0,"relativeCurveTo:144":0,"_curveTo:157":0,"quadraticCurveTo:222":0,"relativeQuadraticCurveTo:237":0,"_quadraticCurveTo:250":0,"drawRect:296":0,"drawRoundRect:319":0,"drawCircle:342":0,"drawEllipse:366":0,"drawDiamond:390":0,"drawWedge:415":0,"lineTo:442":0,"relativeLineTo:456":0,"_lineTo:470":0,"moveTo:518":0,"relativeMoveTo:532":0,"_moveTo:546":0,"_closePath:566":0,"end:612":0,"closePath:624":0,"clear:636":0,"getBezierData:658":0,"_setCurveBoundingBox:686":0,"_trackSize:720":0,"VMLShape:764":0,"init:791":0,"initializer:802":0,"_setGraphic:828":0,"_appendStrokeAndFill:853":0,"createNode:872":0,"addClass:969":0,"removeClass:981":0,"getXY:993":0,"setXY:1009":0,"contains:1024":0,"compareTo:1036":0,"test:1049":0,"_getStrokeProps:1062":0,"_strokeChangeHandler:1127":0,"_getFillProps:1211":0,"_fillChangeHandler:1267":0,"_updateFillNode:1353":0,"_getGradientFill:1370":0,"_addTransform:1453":0,"_updateTransform:1471":0,"_getSkewOffsetValue:1552":0,"translate:1594":0,"translateX:1608":0,"translateY:1621":0,"skew:1634":0,"skewX:1645":0,"skewY:1656":0,"rotate:1667":0,"scale:1678":0,"on:1692":0,"_updateHandler:1717":0,"_createGraphicNode:1737":0,"_getDefaultFill:1750":0,"_getDefaultStroke:1769":0,"set:1788":0,"getBounds:1807":0,"_getContentRect:1834":0,"toFront:1877":0,"toBack:1891":0,"_parsePathData:1907":0,"destroy:1948":0,"_destroy:1967":0,"valueFn:1995":0,"setter:2032":0,"getter:2049":0,"valueFn:2082":0,"setter:2087":0,"setter:2123":0,"setter:2186":0,"setter:2251":0,"getter:2306":0,"setter:2322":0,"getter:2341":0,"VMLPath:2358":0,"getter:2373":0,"getter:2387":0,"getter:2403":0,"VMLRect:2420":0,"VMLEllipse:2447":0,"getter:2474":0,"setter:2481":0,"getter:2499":0,"setter:2506":0,"VMLCircle:2525":0,"setter:2563":0,"getter:2569":0,"setter:2584":0,"getter:2590":0,"VMLPieSlice:2606":0,"_draw:2627":0,"VMLGraphic:2688":0,"valueFn:2711":0,"setter:2716":0,"getter:2737":0,"getter:2752":0,"getter:2767":0,"setter:2780":0,"setter:2797":0,"getter:2874":0,"setter:2879":0,"getter:2897":0,"setter:2902":0,"setter:2929":0,"set:2947":0,"getXY:3007":0,"initializer:3032":0,"render:3059":0,"destroy:3076":0,"addShape:3089":0,"_appendShape:3110":0,"removeShape:3130":0,"removeAllShapes:3156":0,"_removeChildren:3177":0,"clear:3196":0,"_toggleVisible:3208":0,"setSize:3240":0,"setPosition:3254":0,"_createGraphic:3268":0,"_createGraphicNode:3282":0,"getShapeById:3295":0,"_getShapeClass:3308":0,"batch:3339":0,"_getDocFrag:3354":0,"addToRedrawQueue:3370":0,"_redraw:3399":0,"_calculateCoordOrigin:3500":0,"_getUpdatedContentBounds:3525":0,"_toFront:3559":0,"_toBack:3579":0,"(anonymous 1):1":0}; -_yuitest_coverage["build/graphics-vml/graphics-vml.js"].coveredLines = 935; -_yuitest_coverage["build/graphics-vml/graphics-vml.js"].coveredFunctions = 139; -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1); -YUI.add('graphics-vml', function (Y, NAME) { - -_yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "(anonymous 1)", 1); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3); -var IMPLEMENTATION = "vml", - SHAPE = "shape", - SPLITPATHPATTERN = /[a-z][^a-z]*/ig, - SPLITARGSPATTERN = /[-]?[0-9]*[0-9|\.][0-9]*/g, - Y_LANG = Y.Lang, - IS_NUM = Y_LANG.isNumber, - IS_ARRAY = Y_LANG.isArray, - IS_STRING = Y_LANG.isString, - Y_DOM = Y.DOM, - Y_SELECTOR = Y.Selector, - DOCUMENT = Y.config.doc, - AttributeLite = Y.AttributeLite, - VMLShape, - VMLCircle, - VMLPath, - VMLRect, - VMLEllipse, - VMLGraphic, - VMLPieSlice, - _getClassName = Y.ClassNameManager.getClassName; - -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 24); -function VMLDrawing() {} - -/** - * VML implementation of the `Drawing` class. - * `VMLDrawing` is not intended to be used directly. Instead, use the `Drawing` class. - * If the browser lacks SVG and Canvas - * capabilities, the `Drawing` class will point to the `VMLDrawing` class. - * - * @module graphics - * @class VMLDrawing - * @constructor - */ -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 36); -VMLDrawing.prototype = { - /** - * Maps path to methods - * - * @property _pathSymbolToMethod - * @type Object - * @private - */ - _pathSymbolToMethod: { - M: "moveTo", - m: "relativeMoveTo", - L: "lineTo", - l: "relativeLineTo", - C: "curveTo", - c: "relativeCurveTo", - Q: "quadraticCurveTo", - q: "relativeQuadraticCurveTo", - z: "closePath", - Z: "closePath" - }, - - /** - * Value for rounding up to coordsize - * - * @property _coordSpaceMultiplier - * @type Number - * @private - */ - _coordSpaceMultiplier: 100, - - /** - * Rounds dimensions and position values based on the coordinate space. - * - * @method _round - * @param {Number} The value for rounding - * @return Number - * @private - */ - _round:function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_round", 74); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 76); -return Math.round(val * this._coordSpaceMultiplier); - }, - - /** - * Concatanates the path. - * - * @method _addToPath - * @param {String} val The value to add to the path string. - * @private - */ - _addToPath: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_addToPath", 86); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 88); -this._path = this._path || ""; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 89); -if(this._movePath) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 91); -this._path += this._movePath; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 92); -this._movePath = null; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 94); -this._path += val; - }, - - /** - * Current x position of the drawing. - * - * @property _currentX - * @type Number - * @private - */ - _currentX: 0, - - /** - * Current y position of the drqwing. - * - * @property _currentY - * @type Number - * @private - */ - _currentY: 0, - - /** - * Draws a bezier curve. - * - * @method curveTo - * @param {Number} cp1x x-coordinate for the first control point. - * @param {Number} cp1y y-coordinate for the first control point. - * @param {Number} cp2x x-coordinate for the second control point. - * @param {Number} cp2y y-coordinate for the second control point. - * @param {Number} x x-coordinate for the end point. - * @param {Number} y y-coordinate for the end point. - * @chainable - */ - curveTo: function() { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "curveTo", 127); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 128); -this._curveTo.apply(this, [Y.Array(arguments), false]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 129); -return this; - }, - - /** - * Draws a bezier curve. - * - * @method relativeCurveTo - * @param {Number} cp1x x-coordinate for the first control point. - * @param {Number} cp1y y-coordinate for the first control point. - * @param {Number} cp2x x-coordinate for the second control point. - * @param {Number} cp2y y-coordinate for the second control point. - * @param {Number} x x-coordinate for the end point. - * @param {Number} y y-coordinate for the end point. - * @chainable - */ - relativeCurveTo: function() { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "relativeCurveTo", 144); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 145); -this._curveTo.apply(this, [Y.Array(arguments), true]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 146); -return this; - }, - - /** - * Implements curveTo methods. - * - * @method _curveTo - * @param {Array} args The arguments to be used. - * @param {Boolean} relative Indicates whether or not to use relative coordinates. - * @private - */ - _curveTo: function(args, relative) { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_curveTo", 157); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 158); -var w, - h, - x, - y, - cp1x, - cp1y, - cp2x, - cp2y, - pts, - right, - left, - bottom, - top, - i, - len, - path, - command = relative ? " v " : " c ", - relativeX = relative ? parseFloat(this._currentX) : 0, - relativeY = relative ? parseFloat(this._currentY) : 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 177); -len = args.length - 5; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 178); -path = command; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 179); -for(i = 0; i < len; i = i + 6) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 181); -cp1x = parseFloat(args[i]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 182); -cp1y = parseFloat(args[i + 1]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 183); -cp2x = parseFloat(args[i + 2]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 184); -cp2y = parseFloat(args[i + 3]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 185); -x = parseFloat(args[i + 4]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 186); -y = parseFloat(args[i + 5]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 187); -if(i > 0) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 189); -path = path + ", "; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 191); -path = path + this._round(cp1x) + ", " + this._round(cp1y) + ", " + this._round(cp2x) + ", " + this._round(cp2y) + ", " + this._round(x) + ", " + this._round(y); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 192); -cp1x = cp1x + relativeX; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 193); -cp1y = cp1y + relativeY; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 194); -cp2x = cp2x + relativeX; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 195); -cp2y = cp2y + relativeY; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 196); -x = x + relativeX; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 197); -y = y + relativeY; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 198); -right = Math.max(x, Math.max(cp1x, cp2x)); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 199); -bottom = Math.max(y, Math.max(cp1y, cp2y)); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 200); -left = Math.min(x, Math.min(cp1x, cp2x)); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 201); -top = Math.min(y, Math.min(cp1y, cp2y)); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 202); -w = Math.abs(right - left); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 203); -h = Math.abs(bottom - top); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 204); -pts = [[this._currentX, this._currentY] , [cp1x, cp1y], [cp2x, cp2y], [x, y]]; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 205); -this._setCurveBoundingBox(pts, w, h); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 206); -this._currentX = x; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 207); -this._currentY = y; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 209); -this._addToPath(path); - }, - - /** - * Draws a quadratic bezier curve. - * - * @method quadraticCurveTo - * @param {Number} cpx x-coordinate for the control point. - * @param {Number} cpy y-coordinate for the control point. - * @param {Number} x x-coordinate for the end point. - * @param {Number} y y-coordinate for the end point. - * @chainable - */ - quadraticCurveTo: function() { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "quadraticCurveTo", 222); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 223); -this._quadraticCurveTo.apply(this, [Y.Array(arguments), false]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 224); -return this; - }, - - /** - * Draws a quadratic bezier curve relative to the current position. - * - * @method relativeQuadraticCurveTo - * @param {Number} cpx x-coordinate for the control point. - * @param {Number} cpy y-coordinate for the control point. - * @param {Number} x x-coordinate for the end point. - * @param {Number} y y-coordinate for the end point. - * @chainable - */ - relativeQuadraticCurveTo: function() { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "relativeQuadraticCurveTo", 237); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 238); -this._quadraticCurveTo.apply(this, [Y.Array(arguments), true]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 239); -return this; - }, - - /** - * Implements quadraticCurveTo methods. - * - * @method _quadraticCurveTo - * @param {Array} args The arguments to be used. - * @param {Boolean} relative Indicates whether or not to use relative coordinates. - * @private - */ - _quadraticCurveTo: function(args, relative) { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_quadraticCurveTo", 250); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 251); -var cpx, - cpy, - cp1x, - cp1y, - cp2x, - cp2y, - x, - y, - currentX = this._currentX, - currentY = this._currentY, - i, - len = args.length - 3, - bezierArgs = [], - relativeX = relative ? parseFloat(this._currentX) : 0, - relativeY = relative ? parseFloat(this._currentY) : 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 266); -for(i = 0; i < len; i = i + 4) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 268); -cpx = parseFloat(args[i]) + relativeX; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 269); -cpy = parseFloat(args[i + 1]) + relativeY; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 270); -x = parseFloat(args[i + 2]) + relativeX; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 271); -y = parseFloat(args[i + 3]) + relativeY; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 272); -cp1x = currentX + 0.67*(cpx - currentX); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 273); -cp1y = currentY + 0.67*(cpy - currentY); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 274); -cp2x = cp1x + (x - currentX) * 0.34; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 275); -cp2y = cp1y + (y - currentY) * 0.34; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 276); -bezierArgs.push(cp1x); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 277); -bezierArgs.push(cp1y); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 278); -bezierArgs.push(cp2x); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 279); -bezierArgs.push(cp2y); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 280); -bezierArgs.push(x); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 281); -bezierArgs.push(y); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 283); -this._curveTo.apply(this, [bezierArgs, false]); - }, - - /** - * Draws a rectangle. - * - * @method drawRect - * @param {Number} x x-coordinate - * @param {Number} y y-coordinate - * @param {Number} w width - * @param {Number} h height - * @chainable - */ - drawRect: function(x, y, w, h) { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "drawRect", 296); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 297); -this.moveTo(x, y); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 298); -this.lineTo(x + w, y); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 299); -this.lineTo(x + w, y + h); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 300); -this.lineTo(x, y + h); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 301); -this.lineTo(x, y); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 302); -this._currentX = x; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 303); -this._currentY = y; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 304); -return this; - }, - - /** - * Draws a rectangle with rounded corners. - * - * @method drawRect - * @param {Number} x x-coordinate - * @param {Number} y y-coordinate - * @param {Number} w width - * @param {Number} h height - * @param {Number} ew width of the ellipse used to draw the rounded corners - * @param {Number} eh height of the ellipse used to draw the rounded corners - * @chainable - */ - drawRoundRect: function(x, y, w, h, ew, eh) { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "drawRoundRect", 319); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 320); -this.moveTo(x, y + eh); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 321); -this.lineTo(x, y + h - eh); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 322); -this.quadraticCurveTo(x, y + h, x + ew, y + h); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 323); -this.lineTo(x + w - ew, y + h); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 324); -this.quadraticCurveTo(x + w, y + h, x + w, y + h - eh); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 325); -this.lineTo(x + w, y + eh); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 326); -this.quadraticCurveTo(x + w, y, x + w - ew, y); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 327); -this.lineTo(x + ew, y); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 328); -this.quadraticCurveTo(x, y, x, y + eh); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 329); -return this; - }, - - /** - * Draws a circle. Used internally by `CanvasCircle` class. - * - * @method drawCircle - * @param {Number} x y-coordinate - * @param {Number} y x-coordinate - * @param {Number} r radius - * @chainable - * @protected - */ - drawCircle: function(x, y, radius) { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "drawCircle", 342); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 343); -var startAngle = 0, - endAngle = 360, - circum = radius * 2; - - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 347); -endAngle *= 65535; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 348); -this._drawingComplete = false; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 349); -this._trackSize(x + circum, y + circum); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 350); -this.moveTo((x + circum), (y + radius)); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 351); -this._addToPath(" ae " + this._round(x + radius) + ", " + this._round(y + radius) + ", " + this._round(radius) + ", " + this._round(radius) + ", " + startAngle + ", " + endAngle); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 352); -return this; - }, - - /** - * Draws an ellipse. - * - * @method drawEllipse - * @param {Number} x x-coordinate - * @param {Number} y y-coordinate - * @param {Number} w width - * @param {Number} h height - * @chainable - * @protected - */ - drawEllipse: function(x, y, w, h) { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "drawEllipse", 366); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 367); -var startAngle = 0, - endAngle = 360, - radius = w * 0.5, - yRadius = h * 0.5; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 371); -endAngle *= 65535; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 372); -this._drawingComplete = false; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 373); -this._trackSize(x + w, y + h); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 374); -this.moveTo((x + w), (y + yRadius)); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 375); -this._addToPath(" ae " + this._round(x + radius) + ", " + this._round(x + radius) + ", " + this._round(y + yRadius) + ", " + this._round(radius) + ", " + this._round(yRadius) + ", " + startAngle + ", " + endAngle); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 376); -return this; - }, - - /** - * Draws a diamond. - * - * @method drawDiamond - * @param {Number} x y-coordinate - * @param {Number} y x-coordinate - * @param {Number} width width - * @param {Number} height height - * @chainable - * @protected - */ - drawDiamond: function(x, y, width, height) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "drawDiamond", 390); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 392); -var midWidth = width * 0.5, - midHeight = height * 0.5; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 394); -this.moveTo(x + midWidth, y); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 395); -this.lineTo(x + width, y + midHeight); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 396); -this.lineTo(x + midWidth, y + height); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 397); -this.lineTo(x, y + midHeight); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 398); -this.lineTo(x + midWidth, y); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 399); -return this; - }, - - /** - * Draws a wedge. - * - * @method drawWedge - * @param {Number} x x-coordinate of the wedge's center point - * @param {Number} y y-coordinate of the wedge's center point - * @param {Number} startAngle starting angle in degrees - * @param {Number} arc sweep of the wedge. Negative values draw clockwise. - * @param {Number} radius radius of wedge. If [optional] yRadius is defined, then radius is the x radius. - * @param {Number} yRadius [optional] y radius for wedge. - * @chainable - * @private - */ - drawWedge: function(x, y, startAngle, arc, radius) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "drawWedge", 415); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 417); -var diameter = radius * 2; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 418); -if(Math.abs(arc) > 360) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 420); -arc = 360; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 422); -this._currentX = x; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 423); -this._currentY = y; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 424); -startAngle *= -65535; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 425); -arc *= 65536; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 426); -startAngle = Math.round(startAngle); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 427); -arc = Math.round(arc); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 428); -this.moveTo(x, y); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 429); -this._addToPath(" ae " + this._round(x) + ", " + this._round(y) + ", " + this._round(radius) + " " + this._round(radius) + ", " + startAngle + ", " + arc); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 430); -this._trackSize(diameter, diameter); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 431); -return this; - }, - - /** - * Draws a line segment from the current drawing position to the specified x and y coordinates. - * - * @method lineTo - * @param {Number} point1 x-coordinate for the end point. - * @param {Number} point2 y-coordinate for the end point. - * @chainable - */ - lineTo: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "lineTo", 442); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 444); -this._lineTo.apply(this, [Y.Array(arguments), false]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 445); -return this; - }, - - /** - * Draws a line segment using the current line style from the current drawing position to the relative x and y coordinates. - * - * @method relativeLineTo - * @param {Number} point1 x-coordinate for the end point. - * @param {Number} point2 y-coordinate for the end point. - * @chainable - */ - relativeLineTo: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "relativeLineTo", 456); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 458); -this._lineTo.apply(this, [Y.Array(arguments), true]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 459); -return this; - }, - - /** - * Implements lineTo methods. - * - * @method _lineTo - * @param {Array} args The arguments to be used. - * @param {Boolean} relative Indicates whether or not to use relative coordinates. - * @private - */ - _lineTo: function(args, relative) { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_lineTo", 470); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 471); -var point1 = args[0], - i, - len, - x, - y, - path = relative ? " r " : " l ", - relativeX = relative ? parseFloat(this._currentX) : 0, - relativeY = relative ? parseFloat(this._currentY) : 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 479); -if (typeof point1 == "string" || typeof point1 == "number") { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 480); -len = args.length - 1; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 481); -for (i = 0; i < len; i = i + 2) { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 482); -x = parseFloat(args[i]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 483); -y = parseFloat(args[i + 1]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 484); -path += ' ' + this._round(x) + ', ' + this._round(y); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 485); -x = x + relativeX; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 486); -y = y + relativeY; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 487); -this._currentX = x; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 488); -this._currentY = y; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 489); -this._trackSize.apply(this, [x, y]); - } - } - else - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 494); -len = args.length; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 495); -for (i = 0; i < len; i = i + 1) { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 496); -x = parseFloat(args[i][0]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 497); -y = parseFloat(args[i][1]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 498); -path += ' ' + this._round(x) + ', ' + this._round(y); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 499); -x = x + relativeX; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 500); -y = y + relativeY; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 501); -this._currentX = x; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 502); -this._currentY = y; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 503); -this._trackSize.apply(this, [x, y]); - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 506); -this._addToPath(path); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 507); -return this; - }, - - /** - * Moves the current drawing position to specified x and y coordinates. - * - * @method moveTo - * @param {Number} x x-coordinate for the end point. - * @param {Number} y y-coordinate for the end point. - * @chainable - */ - moveTo: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "moveTo", 518); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 520); -this._moveTo.apply(this, [Y.Array(arguments), false]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 521); -return this; - }, - - /** - * Moves the current drawing position relative to specified x and y coordinates. - * - * @method relativeMoveTo - * @param {Number} x x-coordinate for the end point. - * @param {Number} y y-coordinate for the end point. - * @chainable - */ - relativeMoveTo: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "relativeMoveTo", 532); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 534); -this._moveTo.apply(this, [Y.Array(arguments), true]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 535); -return this; - }, - - /** - * Implements moveTo methods. - * - * @method _moveTo - * @param {Array} args The arguments to be used. - * @param {Boolean} relative Indicates whether or not to use relative coordinates. - * @private - */ - _moveTo: function(args, relative) { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_moveTo", 546); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 547); -var x = parseFloat(args[0]), - y = parseFloat(args[1]), - command = relative ? " t " : " m ", - relativeX = relative ? parseFloat(this._currentX) : 0, - relativeY = relative ? parseFloat(this._currentY) : 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 552); -this._movePath = command + this._round(x) + ", " + this._round(y); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 553); -x = x + relativeX; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 554); -y = y + relativeY; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 555); -this._trackSize(x, y); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 556); -this._currentX = x; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 557); -this._currentY = y; - }, - - /** - * Draws the graphic. - * - * @method _draw - * @private - */ - _closePath: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_closePath", 566); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 568); -var fill = this.get("fill"), - stroke = this.get("stroke"), - node = this.node, - w = this.get("width"), - h = this.get("height"), - path = this._path, - pathEnd = "", - multiplier = this._coordSpaceMultiplier; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 576); -this._fillChangeHandler(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 577); -this._strokeChangeHandler(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 578); -if(path) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 580); -if(fill && fill.color) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 582); -pathEnd += ' x'; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 584); -if(stroke) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 586); -pathEnd += ' e'; - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 589); -if(path) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 591); -node.path = path + pathEnd; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 593); -if(!isNaN(w) && !isNaN(h)) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 595); -node.coordOrigin = this._left + ", " + this._top; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 596); -node.coordSize = (w * multiplier) + ", " + (h * multiplier); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 597); -node.style.position = "absolute"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 598); -node.style.width = w + "px"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 599); -node.style.height = h + "px"; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 601); -this._path = path; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 602); -this._movePath = null; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 603); -this._updateTransform(); - }, - - /** - * Completes a drawing operation. - * - * @method end - * @chainable - */ - end: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "end", 612); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 614); -this._closePath(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 615); -return this; - }, - - /** - * Ends a fill and stroke - * - * @method closePath - * @chainable - */ - closePath: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "closePath", 624); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 626); -this._addToPath(" x e"); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 627); -return this; - }, - - /** - * Clears the path. - * - * @method clear - * @chainable - */ - clear: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "clear", 636); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 638); -this._right = 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 639); -this._bottom = 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 640); -this._width = 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 641); -this._height = 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 642); -this._left = 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 643); -this._top = 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 644); -this._path = ""; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 645); -this._movePath = null; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 646); -return this; - }, - - /** - * Returns the points on a curve - * - * @method getBezierData - * @param Array points Array containing the begin, end and control points of a curve. - * @param Number t The value for incrementing the next set of points. - * @return Array - * @private - */ - getBezierData: function(points, t) { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getBezierData", 658); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 659); -var n = points.length, - tmp = [], - i, - j; - - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 664); -for (i = 0; i < n; ++i){ - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 665); -tmp[i] = [points[i][0], points[i][1]]; // save input - } - - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 668); -for (j = 1; j < n; ++j) { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 669); -for (i = 0; i < n - j; ++i) { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 670); -tmp[i][0] = (1 - t) * tmp[i][0] + t * tmp[parseInt(i + 1, 10)][0]; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 671); -tmp[i][1] = (1 - t) * tmp[i][1] + t * tmp[parseInt(i + 1, 10)][1]; - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 674); -return [ tmp[0][0], tmp[0][1] ]; - }, - - /** - * Calculates the bounding box for a curve - * - * @method _setCurveBoundingBox - * @param Array pts Array containing points for start, end and control points of a curve. - * @param Number w Width used to calculate the number of points to describe the curve. - * @param Number h Height used to calculate the number of points to describe the curve. - * @private - */ - _setCurveBoundingBox: function(pts, w, h) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_setCurveBoundingBox", 686); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 688); -var i, - left = this._currentX, - right = left, - top = this._currentY, - bottom = top, - len = Math.round(Math.sqrt((w * w) + (h * h))), - t = 1/len, - xy; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 696); -for(i = 0; i < len; ++i) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 698); -xy = this.getBezierData(pts, t * i); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 699); -left = isNaN(left) ? xy[0] : Math.min(xy[0], left); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 700); -right = isNaN(right) ? xy[0] : Math.max(xy[0], right); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 701); -top = isNaN(top) ? xy[1] : Math.min(xy[1], top); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 702); -bottom = isNaN(bottom) ? xy[1] : Math.max(xy[1], bottom); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 704); -left = Math.round(left * 10)/10; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 705); -right = Math.round(right * 10)/10; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 706); -top = Math.round(top * 10)/10; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 707); -bottom = Math.round(bottom * 10)/10; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 708); -this._trackSize(right, bottom); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 709); -this._trackSize(left, top); - }, - - /** - * Updates the size of the graphics object - * - * @method _trackSize - * @param {Number} w width - * @param {Number} h height - * @private - */ - _trackSize: function(w, h) { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_trackSize", 720); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 721); -if (w > this._right) { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 722); -this._right = w; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 724); -if(w < this._left) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 726); -this._left = w; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 728); -if (h < this._top) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 730); -this._top = h; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 732); -if (h > this._bottom) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 734); -this._bottom = h; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 736); -this._width = this._right - this._left; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 737); -this._height = this._bottom - this._top; - }, - - _left: 0, - - _right: 0, - - _top: 0, - - _bottom: 0, - - _width: 0, - - _height: 0 -}; -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 752); -Y.VMLDrawing = VMLDrawing; -/** - * VML implementation of the `Shape` class. - * `VMLShape` is not intended to be used directly. Instead, use the `Shape` class. - * If the browser lacks SVG and Canvas - * capabilities, the `Shape` class will point to the `VMLShape` class. - * - * @module graphics - * @class VMLShape - * @constructor - * @param {Object} cfg (optional) Attribute configs - */ -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 764); -VMLShape = function() -{ - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "VMLShape", 764); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 766); -this._transforms = []; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 767); -this.matrix = new Y.Matrix(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 768); -this._normalizedMatrix = new Y.Matrix(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 769); -VMLShape.superclass.constructor.apply(this, arguments); -}; - -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 772); -VMLShape.NAME = "shape"; - -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 774); -Y.extend(VMLShape, Y.GraphicBase, Y.mix({ - /** - * Indicates the type of shape - * - * @property _type - * @type String - * @private - */ - _type: "shape", - - /** - * Init method, invoked during construction. - * Calls `initializer` method. - * - * @method init - * @protected - */ - init: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "init", 791); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 793); -this.initializer.apply(this, arguments); - }, - - /** - * Initializes the shape - * - * @private - * @method _initialize - */ - initializer: function(cfg) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "initializer", 802); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 804); -var host = this, - graphic = cfg.graphic, - data = this.get("data"); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 807); -host.createNode(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 808); -if(graphic) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 810); -this._setGraphic(graphic); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 812); -if(data) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 814); -host._parsePathData(data); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 816); -this._updateHandler(); - }, - - /** - * Set the Graphic instance for the shape. - * - * @method _setGraphic - * @param {Graphic | Node | HTMLElement | String} render This param is used to determine the graphic instance. If it is a - * `Graphic` instance, it will be assigned to the `graphic` attribute. Otherwise, a new Graphic instance will be created - * and rendered into the dom element that the render represents. - * @private - */ - _setGraphic: function(render) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_setGraphic", 828); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 830); -var graphic; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 831); -if(render instanceof Y.VMLGraphic) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 833); -this._graphic = render; - } - else - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 837); -render = Y.one(render); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 838); -graphic = new Y.VMLGraphic({ - render: render - }); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 841); -graphic._appendShape(this); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 842); -this._graphic = graphic; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 843); -this._appendStrokeAndFill(); - } - }, - - /** - * Appends fill and stroke nodes to the shape. - * - * @method _appendStrokeAndFill - * @private - */ - _appendStrokeAndFill: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_appendStrokeAndFill", 853); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 855); -if(this._strokeNode) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 857); -this.node.appendChild(this._strokeNode); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 859); -if(this._fillNode) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 861); -this.node.appendChild(this._fillNode); - } - }, - - /** - * Creates the dom node for the shape. - * - * @method createNode - * @return HTMLElement - * @private - */ - createNode: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "createNode", 872); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 874); -var node, - concat = this._camelCaseConcat, - x = this.get("x"), - y = this.get("y"), - w = this.get("width"), - h = this.get("height"), - id, - type, - name = this.name, - nodestring, - visibility = this.get("visible") ? "visible" : "hidden", - strokestring, - classString, - stroke, - endcap, - opacity, - joinstyle, - miterlimit, - dashstyle, - fill, - fillstring; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 895); -id = this.get("id"); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 896); -type = this._type == "path" ? "shape" : this._type; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 897); -classString = _getClassName(SHAPE) + " " + _getClassName(concat(IMPLEMENTATION, SHAPE)) + " " + _getClassName(name) + " " + _getClassName(concat(IMPLEMENTATION, name)) + " " + IMPLEMENTATION + type; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 898); -stroke = this._getStrokeProps(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 899); -fill = this._getFillProps(); - - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 901); -nodestring = '<' + type + ' xmlns="urn:schemas-microsft.com:vml" id="' + id + '" class="' + classString + '" style="behavior:url(#default#VML);display:inline-block;position:absolute;left:' + x + 'px;top:' + y + 'px;width:' + w + 'px;height:' + h + 'px;visibility:' + visibility + '"'; - - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 903); -if(stroke && stroke.weight && stroke.weight > 0) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 905); -endcap = stroke.endcap; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 906); -opacity = parseFloat(stroke.opacity); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 907); -joinstyle = stroke.joinstyle; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 908); -miterlimit = stroke.miterlimit; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 909); -dashstyle = stroke.dashstyle; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 910); -nodestring += ' stroked="t" strokecolor="' + stroke.color + '" strokeWeight="' + stroke.weight + 'px"'; - - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 912); -strokestring = ''; - - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 956); -node = DOCUMENT.createElement(nodestring); - - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 958); -this.node = node; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 959); -this._strokeFlag = false; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 960); -this._fillFlag = false; - }, - - /** - * Add a class name to each node. - * - * @method addClass - * @param {String} className the class name to add to the node's class attribute - */ - addClass: function(className) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "addClass", 969); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 971); -var node = this.node; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 972); -Y_DOM.addClass(node, className); - }, - - /** - * Removes a class name from each node. - * - * @method removeClass - * @param {String} className the class name to remove from the node's class attribute - */ - removeClass: function(className) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "removeClass", 981); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 983); -var node = this.node; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 984); -Y_DOM.removeClass(node, className); - }, - - /** - * Gets the current position of the node in page coordinates. - * - * @method getXY - * @return Array The XY position of the shape. - */ - getXY: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getXY", 993); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 995); -var graphic = this._graphic, - parentXY = graphic.getXY(), - x = this.get("x"), - y = this.get("y"); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 999); -return [parentXY[0] + x, parentXY[1] + y]; - }, - - /** - * Set the position of the shape in page coordinates, regardless of how the node is positioned. - * - * @method setXY - * @param {Array} Contains x & y values for new position (coordinates are page-based) - * - */ - setXY: function(xy) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setXY", 1009); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1011); -var graphic = this._graphic, - parentXY = graphic.getXY(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1013); -this.set("x", xy[0] - parentXY[0]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1014); -this.set("y", xy[1] - parentXY[1]); - }, - - /** - * Determines whether the node is an ancestor of another HTML element in the DOM hierarchy. - * - * @method contains - * @param {VMLShape | HTMLElement} needle The possible node or descendent - * @return Boolean Whether or not this shape is the needle or its ancestor. - */ - contains: function(needle) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "contains", 1024); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1026); -return needle === Y.one(this.node); - }, - - /** - * Compares nodes to determine if they match. - * Node instances can be compared to each other and/or HTMLElements. - * @method compareTo - * @param {HTMLElement | Node} refNode The reference node to compare to the node. - * @return {Boolean} True if the nodes match, false if they do not. - */ - compareTo: function(refNode) { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "compareTo", 1036); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1037); -var node = this.node; - - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1039); -return node === refNode; - }, - - /** - * Test if the supplied node matches the supplied selector. - * - * @method test - * @param {String} selector The CSS selector to test against. - * @return Boolean Wheter or not the shape matches the selector. - */ - test: function(selector) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "test", 1049); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1051); -return Y_SELECTOR.test(this.node, selector); - }, - - /** - * Calculates and returns properties for setting an initial stroke. - * - * @method _getStrokeProps - * @return Object - * - * @private - */ - _getStrokeProps: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_getStrokeProps", 1062); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1064); -var props, - stroke = this.get("stroke"), - strokeOpacity, - dashstyle, - dash = "", - val, - i = 0, - len, - linecap, - linejoin; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1074); -if(stroke && stroke.weight && stroke.weight > 0) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1076); -props = {}; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1077); -linecap = stroke.linecap || "flat"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1078); -linejoin = stroke.linejoin || "round"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1079); -if(linecap != "round" && linecap != "square") - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1081); -linecap = "flat"; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1083); -strokeOpacity = parseFloat(stroke.opacity); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1084); -dashstyle = stroke.dashstyle || "none"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1085); -stroke.color = stroke.color || "#000000"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1086); -stroke.weight = stroke.weight || 1; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1087); -stroke.opacity = IS_NUM(strokeOpacity) ? strokeOpacity : 1; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1088); -props.stroked = true; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1089); -props.color = stroke.color; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1090); -props.weight = stroke.weight; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1091); -props.endcap = linecap; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1092); -props.opacity = stroke.opacity; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1093); -if(IS_ARRAY(dashstyle)) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1095); -dash = []; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1096); -len = dashstyle.length; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1097); -for(i = 0; i < len; ++i) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1099); -val = dashstyle[i]; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1100); -dash[i] = val / stroke.weight; - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1103); -if(linejoin == "round" || linejoin == "bevel") - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1105); -props.joinstyle = linejoin; - } - else - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1109); -linejoin = parseInt(linejoin, 10); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1110); -if(IS_NUM(linejoin)) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1112); -props.miterlimit = Math.max(linejoin, 1); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1113); -props.joinstyle = "miter"; - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1116); -props.dashstyle = dash; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1118); -return props; - }, - - /** - * Adds a stroke to the shape node. - * - * @method _strokeChangeHandler - * @private - */ - _strokeChangeHandler: function(e) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_strokeChangeHandler", 1127); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1129); -if(!this._strokeFlag) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1131); -return; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1133); -var node = this.node, - stroke = this.get("stroke"), - strokeOpacity, - dashstyle, - dash = "", - val, - i = 0, - len, - linecap, - linejoin; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1143); -if(stroke && stroke.weight && stroke.weight > 0) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1145); -linecap = stroke.linecap || "flat"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1146); -linejoin = stroke.linejoin || "round"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1147); -if(linecap != "round" && linecap != "square") - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1149); -linecap = "flat"; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1151); -strokeOpacity = parseFloat(stroke.opacity); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1152); -dashstyle = stroke.dashstyle || "none"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1153); -stroke.color = stroke.color || "#000000"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1154); -stroke.weight = stroke.weight || 1; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1155); -stroke.opacity = IS_NUM(strokeOpacity) ? strokeOpacity : 1; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1156); -node.stroked = true; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1157); -node.strokeColor = stroke.color; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1158); -node.strokeWeight = stroke.weight + "px"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1159); -if(!this._strokeNode) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1161); -this._strokeNode = this._createGraphicNode("stroke"); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1162); -node.appendChild(this._strokeNode); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1164); -this._strokeNode.endcap = linecap; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1165); -this._strokeNode.opacity = stroke.opacity; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1166); -if(IS_ARRAY(dashstyle)) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1168); -dash = []; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1169); -len = dashstyle.length; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1170); -for(i = 0; i < len; ++i) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1172); -val = dashstyle[i]; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1173); -dash[i] = val / stroke.weight; - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1176); -if(linejoin == "round" || linejoin == "bevel") - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1178); -this._strokeNode.joinstyle = linejoin; - } - else - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1182); -linejoin = parseInt(linejoin, 10); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1183); -if(IS_NUM(linejoin)) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1185); -this._strokeNode.miterlimit = Math.max(linejoin, 1); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1186); -this._strokeNode.joinstyle = "miter"; - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1189); -this._strokeNode.dashstyle = dash; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1190); -this._strokeNode.on = true; - } - else - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1194); -if(this._strokeNode) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1196); -this._strokeNode.on = false; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1198); -node.stroked = false; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1200); -this._strokeFlag = false; - }, - - /** - * Calculates and returns properties for setting an initial fill. - * - * @method _getFillProps - * @return Object - * - * @private - */ - _getFillProps: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_getFillProps", 1211); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1213); -var fill = this.get("fill"), - fillOpacity, - props, - gradient, - i, - fillstring, - filled = false; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1220); -if(fill) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1222); -props = {}; - - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1224); -if(fill.type == "radial" || fill.type == "linear") - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1226); -fillOpacity = parseFloat(fill.opacity); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1227); -fillOpacity = IS_NUM(fillOpacity) ? fillOpacity : 1; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1228); -filled = true; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1229); -gradient = this._getGradientFill(fill); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1230); -fillstring = ''; - } - } - }} - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1256); -props.filled = filled; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1258); -return props; - }, - - /** - * Adds a fill to the shape node. - * - * @method _fillChangeHandler - * @private - */ - _fillChangeHandler: function(e) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_fillChangeHandler", 1267); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1269); -if(!this._fillFlag) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1271); -return; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1273); -var node = this.node, - fill = this.get("fill"), - fillOpacity, - fillstring, - filled = false, - i, - gradient; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1280); -if(fill) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1282); -if(fill.type == "radial" || fill.type == "linear") - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1284); -filled = true; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1285); -gradient = this._getGradientFill(fill); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1286); -if(this._fillNode) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1288); -for(i in gradient) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1290); -if(gradient.hasOwnProperty(i)) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1292); -if(i == "colors") - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1294); -this._fillNode.colors.value = gradient[i]; - } - else - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1298); -this._fillNode[i] = gradient[i]; - } - } - } - } - else - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1305); -fillstring = ''; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1337); -this._fillNode = DOCUMENT.createElement(fillstring); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1338); -node.appendChild(this._fillNode); - } - } - else {_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1341); -if(this._fillNode) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1343); -this._fillNode.opacity = 1; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1344); -this._fillNode.type = "solid"; - }} - }} - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1348); -node.filled = filled; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1349); -this._fillFlag = false; - }, - - //not used. remove next release. - _updateFillNode: function(node) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_updateFillNode", 1353); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1355); -if(!this._fillNode) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1357); -this._fillNode = this._createGraphicNode("fill"); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1358); -node.appendChild(this._fillNode); - } - }, - - /** - * Calculates and returns an object containing gradient properties for a fill node. - * - * @method _getGradientFill - * @param {Object} fill Object containing fill properties. - * @return Object - * @private - */ - _getGradientFill: function(fill) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_getGradientFill", 1370); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1372); -var gradientProps = {}, - gradientBoxWidth, - gradientBoxHeight, - type = fill.type, - w = this.get("width"), - h = this.get("height"), - isNumber = IS_NUM, - stop, - stops = fill.stops, - len = stops.length, - opacity, - color, - i, - oi, - colorstring = "", - cx = fill.cx, - cy = fill.cy, - fx = fill.fx, - fy = fill.fy, - r = fill.r, - pct, - rotation = fill.rotation || 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1394); -if(type === "linear") - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1396); -if(rotation <= 270) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1398); -rotation = Math.abs(rotation - 270); - } - else {_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1400); -if(rotation < 360) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1402); -rotation = 270 + (360 - rotation); - } - else - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1406); -rotation = 270; - }} - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1408); -gradientProps.type = "gradient";//"gradientunscaled"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1409); -gradientProps.angle = rotation; - } - else {_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1411); -if(type === "radial") - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1413); -gradientBoxWidth = w * (r * 2); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1414); -gradientBoxHeight = h * (r * 2); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1415); -fx = r * 2 * (fx - 0.5); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1416); -fy = r * 2 * (fy - 0.5); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1417); -fx += cx; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1418); -fy += cy; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1419); -gradientProps.focussize = (gradientBoxWidth/w)/10 + "% " + (gradientBoxHeight/h)/10 + "%"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1420); -gradientProps.alignshape = false; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1421); -gradientProps.type = "gradientradial"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1422); -gradientProps.focus = "100%"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1423); -gradientProps.focusposition = Math.round(fx * 100) + "% " + Math.round(fy * 100) + "%"; - }} - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1425); -for(i = 0;i < len; ++i) { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1426); -stop = stops[i]; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1427); -color = stop.color; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1428); -opacity = stop.opacity; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1429); -opacity = isNumber(opacity) ? opacity : 1; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1430); -pct = stop.offset || i/(len-1); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1431); -pct *= (r * 2); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1432); -pct = Math.round(100 * pct) + "%"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1433); -oi = i > 0 ? i + 1 : ""; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1434); -gradientProps["opacity" + oi] = opacity + ""; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1435); -colorstring += ", " + pct + " " + color; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1437); -if(parseFloat(pct) < 100) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1439); -colorstring += ", 100% " + color; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1441); -gradientProps.colors = colorstring.substr(2); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1442); -return gradientProps; - }, - - /** - * Adds a transform to the shape. - * - * @method _addTransform - * @param {String} type The transform being applied. - * @param {Array} args The arguments for the transform. - * @private - */ - _addTransform: function(type, args) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_addTransform", 1453); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1455); -args = Y.Array(args); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1456); -this._transform = Y_LANG.trim(this._transform + " " + type + "(" + args.join(", ") + ")"); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1457); -args.unshift(type); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1458); -this._transforms.push(args); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1459); -if(this.initialized) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1461); -this._updateTransform(); - } - }, - - /** - * Applies all transforms. - * - * @method _updateTransform - * @private - */ - _updateTransform: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_updateTransform", 1471); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1473); -var node = this.node, - key, - transform, - transformOrigin, - x = this.get("x"), - y = this.get("y"), - tx, - ty, - matrix = this.matrix, - normalizedMatrix = this._normalizedMatrix, - isPathShape = this instanceof Y.VMLPath, - i, - len = this._transforms.length; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1486); -if(this._transforms && this._transforms.length > 0) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1488); -transformOrigin = this.get("transformOrigin"); - - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1490); -if(isPathShape) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1492); -normalizedMatrix.translate(this._left, this._top); - } - //vml skew matrix transformOrigin ranges from -0.5 to 0.5. - //subtract 0.5 from values - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1496); -tx = transformOrigin[0] - 0.5; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1497); -ty = transformOrigin[1] - 0.5; - - //ensure the values are within the appropriate range to avoid errors - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1500); -tx = Math.max(-0.5, Math.min(0.5, tx)); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1501); -ty = Math.max(-0.5, Math.min(0.5, ty)); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1502); -for(i = 0; i < len; ++i) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1504); -key = this._transforms[i].shift(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1505); -if(key) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1507); -normalizedMatrix[key].apply(normalizedMatrix, this._transforms[i]); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1508); -matrix[key].apply(matrix, this._transforms[i]); - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1511); -if(isPathShape) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1513); -normalizedMatrix.translate(-this._left, -this._top); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1515); -transform = normalizedMatrix.a + "," + - normalizedMatrix.c + "," + - normalizedMatrix.b + "," + - normalizedMatrix.d + "," + - 0 + "," + - 0; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1522); -this._graphic.addToRedrawQueue(this); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1523); -if(transform) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1525); -if(!this._skew) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1527); -this._skew = DOCUMENT.createElement( ''); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1528); -this.node.appendChild(this._skew); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1530); -this._skew.matrix = transform; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1531); -this._skew.on = true; - //this._skew.offset = this._getSkewOffsetValue(normalizedMatrix.dx) + "px, " + this._getSkewOffsetValue(normalizedMatrix.dy) + "px"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1533); -this._skew.origin = tx + ", " + ty; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1535); -if(this._type != "path") - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1537); -this._transforms = []; - } - //add the translate to the x and y coordinates - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1540); -node.style.left = (x + this._getSkewOffsetValue(normalizedMatrix.dx)) + "px"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1541); -node.style.top = (y + this._getSkewOffsetValue(normalizedMatrix.dy)) + "px"; - }, - - /** - * Normalizes the skew offset values between -32767 and 32767. - * - * @method _getSkewOffsetValue - * @param {Number} val The value to normalize - * @return Number - * @private - */ - _getSkewOffsetValue: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_getSkewOffsetValue", 1552); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1554); -var sign = Y.MatrixUtil.sign(val), - absVal = Math.abs(val); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1556); -val = Math.min(absVal, 32767) * sign; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1557); -return val; - }, - - /** - * Storage for translateX - * - * @property _translateX - * @type Number - * @private - */ - _translateX: 0, - - /** - * Storage for translateY - * - * @property _translateY - * @type Number - * @private - */ - _translateY: 0, - - /** - * Storage for the transform attribute. - * - * @property _transform - * @type String - * @private - */ - _transform: "", - - /** - * Specifies a 2d translation. - * - * @method translate - * @param {Number} x The value to translate on the x-axis. - * @param {Number} y The value to translate on the y-axis. - */ - translate: function(x, y) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "translate", 1594); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1596); -this._translateX += x; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1597); -this._translateY += y; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1598); -this._addTransform("translate", arguments); - }, - - /** - * Translates the shape along the x-axis. When translating x and y coordinates, - * use the `translate` method. - * - * @method translateX - * @param {Number} x The value to translate. - */ - translateX: function(x) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "translateX", 1608); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1610); -this._translateX += x; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1611); -this._addTransform("translateX", arguments); - }, - - /** - * Performs a translate on the y-coordinate. When translating x and y coordinates, - * use the `translate` method. - * - * @method translateY - * @param {Number} y The value to translate. - */ - translateY: function(y) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "translateY", 1621); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1623); -this._translateY += y; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1624); -this._addTransform("translateY", arguments); - }, - - /** - * Skews the shape around the x-axis and y-axis. - * - * @method skew - * @param {Number} x The value to skew on the x-axis. - * @param {Number} y The value to skew on the y-axis. - */ - skew: function(x, y) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "skew", 1634); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1636); -this._addTransform("skew", arguments); - }, - - /** - * Skews the shape around the x-axis. - * - * @method skewX - * @param {Number} x x-coordinate - */ - skewX: function(x) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "skewX", 1645); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1647); -this._addTransform("skewX", arguments); - }, - - /** - * Skews the shape around the y-axis. - * - * @method skewY - * @param {Number} y y-coordinate - */ - skewY: function(y) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "skewY", 1656); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1658); -this._addTransform("skewY", arguments); - }, - - /** - * Rotates the shape clockwise around it transformOrigin. - * - * @method rotate - * @param {Number} deg The degree of the rotation. - */ - rotate: function(deg) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "rotate", 1667); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1669); -this._addTransform("rotate", arguments); - }, - - /** - * Specifies a 2d scaling operation. - * - * @method scale - * @param {Number} val - */ - scale: function(x, y) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "scale", 1678); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1680); -this._addTransform("scale", arguments); - }, - - /** - * Overrides default `on` method. Checks to see if its a dom interaction event. If so, - * return an event attached to the `node` element. If not, return the normal functionality. - * - * @method on - * @param {String} type event type - * @param {Object} callback function - * @private - */ - on: function(type, fn) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "on", 1692); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1694); -if(Y.Node.DOM_EVENTS[type]) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1696); -return Y.one("#" + this.get("id")).on(type, fn); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1698); -return Y.on.apply(this, arguments); - }, - - /** - * Draws the shape. - * - * @method _draw - * @private - */ - _draw: function() - { - }, - - /** - * Updates `Shape` based on attribute changes. - * - * @method _updateHandler - * @private - */ - _updateHandler: function(e) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_updateHandler", 1717); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1719); -var host = this, - node = host.node; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1721); -host._fillChangeHandler(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1722); -host._strokeChangeHandler(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1723); -node.style.width = this.get("width") + "px"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1724); -node.style.height = this.get("height") + "px"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1725); -this._draw(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1726); -host._updateTransform(); - }, - - /** - * Creates a graphic node - * - * @method _createGraphicNode - * @param {String} type node type to create - * @return HTMLElement - * @private - */ - _createGraphicNode: function(type) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_createGraphicNode", 1737); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1739); -type = type || this._type; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1740); -return DOCUMENT.createElement('<' + type + ' xmlns="urn:schemas-microsft.com:vml" style="behavior:url(#default#VML);display:inline-block;" class="vml' + type + '"/>'); - }, - - /** - * Value function for fill attribute - * - * @private - * @method _getDefaultFill - * @return Object - */ - _getDefaultFill: function() { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_getDefaultFill", 1750); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1751); -return { - type: "solid", - opacity: 1, - cx: 0.5, - cy: 0.5, - fx: 0.5, - fy: 0.5, - r: 0.5 - }; - }, - - /** - * Value function for stroke attribute - * - * @private - * @method _getDefaultStroke - * @return Object - */ - _getDefaultStroke: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_getDefaultStroke", 1769); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1771); -return { - weight: 1, - dashstyle: "none", - color: "#000", - opacity: 1.0 - }; - }, - - /** - * Sets the value of an attribute. - * - * @method set - * @param {String|Object} name The name of the attribute. Alternatively, an object of key value pairs can - * be passed in to set multiple attributes at once. - * @param {Any} value The value to set the attribute to. This value is ignored if an object is received as - * the name param. - */ - set: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "set", 1788); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1790); -var host = this; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1791); -AttributeLite.prototype.set.apply(host, arguments); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1792); -if(host.initialized) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1794); -host._updateHandler(); - } - }, - - /** - * Returns the bounds for a shape. - * - * Calculates the a new bounding box from the original corner coordinates (base on size and position) and the transform matrix. - * The calculated bounding box is used by the graphic instance to calculate its viewBox. - * - * @method getBounds - * @return Object - */ - getBounds: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getBounds", 1807); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1809); -var isPathShape = this instanceof Y.VMLPath, - w = this.get("width"), - h = this.get("height"), - x = this.get("x"), - y = this.get("y"); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1814); -if(isPathShape) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1816); -x = x + this._left; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1817); -y = y + this._top; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1818); -w = this._right - this._left; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1819); -h = this._bottom - this._top; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1821); -return this._getContentRect(w, h, x, y); - }, - - /** - * Calculates the bounding box for the shape. - * - * @method _getContentRect - * @param {Number} w width of the shape - * @param {Number} h height of the shape - * @param {Number} x x-coordinate of the shape - * @param {Number} y y-coordinate of the shape - * @private - */ - _getContentRect: function(w, h, x, y) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_getContentRect", 1834); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1836); -var transformOrigin = this.get("transformOrigin"), - transformX = transformOrigin[0] * w, - transformY = transformOrigin[1] * h, - transforms = this.matrix.getTransformArray(this.get("transform")), - matrix = new Y.Matrix(), - i, - len = transforms.length, - transform, - key, - contentRect, - isPathShape = this instanceof Y.VMLPath; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1847); -if(isPathShape) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1849); -matrix.translate(this._left, this._top); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1851); -transformX = !isNaN(transformX) ? transformX : 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1852); -transformY = !isNaN(transformY) ? transformY : 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1853); -matrix.translate(transformX, transformY); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1854); -for(i = 0; i < len; i = i + 1) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1856); -transform = transforms[i]; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1857); -key = transform.shift(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1858); -if(key) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1860); -matrix[key].apply(matrix, transform); - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1863); -matrix.translate(-transformX, -transformY); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1864); -if(isPathShape) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1866); -matrix.translate(-this._left, -this._top); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1868); -contentRect = matrix.getContentRect(w, h, x, y); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1869); -return contentRect; - }, - - /** - * Places the shape above all other shapes. - * - * @method toFront - */ - toFront: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "toFront", 1877); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1879); -var graphic = this.get("graphic"); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1880); -if(graphic) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1882); -graphic._toFront(this); - } - }, - - /** - * Places the shape underneath all other shapes. - * - * @method toFront - */ - toBack: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "toBack", 1891); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1893); -var graphic = this.get("graphic"); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1894); -if(graphic) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1896); -graphic._toBack(this); - } - }, - - /** - * Parses path data string and call mapped methods. - * - * @method _parsePathData - * @param {String} val The path data - * @private - */ - _parsePathData: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_parsePathData", 1907); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1909); -var method, - methodSymbol, - args, - commandArray = Y.Lang.trim(val.match(SPLITPATHPATTERN)), - i, - len, - str, - symbolToMethod = this._pathSymbolToMethod; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1917); -if(commandArray) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1919); -this.clear(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1920); -len = commandArray.length || 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1921); -for(i = 0; i < len; i = i + 1) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1923); -str = commandArray[i]; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1924); -methodSymbol = str.substr(0, 1); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1925); -args = str.substr(1).match(SPLITARGSPATTERN); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1926); -method = symbolToMethod[methodSymbol]; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1927); -if(method) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1929); -if(args) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1931); -this[method].apply(this, args); - } - else - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1935); -this[method].apply(this); - } - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1939); -this.end(); - } - }, - - /** - * Destroys shape - * - * @method destroy - */ - destroy: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "destroy", 1948); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1950); -var graphic = this.get("graphic"); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1951); -if(graphic) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1953); -graphic.removeShape(this); - } - else - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1957); -this._destroy(); - } - }, - - /** - * Implementation for shape destruction - * - * @method destroy - * @protected - */ - _destroy: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_destroy", 1967); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1969); -if(this.node) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1971); -if(this._fillNode) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1973); -this.node.removeChild(this._fillNode); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1974); -this._fillNode = null; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1976); -if(this._strokeNode) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1978); -this.node.removeChild(this._strokeNode); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1979); -this._strokeNode = null; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 1981); -Y.one(this.node).remove(true); - } - } -}, Y.VMLDrawing.prototype)); - -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1986); -VMLShape.ATTRS = { - /** - * An array of x, y values which indicates the transformOrigin in which to rotate the shape. Valid values range between 0 and 1 representing a - * fraction of the shape's corresponding bounding box dimension. The default value is [0.5, 0.5]. - * - * @config transformOrigin - * @type Array - */ - transformOrigin: { - valueFn: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "valueFn", 1995); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 1997); -return [0.5, 0.5]; - } - }, - - /** - *

A string containing, in order, transform operations applied to the shape instance. The `transform` string can contain the following values: - * - *

- *
rotate
Rotates the shape clockwise around it transformOrigin.
- *
translate
Specifies a 2d translation.
- *
skew
Skews the shape around the x-axis and y-axis.
- *
scale
Specifies a 2d scaling operation.
- *
translateX
Translates the shape along the x-axis.
- *
translateY
Translates the shape along the y-axis.
- *
skewX
Skews the shape around the x-axis.
- *
skewY
Skews the shape around the y-axis.
- *
matrix
Specifies a 2D transformation matrix comprised of the specified six values.
- *
- *

- *

Applying transforms through the transform attribute will reset the transform matrix and apply a new transform. The shape class also contains - * corresponding methods for each transform that will apply the transform to the current matrix. The below code illustrates how you might use the - * `transform` attribute to instantiate a recangle with a rotation of 45 degrees.

- var myRect = new Y.Rect({ - type:"rect", - width: 50, - height: 40, - transform: "rotate(45)" - }; - *

The code below would apply `translate` and `rotate` to an existing shape.

- - myRect.set("transform", "translate(40, 50) rotate(45)"); - * @config transform - * @type String - */ - transform: { - setter: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setter", 2032); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2034); -var i, - len, - transform; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2037); -this.matrix.init(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2038); -this._normalizedMatrix.init(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2039); -this._transforms = this.matrix.getTransformArray(val); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2040); -len = this._transforms.length; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2041); -for(i = 0;i < len; ++i) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2043); -transform = this._transforms[i]; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2045); -this._transform = val; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2046); -return val; - }, - - getter: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getter", 2049); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2051); -return this._transform; - } - }, - - /** - * Indicates the x position of shape. - * - * @config x - * @type Number - */ - x: { - value: 0 - }, - - /** - * Indicates the y position of shape. - * - * @config y - * @type Number - */ - y: { - value: 0 - }, - - /** - * Unique id for class instance. - * - * @config id - * @type String - */ - id: { - valueFn: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "valueFn", 2082); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2084); -return Y.guid(); - }, - - setter: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setter", 2087); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2089); -var node = this.node; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2090); -if(node) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2092); -node.setAttribute("id", val); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2094); -return val; - } - }, - - /** - * - * @config width - */ - width: { - value: 0 - }, - - /** - * - * @config height - */ - height: { - value: 0 - }, - - /** - * Indicates whether the shape is visible. - * - * @config visible - * @type Boolean - */ - visible: { - value: true, - - setter: function(val){ - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setter", 2123); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2124); -var node = this.node, - visibility = val ? "visible" : "hidden"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2126); -if(node) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2128); -node.style.visibility = visibility; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2130); -return val; - } - }, - - /** - * Contains information about the fill of the shape. - *
- *
color
The color of the fill.
- *
opacity
Number between 0 and 1 that indicates the opacity of the fill. The default value is 1.
- *
type
Type of fill. - *
- *
solid
Solid single color fill. (default)
- *
linear
Linear gradient fill.
- *
radial
Radial gradient fill.
- *
- *
- *
- *

If a `linear` or `radial` is specified as the fill type. The following additional property is used: - *

- *
stops
An array of objects containing the following properties: - *
- *
color
The color of the stop.
- *
opacity
Number between 0 and 1 that indicates the opacity of the stop. The default value is 1. - * Note: No effect for IE 6 - 8
- *
offset
Number between 0 and 1 indicating where the color stop is positioned.
- *
- *
- *

Linear gradients also have the following property:

- *
rotation
Linear gradients flow left to right by default. The rotation property allows you to change the - * flow by rotation. (e.g. A rotation of 180 would make the gradient pain from right to left.)
- *

Radial gradients have the following additional properties:

- *
r
Radius of the gradient circle.
- *
fx
Focal point x-coordinate of the gradient.
- *
fy
Focal point y-coordinate of the gradient.
- *
- *

The corresponding `SVGShape` class implements the following additional properties.

- *
- *
cx
- *

The x-coordinate of the center of the gradient circle. Determines where the color stop begins. The default value 0.5.

- *

Note: Currently, this property is not implemented for corresponding `CanvasShape` and - * `VMLShape` classes which are used on Android or IE 6 - 8.

- *
- *
cy
- *

The y-coordinate of the center of the gradient circle. Determines where the color stop begins. The default value 0.5.

- *

Note: Currently, this property is not implemented for corresponding `CanvasShape` and `VMLShape` - * classes which are used on Android or IE 6 - 8.

- *
- *
- *

These properties are not currently implemented in `CanvasShape` or `VMLShape`.

- * - * @config fill - * @type Object - */ - fill: { - valueFn: "_getDefaultFill", - - setter: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setter", 2186); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2188); -var i, - fill, - tmpl = this.get("fill") || this._getDefaultFill(); - - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2192); -if(val) - { - //ensure, fill type is solid if color is explicitly passed. - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2195); -if(val.hasOwnProperty("color")) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2197); -val.type = "solid"; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2199); -for(i in val) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2201); -if(val.hasOwnProperty(i)) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2203); -tmpl[i] = val[i]; - } - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2207); -fill = tmpl; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2208); -if(fill && fill.color) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2210); -if(fill.color === undefined || fill.color == "none") - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2212); -fill.color = null; - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2215); -this._fillFlag = true; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2216); -return fill; - } - }, - - /** - * Contains information about the stroke of the shape. - *
- *
color
The color of the stroke.
- *
weight
Number that indicates the width of the stroke.
- *
opacity
Number between 0 and 1 that indicates the opacity of the stroke. The default value is 1.
- *
dashstyle
Indicates whether to draw a dashed stroke. When set to "none", a solid stroke is drawn. When set - * to an array, the first index indicates the length of the dash. The second index indicates the length of gap. - *
linecap
Specifies the linecap for the stroke. The following values can be specified: - *
- *
butt (default)
Specifies a butt linecap.
- *
square
Specifies a sqare linecap.
- *
round
Specifies a round linecap.
- *
- *
- *
linejoin
Specifies a linejoin for the stroke. The following values can be specified: - *
- *
round (default)
Specifies that the linejoin will be round.
- *
bevel
Specifies a bevel for the linejoin.
- *
miter limit
An integer specifying the miter limit of a miter linejoin. If you want to specify a linejoin - * of miter, you simply specify the limit as opposed to having separate miter and miter limit values.
- *
- *
- *
- * - * @config stroke - * @type Object - */ - stroke: { - valueFn: "_getDefaultStroke", - - setter: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setter", 2251); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2253); -var i, - stroke, - wt, - tmpl = this.get("stroke") || this._getDefaultStroke(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2257); -if(val) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2259); -if(val.hasOwnProperty("weight")) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2261); -wt = parseInt(val.weight, 10); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2262); -if(!isNaN(wt)) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2264); -val.weight = wt; - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2267); -for(i in val) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2269); -if(val.hasOwnProperty(i)) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2271); -tmpl[i] = val[i]; - } - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2275); -stroke = tmpl; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2276); -this._strokeFlag = true; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2277); -return stroke; - } - }, - - //Not used. Remove in future. - autoSize: { - value: false - }, - - // Only implemented in SVG - // Determines whether the instance will receive mouse events. - // - // @config pointerEvents - // @type string - // - pointerEvents: { - value: "visiblePainted" - }, - - /** - * Dom node for the shape. - * - * @config node - * @type HTMLElement - * @readOnly - */ - node: { - readOnly: true, - - getter: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getter", 2306); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2308); -return this.node; - } - }, - - /** - * Represents an SVG Path string. This will be parsed and added to shape's API to represent the SVG data across all - * implementations. Note that when using VML or SVG implementations, part of this content will be added to the DOM using - * respective VML/SVG attributes. If your content comes from an untrusted source, you will need to ensure that no - * malicious code is included in that content. - * - * @config data - * @type String - */ - data: { - setter: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setter", 2322); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2324); -if(this.get("node")) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2326); -this._parsePathData(val); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2328); -return val; - } - }, - - /** - * Reference to the container Graphic. - * - * @config graphic - * @type Graphic - */ - graphic: { - readOnly: true, - - getter: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getter", 2341); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2343); -return this._graphic; - } - } -}; -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2347); -Y.VMLShape = VMLShape; -/** - * VML implementation of the `Path` class. - * `VMLPath` is not intended to be used directly. Instead, use the `Path` class. - * If the browser lacks SVG and Canvas - * capabilities, the `Path` class will point to the `VMLPath` class. - * - * @module graphics - * @class VMLPath - * @extends VMLShape - */ -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2358); -VMLPath = function() -{ - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "VMLPath", 2358); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2360); -VMLPath.superclass.constructor.apply(this, arguments); -}; - -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2363); -VMLPath.NAME = "path"; -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2364); -Y.extend(VMLPath, Y.VMLShape); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2365); -VMLPath.ATTRS = Y.merge(Y.VMLShape.ATTRS, { - /** - * Indicates the width of the shape - * - * @config width - * @type Number - */ - width: { - getter: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getter", 2373); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2375); -var val = Math.max(this._right - this._left, 0); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2376); -return val; - } - }, - - /** - * Indicates the height of the shape - * - * @config height - * @type Number - */ - height: { - getter: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getter", 2387); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2389); -return Math.max(this._bottom - this._top, 0); - } - }, - - /** - * Indicates the path used for the node. - * - * @config path - * @type String - * @readOnly - */ - path: { - readOnly: true, - - getter: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getter", 2403); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2405); -return this._path; - } - } -}); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2409); -Y.VMLPath = VMLPath; -/** - * VML implementation of the `Rect` class. - * `VMLRect` is not intended to be used directly. Instead, use the `Rect` class. - * If the browser lacks SVG and Canvas - * capabilities, the `Rect` class will point to the `VMLRect` class. - * - * @module graphics - * @class VMLRect - * @constructor - */ -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2420); -VMLRect = function() -{ - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "VMLRect", 2420); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2422); -VMLRect.superclass.constructor.apply(this, arguments); -}; -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2424); -VMLRect.NAME = "rect"; -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2425); -Y.extend(VMLRect, Y.VMLShape, { - /** - * Indicates the type of shape - * - * @property _type - * @type String - * @private - */ - _type: "rect" -}); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2435); -VMLRect.ATTRS = Y.VMLShape.ATTRS; -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2436); -Y.VMLRect = VMLRect; -/** - * VML implementation of the `Ellipse` class. - * `VMLEllipse` is not intended to be used directly. Instead, use the `Ellipse` class. - * If the browser lacks SVG and Canvas - * capabilities, the `Ellipse` class will point to the `VMLEllipse` class. - * - * @module graphics - * @class VMLEllipse - * @constructor - */ -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2447); -VMLEllipse = function() -{ - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "VMLEllipse", 2447); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2449); -VMLEllipse.superclass.constructor.apply(this, arguments); -}; - -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2452); -VMLEllipse.NAME = "ellipse"; - -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2454); -Y.extend(VMLEllipse, Y.VMLShape, { - /** - * Indicates the type of shape - * - * @property _type - * @type String - * @private - */ - _type: "oval" -}); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2464); -VMLEllipse.ATTRS = Y.merge(Y.VMLShape.ATTRS, { - /** - * Horizontal radius for the ellipse. - * - * @config xRadius - * @type Number - */ - xRadius: { - lazyAdd: false, - - getter: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getter", 2474); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2476); -var val = this.get("width"); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2477); -val = Math.round((val/2) * 100)/100; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2478); -return val; - }, - - setter: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setter", 2481); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2483); -var w = val * 2; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2484); -this.set("width", w); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2485); -return val; - } - }, - - /** - * Vertical radius for the ellipse. - * - * @config yRadius - * @type Number - * @readOnly - */ - yRadius: { - lazyAdd: false, - - getter: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getter", 2499); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2501); -var val = this.get("height"); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2502); -val = Math.round((val/2) * 100)/100; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2503); -return val; - }, - - setter: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setter", 2506); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2508); -var h = val * 2; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2509); -this.set("height", h); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2510); -return val; - } - } -}); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2514); -Y.VMLEllipse = VMLEllipse; -/** - * VML implementation of the `Circle` class. - * `VMLCircle` is not intended to be used directly. Instead, use the `Circle` class. - * If the browser lacks SVG and Canvas - * capabilities, the `Circle` class will point to the `VMLCircle` class. - * - * @module graphics - * @class VMLCircle - * @constructor - */ -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2525); -VMLCircle = function(cfg) -{ - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "VMLCircle", 2525); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2527); -VMLCircle.superclass.constructor.apply(this, arguments); -}; - -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2530); -VMLCircle.NAME = "circle"; - -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2532); -Y.extend(VMLCircle, VMLShape, { - /** - * Indicates the type of shape - * - * @property _type - * @type String - * @private - */ - _type: "oval" -}); - -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2543); -VMLCircle.ATTRS = Y.merge(VMLShape.ATTRS, { - /** - * Radius for the circle. - * - * @config radius - * @type Number - */ - radius: { - lazyAdd: false, - - value: 0 - }, - - /** - * Indicates the width of the shape - * - * @config width - * @type Number - */ - width: { - setter: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setter", 2563); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2565); -this.set("radius", val/2); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2566); -return val; - }, - - getter: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getter", 2569); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2571); -var radius = this.get("radius"), - val = radius && radius > 0 ? radius * 2 : 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2573); -return val; - } - }, - - /** - * Indicates the height of the shape - * - * @config height - * @type Number - */ - height: { - setter: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setter", 2584); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2586); -this.set("radius", val/2); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2587); -return val; - }, - - getter: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getter", 2590); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2592); -var radius = this.get("radius"), - val = radius && radius > 0 ? radius * 2 : 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2594); -return val; - } - } -}); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2598); -Y.VMLCircle = VMLCircle; -/** - * Draws pie slices - * - * @module graphics - * @class VMLPieSlice - * @constructor - */ -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2606); -VMLPieSlice = function() -{ - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "VMLPieSlice", 2606); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2608); -VMLPieSlice.superclass.constructor.apply(this, arguments); -}; -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2610); -VMLPieSlice.NAME = "vmlPieSlice"; -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2611); -Y.extend(VMLPieSlice, Y.VMLShape, Y.mix({ - /** - * Indicates the type of shape - * - * @property _type - * @type String - * @private - */ - _type: "shape", - - /** - * Change event listener - * - * @private - * @method _updateHandler - */ - _draw: function(e) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_draw", 2627); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2629); -var x = this.get("cx"), - y = this.get("cy"), - startAngle = this.get("startAngle"), - arc = this.get("arc"), - radius = this.get("radius"); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2634); -this.clear(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2635); -this.drawWedge(x, y, startAngle, arc, radius); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2636); -this.end(); - } - }, Y.VMLDrawing.prototype)); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2639); -VMLPieSlice.ATTRS = Y.mix({ - cx: { - value: 0 - }, - - cy: { - value: 0 - }, - /** - * Starting angle in relation to a circle in which to begin the pie slice drawing. - * - * @config startAngle - * @type Number - */ - startAngle: { - value: 0 - }, - - /** - * Arc of the slice. - * - * @config arc - * @type Number - */ - arc: { - value: 0 - }, - - /** - * Radius of the circle in which the pie slice is drawn - * - * @config radius - * @type Number - */ - radius: { - value: 0 - } -}, Y.VMLShape.ATTRS); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2677); -Y.VMLPieSlice = VMLPieSlice; -/** - * VML implementation of the `Graphic` class. - * `VMLGraphic` is not intended to be used directly. Instead, use the `Graphic` class. - * If the browser lacks SVG and Canvas - * capabilities, the `Graphic` class will point to the `VMLGraphic` class. - * - * @module graphics - * @class VMLGraphic - * @constructor - */ -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2688); -VMLGraphic = function() { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "VMLGraphic", 2688); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2689); -VMLGraphic.superclass.constructor.apply(this, arguments); -}; - -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2692); -VMLGraphic.NAME = "vmlGraphic"; - -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2694); -VMLGraphic.ATTRS = { - /** - * Whether or not to render the `Graphic` automatically after to a specified parent node after init. This can be a Node - * instance or a CSS selector string. - * - * @config render - * @type Node | String - */ - render: {}, - - /** - * Unique id for class instance. - * - * @config id - * @type String - */ - id: { - valueFn: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "valueFn", 2711); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2713); -return Y.guid(); - }, - - setter: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setter", 2716); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2718); -var node = this._node; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2719); -if(node) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2721); -node.setAttribute("id", val); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2723); -return val; - } - }, - - /** - * Key value pairs in which a shape instance is associated with its id. - * - * @config shapes - * @type Object - * @readOnly - */ - shapes: { - readOnly: true, - - getter: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getter", 2737); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2739); -return this._shapes; - } - }, - - /** - * Object containing size and coordinate data for the content of a Graphic in relation to the coordSpace node. - * - * @config contentBounds - * @type Object - */ - contentBounds: { - readOnly: true, - - getter: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getter", 2752); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2754); -return this._contentBounds; - } - }, - - /** - * The html element that represents to coordinate system of the Graphic instance. - * - * @config node - * @type HTMLElement - */ - node: { - readOnly: true, - - getter: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getter", 2767); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2769); -return this._node; - } - }, - - /** - * Indicates the width of the `Graphic`. - * - * @config width - * @type Number - */ - width: { - setter: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setter", 2780); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2782); -if(this._node) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2784); -this._node.style.width = val + "px"; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2786); -return val; - } - }, - - /** - * Indicates the height of the `Graphic`. - * - * @config height - * @type Number - */ - height: { - setter: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setter", 2797); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2799); -if(this._node) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2801); -this._node.style.height = val + "px"; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2803); -return val; - } - }, - - /** - * Determines the sizing of the Graphic. - * - *
- *
sizeContentToGraphic
The Graphic's width and height attributes are, either explicitly set through the - * width and height attributes or are determined by the dimensions of the parent element. The - * content contained in the Graphic will be sized to fit with in the Graphic instance's dimensions. When using this - * setting, the preserveAspectRatio attribute will determine how the contents are sized.
- *
sizeGraphicToContent
(Also accepts a value of true) The Graphic's width and height are determined by the - * size and positioning of the content.
- *
false
The Graphic's width and height attributes are, either explicitly set through the width - * and height attributes or are determined by the dimensions of the parent element. The contents of the - * Graphic instance are not affected by this setting.
- *
- * - * - * @config autoSize - * @type Boolean | String - * @default false - */ - autoSize: { - value: false - }, - - /** - * Determines how content is sized when autoSize is set to sizeContentToGraphic. - * - *
- *
none
Do not force uniform scaling. Scale the graphic content of the given element non-uniformly if necessary - * such that the element's bounding box exactly matches the viewport rectangle.
- *
xMinYMin
Force uniform scaling position along the top left of the Graphic's node.
- *
xMidYMin
Force uniform scaling horizontally centered and positioned at the top of the Graphic's node.
- *
xMaxYMin
Force uniform scaling positioned horizontally from the right and vertically from the top.
- *
xMinYMid
Force uniform scaling positioned horizontally from the left and vertically centered. - *
xMidYMid (the default)
Force uniform scaling with the content centered.
- *
xMaxYMid
Force uniform scaling positioned horizontally from the right and vertically centered.
- *
xMinYMax
Force uniform scaling positioned horizontally from the left and vertically from the bottom.
- *
xMidYMax
Force uniform scaling horizontally centered and position vertically from the bottom.
- *
xMaxYMax
Force uniform scaling positioned horizontally from the right and vertically from the bottom.
- *
- * - * @config preserveAspectRatio - * @type String - * @default xMidYMid - */ - preserveAspectRatio: { - value: "xMidYMid" - }, - - /** - * The contentBounds will resize to greater values but not values. (for performance) - * When resizing the contentBounds down is desirable, set the resizeDown value to true. - * - * @config resizeDown - * @type Boolean - */ - resizeDown: { - resizeDown: false - }, - - /** - * Indicates the x-coordinate for the instance. - * - * @config x - * @type Number - */ - x: { - getter: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getter", 2874); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2876); -return this._x; - }, - - setter: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setter", 2879); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2881); -this._x = val; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2882); -if(this._node) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2884); -this._node.style.left = val + "px"; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2886); -return val; - } - }, - - /** - * Indicates the y-coordinate for the instance. - * - * @config y - * @type Number - */ - y: { - getter: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getter", 2897); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2899); -return this._y; - }, - - setter: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setter", 2902); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2904); -this._y = val; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2905); -if(this._node) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2907); -this._node.style.top = val + "px"; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2909); -return val; - } - }, - - /** - * Indicates whether or not the instance will automatically redraw after a change is made to a shape. - * This property will get set to false when batching operations. - * - * @config autoDraw - * @type Boolean - * @default true - * @private - */ - autoDraw: { - value: true - }, - - visible: { - value: true, - - setter: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setter", 2929); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2931); -this._toggleVisible(val); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2932); -return val; - } - } -}; - -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2937); -Y.extend(VMLGraphic, Y.GraphicBase, { - /** - * Sets the value of an attribute. - * - * @method set - * @param {String|Object} name The name of the attribute. Alternatively, an object of key value pairs can - * be passed in to set multiple attributes at once. - * @param {Any} value The value to set the attribute to. This value is ignored if an object is received as - * the name param. - */ - set: function(attr, value) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "set", 2947); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2949); -var host = this, - redrawAttrs = { - autoDraw: true, - autoSize: true, - preserveAspectRatio: true, - resizeDown: true - }, - key, - forceRedraw = false; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2958); -AttributeLite.prototype.set.apply(host, arguments); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2959); -if(host._state.autoDraw === true && Y.Object.size(this._shapes) > 0) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2961); -if(Y_LANG.isString && redrawAttrs[attr]) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2963); -forceRedraw = true; - } - else {_yuitest_coverline("build/graphics-vml/graphics-vml.js", 2965); -if(Y_LANG.isObject(attr)) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2967); -for(key in redrawAttrs) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2969); -if(redrawAttrs.hasOwnProperty(key) && attr[key]) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2971); -forceRedraw = true; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2972); -break; - } - } - }} - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2977); -if(forceRedraw) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 2979); -host._redraw(); - } - }, - - /** - * Storage for `x` attribute. - * - * @property _x - * @type Number - * @private - */ - _x: 0, - - /** - * Storage for `y` attribute. - * - * @property _y - * @type Number - * @private - */ - _y: 0, - - /** - * Gets the current position of the graphic instance in page coordinates. - * - * @method getXY - * @return Array The XY position of the shape. - */ - getXY: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getXY", 3007); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3009); -var node = this.parentNode, - x = this.get("x"), - y = this.get("y"), - xy; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3013); -if(node) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3015); -xy = Y.one(node).getXY(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3016); -xy[0] += x; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3017); -xy[1] += y; - } - else - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3021); -xy = Y.DOM._getOffset(this._node); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3023); -return xy; - }, - - /** - * Initializes the class. - * - * @method initializer - * @private - */ - initializer: function(config) { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "initializer", 3032); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3033); -var render = this.get("render"), - visibility = this.get("visible") ? "visible" : "hidden"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3035); -this._shapes = {}; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3036); -this._contentBounds = { - left: 0, - top: 0, - right: 0, - bottom: 0 - }; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3042); -this._node = this._createGraphic(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3043); -this._node.style.left = this.get("x") + "px"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3044); -this._node.style.top = this.get("y") + "px"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3045); -this._node.style.visibility = visibility; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3046); -this._node.setAttribute("id", this.get("id")); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3047); -if(render) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3049); -this.render(render); - } - }, - - /** - * Adds the graphics node to the dom. - * - * @method render - * @param {HTMLElement} parentNode node in which to render the graphics node into. - */ - render: function(render) { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "render", 3059); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3060); -var parentNode = Y.one(render), - w = this.get("width") || parseInt(parentNode.getComputedStyle("width"), 10), - h = this.get("height") || parseInt(parentNode.getComputedStyle("height"), 10); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3063); -parentNode = parentNode || DOCUMENT.body; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3064); -parentNode.appendChild(this._node); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3065); -this.parentNode = parentNode; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3066); -this.set("width", w); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3067); -this.set("height", h); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3068); -return this; - }, - - /** - * Removes all nodes. - * - * @method destroy - */ - destroy: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "destroy", 3076); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3078); -this.clear(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3079); -Y.one(this._node).remove(true); - }, - - /** - * Generates a shape instance by type. - * - * @method addShape - * @param {Object} cfg attributes for the shape - * @return Shape - */ - addShape: function(cfg) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "addShape", 3089); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3091); -cfg.graphic = this; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3092); -if(!this.get("visible")) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3094); -cfg.visible = false; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3096); -var shapeClass = this._getShapeClass(cfg.type), - shape = new shapeClass(cfg); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3098); -this._appendShape(shape); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3099); -shape._appendStrokeAndFill(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3100); -return shape; - }, - - /** - * Adds a shape instance to the graphic instance. - * - * @method _appendShape - * @param {Shape} shape The shape instance to be added to the graphic. - * @private - */ - _appendShape: function(shape) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_appendShape", 3110); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3112); -var node = shape.node, - parentNode = this._frag || this._node; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3114); -if(this.get("autoDraw") || this.get("autoSize") == "sizeContentToGraphic") - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3116); -parentNode.appendChild(node); - } - else - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3120); -this._getDocFrag().appendChild(node); - } - }, - - /** - * Removes a shape instance from from the graphic instance. - * - * @method removeShape - * @param {Shape|String} shape The instance or id of the shape to be removed. - */ - removeShape: function(shape) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "removeShape", 3130); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3132); -if(!(shape instanceof VMLShape)) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3134); -if(Y_LANG.isString(shape)) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3136); -shape = this._shapes[shape]; - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3139); -if(shape && (shape instanceof VMLShape)) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3141); -shape._destroy(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3142); -this._shapes[shape.get("id")] = null; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3143); -delete this._shapes[shape.get("id")]; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3145); -if(this.get("autoDraw")) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3147); -this._redraw(); - } - }, - - /** - * Removes all shape instances from the dom. - * - * @method removeAllShapes - */ - removeAllShapes: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "removeAllShapes", 3156); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3158); -var shapes = this._shapes, - i; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3160); -for(i in shapes) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3162); -if(shapes.hasOwnProperty(i)) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3164); -shapes[i].destroy(); - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3167); -this._shapes = {}; - }, - - /** - * Removes all child nodes. - * - * @method _removeChildren - * @param node - * @private - */ - _removeChildren: function(node) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_removeChildren", 3177); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3179); -if(node.hasChildNodes()) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3181); -var child; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3182); -while(node.firstChild) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3184); -child = node.firstChild; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3185); -this._removeChildren(child); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3186); -node.removeChild(child); - } - } - }, - - /** - * Clears the graphics object. - * - * @method clear - */ - clear: function() { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "clear", 3196); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3197); -this.removeAllShapes(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3198); -this._removeChildren(this._node); - }, - - /** - * Toggles visibility - * - * @method _toggleVisible - * @param {Boolean} val indicates visibilitye - * @private - */ - _toggleVisible: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_toggleVisible", 3208); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3210); -var i, - shapes = this._shapes, - visibility = val ? "visible" : "hidden"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3213); -if(shapes) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3215); -for(i in shapes) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3217); -if(shapes.hasOwnProperty(i)) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3219); -shapes[i].set("visible", val); - } - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3223); -if(this._node) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3225); -this._node.style.visibility = visibility; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3227); -if(this._node) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3229); -this._node.style.visibility = visibility; - } - }, - - /** - * Sets the size of the graphics object. - * - * @method setSize - * @param w {Number} width to set for the instance. - * @param h {Number} height to set for the instance. - */ - setSize: function(w, h) { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setSize", 3240); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3241); -w = Math.round(w); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3242); -h = Math.round(h); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3243); -this._node.style.width = w + 'px'; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3244); -this._node.style.height = h + 'px'; - }, - - /** - * Sets the positon of the graphics object. - * - * @method setPosition - * @param {Number} x x-coordinate for the object. - * @param {Number} y y-coordinate for the object. - */ - setPosition: function(x, y) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "setPosition", 3254); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3256); -x = Math.round(x); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3257); -y = Math.round(y); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3258); -this._node.style.left = x + "px"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3259); -this._node.style.top = y + "px"; - }, - - /** - * Creates a group element - * - * @method _createGraphic - * @private - */ - _createGraphic: function() { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_createGraphic", 3268); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3269); -var group = DOCUMENT.createElement(''); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3270); -return group; - }, - - /** - * Creates a graphic node - * - * @method _createGraphicNode - * @param {String} type node type to create - * @param {String} pe specified pointer-events value - * @return HTMLElement - * @private - */ - _createGraphicNode: function(type) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_createGraphicNode", 3282); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3284); -return DOCUMENT.createElement('<' + type + ' xmlns="urn:schemas-microsft.com:vml" style="behavior:url(#default#VML);display:inline-block;zoom:1;" />'); - - }, - - /** - * Returns a shape based on the id of its dom node. - * - * @method getShapeById - * @param {String} id Dom id of the shape's node attribute. - * @return Shape - */ - getShapeById: function(id) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "getShapeById", 3295); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3297); -return this._shapes[id]; - }, - - /** - * Returns a shape class. Used by `addShape`. - * - * @method _getShapeClass - * @param {Shape | String} val Indicates which shape class. - * @return Function - * @private - */ - _getShapeClass: function(val) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_getShapeClass", 3308); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3310); -var shape = this._shapeClass[val]; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3311); -if(shape) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3313); -return shape; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3315); -return val; - }, - - /** - * Look up for shape classes. Used by `addShape` to retrieve a class for instantiation. - * - * @property _shapeClass - * @type Object - * @private - */ - _shapeClass: { - circle: Y.VMLCircle, - rect: Y.VMLRect, - path: Y.VMLPath, - ellipse: Y.VMLEllipse, - pieslice: Y.VMLPieSlice - }, - - /** - * Allows for creating multiple shapes in order to batch appending and redraw operations. - * - * @method batch - * @param {Function} method Method to execute. - */ - batch: function(method) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "batch", 3339); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3341); -var autoDraw = this.get("autoDraw"); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3342); -this.set("autoDraw", false); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3343); -method.apply(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3344); -this.set("autoDraw", autoDraw); - }, - - /** - * Returns a document fragment to for attaching shapes. - * - * @method _getDocFrag - * @return DocumentFragment - * @private - */ - _getDocFrag: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_getDocFrag", 3354); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3356); -if(!this._frag) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3358); -this._frag = DOCUMENT.createDocumentFragment(); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3360); -return this._frag; - }, - - /** - * Adds a shape to the redraw queue and calculates the contentBounds. - * - * @method addToRedrawQueue - * @param shape {VMLShape} - * @protected - */ - addToRedrawQueue: function(shape) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "addToRedrawQueue", 3370); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3372); -var shapeBox, - box; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3374); -this._shapes[shape.get("id")] = shape; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3375); -if(!this.get("resizeDown")) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3377); -shapeBox = shape.getBounds(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3378); -box = this._contentBounds; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3379); -box.left = box.left < shapeBox.left ? box.left : shapeBox.left; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3380); -box.top = box.top < shapeBox.top ? box.top : shapeBox.top; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3381); -box.right = box.right > shapeBox.right ? box.right : shapeBox.right; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3382); -box.bottom = box.bottom > shapeBox.bottom ? box.bottom : shapeBox.bottom; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3383); -box.width = box.right - box.left; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3384); -box.height = box.bottom - box.top; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3385); -this._contentBounds = box; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3387); -if(this.get("autoDraw")) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3389); -this._redraw(); - } - }, - - /** - * Redraws all shapes. - * - * @method _redraw - * @private - */ - _redraw: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_redraw", 3399); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3401); -var autoSize = this.get("autoSize"), - preserveAspectRatio, - node = this.parentNode, - nodeWidth = parseFloat(node.getComputedStyle("width")), - nodeHeight = parseFloat(node.getComputedStyle("height")), - xCoordOrigin = 0, - yCoordOrigin = 0, - box = this.get("resizeDown") ? this._getUpdatedContentBounds() : this._contentBounds, - left = box.left, - right = box.right, - top = box.top, - bottom = box.bottom, - contentWidth = right - left, - contentHeight = bottom - top, - aspectRatio, - xCoordSize, - yCoordSize, - scaledWidth, - scaledHeight, - visible = this.get("visible"); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3421); -this._node.style.visibility = "hidden"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3422); -if(autoSize) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3424); -if(autoSize == "sizeContentToGraphic") - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3426); -preserveAspectRatio = this.get("preserveAspectRatio"); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3427); -if(preserveAspectRatio == "none" || contentWidth/contentHeight === nodeWidth/nodeHeight) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3429); -xCoordOrigin = left; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3430); -yCoordOrigin = top; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3431); -xCoordSize = contentWidth; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3432); -yCoordSize = contentHeight; - } - else - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3436); -if(contentWidth * nodeHeight/contentHeight > nodeWidth) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3438); -aspectRatio = nodeHeight/nodeWidth; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3439); -xCoordSize = contentWidth; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3440); -yCoordSize = contentWidth * aspectRatio; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3441); -scaledHeight = (nodeWidth * (contentHeight/contentWidth)) * (yCoordSize/nodeHeight); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3442); -yCoordOrigin = this._calculateCoordOrigin(preserveAspectRatio.slice(5).toLowerCase(), scaledHeight, yCoordSize); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3443); -yCoordOrigin = top + yCoordOrigin; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3444); -xCoordOrigin = left; - } - else - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3448); -aspectRatio = nodeWidth/nodeHeight; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3449); -xCoordSize = contentHeight * aspectRatio; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3450); -yCoordSize = contentHeight; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3451); -scaledWidth = (nodeHeight * (contentWidth/contentHeight)) * (xCoordSize/nodeWidth); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3452); -xCoordOrigin = this._calculateCoordOrigin(preserveAspectRatio.slice(1, 4).toLowerCase(), scaledWidth, xCoordSize); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3453); -xCoordOrigin = xCoordOrigin + left; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3454); -yCoordOrigin = top; - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3457); -this._node.style.width = nodeWidth + "px"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3458); -this._node.style.height = nodeHeight + "px"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3459); -this._node.coordOrigin = xCoordOrigin + ", " + yCoordOrigin; - } - else - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3463); -xCoordSize = contentWidth; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3464); -yCoordSize = contentHeight; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3465); -this._node.style.width = contentWidth + "px"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3466); -this._node.style.height = contentHeight + "px"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3467); -this._state.width = contentWidth; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3468); -this._state.height = contentHeight; - - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3471); -this._node.coordSize = xCoordSize + ", " + yCoordSize; - } - else - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3475); -this._node.style.width = nodeWidth + "px"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3476); -this._node.style.height = nodeHeight + "px"; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3477); -this._node.coordSize = nodeWidth + ", " + nodeHeight; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3479); -if(this._frag) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3481); -this._node.appendChild(this._frag); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3482); -this._frag = null; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3484); -if(visible) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3486); -this._node.style.visibility = "visible"; - } - }, - - /** - * Determines the value for either an x or y coordinate to be used for the coordOrigin of the Graphic. - * - * @method _calculateCoordOrigin - * @param {String} position The position for placement. Possible values are min, mid and max. - * @param {Number} size The total scaled size of the content. - * @param {Number} coordsSize The coordsSize for the Graphic. - * @return Number - * @private - */ - _calculateCoordOrigin: function(position, size, coordsSize) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_calculateCoordOrigin", 3500); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3502); -var coord; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3503); -switch(position) - { - case "min" : - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3506); -coord = 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3507); -break; - case "mid" : - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3509); -coord = (size - coordsSize)/2; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3510); -break; - case "max" : - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3512); -coord = (size - coordsSize); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3513); -break; - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3515); -return coord; - }, - - /** - * Recalculates and returns the `contentBounds` for the `Graphic` instance. - * - * @method _getUpdatedContentBounds - * @return {Object} - * @private - */ - _getUpdatedContentBounds: function() - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_getUpdatedContentBounds", 3525); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3527); -var bounds, - i, - shape, - queue = this._shapes, - box = {}; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3532); -for(i in queue) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3534); -if(queue.hasOwnProperty(i)) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3536); -shape = queue[i]; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3537); -bounds = shape.getBounds(); - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3538); -box.left = Y_LANG.isNumber(box.left) ? Math.min(box.left, bounds.left) : bounds.left; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3539); -box.top = Y_LANG.isNumber(box.top) ? Math.min(box.top, bounds.top) : bounds.top; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3540); -box.right = Y_LANG.isNumber(box.right) ? Math.max(box.right, bounds.right) : bounds.right; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3541); -box.bottom = Y_LANG.isNumber(box.bottom) ? Math.max(box.bottom, bounds.bottom) : bounds.bottom; - } - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3544); -box.left = Y_LANG.isNumber(box.left) ? box.left : 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3545); -box.top = Y_LANG.isNumber(box.top) ? box.top : 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3546); -box.right = Y_LANG.isNumber(box.right) ? box.right : 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3547); -box.bottom = Y_LANG.isNumber(box.bottom) ? box.bottom : 0; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3548); -this._contentBounds = box; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3549); -return box; - }, - - /** - * Inserts shape on the top of the tree. - * - * @method _toFront - * @param {VMLShape} Shape to add. - * @private - */ - _toFront: function(shape) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_toFront", 3559); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3561); -var contentNode = this._node; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3562); -if(shape instanceof Y.VMLShape) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3564); -shape = shape.get("node"); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3566); -if(contentNode && shape) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3568); -contentNode.appendChild(shape); - } - }, - - /** - * Inserts shape as the first child of the content node. - * - * @method _toBack - * @param {VMLShape} Shape to add. - * @private - */ - _toBack: function(shape) - { - _yuitest_coverfunc("build/graphics-vml/graphics-vml.js", "_toBack", 3579); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3581); -var contentNode = this._node, - targetNode; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3583); -if(shape instanceof Y.VMLShape) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3585); -shape = shape.get("node"); - } - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3587); -if(contentNode && shape) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3589); -targetNode = contentNode.firstChild; - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3590); -if(targetNode) - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3592); -contentNode.insertBefore(shape, targetNode); - } - else - { - _yuitest_coverline("build/graphics-vml/graphics-vml.js", 3596); -contentNode.appendChild(shape); - } - } - } -}); -_yuitest_coverline("build/graphics-vml/graphics-vml.js", 3601); -Y.VMLGraphic = VMLGraphic; - - - -}, '3.9.0', {"requires": ["graphics"]}); diff --git a/lib/yuilib/3.9.0/build/graphics-vml/graphics-vml-min.js b/lib/yuilib/3.9.0/build/graphics-vml/graphics-vml-min.js deleted file mode 100644 index ae974defabd..00000000000 --- a/lib/yuilib/3.9.0/build/graphics-vml/graphics-vml-min.js +++ /dev/null @@ -1,6 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("graphics-vml",function(e,t){function S(){}var n="vml",r="shape",i=/[a-z][^a-z]*/ig,s=/[-]?[0-9]*[0-9|\.][0-9]*/g,o=e.Lang,u=o.isNumber,a=o.isArray,f=o.isString,l=e.DOM,c=e.Selector,h=e.config.doc,p=e.AttributeLite,d,v,m,g,y,b,w,E=e.ClassNameManager.getClassName;S.prototype={_pathSymbolToMethod:{M:"moveTo",m:"relativeMoveTo",L:"lineTo",l:"relativeLineTo",C:"curveTo",c:"relativeCurveTo",Q:"quadraticCurveTo",q:"relativeQuadraticCurveTo",z:"closePath",Z:"closePath"},_coordSpaceMultiplier:100,_round:function(e){return Math.round(e*this._coordSpaceMultiplier)},_addToPath:function(e){this._path=this._path||"",this._movePath&&(this._path+=this._movePath,this._movePath=null),this._path+=e},_currentX:0,_currentY:0,curveTo:function(){return this._curveTo.apply(this,[e.Array(arguments),!1]),this},relativeCurveTo:function(){return this._curveTo.apply(this,[e.Array(arguments),!0]),this},_curveTo:function(e,t){var n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y=t?" v ":" c ",b=t?parseFloat(this._currentX):0,w=t?parseFloat(this._currentY):0;m=e.length-5,g=y;for(v=0;v0&&(g+=", "),g=g+this._round(o)+", "+this._round(u)+", "+this._round(a)+", "+this._round(f)+", "+this._round(i)+", "+this._round(s),o+=b,u+=w,a+=b,f+=w,i+=b,s+=w,c=Math.max(i,Math.max(o,a)),p=Math.max(s,Math.max(u,f)),h=Math.min(i,Math.min(o,a)),d=Math.min(s,Math.min(u,f)),n=Math.abs(c-h),r=Math.abs(p-d),l=[[this._currentX,this._currentY],[o,u],[a,f],[i,s]],this._setCurveBoundingBox(l,n,r),this._currentX=i,this._currentY=s;this._addToPath(g)},quadraticCurveTo:function(){return this._quadraticCurveTo.apply(this,[e.Array(arguments),!1]),this},relativeQuadraticCurveTo:function(){return this._quadraticCurveTo.apply(this,[e.Array(arguments),!0]),this},_quadraticCurveTo:function(e,t){var n,r,i,s,o,u,a,f,l=this._currentX,c=this._currentY,h,p=e.length-3,d=[],v=t?parseFloat(this._currentX):0,m=t?parseFloat(this._currentY):0;for(h=0;h360&&(r=360),this._currentX=e,this._currentY=t,n*=-65535,r*=65536,n=Math.round(n),r=Math.round(r),this.moveTo(e,t),this._addToPath(" ae "+this._round(e)+", "+this._round(t)+", "+this._round(i)+" "+this._round(i)+", "+n+", "+r),this._trackSize(s,s),this},lineTo:function(){return this._lineTo.apply(this,[e.Array(arguments),!1]),this},relativeLineTo:function(){return this._lineTo.apply(this,[e.Array(arguments),!0]),this},_lineTo:function(e,t){var n=e[0],r,i,s,o,u=t?" r ":" l ",a=t?parseFloat(this._currentX):0,f=t?parseFloat(this._currentY):0;if(typeof n=="string"||typeof n=="number"){i=e.length-1;for(r=0;rthis._right&&(this._right=e),ethis._bottom&&(this._bottom=t),this._width=this._right-this._left,this._height=this._bottom-this._top},_left:0,_right:0,_top:0,_bottom:0,_width:0,_height:0},e.VMLDrawing=S,d=function(){this._transforms=[],this.matrix=new e.Matrix,this._normalizedMatrix=new e.Matrix,d.superclass.constructor.apply(this,arguments)},d.NAME="shape",e.extend(d,e.GraphicBase,e.mix({_type:"shape",init:function(){this.initializer.apply(this,arguments)},initializer:function(e){var t=this,n=e.graphic,r=this.get("data");t.createNode(),n&&this._setGraphic(n),r&&t._parsePathData(r),this._updateHandler()},_setGraphic:function(t){var n;t instanceof e.VMLGraphic?this._graphic=t:(t=e.one(t),n=new e.VMLGraphic({render:t}),n._appendShape(this),this._graphic=n,this._appendStrokeAndFill())},_appendStrokeAndFill:function(){this._strokeNode&&this.node.appendChild(this._strokeNode),this._fillNode&&this.node.appendChild(this._fillNode)},createNode:function(){var e,t=this._camelCaseConcat,i=this.get("x"),s=this.get("y"),o=this.get("width"),u=this.get("height"),a,f,l=this.name,c,p=this.get("visible")?"visible":"hidden",d,v,m,g,y,b,w,S,x,T;a=this.get("id"),f=this._type=="path"?"shape":this._type,v=E(r)+" "+E(t(n,r))+" "+E(l)+" "+E(t(n,l))+" "+n+f,m=this._getStrokeProps(),x=this._getFillProps(),c="<"+f+' xmlns="urn:schemas-microsft.com:vml" id="'+a+'" class="'+v+'" style="behavior:url(#default#VML);display:inline-block;position:absolute;left:'+i+"px;top:"+s+"px;width:"+o+"px;height:"+u+"px;visibility:"+p+'"',m&&m.weight&&m.weight>0?(g=m.endcap,y=parseFloat(m.opacity),b=m.joinstyle,w=m.miterlimit,S=m.dashstyle,c+=' stroked="t" strokecolor="'+m.color+'" strokeWeight="'+m.weight+'px"',d='",e=h.createElement(c),this.node=e,this._strokeFlag=!1,this._fillFlag=!1},addClass:function(e){var t=this.node;l.addClass(t,e)},removeClass:function(e){var t=this.node;l.removeClass(t,e)},getXY:function(){var e=this._graphic,t=e.getXY(),n=this.get("x"),r=this.get("y");return[t[0]+n,t[1]+r]},setXY:function(e){var t=this._graphic,n=t.getXY();this.set("x",e[0]-n[0]),this.set("y",e[1]-n[1])},contains:function(t){return t===e.one(this.node)},compareTo:function(e){var t=this.node;return t===e},test:function(e){return c.test(this.node,e)},_getStrokeProps:function(){var e,t=this.get("stroke"),n,r,i="",s,o=0,f,l,c;if(t&&t.weight&&t.weight>0){e={},l=t.linecap||"flat",c=t.linejoin||"round",l!="round"&&l!="square"&&(l="flat"),n=parseFloat(t.opacity),r=t.dashstyle||"none",t.color=t.color||"#000000",t.weight=t.weight||1,t.opacity=u(n)?n:1,e.stroked=!0,e.color=t.color,e.weight=t.weight,e.endcap=l,e.opacity=t.opacity;if(a(r)){i=[],f=r.length;for(o=0;o0){c=n.linecap||"flat",h=n.linejoin||"round",c!="round"&&c!="square"&&(c="flat"),r=parseFloat(n.opacity),i=n.dashstyle||"none",n.color=n.color||"#000000",n.weight=n.weight||1,n.opacity=u(r)?r:1,t.stroked=!0,t.strokeColor=n.color,t.strokeWeight=n.weight+"px",this._strokeNode||(this._strokeNode=this._createGraphicNode("stroke"),t.appendChild(this._strokeNode)),this._strokeNode.endcap=c,this._strokeNode.opacity=n.opacity;if(a(i)){s=[],l=i.length;for(f=0;f')));n.filled=o}return n},_fillChangeHandler:function(e){if(!this._fillFlag)return;var t=this.node,n=this.get("fill"),r,i,s=!1,o,a;if(n)if(n.type=="radial"||n.type=="linear"){s=!0,a=this._getGradientFill(n);if(this._fillNode)for(o in a)a.hasOwnProperty(o)&&(o=="colors"?this._fillNode.colors.value=a[o]:this._fillNode[o]=a[o]);else{i='',this._fillNode=h.createElement(i),t.appendChild(this._fillNode))):this._fillNode&&(this._fillNode.opacity=1,this._fillNode.type="solid"));t.filled=s,this._fillFlag=!1},_updateFillNode:function(e){this._fillNode||(this._fillNode=this._createGraphicNode("fill"),e.appendChild(this._fillNode))},_getGradientFill:function(e){var t={},n,r,i=e.type,s=this.get("width"),o=this.get("height"),a=u,f,l=e.stops,c=l.length,h,p,d,v,m="",g=e.cx,y=e.cy,b=e.fx,w=e.fy,E=e.r,S,x=e.rotation||0;i==="linear"?(x<=270?x=Math.abs(x-270):x<360?x=270+(360-x):x=270,t.type="gradient",t.angle=x):i==="radial"&&(n=s*E*2,r=o*E*2,b=E*2*(b-.5),w=E*2*(w-.5),b+=g,w+=y,t.focussize=n/s/10+"% "+r/o/10+"%",t.alignshape=!1,t.type="gradientradial",t.focus="100%",t.focusposition=Math.round(b*100)+"% "+Math.round(w*100)+"%");for(d=0;d0?d+1:"",t["opacity"+v]=h+"",m+=", "+S+" "+p;return parseFloat(S)<100&&(m+=", 100% "+p),t.colors=m.substr(2),t},_addTransform:function(t,n){n=e.Array(n),this._transform=o.trim(this._transform+" "+t+"("+n.join(", ")+")"),n.unshift(t),this._transforms.push(n),this.initialized&&this._updateTransform()},_updateTransform:function(){var t=this.node,n,r,i,s=this.get("x"),o=this.get("y"),u,a,f=this.matrix,l=this._normalizedMatrix,c=this instanceof e.VMLPath,p,d=this._transforms.length;if(this._transforms&&this._transforms.length>0){i=this.get("transformOrigin"),c&&l.translate(this._left,this._top),u=i[0]-.5,a=i[1]-.5,u=Math.max(-0.5,Math.min(.5,u)),a=Math.max(-0.5,Math.min(.5,a));for(p=0;p'),this.node.appendChild(this._skew)),this._skew.matrix=r,this._skew.on=!0,this._skew.origin=u+", "+a),this._type!="path"&&(this._transforms=[]),t.style.left=s+this._getSkewOffsetValue(l.dx)+"px",t.style.top=o+this._getSkewOffsetValue(l.dy)+"px"},_getSkewOffsetValue:function(t){var n=e.MatrixUtil.sign(t),r=Math.abs(t);return t=Math.min(r,32767)*n,t},_translateX:0,_translateY:0,_transform:"",translate:function(e,t){this._translateX+=e,this._translateY+=t,this._addTransform("translate",arguments)},translateX:function(e){this._translateX+=e,this._addTransform("translateX",arguments)},translateY:function(e){this._translateY+=e,this._addTransform("translateY",arguments)},skew:function(e,t){this._addTransform("skew",arguments)},skewX:function(e){this._addTransform("skewX",arguments)},skewY:function(e){this._addTransform("skewY",arguments)},rotate:function(e){this._addTransform("rotate",arguments)},scale:function(e,t){this._addTransform("scale",arguments)},on:function(t,n){return e.Node.DOM_EVENTS[t]?e.one("#"+this.get("id")).on(t,n):e.on.apply(this,arguments)},_draw:function(){},_updateHandler:function(e){var t=this,n=t.node;t._fillChangeHandler(),t._strokeChangeHandler(),n.style.width=this.get("width")+"px",n.style.height=this.get("height")+"px",this._draw(),t._updateTransform()},_createGraphicNode:function(e){return e=e||this._type,h.createElement("<"+e+' xmlns="urn:schemas-microsft.com:vml" style="behavior:url(#default#VML);display:inline-block;" class="vml'+e+'"/>')},_getDefaultFill:function(){return{type:"solid",opacity:1,cx:.5,cy:.5,fx:.5,fy:.5,r:.5}},_getDefaultStroke:function(){return{weight:1,dashstyle:"none",color:"#000",opacity:1}},set:function(){var e=this;p.prototype.set.apply(e,arguments),e.initialized&&e._updateHandler()},getBounds:function(){var t=this instanceof e.VMLPath,n=this.get("width"),r=this.get("height"),i=this.get("x"),s=this.get("y");return t&&(i+=this._left,s+=this._top,n=this._right-this._left,r=this._bottom-this._top),this._getContentRect(n,r,i,s)},_getContentRect:function(t,n,r,i){var s=this.get("transformOrigin"),o=s[0]*t,u=s[1]*n,a=this.matrix.getTransformArray(this.get("transform")),f=new e.Matrix,l,c=a.length,h,p,d,v=this instanceof e.VMLPath;v&&f.translate(this._left,this._top),o=isNaN(o)?0:o,u=isNaN(u)?0:u,f.translate(o,u);for(l=0;l0?e*2:0;return t}},height:{setter:function(e){return this.set("radius",e/2),e},getter:function(){var e=this.get("radius"),t=e&&e>0?e*2:0;return t}}}),e.VMLCircle=v,w=function(){w.superclass.constructor.apply(this,arguments)},w.NAME="vmlPieSlice",e.extend(w,e.VMLShape,e.mix({_type:"shape",_draw:function(e){var t=this.get("cx"),n=this.get("cy"),r=this.get("startAngle"),i=this.get("arc"),s=this.get("radius");this.clear(),this.drawWedge(t,n,r,i,s),this.end()}},e.VMLDrawing.prototype)),w.ATTRS=e.mix({cx:{value:0},cy:{value:0},startAngle:{value:0},arc:{value:0},radius:{value:0}},e.VMLShape.ATTRS),e.VMLPieSlice=w,b=function(){b.superclass.constructor.apply(this,arguments)},b.NAME="vmlGraphic",b.ATTRS={render:{},id:{valueFn:function(){return e.guid()},setter:function(e){var t=this._node;return t&&t.setAttribute("id",e),e}},shapes:{readOnly:!0,getter:function(){return this._shapes}},contentBounds:{readOnly:!0,getter:function(){return this._contentBounds}},node:{readOnly:!0,getter:function(){return this._node}},width:{setter:function(e){return this._node&&(this._node.style.width=e+"px"),e}},height:{setter:function(e){return this._node&&(this._node.style.height=e+"px"),e}},autoSize:{value:!1},preserveAspectRatio:{value:"xMidYMid"},resizeDown:{resizeDown:!1},x:{getter:function(){return this._x},setter:function(e){return this._x=e,this._node&&(this._node.style.left=e+"px"),e}},y:{getter:function(){return this._y},setter:function(e){return this._y=e,this._node&&(this._node.style.top=e+"px"),e}},autoDraw:{value:!0},visible:{value:!0,setter:function(e){return this._toggleVisible(e),e}}},e.extend(b,e.GraphicBase,{set:function(t,n){var r=this,i={autoDraw:!0,autoSize:!0,preserveAspectRatio:!0,resizeDown:!0},s,u=!1;p.prototype.set.apply(r,arguments);if(r._state.autoDraw===!0&&e.Object.size(this._shapes)>0)if(o.isString&&i[t])u=!0;else if(o.isObject(t))for(s in i)if(i.hasOwnProperty(s)&&t[s]){u=!0;break}u&&r._redraw()},_x:0,_y:0,getXY:function(){var t=this.parentNode,n=this.get("x"),r=this.get("y"),i;return t?(i=e.one(t).getXY(),i[0]+=n,i[1]+=r):i=e.DOM._getOffset(this._node),i},initializer:function(e){var t=this.get("render"),n=this.get("visible")?"visible":"hidden";this._shapes={},this._contentBounds={left:0,top:0,right:0,bottom:0},this._node=this._createGraphic(),this._node.style.left=this.get("x")+"px",this._node.style.top=this.get("y")+"px",this._node.style.visibility=n,this._node.setAttribute("id",this.get("id")),t&&this.render(t)},render:function(t){var n=e.one(t),r=this.get("width")||parseInt(n.getComputedStyle("width"),10),i=this.get("height")||parseInt(n.getComputedStyle("height"),10);return n=n||h.body,n.appendChild(this._node),this.parentNode=n,this.set("width",r),this.set("height",i),this},destroy:function(){this.clear(),e.one(this._node).remove(!0)},addShape:function(e){e.graphic=this,this.get("visible")||(e.visible=!1);var t=this._getShapeClass(e.type),n=new t(e);return this._appendShape(n),n._appendStrokeAndFill(),n},_appendShape:function(e){var t=e.node,n=this._frag||this._node;this.get("autoDraw")||this.get("autoSize")=="sizeContentToGraphic"?n.appendChild(t):this._getDocFrag().appendChild(t)},removeShape:function(e){e instanceof d||o.isString(e)&&(e=this._shapes[e]),e&&e instanceof d&&(e._destroy(),this._shapes[e.get("id")]=null,delete this._shapes[e.get("id")]),this.get("autoDraw")&&this._redraw()},removeAllShapes:function(){var e=this._shapes,t;for(t in e)e.hasOwnProperty(t)&&e[t].destroy();this._shapes={}},_removeChildren:function(e){if(e.hasChildNodes()){var t;while(e.firstChild)t=e.firstChild,this._removeChildren(t),e.removeChild(t)}},clear:function(){this.removeAllShapes(),this._removeChildren(this._node)},_toggleVisible:function(e){var t,n=this._shapes,r=e?"visible":"hidden";if(n)for(t in n)n.hasOwnProperty(t)&&n[t].set("visible",e);this._node&&(this._node.style.visibility=r),this._node&& -(this._node.style.visibility=r)},setSize:function(e,t){e=Math.round(e),t=Math.round(t),this._node.style.width=e+"px",this._node.style.height=t+"px"},setPosition:function(e,t){e=Math.round(e),t=Math.round(t),this._node.style.left=e+"px",this._node.style.top=t+"px"},_createGraphic:function(){var e=h.createElement('');return e},_createGraphicNode:function(e){return h.createElement("<"+e+' xmlns="urn:schemas-microsft.com:vml" style="behavior:url(#default#VML);display:inline-block;zoom:1;" />')},getShapeById:function(e){return this._shapes[e]},_getShapeClass:function(e){var t=this._shapeClass[e];return t?t:e},_shapeClass:{circle:e.VMLCircle,rect:e.VMLRect,path:e.VMLPath,ellipse:e.VMLEllipse,pieslice:e.VMLPieSlice},batch:function(e){var t=this.get("autoDraw");this.set("autoDraw",!1),e.apply(),this.set("autoDraw",t)},_getDocFrag:function(){return this._frag||(this._frag=h.createDocumentFragment()),this._frag},addToRedrawQueue:function(e){var t,n;this._shapes[e.get("id")]=e,this.get("resizeDown")||(t=e.getBounds(),n=this._contentBounds,n.left=n.leftt.right?n.right:t.right,n.bottom=n.bottom>t.bottom?n.bottom:t.bottom,n.width=n.right-n.left,n.height=n.bottom-n.top,this._contentBounds=n),this.get("autoDraw")&&this._redraw()},_redraw:function(){var e=this.get("autoSize"),t,n=this.parentNode,r=parseFloat(n.getComputedStyle("width")),i=parseFloat(n.getComputedStyle("height")),s=0,o=0,u=this.get("resizeDown")?this._getUpdatedContentBounds():this._contentBounds,a=u.left,f=u.right,l=u.top,c=u.bottom,h=f-a,p=c-l,d,v,m,g,y,b=this.get("visible");this._node.style.visibility="hidden",e?(e=="sizeContentToGraphic"?(t=this.get("preserveAspectRatio"),t=="none"||h/p===r/i?(s=a,o=l,v=h,m=p):h*i/p>r?(d=i/r,v=h,m=h*d,y=r*(p/h)*(m/i),o=this._calculateCoordOrigin(t.slice(5).toLowerCase(),y,m),o=l+o,s=a):(d=r/i,v=p*d,m=p,g=i*(h/p)*(v/r),s=this._calculateCoordOrigin(t.slice(1,4).toLowerCase(),g,v),s+=a,o=l),this._node.style.width=r+"px",this._node.style.height=i+"px",this._node.coordOrigin=s+", "+o):(v=h,m=p,this._node.style.width=h+"px",this._node.style.height=p+"px",this._state.width=h,this._state.height=p),this._node.coordSize=v+", "+m):(this._node.style.width=r+"px",this._node.style.height=i+"px",this._node.coordSize=r+", "+i),this._frag&&(this._node.appendChild(this._frag),this._frag=null),b&&(this._node.style.visibility="visible")},_calculateCoordOrigin:function(e,t,n){var r;switch(e){case"min":r=0;break;case"mid":r=(t-n)/2;break;case"max":r=t-n}return r},_getUpdatedContentBounds:function(){var e,t,n,r=this._shapes,i={};for(t in r)r.hasOwnProperty(t)&&(n=r[t],e=n.getBounds(),i.left=o.isNumber(i.left)?Math.min(i.left,e.left):e.left,i.top=o.isNumber(i.top)?Math.min(i.top,e.top):e.top,i.right=o.isNumber(i.right)?Math.max(i.right,e.right):e.right,i.bottom=o.isNumber(i.bottom)?Math.max(i.bottom,e.bottom):e.bottom);return i.left=o.isNumber(i.left)?i.left:0,i.top=o.isNumber(i.top)?i.top:0,i.right=o.isNumber(i.right)?i.right:0,i.bottom=o.isNumber(i.bottom)?i.bottom:0,this._contentBounds=i,i},_toFront:function(t){var n=this._node;t instanceof e.VMLShape&&(t=t.get("node")),n&&t&&n.appendChild(t)},_toBack:function(t){var n=this._node,r;t instanceof e.VMLShape&&(t=t.get("node")),n&&t&&(r=n.firstChild,r?n.insertBefore(t,r):n.appendChild(t))}}),e.VMLGraphic=b},"3.9.0",{requires:["graphics"]}); diff --git a/lib/yuilib/3.9.0/build/graphics/graphics-min.js b/lib/yuilib/3.9.0/build/graphics/graphics-min.js deleted file mode 100644 index d086efe3c9c..00000000000 --- a/lib/yuilib/3.9.0/build/graphics/graphics-min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("graphics",function(e,t){var n="setter",r=e.Plugin.Host,i="value",s="valueFn",o="readOnly",u=e.Lang,a="string",f="writeOnce",l,c;c=function(){var t=this;t._ATTR_E_FACADE={},e.EventTarget.call(this,{emitFacade:!0}),t._state={},t.prototype=e.mix(c.prototype,t.prototype)},c.prototype={addAttrs:function(e){var t=this,r=this.constructor.ATTRS,a,l,c,h=t._state;for(l in r)r.hasOwnProperty(l)&&(a=r[l],a.hasOwnProperty(i)?h[l]=a.value:a.hasOwnProperty(s)&&(c=a.valueFn,u.isString(c)?h[l]=t[c].apply(t):h[l]=c.apply(t)));t._state=h;for(l in r)if(r.hasOwnProperty(l)){a=r[l];if(a.hasOwnProperty(o)&&a.readOnly)continue;a.hasOwnProperty(f)&&a.writeOnce&&(a.readOnly=!0),e&&e.hasOwnProperty(l)&&(a.hasOwnProperty(n)?t._state[l]=a.setter.apply(t,[e[l]]):t._state[l]=e[l])}},get:function(e){var t=this,n,r=t.constructor.ATTRS;if(r&&r[e])return n=r[e].getter,n?typeof n==a?t[n].apply(t):r[e].getter.apply(t):t._state[e];return null},set:function(e,t){var n;if(u.isObject(e))for(n in e)e.hasOwnProperty(n)&&this._set(n,e[n]);else this._set.apply(this,arguments)},_set:function(e,t){var n=this,r,i,s=n.constructor.ATTRS;s&&s.hasOwnProperty(e)&&(r=s[e].setter,r&&(i=[t],typeof r==a?t=n[r].apply(n,i):t=s[e].setter.apply(n,i)),n._state[e]=t)}},e.mix(c,e.EventTarget,!1,null,1),e.AttributeLite=c,l=function(t){var n=this,r=e.Plugin&&e.Plugin.Host;n._initPlugins&&r&&r.call(n),n.name=n.constructor.NAME,n._eventPrefix=n.constructor.EVENT_PREFIX||n.constructor.NAME,c.call(n),n.addAttrs(t),n.init.apply(this,arguments),n._initPlugins&&n._initPlugins(t),n.initialized=!0},l.NAME="baseGraphic",l.prototype={init:function(){this.publish("init",{fireOnce:!0}),this.initializer.apply(this,arguments),this.fire("init",{cfg:arguments[0]})},_camelCaseConcat:function(e,t){return e+t.charAt(0).toUpperCase()+t.slice(1)}},e.mix(l,e.AttributeLite,!1,null,1),e.mix(l,r,!1,null,1),l.prototype.constructor=l,l.plug=r.plug,l.unplug=r.unplug,e.GraphicBase=l},"3.9.0",{requires:["node","event-custom","pluginhost","matrix","classnamemanager"]}); diff --git a/lib/yuilib/3.9.0/build/handlebars-base/handlebars-base-min.js b/lib/yuilib/3.9.0/build/handlebars-base/handlebars-base-min.js deleted file mode 100644 index 95ed6225dc9..00000000000 --- a/lib/yuilib/3.9.0/build/handlebars-base/handlebars-base-min.js +++ /dev/null @@ -1,7 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("handlebars-base",function(e,t){ -/*! -Handlebars.js - Copyright (C) 2011 Yehuda Katz -https://raw.github.com/wycats/handlebars.js/master/LICENSE -*/ -;var n={};(function(e){e.VERSION="1.0.0-rc.3",e.COMPILER_REVISION=2,e.REVISION_CHANGES={1:"<= 1.0.rc.2",2:">= 1.0.0-rc.3"},e.helpers={},e.partials={},e.registerHelper=function(e,t,n){n&&(t.not=n),this.helpers[e]=t},e.registerPartial=function(e,t){this.partials[e]=t},e.registerHelper("helperMissing",function(e){if(arguments.length===2)return undefined;throw new Error("Could not find property '"+e+"'")});var t=Object.prototype.toString,n="[object Function]";e.registerHelper("blockHelperMissing",function(r,i){var s=i.inverse||function(){},o=i.fn,u="",a=t.call(r);return a===n&&(r=r.call(this)),r===!0?o(this):r===!1||r==null?s(this):a==="[object Array]"?r.length>0?e.helpers.each(r,i):s(this):o(r)}),e.K=function(){},e.createFrame=Object.create||function(t){e.K.prototype=t;var n=new e.K;return e.K.prototype=null,n},e.logger={DEBUG:0,INFO:1,WARN:2,ERROR:3,level:3,methodMap:{0:"debug",1:"info",2:"warn",3:"error"},log:function(t,n){if(e.logger.level<=t){var r=e.logger.methodMap[t];typeof console!="undefined"&&console[r]&&console[r].call(console,n)}}},e.log=function(t,n){e.logger.log(t,n)},e.registerHelper("each",function(t,n){var r=n.fn,i=n.inverse,s=0,o="",u;n.data&&(u=e.createFrame(n.data));if(t&&typeof t=="object")if(t instanceof Array)for(var a=t.length;s":">",'"':""","'":"'","`":"`"},t=/[&<>"'`]/g,r=/[&<>"'`]/,i=function(t){return e[t]||"&"};n.Utils={escapeExpression:function(e){return e instanceof n.SafeString?e.toString():e==null||e===!1?"":r.test(e)?e.replace(t,i):e},isEmpty:function(e){return!e&&e!==0?!0:Object.prototype.toString.call(e)==="[object Array]"&&e.length===0?!0:!1}}}(),n.VM={template:function(e){var t={escapeExpression:n.Utils.escapeExpression,invokePartial:n.VM.invokePartial,programs:[],program:function(e,t,r){var i=this.programs[e];return r?n.VM.program(t,r):i?i:(i=this.programs[e]=n.VM.program(t),i)},programWithDepth:n.VM.programWithDepth,noop:n.VM.noop,compilerInfo:null};return function(r,i){i=i||{};var s=e.call(t,n,r,i.helpers,i.partials,i.data),o=t.compilerInfo||[],u=o[0]||1,a=n.COMPILER_REVISION;if(u!==a){if(u 2) { - expected.push("'" + this.terminals_[p] + "'"); - } - if (this.lexer.showPosition) { - errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'"; - } else { - errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1?"end of input":"'" + (this.terminals_[symbol] || symbol) + "'"); - } - this.parseError(errStr, {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected}); - } - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(this.lexer.yytext); - lstack.push(this.lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = this.lexer.yyleng; - yytext = this.lexer.yytext; - yylineno = this.lexer.yylineno; - yyloc = this.lexer.yylloc; - if (recovering > 0) - recovering--; - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = {first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column}; - if (ranges) { - yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; - } - r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); - if (typeof r !== "undefined") { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -} -}; -/* Jison generated lexer */ -var lexer = (function(){ -var lexer = ({EOF:1, -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, -setInput:function (input) { - this._input = input; - this._more = this._less = this.done = false; - this.yylineno = this.yyleng = 0; - this.yytext = this.matched = this.match = ''; - this.conditionStack = ['INITIAL']; - this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0}; - if (this.options.ranges) this.yylloc.range = [0,0]; - this.offset = 0; - return this; - }, -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) this.yylloc.range[1]++; - - this._input = this._input.slice(1); - return ch; - }, -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length-len-1); - //this.yyleng -= len; - this.offset -= len; - var oldLines = this.match.split(/(?:\r\n?|\n)/g); - this.match = this.match.substr(0, this.match.length-1); - this.matched = this.matched.substr(0, this.matched.length-1); - - if (lines.length-1) this.yylineno -= lines.length-1; - var r = this.yylloc.range; - - this.yylloc = {first_line: this.yylloc.first_line, - last_line: this.yylineno+1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length: - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - return this; - }, -more:function () { - this._more = true; - return this; - }, -less:function (n) { - this.unput(this.match.slice(n)); - }, -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\n/g, ""); - }, -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c+"^"; - }, -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) this.done = true; - - var token, - match, - tempMatch, - index, - col, - lines; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i=0;i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (!this.options.flex) break; - } - } - if (match) { - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) this.yylineno += lines.length; - this.yylloc = {first_line: this.yylloc.last_line, - last_line: this.yylineno+1, - first_column: this.yylloc.last_column, - last_column: lines ? lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length}; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]); - if (this.done && this._input) this.done = false; - if (token) return token; - else return; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(), - {text: "", token: null, line: this.yylineno}); - } - }, -lex:function lex() { - var r = this.next(); - if (typeof r !== 'undefined') { - return r; - } else { - return this.lex(); - } - }, -begin:function begin(condition) { - this.conditionStack.push(condition); - }, -popState:function popState() { - return this.conditionStack.pop(); - }, -_currentRules:function _currentRules() { - return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules; - }, -topState:function () { - return this.conditionStack[this.conditionStack.length-2]; - }, -pushState:function begin(condition) { - this.begin(condition); - }}); -lexer.options = {}; -lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { - -var YYSTATE=YY_START -switch($avoiding_name_collisions) { -case 0: - if(yy_.yytext.slice(-1) !== "\\") this.begin("mu"); - if(yy_.yytext.slice(-1) === "\\") yy_.yytext = yy_.yytext.substr(0,yy_.yyleng-1), this.begin("emu"); - if(yy_.yytext) return 14; - -break; -case 1: return 14; -break; -case 2: - if(yy_.yytext.slice(-1) !== "\\") this.popState(); - if(yy_.yytext.slice(-1) === "\\") yy_.yytext = yy_.yytext.substr(0,yy_.yyleng-1); - return 14; - -break; -case 3: yy_.yytext = yy_.yytext.substr(0, yy_.yyleng-4); this.popState(); return 15; -break; -case 4: this.begin("par"); return 24; -break; -case 5: return 16; -break; -case 6: return 20; -break; -case 7: return 19; -break; -case 8: return 19; -break; -case 9: return 23; -break; -case 10: return 23; -break; -case 11: this.popState(); this.begin('com'); -break; -case 12: yy_.yytext = yy_.yytext.substr(3,yy_.yyleng-5); this.popState(); return 15; -break; -case 13: return 22; -break; -case 14: return 36; -break; -case 15: return 35; -break; -case 16: return 35; -break; -case 17: return 39; -break; -case 18: /*ignore whitespace*/ -break; -case 19: this.popState(); return 18; -break; -case 20: this.popState(); return 18; -break; -case 21: yy_.yytext = yy_.yytext.substr(1,yy_.yyleng-2).replace(/\\"/g,'"'); return 30; -break; -case 22: yy_.yytext = yy_.yytext.substr(1,yy_.yyleng-2).replace(/\\'/g,"'"); return 30; -break; -case 23: yy_.yytext = yy_.yytext.substr(1); return 28; -break; -case 24: return 32; -break; -case 25: return 32; -break; -case 26: return 31; -break; -case 27: return 35; -break; -case 28: yy_.yytext = yy_.yytext.substr(1, yy_.yyleng-2); return 35; -break; -case 29: return 'INVALID'; -break; -case 30: /*ignore whitespace*/ -break; -case 31: this.popState(); return 37; -break; -case 32: return 5; -break; -} -}; -lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|$)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\{\{>)/,/^(?:\{\{#)/,/^(?:\{\{\/)/,/^(?:\{\{\^)/,/^(?:\{\{\s*else\b)/,/^(?:\{\{\{)/,/^(?:\{\{&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{)/,/^(?:=)/,/^(?:\.(?=[} ]))/,/^(?:\.\.)/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}\}\})/,/^(?:\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@[a-zA-Z]+)/,/^(?:true(?=[}\s]))/,/^(?:false(?=[}\s]))/,/^(?:[0-9]+(?=[}\s]))/,/^(?:[a-zA-Z0-9_$-]+(?=[=}\s\/.]))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:\s+)/,/^(?:[a-zA-Z0-9_$-/]+)/,/^(?:$)/]; -lexer.conditions = {"mu":{"rules":[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32],"inclusive":false},"emu":{"rules":[2],"inclusive":false},"com":{"rules":[3],"inclusive":false},"par":{"rules":[30,31],"inclusive":false},"INITIAL":{"rules":[0,1,32],"inclusive":true}}; -return lexer;})() -parser.lexer = lexer; -function Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); -// END(BROWSER) -/* THIS FILE IS GENERATED BY A BUILD SCRIPT - DO NOT EDIT! */ - -// BEGIN(BROWSER) -Handlebars.Parser = handlebars; - -Handlebars.parse = function(input) { - - // Just return if an already-compile AST was passed in. - if(input.constructor === Handlebars.AST.ProgramNode) { return input; } - - Handlebars.Parser.yy = Handlebars.AST; - return Handlebars.Parser.parse(input); -}; - -Handlebars.print = function(ast) { - return new Handlebars.PrintVisitor().accept(ast); -}; -// END(BROWSER) -/* THIS FILE IS GENERATED BY A BUILD SCRIPT - DO NOT EDIT! */ - -// BEGIN(BROWSER) -(function() { - - Handlebars.AST = {}; - - Handlebars.AST.ProgramNode = function(statements, inverse) { - this.type = "program"; - this.statements = statements; - if(inverse) { this.inverse = new Handlebars.AST.ProgramNode(inverse); } - }; - - Handlebars.AST.MustacheNode = function(rawParams, hash, unescaped) { - this.type = "mustache"; - this.escaped = !unescaped; - this.hash = hash; - - var id = this.id = rawParams[0]; - var params = this.params = rawParams.slice(1); - - // a mustache is an eligible helper if: - // * its id is simple (a single part, not `this` or `..`) - var eligibleHelper = this.eligibleHelper = id.isSimple; - - // a mustache is definitely a helper if: - // * it is an eligible helper, and - // * it has at least one parameter or hash segment - this.isHelper = eligibleHelper && (params.length || hash); - - // if a mustache is an eligible helper but not a definite - // helper, it is ambiguous, and will be resolved in a later - // pass or at runtime. - }; - - Handlebars.AST.PartialNode = function(partialName, context) { - this.type = "partial"; - this.partialName = partialName; - this.context = context; - }; - - var verifyMatch = function(open, close) { - if(open.original !== close.original) { - throw new Handlebars.Exception(open.original + " doesn't match " + close.original); - } - }; - - Handlebars.AST.BlockNode = function(mustache, program, inverse, close) { - verifyMatch(mustache.id, close); - this.type = "block"; - this.mustache = mustache; - this.program = program; - this.inverse = inverse; - - if (this.inverse && !this.program) { - this.isInverse = true; - } - }; - - Handlebars.AST.ContentNode = function(string) { - this.type = "content"; - this.string = string; - }; - - Handlebars.AST.HashNode = function(pairs) { - this.type = "hash"; - this.pairs = pairs; - }; - - Handlebars.AST.IdNode = function(parts) { - this.type = "ID"; - this.original = parts.join("."); - - var dig = [], depth = 0; - - for(var i=0,l=parts.length; i 0) { throw new Handlebars.Exception("Invalid path: " + this.original); } - else if (part === "..") { depth++; } - else { this.isScoped = true; } - } - else { dig.push(part); } - } - - this.parts = dig; - this.string = dig.join('.'); - this.depth = depth; - - // an ID is simple if it only has one part, and that part is not - // `..` or `this`. - this.isSimple = parts.length === 1 && !this.isScoped && depth === 0; - - this.stringModeValue = this.string; - }; - - Handlebars.AST.PartialNameNode = function(name) { - this.type = "PARTIAL_NAME"; - this.name = name; - }; - - Handlebars.AST.DataNode = function(id) { - this.type = "DATA"; - this.id = id; - }; - - Handlebars.AST.StringNode = function(string) { - this.type = "STRING"; - this.string = string; - this.stringModeValue = string; - }; - - Handlebars.AST.IntegerNode = function(integer) { - this.type = "INTEGER"; - this.integer = integer; - this.stringModeValue = Number(integer); - }; - - Handlebars.AST.BooleanNode = function(bool) { - this.type = "BOOLEAN"; - this.bool = bool; - this.stringModeValue = bool === "true"; - }; - - Handlebars.AST.CommentNode = function(comment) { - this.type = "comment"; - this.comment = comment; - }; - -})(); -// END(BROWSER) -/* THIS FILE IS GENERATED BY A BUILD SCRIPT - DO NOT EDIT! */ - -// BEGIN(BROWSER) - -/*jshint eqnull:true*/ -Handlebars.Compiler = function() {}; -Handlebars.JavaScriptCompiler = function() {}; - -(function(Compiler, JavaScriptCompiler) { - // the foundHelper register will disambiguate helper lookup from finding a - // function in a context. This is necessary for mustache compatibility, which - // requires that context functions in blocks are evaluated by blockHelperMissing, - // and then proceed as if the resulting value was provided to blockHelperMissing. - - Compiler.prototype = { - compiler: Compiler, - - disassemble: function() { - var opcodes = this.opcodes, opcode, out = [], params, param; - - for (var i=0, l=opcodes.length; i 0) { - this.source[1] = this.source[1] + ", " + locals.join(", "); - } - - // Generate minimizer alias mappings - if (!this.isChild) { - for (var alias in this.context.aliases) { - this.source[1] = this.source[1] + ', ' + alias + '=' + this.context.aliases[alias]; - } - } - - if (this.source[1]) { - this.source[1] = "var " + this.source[1].substring(2) + ";"; - } - - // Merge children - if (!this.isChild) { - this.source[1] += '\n' + this.context.programs.join('\n') + '\n'; - } - - if (!this.environment.isSimple) { - this.source.push("return buffer;"); - } - - var params = this.isChild ? ["depth0", "data"] : ["Handlebars", "depth0", "helpers", "partials", "data"]; - - for(var i=0, l=this.environment.depths.list.length; i this.stackVars.length) { this.stackVars.push("stack" + this.stackSlot); } - return this.topStackName(); - }, - topStackName: function() { - return "stack" + this.stackSlot; - }, - flushInline: function() { - var inlineStack = this.inlineStack; - if (inlineStack.length) { - this.inlineStack = []; - for (var i = 0, len = inlineStack.length; i < len; i++) { - var entry = inlineStack[i]; - if (entry instanceof Literal) { - this.compileStack.push(entry); - } else { - this.pushStack(entry); - } - } - } - }, - isInline: function() { - return this.inlineStack.length; - }, - - popStack: function(wrapped) { - var inline = this.isInline(), - item = (inline ? this.inlineStack : this.compileStack).pop(); - - if (!wrapped && (item instanceof Literal)) { - return item.value; - } else { - if (!inline) { - this.stackSlot--; - } - return item; - } - }, - - topStack: function(wrapped) { - var stack = (this.isInline() ? this.inlineStack : this.compileStack), - item = stack[stack.length - 1]; - - if (!wrapped && (item instanceof Literal)) { - return item.value; - } else { - return item; - } - }, - - quotedString: function(str) { - return '"' + str - .replace(/\\/g, '\\\\') - .replace(/"/g, '\\"') - .replace(/\n/g, '\\n') - .replace(/\r/g, '\\r') + '"'; - }, - - setupHelper: function(paramSize, name, missingParams) { - var params = []; - this.setupParams(paramSize, params, missingParams); - var foundHelper = this.nameLookup('helpers', name, 'helper'); - - return { - params: params, - name: foundHelper, - callParams: ["depth0"].concat(params).join(", "), - helperMissingParams: missingParams && ["depth0", this.quotedString(name)].concat(params).join(", ") - }; - }, - - // the params and contexts arguments are passed in arrays - // to fill in - setupParams: function(paramSize, params, useRegister) { - var options = [], contexts = [], types = [], param, inverse, program; - - options.push("hash:" + this.popStack()); - - inverse = this.popStack(); - program = this.popStack(); - - // Avoid setting fn and inverse if neither are set. This allows - // helpers to do a check for `if (options.fn)` - if (program || inverse) { - if (!program) { - this.context.aliases.self = "this"; - program = "self.noop"; - } - - if (!inverse) { - this.context.aliases.self = "this"; - inverse = "self.noop"; - } - - options.push("inverse:" + inverse); - options.push("fn:" + program); - } - - for(var i=0; i "The pie of the day is Maple Custard!" - -@method render -@param {String} string Handlebars template string to render. -@param {Object} context Context object to pass to the template. -@param {Object} [options] Compile/render options. - @param {Object} [options.helpers] Helper functions. - @param {Object} [options.partials] Partials. - @param {Object} [options.data] Data. -@return {String} Rendered template string. -*/ -Handlebars.render = function (string, context, options) { - return Handlebars.compile(string)(context, options); -}; - -// The rest of this file is just API docs for methods defined in Handlebars -// itself. - -/** -Compiles a Handlebars template string into a function. To render the template, -call the function and pass in a context object. - -@example - - var template = Y.Handlebars.compile('The pie of the day is {{pie}}!.'); - template({pie: 'Pecan'}); - // => "The pie of the day is Pecan!" - -@method compile -@param {String} string Handlebars template string to compile. -@param {Object} [options] Compiler options. -@return {Function} Compiled template function. -*/ - -/** -Precompiles a Handlebars template string into a string of JavaScript code. This -can be used to precompile a template at build time or on the server, and the -resulting template can then be rendered at runtime or on the client without -needing to go through a compile step. - -To render a precompiled template, evaluate the code and then pass the resulting -function to `Y.Handlebars.template()` to get back an executable template -function. - -@method precompile -@param {String} string Handlebars template string to compile. -@param {Object} [options] Compiler options. -@return {String} Precompiled template code. -*/ - - -}, '3.9.0', {"requires": ["handlebars-base"]}); diff --git a/lib/yuilib/3.9.0/build/handlebars-compiler/handlebars-compiler-min.js b/lib/yuilib/3.9.0/build/handlebars-compiler/handlebars-compiler-min.js deleted file mode 100644 index 3f99ce0b88a..00000000000 --- a/lib/yuilib/3.9.0/build/handlebars-compiler/handlebars-compiler-min.js +++ /dev/null @@ -1,12 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("handlebars-compiler",function(e,t){ -/*! -Handlebars.js - Copyright (C) 2011 Yehuda Katz -https://raw.github.com/wycats/handlebars.js/master/LICENSE -*/ -;var n=e.Handlebars,r=function(){function n(){this.yy={}}var e={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,simpleInverse:6,statements:7,statement:8,openInverse:9,closeBlock:10,openBlock:11,mustache:12,partial:13,CONTENT:14,COMMENT:15,OPEN_BLOCK:16,inMustache:17,CLOSE:18,OPEN_INVERSE:19,OPEN_ENDBLOCK:20,path:21,OPEN:22,OPEN_UNESCAPED:23,OPEN_PARTIAL:24,partialName:25,params:26,hash:27,DATA:28,param:29,STRING:30,INTEGER:31,BOOLEAN:32,hashSegments:33,hashSegment:34,ID:35,EQUALS:36,PARTIAL_NAME:37,pathSegments:38,SEP:39,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"CONTENT",15:"COMMENT",16:"OPEN_BLOCK",18:"CLOSE",19:"OPEN_INVERSE",20:"OPEN_ENDBLOCK",22:"OPEN",23:"OPEN_UNESCAPED",24:"OPEN_PARTIAL",28:"DATA",30:"STRING",31:"INTEGER",32:"BOOLEAN",35:"ID",36:"EQUALS",37:"PARTIAL_NAME",39:"SEP"},productions_:[0,[3,2],[4,2],[4,3],[4,2],[4,1],[4,1],[4,0],[7,1],[7,2],[8,3],[8,3],[8,1],[8,1],[8,1],[8,1],[11,3],[9,3],[10,3],[12,3],[12,3],[13,3],[13,4],[6,2],[17,3],[17,2],[17,2],[17,1],[17,1],[26,2],[26,1],[29,1],[29,1],[29,1],[29,1],[29,1],[27,1],[33,2],[33,1],[34,3],[34,3],[34,3],[34,3],[34,3],[25,1],[21,1],[38,3],[38,1]],performAction:function(t,n,r,i,s,o,u){var a=o.length-1;switch(s){case 1:return o[a-1];case 2:this.$=new i.ProgramNode([],o[a]);break;case 3:this.$=new i.ProgramNode(o[a-2],o[a]);break;case 4:this.$=new i.ProgramNode(o[a-1],[]);break;case 5:this.$=new i.ProgramNode(o[a]);break;case 6:this.$=new i.ProgramNode([],[]);break;case 7:this.$=new i.ProgramNode([]);break;case 8:this.$=[o[a]];break;case 9:o[a-1].push(o[a]),this.$=o[a-1];break;case 10:this.$=new i.BlockNode(o[a-2],o[a-1].inverse,o[a-1],o[a]);break;case 11:this.$=new i.BlockNode(o[a-2],o[a-1],o[a-1].inverse,o[a]);break;case 12:this.$=o[a];break;case 13:this.$=o[a];break;case 14:this.$=new i.ContentNode(o[a]);break;case 15:this.$=new i.CommentNode(o[a]);break;case 16:this.$=new i.MustacheNode(o[a-1][0],o[a-1][1]);break;case 17:this.$=new i.MustacheNode(o[a-1][0],o[a-1][1]);break;case 18:this.$=o[a-1];break;case 19:this.$=new i.MustacheNode(o[a-1][0],o[a-1][1]);break;case 20:this.$=new i.MustacheNode(o[a-1][0],o[a-1][1],!0);break;case 21:this.$=new i.PartialNode(o[a-1]);break;case 22:this.$=new i.PartialNode(o[a-2],o[a-1]);break;case 23:break;case 24:this.$=[[o[a-2]].concat(o[a-1]),o[a]];break;case 25:this.$=[[o[a-1]].concat(o[a]),null];break;case 26:this.$=[[o[a-1]],o[a]];break;case 27:this.$=[[o[a]],null];break;case 28:this.$=[[new i.DataNode(o[a])],null];break;case 29:o[a-1].push(o[a]),this.$=o[a-1];break;case 30:this.$=[o[a]];break;case 31:this.$=o[a];break;case 32:this.$=new i.StringNode(o[a]);break;case 33:this.$=new i.IntegerNode(o[a]);break;case 34:this.$=new i.BooleanNode(o[a]);break;case 35:this.$=new i.DataNode(o[a]);break;case 36:this.$=new i.HashNode(o[a]);break;case 37:o[a-1].push(o[a]),this.$=o[a-1];break;case 38:this.$=[o[a]];break;case 39:this.$=[o[a-2],o[a]];break;case 40:this.$=[o[a-2],new i.StringNode(o[a])];break;case 41:this.$=[o[a-2],new i.IntegerNode(o[a])];break;case 42:this.$=[o[a-2],new i.BooleanNode(o[a])];break;case 43:this.$=[o[a-2],new i.DataNode(o[a])];break;case 44:this.$=new i.PartialNameNode(o[a]);break;case 45:this.$=new i.IdNode(o[a]);break;case 46:o[a-2].push(o[a]),this.$=o[a-2];break;case 47:this.$=[o[a]]}},table:[{3:1,4:2,5:[2,7],6:3,7:4,8:6,9:7,11:8,12:9,13:10,14:[1,11],15:[1,12],16:[1,13],19:[1,5],22:[1,14],23:[1,15],24:[1,16]},{1:[3]},{5:[1,17]},{5:[2,6],7:18,8:6,9:7,11:8,12:9,13:10,14:[1,11],15:[1,12],16:[1,13],19:[1,19],20:[2,6],22:[1,14],23:[1,15],24:[1,16]},{5:[2,5],6:20,8:21,9:7,11:8,12:9,13:10,14:[1,11],15:[1,12],16:[1,13],19:[1,5],20:[2,5],22:[1,14],23:[1,15],24:[1,16]},{17:23,18:[1,22],21:24,28:[1,25],35:[1,27],38:26},{5:[2,8],14:[2,8],15:[2,8],16:[2,8],19:[2,8],20:[2,8],22:[2,8],23:[2,8],24:[2,8]},{4:28,6:3,7:4,8:6,9:7,11:8,12:9,13:10,14:[1,11],15:[1,12],16:[1,13],19:[1,5],20:[2,7],22:[1,14],23:[1,15],24:[1,16]},{4:29,6:3,7:4,8:6,9:7,11:8,12:9,13:10,14:[1,11],15:[1,12],16:[1,13],19:[1,5],20:[2,7],22:[1,14],23:[1,15],24:[1,16]},{5:[2,12],14:[2,12],15:[2,12],16:[2,12],19:[2,12],20:[2,12],22:[2,12],23:[2,12],24:[2,12]},{5:[2,13],14:[2,13],15:[2,13],16:[2,13],19:[2,13],20:[2,13],22:[2,13],23:[2,13],24:[2,13]},{5:[2,14],14:[2,14],15:[2,14],16:[2,14],19:[2,14],20:[2,14],22:[2,14],23:[2,14],24:[2,14]},{5:[2,15],14:[2,15],15:[2,15],16:[2,15],19:[2,15],20:[2,15],22:[2,15],23:[2,15],24:[2,15]},{17:30,21:24,28:[1,25],35:[1,27],38:26},{17:31,21:24,28:[1,25],35:[1,27],38:26},{17:32,21:24,28:[1,25],35:[1,27],38:26},{25:33,37:[1,34]},{1:[2,1]},{5:[2,2],8:21,9:7,11:8,12:9,13:10,14:[1,11],15:[1,12],16:[1,13],19:[1,19],20:[2,2],22:[1,14],23:[1,15],24:[1,16]},{17:23,21:24,28:[1,25],35:[1,27],38:26},{5:[2,4],7:35,8:6,9:7,11:8,12:9,13:10,14:[1,11],15:[1,12],16:[1,13],19:[1,19],20:[2,4],22:[1,14],23:[1,15],24:[1,16]},{5:[2,9],14:[2,9],15:[2,9],16:[2,9],19:[2,9],20:[2,9],22:[2,9],23:[2,9],24:[2,9]},{5:[2,23],14:[2,23],15:[2,23],16:[2,23],19:[2,23],20:[2,23],22:[2,23],23:[2,23],24:[2,23]},{18:[1,36]},{18:[2,27],21:41,26:37,27:38,28:[1,45],29:39,30:[1,42],31:[1,43],32:[1,44],33:40,34:46,35:[1,47],38:26},{18:[2,28]},{18:[2,45],28:[2,45],30:[2,45],31:[2,45],32:[2,45],35:[2,45],39:[1,48]},{18:[2,47],28:[2,47],30:[2,47],31:[2,47],32:[2,47],35:[2,47],39:[2,47]},{10:49,20:[1,50]},{10:51,20:[1,50]},{18:[1,52]},{18:[1,53]},{18:[1,54]},{18:[1,55],21:56,35:[1,27],38:26},{18:[2,44],35:[2,44]},{5:[2,3],8:21,9:7,11:8,12:9,13:10,14:[1,11],15:[1,12],16:[1,13],19:[1,19],20:[2,3],22:[1,14],23:[1,15],24:[1,16]},{14:[2,17],15:[2,17],16:[2,17],19:[2,17],20:[2,17],22:[2,17],23:[2,17],24:[2,17]},{18:[2,25],21:41,27:57,28:[1,45],29:58,30:[1,42],31:[1,43],32:[1,44],33:40,34:46,35:[1,47],38:26},{18:[2,26]},{18:[2,30],28:[2,30],30:[2,30],31:[2,30],32:[2,30],35:[2,30]},{18:[2,36],34:59,35:[1,60]},{18:[2,31],28:[2,31],30:[2,31],31:[2,31],32:[2,31],35:[2,31]},{18:[2,32],28:[2,32],30:[2,32],31:[2,32],32:[2,32],35:[2,32]},{18:[2,33 -],28:[2,33],30:[2,33],31:[2,33],32:[2,33],35:[2,33]},{18:[2,34],28:[2,34],30:[2,34],31:[2,34],32:[2,34],35:[2,34]},{18:[2,35],28:[2,35],30:[2,35],31:[2,35],32:[2,35],35:[2,35]},{18:[2,38],35:[2,38]},{18:[2,47],28:[2,47],30:[2,47],31:[2,47],32:[2,47],35:[2,47],36:[1,61],39:[2,47]},{35:[1,62]},{5:[2,10],14:[2,10],15:[2,10],16:[2,10],19:[2,10],20:[2,10],22:[2,10],23:[2,10],24:[2,10]},{21:63,35:[1,27],38:26},{5:[2,11],14:[2,11],15:[2,11],16:[2,11],19:[2,11],20:[2,11],22:[2,11],23:[2,11],24:[2,11]},{14:[2,16],15:[2,16],16:[2,16],19:[2,16],20:[2,16],22:[2,16],23:[2,16],24:[2,16]},{5:[2,19],14:[2,19],15:[2,19],16:[2,19],19:[2,19],20:[2,19],22:[2,19],23:[2,19],24:[2,19]},{5:[2,20],14:[2,20],15:[2,20],16:[2,20],19:[2,20],20:[2,20],22:[2,20],23:[2,20],24:[2,20]},{5:[2,21],14:[2,21],15:[2,21],16:[2,21],19:[2,21],20:[2,21],22:[2,21],23:[2,21],24:[2,21]},{18:[1,64]},{18:[2,24]},{18:[2,29],28:[2,29],30:[2,29],31:[2,29],32:[2,29],35:[2,29]},{18:[2,37],35:[2,37]},{36:[1,61]},{21:65,28:[1,69],30:[1,66],31:[1,67],32:[1,68],35:[1,27],38:26},{18:[2,46],28:[2,46],30:[2,46],31:[2,46],32:[2,46],35:[2,46],39:[2,46]},{18:[1,70]},{5:[2,22],14:[2,22],15:[2,22],16:[2,22],19:[2,22],20:[2,22],22:[2,22],23:[2,22],24:[2,22]},{18:[2,39],35:[2,39]},{18:[2,40],35:[2,40]},{18:[2,41],35:[2,41]},{18:[2,42],35:[2,42]},{18:[2,43],35:[2,43]},{5:[2,18],14:[2,18],15:[2,18],16:[2,18],19:[2,18],20:[2,18],22:[2,18],23:[2,18],24:[2,18]}],defaultActions:{17:[2,1],25:[2,28],38:[2,26],57:[2,24]},parseError:function(t,n){throw new Error(t)},parse:function(t){function v(e){r.length=r.length-2*e,i.length=i.length-e,s.length=s.length-e}function m(){var e;return e=n.lexer.lex()||1,typeof e!="number"&&(e=n.symbols_[e]||e),e}var n=this,r=[0],i=[null],s=[],o=this.table,u="",a=0,f=0,l=0,c=2,h=1;this.lexer.setInput(t),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,typeof this.lexer.yylloc=="undefined"&&(this.lexer.yylloc={});var p=this.lexer.yylloc;s.push(p);var d=this.lexer.options&&this.lexer.options.ranges;typeof this.yy.parseError=="function"&&(this.parseError=this.yy.parseError);var g,y,b,w,E,S,x={},T,N,C,k;for(;;){b=r[r.length-1];if(this.defaultActions[b])w=this.defaultActions[b];else{if(g===null||typeof g=="undefined")g=m();w=o[b]&&o[b][g]}if(typeof w=="undefined"||!w.length||!w[0]){var L="";if(!l){k=[];for(T in o[b])this.terminals_[T]&&T>2&&k.push("'"+this.terminals_[T]+"'");this.lexer.showPosition?L="Parse error on line "+(a+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+k.join(", ")+", got '"+(this.terminals_[g]||g)+"'":L="Parse error on line "+(a+1)+": Unexpected "+(g==1?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(L,{text:this.lexer.match,token:this.terminals_[g]||g,line:this.lexer.yylineno,loc:p,expected:k})}}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+g);switch(w[0]){case 1:r.push(g),i.push(this.lexer.yytext),s.push(this.lexer.yylloc),r.push(w[1]),g=null,y?(g=y,y=null):(f=this.lexer.yyleng,u=this.lexer.yytext,a=this.lexer.yylineno,p=this.lexer.yylloc,l>0&&l--);break;case 2:N=this.productions_[w[1]][1],x.$=i[i.length-N],x._$={first_line:s[s.length-(N||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(N||1)].first_column,last_column:s[s.length-1].last_column},d&&(x._$.range=[s[s.length-(N||1)].range[0],s[s.length-1].range[1]]),S=this.performAction.call(x,u,f,a,this.yy,w[1],i,s);if(typeof S!="undefined")return S;N&&(r=r.slice(0,-1*N*2),i=i.slice(0,-1*N),s=s.slice(0,-1*N)),r.push(this.productions_[w[1]][0]),i.push(x.$),s.push(x._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}},t=function(){var e={EOF:1,parseError:function(t,n){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,n)},setInput:function(e){return this._input=e,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t-1),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this},more:function(){return this._more=!0,this},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=(new Array(e.length+1)).join("-");return e+this.upcomingInput()+"\n"+t+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r,i,s;this._more||(this.yytext="",this.match="");var o=this._currentRules();for(var u=0;ut[0].length)){t=n,r=u;if(!this.options.flex)break}}if(t){s=t[0].match(/(?:\r\n?|\n).*/g),s&&(this.yylineno+=s.length),this.yylloc={first_line -:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,o[r],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1);if(e)return e;return}return this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return typeof t!="undefined"?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(t){this.begin(t)}};return e.options={},e.performAction=function(t,n,r,i){var s=i;switch(r){case 0:n.yytext.slice(-1)!=="\\"&&this.begin("mu"),n.yytext.slice(-1)==="\\"&&(n.yytext=n.yytext.substr(0,n.yyleng-1),this.begin("emu"));if(n.yytext)return 14;break;case 1:return 14;case 2:return n.yytext.slice(-1)!=="\\"&&this.popState(),n.yytext.slice(-1)==="\\"&&(n.yytext=n.yytext.substr(0,n.yyleng-1)),14;case 3:return n.yytext=n.yytext.substr(0,n.yyleng-4),this.popState(),15;case 4:return this.begin("par"),24;case 5:return 16;case 6:return 20;case 7:return 19;case 8:return 19;case 9:return 23;case 10:return 23;case 11:this.popState(),this.begin("com");break;case 12:return n.yytext=n.yytext.substr(3,n.yyleng-5),this.popState(),15;case 13:return 22;case 14:return 36;case 15:return 35;case 16:return 35;case 17:return 39;case 18:break;case 19:return this.popState(),18;case 20:return this.popState(),18;case 21:return n.yytext=n.yytext.substr(1,n.yyleng-2).replace(/\\"/g,'"'),30;case 22:return n.yytext=n.yytext.substr(1,n.yyleng-2).replace(/\\'/g,"'"),30;case 23:return n.yytext=n.yytext.substr(1),28;case 24:return 32;case 25:return 32;case 26:return 31;case 27:return 35;case 28:return n.yytext=n.yytext.substr(1,n.yyleng-2),35;case 29:return"INVALID";case 30:break;case 31:return this.popState(),37;case 32:return 5}},e.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|$)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\{\{>)/,/^(?:\{\{#)/,/^(?:\{\{\/)/,/^(?:\{\{\^)/,/^(?:\{\{\s*else\b)/,/^(?:\{\{\{)/,/^(?:\{\{&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{)/,/^(?:=)/,/^(?:\.(?=[} ]))/,/^(?:\.\.)/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}\}\})/,/^(?:\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@[a-zA-Z]+)/,/^(?:true(?=[}\s]))/,/^(?:false(?=[}\s]))/,/^(?:[0-9]+(?=[}\s]))/,/^(?:[a-zA-Z0-9_$-]+(?=[=}\s\/.]))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:\s+)/,/^(?:[a-zA-Z0-9_$-/]+)/,/^(?:$)/],e.conditions={mu:{rules:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[3],inclusive:!1},par:{rules:[30,31],inclusive:!1},INITIAL:{rules:[0,1,32],inclusive:!0}},e}();return e.lexer=t,n.prototype=e,e.Parser=n,new n}();n.Parser=r,n.parse=function(e){return e.constructor===n.AST.ProgramNode?e:(n.Parser.yy=n.AST,n.Parser.parse(e))},n.print=function(e){return(new n.PrintVisitor).accept(e)},function(){n.AST={},n.AST.ProgramNode=function(e,t){this.type="program",this.statements=e,t&&(this.inverse=new n.AST.ProgramNode(t))},n.AST.MustacheNode=function(e,t,n){this.type="mustache",this.escaped=!n,this.hash=t;var r=this.id=e[0],i=this.params=e.slice(1),s=this.eligibleHelper=r.isSimple;this.isHelper=s&&(i.length||t)},n.AST.PartialNode=function(e,t){this.type="partial",this.partialName=e,this.context=t};var e=function(e,t){if(e.original!==t.original)throw new n.Exception(e.original+" doesn't match "+t.original)};n.AST.BlockNode=function(t,n,r,i){e(t.id,i),this.type="block",this.mustache=t,this.program=n,this.inverse=r,this.inverse&&!this.program&&(this.isInverse=!0)},n.AST.ContentNode=function(e){this.type="content",this.string=e},n.AST.HashNode=function(e){this.type="hash",this.pairs=e},n.AST.IdNode=function(e){this.type="ID",this.original=e.join(".");var t=[],r=0;for(var i=0,s=e.length;i0)throw new n.Exception("Invalid path: "+this.original);o===".."?r++:this.isScoped=!0}else t.push(o)}this.parts=t,this.string=t.join("."),this.depth=r,this.isSimple=e.length===1&&!this.isScoped&&r===0,this.stringModeValue=this.string},n.AST.PartialNameNode=function(e){this.type="PARTIAL_NAME",this.name=e},n.AST.DataNode=function(e){this.type="DATA",this.id=e},n.AST.StringNode=function(e){this.type="STRING",this.string=e,this.stringModeValue=e},n.AST.IntegerNode=function(e){this.type="INTEGER",this.integer=e,this.stringModeValue=Number(e)},n.AST.BooleanNode=function(e){this.type="BOOLEAN",this.bool=e,this.stringModeValue=e==="true"},n.AST.CommentNode=function(e){this.type="comment",this.comment=e}}(),n.Compiler=function(){},n.JavaScriptCompiler=function(){},function(e,t){e.prototype={compiler:e,disassemble:function(){var e=this.opcodes,t,n=[],r,i;for(var s=0,o=e.length;sthis.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var e=this.inlineStack;if(e.length){this.inlineStack=[];for(var t=0,n=e.length;t 2) { - expected.push("'" + this.terminals_[p] + "'"); - } - if (this.lexer.showPosition) { - errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'"; - } else { - errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1?"end of input":"'" + (this.terminals_[symbol] || symbol) + "'"); - } - this.parseError(errStr, {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected}); - } - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(this.lexer.yytext); - lstack.push(this.lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = this.lexer.yyleng; - yytext = this.lexer.yytext; - yylineno = this.lexer.yylineno; - yyloc = this.lexer.yylloc; - if (recovering > 0) - recovering--; - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = {first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column}; - if (ranges) { - yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; - } - r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); - if (typeof r !== "undefined") { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -} -}; -/* Jison generated lexer */ -var lexer = (function(){ -var lexer = ({EOF:1, -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, -setInput:function (input) { - this._input = input; - this._more = this._less = this.done = false; - this.yylineno = this.yyleng = 0; - this.yytext = this.matched = this.match = ''; - this.conditionStack = ['INITIAL']; - this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0}; - if (this.options.ranges) this.yylloc.range = [0,0]; - this.offset = 0; - return this; - }, -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) this.yylloc.range[1]++; - - this._input = this._input.slice(1); - return ch; - }, -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length-len-1); - //this.yyleng -= len; - this.offset -= len; - var oldLines = this.match.split(/(?:\r\n?|\n)/g); - this.match = this.match.substr(0, this.match.length-1); - this.matched = this.matched.substr(0, this.matched.length-1); - - if (lines.length-1) this.yylineno -= lines.length-1; - var r = this.yylloc.range; - - this.yylloc = {first_line: this.yylloc.first_line, - last_line: this.yylineno+1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length: - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - return this; - }, -more:function () { - this._more = true; - return this; - }, -less:function (n) { - this.unput(this.match.slice(n)); - }, -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\n/g, ""); - }, -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c+"^"; - }, -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) this.done = true; - - var token, - match, - tempMatch, - index, - col, - lines; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i=0;i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (!this.options.flex) break; - } - } - if (match) { - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) this.yylineno += lines.length; - this.yylloc = {first_line: this.yylloc.last_line, - last_line: this.yylineno+1, - first_column: this.yylloc.last_column, - last_column: lines ? lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length}; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]); - if (this.done && this._input) this.done = false; - if (token) return token; - else return; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(), - {text: "", token: null, line: this.yylineno}); - } - }, -lex:function lex() { - var r = this.next(); - if (typeof r !== 'undefined') { - return r; - } else { - return this.lex(); - } - }, -begin:function begin(condition) { - this.conditionStack.push(condition); - }, -popState:function popState() { - return this.conditionStack.pop(); - }, -_currentRules:function _currentRules() { - return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules; - }, -topState:function () { - return this.conditionStack[this.conditionStack.length-2]; - }, -pushState:function begin(condition) { - this.begin(condition); - }}); -lexer.options = {}; -lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { - -var YYSTATE=YY_START -switch($avoiding_name_collisions) { -case 0: - if(yy_.yytext.slice(-1) !== "\\") this.begin("mu"); - if(yy_.yytext.slice(-1) === "\\") yy_.yytext = yy_.yytext.substr(0,yy_.yyleng-1), this.begin("emu"); - if(yy_.yytext) return 14; - -break; -case 1: return 14; -break; -case 2: - if(yy_.yytext.slice(-1) !== "\\") this.popState(); - if(yy_.yytext.slice(-1) === "\\") yy_.yytext = yy_.yytext.substr(0,yy_.yyleng-1); - return 14; - -break; -case 3: yy_.yytext = yy_.yytext.substr(0, yy_.yyleng-4); this.popState(); return 15; -break; -case 4: this.begin("par"); return 24; -break; -case 5: return 16; -break; -case 6: return 20; -break; -case 7: return 19; -break; -case 8: return 19; -break; -case 9: return 23; -break; -case 10: return 23; -break; -case 11: this.popState(); this.begin('com'); -break; -case 12: yy_.yytext = yy_.yytext.substr(3,yy_.yyleng-5); this.popState(); return 15; -break; -case 13: return 22; -break; -case 14: return 36; -break; -case 15: return 35; -break; -case 16: return 35; -break; -case 17: return 39; -break; -case 18: /*ignore whitespace*/ -break; -case 19: this.popState(); return 18; -break; -case 20: this.popState(); return 18; -break; -case 21: yy_.yytext = yy_.yytext.substr(1,yy_.yyleng-2).replace(/\\"/g,'"'); return 30; -break; -case 22: yy_.yytext = yy_.yytext.substr(1,yy_.yyleng-2).replace(/\\'/g,"'"); return 30; -break; -case 23: yy_.yytext = yy_.yytext.substr(1); return 28; -break; -case 24: return 32; -break; -case 25: return 32; -break; -case 26: return 31; -break; -case 27: return 35; -break; -case 28: yy_.yytext = yy_.yytext.substr(1, yy_.yyleng-2); return 35; -break; -case 29: return 'INVALID'; -break; -case 30: /*ignore whitespace*/ -break; -case 31: this.popState(); return 37; -break; -case 32: return 5; -break; -} -}; -lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|$)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\{\{>)/,/^(?:\{\{#)/,/^(?:\{\{\/)/,/^(?:\{\{\^)/,/^(?:\{\{\s*else\b)/,/^(?:\{\{\{)/,/^(?:\{\{&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{)/,/^(?:=)/,/^(?:\.(?=[} ]))/,/^(?:\.\.)/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}\}\})/,/^(?:\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@[a-zA-Z]+)/,/^(?:true(?=[}\s]))/,/^(?:false(?=[}\s]))/,/^(?:[0-9]+(?=[}\s]))/,/^(?:[a-zA-Z0-9_$-]+(?=[=}\s\/.]))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:\s+)/,/^(?:[a-zA-Z0-9_$-/]+)/,/^(?:$)/]; -lexer.conditions = {"mu":{"rules":[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32],"inclusive":false},"emu":{"rules":[2],"inclusive":false},"com":{"rules":[3],"inclusive":false},"par":{"rules":[30,31],"inclusive":false},"INITIAL":{"rules":[0,1,32],"inclusive":true}}; -return lexer;})() -parser.lexer = lexer; -function Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); -// END(BROWSER) -/* THIS FILE IS GENERATED BY A BUILD SCRIPT - DO NOT EDIT! */ - -// BEGIN(BROWSER) -Handlebars.Parser = handlebars; - -Handlebars.parse = function(input) { - - // Just return if an already-compile AST was passed in. - if(input.constructor === Handlebars.AST.ProgramNode) { return input; } - - Handlebars.Parser.yy = Handlebars.AST; - return Handlebars.Parser.parse(input); -}; - -Handlebars.print = function(ast) { - return new Handlebars.PrintVisitor().accept(ast); -}; -// END(BROWSER) -/* THIS FILE IS GENERATED BY A BUILD SCRIPT - DO NOT EDIT! */ - -// BEGIN(BROWSER) -(function() { - - Handlebars.AST = {}; - - Handlebars.AST.ProgramNode = function(statements, inverse) { - this.type = "program"; - this.statements = statements; - if(inverse) { this.inverse = new Handlebars.AST.ProgramNode(inverse); } - }; - - Handlebars.AST.MustacheNode = function(rawParams, hash, unescaped) { - this.type = "mustache"; - this.escaped = !unescaped; - this.hash = hash; - - var id = this.id = rawParams[0]; - var params = this.params = rawParams.slice(1); - - // a mustache is an eligible helper if: - // * its id is simple (a single part, not `this` or `..`) - var eligibleHelper = this.eligibleHelper = id.isSimple; - - // a mustache is definitely a helper if: - // * it is an eligible helper, and - // * it has at least one parameter or hash segment - this.isHelper = eligibleHelper && (params.length || hash); - - // if a mustache is an eligible helper but not a definite - // helper, it is ambiguous, and will be resolved in a later - // pass or at runtime. - }; - - Handlebars.AST.PartialNode = function(partialName, context) { - this.type = "partial"; - this.partialName = partialName; - this.context = context; - }; - - var verifyMatch = function(open, close) { - if(open.original !== close.original) { - throw new Handlebars.Exception(open.original + " doesn't match " + close.original); - } - }; - - Handlebars.AST.BlockNode = function(mustache, program, inverse, close) { - verifyMatch(mustache.id, close); - this.type = "block"; - this.mustache = mustache; - this.program = program; - this.inverse = inverse; - - if (this.inverse && !this.program) { - this.isInverse = true; - } - }; - - Handlebars.AST.ContentNode = function(string) { - this.type = "content"; - this.string = string; - }; - - Handlebars.AST.HashNode = function(pairs) { - this.type = "hash"; - this.pairs = pairs; - }; - - Handlebars.AST.IdNode = function(parts) { - this.type = "ID"; - this.original = parts.join("."); - - var dig = [], depth = 0; - - for(var i=0,l=parts.length; i 0) { throw new Handlebars.Exception("Invalid path: " + this.original); } - else if (part === "..") { depth++; } - else { this.isScoped = true; } - } - else { dig.push(part); } - } - - this.parts = dig; - this.string = dig.join('.'); - this.depth = depth; - - // an ID is simple if it only has one part, and that part is not - // `..` or `this`. - this.isSimple = parts.length === 1 && !this.isScoped && depth === 0; - - this.stringModeValue = this.string; - }; - - Handlebars.AST.PartialNameNode = function(name) { - this.type = "PARTIAL_NAME"; - this.name = name; - }; - - Handlebars.AST.DataNode = function(id) { - this.type = "DATA"; - this.id = id; - }; - - Handlebars.AST.StringNode = function(string) { - this.type = "STRING"; - this.string = string; - this.stringModeValue = string; - }; - - Handlebars.AST.IntegerNode = function(integer) { - this.type = "INTEGER"; - this.integer = integer; - this.stringModeValue = Number(integer); - }; - - Handlebars.AST.BooleanNode = function(bool) { - this.type = "BOOLEAN"; - this.bool = bool; - this.stringModeValue = bool === "true"; - }; - - Handlebars.AST.CommentNode = function(comment) { - this.type = "comment"; - this.comment = comment; - }; - -})(); -// END(BROWSER) -/* THIS FILE IS GENERATED BY A BUILD SCRIPT - DO NOT EDIT! */ - -// BEGIN(BROWSER) - -/*jshint eqnull:true*/ -Handlebars.Compiler = function() {}; -Handlebars.JavaScriptCompiler = function() {}; - -(function(Compiler, JavaScriptCompiler) { - // the foundHelper register will disambiguate helper lookup from finding a - // function in a context. This is necessary for mustache compatibility, which - // requires that context functions in blocks are evaluated by blockHelperMissing, - // and then proceed as if the resulting value was provided to blockHelperMissing. - - Compiler.prototype = { - compiler: Compiler, - - disassemble: function() { - var opcodes = this.opcodes, opcode, out = [], params, param; - - for (var i=0, l=opcodes.length; i 0) { - this.source[1] = this.source[1] + ", " + locals.join(", "); - } - - // Generate minimizer alias mappings - if (!this.isChild) { - for (var alias in this.context.aliases) { - this.source[1] = this.source[1] + ', ' + alias + '=' + this.context.aliases[alias]; - } - } - - if (this.source[1]) { - this.source[1] = "var " + this.source[1].substring(2) + ";"; - } - - // Merge children - if (!this.isChild) { - this.source[1] += '\n' + this.context.programs.join('\n') + '\n'; - } - - if (!this.environment.isSimple) { - this.source.push("return buffer;"); - } - - var params = this.isChild ? ["depth0", "data"] : ["Handlebars", "depth0", "helpers", "partials", "data"]; - - for(var i=0, l=this.environment.depths.list.length; i this.stackVars.length) { this.stackVars.push("stack" + this.stackSlot); } - return this.topStackName(); - }, - topStackName: function() { - return "stack" + this.stackSlot; - }, - flushInline: function() { - var inlineStack = this.inlineStack; - if (inlineStack.length) { - this.inlineStack = []; - for (var i = 0, len = inlineStack.length; i < len; i++) { - var entry = inlineStack[i]; - if (entry instanceof Literal) { - this.compileStack.push(entry); - } else { - this.pushStack(entry); - } - } - } - }, - isInline: function() { - return this.inlineStack.length; - }, - - popStack: function(wrapped) { - var inline = this.isInline(), - item = (inline ? this.inlineStack : this.compileStack).pop(); - - if (!wrapped && (item instanceof Literal)) { - return item.value; - } else { - if (!inline) { - this.stackSlot--; - } - return item; - } - }, - - topStack: function(wrapped) { - var stack = (this.isInline() ? this.inlineStack : this.compileStack), - item = stack[stack.length - 1]; - - if (!wrapped && (item instanceof Literal)) { - return item.value; - } else { - return item; - } - }, - - quotedString: function(str) { - return '"' + str - .replace(/\\/g, '\\\\') - .replace(/"/g, '\\"') - .replace(/\n/g, '\\n') - .replace(/\r/g, '\\r') + '"'; - }, - - setupHelper: function(paramSize, name, missingParams) { - var params = []; - this.setupParams(paramSize, params, missingParams); - var foundHelper = this.nameLookup('helpers', name, 'helper'); - - return { - params: params, - name: foundHelper, - callParams: ["depth0"].concat(params).join(", "), - helperMissingParams: missingParams && ["depth0", this.quotedString(name)].concat(params).join(", ") - }; - }, - - // the params and contexts arguments are passed in arrays - // to fill in - setupParams: function(paramSize, params, useRegister) { - var options = [], contexts = [], types = [], param, inverse, program; - - options.push("hash:" + this.popStack()); - - inverse = this.popStack(); - program = this.popStack(); - - // Avoid setting fn and inverse if neither are set. This allows - // helpers to do a check for `if (options.fn)` - if (program || inverse) { - if (!program) { - this.context.aliases.self = "this"; - program = "self.noop"; - } - - if (!inverse) { - this.context.aliases.self = "this"; - inverse = "self.noop"; - } - - options.push("inverse:" + inverse); - options.push("fn:" + program); - } - - for(var i=0; i "The pie of the day is Maple Custard!" - -@method render -@param {String} string Handlebars template string to render. -@param {Object} context Context object to pass to the template. -@param {Object} [options] Compile/render options. - @param {Object} [options.helpers] Helper functions. - @param {Object} [options.partials] Partials. - @param {Object} [options.data] Data. -@return {String} Rendered template string. -*/ -Handlebars.render = function (string, context, options) { - return Handlebars.compile(string)(context, options); -}; - -// The rest of this file is just API docs for methods defined in Handlebars -// itself. - -/** -Compiles a Handlebars template string into a function. To render the template, -call the function and pass in a context object. - -@example - - var template = Y.Handlebars.compile('The pie of the day is {{pie}}!.'); - template({pie: 'Pecan'}); - // => "The pie of the day is Pecan!" - -@method compile -@param {String} string Handlebars template string to compile. -@param {Object} [options] Compiler options. -@return {Function} Compiled template function. -*/ - -/** -Precompiles a Handlebars template string into a string of JavaScript code. This -can be used to precompile a template at build time or on the server, and the -resulting template can then be rendered at runtime or on the client without -needing to go through a compile step. - -To render a precompiled template, evaluate the code and then pass the resulting -function to `Y.Handlebars.template()` to get back an executable template -function. - -@method precompile -@param {String} string Handlebars template string to compile. -@param {Object} [options] Compiler options. -@return {String} Precompiled template code. -*/ - - -}, '3.9.0', {"requires": ["handlebars-base"]}); diff --git a/lib/yuilib/3.9.0/build/lazy-model-list/lazy-model-list-min.js b/lib/yuilib/3.9.0/build/lazy-model-list/lazy-model-list-min.js deleted file mode 100644 index 05c0d6fd5ad..00000000000 --- a/lib/yuilib/3.9.0/build/lazy-model-list/lazy-model-list-min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("lazy-model-list",function(e,t){var n=e.Attribute.prototype,r=YUI.namespace("Env.Model"),i=e.Lang,s=e.Array,o="add",u="error",a="reset";e.LazyModelList=e.Base.create("lazyModelList",e.ModelList,[],{free:function(e){var t;return e?(t=i.isNumber(e)?e:this.indexOf(e),t>=0&&delete this._models[t]):this._models=[],this},get:function(e){return this.attrAdded(e)?n.get.apply(this,arguments):s.map(this._items,function(t){return t[e]})},getAsHTML:function(t){return this.attrAdded(t)?e.Escape.html(n.get.apply(this,arguments)):s.map(this._items,function(n){return e.Escape.html(n[t])})},getAsURL:function(e){return this.attrAdded(e)?encodeURIComponent(n.get.apply(this,arguments)):s.map(this._items,function(t){return encodeURIComponent(t[e])})},indexOf:function(e){return s.indexOf(e&&e._isYUIModel?this._models:this._items,e)},reset:function(t,n){t||(t=[]),n||(n={});var r=e.merge({src:"reset"},n);return t=t._isYUIModelList?t.map(this._modelToObject):s.map(t,this._modelToObject),r.models=t,n.silent?this._defResetFn(r):(this.comparator&&t.sort(e.bind(this._sort,this)),this.fire(a,r)),this},revive:function(e){var t,n,r;if(e||e===0)return this._revive(i.isNumber(e)?e:this.indexOf(e));r=[];for(t=0,n=this._items.length;t-1&&o.splice(e,1),this._historyEvents&&this._historyEvents.detach()},dispatch:function(){return this.once(a,function(){this._ready=!0;if(this._html5&&this.upgrade())return;this._dispatch(this._getPath(),this._getURL())}),this},getPath:function(){return this._getPath()},hasRoute:function(e){var t;return this._hasSameOrigin(e)?(this._html5||(e=this._upgradeURL(e)),t=this.removeQuery(this.removeRoot(e)),!!this.match(t).length):!1},match:function(e){return i.filter(this._routes,function(t){return e.search(t.regex)>-1})},removeRoot:function(e){var t=this.get("root");return e=e.replace(this._regexUrlOrigin,""),t&&e.indexOf(t)===0&&(e=e.substring(t.length)),e.charAt(0)==="/"?e:"/"+e},removeQuery:function(e){return e.replace(/\?.*$/,"")},replace:function(e){return this._queue(e,!0)},route:function(e,t){t=i.flatten(i(arguments,1,!0));var n=[];return this._routes.push({callbacks:t,keys:n,path:e,regex:this._getRegex(e,n),callback:t[0]}),this},save:function(e){return this._queue(e)},upgrade:function(){if(!this._html5)return!1;var e=this._getHashPath();return e?(this.once(a,function(){this.replace(e)}),!0):!1},_decode:function(e){return decodeURIComponent(e.replace(/\+/g," "))},_dequeue:function(){var t=this,n;return YUI.Env.windowLoaded?(n=u.shift(),n?n():this):(e.once("load",function(){t._dequeue()}),this)},_dispatch:function(t,n,r){var s=this,o=s._decode,u=s.match(t),a=[],f,l,c;return s._dispatching=s._dispatched=!0,!u||!u.length?(s._dispatching=!1,s):(l=s._getRequest(t,n,r),c=s._getResponse(l),l.next=function(n){var r,h;if(n)n==="route"?(a=[],l.next()):e.error(n);else if(r=a.shift())typeof r=="string"&&(r=s[r]),l.pendingCallbacks=a.length,r.call(s,l,c,l.next);else if(h=u.shift())a=h.callbacks.concat(),f=i.map(h.regex.exec(t)||[],o),f.length===h.keys.length+1?l.params=i.hash(h.keys,f.slice(1)):l.params=f.concat(),l.pendingRoutes=u.length,l.next()},l.next(),s._dispatching=!1,s._dequeue())},_getHashPath:function(e){return e||(e=n.getHash()),e&&e.charAt(0)==="/"?this._joinURL(e):""},_getOrigin:function(){var t=e.getLocation();return t.origin||t.protocol+"//"+t.host},_getPath:function(){var t=!this._html5&&this._getHashPath()||e.getLocation().pathname;return this.removeQuery(this.removeRoot(t))},_getPathRoot:function(){var t="/",n=e.getLocation().pathname,r;return n.charAt(n.length-1)===t?n:(r=n.split(t),r.pop(),r.join(t)+t)},_getQuery:function(){var t=e.getLocation(),r,i;return this._html5?t.search.substring(1):(r=n.getHash(),i=r.match(this._regexUrlQuery),r&&i?i[1]:t.search.substring(1))},_getRegex:function(e,t){return e instanceof RegExp?e:e==="*"?/.*/:(e=e.replace(this._regexPathParam,function(e,n,r){return r?(t.push(r),n==="*"?"(.*?)":"([^/#?]*)"):n==="*"?".*":e}),new RegExp("^"+e+"$"))},_getRequest:function(e,t,n){return{path:e,query:this._parseQuery(this._getQuery()),url:t,src:n}},_getResponse:function(e){var t=function(){return e.next.apply(this,arguments)};return t.req=e,t},_getRoutes:function(){return this._routes.concat()},_getURL:function(){var t=e.getLocation().toString();return this._html5||(t=this._upgradeURL(t)),t},_hasSameOrigin:function(t){var n=(t&&t.match(this._regexUrlOrigin)||[])[0];return n&&n.indexOf("//")===0&&(n=e.getLocation().protocol+n),!n||n===this._getOrigin()},_joinURL:function(e){var t=this.get("root");return e=this.removeRoot(e),e.charAt(0)==="/"&&(e=e.substring(1)),t&&t.charAt(t.length-1)==="/"?t+e:t+"/"+e},_normalizePath:function(e){var t="..",n="/",r,i,s,o,u,a;if(!e||e===n)return n;o=e.split(n),a=[];for(r=0,i=o.length;r=3),_instances:o,dispatch:function(){var e,t,n;for(e=0,t=o.length;ethis.get("height")&&(p=this.get("height")/T,s*=p,s=Math.max(s,1));if(!x){y=h[d-1],b=y.get("negativeBaseValues"),w=y.get("positiveBaseValues");if(!b||!w)x=!0,w=[],b=[]}else b=[],w=[];this.set("negativeBaseValues",b),this.set("positiveBaseValues",w);for(a=0;athis._leftOrigin?(w[a]=m,b[a]=this._leftOrigin,m-=i):m=this._leftOrigin&&(m+=w[a]-this._leftOrigin,i=m-w[a],w[a]=m,m-=i),!isNaN(i)&&i>0?(l-=s/2,L?(N.width[a]=i,N.height[a]=s,C.push(m),k.push(l)):(r.width=i,r.height=s,r.x=m,r.y=l,E&&(r.fill.color=E[a%E.length]),S&&(r.border.color=S[a%S.length]),g=this.getMarker(r,v,a))):L||this._markers.push(null)}L?this._createGroupMarker({fill:r.fill,border:r.border,dimensions:N,xvalues:C,yvalues:k,shape:r.shape}):this._clearMarkerCache()},updateMarkerState:function(t,r){if(this._markers[r]){var i=this._getState(t),s=this.get("ycoords"),o=this._markers[r],u=this.get("styles").marker,a=u.height,f=i=="off"||!u[i]?e.clone(u):e.clone(u[i]),l,c;f.y=s[r]-a/2,f.x=o.get("x"),f.width=o.get("width"),f.id=o.get("id"),l=f.fill.color,c=f.border.color,n.isArray(l)?f.fill.color=l[r%l.length]:f.fill.color=this._getItemColor(f.fill.color,r),n.isArray(c)?f.border.color=c[r%c.length]:f.border.color=this._getItemColor(f.border.color,r),o.set(f)}},_getPlotDefaults:function(){var e={fill:{type:"solid",alpha:1,colors:null,alphas:null,ratios:null},border:{weight:0,alpha:1},width:24,height:24,shape:"rect",padding:{top:0,left:0,right:0,bottom:0}};return e.fill.color=this._getDefaultColor(this.get("graphOrder"),"fill"),e.border.color=this._getDefaultColor(this.get("graphOrder"),"border"),e}},{ATTRS:{type:{value:"stackedBar"},direction:{value:"vertical"},negativeBaseValues:{value:null},positiveBaseValues:{value:null}}})},"3.9.0",{requires:["series-stacked","series-bar"]}); diff --git a/lib/yuilib/3.9.0/build/series-bar/series-bar-min.js b/lib/yuilib/3.9.0/build/series-bar/series-bar-min.js deleted file mode 100644 index 9a34f760033..00000000000 --- a/lib/yuilib/3.9.0/build/series-bar/series-bar-min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("series-bar",function(e,t){e.BarSeries=e.Base.create("barSeries",e.MarkerSeries,[e.Histogram],{_getMarkerDimensions:function(e,t,n,r){var i={top:t+r};return e>=this._leftOrigin?(i.left=this._leftOrigin,i.calculatedSize=e-i.left):(i.left=e,i.calculatedSize=this._leftOrigin-e),i},updateMarkerState:function(t,n){if(this._markers&&this._markers[n]){var r=e.clone(this.get("styles").marker),i,s=this._getState(t),o=this.get("xcoords"),u=this.get("ycoords"),a=this._markers[n],f,l=this.get("seriesTypeCollection"),c=l.length,h,p=0,d=0,v,m=0,g=[],y=this.get("order"),b;i=s=="off"||!r[s]?r:r[s],i.fill.color=this._getItemColor(i.fill.color,n),i.border.color=this._getItemColor(i.border.color,n),b=this._getMarkerDimensions(o[n],u[n],r.height,d),i.width=b.calculatedSize,i.height=Math.min(this._maxSize,i.height),a.set(i);for(;mm&&(d=p),d-=p/2;for(m=0;m0)t=n.shift(),t&&t instanceof e.Shape&&t.destroy();this._path&&(this._path.destroy(),this._path=null),this._lineGraphic&&(this._lineGraphic.destroy(),this._lineGraphic=null),this._groupMarker&&(this._groupMarker.destroy(),this._groupMarker=null)},_defaultLineColors:["#426ab3","#d09b2c","#000000","#b82837","#b384b5","#ff7200","#779de3","#cbc8ba","#7ed7a6","#007a6c"],_defaultFillColors:["#6084d0","#eeb647","#6c6b5f","#d6484f","#ce9ed1","#ff9f3b","#93b7ff","#e0ddd0","#94ecba","#309687"],_defaultBorderColors:["#205096","#b38206","#000000","#94001e","#9d6fa0","#e55b00","#5e85c9","#adab9e","#6ac291","#006457"],_defaultSliceColors:["#66007f","#a86f41","#295454","#996ab2","#e8cdb7","#90bdbd","#000000","#c3b8ca","#968373","#678585"],_getDefaultColor:function(e,t){var n={line:this._defaultLineColors,fill:this._defaultFillColors,border:this._defaultBorderColors,slice:this._defaultSliceColors},r=n[t]||n.fill,i=r.length;return e=e||0,e>=i&&(e%=i),t=t||"fill",n[t][e]}},{ATTRS:{width:{readOnly:!0,getter:function(){return this.get("graphic").get("width")}},height:{readOnly:!0,getter:function(){return this.get("graphic").get("height")}},graphic:{lazyAdd:!1,setter:function(e){return this.get("rendered")||this.set("rendered",!0),e}},chart:{getter:function(){var e,t=this.get("graph");return t&&(e=t.get("chart")),e}},graph:{},rendered:{value:!1},visible:{value:!0},groupMarkers:{getter:function(){var e,t=this._groupMarkers;return t||(e=this.get("graph"),e&&(t=e.get("groupMarkers"))),t},setter:function(e){return this._groupMarkers=e,e}}}})},"3.9.0",{requires:["graphics","axis-base"]}); diff --git a/lib/yuilib/3.9.0/build/series-cartesian/series-cartesian-min.js b/lib/yuilib/3.9.0/build/series-cartesian/series-cartesian-min.js deleted file mode 100644 index 5ae6193fb14..00000000000 --- a/lib/yuilib/3.9.0/build/series-cartesian/series-cartesian-min.js +++ /dev/null @@ -1,3 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("series-cartesian",function(e,t){var n=e.Lang;e.CartesianSeries=e.Base.create("cartesianSeries",e.SeriesBase,[],{_xDisplayName:null,_yDisplayName:null,_leftOrigin:null,_bottomOrigin:null,addListeners:function(){var t=this.get("xAxis"),n=this.get("yAxis");t&&(this._xDataReadyHandle=t.after("dataReady",e.bind(this._xDataChangeHandler,this)),this._xDataUpdateHandle=t.after("dataUpdate",e.bind(this._xDataChangeHandler,this))),n&&(this._yDataReadyHandle=n.after("dataReady",e.bind(this._yDataChangeHandler,this)),this._yDataUpdateHandle=n.after("dataUpdate",e.bind(this._yDataChangeHandler,this))),this._xAxisChangeHandle=this.after("xAxisChange",this._xAxisChangeHandler),this._yAxisChangeHandle=this.after("yAxisChange",this._yAxisChangeHandler),this._stylesChangeHandle=this.after("stylesChange",function(e){var t=this._updateAxisBase();t&&this.draw()}),this._widthChangeHandle=this.after("widthChange",function(e){var t=this._updateAxisBase();t&&this.draw()}),this._heightChangeHandle=this.after("heightChange",function(e){var t=this._updateAxisBase();t&&this.draw()}),this._visibleChangeHandle=this.after("visibleChange",this._handleVisibleChange)},_xAxisChangeHandler:function(t){var n=this.get("xAxis");n.after("dataReady",e.bind(this._xDataChangeHandler,this)),n.after("dataUpdate",e.bind(this._xDataChangeHandler,this))},_yAxisChangeHandler:function(t){var n=this.get("yAxis");n.after("dataReady",e.bind(this._yDataChangeHandler,this)),n.after("dataUpdate",e.bind(this._yDataChangeHandler,this))},GUID:"yuicartesianseries",_xDataChangeHandler:function(e){var t=this._updateAxisBase();t&&this.draw()},_yDataChangeHandler:function(e){var t=this._updateAxisBase();t&&this.draw()},_updateAxisBase:function(){var t=this.get("xAxis"),r=this.get("yAxis"),i=this.get("xKey"),s=this.get("yKey"),o,u,a,f,l;return!t||!r||!i||!s?l=!1:(u=t.getDataByKey(i),o=r.getDataByKey(s),n.isArray(i)?a=u&&e.Object.size(u)>0?this._checkForDataByKey(u,i):!1:a=u?!0:!1,n.isArray(s)?f=o&&e.Object.size(o)>0?this._checkForDataByKey(o,s):!1:f=o?!0:!1,l=a&&f,l&&(this.set("xData",u),this.set("yData",o))),l},_checkForDataByKey:function(e,t){var n,r=t.length,i=!1;for(n=0;ni)r-=1,t=e[r];return r},draw:function(){var e=this.get("width"),t=this.get("height"),n,r;if(this.get("rendered")&&isFinite(e)&&isFinite(t)&&e>0&&t>0&&(this.get("xData")&&this.get("yData")||this._updateAxisBase())){if(this._drawing){this._callLater=!0;return}this._drawing=!0,this._callLater=!1,this.setAreaData(),n=this.get("xcoords"),r=this.get("ycoords"),n&&r&&n.length>0&&this.drawSeries(),this._drawing=!1,this._callLater?this.draw():(this._toggleVisible(this.get("visible")),this.fire("drawingComplete"))}},_defaultPlaneOffset:4,destructor:function(){this.get("rendered")&&(this._xDataReadyHandle&&this._xDataReadyHandle.detach(),this._xDataUpdateHandle&&this._xDataUpdateHandle.detach(),this._yDataReadyHandle&&this._yDataReadyHandle.detach(),this._yDataUpdateHandle&&this._yDataUpdateHandle.detach(),this._xAxisChangeHandle.detach(),this._yAxisChangeHandle.detach())}},{ATTRS:{seriesTypeCollection:{},xDisplayName:{getter:function(){return this._xDisplayName||this.get("xKey")},setter:function(e){return this._xDisplayName=e.toString(),e}},yDisplayName:{getter:function(){return this._yDisplayName||this.get("yKey")},setter:function(e){return this._yDisplayName=e.toString(),e}},categoryDisplayName:{lazyAdd:!1,getter:function(){return this.get("direction")=="vertical"?this.get("yDisplayName"):this.get("xDisplayName")},setter:function(e){return this.get("direction")=="vertical"?this._yDisplayName=e:this._xDisplayName=e,e}},valueDisplayName:{lazyAdd:!1,getter:function(){return this.get("direction")=="vertical"?this.get("xDisplayName"):this.get("yDisplayName")},setter:function(e){return this -.get("direction")=="vertical"?this._xDisplayName=e:this._yDisplayName=e,e}},type:{value:"cartesian"},order:{},graphOrder:{},xcoords:{},ycoords:{},xAxis:{},yAxis:{},xKey:{setter:function(e){return n.isArray(e)?e:e.toString()}},yKey:{setter:function(e){return n.isArray(e)?e:e.toString()}},xData:{},yData:{},xMarkerPlane:{},yMarkerPlane:{},xMarkerPlaneOffset:{getter:function(){var e=this.get("styles").marker;return e&&e.width&&isFinite(e.width)?e.width*.5:this._defaultPlaneOffset}},yMarkerPlaneOffset:{getter:function(){var e=this.get("styles").marker;return e&&e.height&&isFinite(e.height)?e.height*.5:this._defaultPlaneOffset}},direction:{value:"horizontal"}}})},"3.9.0",{requires:["series-base"]}); diff --git a/lib/yuilib/3.9.0/build/series-column-stacked/series-column-stacked-min.js b/lib/yuilib/3.9.0/build/series-column-stacked/series-column-stacked-min.js deleted file mode 100644 index abcc88269ce..00000000000 --- a/lib/yuilib/3.9.0/build/series-column-stacked/series-column-stacked-min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("series-column-stacked",function(e,t){var n=e.Lang;e.StackedColumnSeries=e.Base.create("stackedColumnSeries",e.ColumnSeries,[e.StackingUtil],{drawSeries:function(){if(this.get("xcoords").length<1)return;var t=n.isNumber,r=e.clone(this.get("styles").marker),i=r.width,s=r.height,o=this.get("xcoords"),u=this.get("ycoords"),a=0,f=o.length,l=u[0],c=this.get("type"),h=this.get("seriesTypeCollection"),p,d=this.get("order"),v=this.get("graphOrder"),m,g,y,b,w,E,S,x=d===0,T=f*i,N={width:[],height:[]},C=[],k=[],L=this.get("groupMarkers");n.isArray(r.fill.color)&&(y=r.fill.color.concat()),n.isArray(r.border.color)&&(b=r.border.color.concat()),this._createMarkerCache(),T>this.get("width")&&(p=this.get("width")/T,i*=p,i=Math.max(i,1));if(!x){w=h[d-1],E=w.get("negativeBaseValues"),S=w.get("positiveBaseValues");if(!E||!S)x=!0,S=[],E=[]}else E=[],S=[];this.set("negativeBaseValues",E),this.set("positiveBaseValues",S);for(a=0;athis._bottomOrigin?(S[a]=this._bottomOrigin,E[a]=l,l-=s):(S[a]=l,E[a]=l)):l>this._bottomOrigin?(l+=E[a]-this._bottomOrigin,s=l-E[a],E[a]=l,l-=s):l<=this._bottomOrigin&&(l=S[a]-(this._bottomOrigin-l),s=S[a]-l,S[a]=l),!isNaN(s)&&s>0?(m-=i/2,L?(N.width[a]=i,N.height[a]=s,C.push(m),k.push(l)):(r.width=i,r.height=s,r.x=m,r.y=l,y&&(r.fill.color=y[a%y.length]),b&&(r.border.color=b[a%b.length]),g=this.getMarker(r,v,a))):L||this._markers.push(null)}L?this._createGroupMarker({fill:r.fill,border:r.border,dimensions:N,xvalues:C,yvalues:k,shape:r.shape}):this._clearMarkerCache()},updateMarkerState:function(t,r){if(this._markers&&this._markers[r]){var i,s,o=this._getState(t),u=this.get("xcoords"),a=this._markers[r],f=0,l,c;i=this.get("styles").marker,f=i.width*.5,s=o=="off"||!i[o]?e.clone(i):e.clone(i[o]),s.height=a.get("height"),s.x=u[r]-f,s.y=a.get("y"),s.id=a.get("id"),l=s.fill.color,c=s.border.color,n.isArray(l)?s.fill.color=l[r%l.length]:s.fill.color=this._getItemColor(s.fill.color,r),n.isArray(c)?s.border.color=c[r%c.length]:s.border.color=this._getItemColor(s.border.color,r),a.set(s)}},_getPlotDefaults:function(){var e={fill:{type:"solid",alpha:1,colors:null,alphas:null,ratios:null},border:{weight:0,alpha:1},width:24,height:24,shape:"rect",padding:{top:0,left:0,right:0,bottom:0}};return e.fill.color=this._getDefaultColor(this.get("graphOrder"),"fill"),e.border.color=this._getDefaultColor(this.get("graphOrder"),"border"),e}},{ATTRS:{type:{value:"stackedColumn"},negativeBaseValues:{value:null},positiveBaseValues:{value:null}}})},"3.9.0",{requires:["series-stacked","series-column"]}); diff --git a/lib/yuilib/3.9.0/build/series-column/series-column-min.js b/lib/yuilib/3.9.0/build/series-column/series-column-min.js deleted file mode 100644 index 90d83dd354f..00000000000 --- a/lib/yuilib/3.9.0/build/series-column/series-column-min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("series-column",function(e,t){e.ColumnSeries=e.Base.create("columnSeries",e.MarkerSeries,[e.Histogram],{_getMarkerDimensions:function(e,t,n,r){var i={left:e+r};return this._bottomOrigin>=t?(i.top=t,i.calculatedSize=this._bottomOrigin-i.top):(i.top=this._bottomOrigin,i.calculatedSize=t-this._bottomOrigin),i},updateMarkerState:function(t,n){if(this._markers&&this._markers[n]){var r=e.clone(this.get("styles").marker),i,s=this._getState(t),o=this.get("xcoords"),u=this.get("ycoords"),a=this._markers[n],f,l,c=this.get("seriesTypeCollection"),h=c.length,p=0,d=0,v,m=0,g=[],y=this.get("order"),b;i=s=="off"||!r[s]?e.clone(r):e.clone(r[s]),i.fill.color=this._getItemColor(i.fill.color,n),i.border.color=this._getItemColor(i.border.color,n),b=this._getMarkerDimensions(o[n],u[n],r.width,d),i.height=b.calculatedSize,i.width=Math.min(this._maxSize,i.width),a.set(i);for(;mm&&(d=p),d-=p/2;for(m=0;m0){o=s[r-1].get("xcoords").concat().reverse(),u=s[r-1].get("ycoords").concat().reverse(),n=this.getCurveControlPoints(o,u),v=0,a=n.length,b.lineTo(o[0],u[0]);for(;v-1)n-=1,n>-1&&(s=e[n].get(i)[t]);return n},_getCoordsByOrderAndIndex:function(e,t,n,r){var i,s;return r=="vertical"?(i=n<0?this._leftOrigin:e[n].get("stackedXCoords")[t],s=this.get("stackedYCoords")[t]):(i=this.get("stackedXCoords")[t],s=n<0?this._bottomOrigin:e[n].get("stackedYCoords")[t]),[i,s]},_getStackedClosingPoints:function(){var e=this.get("order"),t=this.get("type"),n=this.get("direction"),r=this.get("seriesTypeCollection"),i,s,o=this.get("stackedXCoords"),u=this.get("stackedYCoords"),a,f,l,c,h,p,d,v,m,g,y,b;if(e<1)return this._getClosingPoints();f=r[e-1],h=f.get("stackedXCoords").concat(),p=f.get("stackedYCoords").concat(),n=="vertical"?(i=this._getFirstValidIndex(o),s=this._getLastValidIndex(o),l=f._getFirstValidIndex(h),c=f._getLastValidIndex(h)):(i=this._getFirstValidIndex(u),s=this._getLastValidIndex(u),l=f._getFirstValidIndex(p),c=f._getLastValidIndex(p)),c>=i&&l<=s?(l=Math.max(i,l),c=Math.min(s,c),h=h.slice(l,c+1),p=p.slice(l,c+1),a=l):a=s,v=[o[i]],m=[u[i]],g=i;while((isNaN(y)||yb&&(d=this._getCoordsByOrderAndIndex(r,g,b,n),v.push(d[0]),m.push(d[1])),d=this._getCoordsByOrderAndIndex(r,g,y,n),v.push(d[0]),m.push(d[1]),g+=1;h&&h.length>0&&c>i&&lb?(d=this._getCoordsByOrderAndIndex(r,g,b,n),v.push(d[0]),m.push(d[1])):ya&&(m=d);v=f*d,this._maxSize=r.get(x),v>this._maxSize&&(g=r.get(x)/v,d*=g,m*=g,i*=g,i=Math.max(i,1),this._maxSize=i),m-=d/2;for(a=0;a0?(l=N.top,E=N.left,j?(P[x][a]=i,P[T][a]=N.calculatedSize,H.push(E),B.push(l)):(t[x]=i,t[T]=N.calculatedSize,t.x=E,t.y=l,C&&(t.fill.color=C[a%C.length]),k&&(t.border.color=k[a%k.length]),S=this.getMarker(t,w,a))):j||this._markers.push(null)}this.set("xMarkerPlane",L),this.set("yMarkerPlane",A),j?this._createGroupMarker({fill:t.fill,border:t.border,dimensions:P,xvalues:H,yvalues:B,shape:t.shape}):this._clearMarkerCache()},_defaultFillColors:["#66007f","#a86f41","#295454","#996ab2","#e8cdb7","#90bdbd","#000000","#c3b8ca","#968373","#678585"],_getPlotDefaults:function(){var e={fill:{type:"solid",alpha:1,colors:null,alphas:null,ratios:null},border:{weight:0,alpha:1},width:12,height:12,shape:"rect",padding:{top:0,left:0,right:0,bottom:0}};return e.fill.color=this._getDefaultColor(this.get("graphOrder"),"fill"),e.border.color=this._getDefaultColor(this.get("graphOrder"),"border"),e}},e.Histogram=r},"3.9.0",{requires:["series-cartesian","series-plot-util"]}); diff --git a/lib/yuilib/3.9.0/build/series-line-util/series-line-util-min.js b/lib/yuilib/3.9.0/build/series-line-util/series-line-util-min.js deleted file mode 100644 index 12e8afc4807..00000000000 --- a/lib/yuilib/3.9.0/build/series-line-util/series-line-util-min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("series-line-util",function(e,t){function r(){}var n=e.Lang;r.prototype={_lineDefaults:null,_getGraphic:function(){var e=this.get("graphic")||this.get("graph").get("graphic");return this._lineGraphic||(this._lineGraphic=e.addShape({type:"path"})),this._lineGraphic.clear(),this._lineGraphic},_toggleVisible:function(e){this._lineGraphic&&this._lineGraphic.set("visible",e)},drawLines:function(){if(this.get("xcoords").length<1)return;var e=n.isNumber,t,r,i=this.get("direction"),s,o,u,a=!0,f,l,c,h,p,d=this.get("styles").line,v=d.lineType,m=d.color||this._getDefaultColor(this.get("graphOrder"),"line"),g=d.alpha,y=d.dashLength,b=d.gapSpace,w=d.connectDiscontinuousPoints,E=d.discontinuousType,S=d.discontinuousDashLength,x=d.discontinuousGapSpace,T=this._getGraphic();this._stacked?(t=this.get("stackedXCoords"),r=this.get("stackedYCoords")):(t=this.get("xcoords"),r=this.get("ycoords")),s=i==="vertical"?r.length:t.length,T.set("stroke",{weight:d.weight,color:m,opacity:g});for(p=0;ps?e.lineTo(p+Math.cos(h)*s,d+Math.sin(h)*s):l>0&&e.lineTo(p+Math.cos(h)*l,d+Math.sin(h)*l),e.moveTo(r,i)},_getLineDefaults:function(){return{alpha:1,weight:6,lineType:"solid",dashLength:10,gapSpace:10,connectDiscontinuousPoints:!0,discontinuousType:"solid",discontinuousDashLength:10,discontinuousGapSpace:10}}},e.augment(r,e.Attribute),e.Lines=r},"3.9.0"); diff --git a/lib/yuilib/3.9.0/build/series-pie/series-pie-min.js b/lib/yuilib/3.9.0/build/series-pie/series-pie-min.js deleted file mode 100644 index 5061e8085cf..00000000000 --- a/lib/yuilib/3.9.0/build/series-pie/series-pie-min.js +++ /dev/null @@ -1,3 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("series-pie",function(e,t){var n=e.config,r=n.doc,i=e.ClassNameManager.getClassName,s=i("seriesmarker");e.PieSeries=e.Base.create("pieSeries",e.SeriesBase,[e.Plots],{_map:null,_image:null,_setMap:function(){var e="pieHotSpotMapi_"+Math.round(1e5*Math.random()),t=this.get("graph"),n,i,s;t?i=t.get("contentBox"):(n=this.get("graphic"),i=n.get("node"));if(this._image){i.removeChild(this._image);while(this._areaNodes&&this._areaNodes.length>0)s=this._areaNodes.shift(),this._map.removeChild(s);i.removeChild(this._map)}this._image=r.createElement("img"),this._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAABCAYAAAD9yd/wAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABJJREFUeNpiZGBgSGPAAgACDAAIkABoFyloZQAAAABJRU5ErkJggg==",i.appendChild(this._image),this._image.style.position="absolute",this._image.style.left="0px",this._image.style.top="0px",this._image.setAttribute("usemap","#"+e),this._image.style.zIndex=3,this._image.style.opacity=0,this._image.setAttribute("alt","imagemap"),this._map=r.createElement("map"),i.appendChild(this._map),this._map.setAttribute("name",e),this._map.setAttribute("id",e),this._areaNodes=[]},_categoryDisplayName:null,_valueDisplayName:null,addListeners:function(){var t=this.get("categoryAxis"),n=this.get("valueAxis");t&&(t.after("dataReady",e.bind(this._categoryDataChangeHandler,this)),t.after("dataUpdate",e.bind(this._categoryDataChangeHandler,this))),n&&(n.after("dataReady",e.bind(this._valueDataChangeHandler,this)),n.after("dataUpdate",e.bind(this._valueDataChangeHandler,this))),this.after("categoryAxisChange",this.categoryAxisChangeHandler),this.after("valueAxisChange",this.valueAxisChangeHandler),this.after("stylesChange",this._updateHandler),this._visibleChangeHandle=this.after("visibleChange",this._handleVisibleChange)},validate:function(){this.draw(),this._renderered=!0},_categoryAxisChangeHandler:function(t){var n=this.get("categoryAxis");n.after("dataReady",e.bind(this._categoryDataChangeHandler,this)),n.after("dataUpdate",e.bind(this._categoryDataChangeHandler,this))},_valueAxisChangeHandler:function(t){var n=this.get("valueAxis");n.after("dataReady",e.bind(this._valueDataChangeHandler,this)),n.after("dataUpdate",e.bind(this._valueDataChangeHandler,this))},GUID:"pieseries",_categoryDataChangeHandler:function(e){this._rendered&&this.get("categoryKey")&&this.get("valueKey")&&this.draw()},_valueDataChangeHandler:function(e){this._rendered&&this.get("categoryKey")&&this.get("valueKey")&&this.draw()},getTotalValues:function(){var e=this.get("valueAxis").getTotalByKey(this.get("valueKey"));return e},draw:function(){var e=this.get("width"),t=this.get("height");if(isFinite(e)&&isFinite(t)&&e>0&&t>0){this._rendered=!0;if(this._drawing){this._callLater=!0;return}this._drawing=!0,this._callLater=!1,this.drawSeries(),this._drawing=!1,this._callLater?this.draw():this.fire("drawingComplete")}},drawPlots:function(){var t=this.get("valueAxis").getDataByKey(this.get("valueKey")).concat(),n=this.get("categoryAxis").getDataByKey(this.get("categoryKey")).concat(),r=0,i=t.length,s=this.get("styles").marker,o=s.fill.colors,u=s.fill.alphas||["1"],a=s.border.colors,f=[s.border.weight],l=[s.border.alpha],c=f.concat(),h=a.concat(),p=l.concat(),d,v,m=s.padding,g=this.get("graphic"),y=Math.min(g.get("width"),g.get("height")),b=y-(m.left+m.right),w=y-(m.top+m.bottom),E=-90,S=b/2,x=w/2,T=Math.min(S,x),N=0,C,k=0,L,A,O,M,_,D=this.get("graphOrder")||0,P=e.Graphic.NAME=="canvasGraphic";for(;N0){while(!r){if(this._markerCache.length<1){r=this._createMarker(e,t,n);break}r=this._markerCache.shift()}r.set(e)}else r=this._createMarker(e,t,n);return this._markers.push(r),r},_createMarker:function(t,n,r){var s=this.get("graphic"),o,u=e.clone(t);return u.type=u.shape,o=s.addShape(u),o.addClass(i),o},_createMarkerCache:function(){this._groupMarker&&(this._groupMarker.destroy(),this._groupMarker=null),this._markers&&this._markers.length>0?this._markerCache=this._markers.concat():this._markerCache=[],this._markers=[]},_createGroupMarker:function(e){var t,n=this.get("markers"),r=e.border,i,s,o;if(n&&n.length>0){while(n.length>0)t=n.shift(),t.destroy();this.set("markers",[])}r.opacity=r.alpha,s={id:this._getChart().get("id")+"_"+e.graphOrder,stroke:r,fill:e.fill,dimensions:e.dimensions,xvalues:e.xvalues,yvalues:e.yvalues},s.fill.opacity=e.fill.alpha,o=this._getGroupShape(e.shape),o&&(s.type=o),e.hasOwnProperty("radius")&&!isNaN(e.radius)&&(s.dimensions.radius=e.radius),this._groupMarker&&this._groupMarker.destroy(),i=this.get("graphic"),this._groupMarker=i.addShape(s),i._redraw()},_toggleVisible:function(e){var t,n=this.get("markers"),r=0,i;if(n){i=n.length;for(;r0)e=this._markerCache.shift(),e&&e.destroy()},updateMarkerState:function(t,n){if(this._markers&&this._markers[n]){var r,i,s=e.clone(this.get("styles").marker),o=this._getState(t),u=this.get("xcoords"),a=this.get("ycoords"),f=this._markers[n],l=o=="off"||!s[o]?s:s[o];l.fill.color=this._getItemColor(l.fill.color,n),l.border.color=this._getItemColor(l.border.color,n),l.stroke=l.border,f.set(l),r=l.width,i=l.height,f.set("x",u[n]-r/2),f.set("y",a[n]-i/2),f.set("visible",this.get("visible"))}},_getItemColor:function(e,t){return n.isArray(e)?e[t%e.length]:e},_setStyles:function(t){return t=this._parseMarkerStyles(t),e.Renderer.prototype._setStyles.apply(this,[t])},_parseMarkerStyles:function(e){if(e.marker){var t=this._getPlotDefaults();e.marker=this._mergeStyles(e.marker,t),e.marker.over&&(e.marker.over=this._mergeStyles(e.marker.over,e.marker)),e.marker.down&&(e.marker.down=this._mergeStyles(e.marker.down,e.marker))}return e},_getState:function(e){var t;switch(e){case"mouseout":t="off";break;case"mouseover":t="over";break;case"mouseup":t="over";break;case"mousedown":t="down"}return t},_stateSyles:null,drawSeries:function(){this.drawPlots()},_getDefaultStyles:function(){var e=this._mergeStyles({marker:this._getPlotDefaults()},this.constructor.superclass._getDefaultStyles());return e}},e.augment(s,e.Attribute),e.Plots=s},"3.9.0"); diff --git a/lib/yuilib/3.9.0/build/series-range/series-range-min.js b/lib/yuilib/3.9.0/build/series-range/series-range-min.js deleted file mode 100644 index 6dc6a4c400c..00000000000 --- a/lib/yuilib/3.9.0/build/series-range/series-range-min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("series-range",function(e,t){function n(){n.superclass.constructor.apply(this,arguments)}n.NAME="rangeSeries",n.ATTRS={type:{value:"range"},ohlckeys:{valueFn:function(){return{open:"open",high:"high",low:"low",close:"close"}}}},e.extend(n,e.CartesianSeries,{drawSeries:function(){var e=this.get("xcoords"),t=this.get("ycoords"),n=this.get("styles"),r=n.padding,i,s=e.length,o=this.get("width")-(r.left+r.right),u=this.get("ohlckeys"),a=t[u.open],f=t[u.high],l=t[u.low],c=t[u.close],h=o/s,p=h/2;this._drawMarkers(e,a,f,l,c,s,h,p,n)}}),e.RangeSeries=n},"3.9.0",{requires:["series-cartesian"]}); diff --git a/lib/yuilib/3.9.0/build/series-stacked/series-stacked-min.js b/lib/yuilib/3.9.0/build/series-stacked/series-stacked-min.js deleted file mode 100644 index 9c426933e86..00000000000 --- a/lib/yuilib/3.9.0/build/series-stacked/series-stacked-min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("series-stacked",function(e,t){function r(){}var n=e.Lang;r.prototype={_stacked:!0,_stackCoordinates:function(){this.get("direction")=="vertical"?this._stackXCoords():this._stackYCoords()},_stackXCoords:function(){var e=this.get("order"),t=this.get("type"),r=this.get("seriesTypeCollection"),i=0,s=this.get("xcoords"),o=this.get("ycoords"),u,a,f,l,c=s.concat(),h,p,d=[],v;e>0?(h=r[e-1].get("stackedXCoords"),p=r[e-1].get("stackedYCoords"),u=h.length):u=s.length;for(;i0){f=h[i];if(!n.isNumber(f)){l=e;while(l>-1&&!n.isNumber(f))l-=1,l>-1?f=r[l].get("stackedXCoords")[i]:f=this._leftOrigin}s[i]=s[i]+f}c[i]=s[i]}else d.push(i);this._cleanXNaN(c,o),u=d.length;if(u>0)for(i=0;i0?h[v]:this._leftOrigin,c[v]=Math.max(c[v],a);this.set("stackedXCoords",c),this.set("stackedYCoords",o)},_stackYCoords:function(){var e=this.get("order"),t=this.get("type"),r=this.get("graphic"),i=r.get("height"),s=this.get("seriesTypeCollection"),o=0,u=this.get("xcoords"),a=this.get("ycoords"),f,l,c,h,p=a.concat(),d,v,m=[],g;e>0?(d=s[e-1].get("stackedXCoords"),v=s[e-1].get("stackedYCoords"),f=v.length):f=a.length;for(;o0){c=v[o];if(!n.isNumber(c)){h=e;while(h>-1&&!n.isNumber(c))h-=1,h>-1?c=s[h].get("stackedYCoords")[o]:c=this._bottomOrigin}a[o]=c-(i-a[o])}p[o]=a[o]}else m.push(o);this._cleanYNaN(u,p),f=m.length;if(f>0)for(o=0;o0?v[g]:i,p[g]=Math.min(p[g],l);this.set("stackedXCoords",u),this.set("stackedYCoords",p)},_cleanXNaN:function(e,t){var r,i,s,o,u,a,f,l,c=n.isNumber,h,p=0,d=t.length;for(;p0&&ps)t-=1,r=e[t];return r},_getNextValidCoordValue:function(e,t){var r,i=n.isNumber,s=e.length;while(!i(r)&&t0&&p -1) {"," parent.children.splice(index, 1);"," parent._isIndexStale = true;"," node.parent = null;"," }"," }"," },",""," // -- Default Event Handlers -----------------------------------------------"," _defAddFn: function (e) {"," var node = e.node,"," parent = e.parent;",""," // Remove the node from its existing parent if it has one."," if (node.parent) {"," this._removeNodeFromParent(node);"," }",""," // Add the node to its new parent at the desired index."," node.parent = parent;"," parent.children.splice(e.index, 0, node);",""," parent.canHaveChildren = true;"," parent._isIndexStale = true;"," },",""," _defClearFn: function (e) {"," var newRootNode = e.rootNode;",""," if (this.rootNode) {"," this.destroyNode(this.rootNode, {silent: true});"," }",""," this._nodeMap = {};"," this._nodeMap[newRootNode.id] = newRootNode;",""," this.rootNode = newRootNode;"," this.children = newRootNode.children;"," },",""," _defRemoveFn: function (e) {"," var node = e.node;",""," if (e.destroy) {"," this.destroyNode(node, {silent: true});"," } else if (e.parent) {"," this._removeNodeFromParent(node);"," } else if (this.rootNode === node) {"," // Guess we'll need a new root node!"," this.rootNode = this.createNode(this._rootNodeConfig);"," this.children = this.rootNode.children;"," }"," }","});","","Y.Tree = Y.mix(Tree, Y.Tree);","","","}, '3.9.0', {\"requires\": [\"base-build\", \"tree-node\"]});"]; -_yuitest_coverage["build/tree/tree.js"].lines = {"1":0,"39":0,"77":0,"161":0,"163":0,"164":0,"167":0,"168":0,"178":0,"179":0,"182":0,"183":0,"185":0,"187":0,"188":0,"194":0,"196":0,"197":0,"198":0,"199":0,"200":0,"225":0,"245":0,"265":0,"269":0,"270":0,"271":0,"275":0,"276":0,"278":0,"279":0,"282":0,"285":0,"287":0,"303":0,"305":0,"307":0,"308":0,"313":0,"316":0,"319":0,"320":0,"323":0,"324":0,"325":0,"326":0,"327":0,"328":0,"330":0,"332":0,"350":0,"352":0,"353":0,"356":0,"368":0,"395":0,"396":0,"398":0,"400":0,"401":0,"416":0,"417":0,"419":0,"420":0,"422":0,"423":0,"427":0,"430":0,"432":0,"442":0,"465":0,"486":0,"488":0,"498":0,"510":0,"520":0,"535":0,"537":0,"538":0,"541":0,"542":0,"545":0,"546":0,"551":0,"554":0,"557":0,"558":0,"574":0,"578":0,"580":0,"582":0,"583":0,"585":0,"586":0,"590":0,"591":0,"592":0,"596":0,"597":0,"599":0,"601":0,"602":0,"606":0,"608":0,"609":0,"612":0,"613":0,"630":0,"631":0,"632":0,"635":0,"636":0,"641":0,"644":0,"655":0,"658":0,"659":0,"661":0,"662":0,"663":0,"664":0,"671":0,"675":0,"676":0,"680":0,"681":0,"683":0,"684":0,"688":0,"690":0,"691":0,"694":0,"695":0,"697":0,"698":0,"702":0,"704":0,"705":0,"706":0,"707":0,"708":0,"710":0,"711":0,"716":0}; -_yuitest_coverage["build/tree/tree.js"].functions = {"(anonymous 2):182":0,"initializer:160":0,"destructor:193":0,"appendNode:224":0,"clear:244":0,"createNode:264":0,"destroyNode:302":0,"emptyNode:349":0,"getNodeById:367":0,"insertNode:394":0,"prependNode:464":0,"removeNode:485":0,"size:509":0,"toJSON:519":0,"_adoptNode:534":0,"composedClass:596":0,"_composeNodeClass:573":0,"_fireTreeEvent:629":0,"_removeNodeFromParent:654":0,"_defAddFn:670":0,"_defClearFn:687":0,"_defRemoveFn:701":0,"(anonymous 1):1":0}; -_yuitest_coverage["build/tree/tree.js"].coveredLines = 144; -_yuitest_coverage["build/tree/tree.js"].coveredFunctions = 23; -_yuitest_coverline("build/tree/tree.js", 1); -YUI.add('tree', function (Y, NAME) { - -/*jshint expr:true, onevar:false */ - -/** -Provides a generic tree data structure and related functionality. - -A tree has a root node, which may contain any number of child nodes, which may -themselves contain child nodes, ad infinitum. - -Child nodes are lightweight function instances which delegate to the tree for -all significant functionality, so trees remain performant and memory-efficient -even with thousands and thousands of nodes. - -@module tree -@main tree -**/ - -/** -The `Tree` class represents a generic tree data structure. A tree has a root -node, which may contain any number of child nodes, which may themselves contain -child nodes, ad infinitum. - -This class doesn't expose any UI, but is intended to be used as a data structure -or base class for other components. For example, the SmugMug TreeView gallery -module extends Tree and provides a TreeView UI. - -@class Tree -@param {Object} [config] Config options. - @param {Object[]|Tree.Node[]} [config.nodes] Array of tree node config - objects or `Tree.Node` instances to add to this tree at initialization - time. - @param {Object|Tree.Node} [config.rootNode] Node to use as the root node of - this tree. -@constructor -@extends Base -**/ - -_yuitest_coverfunc("build/tree/tree.js", "(anonymous 1)", 1); -_yuitest_coverline("build/tree/tree.js", 39); -var Lang = Y.Lang, - - /** - Fired when a node is added to this Tree. The `src` property will indicate - how the node was added ("append", "insert", "prepend", etc.). - - @event add - @param {Number} index Index at which the node will be added. - @param {Tree.Node} node Node being added. - @param {Tree.Node} parent Parent node to which the node will be added. - @param {String} src Source of the event ("append", "insert", "prepend", - etc.). - @preventable _defAddFn - **/ - EVT_ADD = 'add', - - /** - Fired when this Tree is cleared. - - @event clear - @param {Tree.Node} rootNode New root node of this tree (the old root node is - always destroyed when a tree is cleared). - @preventable _defClearFn - **/ - EVT_CLEAR = 'clear', - - /** - Fired when a node is removed from this Tree. - - @event remove - @param {Boolean} destroy Whether or not the node will be destroyed after - being removed from this tree. - @param {Tree.Node} node Node being removed. - @param {Tree.Node} parent Parent node from which the node will be removed. - @preventable _defRemoveFn - **/ - EVT_REMOVE = 'remove'; - -_yuitest_coverline("build/tree/tree.js", 77); -var Tree = Y.Base.create('tree', Y.Base, [], { - // -- Public Properties ---------------------------------------------------- - - /** - Reference to the `children` array of this Tree's `rootNode`. - - This is a convenience property to allow you to type `tree.children` instead - of `tree.rootNode.children`. - - @property {Tree.Node[]} children - @readOnly - **/ - - /** - The `Tree.Node` class or subclass that should be used for nodes created by - this tree. - - You may specify an actual class reference or a string that resolves to a - class reference at runtime. - - @property {String|Tree.Node} nodeClass - @default Y.Tree.Node - **/ - nodeClass: Y.Tree.Node, - - /** - Optional array containing one or more extension classes that should be mixed - into the `nodeClass` when this Tree is instantiated. The resulting composed - node class will be unique to this Tree instance and will not affect any - other instances, nor will it modify the defined `nodeClass` itself. - - This provides a late-binding extension mechanism for nodes that doesn't - require them to extend `Y.Base`, which would incur a significant performance - hit. - - @property {Array} nodeExtensions - @default [] - **/ - nodeExtensions: [], - - /** - Root node of this Tree. - - @property {Tree.Node} rootNode - @readOnly - **/ - - // -- Protected Properties ------------------------------------------------- - - /** - Simple way to type-check that this is a Tree instance. - - @property {Boolean} _isYUITree - @default true - @protected - **/ - _isYUITree: true, - - /** - Composed node class based on `nodeClass` that mixes in any extensions - specified in `nodeExtensions`. If there are no extensions, this will just be - a reference to `nodeClass`. - - @property {Tree.Node} _nodeClass - @protected - **/ - - /** - Mapping of node ids to node instances for nodes in this tree. - - @property {Object} _nodeMap - @protected - **/ - - /** - Default config object for the root node. - - @property {Object} _rootNodeConfig - @protected - **/ - _rootNodeConfig: {canHaveChildren: true}, - - // -- Lifecycle ------------------------------------------------------------ - initializer: function (config) { - _yuitest_coverfunc("build/tree/tree.js", "initializer", 160); -_yuitest_coverline("build/tree/tree.js", 161); -config || (config = {}); - - _yuitest_coverline("build/tree/tree.js", 163); -if (config.nodeClass) { - _yuitest_coverline("build/tree/tree.js", 164); -this.nodeClass = config.nodeClass; - } - - _yuitest_coverline("build/tree/tree.js", 167); -if (config.nodeExtensions) { - _yuitest_coverline("build/tree/tree.js", 168); -this.nodeExtensions = this.nodeExtensions.concat(config.nodeExtensions); - } - - /** - Hash of published custom events. - - @property {Object} _published - @default {} - @protected - **/ - _yuitest_coverline("build/tree/tree.js", 178); -this._published || (this._published = {}); - _yuitest_coverline("build/tree/tree.js", 179); -this._nodeMap = {}; - - // Allow all extensions to initialize, then finish up. - _yuitest_coverline("build/tree/tree.js", 182); -this.onceAfter('initializedChange', function () { - _yuitest_coverfunc("build/tree/tree.js", "(anonymous 2)", 182); -_yuitest_coverline("build/tree/tree.js", 183); -this._composeNodeClass(); - - _yuitest_coverline("build/tree/tree.js", 185); -this.clear(config.rootNode, {silent: true}); - - _yuitest_coverline("build/tree/tree.js", 187); -if (config.nodes) { - _yuitest_coverline("build/tree/tree.js", 188); -this.insertNode(this.rootNode, config.nodes, {silent: true}); - } - }); - }, - - destructor: function () { - _yuitest_coverfunc("build/tree/tree.js", "destructor", 193); -_yuitest_coverline("build/tree/tree.js", 194); -this.destroyNode(this.rootNode, {silent: true}); - - _yuitest_coverline("build/tree/tree.js", 196); -this.children = null; - _yuitest_coverline("build/tree/tree.js", 197); -this.rootNode = null; - _yuitest_coverline("build/tree/tree.js", 198); -this._nodeClass = null; - _yuitest_coverline("build/tree/tree.js", 199); -this._nodeMap = null; - _yuitest_coverline("build/tree/tree.js", 200); -this._published = null; - }, - - // -- Public Methods ------------------------------------------------------- - - /** - Appends a node or array of nodes as the last child of the specified parent - node. - - If a node being appended is from another tree, it and all its children will - be removed from that tree and moved to this one. - - @method appendNode - @param {Tree.Node} parent Parent node. - @param {Object|Object[]|Tree.Node|Tree.Node[]} node Child node, node config - object, array of child nodes, or array of node config objects to append - to the given parent. Node config objects will automatically be converted - into node instances. - @param {Object} [options] Options. - @param {Boolean} [options.silent=false] If `true`, the `add` event will - be suppressed. - @return {Tree.Node|Tree.Node[]} Node or array of nodes that were - appended. - **/ - appendNode: function (parent, node, options) { - _yuitest_coverfunc("build/tree/tree.js", "appendNode", 224); -_yuitest_coverline("build/tree/tree.js", 225); -return this.insertNode(parent, node, Y.merge(options, { - index: parent.children.length, - src : 'append' - })); - }, - - /** - Clears this tree by destroying the root node and all its children. If a - `rootNode` argument is provided, that node will become the root node of this - tree; otherwise, a new root node will be created. - - @method clear - @param {Object|Tree.Node} [rootNode] If specified, this node will be used as - the new root node. - @param {Object} [options] Options. - @param {Boolean} [options.silent=false] If `true`, the `clear` event - will be suppressed. - @chainable - **/ - clear: function (rootNode, options) { - _yuitest_coverfunc("build/tree/tree.js", "clear", 244); -_yuitest_coverline("build/tree/tree.js", 245); -return this._fireTreeEvent(EVT_CLEAR, { - rootNode: this.createNode(rootNode || this._rootNodeConfig) - }, { - defaultFn: this._defClearFn, - silent : options && options.silent - }); - }, - - /** - Creates and returns a new `Tree.Node` instance associated with (but not - yet appended to) this tree. - - @method createNode - @param {Object|Tree.Node} [config] Node configuration. If a `Tree.Node` - instance is specified instead of a config object, that node will be - adopted into this tree (if it doesn't already belong to this tree) and - removed from any other tree to which it belongs. - @return {Tree.Node} New node. - **/ - createNode: function (config) { - _yuitest_coverfunc("build/tree/tree.js", "createNode", 264); -_yuitest_coverline("build/tree/tree.js", 265); -config || (config = {}); - - // If `config` is already a node, just ensure it's in the node map and - // return it. - _yuitest_coverline("build/tree/tree.js", 269); -if (config._isYUITreeNode) { - _yuitest_coverline("build/tree/tree.js", 270); -this._adoptNode(config); - _yuitest_coverline("build/tree/tree.js", 271); -return config; - } - - // First, create nodes for any children of this node. - _yuitest_coverline("build/tree/tree.js", 275); -if (config.children) { - _yuitest_coverline("build/tree/tree.js", 276); -var children = []; - - _yuitest_coverline("build/tree/tree.js", 278); -for (var i = 0, len = config.children.length; i < len; i++) { - _yuitest_coverline("build/tree/tree.js", 279); -children.push(this.createNode(config.children[i])); - } - - _yuitest_coverline("build/tree/tree.js", 282); -config = Y.merge(config, {children: children}); - } - - _yuitest_coverline("build/tree/tree.js", 285); -var node = new this._nodeClass(this, config); - - _yuitest_coverline("build/tree/tree.js", 287); -return this._nodeMap[node.id] = node; - }, - - /** - Removes and destroys a node and all its child nodes. Once destroyed, a node - is eligible for garbage collection and cannot be reused or re-added to the - tree. - - @method destroyNode - @param {Tree.Node} node Node to destroy. - @param {Object} [options] Options. - @param {Boolean} [options.silent=false] If `true`, `remove` events will - be suppressed. - @chainable - **/ - destroyNode: function (node, options) { - _yuitest_coverfunc("build/tree/tree.js", "destroyNode", 302); -_yuitest_coverline("build/tree/tree.js", 303); -var child, i, len; - - _yuitest_coverline("build/tree/tree.js", 305); -options || (options = {}); - - _yuitest_coverline("build/tree/tree.js", 307); -for (i = 0, len = node.children.length; i < len; i++) { - _yuitest_coverline("build/tree/tree.js", 308); -child = node.children[i]; - - // Manually remove the child from its parent; this makes destroying - // all children of the parent much faster since there's no splicing - // involved. - _yuitest_coverline("build/tree/tree.js", 313); -child.parent = null; - - // Destroy the child. - _yuitest_coverline("build/tree/tree.js", 316); -this.destroyNode(child, options); - } - - _yuitest_coverline("build/tree/tree.js", 319); -if (node.parent) { - _yuitest_coverline("build/tree/tree.js", 320); -this.removeNode(node, options); - } - - _yuitest_coverline("build/tree/tree.js", 323); -node.children = null; - _yuitest_coverline("build/tree/tree.js", 324); -node.data = null; - _yuitest_coverline("build/tree/tree.js", 325); -node.state = {destroyed: true}; - _yuitest_coverline("build/tree/tree.js", 326); -node.tree = null; - _yuitest_coverline("build/tree/tree.js", 327); -node._htmlNode = null; - _yuitest_coverline("build/tree/tree.js", 328); -node._indexMap = null; - - _yuitest_coverline("build/tree/tree.js", 330); -delete this._nodeMap[node.id]; - - _yuitest_coverline("build/tree/tree.js", 332); -return this; - }, - - /** - Removes all children from the specified node. The removed children will - still be reusable unless the `destroy` option is truthy. - - @method emptyNode - @param {Tree.Node} node Node to empty. - @param {Object} [options] Options. - @param {Boolean} [options.destroy=false] If `true`, the children will - also be destroyed, which makes them available for garbage collection - and means they can't be reused. - @param {Boolean} [options.silent=false] If `true`, `remove` events will - be suppressed. - @return {Tree.Node[]} Array of removed child nodes. - **/ - emptyNode: function (node, options) { - _yuitest_coverfunc("build/tree/tree.js", "emptyNode", 349); -_yuitest_coverline("build/tree/tree.js", 350); -var removed = []; - - _yuitest_coverline("build/tree/tree.js", 352); -while (node.children.length) { - _yuitest_coverline("build/tree/tree.js", 353); -removed.push(this.removeNode(node.children[0], options)); - } - - _yuitest_coverline("build/tree/tree.js", 356); -return removed; - }, - - /** - Returns the tree node with the specified id, or `undefined` if the node - doesn't exist in this tree. - - @method getNodeById - @param {String} id Node id. - @return {Tree.Node} Node, or `undefined` if not found. - **/ - getNodeById: function (id) { - _yuitest_coverfunc("build/tree/tree.js", "getNodeById", 367); -_yuitest_coverline("build/tree/tree.js", 368); -return this._nodeMap[id]; - }, - - /** - Inserts a node or array of nodes at the specified index under the given - parent node, or appends them to the parent if no index is specified. - - If a node being inserted is from another tree, it and all its children will - be removed from that tree and moved to this one. - - @method insertNode - @param {Tree.Node} parent Parent node. - @param {Object|Object[]|Tree.Node|Tree.Node[]} node Child node, node config - object, array of child nodes, or array of node config objects to insert - under the given parent. Node config objects will automatically be - converted into node instances. - - @param {Object} [options] Options. - @param {Number} [options.index] Index at which to insert the child node. - If not specified, the node will be appended as the last child of the - parent. - @param {Boolean} [options.silent=false] If `true`, the `add` event will - be suppressed. - - @return {Tree.Node[]} Node or array of nodes that were inserted. - **/ - insertNode: function (parent, node, options) { - _yuitest_coverfunc("build/tree/tree.js", "insertNode", 394); -_yuitest_coverline("build/tree/tree.js", 395); -options || (options = {}); - _yuitest_coverline("build/tree/tree.js", 396); -parent || (parent = this.rootNode); - - _yuitest_coverline("build/tree/tree.js", 398); -var index = options.index; - - _yuitest_coverline("build/tree/tree.js", 400); -if (typeof index === 'undefined') { - _yuitest_coverline("build/tree/tree.js", 401); -index = parent.children.length; - } - - // If `node` is an array, recurse to insert each node it contains. - // - // Note: If you're getting an exception here because `node` is null when - // you've passed in a reference to some other node's `children` array, - // that's happening because nodes must be removed from their current - // parent before being added to the new one, and the `children` array is - // being modified while the nodes are inserted. - // - // Solution: pass a copy of the other node's `children` array instead of - // the original. Doing the copy operation here would have a negative - // impact on performance, so you're on your own since this is such a - // rare edge case. - _yuitest_coverline("build/tree/tree.js", 416); -if ('length' in node && Lang.isArray(node)) { - _yuitest_coverline("build/tree/tree.js", 417); -var inserted = []; - - _yuitest_coverline("build/tree/tree.js", 419); -for (var i = 0, len = node.length; i < len; i++) { - _yuitest_coverline("build/tree/tree.js", 420); -inserted.push(this.insertNode(parent, node[i], options)); - - _yuitest_coverline("build/tree/tree.js", 422); -if ('index' in options) { - _yuitest_coverline("build/tree/tree.js", 423); -options.index += 1; - } - } - - _yuitest_coverline("build/tree/tree.js", 427); -return inserted; - } - - _yuitest_coverline("build/tree/tree.js", 430); -node = this.createNode(node); - - _yuitest_coverline("build/tree/tree.js", 432); -this._fireTreeEvent(EVT_ADD, { - index : index, - node : node, - parent: parent, - src : options.src || 'insert' - }, { - defaultFn: this._defAddFn, - silent : options.silent - }); - - _yuitest_coverline("build/tree/tree.js", 442); -return node; - }, - - /** - Prepends a node or array of nodes at the beginning of the specified parent - node. - - If a node being prepended is from another tree, it and all its children will - be removed from that tree and moved to this one. - - @method prependNode - @param {Tree.Node} parent Parent node. - @param {Object|Object[]|Tree.Node|Tree.Node[]} node Child node, - node config object, array of child nodes, or array of node config - objects to prepend to the given parent. Node config objects will - automatically be converted into node instances. - @param {Object} [options] Options. - @param {Boolean} [options.silent=false] If `true`, the `add` event will - be suppressed. - @return {Tree.Node|Tree.Node[]} Node or array of nodes that were - prepended. - **/ - prependNode: function (parent, node, options) { - _yuitest_coverfunc("build/tree/tree.js", "prependNode", 464); -_yuitest_coverline("build/tree/tree.js", 465); -return this.insertNode(parent, node, Y.merge(options, { - index: 0, - src : 'prepend' - })); - }, - - /** - Removes the specified node from its parent node. The removed node will still - be reusable unless the `destroy` option is truthy. - - @method removeNode - @param {Tree.Node} node Node to remove. - @param {Object} [options] Options. - @param {Boolean} [options.destroy=false] If `true`, the node and all its - children will also be destroyed, which makes them available for - garbage collection and means they can't be reused. - @param {Boolean} [options.silent=false] If `true`, the `remove` event - will be suppressed. - @return {Tree.Node} Node that was removed. - **/ - removeNode: function (node, options) { - _yuitest_coverfunc("build/tree/tree.js", "removeNode", 485); -_yuitest_coverline("build/tree/tree.js", 486); -options || (options = {}); - - _yuitest_coverline("build/tree/tree.js", 488); -this._fireTreeEvent(EVT_REMOVE, { - destroy: !!options.destroy, - node : node, - parent : node.parent, - src : options.src || 'remove' - }, { - defaultFn: this._defRemoveFn, - silent : options.silent - }); - - _yuitest_coverline("build/tree/tree.js", 498); -return node; - }, - - /** - Returns the total number of nodes in this tree, at all levels. - - Use `rootNode.children.length` to get only the number of top-level nodes. - - @method size - @return {Number} Total number of nodes in this tree. - **/ - size: function () { - _yuitest_coverfunc("build/tree/tree.js", "size", 509); -_yuitest_coverline("build/tree/tree.js", 510); -return this.rootNode.size(); - }, - - /** - Serializes this tree to an object suitable for use in JSON. - - @method toJSON - @return {Object} Serialized tree object. - **/ - toJSON: function () { - _yuitest_coverfunc("build/tree/tree.js", "toJSON", 519); -_yuitest_coverline("build/tree/tree.js", 520); -return this.rootNode.toJSON(); - }, - - // -- Protected Methods ---------------------------------------------------- - - /** - Moves the specified node and all its children from another tree to this - tree. - - @method _adoptNode - @param {Tree.Node} node Node to adopt. - @param {Object} [options] Options to pass along to `removeNode()`. - @protected - **/ - _adoptNode: function (node, options) { - _yuitest_coverfunc("build/tree/tree.js", "_adoptNode", 534); -_yuitest_coverline("build/tree/tree.js", 535); -var oldTree = node.tree; - - _yuitest_coverline("build/tree/tree.js", 537); -if (oldTree === this) { - _yuitest_coverline("build/tree/tree.js", 538); -return; - } - - _yuitest_coverline("build/tree/tree.js", 541); -for (var i = 0, len = node.children.length; i < len; i++) { - _yuitest_coverline("build/tree/tree.js", 542); -this._adoptNode(node.children[i], {silent: true}); - } - - _yuitest_coverline("build/tree/tree.js", 545); -oldTree.removeNode(node, options); - _yuitest_coverline("build/tree/tree.js", 546); -delete oldTree._nodeMap[node.id]; - - // If this node isn't an instance of this tree's composed _nodeClass, - // then we need to recreate it to avoid potentially breaking things in - // really weird ways. - _yuitest_coverline("build/tree/tree.js", 551); -if (!(node instanceof this._nodeClass) - || oldTree._nodeClass !== this._nodeClass) { - - _yuitest_coverline("build/tree/tree.js", 554); -node = this.createNode(node.toJSON()); - } - - _yuitest_coverline("build/tree/tree.js", 557); -node.tree = this; - _yuitest_coverline("build/tree/tree.js", 558); -this._nodeMap[node.id] = node; - }, - - /** - Composes a custom late-bound tree node class (if necessary) based on the - classes specified in this Tree's `nodeClass` and `nodeExtensions` - properties. - - The composed class is stored in this Tree's `_nodeClass` property. If - composition wasn't necessary, then `_nodeClass` will just be a reference to - `nodeClass`. - - @method _composeNodeClass - @protected - **/ - _composeNodeClass: function () { - _yuitest_coverfunc("build/tree/tree.js", "_composeNodeClass", 573); -_yuitest_coverline("build/tree/tree.js", 574); -var nodeClass = this.nodeClass, - nodeExtensions = this.nodeExtensions, - composedClass; - - _yuitest_coverline("build/tree/tree.js", 578); -if (typeof nodeClass === 'string') { - // Look for a namespaced node class on `Y`. - _yuitest_coverline("build/tree/tree.js", 580); -nodeClass = Y.Object.getValue(Y, nodeClass.split('.')); - - _yuitest_coverline("build/tree/tree.js", 582); -if (nodeClass) { - _yuitest_coverline("build/tree/tree.js", 583); -this.nodeClass = nodeClass; - } else { - _yuitest_coverline("build/tree/tree.js", 585); -Y.error('Tree: Node class not found: ' + nodeClass); - _yuitest_coverline("build/tree/tree.js", 586); -return; - } - } - - _yuitest_coverline("build/tree/tree.js", 590); -if (!nodeExtensions.length) { - _yuitest_coverline("build/tree/tree.js", 591); -this._nodeClass = nodeClass; - _yuitest_coverline("build/tree/tree.js", 592); -return; - } - - // Compose a new class by mixing extensions into nodeClass. - _yuitest_coverline("build/tree/tree.js", 596); -composedClass = function () { - _yuitest_coverfunc("build/tree/tree.js", "composedClass", 596); -_yuitest_coverline("build/tree/tree.js", 597); -var extensions = composedClass._nodeExtensions; - - _yuitest_coverline("build/tree/tree.js", 599); -nodeClass.apply(this, arguments); - - _yuitest_coverline("build/tree/tree.js", 601); -for (var i = 0, len = extensions.length; i < len; i++) { - _yuitest_coverline("build/tree/tree.js", 602); -extensions[i].apply(this, arguments); - } - }; - - _yuitest_coverline("build/tree/tree.js", 606); -Y.extend(composedClass, nodeClass); - - _yuitest_coverline("build/tree/tree.js", 608); -for (var i = 0, len = nodeExtensions.length; i < len; i++) { - _yuitest_coverline("build/tree/tree.js", 609); -Y.mix(composedClass.prototype, nodeExtensions[i].prototype, true); - } - - _yuitest_coverline("build/tree/tree.js", 612); -composedClass._nodeExtensions = nodeExtensions; - _yuitest_coverline("build/tree/tree.js", 613); -this._nodeClass = composedClass; - }, - - /** - Utility method for lazily publishing and firing events. - - @method _fireTreeEvent - @param {String} name Event name to fire. - @param {Object} facade Event facade. - @param {Object} [options] Options. - @param {Function} [options.defaultFn] Default handler for this event. - @param {Boolean} [options.silent=false] Whether the default handler - should be executed directly without actually firing the event. - @chainable - @protected - **/ - _fireTreeEvent: function (name, facade, options) { - _yuitest_coverfunc("build/tree/tree.js", "_fireTreeEvent", 629); -_yuitest_coverline("build/tree/tree.js", 630); -if (options && options.silent) { - _yuitest_coverline("build/tree/tree.js", 631); -if (options.defaultFn) { - _yuitest_coverline("build/tree/tree.js", 632); -options.defaultFn.call(this, facade); - } - } else { - _yuitest_coverline("build/tree/tree.js", 635); -if (options && options.defaultFn && !this._published[name]) { - _yuitest_coverline("build/tree/tree.js", 636); -this._published[name] = this.publish(name, { - defaultFn: options.defaultFn - }); - } - - _yuitest_coverline("build/tree/tree.js", 641); -this.fire(name, facade); - } - - _yuitest_coverline("build/tree/tree.js", 644); -return this; - }, - - /** - Removes the specified node from its parent node if it has one. - - @method _removeNodeFromParent - @param {Tree.Node} node Node to remove. - @protected - **/ - _removeNodeFromParent: function (node) { - _yuitest_coverfunc("build/tree/tree.js", "_removeNodeFromParent", 654); -_yuitest_coverline("build/tree/tree.js", 655); -var parent = node.parent, - index; - - _yuitest_coverline("build/tree/tree.js", 658); -if (parent) { - _yuitest_coverline("build/tree/tree.js", 659); -index = parent.indexOf(node); - - _yuitest_coverline("build/tree/tree.js", 661); -if (index > -1) { - _yuitest_coverline("build/tree/tree.js", 662); -parent.children.splice(index, 1); - _yuitest_coverline("build/tree/tree.js", 663); -parent._isIndexStale = true; - _yuitest_coverline("build/tree/tree.js", 664); -node.parent = null; - } - } - }, - - // -- Default Event Handlers ----------------------------------------------- - _defAddFn: function (e) { - _yuitest_coverfunc("build/tree/tree.js", "_defAddFn", 670); -_yuitest_coverline("build/tree/tree.js", 671); -var node = e.node, - parent = e.parent; - - // Remove the node from its existing parent if it has one. - _yuitest_coverline("build/tree/tree.js", 675); -if (node.parent) { - _yuitest_coverline("build/tree/tree.js", 676); -this._removeNodeFromParent(node); - } - - // Add the node to its new parent at the desired index. - _yuitest_coverline("build/tree/tree.js", 680); -node.parent = parent; - _yuitest_coverline("build/tree/tree.js", 681); -parent.children.splice(e.index, 0, node); - - _yuitest_coverline("build/tree/tree.js", 683); -parent.canHaveChildren = true; - _yuitest_coverline("build/tree/tree.js", 684); -parent._isIndexStale = true; - }, - - _defClearFn: function (e) { - _yuitest_coverfunc("build/tree/tree.js", "_defClearFn", 687); -_yuitest_coverline("build/tree/tree.js", 688); -var newRootNode = e.rootNode; - - _yuitest_coverline("build/tree/tree.js", 690); -if (this.rootNode) { - _yuitest_coverline("build/tree/tree.js", 691); -this.destroyNode(this.rootNode, {silent: true}); - } - - _yuitest_coverline("build/tree/tree.js", 694); -this._nodeMap = {}; - _yuitest_coverline("build/tree/tree.js", 695); -this._nodeMap[newRootNode.id] = newRootNode; - - _yuitest_coverline("build/tree/tree.js", 697); -this.rootNode = newRootNode; - _yuitest_coverline("build/tree/tree.js", 698); -this.children = newRootNode.children; - }, - - _defRemoveFn: function (e) { - _yuitest_coverfunc("build/tree/tree.js", "_defRemoveFn", 701); -_yuitest_coverline("build/tree/tree.js", 702); -var node = e.node; - - _yuitest_coverline("build/tree/tree.js", 704); -if (e.destroy) { - _yuitest_coverline("build/tree/tree.js", 705); -this.destroyNode(node, {silent: true}); - } else {_yuitest_coverline("build/tree/tree.js", 706); -if (e.parent) { - _yuitest_coverline("build/tree/tree.js", 707); -this._removeNodeFromParent(node); - } else {_yuitest_coverline("build/tree/tree.js", 708); -if (this.rootNode === node) { - // Guess we'll need a new root node! - _yuitest_coverline("build/tree/tree.js", 710); -this.rootNode = this.createNode(this._rootNodeConfig); - _yuitest_coverline("build/tree/tree.js", 711); -this.children = this.rootNode.children; - }}} - } -}); - -_yuitest_coverline("build/tree/tree.js", 716); -Y.Tree = Y.mix(Tree, Y.Tree); - - -}, '3.9.0', {"requires": ["base-build", "tree-node"]}); diff --git a/lib/yuilib/3.9.0/build/tree/tree-min.js b/lib/yuilib/3.9.0/build/tree/tree-min.js deleted file mode 100644 index b199f8cd4fe..00000000000 --- a/lib/yuilib/3.9.0/build/tree/tree-min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("tree",function(e,t){var n=e.Lang,r="add",i="clear",s="remove",o=e.Base.create("tree",e.Base,[],{nodeClass:e.Tree.Node,nodeExtensions:[],_isYUITree:!0,_rootNodeConfig:{canHaveChildren:!0},initializer:function(e){e||(e={}),e.nodeClass&&(this.nodeClass=e.nodeClass),e.nodeExtensions&&(this.nodeExtensions=this.nodeExtensions.concat(e.nodeExtensions)),this._published||(this._published={}),this._nodeMap={},this.onceAfter("initializedChange",function(){this._composeNodeClass(),this.clear(e.rootNode,{silent:!0}),e.nodes&&this.insertNode(this.rootNode,e.nodes,{silent:!0})})},destructor:function(){this.destroyNode(this.rootNode,{silent:!0}),this.children=null,this.rootNode=null,this._nodeClass=null,this._nodeMap=null,this._published=null},appendNode:function(t,n,r){return this.insertNode(t,n,e.merge(r,{index:t.children.length,src:"append"}))},clear:function(e,t){return this._fireTreeEvent(i,{rootNode:this.createNode(e||this._rootNodeConfig)},{defaultFn:this._defClearFn,silent:t&&t.silent})},createNode:function(t){t||(t={});if(t._isYUITreeNode)return this._adoptNode(t),t;if(t.children){var n=[];for(var r=0,i=t.children.length;r-1&&(t.children.splice(n,1),t._isIndexStale=!0,e.parent=null))},_defAddFn:function(e){var t=e.node,n=e.parent;t.parent&&this._removeNodeFromParent(t),t.parent=n,n.children.splice(e.index,0,t),n.canHaveChildren=!0,n._isIndexStale=!0},_defClearFn:function(e){var t=e.rootNode;this.rootNode&&this.destroyNode(this.rootNode,{silent:!0}),this._nodeMap={},this._nodeMap[t.id]=t,this.rootNode=t,this.children=t.children},_defRemoveFn:function(e){var t=e.node;e.destroy?this.destroyNode(t,{silent:!0}):e.parent?this._removeNodeFromParent(t):this.rootNode===t&&(this.rootNode=this.createNode(this._rootNodeConfig),this.children=this.rootNode.children)}});e.Tree=e.mix(o,e.Tree)},"3.9.0",{requires:["base-build","tree-node"]}); diff --git a/lib/yuilib/3.9.0/build/widget-base/assets/skins/night/widget-base-skin.css b/lib/yuilib/3.9.0/build/widget-base/assets/skins/night/widget-base-skin.css deleted file mode 100644 index feaa2c7727e..00000000000 --- a/lib/yuilib/3.9.0/build/widget-base/assets/skins/night/widget-base-skin.css +++ /dev/null @@ -1 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ diff --git a/lib/yuilib/3.9.0/build/widget-base/assets/skins/sam/widget-base-skin.css b/lib/yuilib/3.9.0/build/widget-base/assets/skins/sam/widget-base-skin.css deleted file mode 100644 index feaa2c7727e..00000000000 --- a/lib/yuilib/3.9.0/build/widget-base/assets/skins/sam/widget-base-skin.css +++ /dev/null @@ -1 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ diff --git a/lib/yuilib/3.9.0/build/widget-modality/assets/widget-modality-core.css b/lib/yuilib/3.9.0/build/widget-modality/assets/widget-modality-core.css deleted file mode 100644 index 870d044bdd0..00000000000 --- a/lib/yuilib/3.9.0/build/widget-modality/assets/widget-modality-core.css +++ /dev/null @@ -1,2 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -/* WidgetModality core styles */ diff --git a/lib/yuilib/3.9.0/build/widget-skin/assets/widget-base-core.css b/lib/yuilib/3.9.0/build/widget-skin/assets/widget-base-core.css deleted file mode 100644 index 66a5b74023d..00000000000 --- a/lib/yuilib/3.9.0/build/widget-skin/assets/widget-base-core.css +++ /dev/null @@ -1,21 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -.yui3-widget-hidden { - display:none; -} - -.yui3-widget-content { - overflow:hidden; -} - -.yui3-widget-content-expanded { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing:border-box; - height:100%; -} - -/* Only used for IE6, to go from a bigger size to a smaller size when using cb.sizeTo(bb) */ -.yui3-widget-tmp-forcesize { - overflow:hidden !important; -} \ No newline at end of file diff --git a/lib/yuilib/3.9.0/build/widget-stack/assets/skins/night/widget-stack-skin.css b/lib/yuilib/3.9.0/build/widget-stack/assets/skins/night/widget-stack-skin.css deleted file mode 100644 index feaa2c7727e..00000000000 --- a/lib/yuilib/3.9.0/build/widget-stack/assets/skins/night/widget-stack-skin.css +++ /dev/null @@ -1 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ diff --git a/lib/yuilib/3.9.0/build/widget-stack/assets/skins/sam/widget-stack-skin.css b/lib/yuilib/3.9.0/build/widget-stack/assets/skins/sam/widget-stack-skin.css deleted file mode 100644 index feaa2c7727e..00000000000 --- a/lib/yuilib/3.9.0/build/widget-stack/assets/skins/sam/widget-stack-skin.css +++ /dev/null @@ -1 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ diff --git a/lib/yuilib/3.9.0/build/widget-uievents/assets/widget-base-core.css b/lib/yuilib/3.9.0/build/widget-uievents/assets/widget-base-core.css deleted file mode 100644 index 66a5b74023d..00000000000 --- a/lib/yuilib/3.9.0/build/widget-uievents/assets/widget-base-core.css +++ /dev/null @@ -1,21 +0,0 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -.yui3-widget-hidden { - display:none; -} - -.yui3-widget-content { - overflow:hidden; -} - -.yui3-widget-content-expanded { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing:border-box; - height:100%; -} - -/* Only used for IE6, to go from a bigger size to a smaller size when using cb.sizeTo(bb) */ -.yui3-widget-tmp-forcesize { - overflow:hidden !important; -} \ No newline at end of file diff --git a/lib/yuilib/3.9.0/build/align-plugin/align-plugin-coverage.js b/lib/yuilib/3.9.1/build/align-plugin/align-plugin-coverage.js similarity index 98% rename from lib/yuilib/3.9.0/build/align-plugin/align-plugin-coverage.js rename to lib/yuilib/3.9.1/build/align-plugin/align-plugin-coverage.js index 96139b7386c..eee12740242 100644 --- a/lib/yuilib/3.9.0/build/align-plugin/align-plugin-coverage.js +++ b/lib/yuilib/3.9.1/build/align-plugin/align-plugin-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/align-plugin/align-plugin.js"] = { path: "build/align-plugin/align-plugin.js", code: [] }; -_yuitest_coverage["build/align-plugin/align-plugin.js"].code=["YUI.add('align-plugin', function (Y, NAME) {",""," /**"," * Provides advanced positioning support for Node via a Plugin"," * for centering and alignment. "," * @module align-plugin"," */",""," var OFFSET_WIDTH = 'offsetWidth',"," OFFSET_HEIGHT = 'offsetHeight',"," undefined = undefined;",""," /**"," * Node plugin which can be used to align a node with another node,"," * region, or the viewport."," *"," * @class Plugin.Align"," * @param {Object} User configuration object"," */"," function Align(config) {"," if (config.host) {"," this._host = config.host;"," }"," }"," "," Align.prototype = {"," /**"," * Aligns node with a point on another node or region."," * Possible alignment points are:"," *
"," *
tl
"," *
top left
"," *
tr
"," *
top right
"," *
bl
"," *
bottom left
"," *
br
"," *
bottom right
"," *
tc
"," *
top center
"," *
bc
"," *
bottom center
"," *
rc
"," *
right center
"," *
lc
"," *
left center
"," *
cc
"," *
center center
"," *
"," * @method to "," * @param region {String || Node || HTMLElement || Object} The node or"," * region to align with. Defaults to the viewport region."," * @param regionPoint {String} The point of the region to align with."," * @param point {String} The point of the node aligned to the region. "," * @param resize {Boolean} Whether or not the node should re-align when"," * the window is resized. Defaults to false."," */"," to: function(region, regionPoint, point, syncOnResize) {"," // cache original args for syncing"," this._syncArgs = Y.Array(arguments);",""," if (region.top === undefined) {"," region = Y.one(region).get('region');"," }",""," if (region) {"," var xy = [region.left, region.top],"," offxy = [region.width, region.height],"," points = Align.points,"," node = this._host,"," NULL = null,"," size = node.getAttrs([OFFSET_HEIGHT, OFFSET_WIDTH]),"," nodeoff = [0 - size[OFFSET_WIDTH], 0 - size[OFFSET_HEIGHT]], // reverse offsets"," regionFn0 = regionPoint ? points[regionPoint.charAt(0)]: NULL,"," regionFn1 = (regionPoint && regionPoint !== 'cc') ? points[regionPoint.charAt(1)] : NULL,"," nodeFn0 = point ? points[point.charAt(0)] : NULL,"," nodeFn1 = (point && point !== 'cc') ? points[point.charAt(1)] : NULL;",""," if (regionFn0) {"," xy = regionFn0(xy, offxy, regionPoint);"," }"," if (regionFn1) {"," xy = regionFn1(xy, offxy, regionPoint);"," }",""," if (nodeFn0) {"," xy = nodeFn0(xy, nodeoff, point);"," }"," if (nodeFn1) {"," xy = nodeFn1(xy, nodeoff, point);"," }",""," if (xy && node) {"," node.setXY(xy);"," }"," "," this._resize(syncOnResize);",""," }"," return this;"," },",""," sync: function() {"," this.to.apply(this, this._syncArgs);"," return this;"," },",""," _resize: function(add) {"," var handle = this._handle;"," if (add && !handle) {"," this._handle = Y.on('resize', this._onresize, window, this);"," } else if (!add && handle) {"," handle.detach();"," }",""," },",""," _onresize: function() {"," var self = this;"," setTimeout(function() { // for performance"," self.sync();"," });"," },"," "," /**"," * Aligns the center of a node to the center of another node or region."," * @method center "," * @param region {Node || HTMLElement || Object} optional The node or"," * region to align with. Defaults to the viewport region."," * the window is resized. If centering to viewport, this defaults"," * to true, otherwise default is false."," */"," center: function(region, resize) {"," this.to(region, 'cc', 'cc', resize); "," return this;"," },",""," /**"," * Removes the resize handler, if any. This is called automatically"," * when unplugged from the host node."," * @method destroy "," */"," destroy: function() {"," var handle = this._handle;"," if (handle) {"," handle.detach();"," }"," }"," };",""," Align.points = {"," 't': function(xy, off) {"," return xy;"," },",""," 'r': function(xy, off) {"," return [xy[0] + off[0], xy[1]];"," },",""," 'b': function(xy, off) {"," return [xy[0], xy[1] + off[1]];"," },",""," 'l': function(xy, off) {"," return xy;"," },",""," 'c': function(xy, off, point) {"," var axis = (point[0] === 't' || point[0] === 'b') ? 0 : 1,"," ret, val;",""," if (point === 'cc') {"," ret = [xy[0] + off[0] / 2, xy[1] + off[1] / 2];"," } else {"," val = xy[axis] + off[axis] / 2;"," ret = (axis) ? [xy[0], val] : [val, xy[1]];"," }",""," return ret;"," }"," };",""," Align.NAME = 'Align';"," Align.NS = 'align';",""," Align.prototype.constructor = Align;",""," Y.namespace('Plugin');"," Y.Plugin.Align = Align;","","","","}, '3.9.0', {\"requires\": [\"node-screen\", \"node-pluginhost\"]});"]; +_yuitest_coverage["build/align-plugin/align-plugin.js"].code=["YUI.add('align-plugin', function (Y, NAME) {",""," /**"," * Provides advanced positioning support for Node via a Plugin"," * for centering and alignment. "," * @module align-plugin"," */",""," var OFFSET_WIDTH = 'offsetWidth',"," OFFSET_HEIGHT = 'offsetHeight',"," undefined = undefined;",""," /**"," * Node plugin which can be used to align a node with another node,"," * region, or the viewport."," *"," * @class Plugin.Align"," * @param {Object} User configuration object"," */"," function Align(config) {"," if (config.host) {"," this._host = config.host;"," }"," }"," "," Align.prototype = {"," /**"," * Aligns node with a point on another node or region."," * Possible alignment points are:"," *
"," *
tl
"," *
top left
"," *
tr
"," *
top right
"," *
bl
"," *
bottom left
"," *
br
"," *
bottom right
"," *
tc
"," *
top center
"," *
bc
"," *
bottom center
"," *
rc
"," *
right center
"," *
lc
"," *
left center
"," *
cc
"," *
center center
"," *
"," * @method to "," * @param region {String || Node || HTMLElement || Object} The node or"," * region to align with. Defaults to the viewport region."," * @param regionPoint {String} The point of the region to align with."," * @param point {String} The point of the node aligned to the region. "," * @param resize {Boolean} Whether or not the node should re-align when"," * the window is resized. Defaults to false."," */"," to: function(region, regionPoint, point, syncOnResize) {"," // cache original args for syncing"," this._syncArgs = Y.Array(arguments);",""," if (region.top === undefined) {"," region = Y.one(region).get('region');"," }",""," if (region) {"," var xy = [region.left, region.top],"," offxy = [region.width, region.height],"," points = Align.points,"," node = this._host,"," NULL = null,"," size = node.getAttrs([OFFSET_HEIGHT, OFFSET_WIDTH]),"," nodeoff = [0 - size[OFFSET_WIDTH], 0 - size[OFFSET_HEIGHT]], // reverse offsets"," regionFn0 = regionPoint ? points[regionPoint.charAt(0)]: NULL,"," regionFn1 = (regionPoint && regionPoint !== 'cc') ? points[regionPoint.charAt(1)] : NULL,"," nodeFn0 = point ? points[point.charAt(0)] : NULL,"," nodeFn1 = (point && point !== 'cc') ? points[point.charAt(1)] : NULL;",""," if (regionFn0) {"," xy = regionFn0(xy, offxy, regionPoint);"," }"," if (regionFn1) {"," xy = regionFn1(xy, offxy, regionPoint);"," }",""," if (nodeFn0) {"," xy = nodeFn0(xy, nodeoff, point);"," }"," if (nodeFn1) {"," xy = nodeFn1(xy, nodeoff, point);"," }",""," if (xy && node) {"," node.setXY(xy);"," }"," "," this._resize(syncOnResize);",""," }"," return this;"," },",""," sync: function() {"," this.to.apply(this, this._syncArgs);"," return this;"," },",""," _resize: function(add) {"," var handle = this._handle;"," if (add && !handle) {"," this._handle = Y.on('resize', this._onresize, window, this);"," } else if (!add && handle) {"," handle.detach();"," }",""," },",""," _onresize: function() {"," var self = this;"," setTimeout(function() { // for performance"," self.sync();"," });"," },"," "," /**"," * Aligns the center of a node to the center of another node or region."," * @method center "," * @param region {Node || HTMLElement || Object} optional The node or"," * region to align with. Defaults to the viewport region."," * the window is resized. If centering to viewport, this defaults"," * to true, otherwise default is false."," */"," center: function(region, resize) {"," this.to(region, 'cc', 'cc', resize); "," return this;"," },",""," /**"," * Removes the resize handler, if any. This is called automatically"," * when unplugged from the host node."," * @method destroy "," */"," destroy: function() {"," var handle = this._handle;"," if (handle) {"," handle.detach();"," }"," }"," };",""," Align.points = {"," 't': function(xy, off) {"," return xy;"," },",""," 'r': function(xy, off) {"," return [xy[0] + off[0], xy[1]];"," },",""," 'b': function(xy, off) {"," return [xy[0], xy[1] + off[1]];"," },",""," 'l': function(xy, off) {"," return xy;"," },",""," 'c': function(xy, off, point) {"," var axis = (point[0] === 't' || point[0] === 'b') ? 0 : 1,"," ret, val;",""," if (point === 'cc') {"," ret = [xy[0] + off[0] / 2, xy[1] + off[1] / 2];"," } else {"," val = xy[axis] + off[axis] / 2;"," ret = (axis) ? [xy[0], val] : [val, xy[1]];"," }",""," return ret;"," }"," };",""," Align.NAME = 'Align';"," Align.NS = 'align';",""," Align.prototype.constructor = Align;",""," Y.namespace('Plugin');"," Y.Plugin.Align = Align;","","","","}, '3.9.1', {\"requires\": [\"node-screen\", \"node-pluginhost\"]});"]; _yuitest_coverage["build/align-plugin/align-plugin.js"].lines = {"1":0,"9":0,"20":0,"21":0,"22":0,"26":0,"60":0,"62":0,"63":0,"66":0,"67":0,"79":0,"80":0,"82":0,"83":0,"86":0,"87":0,"89":0,"90":0,"93":0,"94":0,"97":0,"100":0,"104":0,"105":0,"109":0,"110":0,"111":0,"112":0,"113":0,"119":0,"120":0,"121":0,"134":0,"135":0,"144":0,"145":0,"146":0,"151":0,"153":0,"157":0,"161":0,"165":0,"169":0,"172":0,"173":0,"175":0,"176":0,"179":0,"183":0,"184":0,"186":0,"188":0,"189":0}; _yuitest_coverage["build/align-plugin/align-plugin.js"].functions = {"Align:20":0,"to:58":0,"sync:103":0,"_resize:108":0,"(anonymous 2):120":0,"_onresize:118":0,"center:133":0,"destroy:143":0,"\'t\':152":0,"\'r\':156":0,"\'b\':160":0,"\'l\':164":0,"\'c\':168":0,"(anonymous 1):1":0}; _yuitest_coverage["build/align-plugin/align-plugin.js"].coveredLines = 54; @@ -292,4 +292,4 @@ Y.Plugin.Align = Align; -}, '3.9.0', {"requires": ["node-screen", "node-pluginhost"]}); +}, '3.9.1', {"requires": ["node-screen", "node-pluginhost"]}); diff --git a/lib/yuilib/3.9.0/build/align-plugin/align-plugin-debug.js b/lib/yuilib/3.9.1/build/align-plugin/align-plugin-debug.js similarity index 97% rename from lib/yuilib/3.9.0/build/align-plugin/align-plugin-debug.js rename to lib/yuilib/3.9.1/build/align-plugin/align-plugin-debug.js index c07c94152ff..8bedec8c776 100644 --- a/lib/yuilib/3.9.0/build/align-plugin/align-plugin-debug.js +++ b/lib/yuilib/3.9.1/build/align-plugin/align-plugin-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('align-plugin', function (Y, NAME) { /** @@ -191,4 +191,4 @@ YUI.add('align-plugin', function (Y, NAME) { -}, '3.9.0', {"requires": ["node-screen", "node-pluginhost"]}); +}, '3.9.1', {"requires": ["node-screen", "node-pluginhost"]}); diff --git a/lib/yuilib/3.9.0/build/align-plugin/align-plugin-min.js b/lib/yuilib/3.9.1/build/align-plugin/align-plugin-min.js similarity index 91% rename from lib/yuilib/3.9.0/build/align-plugin/align-plugin-min.js rename to lib/yuilib/3.9.1/build/align-plugin/align-plugin-min.js index e8501263a0c..b64b19a0ecb 100644 --- a/lib/yuilib/3.9.0/build/align-plugin/align-plugin-min.js +++ b/lib/yuilib/3.9.1/build/align-plugin/align-plugin-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("align-plugin",function(e,t){function s(e){e.host&&(this._host=e.host)}var n="offsetWidth",r="offsetHeight",i=i;s.prototype={to:function(t,o,u,a){this._syncArgs=e.Array(arguments),t.top===i&&(t=e.one(t).get("region"));if(t){var f=[t.left,t.top],l=[t.width,t.height],c=s.points,h=this._host,p=null,d=h.getAttrs([r,n]),v=[0-d[n],0-d[r]],m=o?c[o.charAt(0)]:p,g=o&&o!=="cc"?c[o.charAt(1)]:p,y=u?c[u.charAt(0)]:p,b=u&&u!=="cc"?c[u.charAt(1)]:p;m&&(f=m(f,l,o)),g&&(f=g(f,l,o)),y&&(f=y(f,v,u)),b&&(f=b(f,v,u)),f&&h&&h.setXY(f),this._resize(a)}return this},sync:function(){return this.to.apply(this,this._syncArgs),this},_resize:function(t){var n=this._handle;t&&!n?this._handle=e.on("resize",this._onresize,window,this):!t&&n&&n.detach()},_onresize:function(){var e=this;setTimeout(function(){e.sync()})},center:function(e,t){return this.to(e,"cc","cc",t),this},destroy:function(){var e=this._handle;e&&e.detach()}},s.points={t:function(e,t){return e},r:function(e,t){return[e[0]+t[0],e[1]]},b:function(e,t){return[e[0],e[1]+t[1]]},l:function(e,t){return e},c:function(e,t,n){var r=n[0]==="t"||n[0]==="b"?0:1,i,s;return n==="cc"?i=[e[0]+t[0]/2,e[1]+t[1]/2]:(s=e[r]+t[r]/2,i=r?[e[0],s]:[s,e[1]]),i}},s.NAME="Align",s.NS="align",s.prototype.constructor=s,e.namespace("Plugin"),e.Plugin.Align=s},"3.9.0",{requires:["node-screen","node-pluginhost"]}); +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +YUI.add("align-plugin",function(e,t){function s(e){e.host&&(this._host=e.host)}var n="offsetWidth",r="offsetHeight",i=i;s.prototype={to:function(t,o,u,a){this._syncArgs=e.Array(arguments),t.top===i&&(t=e.one(t).get("region"));if(t){var f=[t.left,t.top],l=[t.width,t.height],c=s.points,h=this._host,p=null,d=h.getAttrs([r,n]),v=[0-d[n],0-d[r]],m=o?c[o.charAt(0)]:p,g=o&&o!=="cc"?c[o.charAt(1)]:p,y=u?c[u.charAt(0)]:p,b=u&&u!=="cc"?c[u.charAt(1)]:p;m&&(f=m(f,l,o)),g&&(f=g(f,l,o)),y&&(f=y(f,v,u)),b&&(f=b(f,v,u)),f&&h&&h.setXY(f),this._resize(a)}return this},sync:function(){return this.to.apply(this,this._syncArgs),this},_resize:function(t){var n=this._handle;t&&!n?this._handle=e.on("resize",this._onresize,window,this):!t&&n&&n.detach()},_onresize:function(){var e=this;setTimeout(function(){e.sync()})},center:function(e,t){return this.to(e,"cc","cc",t),this},destroy:function(){var e=this._handle;e&&e.detach()}},s.points={t:function(e,t){return e},r:function(e,t){return[e[0]+t[0],e[1]]},b:function(e,t){return[e[0],e[1]+t[1]]},l:function(e,t){return e},c:function(e,t,n){var r=n[0]==="t"||n[0]==="b"?0:1,i,s;return n==="cc"?i=[e[0]+t[0]/2,e[1]+t[1]/2]:(s=e[r]+t[r]/2,i=r?[e[0],s]:[s,e[1]]),i}},s.NAME="Align",s.NS="align",s.prototype.constructor=s,e.namespace("Plugin"),e.Plugin.Align=s},"3.9.1",{requires:["node-screen","node-pluginhost"]}); diff --git a/lib/yuilib/3.9.0/build/align-plugin/align-plugin.js b/lib/yuilib/3.9.1/build/align-plugin/align-plugin.js similarity index 97% rename from lib/yuilib/3.9.0/build/align-plugin/align-plugin.js rename to lib/yuilib/3.9.1/build/align-plugin/align-plugin.js index c07c94152ff..8bedec8c776 100644 --- a/lib/yuilib/3.9.0/build/align-plugin/align-plugin.js +++ b/lib/yuilib/3.9.1/build/align-plugin/align-plugin.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('align-plugin', function (Y, NAME) { /** @@ -191,4 +191,4 @@ YUI.add('align-plugin', function (Y, NAME) { -}, '3.9.0', {"requires": ["node-screen", "node-pluginhost"]}); +}, '3.9.1', {"requires": ["node-screen", "node-pluginhost"]}); diff --git a/lib/yuilib/3.9.0/build/anim-base/anim-base-coverage.js b/lib/yuilib/3.9.1/build/anim-base/anim-base-coverage.js similarity index 99% rename from lib/yuilib/3.9.0/build/anim-base/anim-base-coverage.js rename to lib/yuilib/3.9.1/build/anim-base/anim-base-coverage.js index 91fe007b87e..de68382da26 100644 --- a/lib/yuilib/3.9.0/build/anim-base/anim-base-coverage.js +++ b/lib/yuilib/3.9.1/build/anim-base/anim-base-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/anim-base/anim-base.js"] = { path: "build/anim-base/anim-base.js", code: [] }; -_yuitest_coverage["build/anim-base/anim-base.js"].code=["YUI.add('anim-base', function (Y, NAME) {","","/**","* The Animation Utility provides an API for creating advanced transitions.","* @module anim","*/","","/**","* Provides the base Anim class, for animating numeric properties.","*","* @module anim","* @submodule anim-base","*/",""," /**"," * A class for constructing animation instances."," * @class Anim"," * @for Anim"," * @constructor"," * @extends Base"," */",""," var RUNNING = 'running',"," START_TIME = 'startTime',"," ELAPSED_TIME = 'elapsedTime',"," /**"," * @for Anim"," * @event start"," * @description fires when an animation begins."," * @param {Event} ev The start event."," * @type Event.Custom"," */"," START = 'start',",""," /**"," * @event tween"," * @description fires every frame of the animation."," * @param {Event} ev The tween event."," * @type Event.Custom"," */"," TWEEN = 'tween',",""," /**"," * @event end"," * @description fires after the animation completes."," * @param {Event} ev The end event."," * @type Event.Custom"," */"," END = 'end',"," NODE = 'node',"," PAUSED = 'paused',"," REVERSE = 'reverse', // TODO: cleanup"," ITERATION_COUNT = 'iterationCount',",""," NUM = Number;",""," var _running = {},"," _timer;",""," Y.Anim = function() {"," Y.Anim.superclass.constructor.apply(this, arguments);"," Y.Anim._instances[Y.stamp(this)] = this;"," };",""," Y.Anim.NAME = 'anim';",""," Y.Anim._instances = {};",""," /**"," * Regex of properties that should use the default unit."," *"," * @property RE_DEFAULT_UNIT"," * @static"," */"," Y.Anim.RE_DEFAULT_UNIT = /^width|height|top|right|bottom|left|margin.*|padding.*|border.*$/i;",""," /**"," * The default unit to use with properties that pass the RE_DEFAULT_UNIT test."," *"," * @property DEFAULT_UNIT"," * @static"," */"," Y.Anim.DEFAULT_UNIT = 'px';",""," Y.Anim.DEFAULT_EASING = function (t, b, c, d) {"," return c * t / d + b; // linear easing"," };",""," /**"," * Time in milliseconds passed to setInterval for frame processing"," *"," * @property intervalTime"," * @default 20"," * @static"," */"," Y.Anim._intervalTime = 20;",""," /**"," * Bucket for custom getters and setters"," *"," * @property behaviors"," * @static"," */"," Y.Anim.behaviors = {"," left: {"," get: function(anim, attr) {"," return anim._getOffset(attr);"," }"," }"," };",""," Y.Anim.behaviors.top = Y.Anim.behaviors.left;",""," /**"," * The default setter to use when setting object properties."," *"," * @property DEFAULT_SETTER"," * @static"," */"," Y.Anim.DEFAULT_SETTER = function(anim, att, from, to, elapsed, duration, fn, unit) {"," var node = anim._node,"," domNode = node._node,"," val = fn(elapsed, NUM(from), NUM(to) - NUM(from), duration);",""," if (domNode) {"," if ('style' in domNode && (att in domNode.style || att in Y.DOM.CUSTOM_STYLES)) {"," unit = unit || '';"," node.setStyle(att, val + unit);"," } else if ('attributes' in domNode && att in domNode.attributes) {"," node.setAttribute(att, val);"," } else if (att in domNode) {"," domNode[att] = val;"," }"," } else if (node.set) {"," node.set(att, val);"," } else if (att in node) {"," node[att] = val;"," }"," };",""," /**"," * The default getter to use when getting object properties."," *"," * @property DEFAULT_GETTER"," * @static"," */"," Y.Anim.DEFAULT_GETTER = function(anim, att) {"," var node = anim._node,"," domNode = node._node,"," val = '';",""," if (domNode) {"," if ('style' in domNode && (att in domNode.style || att in Y.DOM.CUSTOM_STYLES)) {"," val = node.getComputedStyle(att);"," } else if ('attributes' in domNode && att in domNode.attributes) {"," val = node.getAttribute(att);"," } else if (att in domNode) {"," val = domNode[att];"," }"," } else if (node.get) {"," val = node.get(att);"," } else if (att in node) {"," val = node[att];"," }",""," return val;"," };",""," Y.Anim.ATTRS = {"," /**"," * The object to be animated."," * @attribute node"," * @type Node"," */"," node: {"," setter: function(node) {"," if (node) {"," if (typeof node === 'string' || node.nodeType) {"," node = Y.one(node);"," }"," }",""," this._node = node;"," if (!node) {"," }"," return node;"," }"," },",""," /**"," * The length of the animation. Defaults to \"1\" (second)."," * @attribute duration"," * @type NUM"," */"," duration: {"," value: 1"," },",""," /**"," * The method that will provide values to the attribute(s) during the animation."," * Defaults to \"Easing.easeNone\"."," * @attribute easing"," * @type Function"," */"," easing: {"," value: Y.Anim.DEFAULT_EASING,",""," setter: function(val) {"," if (typeof val === 'string' && Y.Easing) {"," return Y.Easing[val];"," }"," }"," },",""," /**"," * The starting values for the animated properties."," *"," * Fields may be strings, numbers, or functions."," * If a function is used, the return value becomes the from value."," * If no from value is specified, the DEFAULT_GETTER will be used."," * Supports any unit, provided it matches the \"to\" (or default)"," * unit (e.g. `{width: '10em', color: 'rgb(0, 0, 0)', borderColor: '#ccc'}`)."," *"," * If using the default ('px' for length-based units), the unit may be omitted"," * (e.g. `{width: 100}, borderColor: 'ccc'}`, which defaults to pixels"," * and hex, respectively)."," *"," * @attribute from"," * @type Object"," */"," from: {},",""," /**"," * The ending values for the animated properties."," *"," * Fields may be strings, numbers, or functions."," * Supports any unit, provided it matches the \"from\" (or default)"," * unit (e.g. `{width: '50%', color: 'red', borderColor: '#ccc'}`)."," *"," * If using the default ('px' for length-based units), the unit may be omitted"," * (e.g. `{width: 100, borderColor: 'ccc'}`, which defaults to pixels"," * and hex, respectively)."," *"," * @attribute to"," * @type Object"," */"," to: {},",""," /**"," * Date stamp for the first frame of the animation."," * @attribute startTime"," * @type Int"," * @default 0"," * @readOnly"," */"," startTime: {"," value: 0,"," readOnly: true"," },",""," /**"," * Current time the animation has been running."," * @attribute elapsedTime"," * @type Int"," * @default 0"," * @readOnly"," */"," elapsedTime: {"," value: 0,"," readOnly: true"," },",""," /**"," * Whether or not the animation is currently running."," * @attribute running"," * @type Boolean"," * @default false"," * @readOnly"," */"," running: {"," getter: function() {"," return !!_running[Y.stamp(this)];"," },"," value: false,"," readOnly: true"," },",""," /**"," * The number of times the animation should run"," * @attribute iterations"," * @type Int"," * @default 1"," */"," iterations: {"," value: 1"," },",""," /**"," * The number of iterations that have occurred."," * Resets when an animation ends (reaches iteration count or stop() called)."," * @attribute iterationCount"," * @type Int"," * @default 0"," * @readOnly"," */"," iterationCount: {"," value: 0,"," readOnly: true"," },",""," /**"," * How iterations of the animation should behave."," * Possible values are \"normal\" and \"alternate\"."," * Normal will repeat the animation, alternate will reverse on every other pass."," *"," * @attribute direction"," * @type String"," * @default \"normal\""," */"," direction: {"," value: 'normal' // | alternate (fwd on odd, rev on even per spec)"," },",""," /**"," * Whether or not the animation is currently paused."," * @attribute paused"," * @type Boolean"," * @default false"," * @readOnly"," */"," paused: {"," readOnly: true,"," value: false"," },",""," /**"," * If true, animation begins from last frame"," * @attribute reverse"," * @type Boolean"," * @default false"," */"," reverse: {"," value: false"," }","",""," };",""," /**"," * Runs all animation instances."," * @method run"," * @static"," */"," Y.Anim.run = function() {"," var instances = Y.Anim._instances,"," i;"," for (i in instances) {"," if (instances[i].run) {"," instances[i].run();"," }"," }"," };",""," /**"," * Pauses all animation instances."," * @method pause"," * @static"," */"," Y.Anim.pause = function() {"," for (var i in _running) { // stop timer if nothing running"," if (_running[i].pause) {"," _running[i].pause();"," }"," }",""," Y.Anim._stopTimer();"," };",""," /**"," * Stops all animation instances."," * @method stop"," * @static"," */"," Y.Anim.stop = function() {"," for (var i in _running) { // stop timer if nothing running"," if (_running[i].stop) {"," _running[i].stop();"," }"," }"," Y.Anim._stopTimer();"," };",""," Y.Anim._startTimer = function() {"," if (!_timer) {"," _timer = setInterval(Y.Anim._runFrame, Y.Anim._intervalTime);"," }"," };",""," Y.Anim._stopTimer = function() {"," clearInterval(_timer);"," _timer = 0;"," };",""," /**"," * Called per Interval to handle each animation frame."," * @method _runFrame"," * @private"," * @static"," */"," Y.Anim._runFrame = function() {"," var done = true,"," anim;"," for (anim in _running) {"," if (_running[anim]._runFrame) {"," done = false;"," _running[anim]._runFrame();"," }"," }",""," if (done) {"," Y.Anim._stopTimer();"," }"," };",""," Y.Anim.RE_UNITS = /^(-?\\d*\\.?\\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/;",""," var proto = {"," /**"," * Starts or resumes an animation."," * @method run"," * @chainable"," */"," run: function() {"," if (this.get(PAUSED)) {"," this._resume();"," } else if (!this.get(RUNNING)) {"," this._start();"," }"," return this;"," },",""," /**"," * Pauses the animation and"," * freezes it in its current state and time."," * Calling run() will continue where it left off."," * @method pause"," * @chainable"," */"," pause: function() {"," if (this.get(RUNNING)) {"," this._pause();"," }"," return this;"," },",""," /**"," * Stops the animation and resets its time."," * @method stop"," * @param {Boolean} finish If true, the animation will move to the last frame"," * @chainable"," */"," stop: function(finish) {"," if (this.get(RUNNING) || this.get(PAUSED)) {"," this._end(finish);"," }"," return this;"," },",""," _added: false,",""," _start: function() {"," this._set(START_TIME, new Date() - this.get(ELAPSED_TIME));"," this._actualFrames = 0;"," if (!this.get(PAUSED)) {"," this._initAnimAttr();"," }"," _running[Y.stamp(this)] = this;"," Y.Anim._startTimer();",""," this.fire(START);"," },",""," _pause: function() {"," this._set(START_TIME, null);"," this._set(PAUSED, true);"," delete _running[Y.stamp(this)];",""," /**"," * @event pause"," * @description fires when an animation is paused."," * @param {Event} ev The pause event."," * @type Event.Custom"," */"," this.fire('pause');"," },",""," _resume: function() {"," this._set(PAUSED, false);"," _running[Y.stamp(this)] = this;"," this._set(START_TIME, new Date() - this.get(ELAPSED_TIME));"," Y.Anim._startTimer();",""," /**"," * @event resume"," * @description fires when an animation is resumed (run from pause)."," * @param {Event} ev The pause event."," * @type Event.Custom"," */"," this.fire('resume');"," },",""," _end: function(finish) {"," var duration = this.get('duration') * 1000;"," if (finish) { // jump to last frame"," this._runAttrs(duration, duration, this.get(REVERSE));"," }",""," this._set(START_TIME, null);"," this._set(ELAPSED_TIME, 0);"," this._set(PAUSED, false);",""," delete _running[Y.stamp(this)];"," this.fire(END, {elapsed: this.get(ELAPSED_TIME)});"," },",""," _runFrame: function() {"," var d = this._runtimeAttr.duration,"," t = new Date() - this.get(START_TIME),"," reverse = this.get(REVERSE),"," done = (t >= d);",""," this._runAttrs(t, d, reverse);"," this._actualFrames += 1;"," this._set(ELAPSED_TIME, t);",""," this.fire(TWEEN);"," if (done) {"," this._lastFrame();"," }"," },",""," _runAttrs: function(t, d, reverse) {"," var attr = this._runtimeAttr,"," customAttr = Y.Anim.behaviors,"," easing = attr.easing,"," lastFrame = d,"," done = false,"," attribute,"," setter,"," i;",""," if (t >= d) {"," done = true;"," }",""," if (reverse) {"," t = d - t;"," lastFrame = 0;"," }",""," for (i in attr) {"," if (attr[i].to) {"," attribute = attr[i];"," setter = (i in customAttr && 'set' in customAttr[i]) ?"," customAttr[i].set : Y.Anim.DEFAULT_SETTER;",""," if (!done) {"," setter(this, i, attribute.from, attribute.to, t, d, easing, attribute.unit);"," } else {"," setter(this, i, attribute.from, attribute.to, lastFrame, d, easing, attribute.unit);"," }"," }"," }","",""," },",""," _lastFrame: function() {"," var iter = this.get('iterations'),"," iterCount = this.get(ITERATION_COUNT);",""," iterCount += 1;"," if (iter === 'infinite' || iterCount < iter) {"," if (this.get('direction') === 'alternate') {"," this.set(REVERSE, !this.get(REVERSE)); // flip it"," }"," /**"," * @event iteration"," * @description fires when an animation begins an iteration."," * @param {Event} ev The iteration event."," * @type Event.Custom"," */"," this.fire('iteration');"," } else {"," iterCount = 0;"," this._end();"," }",""," this._set(START_TIME, new Date());"," this._set(ITERATION_COUNT, iterCount);"," },",""," _initAnimAttr: function() {"," var from = this.get('from') || {},"," to = this.get('to') || {},"," attr = {"," duration: this.get('duration') * 1000,"," easing: this.get('easing')"," },"," customAttr = Y.Anim.behaviors,"," node = this.get(NODE), // implicit attr init"," unit, begin, end;",""," Y.each(to, function(val, name) {"," if (typeof val === 'function') {"," val = val.call(this, node);"," }",""," begin = from[name];"," if (begin === undefined) {"," begin = (name in customAttr && 'get' in customAttr[name]) ?"," customAttr[name].get(this, name) : Y.Anim.DEFAULT_GETTER(this, name);"," } else if (typeof begin === 'function') {"," begin = begin.call(this, node);"," }",""," var mFrom = Y.Anim.RE_UNITS.exec(begin),"," mTo = Y.Anim.RE_UNITS.exec(val);",""," begin = mFrom ? mFrom[1] : begin;"," end = mTo ? mTo[1] : val;"," unit = mTo ? mTo[2] : mFrom ? mFrom[2] : ''; // one might be zero TODO: mixed units",""," if (!unit && Y.Anim.RE_DEFAULT_UNIT.test(name)) {"," unit = Y.Anim.DEFAULT_UNIT;"," }",""," if (!begin || !end) {"," Y.error('invalid \"from\" or \"to\" for \"' + name + '\"', 'Anim');"," return;"," }",""," attr[name] = {"," from: Y.Lang.isObject(begin) ? Y.clone(begin) : begin,"," to: end,"," unit: unit"," };",""," }, this);",""," this._runtimeAttr = attr;"," },","",""," // TODO: move to computedStyle? (browsers dont agree on default computed offsets)"," _getOffset: function(attr) {"," var node = this._node,"," val = node.getComputedStyle(attr),"," get = (attr === 'left') ? 'getX': 'getY',"," set = (attr === 'left') ? 'setX': 'setY',"," position;",""," if (val === 'auto') {"," position = node.getStyle('position');"," if (position === 'absolute' || position === 'fixed') {"," val = node[get]();"," node[set](val);"," } else {"," val = 0;"," }"," }",""," return val;"," },",""," destructor: function() {"," delete Y.Anim._instances[Y.stamp(this)];"," }"," };",""," Y.extend(Y.Anim, Y.Base, proto);","","","}, '3.9.0', {\"requires\": [\"base-base\", \"node-style\"]});"]; +_yuitest_coverage["build/anim-base/anim-base.js"].code=["YUI.add('anim-base', function (Y, NAME) {","","/**","* The Animation Utility provides an API for creating advanced transitions.","* @module anim","*/","","/**","* Provides the base Anim class, for animating numeric properties.","*","* @module anim","* @submodule anim-base","*/",""," /**"," * A class for constructing animation instances."," * @class Anim"," * @for Anim"," * @constructor"," * @extends Base"," */",""," var RUNNING = 'running',"," START_TIME = 'startTime',"," ELAPSED_TIME = 'elapsedTime',"," /**"," * @for Anim"," * @event start"," * @description fires when an animation begins."," * @param {Event} ev The start event."," * @type Event.Custom"," */"," START = 'start',",""," /**"," * @event tween"," * @description fires every frame of the animation."," * @param {Event} ev The tween event."," * @type Event.Custom"," */"," TWEEN = 'tween',",""," /**"," * @event end"," * @description fires after the animation completes."," * @param {Event} ev The end event."," * @type Event.Custom"," */"," END = 'end',"," NODE = 'node',"," PAUSED = 'paused',"," REVERSE = 'reverse', // TODO: cleanup"," ITERATION_COUNT = 'iterationCount',",""," NUM = Number;",""," var _running = {},"," _timer;",""," Y.Anim = function() {"," Y.Anim.superclass.constructor.apply(this, arguments);"," Y.Anim._instances[Y.stamp(this)] = this;"," };",""," Y.Anim.NAME = 'anim';",""," Y.Anim._instances = {};",""," /**"," * Regex of properties that should use the default unit."," *"," * @property RE_DEFAULT_UNIT"," * @static"," */"," Y.Anim.RE_DEFAULT_UNIT = /^width|height|top|right|bottom|left|margin.*|padding.*|border.*$/i;",""," /**"," * The default unit to use with properties that pass the RE_DEFAULT_UNIT test."," *"," * @property DEFAULT_UNIT"," * @static"," */"," Y.Anim.DEFAULT_UNIT = 'px';",""," Y.Anim.DEFAULT_EASING = function (t, b, c, d) {"," return c * t / d + b; // linear easing"," };",""," /**"," * Time in milliseconds passed to setInterval for frame processing"," *"," * @property intervalTime"," * @default 20"," * @static"," */"," Y.Anim._intervalTime = 20;",""," /**"," * Bucket for custom getters and setters"," *"," * @property behaviors"," * @static"," */"," Y.Anim.behaviors = {"," left: {"," get: function(anim, attr) {"," return anim._getOffset(attr);"," }"," }"," };",""," Y.Anim.behaviors.top = Y.Anim.behaviors.left;",""," /**"," * The default setter to use when setting object properties."," *"," * @property DEFAULT_SETTER"," * @static"," */"," Y.Anim.DEFAULT_SETTER = function(anim, att, from, to, elapsed, duration, fn, unit) {"," var node = anim._node,"," domNode = node._node,"," val = fn(elapsed, NUM(from), NUM(to) - NUM(from), duration);",""," if (domNode) {"," if ('style' in domNode && (att in domNode.style || att in Y.DOM.CUSTOM_STYLES)) {"," unit = unit || '';"," node.setStyle(att, val + unit);"," } else if ('attributes' in domNode && att in domNode.attributes) {"," node.setAttribute(att, val);"," } else if (att in domNode) {"," domNode[att] = val;"," }"," } else if (node.set) {"," node.set(att, val);"," } else if (att in node) {"," node[att] = val;"," }"," };",""," /**"," * The default getter to use when getting object properties."," *"," * @property DEFAULT_GETTER"," * @static"," */"," Y.Anim.DEFAULT_GETTER = function(anim, att) {"," var node = anim._node,"," domNode = node._node,"," val = '';",""," if (domNode) {"," if ('style' in domNode && (att in domNode.style || att in Y.DOM.CUSTOM_STYLES)) {"," val = node.getComputedStyle(att);"," } else if ('attributes' in domNode && att in domNode.attributes) {"," val = node.getAttribute(att);"," } else if (att in domNode) {"," val = domNode[att];"," }"," } else if (node.get) {"," val = node.get(att);"," } else if (att in node) {"," val = node[att];"," }",""," return val;"," };",""," Y.Anim.ATTRS = {"," /**"," * The object to be animated."," * @attribute node"," * @type Node"," */"," node: {"," setter: function(node) {"," if (node) {"," if (typeof node === 'string' || node.nodeType) {"," node = Y.one(node);"," }"," }",""," this._node = node;"," if (!node) {"," }"," return node;"," }"," },",""," /**"," * The length of the animation. Defaults to \"1\" (second)."," * @attribute duration"," * @type NUM"," */"," duration: {"," value: 1"," },",""," /**"," * The method that will provide values to the attribute(s) during the animation."," * Defaults to \"Easing.easeNone\"."," * @attribute easing"," * @type Function"," */"," easing: {"," value: Y.Anim.DEFAULT_EASING,",""," setter: function(val) {"," if (typeof val === 'string' && Y.Easing) {"," return Y.Easing[val];"," }"," }"," },",""," /**"," * The starting values for the animated properties."," *"," * Fields may be strings, numbers, or functions."," * If a function is used, the return value becomes the from value."," * If no from value is specified, the DEFAULT_GETTER will be used."," * Supports any unit, provided it matches the \"to\" (or default)"," * unit (e.g. `{width: '10em', color: 'rgb(0, 0, 0)', borderColor: '#ccc'}`)."," *"," * If using the default ('px' for length-based units), the unit may be omitted"," * (e.g. `{width: 100}, borderColor: 'ccc'}`, which defaults to pixels"," * and hex, respectively)."," *"," * @attribute from"," * @type Object"," */"," from: {},",""," /**"," * The ending values for the animated properties."," *"," * Fields may be strings, numbers, or functions."," * Supports any unit, provided it matches the \"from\" (or default)"," * unit (e.g. `{width: '50%', color: 'red', borderColor: '#ccc'}`)."," *"," * If using the default ('px' for length-based units), the unit may be omitted"," * (e.g. `{width: 100, borderColor: 'ccc'}`, which defaults to pixels"," * and hex, respectively)."," *"," * @attribute to"," * @type Object"," */"," to: {},",""," /**"," * Date stamp for the first frame of the animation."," * @attribute startTime"," * @type Int"," * @default 0"," * @readOnly"," */"," startTime: {"," value: 0,"," readOnly: true"," },",""," /**"," * Current time the animation has been running."," * @attribute elapsedTime"," * @type Int"," * @default 0"," * @readOnly"," */"," elapsedTime: {"," value: 0,"," readOnly: true"," },",""," /**"," * Whether or not the animation is currently running."," * @attribute running"," * @type Boolean"," * @default false"," * @readOnly"," */"," running: {"," getter: function() {"," return !!_running[Y.stamp(this)];"," },"," value: false,"," readOnly: true"," },",""," /**"," * The number of times the animation should run"," * @attribute iterations"," * @type Int"," * @default 1"," */"," iterations: {"," value: 1"," },",""," /**"," * The number of iterations that have occurred."," * Resets when an animation ends (reaches iteration count or stop() called)."," * @attribute iterationCount"," * @type Int"," * @default 0"," * @readOnly"," */"," iterationCount: {"," value: 0,"," readOnly: true"," },",""," /**"," * How iterations of the animation should behave."," * Possible values are \"normal\" and \"alternate\"."," * Normal will repeat the animation, alternate will reverse on every other pass."," *"," * @attribute direction"," * @type String"," * @default \"normal\""," */"," direction: {"," value: 'normal' // | alternate (fwd on odd, rev on even per spec)"," },",""," /**"," * Whether or not the animation is currently paused."," * @attribute paused"," * @type Boolean"," * @default false"," * @readOnly"," */"," paused: {"," readOnly: true,"," value: false"," },",""," /**"," * If true, animation begins from last frame"," * @attribute reverse"," * @type Boolean"," * @default false"," */"," reverse: {"," value: false"," }","",""," };",""," /**"," * Runs all animation instances."," * @method run"," * @static"," */"," Y.Anim.run = function() {"," var instances = Y.Anim._instances,"," i;"," for (i in instances) {"," if (instances[i].run) {"," instances[i].run();"," }"," }"," };",""," /**"," * Pauses all animation instances."," * @method pause"," * @static"," */"," Y.Anim.pause = function() {"," for (var i in _running) { // stop timer if nothing running"," if (_running[i].pause) {"," _running[i].pause();"," }"," }",""," Y.Anim._stopTimer();"," };",""," /**"," * Stops all animation instances."," * @method stop"," * @static"," */"," Y.Anim.stop = function() {"," for (var i in _running) { // stop timer if nothing running"," if (_running[i].stop) {"," _running[i].stop();"," }"," }"," Y.Anim._stopTimer();"," };",""," Y.Anim._startTimer = function() {"," if (!_timer) {"," _timer = setInterval(Y.Anim._runFrame, Y.Anim._intervalTime);"," }"," };",""," Y.Anim._stopTimer = function() {"," clearInterval(_timer);"," _timer = 0;"," };",""," /**"," * Called per Interval to handle each animation frame."," * @method _runFrame"," * @private"," * @static"," */"," Y.Anim._runFrame = function() {"," var done = true,"," anim;"," for (anim in _running) {"," if (_running[anim]._runFrame) {"," done = false;"," _running[anim]._runFrame();"," }"," }",""," if (done) {"," Y.Anim._stopTimer();"," }"," };",""," Y.Anim.RE_UNITS = /^(-?\\d*\\.?\\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/;",""," var proto = {"," /**"," * Starts or resumes an animation."," * @method run"," * @chainable"," */"," run: function() {"," if (this.get(PAUSED)) {"," this._resume();"," } else if (!this.get(RUNNING)) {"," this._start();"," }"," return this;"," },",""," /**"," * Pauses the animation and"," * freezes it in its current state and time."," * Calling run() will continue where it left off."," * @method pause"," * @chainable"," */"," pause: function() {"," if (this.get(RUNNING)) {"," this._pause();"," }"," return this;"," },",""," /**"," * Stops the animation and resets its time."," * @method stop"," * @param {Boolean} finish If true, the animation will move to the last frame"," * @chainable"," */"," stop: function(finish) {"," if (this.get(RUNNING) || this.get(PAUSED)) {"," this._end(finish);"," }"," return this;"," },",""," _added: false,",""," _start: function() {"," this._set(START_TIME, new Date() - this.get(ELAPSED_TIME));"," this._actualFrames = 0;"," if (!this.get(PAUSED)) {"," this._initAnimAttr();"," }"," _running[Y.stamp(this)] = this;"," Y.Anim._startTimer();",""," this.fire(START);"," },",""," _pause: function() {"," this._set(START_TIME, null);"," this._set(PAUSED, true);"," delete _running[Y.stamp(this)];",""," /**"," * @event pause"," * @description fires when an animation is paused."," * @param {Event} ev The pause event."," * @type Event.Custom"," */"," this.fire('pause');"," },",""," _resume: function() {"," this._set(PAUSED, false);"," _running[Y.stamp(this)] = this;"," this._set(START_TIME, new Date() - this.get(ELAPSED_TIME));"," Y.Anim._startTimer();",""," /**"," * @event resume"," * @description fires when an animation is resumed (run from pause)."," * @param {Event} ev The pause event."," * @type Event.Custom"," */"," this.fire('resume');"," },",""," _end: function(finish) {"," var duration = this.get('duration') * 1000;"," if (finish) { // jump to last frame"," this._runAttrs(duration, duration, this.get(REVERSE));"," }",""," this._set(START_TIME, null);"," this._set(ELAPSED_TIME, 0);"," this._set(PAUSED, false);",""," delete _running[Y.stamp(this)];"," this.fire(END, {elapsed: this.get(ELAPSED_TIME)});"," },",""," _runFrame: function() {"," var d = this._runtimeAttr.duration,"," t = new Date() - this.get(START_TIME),"," reverse = this.get(REVERSE),"," done = (t >= d);",""," this._runAttrs(t, d, reverse);"," this._actualFrames += 1;"," this._set(ELAPSED_TIME, t);",""," this.fire(TWEEN);"," if (done) {"," this._lastFrame();"," }"," },",""," _runAttrs: function(t, d, reverse) {"," var attr = this._runtimeAttr,"," customAttr = Y.Anim.behaviors,"," easing = attr.easing,"," lastFrame = d,"," done = false,"," attribute,"," setter,"," i;",""," if (t >= d) {"," done = true;"," }",""," if (reverse) {"," t = d - t;"," lastFrame = 0;"," }",""," for (i in attr) {"," if (attr[i].to) {"," attribute = attr[i];"," setter = (i in customAttr && 'set' in customAttr[i]) ?"," customAttr[i].set : Y.Anim.DEFAULT_SETTER;",""," if (!done) {"," setter(this, i, attribute.from, attribute.to, t, d, easing, attribute.unit);"," } else {"," setter(this, i, attribute.from, attribute.to, lastFrame, d, easing, attribute.unit);"," }"," }"," }","",""," },",""," _lastFrame: function() {"," var iter = this.get('iterations'),"," iterCount = this.get(ITERATION_COUNT);",""," iterCount += 1;"," if (iter === 'infinite' || iterCount < iter) {"," if (this.get('direction') === 'alternate') {"," this.set(REVERSE, !this.get(REVERSE)); // flip it"," }"," /**"," * @event iteration"," * @description fires when an animation begins an iteration."," * @param {Event} ev The iteration event."," * @type Event.Custom"," */"," this.fire('iteration');"," } else {"," iterCount = 0;"," this._end();"," }",""," this._set(START_TIME, new Date());"," this._set(ITERATION_COUNT, iterCount);"," },",""," _initAnimAttr: function() {"," var from = this.get('from') || {},"," to = this.get('to') || {},"," attr = {"," duration: this.get('duration') * 1000,"," easing: this.get('easing')"," },"," customAttr = Y.Anim.behaviors,"," node = this.get(NODE), // implicit attr init"," unit, begin, end;",""," Y.each(to, function(val, name) {"," if (typeof val === 'function') {"," val = val.call(this, node);"," }",""," begin = from[name];"," if (begin === undefined) {"," begin = (name in customAttr && 'get' in customAttr[name]) ?"," customAttr[name].get(this, name) : Y.Anim.DEFAULT_GETTER(this, name);"," } else if (typeof begin === 'function') {"," begin = begin.call(this, node);"," }",""," var mFrom = Y.Anim.RE_UNITS.exec(begin),"," mTo = Y.Anim.RE_UNITS.exec(val);",""," begin = mFrom ? mFrom[1] : begin;"," end = mTo ? mTo[1] : val;"," unit = mTo ? mTo[2] : mFrom ? mFrom[2] : ''; // one might be zero TODO: mixed units",""," if (!unit && Y.Anim.RE_DEFAULT_UNIT.test(name)) {"," unit = Y.Anim.DEFAULT_UNIT;"," }",""," if (!begin || !end) {"," Y.error('invalid \"from\" or \"to\" for \"' + name + '\"', 'Anim');"," return;"," }",""," attr[name] = {"," from: Y.Lang.isObject(begin) ? Y.clone(begin) : begin,"," to: end,"," unit: unit"," };",""," }, this);",""," this._runtimeAttr = attr;"," },","",""," // TODO: move to computedStyle? (browsers dont agree on default computed offsets)"," _getOffset: function(attr) {"," var node = this._node,"," val = node.getComputedStyle(attr),"," get = (attr === 'left') ? 'getX': 'getY',"," set = (attr === 'left') ? 'setX': 'setY',"," position;",""," if (val === 'auto') {"," position = node.getStyle('position');"," if (position === 'absolute' || position === 'fixed') {"," val = node[get]();"," node[set](val);"," } else {"," val = 0;"," }"," }",""," return val;"," },",""," destructor: function() {"," delete Y.Anim._instances[Y.stamp(this)];"," }"," };",""," Y.extend(Y.Anim, Y.Base, proto);","","","}, '3.9.1', {\"requires\": [\"base-base\", \"node-style\"]});"]; _yuitest_coverage["build/anim-base/anim-base.js"].lines = {"1":0,"23":0,"57":0,"60":0,"61":0,"62":0,"65":0,"67":0,"75":0,"83":0,"85":0,"86":0,"96":0,"104":0,"107":0,"112":0,"120":0,"121":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"134":0,"135":0,"136":0,"137":0,"147":0,"148":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"160":0,"161":0,"162":0,"163":0,"166":0,"169":0,"177":0,"178":0,"179":0,"183":0,"184":0,"186":0,"209":0,"210":0,"282":0,"354":0,"355":0,"357":0,"358":0,"359":0,"369":0,"370":0,"371":0,"372":0,"376":0,"384":0,"385":0,"386":0,"387":0,"390":0,"393":0,"394":0,"395":0,"399":0,"400":0,"401":0,"410":0,"411":0,"413":0,"414":0,"415":0,"416":0,"420":0,"421":0,"425":0,"427":0,"434":0,"435":0,"436":0,"437":0,"439":0,"450":0,"451":0,"453":0,"463":0,"464":0,"466":0,"472":0,"473":0,"474":0,"475":0,"477":0,"478":0,"480":0,"484":0,"485":0,"486":0,"494":0,"498":0,"499":0,"500":0,"501":0,"509":0,"513":0,"514":0,"515":0,"518":0,"519":0,"520":0,"522":0,"523":0,"527":0,"532":0,"533":0,"534":0,"536":0,"537":0,"538":0,"543":0,"552":0,"553":0,"556":0,"557":0,"558":0,"561":0,"562":0,"563":0,"564":0,"567":0,"568":0,"570":0,"579":0,"582":0,"583":0,"584":0,"585":0,"593":0,"595":0,"596":0,"599":0,"600":0,"604":0,"614":0,"615":0,"616":0,"619":0,"620":0,"621":0,"623":0,"624":0,"627":0,"630":0,"631":0,"632":0,"634":0,"635":0,"638":0,"639":0,"640":0,"643":0,"651":0,"657":0,"663":0,"664":0,"665":0,"666":0,"667":0,"669":0,"673":0,"677":0,"681":0}; _yuitest_coverage["build/anim-base/anim-base.js"].functions = {"Anim:60":0,"DEFAULT_EASING:85":0,"get:106":0,"DEFAULT_SETTER:120":0,"DEFAULT_GETTER:147":0,"setter:176":0,"setter:208":0,"getter:281":0,"run:354":0,"pause:369":0,"stop:384":0,"_startTimer:393":0,"_stopTimer:399":0,"_runFrame:410":0,"run:433":0,"pause:449":0,"stop:462":0,"_start:471":0,"_pause:483":0,"_resume:497":0,"_end:512":0,"_runFrame:526":0,"_runAttrs:542":0,"_lastFrame:578":0,"(anonymous 2):614":0,"_initAnimAttr:603":0,"_getOffset:656":0,"destructor:676":0,"(anonymous 1):1":0}; _yuitest_coverage["build/anim-base/anim-base.js"].coveredLines = 180; @@ -924,4 +924,4 @@ delete Y.Anim._instances[Y.stamp(this)]; Y.extend(Y.Anim, Y.Base, proto); -}, '3.9.0', {"requires": ["base-base", "node-style"]}); +}, '3.9.1', {"requires": ["base-base", "node-style"]}); diff --git a/lib/yuilib/3.9.0/build/anim-base/anim-base-debug.js b/lib/yuilib/3.9.1/build/anim-base/anim-base-debug.js similarity index 99% rename from lib/yuilib/3.9.0/build/anim-base/anim-base-debug.js rename to lib/yuilib/3.9.1/build/anim-base/anim-base-debug.js index cc58fb82786..f7d6a0b6da9 100644 --- a/lib/yuilib/3.9.0/build/anim-base/anim-base-debug.js +++ b/lib/yuilib/3.9.1/build/anim-base/anim-base-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('anim-base', function (Y, NAME) { /** @@ -683,4 +683,4 @@ YUI.add('anim-base', function (Y, NAME) { Y.extend(Y.Anim, Y.Base, proto); -}, '3.9.0', {"requires": ["base-base", "node-style"]}); +}, '3.9.1', {"requires": ["base-base", "node-style"]}); diff --git a/lib/yuilib/3.9.0/build/anim-base/anim-base-min.js b/lib/yuilib/3.9.1/build/anim-base/anim-base-min.js similarity index 97% rename from lib/yuilib/3.9.0/build/anim-base/anim-base-min.js rename to lib/yuilib/3.9.1/build/anim-base/anim-base-min.js index 67365a21316..1a818567aed 100644 --- a/lib/yuilib/3.9.0/build/anim-base/anim-base-min.js +++ b/lib/yuilib/3.9.1/build/anim-base/anim-base-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("anim-base",function(e,t){var n="running",r="startTime",i="elapsedTime",s="start",o="tween",u="end",a="node",f="paused",l="reverse",c="iterationCount",h=Number,p={},d;e.Anim=function(){e.Anim.superclass.constructor.apply(this,arguments),e.Anim._instances[e.stamp(this)]=this},e.Anim.NAME="anim",e.Anim._instances={},e.Anim.RE_DEFAULT_UNIT=/^width|height|top|right|bottom|left|margin.*|padding.*|border.*$/i,e.Anim.DEFAULT_UNIT="px",e.Anim.DEFAULT_EASING=function(e,t,n,r){return n*e/r+t},e.Anim._intervalTime=20,e.Anim.behaviors={left:{get:function(e,t){return e._getOffset(t)}}},e.Anim.behaviors.top=e.Anim.behaviors.left,e.Anim.DEFAULT_SETTER=function(t,n,r,i,s,o,u,a){var f=t._node,l=f._node,c=u(s,h(r),h(i)-h(r),o);l?"style"in l&&(n in l.style||n in e.DOM.CUSTOM_STYLES)?(a=a||"",f.setStyle(n,c+a)):"attributes"in l&&n in l.attributes?f.setAttribute(n,c):n in l&&(l[n]=c):f.set?f.set(n,c):n in f&&(f[n]=c)},e.Anim.DEFAULT_GETTER=function(t,n){var r=t._node,i=r._node,s="";return i?"style"in i&&(n in i.style||n in e.DOM.CUSTOM_STYLES)?s=r.getComputedStyle(n):"attributes"in i&&n in i.attributes?s=r.getAttribute(n):n in i&&(s=i[n]):r.get?s=r.get(n):n in r&&(s=r[n]),s},e.Anim.ATTRS={node:{setter:function(t){return t&&(typeof t=="string"||t.nodeType)&&(t=e.one(t)),this._node=t,!t,t}},duration:{value:1},easing:{value:e.Anim.DEFAULT_EASING,setter:function(t){if(typeof t=="string"&&e.Easing)return e.Easing[t]}},from:{},to:{},startTime:{value:0,readOnly:!0},elapsedTime:{value:0,readOnly:!0},running:{getter:function(){return!!p[e.stamp(this)]},value:!1,readOnly:!0},iterations:{value:1},iterationCount:{value:0,readOnly:!0},direction:{value:"normal"},paused:{readOnly:!0,value:!1},reverse:{value:!1}},e.Anim.run=function(){var t=e.Anim._instances,n;for(n in t)t[n].run&&t[n].run()},e.Anim.pause=function(){for(var t in p)p[t].pause&&p[t].pause();e.Anim._stopTimer()},e.Anim.stop=function(){for(var t in p)p[t].stop&&p[t].stop();e.Anim._stopTimer()},e.Anim._startTimer=function(){d||(d=setInterval(e.Anim._runFrame,e.Anim._intervalTime))},e.Anim._stopTimer=function(){clearInterval(d),d=0},e.Anim._runFrame=function(){var t=!0,n;for(n in p)p[n]._runFrame&&(t=!1,p[n]._runFrame());t&&e.Anim._stopTimer()},e.Anim.RE_UNITS=/^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/;var v={run:function(){return this.get(f)?this._resume():this.get(n)||this._start(),this},pause:function(){return this.get(n)&&this._pause(),this},stop:function(e){return(this.get(n)||this.get(f))&&this._end(e),this},_added:!1,_start:function(){this._set(r,new Date-this.get(i)),this._actualFrames=0,this.get(f)||this._initAnimAttr(),p[e.stamp(this)]=this,e.Anim._startTimer(),this.fire(s)},_pause:function(){this._set(r,null),this._set(f,!0),delete p[e.stamp(this)],this.fire("pause")},_resume:function(){this._set(f,!1),p[e.stamp(this)]=this,this._set(r,new Date-this.get(i)),e.Anim._startTimer(),this.fire("resume")},_end:function(t){var n=this.get("duration")*1e3;t&&this._runAttrs(n,n,this.get(l)),this._set(r,null),this._set(i,0),this._set(f,!1),delete p[e.stamp(this)],this.fire(u,{elapsed:this.get(i)})},_runFrame:function(){var e=this._runtimeAttr.duration,t=new Date-this.get(r),n=this.get(l),s=t>=e;this._runAttrs(t,e,n),this._actualFrames+=1,this._set(i,t),this.fire(o),s&&this._lastFrame()},_runAttrs:function(t,n,r){var i=this._runtimeAttr,s=e.Anim.behaviors,o=i.easing,u=n,a=!1,f,l,c;t>=n&&(a=!0),r&&(t=n-t,u=0);for(c in i)i[c].to&&(f=i[c],l=c in s&&"set"in s[c]?s[c].set:e.Anim.DEFAULT_SETTER,a?l(this,c,f.from,f.to,u,n,o,f.unit):l(this,c,f.from,f.to,t,n,o,f.unit))},_lastFrame:function(){var e=this.get("iterations"),t=this.get(c);t+=1,e==="infinite"||t=e;this._runAttrs(t,e,n),this._actualFrames+=1,this._set(i,t),this.fire(o),s&&this._lastFrame()},_runAttrs:function(t,n,r){var i=this._runtimeAttr,s=e.Anim.behaviors,o=i.easing,u=n,a=!1,f,l,c;t>=n&&(a=!0),r&&(t=n-t,u=0);for(c in i)i[c].to&&(f=i[c],l=c in s&&"set"in s[c]?s[c].set:e.Anim.DEFAULT_SETTER,a?l(this,c,f.from,f.to,u,n,o,f.unit):l(this,c,f.from,f.to,t,n,o,f.unit))},_lastFrame:function(){var e=this.get("iterations"),t=this.get(c);t+=1,e==="infinite"||tto"," * and from attributes."," * @module anim"," * @submodule anim-color"," */","","var NUM = Number;","","Y.Anim.getUpdatedColorValue = function(fromColor, toColor, elapsed, duration, fn)","{"," fromColor = Y.Color.re_RGB.exec(Y.Color.toRGB(fromColor));"," toColor = Y.Color.re_RGB.exec(Y.Color.toRGB(toColor));",""," if (!fromColor || fromColor.length < 3 || !toColor || toColor.length < 3) {"," Y.error('invalid from or to passed to color behavior');"," }",""," return 'rgb(' + ["," Math.floor(fn(elapsed, NUM(fromColor[1]), NUM(toColor[1]) - NUM(fromColor[1]), duration)),"," Math.floor(fn(elapsed, NUM(fromColor[2]), NUM(toColor[2]) - NUM(fromColor[2]), duration)),"," Math.floor(fn(elapsed, NUM(fromColor[3]), NUM(toColor[3]) - NUM(fromColor[3]), duration))"," ].join(', ') + ')';","};","","Y.Anim.behaviors.color = {"," set: function(anim, att, from, to, elapsed, duration, fn) {"," anim._node.setStyle(att, Y.Anim.getUpdatedColorValue(from, to, elapsed, duration, fn));"," },",""," // TODO: default bgcolor const"," get: function(anim, att) {"," var val = anim._node.getComputedStyle(att);"," val = (val === 'transparent') ? 'rgb(255, 255, 255)' : val;"," return val;"," }","};","","Y.each(['backgroundColor',"," 'borderColor',"," 'borderTopColor',"," 'borderRightColor',"," 'borderBottomColor',"," 'borderLeftColor'],"," function(v) {"," Y.Anim.behaviors[v] = Y.Anim.behaviors.color;"," }",");","","","}, '3.9.0', {\"requires\": [\"anim-base\"]});"]; +_yuitest_coverage["build/anim-color/anim-color.js"].code=["YUI.add('anim-color', function (Y, NAME) {","","/**"," * Adds support for color properties in to"," * and from attributes."," * @module anim"," * @submodule anim-color"," */","","var NUM = Number;","","Y.Anim.getUpdatedColorValue = function(fromColor, toColor, elapsed, duration, fn)","{"," fromColor = Y.Color.re_RGB.exec(Y.Color.toRGB(fromColor));"," toColor = Y.Color.re_RGB.exec(Y.Color.toRGB(toColor));",""," if (!fromColor || fromColor.length < 3 || !toColor || toColor.length < 3) {"," Y.error('invalid from or to passed to color behavior');"," }",""," return 'rgb(' + ["," Math.floor(fn(elapsed, NUM(fromColor[1]), NUM(toColor[1]) - NUM(fromColor[1]), duration)),"," Math.floor(fn(elapsed, NUM(fromColor[2]), NUM(toColor[2]) - NUM(fromColor[2]), duration)),"," Math.floor(fn(elapsed, NUM(fromColor[3]), NUM(toColor[3]) - NUM(fromColor[3]), duration))"," ].join(', ') + ')';","};","","Y.Anim.behaviors.color = {"," set: function(anim, att, from, to, elapsed, duration, fn) {"," anim._node.setStyle(att, Y.Anim.getUpdatedColorValue(from, to, elapsed, duration, fn));"," },",""," // TODO: default bgcolor const"," get: function(anim, att) {"," var val = anim._node.getComputedStyle(att);"," val = (val === 'transparent') ? 'rgb(255, 255, 255)' : val;"," return val;"," }","};","","Y.each(['backgroundColor',"," 'borderColor',"," 'borderTopColor',"," 'borderRightColor',"," 'borderBottomColor',"," 'borderLeftColor'],"," function(v) {"," Y.Anim.behaviors[v] = Y.Anim.behaviors.color;"," }",");","","","}, '3.9.1', {\"requires\": [\"anim-base\"]});"]; _yuitest_coverage["build/anim-color/anim-color.js"].lines = {"1":0,"10":0,"12":0,"14":0,"15":0,"17":0,"18":0,"21":0,"28":0,"30":0,"35":0,"36":0,"37":0,"41":0,"48":0}; _yuitest_coverage["build/anim-color/anim-color.js"].functions = {"getUpdatedColorValue:12":0,"set:29":0,"get:34":0,"(anonymous 2):47":0,"(anonymous 1):1":0}; _yuitest_coverage["build/anim-color/anim-color.js"].coveredLines = 15; @@ -104,4 +104,4 @@ Y.Anim.behaviors[v] = Y.Anim.behaviors.color; ); -}, '3.9.0', {"requires": ["anim-base"]}); +}, '3.9.1', {"requires": ["anim-base"]}); diff --git a/lib/yuilib/3.9.0/build/anim-color/anim-color-debug.js b/lib/yuilib/3.9.1/build/anim-color/anim-color-debug.js similarity index 93% rename from lib/yuilib/3.9.0/build/anim-color/anim-color-debug.js rename to lib/yuilib/3.9.1/build/anim-color/anim-color-debug.js index d244c7d381e..1bc7eeec989 100644 --- a/lib/yuilib/3.9.0/build/anim-color/anim-color-debug.js +++ b/lib/yuilib/3.9.1/build/anim-color/anim-color-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('anim-color', function (Y, NAME) { /** @@ -51,4 +51,4 @@ Y.each(['backgroundColor', ); -}, '3.9.0', {"requires": ["anim-base"]}); +}, '3.9.1', {"requires": ["anim-base"]}); diff --git a/lib/yuilib/3.9.0/build/anim-color/anim-color-min.js b/lib/yuilib/3.9.1/build/anim-color/anim-color-min.js similarity index 86% rename from lib/yuilib/3.9.0/build/anim-color/anim-color-min.js rename to lib/yuilib/3.9.1/build/anim-color/anim-color-min.js index a7be3d1b42c..c995dc1e1f1 100644 --- a/lib/yuilib/3.9.0/build/anim-color/anim-color-min.js +++ b/lib/yuilib/3.9.1/build/anim-color/anim-color-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("anim-color",function(e,t){var n=Number;e.Anim.getUpdatedColorValue=function(t,r,i,s,o){return t=e.Color.re_RGB.exec(e.Color.toRGB(t)),r=e.Color.re_RGB.exec(e.Color.toRGB(r)),(!t||t.length<3||!r||r.length<3)&&e.error("invalid from or to passed to color behavior"),"rgb("+[Math.floor(o(i,n(t[1]),n(r[1])-n(t[1]),s)),Math.floor(o(i,n(t[2]),n(r[2])-n(t[2]),s)),Math.floor(o(i,n(t[3]),n(r[3])-n(t[3]),s))].join(", ")+")"},e.Anim.behaviors.color={set:function(t,n,r,i,s,o,u){t._node.setStyle(n,e.Anim.getUpdatedColorValue(r,i,s,o,u))},get:function(e,t){var n=e._node.getComputedStyle(t);return n=n==="transparent"?"rgb(255, 255, 255)":n,n}},e.each(["backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"],function(t){e.Anim.behaviors[t]=e.Anim.behaviors.color})},"3.9.0",{requires:["anim-base"]}); +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +YUI.add("anim-color",function(e,t){var n=Number;e.Anim.getUpdatedColorValue=function(t,r,i,s,o){return t=e.Color.re_RGB.exec(e.Color.toRGB(t)),r=e.Color.re_RGB.exec(e.Color.toRGB(r)),(!t||t.length<3||!r||r.length<3)&&e.error("invalid from or to passed to color behavior"),"rgb("+[Math.floor(o(i,n(t[1]),n(r[1])-n(t[1]),s)),Math.floor(o(i,n(t[2]),n(r[2])-n(t[2]),s)),Math.floor(o(i,n(t[3]),n(r[3])-n(t[3]),s))].join(", ")+")"},e.Anim.behaviors.color={set:function(t,n,r,i,s,o,u){t._node.setStyle(n,e.Anim.getUpdatedColorValue(r,i,s,o,u))},get:function(e,t){var n=e._node.getComputedStyle(t);return n=n==="transparent"?"rgb(255, 255, 255)":n,n}},e.each(["backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"],function(t){e.Anim.behaviors[t]=e.Anim.behaviors.color})},"3.9.1",{requires:["anim-base"]}); diff --git a/lib/yuilib/3.9.0/build/anim-color/anim-color.js b/lib/yuilib/3.9.1/build/anim-color/anim-color.js similarity index 93% rename from lib/yuilib/3.9.0/build/anim-color/anim-color.js rename to lib/yuilib/3.9.1/build/anim-color/anim-color.js index d244c7d381e..1bc7eeec989 100644 --- a/lib/yuilib/3.9.0/build/anim-color/anim-color.js +++ b/lib/yuilib/3.9.1/build/anim-color/anim-color.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('anim-color', function (Y, NAME) { /** @@ -51,4 +51,4 @@ Y.each(['backgroundColor', ); -}, '3.9.0', {"requires": ["anim-base"]}); +}, '3.9.1', {"requires": ["anim-base"]}); diff --git a/lib/yuilib/3.9.0/build/anim-curve/anim-curve-coverage.js b/lib/yuilib/3.9.1/build/anim-curve/anim-curve-coverage.js similarity index 97% rename from lib/yuilib/3.9.0/build/anim-curve/anim-curve-coverage.js rename to lib/yuilib/3.9.1/build/anim-curve/anim-curve-coverage.js index a5b95b422fe..8627c2659e1 100644 --- a/lib/yuilib/3.9.0/build/anim-curve/anim-curve-coverage.js +++ b/lib/yuilib/3.9.1/build/anim-curve/anim-curve-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/anim-curve/anim-curve.js"] = { path: "build/anim-curve/anim-curve.js", code: [] }; -_yuitest_coverage["build/anim-curve/anim-curve.js"].code=["YUI.add('anim-curve', function (Y, NAME) {","","/**"," * Adds support for the curve property for the to"," * attribute. A curve is zero or more control points and an end point."," * @module anim"," * @submodule anim-curve"," */","","Y.Anim.behaviors.curve = {"," set: function(anim, att, from, to, elapsed, duration, fn) {"," from = from.slice.call(from);"," to = to.slice.call(to);"," var t = fn(elapsed, 0, 100, duration) / 100;"," to.unshift(from);"," anim._node.setXY(Y.Anim.getBezier(to, t));"," },",""," get: function(anim) {"," return anim._node.getXY();"," }","};","","/**"," * Get the current position of the animated element based on t."," * Each point is an array of \"x\" and \"y\" values (0 = x, 1 = y)"," * At least 2 points are required (start and end)."," * First point is start. Last point is end."," * Additional control points are optional."," * @for Anim"," * @method getBezier"," * @static"," * @param {Array} points An array containing Bezier points"," * @param {Number} t A number between 0 and 1 which is the basis for determining current position"," * @return {Array} An array containing int x and y member data"," */","Y.Anim.getBezier = function(points, t) {"," var n = points.length,"," tmp = [],"," i,"," j;",""," for (i = 0; i < n; ++i){"," tmp[i] = [points[i][0], points[i][1]]; // save input"," }",""," for (j = 1; j < n; ++j) {"," for (i = 0; i < n - j; ++i) {"," tmp[i][0] = (1 - t) * tmp[i][0] + t * tmp[parseInt(i + 1, 10)][0];"," tmp[i][1] = (1 - t) * tmp[i][1] + t * tmp[parseInt(i + 1, 10)][1];"," }"," }",""," return [ tmp[0][0], tmp[0][1] ];","","};","","","}, '3.9.0', {\"requires\": [\"anim-xy\"]});"]; +_yuitest_coverage["build/anim-curve/anim-curve.js"].code=["YUI.add('anim-curve', function (Y, NAME) {","","/**"," * Adds support for the curve property for the to"," * attribute. A curve is zero or more control points and an end point."," * @module anim"," * @submodule anim-curve"," */","","Y.Anim.behaviors.curve = {"," set: function(anim, att, from, to, elapsed, duration, fn) {"," from = from.slice.call(from);"," to = to.slice.call(to);"," var t = fn(elapsed, 0, 100, duration) / 100;"," to.unshift(from);"," anim._node.setXY(Y.Anim.getBezier(to, t));"," },",""," get: function(anim) {"," return anim._node.getXY();"," }","};","","/**"," * Get the current position of the animated element based on t."," * Each point is an array of \"x\" and \"y\" values (0 = x, 1 = y)"," * At least 2 points are required (start and end)."," * First point is start. Last point is end."," * Additional control points are optional."," * @for Anim"," * @method getBezier"," * @static"," * @param {Array} points An array containing Bezier points"," * @param {Number} t A number between 0 and 1 which is the basis for determining current position"," * @return {Array} An array containing int x and y member data"," */","Y.Anim.getBezier = function(points, t) {"," var n = points.length,"," tmp = [],"," i,"," j;",""," for (i = 0; i < n; ++i){"," tmp[i] = [points[i][0], points[i][1]]; // save input"," }",""," for (j = 1; j < n; ++j) {"," for (i = 0; i < n - j; ++i) {"," tmp[i][0] = (1 - t) * tmp[i][0] + t * tmp[parseInt(i + 1, 10)][0];"," tmp[i][1] = (1 - t) * tmp[i][1] + t * tmp[parseInt(i + 1, 10)][1];"," }"," }",""," return [ tmp[0][0], tmp[0][1] ];","","};","","","}, '3.9.1', {\"requires\": [\"anim-xy\"]});"]; _yuitest_coverage["build/anim-curve/anim-curve.js"].lines = {"1":0,"10":0,"12":0,"13":0,"14":0,"15":0,"16":0,"20":0,"37":0,"38":0,"43":0,"44":0,"47":0,"48":0,"49":0,"50":0,"54":0}; _yuitest_coverage["build/anim-curve/anim-curve.js"].functions = {"set:11":0,"get:19":0,"getBezier:37":0,"(anonymous 1):1":0}; _yuitest_coverage["build/anim-curve/anim-curve.js"].coveredLines = 17; @@ -111,4 +111,4 @@ return [ tmp[0][0], tmp[0][1] ]; }; -}, '3.9.0', {"requires": ["anim-xy"]}); +}, '3.9.1', {"requires": ["anim-xy"]}); diff --git a/lib/yuilib/3.9.0/build/anim-curve/anim-curve-debug.js b/lib/yuilib/3.9.1/build/anim-curve/anim-curve-debug.js similarity index 94% rename from lib/yuilib/3.9.0/build/anim-curve/anim-curve-debug.js rename to lib/yuilib/3.9.1/build/anim-curve/anim-curve-debug.js index 0b75ee8274b..0908e39480b 100644 --- a/lib/yuilib/3.9.0/build/anim-curve/anim-curve-debug.js +++ b/lib/yuilib/3.9.1/build/anim-curve/anim-curve-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('anim-curve', function (Y, NAME) { /** @@ -57,4 +57,4 @@ Y.Anim.getBezier = function(points, t) { }; -}, '3.9.0', {"requires": ["anim-xy"]}); +}, '3.9.1', {"requires": ["anim-xy"]}); diff --git a/lib/yuilib/3.9.0/build/anim-curve/anim-curve-min.js b/lib/yuilib/3.9.1/build/anim-curve/anim-curve-min.js similarity index 78% rename from lib/yuilib/3.9.0/build/anim-curve/anim-curve-min.js rename to lib/yuilib/3.9.1/build/anim-curve/anim-curve-min.js index a0112ad9cfd..fcd396f2612 100644 --- a/lib/yuilib/3.9.0/build/anim-curve/anim-curve-min.js +++ b/lib/yuilib/3.9.1/build/anim-curve/anim-curve-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("anim-curve",function(e,t){e.Anim.behaviors.curve={set:function(t,n,r,i,s,o,u){r=r.slice.call(r),i=i.slice.call(i);var a=u(s,0,100,o)/100;i.unshift(r),t._node.setXY(e.Anim.getBezier(i,a))},get:function(e){return e._node.getXY()}},e.Anim.getBezier=function(e,t){var n=e.length,r=[],i,s;for(i=0;iscroll property in to"," * and from attributes."," * @module anim"," * @submodule anim-scroll"," */","","var NUM = Number;","","//TODO: deprecate for scrollTop/Left properties?","Y.Anim.behaviors.scroll = {"," set: function(anim, att, from, to, elapsed, duration, fn) {"," var"," node = anim._node,"," val = (["," fn(elapsed, NUM(from[0]), NUM(to[0]) - NUM(from[0]), duration),"," fn(elapsed, NUM(from[1]), NUM(to[1]) - NUM(from[1]), duration)"," ]);",""," if (val[0]) {"," node.set('scrollLeft', val[0]);"," }",""," if (val[1]) {"," node.set('scrollTop', val[1]);"," }"," },"," get: function(anim) {"," var node = anim._node;"," return [node.get('scrollLeft'), node.get('scrollTop')];"," }","};","","","","}, '3.9.0', {\"requires\": [\"anim-base\"]});"]; +_yuitest_coverage["build/anim-scroll/anim-scroll.js"].code=["YUI.add('anim-scroll', function (Y, NAME) {","","/**"," * Adds support for the scroll property in to"," * and from attributes."," * @module anim"," * @submodule anim-scroll"," */","","var NUM = Number;","","//TODO: deprecate for scrollTop/Left properties?","Y.Anim.behaviors.scroll = {"," set: function(anim, att, from, to, elapsed, duration, fn) {"," var"," node = anim._node,"," val = (["," fn(elapsed, NUM(from[0]), NUM(to[0]) - NUM(from[0]), duration),"," fn(elapsed, NUM(from[1]), NUM(to[1]) - NUM(from[1]), duration)"," ]);",""," if (val[0]) {"," node.set('scrollLeft', val[0]);"," }",""," if (val[1]) {"," node.set('scrollTop', val[1]);"," }"," },"," get: function(anim) {"," var node = anim._node;"," return [node.get('scrollLeft'), node.get('scrollTop')];"," }","};","","","","}, '3.9.1', {\"requires\": [\"anim-base\"]});"]; _yuitest_coverage["build/anim-scroll/anim-scroll.js"].lines = {"1":0,"10":0,"13":0,"15":0,"22":0,"23":0,"26":0,"27":0,"31":0,"32":0}; _yuitest_coverage["build/anim-scroll/anim-scroll.js"].functions = {"set:14":0,"get:30":0,"(anonymous 1):1":0}; _yuitest_coverage["build/anim-scroll/anim-scroll.js"].coveredLines = 10; @@ -82,4 +82,4 @@ return [node.get('scrollLeft'), node.get('scrollTop')]; -}, '3.9.0', {"requires": ["anim-base"]}); +}, '3.9.1', {"requires": ["anim-base"]}); diff --git a/lib/yuilib/3.9.0/build/anim-scroll/anim-scroll-debug.js b/lib/yuilib/3.9.1/build/anim-scroll/anim-scroll-debug.js similarity index 89% rename from lib/yuilib/3.9.0/build/anim-scroll/anim-scroll-debug.js rename to lib/yuilib/3.9.1/build/anim-scroll/anim-scroll-debug.js index 48b2ce3cd5f..2866958a36b 100644 --- a/lib/yuilib/3.9.0/build/anim-scroll/anim-scroll-debug.js +++ b/lib/yuilib/3.9.1/build/anim-scroll/anim-scroll-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('anim-scroll', function (Y, NAME) { /** @@ -36,4 +36,4 @@ Y.Anim.behaviors.scroll = { -}, '3.9.0', {"requires": ["anim-base"]}); +}, '3.9.1', {"requires": ["anim-base"]}); diff --git a/lib/yuilib/3.9.0/build/anim-scroll/anim-scroll-min.js b/lib/yuilib/3.9.1/build/anim-scroll/anim-scroll-min.js similarity index 76% rename from lib/yuilib/3.9.0/build/anim-scroll/anim-scroll-min.js rename to lib/yuilib/3.9.1/build/anim-scroll/anim-scroll-min.js index 90487602e05..4ca1248127f 100644 --- a/lib/yuilib/3.9.0/build/anim-scroll/anim-scroll-min.js +++ b/lib/yuilib/3.9.1/build/anim-scroll/anim-scroll-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("anim-scroll",function(e,t){var n=Number;e.Anim.behaviors.scroll={set:function(e,t,r,i,s,o,u){var a=e._node,f=[u(s,n(r[0]),n(i[0])-n(r[0]),o),u(s,n(r[1]),n(i[1])-n(r[1]),o)];f[0]&&a.set("scrollLeft",f[0]),f[1]&&a.set("scrollTop",f[1])},get:function(e){var t=e._node;return[t.get("scrollLeft"),t.get("scrollTop")]}}},"3.9.0",{requires:["anim-base"]}); +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +YUI.add("anim-scroll",function(e,t){var n=Number;e.Anim.behaviors.scroll={set:function(e,t,r,i,s,o,u){var a=e._node,f=[u(s,n(r[0]),n(i[0])-n(r[0]),o),u(s,n(r[1]),n(i[1])-n(r[1]),o)];f[0]&&a.set("scrollLeft",f[0]),f[1]&&a.set("scrollTop",f[1])},get:function(e){var t=e._node;return[t.get("scrollLeft"),t.get("scrollTop")]}}},"3.9.1",{requires:["anim-base"]}); diff --git a/lib/yuilib/3.9.0/build/anim-scroll/anim-scroll.js b/lib/yuilib/3.9.1/build/anim-scroll/anim-scroll.js similarity index 89% rename from lib/yuilib/3.9.0/build/anim-scroll/anim-scroll.js rename to lib/yuilib/3.9.1/build/anim-scroll/anim-scroll.js index 48b2ce3cd5f..2866958a36b 100644 --- a/lib/yuilib/3.9.0/build/anim-scroll/anim-scroll.js +++ b/lib/yuilib/3.9.1/build/anim-scroll/anim-scroll.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('anim-scroll', function (Y, NAME) { /** @@ -36,4 +36,4 @@ Y.Anim.behaviors.scroll = { -}, '3.9.0', {"requires": ["anim-base"]}); +}, '3.9.1', {"requires": ["anim-base"]}); diff --git a/lib/yuilib/3.9.0/build/anim-shape-transform/anim-shape-transform-coverage.js b/lib/yuilib/3.9.1/build/anim-shape-transform/anim-shape-transform-coverage.js similarity index 98% rename from lib/yuilib/3.9.0/build/anim-shape-transform/anim-shape-transform-coverage.js rename to lib/yuilib/3.9.1/build/anim-shape-transform/anim-shape-transform-coverage.js index 7b8123793ad..0ddfe5878c2 100644 --- a/lib/yuilib/3.9.0/build/anim-shape-transform/anim-shape-transform-coverage.js +++ b/lib/yuilib/3.9.1/build/anim-shape-transform/anim-shape-transform-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/anim-shape-transform/anim-shape-transform.js"] = { path: "build/anim-shape-transform/anim-shape-transform.js", code: [] }; -_yuitest_coverage["build/anim-shape-transform/anim-shape-transform.js"].code=["YUI.add('anim-shape-transform', function (Y, NAME) {","","/**"," * Adds support for the transform attribute of Graphic"," * Shape instances."," * @module anim"," * @submodule anim-shape-transform"," */"," var NUM = Number,"," TO,"," TOSTRING;",""," Y.Anim.behaviors.transform = {"," set: function(anim, att, from, to, elapsed, duration, fn) {"," var node = anim._node,"," transform = \"\","," transformTo,"," transformFrom,"," toArgs,"," fromArgs,"," i = 0,"," j,"," argLen,"," len;"," to = TO;"," len = TO.length;"," for(; i < len; ++i)"," {"," toArgs = to[i].concat();"," fromArgs = from[i].concat();"," transformTo = toArgs.shift();"," transformFrom = fromArgs.shift();"," argLen = toArgs.length;"," transform += transformTo + \"(\";"," for(j = 0; j < argLen; ++j)"," {"," transform += fn(elapsed, NUM(fromArgs[j]), NUM(toArgs[j]) - NUM(fromArgs[j]), duration);"," if(j < argLen - 1)"," {"," transform += \", \";"," }"," }"," transform += \");\";"," }"," if(transform)"," {"," node.set('transform', transform);"," }"," node._transform = TOSTRING;"," },"," "," get: function(anim) {"," var node = anim._node,"," fromMatrix = node.matrix,"," toAttr = anim.get(\"to\") || {},"," toString = anim.get(\"to\").transform,"," fromString = node.get(\"transform\"),"," toArray = Y.MatrixUtil.getTransformArray(toString),"," fromArray = fromString ? Y.MatrixUtil.getTransformArray(fromString) : null,"," toMatrix,"," i,"," len,"," transformFunction,"," from;"," if(toArray)"," {"," if(!fromArray || fromArray.length < 1)"," {"," fromArray = [];"," len = toArray.length;"," for(i = 0; i < len; ++i)"," {"," transformFunction = toArray[i][0];"," fromArray[i] = Y.MatrixUtil.getTransformFunctionArray(transformFunction);"," }"," TO = toArray;"," from = fromArray;"," }"," else if(Y.MatrixUtil.compareTransformSequence(toArray, fromArray))"," {"," TO = toArray;"," from = fromArray;"," }"," else"," {"," toMatrix = new Y.Matrix();"," len = toArray.length;"," for(i = 0; i < len; ++i)"," {"," transformFunction = toArray[i].shift();"," transformFunction = transformFunction == \"matrix\" ? \"multiply\" : transformFunction;"," toMatrix[transformFunction].apply(toMatrix, toArray[i]); "," }",""," TO = toMatrix.decompose();"," from = fromMatrix.decompose();"," }"," }"," TOSTRING = toString;"," return from;"," }"," }; ","","","","}, '3.9.0', {\"requires\": [\"anim-base\", \"anim-easing\", \"matrix\"]});"]; +_yuitest_coverage["build/anim-shape-transform/anim-shape-transform.js"].code=["YUI.add('anim-shape-transform', function (Y, NAME) {","","/**"," * Adds support for the transform attribute of Graphic"," * Shape instances."," * @module anim"," * @submodule anim-shape-transform"," */"," var NUM = Number,"," TO,"," TOSTRING;",""," Y.Anim.behaviors.transform = {"," set: function(anim, att, from, to, elapsed, duration, fn) {"," var node = anim._node,"," transform = \"\","," transformTo,"," transformFrom,"," toArgs,"," fromArgs,"," i = 0,"," j,"," argLen,"," len;"," to = TO;"," len = TO.length;"," for(; i < len; ++i)"," {"," toArgs = to[i].concat();"," fromArgs = from[i].concat();"," transformTo = toArgs.shift();"," transformFrom = fromArgs.shift();"," argLen = toArgs.length;"," transform += transformTo + \"(\";"," for(j = 0; j < argLen; ++j)"," {"," transform += fn(elapsed, NUM(fromArgs[j]), NUM(toArgs[j]) - NUM(fromArgs[j]), duration);"," if(j < argLen - 1)"," {"," transform += \", \";"," }"," }"," transform += \");\";"," }"," if(transform)"," {"," node.set('transform', transform);"," }"," node._transform = TOSTRING;"," },"," "," get: function(anim) {"," var node = anim._node,"," fromMatrix = node.matrix,"," toAttr = anim.get(\"to\") || {},"," toString = anim.get(\"to\").transform,"," fromString = node.get(\"transform\"),"," toArray = Y.MatrixUtil.getTransformArray(toString),"," fromArray = fromString ? Y.MatrixUtil.getTransformArray(fromString) : null,"," toMatrix,"," i,"," len,"," transformFunction,"," from;"," if(toArray)"," {"," if(!fromArray || fromArray.length < 1)"," {"," fromArray = [];"," len = toArray.length;"," for(i = 0; i < len; ++i)"," {"," transformFunction = toArray[i][0];"," fromArray[i] = Y.MatrixUtil.getTransformFunctionArray(transformFunction);"," }"," TO = toArray;"," from = fromArray;"," }"," else if(Y.MatrixUtil.compareTransformSequence(toArray, fromArray))"," {"," TO = toArray;"," from = fromArray;"," }"," else"," {"," toMatrix = new Y.Matrix();"," len = toArray.length;"," for(i = 0; i < len; ++i)"," {"," transformFunction = toArray[i].shift();"," transformFunction = transformFunction == \"matrix\" ? \"multiply\" : transformFunction;"," toMatrix[transformFunction].apply(toMatrix, toArray[i]); "," }",""," TO = toMatrix.decompose();"," from = fromMatrix.decompose();"," }"," }"," TOSTRING = toString;"," return from;"," }"," }; ","","","","}, '3.9.1', {\"requires\": [\"anim-base\", \"anim-easing\", \"matrix\"]});"]; _yuitest_coverage["build/anim-shape-transform/anim-shape-transform.js"].lines = {"1":0,"9":0,"13":0,"15":0,"25":0,"26":0,"27":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"37":0,"38":0,"40":0,"43":0,"45":0,"47":0,"49":0,"53":0,"65":0,"67":0,"69":0,"70":0,"71":0,"73":0,"74":0,"76":0,"77":0,"79":0,"81":0,"82":0,"86":0,"87":0,"88":0,"90":0,"91":0,"92":0,"95":0,"96":0,"99":0,"100":0}; _yuitest_coverage["build/anim-shape-transform/anim-shape-transform.js"].functions = {"set:14":0,"get:52":0,"(anonymous 1):1":0}; _yuitest_coverage["build/anim-shape-transform/anim-shape-transform.js"].coveredLines = 44; @@ -184,4 +184,4 @@ return from; -}, '3.9.0', {"requires": ["anim-base", "anim-easing", "matrix"]}); +}, '3.9.1', {"requires": ["anim-base", "anim-easing", "matrix"]}); diff --git a/lib/yuilib/3.9.0/build/anim-shape/anim-shape-coverage.js b/lib/yuilib/3.9.1/build/anim-shape/anim-shape-coverage.js similarity index 99% rename from lib/yuilib/3.9.0/build/anim-shape/anim-shape-coverage.js rename to lib/yuilib/3.9.1/build/anim-shape/anim-shape-coverage.js index fbbf28b60eb..5c6eb6ca87f 100644 --- a/lib/yuilib/3.9.0/build/anim-shape/anim-shape-coverage.js +++ b/lib/yuilib/3.9.1/build/anim-shape/anim-shape-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/anim-shape/anim-shape.js"] = { path: "build/anim-shape/anim-shape.js", code: [] }; -_yuitest_coverage["build/anim-shape/anim-shape.js"].code=["YUI.add('anim-shape', function (Y, NAME) {","","/**"," * Adds support for the transform attribute of Graphic"," * Shape instances."," * @module anim"," * @submodule anim-shape-transform"," * @deprecated Use anim-shape instead."," */","/**"," * Adds support for the transform, fill, and attributes of Graphic"," * Shape instances. The anim-shape submodule can be used for all animations involving"," * Graphic Shape attributes."," *"," * @module anim"," * @submodule anim-shape"," */"," var NUM = Number,"," TO,"," TOSTRING,"," COLOR = \"color\","," STOPS = \"stops\","," TYPE = \"type\","," GETUPDATEDSTOPS = function(anim, from, to, elapsed, duration, fn)"," {"," var i = 0,"," getUpdatedColorValue = Y.Anim.getUpdatedColorValue,"," toStop,"," fromStop,"," prop,"," len = to.length,"," stops = [],"," stop;"," for(; i < len; i = i + 1)"," {"," toStop = to[i];"," fromStop = from[i];"," stop = {};"," for(prop in toStop)"," {"," if(toStop.hasOwnProperty(prop))"," {"," if(prop === COLOR)"," {"," stop[prop] = Y.Color.toHex(getUpdatedColorValue("," Y.Color.toHex(fromStop[prop]),"," Y.Color.toHex(toStop[prop]),"," elapsed,"," duration,"," fn"," ));"," }"," else"," {"," stop[prop] = fn(elapsed, NUM(fromStop[prop]), NUM(toStop[prop]) - NUM(fromStop[prop]), duration);"," }"," }"," }"," stops.push(stop);"," }"," return stops;"," },"," FILLANDSTROKEBEHAVIOR = {"," set: function(anim, att, from, to, elapsed, duration, fn) {"," var i,"," updated = {},"," getUpdatedColorValue = Y.Anim.getUpdatedColorValue,"," getUpdatedStops = GETUPDATEDSTOPS;"," for(i in to)"," {"," if(to.hasOwnProperty(i) && i !== TYPE)"," {"," switch(i)"," {"," case COLOR :"," updated[i] = getUpdatedColorValue(from[i], to[i], elapsed, duration, fn);"," break;"," case STOPS :"," updated[i] = getUpdatedStops(anim, from[i], to[i], elapsed, duration, fn);"," break;"," default :"," updated[i] = fn(elapsed, NUM(from[i]), NUM(to[i]) - NUM(from[i]), duration);"," break;"," }"," }"," }"," anim._node.set(att, updated);"," }"," };"," Y.Anim.behaviors.fill = FILLANDSTROKEBEHAVIOR;"," Y.Anim.behaviors.stroke = FILLANDSTROKEBEHAVIOR;",""," Y.Anim.behaviors.transform = {"," set: function(anim, att, from, to, elapsed, duration, fn) {"," var node = anim._node,"," transform = \"\","," transformTo,"," transformFrom,"," toArgs,"," fromArgs,"," i = 0,"," j,"," argLen,"," len;"," to = TO;"," len = TO.length;"," for(; i < len; ++i)"," {"," toArgs = to[i].concat();"," fromArgs = from[i].concat();"," transformTo = toArgs.shift();"," transformFrom = fromArgs.shift();"," argLen = toArgs.length;"," transform += transformTo + \"(\";"," for(j = 0; j < argLen; ++j)"," {"," transform += fn(elapsed, NUM(fromArgs[j]), NUM(toArgs[j]) - NUM(fromArgs[j]), duration);"," if(j < argLen - 1)"," {"," transform += \", \";"," }"," }"," transform += \");\";"," }"," if(transform)"," {"," node.set('transform', transform);"," }"," node._transform = TOSTRING;"," },",""," get: function(anim) {"," var node = anim._node,"," fromMatrix = node.matrix,"," toString = anim.get(\"to\").transform,"," fromString = node.get(\"transform\"),"," toArray = Y.MatrixUtil.getTransformArray(toString),"," fromArray = fromString ? Y.MatrixUtil.getTransformArray(fromString) : null,"," toMatrix,"," i,"," len,"," transformFunction,"," from;"," if(toArray)"," {"," if(!fromArray || fromArray.length < 1)"," {"," fromArray = [];"," len = toArray.length;"," for(i = 0; i < len; ++i)"," {"," transformFunction = toArray[i][0];"," fromArray[i] = Y.MatrixUtil.getTransformFunctionArray(transformFunction);"," }"," TO = toArray;"," from = fromArray;"," }"," else if(Y.MatrixUtil.compareTransformSequence(toArray, fromArray))"," {"," TO = toArray;"," from = fromArray;"," }"," else"," {"," toMatrix = new Y.Matrix();"," len = toArray.length;"," for(i = 0; i < len; ++i)"," {"," transformFunction = toArray[i].shift();"," transformFunction = transformFunction === \"matrix\" ? \"multiply\" : transformFunction;"," toMatrix[transformFunction].apply(toMatrix, toArray[i]);"," }",""," TO = toMatrix.decompose();"," from = fromMatrix.decompose();"," }"," }"," TOSTRING = toString;"," return from;"," }"," };","","","","}, '3.9.0', {\"requires\": [\"anim-base\", \"anim-easing\", \"anim-color\", \"matrix\"]});"]; +_yuitest_coverage["build/anim-shape/anim-shape.js"].code=["YUI.add('anim-shape', function (Y, NAME) {","","/**"," * Adds support for the transform attribute of Graphic"," * Shape instances."," * @module anim"," * @submodule anim-shape-transform"," * @deprecated Use anim-shape instead."," */","/**"," * Adds support for the transform, fill, and attributes of Graphic"," * Shape instances. The anim-shape submodule can be used for all animations involving"," * Graphic Shape attributes."," *"," * @module anim"," * @submodule anim-shape"," */"," var NUM = Number,"," TO,"," TOSTRING,"," COLOR = \"color\","," STOPS = \"stops\","," TYPE = \"type\","," GETUPDATEDSTOPS = function(anim, from, to, elapsed, duration, fn)"," {"," var i = 0,"," getUpdatedColorValue = Y.Anim.getUpdatedColorValue,"," toStop,"," fromStop,"," prop,"," len = to.length,"," stops = [],"," stop;"," for(; i < len; i = i + 1)"," {"," toStop = to[i];"," fromStop = from[i];"," stop = {};"," for(prop in toStop)"," {"," if(toStop.hasOwnProperty(prop))"," {"," if(prop === COLOR)"," {"," stop[prop] = Y.Color.toHex(getUpdatedColorValue("," Y.Color.toHex(fromStop[prop]),"," Y.Color.toHex(toStop[prop]),"," elapsed,"," duration,"," fn"," ));"," }"," else"," {"," stop[prop] = fn(elapsed, NUM(fromStop[prop]), NUM(toStop[prop]) - NUM(fromStop[prop]), duration);"," }"," }"," }"," stops.push(stop);"," }"," return stops;"," },"," FILLANDSTROKEBEHAVIOR = {"," set: function(anim, att, from, to, elapsed, duration, fn) {"," var i,"," updated = {},"," getUpdatedColorValue = Y.Anim.getUpdatedColorValue,"," getUpdatedStops = GETUPDATEDSTOPS;"," for(i in to)"," {"," if(to.hasOwnProperty(i) && i !== TYPE)"," {"," switch(i)"," {"," case COLOR :"," updated[i] = getUpdatedColorValue(from[i], to[i], elapsed, duration, fn);"," break;"," case STOPS :"," updated[i] = getUpdatedStops(anim, from[i], to[i], elapsed, duration, fn);"," break;"," default :"," updated[i] = fn(elapsed, NUM(from[i]), NUM(to[i]) - NUM(from[i]), duration);"," break;"," }"," }"," }"," anim._node.set(att, updated);"," }"," };"," Y.Anim.behaviors.fill = FILLANDSTROKEBEHAVIOR;"," Y.Anim.behaviors.stroke = FILLANDSTROKEBEHAVIOR;",""," Y.Anim.behaviors.transform = {"," set: function(anim, att, from, to, elapsed, duration, fn) {"," var node = anim._node,"," transform = \"\","," transformTo,"," transformFrom,"," toArgs,"," fromArgs,"," i = 0,"," j,"," argLen,"," len;"," to = TO;"," len = TO.length;"," for(; i < len; ++i)"," {"," toArgs = to[i].concat();"," fromArgs = from[i].concat();"," transformTo = toArgs.shift();"," transformFrom = fromArgs.shift();"," argLen = toArgs.length;"," transform += transformTo + \"(\";"," for(j = 0; j < argLen; ++j)"," {"," transform += fn(elapsed, NUM(fromArgs[j]), NUM(toArgs[j]) - NUM(fromArgs[j]), duration);"," if(j < argLen - 1)"," {"," transform += \", \";"," }"," }"," transform += \");\";"," }"," if(transform)"," {"," node.set('transform', transform);"," }"," node._transform = TOSTRING;"," },",""," get: function(anim) {"," var node = anim._node,"," fromMatrix = node.matrix,"," toString = anim.get(\"to\").transform,"," fromString = node.get(\"transform\"),"," toArray = Y.MatrixUtil.getTransformArray(toString),"," fromArray = fromString ? Y.MatrixUtil.getTransformArray(fromString) : null,"," toMatrix,"," i,"," len,"," transformFunction,"," from;"," if(toArray)"," {"," if(!fromArray || fromArray.length < 1)"," {"," fromArray = [];"," len = toArray.length;"," for(i = 0; i < len; ++i)"," {"," transformFunction = toArray[i][0];"," fromArray[i] = Y.MatrixUtil.getTransformFunctionArray(transformFunction);"," }"," TO = toArray;"," from = fromArray;"," }"," else if(Y.MatrixUtil.compareTransformSequence(toArray, fromArray))"," {"," TO = toArray;"," from = fromArray;"," }"," else"," {"," toMatrix = new Y.Matrix();"," len = toArray.length;"," for(i = 0; i < len; ++i)"," {"," transformFunction = toArray[i].shift();"," transformFunction = transformFunction === \"matrix\" ? \"multiply\" : transformFunction;"," toMatrix[transformFunction].apply(toMatrix, toArray[i]);"," }",""," TO = toMatrix.decompose();"," from = fromMatrix.decompose();"," }"," }"," TOSTRING = toString;"," return from;"," }"," };","","","","}, '3.9.1', {\"requires\": [\"anim-base\", \"anim-easing\", \"anim-color\", \"matrix\"]});"]; _yuitest_coverage["build/anim-shape/anim-shape.js"].lines = {"1":0,"18":0,"26":0,"34":0,"36":0,"37":0,"38":0,"39":0,"41":0,"43":0,"45":0,"55":0,"59":0,"61":0,"65":0,"69":0,"71":0,"73":0,"76":0,"77":0,"79":0,"80":0,"82":0,"83":0,"87":0,"90":0,"91":0,"93":0,"95":0,"105":0,"106":0,"107":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"117":0,"118":0,"120":0,"123":0,"125":0,"127":0,"129":0,"133":0,"144":0,"146":0,"148":0,"149":0,"150":0,"152":0,"153":0,"155":0,"156":0,"158":0,"160":0,"161":0,"165":0,"166":0,"167":0,"169":0,"170":0,"171":0,"174":0,"175":0,"178":0,"179":0}; _yuitest_coverage["build/anim-shape/anim-shape.js"].functions = {"GETUPDATEDSTOPS:24":0,"set:64":0,"set:94":0,"get:132":0,"(anonymous 1):1":0}; _yuitest_coverage["build/anim-shape/anim-shape.js"].coveredLines = 69; @@ -290,4 +290,4 @@ return from; -}, '3.9.0', {"requires": ["anim-base", "anim-easing", "anim-color", "matrix"]}); +}, '3.9.1', {"requires": ["anim-base", "anim-easing", "anim-color", "matrix"]}); diff --git a/lib/yuilib/3.9.0/build/anim-shape/anim-shape-debug.js b/lib/yuilib/3.9.1/build/anim-shape/anim-shape-debug.js similarity index 97% rename from lib/yuilib/3.9.0/build/anim-shape/anim-shape-debug.js rename to lib/yuilib/3.9.1/build/anim-shape/anim-shape-debug.js index 5ab069afaaf..61342167830 100644 --- a/lib/yuilib/3.9.0/build/anim-shape/anim-shape-debug.js +++ b/lib/yuilib/3.9.1/build/anim-shape/anim-shape-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('anim-shape', function (Y, NAME) { /** @@ -183,4 +183,4 @@ YUI.add('anim-shape', function (Y, NAME) { -}, '3.9.0', {"requires": ["anim-base", "anim-easing", "anim-color", "matrix"]}); +}, '3.9.1', {"requires": ["anim-base", "anim-easing", "anim-color", "matrix"]}); diff --git a/lib/yuilib/3.9.0/build/anim-shape/anim-shape-min.js b/lib/yuilib/3.9.1/build/anim-shape/anim-shape-min.js similarity index 92% rename from lib/yuilib/3.9.0/build/anim-shape/anim-shape-min.js rename to lib/yuilib/3.9.1/build/anim-shape/anim-shape-min.js index 99af0a47487..b2575e612fe 100644 --- a/lib/yuilib/3.9.0/build/anim-shape/anim-shape-min.js +++ b/lib/yuilib/3.9.1/build/anim-shape/anim-shape-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("anim-shape",function(e,t){var n=Number,r,i,s="color",o="stops",u="type",a=function(t,r,i,o,u,a){var f=0,l=e.Anim.getUpdatedColorValue,c,h,p,d=i.length,v=[],m;for(;fxy property in from and"," * to attributes."," * @module anim"," * @submodule anim-xy"," */","","var NUM = Number;","","Y.Anim.behaviors.xy = {"," set: function(anim, att, from, to, elapsed, duration, fn) {"," anim._node.setXY(["," fn(elapsed, NUM(from[0]), NUM(to[0]) - NUM(from[0]), duration),"," fn(elapsed, NUM(from[1]), NUM(to[1]) - NUM(from[1]), duration)"," ]);"," },"," get: function(anim) {"," return anim._node.getXY();"," }","};","","","","}, '3.9.0', {\"requires\": [\"anim-base\", \"node-screen\"]});"]; +_yuitest_coverage["build/anim-xy/anim-xy.js"].code=["YUI.add('anim-xy', function (Y, NAME) {","","/**"," * Adds support for the xy property in from and"," * to attributes."," * @module anim"," * @submodule anim-xy"," */","","var NUM = Number;","","Y.Anim.behaviors.xy = {"," set: function(anim, att, from, to, elapsed, duration, fn) {"," anim._node.setXY(["," fn(elapsed, NUM(from[0]), NUM(to[0]) - NUM(from[0]), duration),"," fn(elapsed, NUM(from[1]), NUM(to[1]) - NUM(from[1]), duration)"," ]);"," },"," get: function(anim) {"," return anim._node.getXY();"," }","};","","","","}, '3.9.1', {\"requires\": [\"anim-base\", \"node-screen\"]});"]; _yuitest_coverage["build/anim-xy/anim-xy.js"].lines = {"1":0,"10":0,"12":0,"14":0,"20":0}; _yuitest_coverage["build/anim-xy/anim-xy.js"].functions = {"set:13":0,"get:19":0,"(anonymous 1):1":0}; _yuitest_coverage["build/anim-xy/anim-xy.js"].coveredLines = 5; @@ -65,4 +65,4 @@ return anim._node.getXY(); -}, '3.9.0', {"requires": ["anim-base", "node-screen"]}); +}, '3.9.1', {"requires": ["anim-base", "node-screen"]}); diff --git a/lib/yuilib/3.9.0/build/anim-xy/anim-xy-debug.js b/lib/yuilib/3.9.1/build/anim-xy/anim-xy-debug.js similarity index 83% rename from lib/yuilib/3.9.0/build/anim-xy/anim-xy-debug.js rename to lib/yuilib/3.9.1/build/anim-xy/anim-xy-debug.js index 4143e7fddca..283f1d227d5 100644 --- a/lib/yuilib/3.9.0/build/anim-xy/anim-xy-debug.js +++ b/lib/yuilib/3.9.1/build/anim-xy/anim-xy-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('anim-xy', function (Y, NAME) { /** @@ -24,4 +24,4 @@ Y.Anim.behaviors.xy = { -}, '3.9.0', {"requires": ["anim-base", "node-screen"]}); +}, '3.9.1', {"requires": ["anim-base", "node-screen"]}); diff --git a/lib/yuilib/3.9.0/build/anim-xy/anim-xy-min.js b/lib/yuilib/3.9.1/build/anim-xy/anim-xy-min.js similarity index 63% rename from lib/yuilib/3.9.0/build/anim-xy/anim-xy-min.js rename to lib/yuilib/3.9.1/build/anim-xy/anim-xy-min.js index 8b265151f3a..7b1e6d93390 100644 --- a/lib/yuilib/3.9.0/build/anim-xy/anim-xy-min.js +++ b/lib/yuilib/3.9.1/build/anim-xy/anim-xy-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("anim-xy",function(e,t){var n=Number;e.Anim.behaviors.xy={set:function(e,t,r,i,s,o,u){e._node.setXY([u(s,n(r[0]),n(i[0])-n(r[0]),o),u(s,n(r[1]),n(i[1])-n(r[1]),o)])},get:function(e){return e._node.getXY()}}},"3.9.0",{requires:["anim-base","node-screen"]}); +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +YUI.add("anim-xy",function(e,t){var n=Number;e.Anim.behaviors.xy={set:function(e,t,r,i,s,o,u){e._node.setXY([u(s,n(r[0]),n(i[0])-n(r[0]),o),u(s,n(r[1]),n(i[1])-n(r[1]),o)])},get:function(e){return e._node.getXY()}}},"3.9.1",{requires:["anim-base","node-screen"]}); diff --git a/lib/yuilib/3.9.0/build/anim-xy/anim-xy.js b/lib/yuilib/3.9.1/build/anim-xy/anim-xy.js similarity index 83% rename from lib/yuilib/3.9.0/build/anim-xy/anim-xy.js rename to lib/yuilib/3.9.1/build/anim-xy/anim-xy.js index 4143e7fddca..283f1d227d5 100644 --- a/lib/yuilib/3.9.0/build/anim-xy/anim-xy.js +++ b/lib/yuilib/3.9.1/build/anim-xy/anim-xy.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('anim-xy', function (Y, NAME) { /** @@ -24,4 +24,4 @@ Y.Anim.behaviors.xy = { -}, '3.9.0', {"requires": ["anim-base", "node-screen"]}); +}, '3.9.1', {"requires": ["anim-base", "node-screen"]}); diff --git a/lib/yuilib/3.9.0/build/app-base/app-base-coverage.js b/lib/yuilib/3.9.1/build/app-base/app-base-coverage.js similarity index 99% rename from lib/yuilib/3.9.0/build/app-base/app-base-coverage.js rename to lib/yuilib/3.9.1/build/app-base/app-base-coverage.js index 38b4058f612..d6caa2d30ff 100644 --- a/lib/yuilib/3.9.0/build/app-base/app-base-coverage.js +++ b/lib/yuilib/3.9.1/build/app-base/app-base-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/app-base/app-base.js"] = { path: "build/app-base/app-base.js", code: [] }; -_yuitest_coverage["build/app-base/app-base.js"].code=["YUI.add('app-base', function (Y, NAME) {","","/**","The App Framework provides simple MVC-like building blocks (models, model lists,","views, and URL-based routing) for writing single-page JavaScript applications.","","@main app","@module app","@since 3.4.0","**/","","/**","Provides a top-level application component which manages navigation and views.","","@module app","@submodule app-base","@since 3.5.0","**/","","// TODO: Better handling of lifecycle for registered views:","//","// * [!] Just redo basically everything with view management so there are no","// pre-`activeViewChange` side effects and handle the rest of these things:","//","// * Seems like any view created via `createView` should listen for the view's","// `destroy` event and use that to remove it from the `_viewsInfoMap`. I","// should look at what ModelList does for Models as a reference.","//","// * Should we have a companion `destroyView()` method? Maybe this wouldn't be","// needed if we have a `getView(name, create)` method, and already doing the","// above? We could do `app.getView('foo').destroy()` and it would be removed","// from the `_viewsInfoMap` as well.","//","// * Should we wait to call a view's `render()` method inside of the","// `_attachView()` method?","//","// * Should named views support a collection of instances instead of just one?","//","","var Lang = Y.Lang,"," YObject = Y.Object,",""," PjaxBase = Y.PjaxBase,"," Router = Y.Router,"," View = Y.View,",""," getClassName = Y.ClassNameManager.getClassName,",""," win = Y.config.win,",""," AppBase;","","/**","Provides a top-level application component which manages navigation and views.","","This gives you a foundation and structure on which to build your application; it","combines robust URL navigation with powerful routing and flexible view","management.","","@class App.Base","@param {Object} [config] The following are configuration properties that can be"," specified _in addition_ to default attribute values and the non-attribute"," properties provided by `Y.Base`:"," @param {Object} [config.views] Hash of view-name to metadata used to"," declaratively describe an application's views and their relationship with"," the app and other views. The views specified here will override any defaults"," provided by the `views` object on the `prototype`.","@constructor","@extends Base","@uses View","@uses Router","@uses PjaxBase","@since 3.5.0","**/","AppBase = Y.Base.create('app', Y.Base, [View, Router, PjaxBase], {"," // -- Public Properties ----------------------------------------------------",""," /**"," Hash of view-name to metadata used to declaratively describe an"," application's views and their relationship with the app and its other views.",""," The view metadata is composed of Objects keyed to a view-name that can have"," any or all of the following properties:",""," * `type`: Function or a string representing the view constructor to use to"," create view instances. If a string is used, the constructor function is"," assumed to be on the `Y` object; e.g. `\"SomeView\"` -> `Y.SomeView`.",""," * `preserve`: Boolean for whether the view instance should be retained. By"," default, the view instance will be destroyed when it is no longer the"," `activeView`. If `true` the view instance will simply be `removed()`"," from the DOM when it is no longer active. This is useful when the view"," is frequently used and may be expensive to re-create.",""," * `parent`: String to another named view in this hash that represents the"," parent view within the application's view hierarchy; e.g. a `\"photo\"`"," view could have `\"album\"` has its `parent` view. This parent/child"," relationship is a useful cue for things like transitions.",""," * `instance`: Used internally to manage the current instance of this named"," view. This can be used if your view instance is created up-front, or if"," you would rather manage the View lifecycle, but you probably should just"," let this be handled for you.",""," If `views` are specified at instantiation time, the metadata in the `views`"," Object here will be used as defaults when creating the instance's `views`.",""," Every `Y.App` instance gets its own copy of a `views` object so this Object"," on the prototype will not be polluted.",""," @example"," // Imagine that `Y.UsersView` and `Y.UserView` have been defined."," var app = new Y.App({"," views: {"," users: {"," type : Y.UsersView,"," preserve: true"," },",""," user: {"," type : Y.UserView,"," parent: 'users'"," }"," }"," });",""," @property views"," @type Object"," @default {}"," @since 3.5.0"," **/"," views: {},",""," // -- Protected Properties -------------------------------------------------",""," /**"," Map of view instance id (via `Y.stamp()`) to view-info object in `views`.",""," This mapping is used to tie a specific view instance back to its metadata by"," adding a reference to the the related view info on the `views` object.",""," @property _viewInfoMap"," @type Object"," @default {}"," @protected"," @since 3.5.0"," **/",""," // -- Lifecycle Methods ----------------------------------------------------"," initializer: function (config) {"," config || (config = {});",""," var views = {};",""," // Merges-in specified view metadata into local `views` object."," function mergeViewConfig(view, name) {"," views[name] = Y.merge(views[name], view);"," }",""," // First, each view in the `views` prototype object gets its metadata"," // merged-in, providing the defaults."," YObject.each(this.views, mergeViewConfig);",""," // Then, each view in the specified `config.views` object gets its"," // metadata merged-in."," YObject.each(config.views, mergeViewConfig);",""," // The resulting hodgepodge of metadata is then stored as the instance's"," // `views` object, and no one's objects were harmed in the making."," this.views = views;"," this._viewInfoMap = {};",""," // Using `bind()` to aid extensibility."," this.after('activeViewChange', Y.bind('_afterActiveViewChange', this));",""," // PjaxBase will bind click events when `html5` is `true`, so this just"," // forces the binding when `serverRouting` and `html5` are both falsy."," if (!this.get('serverRouting')) {"," this._pjaxBindUI();"," }"," },",""," // TODO: `destructor` to destroy the `activeView`?",""," // -- Public Methods -------------------------------------------------------",""," /**"," Creates and returns a new view instance using the provided `name` to look up"," the view info metadata defined in the `views` object. The passed-in `config`"," object is passed to the view constructor function.",""," This function also maps a view instance back to its view info metadata.",""," @method createView"," @param {String} name The name of a view defined on the `views` object."," @param {Object} [config] The configuration object passed to the view"," constructor function when creating the new view instance."," @return {View} The new view instance."," @since 3.5.0"," **/"," createView: function (name, config) {"," var viewInfo = this.getViewInfo(name),"," type = (viewInfo && viewInfo.type) || View,"," ViewConstructor, view;",""," // Looks for a namespaced constructor function on `Y`."," ViewConstructor = Lang.isString(type) ?"," YObject.getValue(Y, type.split('.')) : type;",""," // Create the view instance and map it with its metadata."," view = new ViewConstructor(config);"," this._viewInfoMap[Y.stamp(view, true)] = viewInfo;",""," return view;"," },",""," /**"," Returns the metadata associated with a view instance or view name defined on"," the `views` object.",""," @method getViewInfo"," @param {View|String} view View instance, or name of a view defined on the"," `views` object."," @return {Object} The metadata for the view, or `undefined` if the view is"," not registered."," @since 3.5.0"," **/"," getViewInfo: function (view) {"," if (Lang.isString(view)) {"," return this.views[view];"," }",""," return view && this._viewInfoMap[Y.stamp(view, true)];"," },",""," /**"," Navigates to the specified URL if there is a route handler that matches. In"," browsers capable of using HTML5 history or when `serverRouting` is falsy,"," the navigation will be enhanced by firing the `navigate` event and having"," the app handle the \"request\". When `serverRouting` is `true`, non-HTML5"," browsers will navigate to the new URL via a full page reload.",""," When there is a route handler for the specified URL and it is being"," navigated to, this method will return `true`, otherwise it will return"," `false`.",""," **Note:** The specified URL _must_ be of the same origin as the current URL,"," otherwise an error will be logged and navigation will not occur. This is"," intended as both a security constraint and a purposely imposed limitation as"," it does not make sense to tell the app to navigate to a URL on a"," different scheme, host, or port.",""," @method navigate"," @param {String} url The URL to navigate to. This must be of the same origin"," as the current URL."," @param {Object} [options] Additional options to configure the navigation."," These are mixed into the `navigate` event facade."," @param {Boolean} [options.replace] Whether or not the current history"," entry will be replaced, or a new entry will be created. Will default"," to `true` if the specified `url` is the same as the current URL."," @param {Boolean} [options.force] Whether the enhanced navigation"," should occur even in browsers without HTML5 history. Will default to"," `true` when `serverRouting` is falsy."," @see PjaxBase.navigate()"," **/"," // Does not override `navigate()` but does use extra `options`.",""," /**"," Renders this application by appending the `viewContainer` node to the"," `container` node if it isn't already a child of the container, and the"," `activeView` will be appended the view container, if it isn't already.",""," You should call this method at least once, usually after the initialization"," of your app instance so the proper DOM structure is setup and optionally"," append the container to the DOM if it's not there already.",""," You may override this method to customize the app's rendering, but you"," should expect that the `viewContainer`'s contents will be modified by the"," app for the purpose of rendering the `activeView` when it changes.",""," @method render"," @chainable"," @see View.render()"," **/"," render: function () {"," var CLASS_NAMES = Y.App.CLASS_NAMES,"," container = this.get('container'),"," viewContainer = this.get('viewContainer'),"," activeView = this.get('activeView'),"," activeViewContainer = activeView && activeView.get('container'),"," areSame = container.compareTo(viewContainer);",""," container.addClass(CLASS_NAMES.app);"," viewContainer.addClass(CLASS_NAMES.views);",""," // Prevents needless shuffling around of nodes and maintains DOM order."," if (activeView && !viewContainer.contains(activeViewContainer)) {"," viewContainer.appendChild(activeViewContainer);"," }",""," // Prevents needless shuffling around of nodes and maintains DOM order."," if (!container.contains(viewContainer) && !areSame) {"," container.appendChild(viewContainer);"," }",""," return this;"," },",""," /**"," Sets which view is active/visible for the application. This will set the"," app's `activeView` attribute to the specified `view`.",""," The `view` will be \"attached\" to this app, meaning it will be both rendered"," into this app's `viewContainer` node and all of its events will bubble to"," the app. The previous `activeView` will be \"detached\" from this app.",""," When a string-name is provided for a view which has been registered on this"," app's `views` object, the referenced metadata will be used and the"," `activeView` will be set to either a preserved view instance, or a new"," instance of the registered view will be created using the specified `config`"," object passed-into this method.",""," A callback function can be specified as either the third or fourth argument,"," and this function will be called after the new `view` becomes the"," `activeView`, is rendered to the `viewContainer`, and is ready to use.",""," @example"," var app = new Y.App({"," views: {"," usersView: {"," // Imagine that `Y.UsersView` has been defined."," type: Y.UsersView"," }"," },",""," users: new Y.ModelList()"," });",""," app.route('/users/', function () {"," this.showView('usersView', {users: this.get('users')});"," });",""," app.render();"," app.navigate('/uses/'); // => Creates a new `Y.UsersView` and shows it.",""," @method showView"," @param {String|View} view The name of a view defined in the `views` object,"," or a view instance which should become this app's `activeView`."," @param {Object} [config] Optional configuration to use when creating a new"," view instance. This config object can also be used to update an existing"," or preserved view's attributes when `options.update` is `true`."," @param {Object} [options] Optional object containing any of the following"," properties:"," @param {Function} [options.callback] Optional callback function to call"," after new `activeView` is ready to use, the function will be passed:"," @param {View} options.callback.view A reference to the new"," `activeView`."," @param {Boolean} [options.prepend=false] Whether the `view` should be"," prepended instead of appended to the `viewContainer`."," @param {Boolean} [options.render] Whether the `view` should be rendered."," **Note:** If no value is specified, a view instance will only be"," rendered if it's newly created by this method."," @param {Boolean} [options.update=false] Whether an existing view should"," have its attributes updated by passing the `config` object to its"," `setAttrs()` method. **Note:** This option does not have an effect if"," the `view` instance is created as a result of calling this method."," @param {Function} [callback] Optional callback Function to call after the"," new `activeView` is ready to use. **Note:** this will override"," `options.callback` and it can be specified as either the third or fourth"," argument. The function will be passed the following:"," @param {View} callback.view A reference to the new `activeView`."," @chainable"," @since 3.5.0"," **/"," showView: function (view, config, options, callback) {"," var viewInfo, created;",""," options || (options = {});",""," // Support the callback function being either the third or fourth arg."," if (callback) {"," options = Y.merge(options, {callback: callback});"," } else if (Lang.isFunction(options)) {"," options = {callback: options};"," }",""," if (Lang.isString(view)) {"," viewInfo = this.getViewInfo(view);",""," // Use the preserved view instance, or create a new view."," // TODO: Maybe we can remove the strict check for `preserve` and"," // assume we'll use a View instance if it is there, and just check"," // `preserve` when detaching?"," if (viewInfo && viewInfo.preserve && viewInfo.instance) {"," view = viewInfo.instance;",""," // Make sure there's a mapping back to the view metadata."," this._viewInfoMap[Y.stamp(view, true)] = viewInfo;"," } else {"," // TODO: Add the app as a bubble target during construction, but"," // make sure to check that it isn't already in `bubbleTargets`!"," // This will allow the app to be notified for about _all_ of the"," // view's events. **Note:** This should _only_ happen if the"," // view is created _after_ `activeViewChange`.",""," view = this.createView(view, config);"," created = true;"," }"," }",""," // Update the specified or preserved `view` when signaled to do so."," // There's no need to updated a view if it was _just_ created."," if (options.update && !created) {"," view.setAttrs(config);"," }",""," // TODO: Hold off on rendering the view until after it has been"," // \"attached\", and move the call to render into `_attachView()`.",""," // When a value is specified for `options.render`, prefer it because it"," // represents the developer's intent. When no value is specified, the"," // `view` will only be rendered if it was just created."," if ('render' in options) {"," if (options.render) {"," view.render();"," }"," } else if (created) {"," view.render();"," }",""," return this._set('activeView', view, {options: options});"," },",""," // -- Protected Methods ----------------------------------------------------",""," /**"," Helper method to attach the view instance to the application by making the"," app a bubble target of the view, append the view to the `viewContainer`, and"," assign it to the `instance` property of the associated view info metadata.",""," @method _attachView"," @param {View} view View to attach."," @param {Boolean} prepend=false Whether the view should be prepended instead"," of appended to the `viewContainer`."," @protected"," @since 3.5.0"," **/"," _attachView: function (view, prepend) {"," if (!view) {"," return;"," }",""," var viewInfo = this.getViewInfo(view),"," viewContainer = this.get('viewContainer');",""," // Bubble the view's events to this app."," view.addTarget(this);",""," // Save the view instance in the `views` registry."," if (viewInfo) {"," viewInfo.instance = view;"," }",""," // TODO: Attach events here for persevered Views?"," // See related TODO in `_detachView`.",""," // TODO: Actually render the view here so that it gets \"attached\" before"," // it gets rendered?",""," // Insert view into the DOM."," viewContainer[prepend ? 'prepend' : 'append'](view.get('container'));"," },",""," /**"," Overrides View's container destruction to deal with the `viewContainer` and"," checks to make sure not to remove and purge the ``.",""," @method _destroyContainer"," @protected"," @see View._destroyContainer()"," **/"," _destroyContainer: function () {"," var CLASS_NAMES = Y.App.CLASS_NAMES,"," container = this.get('container'),"," viewContainer = this.get('viewContainer'),"," areSame = container.compareTo(viewContainer);",""," // We do not want to remove or destroy the ``."," if (Y.one('body').compareTo(container)) {"," // Just clean-up our events listeners."," this.detachEvents();",""," // Clean-up `yui3-app` CSS class on the `container`."," container.removeClass(CLASS_NAMES.app);",""," if (areSame) {"," // Clean-up `yui3-app-views` CSS class on the `container`."," container.removeClass(CLASS_NAMES.views);"," } else {"," // Destroy and purge the `viewContainer`."," viewContainer.remove(true);"," }",""," return;"," }",""," // Remove and purge events from both containers.",""," viewContainer.remove(true);",""," if (!areSame) {"," container.remove(true);"," }"," },",""," /**"," Helper method to detach the view instance from the application by removing"," the application as a bubble target of the view, and either just removing the"," view if it is intended to be preserved, or destroying the instance"," completely.",""," @method _detachView"," @param {View} view View to detach."," @protected"," @since 3.5.0"," **/"," _detachView: function (view) {"," if (!view) {"," return;"," }",""," var viewInfo = this.getViewInfo(view) || {};",""," if (viewInfo.preserve) {"," view.remove();"," // TODO: Detach events here for preserved Views? It is possible that"," // some event subscriptions are made on elements other than the"," // View's `container`."," } else {"," view.destroy({remove: true});",""," // TODO: The following should probably happen automagically from"," // `destroy()` being called! Possibly `removeTarget()` as well.",""," // Remove from view to view-info map."," delete this._viewInfoMap[Y.stamp(view, true)];",""," // Remove from view-info instance property."," if (view === viewInfo.instance) {"," delete viewInfo.instance;"," }"," }",""," view.removeTarget(this);"," },",""," /**"," Getter for the `viewContainer` attribute.",""," @method _getViewContainer"," @param {Node|null} value Current attribute value."," @return {Node} View container node."," @protected"," @since 3.5.0"," **/"," _getViewContainer: function (value) {"," // This wackiness is necessary to enable fully lazy creation of the"," // container node both when no container is specified and when one is"," // specified via a valueFn.",""," if (!value && !this._viewContainer) {"," // Create a default container and set that as the new attribute"," // value. The `this._viewContainer` property prevents infinite"," // recursion."," value = this._viewContainer = this.create();"," this._set('viewContainer', value);"," }",""," return value;"," },",""," /**"," Provides the default value for the `html5` attribute.",""," The value returned is dependent on the value of the `serverRouting`"," attribute. When `serverRouting` is explicit set to `false` (not just falsy),"," the default value for `html5` will be set to `false` for *all* browsers.",""," When `serverRouting` is `true` or `undefined` the returned value will be"," dependent on the browser's capability of using HTML5 history.",""," @method _initHtml5"," @return {Boolean} Whether or not HTML5 history should be used."," @protected"," @since 3.5.0"," **/"," _initHtml5: function () {"," // When `serverRouting` is explicitly set to `false` (not just falsy),"," // forcing hash-based URLs in all browsers."," if (this.get('serverRouting') === false) {"," return false;"," }",""," // Defaults to whether or not the browser supports HTML5 history."," return Router.html5;"," },",""," /**"," Determines if the specified `view` is configured as a child of the specified"," `parent` view. This requires both views to be either named-views, or view"," instances created using configuration data that exists in the `views`"," object, e.g. created by the `createView()` or `showView()` method.",""," @method _isChildView"," @param {View|String} view The name of a view defined in the `views` object,"," or a view instance."," @param {View|String} parent The name of a view defined in the `views`"," object, or a view instance."," @return {Boolean} Whether the view is configured as a child of the parent."," @protected"," @since 3.5.0"," **/"," _isChildView: function (view, parent) {"," var viewInfo = this.getViewInfo(view),"," parentInfo = this.getViewInfo(parent);",""," if (viewInfo && parentInfo) {"," return this.getViewInfo(viewInfo.parent) === parentInfo;"," }",""," return false;"," },",""," /**"," Determines if the specified `view` is configured as the parent of the"," specified `child` view. This requires both views to be either named-views,"," or view instances created using configuration data that exists in the"," `views` object, e.g. created by the `createView()` or `showView()` method.",""," @method _isParentView"," @param {View|String} view The name of a view defined in the `views` object,"," or a view instance."," @param {View|String} parent The name of a view defined in the `views`"," object, or a view instance."," @return {Boolean} Whether the view is configured as the parent of the child."," @protected"," @since 3.5.0"," **/"," _isParentView: function (view, child) {"," var viewInfo = this.getViewInfo(view),"," childInfo = this.getViewInfo(child);",""," if (viewInfo && childInfo) {"," return this.getViewInfo(childInfo.parent) === viewInfo;"," }",""," return false;"," },",""," /**"," Underlying implementation for `navigate()`.",""," @method _navigate"," @param {String} url The fully-resolved URL that the app should dispatch to"," its route handlers to fulfill the enhanced navigation \"request\", or use to"," update `window.location` in non-HTML5 history capable browsers when"," `serverRouting` is `true`."," @param {Object} [options] Additional options to configure the navigation."," These are mixed into the `navigate` event facade."," @param {Boolean} [options.replace] Whether or not the current history"," entry will be replaced, or a new entry will be created. Will default"," to `true` if the specified `url` is the same as the current URL."," @param {Boolean} [options.force] Whether the enhanced navigation"," should occur even in browsers without HTML5 history. Will default to"," `true` when `serverRouting` is falsy."," @protected"," @see PjaxBase._navigate()"," **/"," _navigate: function (url, options) {"," if (!this.get('serverRouting')) {"," // Force navigation to be enhanced and handled by the app when"," // `serverRouting` is falsy because the server might not be able to"," // properly handle the request."," options = Y.merge({force: true}, options);"," }",""," return PjaxBase.prototype._navigate.call(this, url, options);"," },",""," /**"," Will either save a history entry using `pushState()` or the location hash,"," or gracefully-degrade to sending a request to the server causing a full-page"," reload.",""," Overrides Router's `_save()` method to preform graceful-degradation when the"," app's `serverRouting` is `true` and `html5` is `false` by updating the full"," URL via standard assignment to `window.location` or by calling"," `window.location.replace()`; both of which will cause a request to the"," server resulting in a full-page reload.",""," Otherwise this will just delegate off to Router's `_save()` method allowing"," the client-side enhanced routing to occur.",""," @method _save"," @param {String} [url] URL for the history entry."," @param {Boolean} [replace=false] If `true`, the current history entry will"," be replaced instead of a new one being added."," @chainable"," @protected"," @see Router._save()"," **/"," _save: function (url, replace) {"," var path;",""," // Forces full-path URLs to always be used by modifying"," // `window.location` in non-HTML5 history capable browsers."," if (this.get('serverRouting') && !this.get('html5')) {"," // Perform same-origin check on the specified URL."," if (!this._hasSameOrigin(url)) {"," Y.error('Security error: The new URL must be of the same origin as the current URL.');"," return this;"," }",""," // Either replace the current history entry or create a new one"," // while navigating to the `url`."," if (win) {"," // Results in the URL's full path starting with '/'."," path = this._joinURL(url || '');",""," if (replace) {"," win.location.replace(path);"," } else {"," win.location = path;"," }"," }",""," return this;"," }",""," return Router.prototype._save.apply(this, arguments);"," },",""," /**"," Performs the actual change of this app's `activeView` by attaching the"," `newView` to this app, and detaching the `oldView` from this app using any"," specified `options`.",""," The `newView` is attached to the app by rendering it to the `viewContainer`,"," and making this app a bubble target of its events.",""," The `oldView` is detached from the app by removing it from the"," `viewContainer`, and removing this app as a bubble target for its events."," The `oldView` will either be preserved or properly destroyed.",""," **Note:** The `activeView` attribute is read-only and can be changed by"," calling the `showView()` method.",""," @method _uiSetActiveView"," @param {View} newView The View which is now this app's `activeView`."," @param {View} [oldView] The View which was this app's `activeView`."," @param {Object} [options] Optional object containing any of the following"," properties:"," @param {Function} [options.callback] Optional callback function to call"," after new `activeView` is ready to use, the function will be passed:"," @param {View} options.callback.view A reference to the new"," `activeView`."," @param {Boolean} [options.prepend=false] Whether the `view` should be"," prepended instead of appended to the `viewContainer`."," @param {Boolean} [options.render] Whether the `view` should be rendered."," **Note:** If no value is specified, a view instance will only be"," rendered if it's newly created by this method."," @param {Boolean} [options.update=false] Whether an existing view should"," have its attributes updated by passing the `config` object to its"," `setAttrs()` method. **Note:** This option does not have an effect if"," the `view` instance is created as a result of calling this method."," @protected"," @since 3.5.0"," **/"," _uiSetActiveView: function (newView, oldView, options) {"," options || (options = {});",""," var callback = options.callback,"," isChild = this._isChildView(newView, oldView),"," isParent = !isChild && this._isParentView(newView, oldView),"," prepend = !!options.prepend || isParent;",""," // Prevent detaching (thus removing) the view we want to show. Also hard"," // to animate out and in, the same view."," if (newView === oldView) {"," return callback && callback.call(this, newView);"," }",""," this._attachView(newView, prepend);"," this._detachView(oldView);",""," if (callback) {"," callback.call(this, newView);"," }"," },",""," // -- Protected Event Handlers ---------------------------------------------",""," /**"," Handles the application's `activeViewChange` event (which is fired when the"," `activeView` attribute changes) by detaching the old view, attaching the new"," view.",""," The `activeView` attribute is read-only, so the public API to change its"," value is through the `showView()` method.",""," @method _afterActiveViewChange"," @param {EventFacade} e"," @protected"," @since 3.5.0"," **/"," _afterActiveViewChange: function (e) {"," this._uiSetActiveView(e.newVal, e.prevVal, e.options);"," }","}, {"," ATTRS: {"," /**"," The application's active/visible view.",""," This attribute is read-only, to set the `activeView` use the"," `showView()` method.",""," @attribute activeView"," @type View"," @default null"," @readOnly"," @see App.Base.showView()"," @since 3.5.0"," **/"," activeView: {"," value : null,"," readOnly: true"," },",""," /**"," Container node which represents the application's bounding-box, into"," which this app's content will be rendered.",""," The container node serves as the host for all DOM events attached by the"," app. Delegation is used to handle events on children of the container,"," allowing the container's contents to be re-rendered at any time without"," losing event subscriptions.",""," The default container is the `` Node, but you can override this in"," a subclass, or by passing in a custom `container` config value at"," instantiation time.",""," When `container` is overridden by a subclass or passed as a config"," option at instantiation time, it may be provided as a selector string, a"," DOM element, or a `Y.Node` instance. During initialization, this app's"," `create()` method will be called to convert the container into a"," `Y.Node` instance if it isn't one already and stamp it with the CSS"," class: `\"yui3-app\"`.",""," The container is not added to the page automatically. This allows you to"," have full control over how and when your app is actually rendered to"," the page.",""," @attribute container"," @type HTMLElement|Node|String"," @default Y.one('body')"," @initOnly"," **/"," container: {"," valueFn: function () {"," return Y.one('body');"," }"," },",""," /**"," Whether or not this browser is capable of using HTML5 history.",""," This value is dependent on the value of `serverRouting` and will default"," accordingly.",""," Setting this to `false` will force the use of hash-based history even on"," HTML5 browsers, but please don't do this unless you understand the"," consequences.",""," @attribute html5"," @type Boolean"," @initOnly"," @see serverRouting"," **/"," html5: {"," valueFn: '_initHtml5'"," },",""," /**"," CSS selector string used to filter link click events so that only the"," links which match it will have the enhanced-navigation behavior of pjax"," applied.",""," When a link is clicked and that link matches this selector, navigating"," to the link's `href` URL using the enhanced, pjax, behavior will be"," attempted; and the browser's default way to navigate to new pages will"," be the fallback.",""," By default this selector will match _all_ links on the page.",""," @attribute linkSelector"," @type String|Function"," @default \"a\""," **/"," linkSelector: {"," value: 'a'"," },",""," /**"," Whether or not this application's server is capable of properly routing"," all requests and rendering the initial state in the HTML responses.",""," This can have three different values, each having particular"," implications on how the app will handle routing and navigation:",""," * `undefined`: The best form of URLs will be chosen based on the"," capabilities of the browser. Given no information about the server"," environmentm a balanced approach to routing and navigation is"," chosen.",""," The server should be capable of handling full-path requests, since"," full-URLs will be generated by browsers using HTML5 history. If this"," is a client-side-only app the server could handle full-URL requests"," by sending a redirect back to the root with a hash-based URL, e.g:",""," Request: http://example.com/users/1"," Redirect to: http://example.com/#/users/1",""," * `true`: The server is *fully* capable of properly handling requests"," to all full-path URLs the app can produce.",""," This is the best option for progressive-enhancement because it will"," cause **all URLs to always have full-paths**, which means the server"," will be able to accurately handle all URLs this app produces. e.g.",""," http://example.com/users/1",""," To meet this strict full-URL requirement, browsers which are not"," capable of using HTML5 history will make requests to the server"," resulting in full-page reloads.",""," * `false`: The server is *not* capable of properly handling requests"," to all full-path URLs the app can produce, therefore all routing"," will be handled by this App instance.",""," Be aware that this will cause **all URLs to always be hash-based**,"," even in browsers that are capable of using HTML5 history. e.g.",""," http://example.com/#/users/1",""," A single-page or client-side-only app where the server sends a"," \"shell\" page with JavaScript to the client might have this"," restriction. If you're setting this to `false`, read the following:",""," **Note:** When this is set to `false`, the server will *never* receive"," the full URL because browsers do not send the fragment-part to the"," server, that is everything after and including the \"#\".",""," Consider the following example:",""," URL shown in browser: http://example.com/#/users/1"," URL sent to server: http://example.com/",""," You should feel bad about hurting our precious web if you forcefully set"," either `serverRouting` or `html5` to `false`, because you're basically"," punching the web in the face here with your lossy URLs! Please make sure"," you know what you're doing and that you understand the implications.",""," Ideally you should always prefer full-path URLs (not /#/foo/), and want"," full-page reloads when the client's browser is not capable of enhancing"," the experience using the HTML5 history APIs. Setting this to `true` is"," the best option for progressive-enhancement (and graceful-degradation).",""," @attribute serverRouting"," @type Boolean"," @default undefined"," @initOnly"," @since 3.5.0"," **/"," serverRouting: {"," valueFn : function () { return Y.App.serverRouting; },"," writeOnce: 'initOnly'"," },",""," /**"," The node into which this app's `views` will be rendered when they become"," the `activeView`.",""," The view container node serves as the container to hold the app's"," `activeView`. Each time the `activeView` is set via `showView()`, the"," previous view will be removed from this node, and the new active view's"," `container` node will be appended.",""," The default view container is a `
` Node, but you can override this"," in a subclass, or by passing in a custom `viewContainer` config value at"," instantiation time. The `viewContainer` may be provided as a selector"," string, DOM element, or a `Y.Node` instance (having the `viewContainer`"," and the `container` be the same node is also supported).",""," The app's `render()` method will stamp the view container with the CSS"," class `\"yui3-app-views\"` and append it to the app's `container` node if"," it isn't already, and any `activeView` will be appended to this node if"," it isn't already.",""," @attribute viewContainer"," @type HTMLElement|Node|String"," @default Y.Node.create(this.containerTemplate)"," @initOnly"," @since 3.5.0"," **/"," viewContainer: {"," getter : '_getViewContainer',"," setter : Y.one,"," writeOnce: true"," }"," },",""," /**"," Properties that shouldn't be turned into ad-hoc attributes when passed to"," App's constructor.",""," @property _NON_ATTRS_CFG"," @type Array"," @static"," @protected"," @since 3.5.0"," **/"," _NON_ATTRS_CFG: ['views']","});","","// -- Namespace ----------------------------------------------------------------","Y.namespace('App').Base = AppBase;","","/**","Provides a top-level application component which manages navigation and views.","","This gives you a foundation and structure on which to build your application; it","combines robust URL navigation with powerful routing and flexible view","management.","","`Y.App` is both a namespace and constructor function. The `Y.App` class is","special in that any `Y.App` class extensions that are included in the YUI","instance will be **auto-mixed** on to the `Y.App` class. Consider this example:",""," YUI().use('app-base', 'app-transitions', function (Y) {"," // This will create two YUI Apps, `basicApp` will not have transitions,"," // but `fancyApp` will have transitions support included and turn it on."," var basicApp = new Y.App.Base(),"," fancyApp = new Y.App({transitions: true});"," });","","@class App","@param {Object} [config] The following are configuration properties that can be"," specified _in addition_ to default attribute values and the non-attribute"," properties provided by `Y.Base`:"," @param {Object} [config.views] Hash of view-name to metadata used to"," declaratively describe an application's views and their relationship with"," the app and other views. The views specified here will override any defaults"," provided by the `views` object on the `prototype`.","@constructor","@extends App.Base","@uses App.Content","@uses App.Transitions","@uses PjaxContent","@since 3.5.0","**/","Y.App = Y.mix(Y.Base.create('app', AppBase, []), Y.App, true);","","/**","CSS classes used by `Y.App`.","","@property CLASS_NAMES","@type Object","@default {}","@static","@since 3.6.0","**/","Y.App.CLASS_NAMES = {"," app : getClassName('app'),"," views: getClassName('app', 'views')","};","","/**","Default `serverRouting` attribute value for all apps.","","@property serverRouting","@type Boolean","@default undefined","@static","@since 3.6.0","**/","","","}, '3.9.0', {\"requires\": [\"classnamemanager\", \"pjax-base\", \"router\", \"view\"]});"]; +_yuitest_coverage["build/app-base/app-base.js"].code=["YUI.add('app-base', function (Y, NAME) {","","/**","The App Framework provides simple MVC-like building blocks (models, model lists,","views, and URL-based routing) for writing single-page JavaScript applications.","","@main app","@module app","@since 3.4.0","**/","","/**","Provides a top-level application component which manages navigation and views.","","@module app","@submodule app-base","@since 3.5.0","**/","","// TODO: Better handling of lifecycle for registered views:","//","// * [!] Just redo basically everything with view management so there are no","// pre-`activeViewChange` side effects and handle the rest of these things:","//","// * Seems like any view created via `createView` should listen for the view's","// `destroy` event and use that to remove it from the `_viewsInfoMap`. I","// should look at what ModelList does for Models as a reference.","//","// * Should we have a companion `destroyView()` method? Maybe this wouldn't be","// needed if we have a `getView(name, create)` method, and already doing the","// above? We could do `app.getView('foo').destroy()` and it would be removed","// from the `_viewsInfoMap` as well.","//","// * Should we wait to call a view's `render()` method inside of the","// `_attachView()` method?","//","// * Should named views support a collection of instances instead of just one?","//","","var Lang = Y.Lang,"," YObject = Y.Object,",""," PjaxBase = Y.PjaxBase,"," Router = Y.Router,"," View = Y.View,",""," getClassName = Y.ClassNameManager.getClassName,",""," win = Y.config.win,",""," AppBase;","","/**","Provides a top-level application component which manages navigation and views.","","This gives you a foundation and structure on which to build your application; it","combines robust URL navigation with powerful routing and flexible view","management.","","@class App.Base","@param {Object} [config] The following are configuration properties that can be"," specified _in addition_ to default attribute values and the non-attribute"," properties provided by `Y.Base`:"," @param {Object} [config.views] Hash of view-name to metadata used to"," declaratively describe an application's views and their relationship with"," the app and other views. The views specified here will override any defaults"," provided by the `views` object on the `prototype`.","@constructor","@extends Base","@uses View","@uses Router","@uses PjaxBase","@since 3.5.0","**/","AppBase = Y.Base.create('app', Y.Base, [View, Router, PjaxBase], {"," // -- Public Properties ----------------------------------------------------",""," /**"," Hash of view-name to metadata used to declaratively describe an"," application's views and their relationship with the app and its other views.",""," The view metadata is composed of Objects keyed to a view-name that can have"," any or all of the following properties:",""," * `type`: Function or a string representing the view constructor to use to"," create view instances. If a string is used, the constructor function is"," assumed to be on the `Y` object; e.g. `\"SomeView\"` -> `Y.SomeView`.",""," * `preserve`: Boolean for whether the view instance should be retained. By"," default, the view instance will be destroyed when it is no longer the"," `activeView`. If `true` the view instance will simply be `removed()`"," from the DOM when it is no longer active. This is useful when the view"," is frequently used and may be expensive to re-create.",""," * `parent`: String to another named view in this hash that represents the"," parent view within the application's view hierarchy; e.g. a `\"photo\"`"," view could have `\"album\"` has its `parent` view. This parent/child"," relationship is a useful cue for things like transitions.",""," * `instance`: Used internally to manage the current instance of this named"," view. This can be used if your view instance is created up-front, or if"," you would rather manage the View lifecycle, but you probably should just"," let this be handled for you.",""," If `views` are specified at instantiation time, the metadata in the `views`"," Object here will be used as defaults when creating the instance's `views`.",""," Every `Y.App` instance gets its own copy of a `views` object so this Object"," on the prototype will not be polluted.",""," @example"," // Imagine that `Y.UsersView` and `Y.UserView` have been defined."," var app = new Y.App({"," views: {"," users: {"," type : Y.UsersView,"," preserve: true"," },",""," user: {"," type : Y.UserView,"," parent: 'users'"," }"," }"," });",""," @property views"," @type Object"," @default {}"," @since 3.5.0"," **/"," views: {},",""," // -- Protected Properties -------------------------------------------------",""," /**"," Map of view instance id (via `Y.stamp()`) to view-info object in `views`.",""," This mapping is used to tie a specific view instance back to its metadata by"," adding a reference to the the related view info on the `views` object.",""," @property _viewInfoMap"," @type Object"," @default {}"," @protected"," @since 3.5.0"," **/",""," // -- Lifecycle Methods ----------------------------------------------------"," initializer: function (config) {"," config || (config = {});",""," var views = {};",""," // Merges-in specified view metadata into local `views` object."," function mergeViewConfig(view, name) {"," views[name] = Y.merge(views[name], view);"," }",""," // First, each view in the `views` prototype object gets its metadata"," // merged-in, providing the defaults."," YObject.each(this.views, mergeViewConfig);",""," // Then, each view in the specified `config.views` object gets its"," // metadata merged-in."," YObject.each(config.views, mergeViewConfig);",""," // The resulting hodgepodge of metadata is then stored as the instance's"," // `views` object, and no one's objects were harmed in the making."," this.views = views;"," this._viewInfoMap = {};",""," // Using `bind()` to aid extensibility."," this.after('activeViewChange', Y.bind('_afterActiveViewChange', this));",""," // PjaxBase will bind click events when `html5` is `true`, so this just"," // forces the binding when `serverRouting` and `html5` are both falsy."," if (!this.get('serverRouting')) {"," this._pjaxBindUI();"," }"," },",""," // TODO: `destructor` to destroy the `activeView`?",""," // -- Public Methods -------------------------------------------------------",""," /**"," Creates and returns a new view instance using the provided `name` to look up"," the view info metadata defined in the `views` object. The passed-in `config`"," object is passed to the view constructor function.",""," This function also maps a view instance back to its view info metadata.",""," @method createView"," @param {String} name The name of a view defined on the `views` object."," @param {Object} [config] The configuration object passed to the view"," constructor function when creating the new view instance."," @return {View} The new view instance."," @since 3.5.0"," **/"," createView: function (name, config) {"," var viewInfo = this.getViewInfo(name),"," type = (viewInfo && viewInfo.type) || View,"," ViewConstructor, view;",""," // Looks for a namespaced constructor function on `Y`."," ViewConstructor = Lang.isString(type) ?"," YObject.getValue(Y, type.split('.')) : type;",""," // Create the view instance and map it with its metadata."," view = new ViewConstructor(config);"," this._viewInfoMap[Y.stamp(view, true)] = viewInfo;",""," return view;"," },",""," /**"," Returns the metadata associated with a view instance or view name defined on"," the `views` object.",""," @method getViewInfo"," @param {View|String} view View instance, or name of a view defined on the"," `views` object."," @return {Object} The metadata for the view, or `undefined` if the view is"," not registered."," @since 3.5.0"," **/"," getViewInfo: function (view) {"," if (Lang.isString(view)) {"," return this.views[view];"," }",""," return view && this._viewInfoMap[Y.stamp(view, true)];"," },",""," /**"," Navigates to the specified URL if there is a route handler that matches. In"," browsers capable of using HTML5 history or when `serverRouting` is falsy,"," the navigation will be enhanced by firing the `navigate` event and having"," the app handle the \"request\". When `serverRouting` is `true`, non-HTML5"," browsers will navigate to the new URL via a full page reload.",""," When there is a route handler for the specified URL and it is being"," navigated to, this method will return `true`, otherwise it will return"," `false`.",""," **Note:** The specified URL _must_ be of the same origin as the current URL,"," otherwise an error will be logged and navigation will not occur. This is"," intended as both a security constraint and a purposely imposed limitation as"," it does not make sense to tell the app to navigate to a URL on a"," different scheme, host, or port.",""," @method navigate"," @param {String} url The URL to navigate to. This must be of the same origin"," as the current URL."," @param {Object} [options] Additional options to configure the navigation."," These are mixed into the `navigate` event facade."," @param {Boolean} [options.replace] Whether or not the current history"," entry will be replaced, or a new entry will be created. Will default"," to `true` if the specified `url` is the same as the current URL."," @param {Boolean} [options.force] Whether the enhanced navigation"," should occur even in browsers without HTML5 history. Will default to"," `true` when `serverRouting` is falsy."," @see PjaxBase.navigate()"," **/"," // Does not override `navigate()` but does use extra `options`.",""," /**"," Renders this application by appending the `viewContainer` node to the"," `container` node if it isn't already a child of the container, and the"," `activeView` will be appended the view container, if it isn't already.",""," You should call this method at least once, usually after the initialization"," of your app instance so the proper DOM structure is setup and optionally"," append the container to the DOM if it's not there already.",""," You may override this method to customize the app's rendering, but you"," should expect that the `viewContainer`'s contents will be modified by the"," app for the purpose of rendering the `activeView` when it changes.",""," @method render"," @chainable"," @see View.render()"," **/"," render: function () {"," var CLASS_NAMES = Y.App.CLASS_NAMES,"," container = this.get('container'),"," viewContainer = this.get('viewContainer'),"," activeView = this.get('activeView'),"," activeViewContainer = activeView && activeView.get('container'),"," areSame = container.compareTo(viewContainer);",""," container.addClass(CLASS_NAMES.app);"," viewContainer.addClass(CLASS_NAMES.views);",""," // Prevents needless shuffling around of nodes and maintains DOM order."," if (activeView && !viewContainer.contains(activeViewContainer)) {"," viewContainer.appendChild(activeViewContainer);"," }",""," // Prevents needless shuffling around of nodes and maintains DOM order."," if (!container.contains(viewContainer) && !areSame) {"," container.appendChild(viewContainer);"," }",""," return this;"," },",""," /**"," Sets which view is active/visible for the application. This will set the"," app's `activeView` attribute to the specified `view`.",""," The `view` will be \"attached\" to this app, meaning it will be both rendered"," into this app's `viewContainer` node and all of its events will bubble to"," the app. The previous `activeView` will be \"detached\" from this app.",""," When a string-name is provided for a view which has been registered on this"," app's `views` object, the referenced metadata will be used and the"," `activeView` will be set to either a preserved view instance, or a new"," instance of the registered view will be created using the specified `config`"," object passed-into this method.",""," A callback function can be specified as either the third or fourth argument,"," and this function will be called after the new `view` becomes the"," `activeView`, is rendered to the `viewContainer`, and is ready to use.",""," @example"," var app = new Y.App({"," views: {"," usersView: {"," // Imagine that `Y.UsersView` has been defined."," type: Y.UsersView"," }"," },",""," users: new Y.ModelList()"," });",""," app.route('/users/', function () {"," this.showView('usersView', {users: this.get('users')});"," });",""," app.render();"," app.navigate('/uses/'); // => Creates a new `Y.UsersView` and shows it.",""," @method showView"," @param {String|View} view The name of a view defined in the `views` object,"," or a view instance which should become this app's `activeView`."," @param {Object} [config] Optional configuration to use when creating a new"," view instance. This config object can also be used to update an existing"," or preserved view's attributes when `options.update` is `true`."," @param {Object} [options] Optional object containing any of the following"," properties:"," @param {Function} [options.callback] Optional callback function to call"," after new `activeView` is ready to use, the function will be passed:"," @param {View} options.callback.view A reference to the new"," `activeView`."," @param {Boolean} [options.prepend=false] Whether the `view` should be"," prepended instead of appended to the `viewContainer`."," @param {Boolean} [options.render] Whether the `view` should be rendered."," **Note:** If no value is specified, a view instance will only be"," rendered if it's newly created by this method."," @param {Boolean} [options.update=false] Whether an existing view should"," have its attributes updated by passing the `config` object to its"," `setAttrs()` method. **Note:** This option does not have an effect if"," the `view` instance is created as a result of calling this method."," @param {Function} [callback] Optional callback Function to call after the"," new `activeView` is ready to use. **Note:** this will override"," `options.callback` and it can be specified as either the third or fourth"," argument. The function will be passed the following:"," @param {View} callback.view A reference to the new `activeView`."," @chainable"," @since 3.5.0"," **/"," showView: function (view, config, options, callback) {"," var viewInfo, created;",""," options || (options = {});",""," // Support the callback function being either the third or fourth arg."," if (callback) {"," options = Y.merge(options, {callback: callback});"," } else if (Lang.isFunction(options)) {"," options = {callback: options};"," }",""," if (Lang.isString(view)) {"," viewInfo = this.getViewInfo(view);",""," // Use the preserved view instance, or create a new view."," // TODO: Maybe we can remove the strict check for `preserve` and"," // assume we'll use a View instance if it is there, and just check"," // `preserve` when detaching?"," if (viewInfo && viewInfo.preserve && viewInfo.instance) {"," view = viewInfo.instance;",""," // Make sure there's a mapping back to the view metadata."," this._viewInfoMap[Y.stamp(view, true)] = viewInfo;"," } else {"," // TODO: Add the app as a bubble target during construction, but"," // make sure to check that it isn't already in `bubbleTargets`!"," // This will allow the app to be notified for about _all_ of the"," // view's events. **Note:** This should _only_ happen if the"," // view is created _after_ `activeViewChange`.",""," view = this.createView(view, config);"," created = true;"," }"," }",""," // Update the specified or preserved `view` when signaled to do so."," // There's no need to updated a view if it was _just_ created."," if (options.update && !created) {"," view.setAttrs(config);"," }",""," // TODO: Hold off on rendering the view until after it has been"," // \"attached\", and move the call to render into `_attachView()`.",""," // When a value is specified for `options.render`, prefer it because it"," // represents the developer's intent. When no value is specified, the"," // `view` will only be rendered if it was just created."," if ('render' in options) {"," if (options.render) {"," view.render();"," }"," } else if (created) {"," view.render();"," }",""," return this._set('activeView', view, {options: options});"," },",""," // -- Protected Methods ----------------------------------------------------",""," /**"," Helper method to attach the view instance to the application by making the"," app a bubble target of the view, append the view to the `viewContainer`, and"," assign it to the `instance` property of the associated view info metadata.",""," @method _attachView"," @param {View} view View to attach."," @param {Boolean} prepend=false Whether the view should be prepended instead"," of appended to the `viewContainer`."," @protected"," @since 3.5.0"," **/"," _attachView: function (view, prepend) {"," if (!view) {"," return;"," }",""," var viewInfo = this.getViewInfo(view),"," viewContainer = this.get('viewContainer');",""," // Bubble the view's events to this app."," view.addTarget(this);",""," // Save the view instance in the `views` registry."," if (viewInfo) {"," viewInfo.instance = view;"," }",""," // TODO: Attach events here for persevered Views?"," // See related TODO in `_detachView`.",""," // TODO: Actually render the view here so that it gets \"attached\" before"," // it gets rendered?",""," // Insert view into the DOM."," viewContainer[prepend ? 'prepend' : 'append'](view.get('container'));"," },",""," /**"," Overrides View's container destruction to deal with the `viewContainer` and"," checks to make sure not to remove and purge the ``.",""," @method _destroyContainer"," @protected"," @see View._destroyContainer()"," **/"," _destroyContainer: function () {"," var CLASS_NAMES = Y.App.CLASS_NAMES,"," container = this.get('container'),"," viewContainer = this.get('viewContainer'),"," areSame = container.compareTo(viewContainer);",""," // We do not want to remove or destroy the ``."," if (Y.one('body').compareTo(container)) {"," // Just clean-up our events listeners."," this.detachEvents();",""," // Clean-up `yui3-app` CSS class on the `container`."," container.removeClass(CLASS_NAMES.app);",""," if (areSame) {"," // Clean-up `yui3-app-views` CSS class on the `container`."," container.removeClass(CLASS_NAMES.views);"," } else {"," // Destroy and purge the `viewContainer`."," viewContainer.remove(true);"," }",""," return;"," }",""," // Remove and purge events from both containers.",""," viewContainer.remove(true);",""," if (!areSame) {"," container.remove(true);"," }"," },",""," /**"," Helper method to detach the view instance from the application by removing"," the application as a bubble target of the view, and either just removing the"," view if it is intended to be preserved, or destroying the instance"," completely.",""," @method _detachView"," @param {View} view View to detach."," @protected"," @since 3.5.0"," **/"," _detachView: function (view) {"," if (!view) {"," return;"," }",""," var viewInfo = this.getViewInfo(view) || {};",""," if (viewInfo.preserve) {"," view.remove();"," // TODO: Detach events here for preserved Views? It is possible that"," // some event subscriptions are made on elements other than the"," // View's `container`."," } else {"," view.destroy({remove: true});",""," // TODO: The following should probably happen automagically from"," // `destroy()` being called! Possibly `removeTarget()` as well.",""," // Remove from view to view-info map."," delete this._viewInfoMap[Y.stamp(view, true)];",""," // Remove from view-info instance property."," if (view === viewInfo.instance) {"," delete viewInfo.instance;"," }"," }",""," view.removeTarget(this);"," },",""," /**"," Getter for the `viewContainer` attribute.",""," @method _getViewContainer"," @param {Node|null} value Current attribute value."," @return {Node} View container node."," @protected"," @since 3.5.0"," **/"," _getViewContainer: function (value) {"," // This wackiness is necessary to enable fully lazy creation of the"," // container node both when no container is specified and when one is"," // specified via a valueFn.",""," if (!value && !this._viewContainer) {"," // Create a default container and set that as the new attribute"," // value. The `this._viewContainer` property prevents infinite"," // recursion."," value = this._viewContainer = this.create();"," this._set('viewContainer', value);"," }",""," return value;"," },",""," /**"," Provides the default value for the `html5` attribute.",""," The value returned is dependent on the value of the `serverRouting`"," attribute. When `serverRouting` is explicit set to `false` (not just falsy),"," the default value for `html5` will be set to `false` for *all* browsers.",""," When `serverRouting` is `true` or `undefined` the returned value will be"," dependent on the browser's capability of using HTML5 history.",""," @method _initHtml5"," @return {Boolean} Whether or not HTML5 history should be used."," @protected"," @since 3.5.0"," **/"," _initHtml5: function () {"," // When `serverRouting` is explicitly set to `false` (not just falsy),"," // forcing hash-based URLs in all browsers."," if (this.get('serverRouting') === false) {"," return false;"," }",""," // Defaults to whether or not the browser supports HTML5 history."," return Router.html5;"," },",""," /**"," Determines if the specified `view` is configured as a child of the specified"," `parent` view. This requires both views to be either named-views, or view"," instances created using configuration data that exists in the `views`"," object, e.g. created by the `createView()` or `showView()` method.",""," @method _isChildView"," @param {View|String} view The name of a view defined in the `views` object,"," or a view instance."," @param {View|String} parent The name of a view defined in the `views`"," object, or a view instance."," @return {Boolean} Whether the view is configured as a child of the parent."," @protected"," @since 3.5.0"," **/"," _isChildView: function (view, parent) {"," var viewInfo = this.getViewInfo(view),"," parentInfo = this.getViewInfo(parent);",""," if (viewInfo && parentInfo) {"," return this.getViewInfo(viewInfo.parent) === parentInfo;"," }",""," return false;"," },",""," /**"," Determines if the specified `view` is configured as the parent of the"," specified `child` view. This requires both views to be either named-views,"," or view instances created using configuration data that exists in the"," `views` object, e.g. created by the `createView()` or `showView()` method.",""," @method _isParentView"," @param {View|String} view The name of a view defined in the `views` object,"," or a view instance."," @param {View|String} parent The name of a view defined in the `views`"," object, or a view instance."," @return {Boolean} Whether the view is configured as the parent of the child."," @protected"," @since 3.5.0"," **/"," _isParentView: function (view, child) {"," var viewInfo = this.getViewInfo(view),"," childInfo = this.getViewInfo(child);",""," if (viewInfo && childInfo) {"," return this.getViewInfo(childInfo.parent) === viewInfo;"," }",""," return false;"," },",""," /**"," Underlying implementation for `navigate()`.",""," @method _navigate"," @param {String} url The fully-resolved URL that the app should dispatch to"," its route handlers to fulfill the enhanced navigation \"request\", or use to"," update `window.location` in non-HTML5 history capable browsers when"," `serverRouting` is `true`."," @param {Object} [options] Additional options to configure the navigation."," These are mixed into the `navigate` event facade."," @param {Boolean} [options.replace] Whether or not the current history"," entry will be replaced, or a new entry will be created. Will default"," to `true` if the specified `url` is the same as the current URL."," @param {Boolean} [options.force] Whether the enhanced navigation"," should occur even in browsers without HTML5 history. Will default to"," `true` when `serverRouting` is falsy."," @protected"," @see PjaxBase._navigate()"," **/"," _navigate: function (url, options) {"," if (!this.get('serverRouting')) {"," // Force navigation to be enhanced and handled by the app when"," // `serverRouting` is falsy because the server might not be able to"," // properly handle the request."," options = Y.merge({force: true}, options);"," }",""," return PjaxBase.prototype._navigate.call(this, url, options);"," },",""," /**"," Will either save a history entry using `pushState()` or the location hash,"," or gracefully-degrade to sending a request to the server causing a full-page"," reload.",""," Overrides Router's `_save()` method to preform graceful-degradation when the"," app's `serverRouting` is `true` and `html5` is `false` by updating the full"," URL via standard assignment to `window.location` or by calling"," `window.location.replace()`; both of which will cause a request to the"," server resulting in a full-page reload.",""," Otherwise this will just delegate off to Router's `_save()` method allowing"," the client-side enhanced routing to occur.",""," @method _save"," @param {String} [url] URL for the history entry."," @param {Boolean} [replace=false] If `true`, the current history entry will"," be replaced instead of a new one being added."," @chainable"," @protected"," @see Router._save()"," **/"," _save: function (url, replace) {"," var path;",""," // Forces full-path URLs to always be used by modifying"," // `window.location` in non-HTML5 history capable browsers."," if (this.get('serverRouting') && !this.get('html5')) {"," // Perform same-origin check on the specified URL."," if (!this._hasSameOrigin(url)) {"," Y.error('Security error: The new URL must be of the same origin as the current URL.');"," return this;"," }",""," // Either replace the current history entry or create a new one"," // while navigating to the `url`."," if (win) {"," // Results in the URL's full path starting with '/'."," path = this._joinURL(url || '');",""," if (replace) {"," win.location.replace(path);"," } else {"," win.location = path;"," }"," }",""," return this;"," }",""," return Router.prototype._save.apply(this, arguments);"," },",""," /**"," Performs the actual change of this app's `activeView` by attaching the"," `newView` to this app, and detaching the `oldView` from this app using any"," specified `options`.",""," The `newView` is attached to the app by rendering it to the `viewContainer`,"," and making this app a bubble target of its events.",""," The `oldView` is detached from the app by removing it from the"," `viewContainer`, and removing this app as a bubble target for its events."," The `oldView` will either be preserved or properly destroyed.",""," **Note:** The `activeView` attribute is read-only and can be changed by"," calling the `showView()` method.",""," @method _uiSetActiveView"," @param {View} newView The View which is now this app's `activeView`."," @param {View} [oldView] The View which was this app's `activeView`."," @param {Object} [options] Optional object containing any of the following"," properties:"," @param {Function} [options.callback] Optional callback function to call"," after new `activeView` is ready to use, the function will be passed:"," @param {View} options.callback.view A reference to the new"," `activeView`."," @param {Boolean} [options.prepend=false] Whether the `view` should be"," prepended instead of appended to the `viewContainer`."," @param {Boolean} [options.render] Whether the `view` should be rendered."," **Note:** If no value is specified, a view instance will only be"," rendered if it's newly created by this method."," @param {Boolean} [options.update=false] Whether an existing view should"," have its attributes updated by passing the `config` object to its"," `setAttrs()` method. **Note:** This option does not have an effect if"," the `view` instance is created as a result of calling this method."," @protected"," @since 3.5.0"," **/"," _uiSetActiveView: function (newView, oldView, options) {"," options || (options = {});",""," var callback = options.callback,"," isChild = this._isChildView(newView, oldView),"," isParent = !isChild && this._isParentView(newView, oldView),"," prepend = !!options.prepend || isParent;",""," // Prevent detaching (thus removing) the view we want to show. Also hard"," // to animate out and in, the same view."," if (newView === oldView) {"," return callback && callback.call(this, newView);"," }",""," this._attachView(newView, prepend);"," this._detachView(oldView);",""," if (callback) {"," callback.call(this, newView);"," }"," },",""," // -- Protected Event Handlers ---------------------------------------------",""," /**"," Handles the application's `activeViewChange` event (which is fired when the"," `activeView` attribute changes) by detaching the old view, attaching the new"," view.",""," The `activeView` attribute is read-only, so the public API to change its"," value is through the `showView()` method.",""," @method _afterActiveViewChange"," @param {EventFacade} e"," @protected"," @since 3.5.0"," **/"," _afterActiveViewChange: function (e) {"," this._uiSetActiveView(e.newVal, e.prevVal, e.options);"," }","}, {"," ATTRS: {"," /**"," The application's active/visible view.",""," This attribute is read-only, to set the `activeView` use the"," `showView()` method.",""," @attribute activeView"," @type View"," @default null"," @readOnly"," @see App.Base.showView()"," @since 3.5.0"," **/"," activeView: {"," value : null,"," readOnly: true"," },",""," /**"," Container node which represents the application's bounding-box, into"," which this app's content will be rendered.",""," The container node serves as the host for all DOM events attached by the"," app. Delegation is used to handle events on children of the container,"," allowing the container's contents to be re-rendered at any time without"," losing event subscriptions.",""," The default container is the `` Node, but you can override this in"," a subclass, or by passing in a custom `container` config value at"," instantiation time.",""," When `container` is overridden by a subclass or passed as a config"," option at instantiation time, it may be provided as a selector string, a"," DOM element, or a `Y.Node` instance. During initialization, this app's"," `create()` method will be called to convert the container into a"," `Y.Node` instance if it isn't one already and stamp it with the CSS"," class: `\"yui3-app\"`.",""," The container is not added to the page automatically. This allows you to"," have full control over how and when your app is actually rendered to"," the page.",""," @attribute container"," @type HTMLElement|Node|String"," @default Y.one('body')"," @initOnly"," **/"," container: {"," valueFn: function () {"," return Y.one('body');"," }"," },",""," /**"," Whether or not this browser is capable of using HTML5 history.",""," This value is dependent on the value of `serverRouting` and will default"," accordingly.",""," Setting this to `false` will force the use of hash-based history even on"," HTML5 browsers, but please don't do this unless you understand the"," consequences.",""," @attribute html5"," @type Boolean"," @initOnly"," @see serverRouting"," **/"," html5: {"," valueFn: '_initHtml5'"," },",""," /**"," CSS selector string used to filter link click events so that only the"," links which match it will have the enhanced-navigation behavior of pjax"," applied.",""," When a link is clicked and that link matches this selector, navigating"," to the link's `href` URL using the enhanced, pjax, behavior will be"," attempted; and the browser's default way to navigate to new pages will"," be the fallback.",""," By default this selector will match _all_ links on the page.",""," @attribute linkSelector"," @type String|Function"," @default \"a\""," **/"," linkSelector: {"," value: 'a'"," },",""," /**"," Whether or not this application's server is capable of properly routing"," all requests and rendering the initial state in the HTML responses.",""," This can have three different values, each having particular"," implications on how the app will handle routing and navigation:",""," * `undefined`: The best form of URLs will be chosen based on the"," capabilities of the browser. Given no information about the server"," environmentm a balanced approach to routing and navigation is"," chosen.",""," The server should be capable of handling full-path requests, since"," full-URLs will be generated by browsers using HTML5 history. If this"," is a client-side-only app the server could handle full-URL requests"," by sending a redirect back to the root with a hash-based URL, e.g:",""," Request: http://example.com/users/1"," Redirect to: http://example.com/#/users/1",""," * `true`: The server is *fully* capable of properly handling requests"," to all full-path URLs the app can produce.",""," This is the best option for progressive-enhancement because it will"," cause **all URLs to always have full-paths**, which means the server"," will be able to accurately handle all URLs this app produces. e.g.",""," http://example.com/users/1",""," To meet this strict full-URL requirement, browsers which are not"," capable of using HTML5 history will make requests to the server"," resulting in full-page reloads.",""," * `false`: The server is *not* capable of properly handling requests"," to all full-path URLs the app can produce, therefore all routing"," will be handled by this App instance.",""," Be aware that this will cause **all URLs to always be hash-based**,"," even in browsers that are capable of using HTML5 history. e.g.",""," http://example.com/#/users/1",""," A single-page or client-side-only app where the server sends a"," \"shell\" page with JavaScript to the client might have this"," restriction. If you're setting this to `false`, read the following:",""," **Note:** When this is set to `false`, the server will *never* receive"," the full URL because browsers do not send the fragment-part to the"," server, that is everything after and including the \"#\".",""," Consider the following example:",""," URL shown in browser: http://example.com/#/users/1"," URL sent to server: http://example.com/",""," You should feel bad about hurting our precious web if you forcefully set"," either `serverRouting` or `html5` to `false`, because you're basically"," punching the web in the face here with your lossy URLs! Please make sure"," you know what you're doing and that you understand the implications.",""," Ideally you should always prefer full-path URLs (not /#/foo/), and want"," full-page reloads when the client's browser is not capable of enhancing"," the experience using the HTML5 history APIs. Setting this to `true` is"," the best option for progressive-enhancement (and graceful-degradation).",""," @attribute serverRouting"," @type Boolean"," @default undefined"," @initOnly"," @since 3.5.0"," **/"," serverRouting: {"," valueFn : function () { return Y.App.serverRouting; },"," writeOnce: 'initOnly'"," },",""," /**"," The node into which this app's `views` will be rendered when they become"," the `activeView`.",""," The view container node serves as the container to hold the app's"," `activeView`. Each time the `activeView` is set via `showView()`, the"," previous view will be removed from this node, and the new active view's"," `container` node will be appended.",""," The default view container is a `
` Node, but you can override this"," in a subclass, or by passing in a custom `viewContainer` config value at"," instantiation time. The `viewContainer` may be provided as a selector"," string, DOM element, or a `Y.Node` instance (having the `viewContainer`"," and the `container` be the same node is also supported).",""," The app's `render()` method will stamp the view container with the CSS"," class `\"yui3-app-views\"` and append it to the app's `container` node if"," it isn't already, and any `activeView` will be appended to this node if"," it isn't already.",""," @attribute viewContainer"," @type HTMLElement|Node|String"," @default Y.Node.create(this.containerTemplate)"," @initOnly"," @since 3.5.0"," **/"," viewContainer: {"," getter : '_getViewContainer',"," setter : Y.one,"," writeOnce: true"," }"," },",""," /**"," Properties that shouldn't be turned into ad-hoc attributes when passed to"," App's constructor.",""," @property _NON_ATTRS_CFG"," @type Array"," @static"," @protected"," @since 3.5.0"," **/"," _NON_ATTRS_CFG: ['views']","});","","// -- Namespace ----------------------------------------------------------------","Y.namespace('App').Base = AppBase;","","/**","Provides a top-level application component which manages navigation and views.","","This gives you a foundation and structure on which to build your application; it","combines robust URL navigation with powerful routing and flexible view","management.","","`Y.App` is both a namespace and constructor function. The `Y.App` class is","special in that any `Y.App` class extensions that are included in the YUI","instance will be **auto-mixed** on to the `Y.App` class. Consider this example:",""," YUI().use('app-base', 'app-transitions', function (Y) {"," // This will create two YUI Apps, `basicApp` will not have transitions,"," // but `fancyApp` will have transitions support included and turn it on."," var basicApp = new Y.App.Base(),"," fancyApp = new Y.App({transitions: true});"," });","","@class App","@param {Object} [config] The following are configuration properties that can be"," specified _in addition_ to default attribute values and the non-attribute"," properties provided by `Y.Base`:"," @param {Object} [config.views] Hash of view-name to metadata used to"," declaratively describe an application's views and their relationship with"," the app and other views. The views specified here will override any defaults"," provided by the `views` object on the `prototype`.","@constructor","@extends App.Base","@uses App.Content","@uses App.Transitions","@uses PjaxContent","@since 3.5.0","**/","Y.App = Y.mix(Y.Base.create('app', AppBase, []), Y.App, true);","","/**","CSS classes used by `Y.App`.","","@property CLASS_NAMES","@type Object","@default {}","@static","@since 3.6.0","**/","Y.App.CLASS_NAMES = {"," app : getClassName('app'),"," views: getClassName('app', 'views')","};","","/**","Default `serverRouting` attribute value for all apps.","","@property serverRouting","@type Boolean","@default undefined","@static","@since 3.6.0","**/","","","}, '3.9.1', {\"requires\": [\"classnamemanager\", \"pjax-base\", \"router\", \"view\"]});"]; _yuitest_coverage["build/app-base/app-base.js"].lines = {"1":0,"40":0,"75":0,"151":0,"153":0,"156":0,"157":0,"162":0,"166":0,"170":0,"171":0,"174":0,"178":0,"179":0,"202":0,"207":0,"211":0,"212":0,"214":0,"229":0,"230":0,"233":0,"286":0,"293":0,"294":0,"297":0,"298":0,"302":0,"303":0,"306":0,"376":0,"378":0,"381":0,"382":0,"383":0,"384":0,"387":0,"388":0,"394":0,"395":0,"398":0,"406":0,"407":0,"413":0,"414":0,"423":0,"424":0,"425":0,"427":0,"428":0,"431":0,"449":0,"450":0,"453":0,"457":0,"460":0,"461":0,"471":0,"483":0,"489":0,"491":0,"494":0,"496":0,"498":0,"501":0,"504":0,"509":0,"511":0,"512":0,"528":0,"529":0,"532":0,"534":0,"535":0,"540":0,"546":0,"549":0,"550":0,"554":0,"571":0,"575":0,"576":0,"579":0,"600":0,"601":0,"605":0,"624":0,"627":0,"628":0,"631":0,"650":0,"653":0,"654":0,"657":0,"680":0,"684":0,"687":0,"713":0,"717":0,"719":0,"720":0,"721":0,"726":0,"728":0,"730":0,"731":0,"733":0,"737":0,"740":0,"780":0,"782":0,"789":0,"790":0,"793":0,"794":0,"796":0,"797":0,"817":0,"870":0,"985":0,"1036":0,"1071":0,"1082":0}; _yuitest_coverage["build/app-base/app-base.js"].functions = {"mergeViewConfig:156":0,"initializer:150":0,"createView:201":0,"getViewInfo:228":0,"render:285":0,"showView:375":0,"_attachView:448":0,"_destroyContainer:482":0,"_detachView:527":0,"_getViewContainer:566":0,"_initHtml5:597":0,"_isChildView:623":0,"_isParentView:649":0,"_navigate:679":0,"_save:712":0,"_uiSetActiveView:779":0,"_afterActiveViewChange:816":0,"valueFn:869":0,"valueFn:985":0,"(anonymous 1):1":0}; _yuitest_coverage["build/app-base/app-base.js"].coveredLines = 123; @@ -1272,4 +1272,4 @@ Default `serverRouting` attribute value for all apps. **/ -}, '3.9.0', {"requires": ["classnamemanager", "pjax-base", "router", "view"]}); +}, '3.9.1', {"requires": ["classnamemanager", "pjax-base", "router", "view"]}); diff --git a/lib/yuilib/3.9.0/build/app-base/app-base-debug.js b/lib/yuilib/3.9.1/build/app-base/app-base-debug.js similarity index 99% rename from lib/yuilib/3.9.0/build/app-base/app-base-debug.js rename to lib/yuilib/3.9.1/build/app-base/app-base-debug.js index e24475aa3c9..4ecab09888f 100644 --- a/lib/yuilib/3.9.0/build/app-base/app-base-debug.js +++ b/lib/yuilib/3.9.1/build/app-base/app-base-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('app-base', function (Y, NAME) { /** @@ -1096,4 +1096,4 @@ Default `serverRouting` attribute value for all apps. **/ -}, '3.9.0', {"requires": ["classnamemanager", "pjax-base", "router", "view"]}); +}, '3.9.1', {"requires": ["classnamemanager", "pjax-base", "router", "view"]}); diff --git a/lib/yuilib/3.9.0/build/app-base/app-base-min.js b/lib/yuilib/3.9.1/build/app-base/app-base-min.js similarity index 96% rename from lib/yuilib/3.9.0/build/app-base/app-base-min.js rename to lib/yuilib/3.9.1/build/app-base/app-base-min.js index 4113d9a2c7c..72137be10e4 100644 --- a/lib/yuilib/3.9.0/build/app-base/app-base-min.js +++ b/lib/yuilib/3.9.1/build/app-base/app-base-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("app-base",function(e,t){var n=e.Lang,r=e.Object,i=e.PjaxBase,s=e.Router,o=e.View,u=e.ClassNameManager.getClassName,a=e.config.win,f;f=e.Base.create("app",e.Base,[o,s,i],{views:{},initializer:function(t){function i(t,r){n[r]=e.merge(n[r],t)}t||(t={});var n={};r.each(this.views,i),r.each(t.views,i),this.views=n,this._viewInfoMap={},this.after("activeViewChange",e.bind("_afterActiveViewChange",this)),this.get("serverRouting")||this._pjaxBindUI()},createView:function(t,i){var s=this.getViewInfo(t),u=s&&s.type||o,a,f;return a=n.isString(u)?r.getValue(e,u.split(".")):u,f=new a(i),this._viewInfoMap[e.stamp(f,!0)]=s,f},getViewInfo:function(t){return n.isString(t)?this.views[t]:t&&this._viewInfoMap[e.stamp(t,!0)]},render:function(){var t=e.App.CLASS_NAMES,n=this.get("container"),r=this.get("viewContainer"),i=this.get("activeView"),s=i&&i.get("container"),o=n.compareTo(r);return n.addClass(t.app),r.addClass(t.views),i&&!r.contains(s)&&r.appendChild(s),!n.contains(r)&&!o&&n.appendChild(r),this},showView:function(t,r,i,s){var o,u;return i||(i={}),s?i=e.merge(i,{callback:s}):n.isFunction(i)&&(i={callback:i}),n.isString(t)&&(o=this.getViewInfo(t),o&&o.preserve&&o.instance?(t=o.instance,this._viewInfoMap[e.stamp(t,!0)]=o):(t=this.createView(t,r),u=!0)),i.update&&!u&&t.setAttrs(r),"render"in i?i.render&&t.render():u&&t.render(),this._set("activeView",t,{options:i})},_attachView:function(e,t){if(!e)return;var n=this.getViewInfo(e),r=this.get("viewContainer");e.addTarget(this),n&&(n.instance=e),r[t?"prepend":"append"](e.get("container"))},_destroyContainer:function(){var t=e.App.CLASS_NAMES,n=this.get("container"),r=this.get("viewContainer"),i=n.compareTo(r);if(e.one("body").compareTo(n)){this.detachEvents(),n.removeClass(t.app),i?n.removeClass(t.views):r.remove(!0);return}r.remove(!0),i||n.remove(!0)},_detachView:function(t){if(!t)return;var n=this.getViewInfo(t)||{};n.preserve?t.remove():(t.destroy({remove:!0}),delete this._viewInfoMap[e.stamp(t,!0)],t===n.instance&&delete n.instance),t.removeTarget(this)},_getViewContainer:function(e){return!e&&!this._viewContainer&&(e=this._viewContainer=this.create(),this._set("viewContainer",e)),e},_initHtml5:function(){return this.get("serverRouting")===!1?!1:s.html5},_isChildView:function(e,t){var n=this.getViewInfo(e),r=this.getViewInfo(t);return n&&r?this.getViewInfo(n.parent)===r:!1},_isParentView:function(e,t){var n=this.getViewInfo(e),r=this.getViewInfo(t);return n&&r?this.getViewInfo(r.parent)===n:!1},_navigate:function(t,n){return this.get("serverRouting")||(n=e.merge({force:!0},n)),i.prototype._navigate.call(this,t,n)},_save:function(t,n){var r;return this.get("serverRouting")&&!this.get("html5")?this._hasSameOrigin(t)?(a&&(r=this._joinURL(t||""),n?a.location.replace(r):a.location=r),this):(e.error("Security error: The new URL must be of the same origin as the current URL."),this):s.prototype._save.apply(this,arguments)},_uiSetActiveView:function(e,t,n){n||(n={});var r=n.callback,i=this._isChildView(e,t),s=!i&&this._isParentView(e,t),o=!!n.prepend||s;if(e===t)return r&&r.call(this,e);this._attachView(e,o),this._detachView(t),r&&r.call(this,e)},_afterActiveViewChange:function(e){this._uiSetActiveView(e.newVal,e.prevVal,e.options)}},{ATTRS:{activeView:{value:null,readOnly:!0},container:{valueFn:function(){return e.one("body")}},html5:{valueFn:"_initHtml5"},linkSelector:{value:"a"},serverRouting:{valueFn:function(){return e.App.serverRouting},writeOnce:"initOnly"},viewContainer:{getter:"_getViewContainer",setter:e.one,writeOnce:!0}},_NON_ATTRS_CFG:["views"]}),e.namespace("App").Base=f,e.App=e.mix(e.Base.create("app",f,[]),e.App,!0),e.App.CLASS_NAMES={app:u("app"),views:u("app","views")}},"3.9.0",{requires:["classnamemanager","pjax-base","router","view"]}); +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +YUI.add("app-base",function(e,t){var n=e.Lang,r=e.Object,i=e.PjaxBase,s=e.Router,o=e.View,u=e.ClassNameManager.getClassName,a=e.config.win,f;f=e.Base.create("app",e.Base,[o,s,i],{views:{},initializer:function(t){function i(t,r){n[r]=e.merge(n[r],t)}t||(t={});var n={};r.each(this.views,i),r.each(t.views,i),this.views=n,this._viewInfoMap={},this.after("activeViewChange",e.bind("_afterActiveViewChange",this)),this.get("serverRouting")||this._pjaxBindUI()},createView:function(t,i){var s=this.getViewInfo(t),u=s&&s.type||o,a,f;return a=n.isString(u)?r.getValue(e,u.split(".")):u,f=new a(i),this._viewInfoMap[e.stamp(f,!0)]=s,f},getViewInfo:function(t){return n.isString(t)?this.views[t]:t&&this._viewInfoMap[e.stamp(t,!0)]},render:function(){var t=e.App.CLASS_NAMES,n=this.get("container"),r=this.get("viewContainer"),i=this.get("activeView"),s=i&&i.get("container"),o=n.compareTo(r);return n.addClass(t.app),r.addClass(t.views),i&&!r.contains(s)&&r.appendChild(s),!n.contains(r)&&!o&&n.appendChild(r),this},showView:function(t,r,i,s){var o,u;return i||(i={}),s?i=e.merge(i,{callback:s}):n.isFunction(i)&&(i={callback:i}),n.isString(t)&&(o=this.getViewInfo(t),o&&o.preserve&&o.instance?(t=o.instance,this._viewInfoMap[e.stamp(t,!0)]=o):(t=this.createView(t,r),u=!0)),i.update&&!u&&t.setAttrs(r),"render"in i?i.render&&t.render():u&&t.render(),this._set("activeView",t,{options:i})},_attachView:function(e,t){if(!e)return;var n=this.getViewInfo(e),r=this.get("viewContainer");e.addTarget(this),n&&(n.instance=e),r[t?"prepend":"append"](e.get("container"))},_destroyContainer:function(){var t=e.App.CLASS_NAMES,n=this.get("container"),r=this.get("viewContainer"),i=n.compareTo(r);if(e.one("body").compareTo(n)){this.detachEvents(),n.removeClass(t.app),i?n.removeClass(t.views):r.remove(!0);return}r.remove(!0),i||n.remove(!0)},_detachView:function(t){if(!t)return;var n=this.getViewInfo(t)||{};n.preserve?t.remove():(t.destroy({remove:!0}),delete this._viewInfoMap[e.stamp(t,!0)],t===n.instance&&delete n.instance),t.removeTarget(this)},_getViewContainer:function(e){return!e&&!this._viewContainer&&(e=this._viewContainer=this.create(),this._set("viewContainer",e)),e},_initHtml5:function(){return this.get("serverRouting")===!1?!1:s.html5},_isChildView:function(e,t){var n=this.getViewInfo(e),r=this.getViewInfo(t);return n&&r?this.getViewInfo(n.parent)===r:!1},_isParentView:function(e,t){var n=this.getViewInfo(e),r=this.getViewInfo(t);return n&&r?this.getViewInfo(r.parent)===n:!1},_navigate:function(t,n){return this.get("serverRouting")||(n=e.merge({force:!0},n)),i.prototype._navigate.call(this,t,n)},_save:function(t,n){var r;return this.get("serverRouting")&&!this.get("html5")?this._hasSameOrigin(t)?(a&&(r=this._joinURL(t||""),n?a.location.replace(r):a.location=r),this):(e.error("Security error: The new URL must be of the same origin as the current URL."),this):s.prototype._save.apply(this,arguments)},_uiSetActiveView:function(e,t,n){n||(n={});var r=n.callback,i=this._isChildView(e,t),s=!i&&this._isParentView(e,t),o=!!n.prepend||s;if(e===t)return r&&r.call(this,e);this._attachView(e,o),this._detachView(t),r&&r.call(this,e)},_afterActiveViewChange:function(e){this._uiSetActiveView(e.newVal,e.prevVal,e.options)}},{ATTRS:{activeView:{value:null,readOnly:!0},container:{valueFn:function(){return e.one("body")}},html5:{valueFn:"_initHtml5"},linkSelector:{value:"a"},serverRouting:{valueFn:function(){return e.App.serverRouting},writeOnce:"initOnly"},viewContainer:{getter:"_getViewContainer",setter:e.one,writeOnce:!0}},_NON_ATTRS_CFG:["views"]}),e.namespace("App").Base=f,e.App=e.mix(e.Base.create("app",f,[]),e.App,!0),e.App.CLASS_NAMES={app:u("app"),views:u("app","views")}},"3.9.1",{requires:["classnamemanager","pjax-base","router","view"]}); diff --git a/lib/yuilib/3.9.0/build/app-base/app-base.js b/lib/yuilib/3.9.1/build/app-base/app-base.js similarity index 99% rename from lib/yuilib/3.9.0/build/app-base/app-base.js rename to lib/yuilib/3.9.1/build/app-base/app-base.js index e24475aa3c9..4ecab09888f 100644 --- a/lib/yuilib/3.9.0/build/app-base/app-base.js +++ b/lib/yuilib/3.9.1/build/app-base/app-base.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('app-base', function (Y, NAME) { /** @@ -1096,4 +1096,4 @@ Default `serverRouting` attribute value for all apps. **/ -}, '3.9.0', {"requires": ["classnamemanager", "pjax-base", "router", "view"]}); +}, '3.9.1', {"requires": ["classnamemanager", "pjax-base", "router", "view"]}); diff --git a/lib/yuilib/3.9.0/build/app-content/app-content-coverage.js b/lib/yuilib/3.9.1/build/app-content/app-content-coverage.js similarity index 99% rename from lib/yuilib/3.9.0/build/app-content/app-content-coverage.js rename to lib/yuilib/3.9.1/build/app-content/app-content-coverage.js index e37eef8ac2b..751c59c744f 100644 --- a/lib/yuilib/3.9.0/build/app-content/app-content-coverage.js +++ b/lib/yuilib/3.9.1/build/app-content/app-content-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/app-content/app-content.js"] = { path: "build/app-content/app-content.js", code: [] }; -_yuitest_coverage["build/app-content/app-content.js"].code=["YUI.add('app-content', function (Y, NAME) {","","/**","`Y.App` extension that provides pjax-style content fetching and handling.","","@module app","@submodule app-content","@since 3.7.0","**/","","var PjaxContent = Y.PjaxContent;","","/**","`Y.App` extension that provides pjax-style content fetching and handling.","","This makes it easy to fetch server rendered content for URLs using Ajax. The","HTML content returned from the server will be view-ified and set as the app's","main content, making it seamless to use a mixture of server and client rendered","views.","","When the `\"app-content\"` module is used, it will automatically mix itself into","`Y.App`, and it provides three main features:",""," - **`Y.App.Content.route`**: A stack of middleware which forms a pjax-style"," content route.",""," - **`loadContent()`**: Route middleware which load content from a server. This"," makes an Ajax request for the requested URL, parses the returned content and"," puts it on the route's response object.",""," - **`showContent()`**: Method which provides an easy way to view-ify HTML"," content which should be shown as an app's active/visible view.","","The following is an example of how these features can be used:",""," // Creates a new app and registers the `\"post\"` view."," var app = new Y.App({"," views: {"," post: {type: Y.PostView}"," }"," });",""," // Uses a simple server rendered content route for the About page."," app.route('/about/', Y.App.Content.route);",""," // Uses the `loadContent()` middleware to fetch the contents of the post"," // from the server and shows that content in a `\"post\"` view."," app.route('/posts/:id/', 'loadContent', function (req, res, next) {"," this.showContent(res.content.node, {view: 'post'});"," });","","@class App.Content","@uses PjaxContent","@extensionfor App","@since 3.7.0","**/","function AppContent() {"," PjaxContent.apply(this, arguments);","}","","/**","A stack of middleware which forms a pjax-style content route.","","This route will load the rendered HTML content from the server, then create and","show a new view using those contents.","","@property route","@type Array","@static","@since 3.7.0","**/","AppContent.route = ['loadContent', '_contentRoute'];","","AppContent.prototype = {"," // -- Public Methods -------------------------------------------------------",""," /**"," Sets this app's `activeView` attribute using the specified `content`.",""," This provides an easy way to view-ify HTML content which should be shown as"," this app's active/visible view. This method will determine the appropriate"," view `container` node based on the specified `content`. By default, a new"," `Y.View` instance will be created unless `options.view` is specified.",""," Under the hood, this method calls the `showView()` method, so refer to its"," docs for more information.",""," @method showContent"," @param {HTMLElement|Node|String} content The content to show, it may be"," provided as a selector string, a DOM element, or a `Y.Node` instance."," @param {Object} [options] Optional objects containing any of the following"," properties in addition to any `showView()` options:",""," @param {Object|String} [options.view] The name of a view defined in this"," app's `views`, or an object with the following properties:",""," @param {String} options.view.name The name of a view defined in this"," app's `views`."," @param {Object} [options.view.config] Optional configuration to use when"," creating the new view instance. This config object can also be used"," to update an existing or preserved view's attributes when"," `options.update` is `true`. **Note:** If a `container` is specified,"," it will be overridden by the `content` specified in the first"," argument.",""," @param {Function} [callback] Optional callback function to call after the"," new `activeView` is ready to use. **Note:** this will override"," `options.callback` and it can be specified as either the second or third"," argument. The function will be passed the following:",""," @param {View} callback.view A reference to the new `activeView`.",""," @since 3.7.0"," @see App.showView()"," **/"," showContent: function (content, options, callback) {"," // Makes sure we have a node instance, and will query selector strings."," content = Y.one(content);",""," // Support the callback function being either the second or third arg."," if (typeof options === 'function') {"," options = {callback: options};"," callback = null;"," }",""," // Mix in default option to *not* render the view because presumably we"," // have pre-rendered content here. This also creates a copy so we can"," // modify the object."," options = Y.merge({render: false}, options);",""," var view = options.view || '',"," viewName = typeof view === 'string' ? view : view.name,"," viewConfig = typeof view !== 'string' ? view.config : {},"," viewInfo = this.getViewInfo(viewName),"," container, template, type, ViewConstructor;",""," // Remove `view` from the `options` which will be passed along to the"," // `showView()` method."," delete options.view;",""," // When the specified `content` is a document fragment, we want to see"," // if it only contains a single node, and use that as the content. This"," // checks `childNodes` which will include text nodes."," if (content && content.isFragment() &&"," content.get('childNodes').size() === 1) {",""," content = content.get('firstChild');"," }",""," // When the `content` is an element node (`nodeType` 1), we can use it"," // as-is for the `container`. Otherwise, we'll construct a new container"," // based on the `options.view`'s `containerTemplate`."," if (content && content.get('nodeType') === 1) {"," container = content;"," } else {"," type = (viewInfo && viewInfo.type) || Y.View;",""," // Looks for a namespaced constructor function on `Y`."," ViewConstructor = typeof type === 'string' ?"," Y.Object.getValue(Y, type.split('.')) : type;",""," // Find the correct node template for the view."," template = ViewConstructor.prototype.containerTemplate;"," container = Y.Node.create(template);",""," // Append the document fragment to the newly created `container`"," // node. This is the worst case where we have to create a wrapper"," // node around the `content`."," container.append(content);"," }",""," // Makes sure the view is created using _our_ `container` node."," viewConfig = Y.merge(viewConfig, {container: container});",""," // Finally switch to the new `activeView`. We want to make sure `view`"," // is a string if it's falsy, that way a new view will be created."," return this.showView(viewName, viewConfig, options, callback);"," },",""," // -- Protected Methods ----------------------------------------------------",""," /**"," Provides a default content route which will show a server rendered view.",""," **Note:** This route callback assumes that it's called after the"," `loadContent()` middleware.",""," @method _contentRoute"," @param {Object} req Request object."," @param {Object} res Response Object."," @param {Function} next Function to pass control to the next route callback."," @protected"," @since 3.7.0"," @see Y.App.Content.route"," **/"," _contentRoute: function (req, res, next) {"," var content = res.content,"," doc = Y.config.doc,"," activeViewHandle;",""," // We must have some content to work with."," if (!(content && content.node)) { return next(); }",""," if (content.title && doc) {"," // Make sure the `activeView` does actually change before we go"," // messing with the page title."," activeViewHandle = this.onceAfter('activeViewChange', function () {"," doc.title = content.title;"," });"," }",""," this.showContent(content.node);",""," // Detach the handle just in case."," if (activeViewHandle) {"," activeViewHandle.detach();"," }",""," next();"," }","};","","// Mix statics.","AppContent.ATTRS = Y.Attribute.protectAttrs(PjaxContent.ATTRS);","","// Mix prototype.","Y.mix(AppContent, PjaxContent, false, null, 1);","","// -- Namespace ----------------------------------------------------------------","Y.App.Content = AppContent;","Y.Base.mix(Y.App, [AppContent]);","","","}, '3.9.0', {\"requires\": [\"app-base\", \"pjax-content\"]});"]; +_yuitest_coverage["build/app-content/app-content.js"].code=["YUI.add('app-content', function (Y, NAME) {","","/**","`Y.App` extension that provides pjax-style content fetching and handling.","","@module app","@submodule app-content","@since 3.7.0","**/","","var PjaxContent = Y.PjaxContent;","","/**","`Y.App` extension that provides pjax-style content fetching and handling.","","This makes it easy to fetch server rendered content for URLs using Ajax. The","HTML content returned from the server will be view-ified and set as the app's","main content, making it seamless to use a mixture of server and client rendered","views.","","When the `\"app-content\"` module is used, it will automatically mix itself into","`Y.App`, and it provides three main features:",""," - **`Y.App.Content.route`**: A stack of middleware which forms a pjax-style"," content route.",""," - **`loadContent()`**: Route middleware which load content from a server. This"," makes an Ajax request for the requested URL, parses the returned content and"," puts it on the route's response object.",""," - **`showContent()`**: Method which provides an easy way to view-ify HTML"," content which should be shown as an app's active/visible view.","","The following is an example of how these features can be used:",""," // Creates a new app and registers the `\"post\"` view."," var app = new Y.App({"," views: {"," post: {type: Y.PostView}"," }"," });",""," // Uses a simple server rendered content route for the About page."," app.route('/about/', Y.App.Content.route);",""," // Uses the `loadContent()` middleware to fetch the contents of the post"," // from the server and shows that content in a `\"post\"` view."," app.route('/posts/:id/', 'loadContent', function (req, res, next) {"," this.showContent(res.content.node, {view: 'post'});"," });","","@class App.Content","@uses PjaxContent","@extensionfor App","@since 3.7.0","**/","function AppContent() {"," PjaxContent.apply(this, arguments);","}","","/**","A stack of middleware which forms a pjax-style content route.","","This route will load the rendered HTML content from the server, then create and","show a new view using those contents.","","@property route","@type Array","@static","@since 3.7.0","**/","AppContent.route = ['loadContent', '_contentRoute'];","","AppContent.prototype = {"," // -- Public Methods -------------------------------------------------------",""," /**"," Sets this app's `activeView` attribute using the specified `content`.",""," This provides an easy way to view-ify HTML content which should be shown as"," this app's active/visible view. This method will determine the appropriate"," view `container` node based on the specified `content`. By default, a new"," `Y.View` instance will be created unless `options.view` is specified.",""," Under the hood, this method calls the `showView()` method, so refer to its"," docs for more information.",""," @method showContent"," @param {HTMLElement|Node|String} content The content to show, it may be"," provided as a selector string, a DOM element, or a `Y.Node` instance."," @param {Object} [options] Optional objects containing any of the following"," properties in addition to any `showView()` options:",""," @param {Object|String} [options.view] The name of a view defined in this"," app's `views`, or an object with the following properties:",""," @param {String} options.view.name The name of a view defined in this"," app's `views`."," @param {Object} [options.view.config] Optional configuration to use when"," creating the new view instance. This config object can also be used"," to update an existing or preserved view's attributes when"," `options.update` is `true`. **Note:** If a `container` is specified,"," it will be overridden by the `content` specified in the first"," argument.",""," @param {Function} [callback] Optional callback function to call after the"," new `activeView` is ready to use. **Note:** this will override"," `options.callback` and it can be specified as either the second or third"," argument. The function will be passed the following:",""," @param {View} callback.view A reference to the new `activeView`.",""," @since 3.7.0"," @see App.showView()"," **/"," showContent: function (content, options, callback) {"," // Makes sure we have a node instance, and will query selector strings."," content = Y.one(content);",""," // Support the callback function being either the second or third arg."," if (typeof options === 'function') {"," options = {callback: options};"," callback = null;"," }",""," // Mix in default option to *not* render the view because presumably we"," // have pre-rendered content here. This also creates a copy so we can"," // modify the object."," options = Y.merge({render: false}, options);",""," var view = options.view || '',"," viewName = typeof view === 'string' ? view : view.name,"," viewConfig = typeof view !== 'string' ? view.config : {},"," viewInfo = this.getViewInfo(viewName),"," container, template, type, ViewConstructor;",""," // Remove `view` from the `options` which will be passed along to the"," // `showView()` method."," delete options.view;",""," // When the specified `content` is a document fragment, we want to see"," // if it only contains a single node, and use that as the content. This"," // checks `childNodes` which will include text nodes."," if (content && content.isFragment() &&"," content.get('childNodes').size() === 1) {",""," content = content.get('firstChild');"," }",""," // When the `content` is an element node (`nodeType` 1), we can use it"," // as-is for the `container`. Otherwise, we'll construct a new container"," // based on the `options.view`'s `containerTemplate`."," if (content && content.get('nodeType') === 1) {"," container = content;"," } else {"," type = (viewInfo && viewInfo.type) || Y.View;",""," // Looks for a namespaced constructor function on `Y`."," ViewConstructor = typeof type === 'string' ?"," Y.Object.getValue(Y, type.split('.')) : type;",""," // Find the correct node template for the view."," template = ViewConstructor.prototype.containerTemplate;"," container = Y.Node.create(template);",""," // Append the document fragment to the newly created `container`"," // node. This is the worst case where we have to create a wrapper"," // node around the `content`."," container.append(content);"," }",""," // Makes sure the view is created using _our_ `container` node."," viewConfig = Y.merge(viewConfig, {container: container});",""," // Finally switch to the new `activeView`. We want to make sure `view`"," // is a string if it's falsy, that way a new view will be created."," return this.showView(viewName, viewConfig, options, callback);"," },",""," // -- Protected Methods ----------------------------------------------------",""," /**"," Provides a default content route which will show a server rendered view.",""," **Note:** This route callback assumes that it's called after the"," `loadContent()` middleware.",""," @method _contentRoute"," @param {Object} req Request object."," @param {Object} res Response Object."," @param {Function} next Function to pass control to the next route callback."," @protected"," @since 3.7.0"," @see Y.App.Content.route"," **/"," _contentRoute: function (req, res, next) {"," var content = res.content,"," doc = Y.config.doc,"," activeViewHandle;",""," // We must have some content to work with."," if (!(content && content.node)) { return next(); }",""," if (content.title && doc) {"," // Make sure the `activeView` does actually change before we go"," // messing with the page title."," activeViewHandle = this.onceAfter('activeViewChange', function () {"," doc.title = content.title;"," });"," }",""," this.showContent(content.node);",""," // Detach the handle just in case."," if (activeViewHandle) {"," activeViewHandle.detach();"," }",""," next();"," }","};","","// Mix statics.","AppContent.ATTRS = Y.Attribute.protectAttrs(PjaxContent.ATTRS);","","// Mix prototype.","Y.mix(AppContent, PjaxContent, false, null, 1);","","// -- Namespace ----------------------------------------------------------------","Y.App.Content = AppContent;","Y.Base.mix(Y.App, [AppContent]);","","","}, '3.9.1', {\"requires\": [\"app-base\", \"pjax-content\"]});"]; _yuitest_coverage["build/app-content/app-content.js"].lines = {"1":0,"11":0,"57":0,"58":0,"72":0,"74":0,"118":0,"121":0,"122":0,"123":0,"129":0,"131":0,"139":0,"144":0,"147":0,"153":0,"154":0,"156":0,"159":0,"163":0,"164":0,"169":0,"173":0,"177":0,"197":0,"202":0,"204":0,"207":0,"208":0,"212":0,"215":0,"216":0,"219":0,"224":0,"227":0,"230":0,"231":0}; _yuitest_coverage["build/app-content/app-content.js"].functions = {"AppContent:57":0,"showContent:116":0,"(anonymous 2):207":0,"_contentRoute:196":0,"(anonymous 1):1":0}; _yuitest_coverage["build/app-content/app-content.js"].coveredLines = 37; @@ -307,4 +307,4 @@ _yuitest_coverline("build/app-content/app-content.js", 231); Y.Base.mix(Y.App, [AppContent]); -}, '3.9.0', {"requires": ["app-base", "pjax-content"]}); +}, '3.9.1', {"requires": ["app-base", "pjax-content"]}); diff --git a/lib/yuilib/3.9.0/build/app-content/app-content-debug.js b/lib/yuilib/3.9.1/build/app-content/app-content-debug.js similarity index 98% rename from lib/yuilib/3.9.0/build/app-content/app-content-debug.js rename to lib/yuilib/3.9.1/build/app-content/app-content-debug.js index 3502debf9e9..80f0fd2d2e5 100644 --- a/lib/yuilib/3.9.0/build/app-content/app-content-debug.js +++ b/lib/yuilib/3.9.1/build/app-content/app-content-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('app-content', function (Y, NAME) { /** @@ -232,4 +232,4 @@ Y.App.Content = AppContent; Y.Base.mix(Y.App, [AppContent]); -}, '3.9.0', {"requires": ["app-base", "pjax-content"]}); +}, '3.9.1', {"requires": ["app-base", "pjax-content"]}); diff --git a/lib/yuilib/3.9.0/build/app-content/app-content-min.js b/lib/yuilib/3.9.1/build/app-content/app-content-min.js similarity index 88% rename from lib/yuilib/3.9.0/build/app-content/app-content-min.js rename to lib/yuilib/3.9.1/build/app-content/app-content-min.js index e4596ebe52f..e4f2a1a67cc 100644 --- a/lib/yuilib/3.9.0/build/app-content/app-content-min.js +++ b/lib/yuilib/3.9.1/build/app-content/app-content-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("app-content",function(e,t){function r(){n.apply(this,arguments)}var n=e.PjaxContent;r.route=["loadContent","_contentRoute"],r.prototype={showContent:function(t,n,r){t=e.one(t),typeof n=="function"&&(n={callback:n},r=null),n=e.merge({render:!1},n);var i=n.view||"",s=typeof i=="string"?i:i.name,o=typeof i!="string"?i.config:{},u=this.getViewInfo(s),a,f,l,c;return delete n.view,t&&t.isFragment()&&t.get("childNodes").size()===1&&(t=t.get("firstChild")),t&&t.get("nodeType")===1?a=t:(l=u&&u.type||e.View,c=typeof l=="string"?e.Object.getValue(e,l.split(".")):l,f=c.prototype.containerTemplate,a=e.Node.create(f),a.append(t)),o=e.merge(o,{container:a}),this.showView(s,o,n,r)},_contentRoute:function(t,n,r){var i=n.content,s=e.config.doc,o;if(!i||!i.node)return r();i.title&&s&&(o=this.onceAfter("activeViewChange",function(){s.title=i.title})),this.showContent(i.node),o&&o.detach(),r()}},r.ATTRS=e.Attribute.protectAttrs(n.ATTRS),e.mix(r,n,!1,null,1),e.App.Content=r,e.Base.mix(e.App,[r])},"3.9.0",{requires:["app-base","pjax-content"]}); +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +YUI.add("app-content",function(e,t){function r(){n.apply(this,arguments)}var n=e.PjaxContent;r.route=["loadContent","_contentRoute"],r.prototype={showContent:function(t,n,r){t=e.one(t),typeof n=="function"&&(n={callback:n},r=null),n=e.merge({render:!1},n);var i=n.view||"",s=typeof i=="string"?i:i.name,o=typeof i!="string"?i.config:{},u=this.getViewInfo(s),a,f,l,c;return delete n.view,t&&t.isFragment()&&t.get("childNodes").size()===1&&(t=t.get("firstChild")),t&&t.get("nodeType")===1?a=t:(l=u&&u.type||e.View,c=typeof l=="string"?e.Object.getValue(e,l.split(".")):l,f=c.prototype.containerTemplate,a=e.Node.create(f),a.append(t)),o=e.merge(o,{container:a}),this.showView(s,o,n,r)},_contentRoute:function(t,n,r){var i=n.content,s=e.config.doc,o;if(!i||!i.node)return r();i.title&&s&&(o=this.onceAfter("activeViewChange",function(){s.title=i.title})),this.showContent(i.node),o&&o.detach(),r()}},r.ATTRS=e.Attribute.protectAttrs(n.ATTRS),e.mix(r,n,!1,null,1),e.App.Content=r,e.Base.mix(e.App,[r])},"3.9.1",{requires:["app-base","pjax-content"]}); diff --git a/lib/yuilib/3.9.0/build/app-content/app-content.js b/lib/yuilib/3.9.1/build/app-content/app-content.js similarity index 98% rename from lib/yuilib/3.9.0/build/app-content/app-content.js rename to lib/yuilib/3.9.1/build/app-content/app-content.js index 3502debf9e9..80f0fd2d2e5 100644 --- a/lib/yuilib/3.9.0/build/app-content/app-content.js +++ b/lib/yuilib/3.9.1/build/app-content/app-content.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('app-content', function (Y, NAME) { /** @@ -232,4 +232,4 @@ Y.App.Content = AppContent; Y.Base.mix(Y.App, [AppContent]); -}, '3.9.0', {"requires": ["app-base", "pjax-content"]}); +}, '3.9.1', {"requires": ["app-base", "pjax-content"]}); diff --git a/lib/yuilib/3.9.0/build/app-transitions-css/app-transitions-css-min.css b/lib/yuilib/3.9.1/build/app-transitions-css/app-transitions-css-min.css similarity index 91% rename from lib/yuilib/3.9.0/build/app-transitions-css/app-transitions-css-min.css rename to lib/yuilib/3.9.1/build/app-transitions-css/app-transitions-css-min.css index 929ffd1ecbb..aa01464456b 100644 --- a/lib/yuilib/3.9.0/build/app-transitions-css/app-transitions-css-min.css +++ b/lib/yuilib/3.9.1/build/app-transitions-css/app-transitions-css-min.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-app-transitioning .yui3-app-views,.yui3-app-views.yui3-app-transitioning{overflow-x:hidden;position:relative;white-space:nowrap;letter-spacing:-0.31em;text-rendering:optimizespeed}.opera-only :-o-prefocus,.yui3-app-transitioning .yui3-app-views,.yui3-app-views.yui3-app-transitioning{word-spacing:-0.43em}.yui3-app-transitioning .yui3-app-views>*,.yui3-app-views.yui3-app-transitioning>*{display:inline-block;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto;width:100%;white-space:normal;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#yui3-css-stamp.app-transitions-css{display:none} diff --git a/lib/yuilib/3.9.0/build/app-transitions-css/app-transitions-css.css b/lib/yuilib/3.9.1/build/app-transitions-css/app-transitions-css.css similarity index 94% rename from lib/yuilib/3.9.0/build/app-transitions-css/app-transitions-css.css rename to lib/yuilib/3.9.1/build/app-transitions-css/app-transitions-css.css index d390b0b7cfb..590e653c9c1 100644 --- a/lib/yuilib/3.9.0/build/app-transitions-css/app-transitions-css.css +++ b/lib/yuilib/3.9.1/build/app-transitions-css/app-transitions-css.css @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-app-transitioning .yui3-app-views, .yui3-app-views.yui3-app-transitioning { overflow-x: hidden; diff --git a/lib/yuilib/3.9.0/build/app-transitions-native/app-transitions-native-coverage.js b/lib/yuilib/3.9.1/build/app-transitions-native/app-transitions-native-coverage.js similarity index 99% rename from lib/yuilib/3.9.0/build/app-transitions-native/app-transitions-native-coverage.js rename to lib/yuilib/3.9.1/build/app-transitions-native/app-transitions-native-coverage.js index 4e9e46fe3d3..5d09ff459af 100644 --- a/lib/yuilib/3.9.0/build/app-transitions-native/app-transitions-native-coverage.js +++ b/lib/yuilib/3.9.1/build/app-transitions-native/app-transitions-native-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/app-transitions-native/app-transitions-native.js"] = { path: "build/app-transitions-native/app-transitions-native.js", code: [] }; -_yuitest_coverage["build/app-transitions-native/app-transitions-native.js"].code=["YUI.add('app-transitions-native', function (Y, NAME) {","","/**","Provides the implementation of view transitions for `Y.App.Transitions` in","browsers which support native CSS3 transitions.","","@module app","@submodule app-transitions-native","@since 3.5.0","**/","","var AppTransitions = Y.App.Transitions;","","/**","Provides the implementation of view transitions for `Y.App.Transitions` in","browsers which support native CSS3 transitions.","","When this module is used, `Y.App.TransitionsNative` will automatically mix","itself in to `Y.App`.","","@class App.TransitionsNative","@extensionfor App","@since 3.5.0","**/","function AppTransitionsNative() {}","","AppTransitionsNative.prototype = {"," // -- Protected Properties -------------------------------------------------",""," /**"," Whether this app is currently transitioning its `activeView`.",""," @property _transitioning"," @type Boolean"," @default false"," @protected"," @since 3.5.0"," **/",""," /**"," A queue that holds pending calls to this app's `_uiTransitionActiveView()`"," method.",""," @property _viewTransitionQueue"," @type Array"," @default []"," @protected"," @since 3.5.0"," **/",""," // -- Lifecycle Methods ----------------------------------------------------",""," initializer: function () {"," this._transitioning = false;"," this._viewTransitionQueue = [];",""," // TODO: Consider the AOP approach that `Plugin.WidgetAnim` uses."," Y.Do.before(this._queueActiveView, this, '_uiSetActiveView');"," },",""," // -- Protected Methods ----------------------------------------------------",""," /**"," Dequeues any pending calls to `_uiTransitionActiveView()`.",""," **Note:** When there is more than one queued transition, only the most"," recent `activeView` change will be visually transitioned, while the others"," will have their `transition` option overridden to `false`.",""," @method _dequeueActiveView"," @protected"," @since 3.5.0"," **/"," _dequeueActiveView: function () {"," var queue = this._viewTransitionQueue,"," transition = queue.shift(),"," options;",""," if (transition) {"," // When items are still left in the queue, override the transition"," // so it does not run."," if (queue.length) {"," // Overrides `transition` option and splices in the new options."," options = Y.merge(transition[2], {transition: false});"," transition.splice(2, 1, options);"," }",""," this._uiTransitionActiveView.apply(this, transition);"," }"," },",""," /**"," Returns an object containing a named fx for both `viewIn` and `viewOut`"," based on the relationship between the specified `newView` and `oldView`.",""," @method _getFx"," @param {View} newView The view being transitioned-in."," @param {View} oldView The view being transitioned-out."," @param {String} [transition] The preferred transition to use."," @return {Object} An object containing a named fx for both `viewIn` and"," `viewOut`."," @protected"," @since 3.5.0"," **/"," _getFx: function (newView, oldView, transition) {"," var fx = AppTransitions.FX,"," transitions = this.get('transitions');",""," if (transition === false || !transitions) {"," return null;"," }",""," if (transition) {"," return fx[transition];"," }",""," if (this._isChildView(newView, oldView)) {"," return fx[transitions.toChild];"," }",""," if (this._isParentView(newView, oldView)) {"," return fx[transitions.toParent];"," }",""," return fx[transitions.navigate];"," },",""," /**"," Queues calls to `_uiTransitionActiveView()` to make sure a currently running"," transition isn't interrupted.",""," **Note:** This method prevents the default `_uiSetActiveView()` method from"," running.",""," @method _queueActiveView"," @protected"," @since 3.5.0"," **/"," _queueActiveView: function () {"," var args = Y.Array(arguments, 0, true);",""," this._viewTransitionQueue.push(args);",""," if (!this._transitioning) {"," this._dequeueActiveView();"," }",""," return new Y.Do.Prevent();"," },",""," /**"," Performs the actual change of this app's `activeView` by visually"," transitioning between the `newView` and `oldView` using any specified"," `options`.",""," The `newView` is attached to the app by rendering it to the `viewContainer`,"," and making this app a bubble target of its events.",""," The `oldView` is detached from the app by removing it from the"," `viewContainer`, and removing this app as a bubble target for its events."," The `oldView` will either be preserved or properly destroyed.",""," **Note:** This method overrides `_uiSetActiveView()` and provides all of its"," functionality plus supports visual transitions. Also, the `activeView`"," attribute is read-only and can be changed by calling the `showView()`"," method.",""," @method _uiTransitionActiveView"," @param {View} newView The View which is now this app's `activeView`."," @param {View} [oldView] The View which was this app's `activeView`."," @param {Object} [options] Optional object containing any of the following"," properties:"," @param {Function} [options.callback] Optional callback function to call"," after new `activeView` is ready to use, the function will be passed:"," @param {View} options.callback.view A reference to the new"," `activeView`."," @param {Boolean} [options.prepend=false] Whether the `view` should be"," prepended instead of appended to the `viewContainer`."," @param {Boolean} [options.render] Whether the `view` should be rendered."," **Note:** If no value is specified, a view instance will only be"," rendered if it's newly created by this method."," @param {Boolean|String} [options.transition] Optional transition override."," A transition can be specified which will override the default, or"," `false` for no transition."," @param {Boolean} [options.update=false] Whether an existing view should"," have its attributes updated by passing the `config` object to its"," `setAttrs()` method. **Note:** This option does not have an effect if"," the `view` instance is created as a result of calling this method."," @protected"," @since 3.5.0"," **/"," _uiTransitionActiveView: function (newView, oldView, options) {"," options || (options = {});",""," var callback = options.callback,"," container, transitioning, isChild, isParent, prepend,"," fx, fxConfig, transitions;",""," // Quits early when to new and old views are the same."," if (newView === oldView) {"," callback && callback.call(this, newView);",""," this._transitioning = false;"," return this._dequeueActiveView();"," }",""," fx = this._getFx(newView, oldView, options.transition);"," isChild = this._isChildView(newView, oldView);"," isParent = !isChild && this._isParentView(newView, oldView);"," prepend = !!options.prepend || isParent;",""," // Preforms simply attach/detach of the new and old view respectively"," // when there's no transition to perform."," if (!fx) {"," this._attachView(newView, prepend);"," this._detachView(oldView);"," callback && callback.call(this, newView);",""," this._transitioning = false;"," return this._dequeueActiveView();"," }",""," this._transitioning = true;",""," container = this.get('container');"," transitioning = Y.App.CLASS_NAMES.transitioning;",""," container.addClass(transitioning);",""," this._attachView(newView, prepend);",""," // Called when view transitions completed, if none were added this will"," // run right away."," function complete() {"," this._detachView(oldView);"," container.removeClass(transitioning);"," callback && callback.call(this, newView);",""," this._transitioning = false;"," return this._dequeueActiveView();"," }",""," // Setup a new stack to run the view transitions in parallel."," transitions = new Y.Parallel({context: this});"," fxConfig = {"," crossView: !!oldView && !!newView,"," prepended: prepend"," };",""," // Transition the new view first to prevent a gap when sliding."," if (newView && fx.viewIn) {"," newView.get('container')"," .transition(fx.viewIn, fxConfig, transitions.add());"," }",""," if (oldView && fx.viewOut) {"," oldView.get('container')"," .transition(fx.viewOut, fxConfig, transitions.add());"," }",""," transitions.done(complete);"," }","};","","// -- Transition fx ------------------------------------------------------------","Y.mix(Y.Transition.fx, {"," 'app:fadeIn': {"," opacity : 1,"," duration: 0.3,",""," on: {"," start: function (data) {"," var styles = {opacity: 0},"," config = data.config;",""," if (config.crossView && !config.prepended) {"," styles.transform = 'translateX(-100%)';"," }",""," this.setStyles(styles);"," },",""," end: function () {"," this.setStyle('transform', 'translateX(0)');"," }"," }"," },",""," 'app:fadeOut': {"," opacity : 0,"," duration: 0.3,",""," on: {"," start: function (data) {"," var styles = {opacity: 1},"," config = data.config;",""," if (config.crossView && config.prepended) {"," styles.transform = 'translateX(-100%)';"," }",""," this.setStyles(styles);"," },",""," end: function () {"," this.setStyle('transform', 'translateX(0)');"," }"," }"," },",""," 'app:slideLeft': {"," duration : 0.3,"," transform: 'translateX(-100%)',",""," on: {"," start: function () {"," this.setStyles({"," opacity : 1,"," transform: 'translateX(0%)'"," });"," },",""," end: function () {"," this.setStyle('transform', 'translateX(0)');"," }"," }"," },",""," 'app:slideRight': {"," duration : 0.3,"," transform: 'translateX(0)',",""," on: {"," start: function () {"," this.setStyles({"," opacity : 1,"," transform: 'translateX(-100%)'"," });"," },",""," end: function () {"," this.setStyle('transform', 'translateX(0)');"," }"," }"," }","});","","// -- Namespacae ---------------------------------------------------------------","Y.App.TransitionsNative = AppTransitionsNative;","Y.Base.mix(Y.App, [AppTransitionsNative]);","","","}, '3.9.0', {\"requires\": [\"app-transitions\", \"app-transitions-css\", \"parallel\", \"transition\"]});"]; +_yuitest_coverage["build/app-transitions-native/app-transitions-native.js"].code=["YUI.add('app-transitions-native', function (Y, NAME) {","","/**","Provides the implementation of view transitions for `Y.App.Transitions` in","browsers which support native CSS3 transitions.","","@module app","@submodule app-transitions-native","@since 3.5.0","**/","","var AppTransitions = Y.App.Transitions;","","/**","Provides the implementation of view transitions for `Y.App.Transitions` in","browsers which support native CSS3 transitions.","","When this module is used, `Y.App.TransitionsNative` will automatically mix","itself in to `Y.App`.","","@class App.TransitionsNative","@extensionfor App","@since 3.5.0","**/","function AppTransitionsNative() {}","","AppTransitionsNative.prototype = {"," // -- Protected Properties -------------------------------------------------",""," /**"," Whether this app is currently transitioning its `activeView`.",""," @property _transitioning"," @type Boolean"," @default false"," @protected"," @since 3.5.0"," **/",""," /**"," A queue that holds pending calls to this app's `_uiTransitionActiveView()`"," method.",""," @property _viewTransitionQueue"," @type Array"," @default []"," @protected"," @since 3.5.0"," **/",""," // -- Lifecycle Methods ----------------------------------------------------",""," initializer: function () {"," this._transitioning = false;"," this._viewTransitionQueue = [];",""," // TODO: Consider the AOP approach that `Plugin.WidgetAnim` uses."," Y.Do.before(this._queueActiveView, this, '_uiSetActiveView');"," },",""," // -- Protected Methods ----------------------------------------------------",""," /**"," Dequeues any pending calls to `_uiTransitionActiveView()`.",""," **Note:** When there is more than one queued transition, only the most"," recent `activeView` change will be visually transitioned, while the others"," will have their `transition` option overridden to `false`.",""," @method _dequeueActiveView"," @protected"," @since 3.5.0"," **/"," _dequeueActiveView: function () {"," var queue = this._viewTransitionQueue,"," transition = queue.shift(),"," options;",""," if (transition) {"," // When items are still left in the queue, override the transition"," // so it does not run."," if (queue.length) {"," // Overrides `transition` option and splices in the new options."," options = Y.merge(transition[2], {transition: false});"," transition.splice(2, 1, options);"," }",""," this._uiTransitionActiveView.apply(this, transition);"," }"," },",""," /**"," Returns an object containing a named fx for both `viewIn` and `viewOut`"," based on the relationship between the specified `newView` and `oldView`.",""," @method _getFx"," @param {View} newView The view being transitioned-in."," @param {View} oldView The view being transitioned-out."," @param {String} [transition] The preferred transition to use."," @return {Object} An object containing a named fx for both `viewIn` and"," `viewOut`."," @protected"," @since 3.5.0"," **/"," _getFx: function (newView, oldView, transition) {"," var fx = AppTransitions.FX,"," transitions = this.get('transitions');",""," if (transition === false || !transitions) {"," return null;"," }",""," if (transition) {"," return fx[transition];"," }",""," if (this._isChildView(newView, oldView)) {"," return fx[transitions.toChild];"," }",""," if (this._isParentView(newView, oldView)) {"," return fx[transitions.toParent];"," }",""," return fx[transitions.navigate];"," },",""," /**"," Queues calls to `_uiTransitionActiveView()` to make sure a currently running"," transition isn't interrupted.",""," **Note:** This method prevents the default `_uiSetActiveView()` method from"," running.",""," @method _queueActiveView"," @protected"," @since 3.5.0"," **/"," _queueActiveView: function () {"," var args = Y.Array(arguments, 0, true);",""," this._viewTransitionQueue.push(args);",""," if (!this._transitioning) {"," this._dequeueActiveView();"," }",""," return new Y.Do.Prevent();"," },",""," /**"," Performs the actual change of this app's `activeView` by visually"," transitioning between the `newView` and `oldView` using any specified"," `options`.",""," The `newView` is attached to the app by rendering it to the `viewContainer`,"," and making this app a bubble target of its events.",""," The `oldView` is detached from the app by removing it from the"," `viewContainer`, and removing this app as a bubble target for its events."," The `oldView` will either be preserved or properly destroyed.",""," **Note:** This method overrides `_uiSetActiveView()` and provides all of its"," functionality plus supports visual transitions. Also, the `activeView`"," attribute is read-only and can be changed by calling the `showView()`"," method.",""," @method _uiTransitionActiveView"," @param {View} newView The View which is now this app's `activeView`."," @param {View} [oldView] The View which was this app's `activeView`."," @param {Object} [options] Optional object containing any of the following"," properties:"," @param {Function} [options.callback] Optional callback function to call"," after new `activeView` is ready to use, the function will be passed:"," @param {View} options.callback.view A reference to the new"," `activeView`."," @param {Boolean} [options.prepend=false] Whether the `view` should be"," prepended instead of appended to the `viewContainer`."," @param {Boolean} [options.render] Whether the `view` should be rendered."," **Note:** If no value is specified, a view instance will only be"," rendered if it's newly created by this method."," @param {Boolean|String} [options.transition] Optional transition override."," A transition can be specified which will override the default, or"," `false` for no transition."," @param {Boolean} [options.update=false] Whether an existing view should"," have its attributes updated by passing the `config` object to its"," `setAttrs()` method. **Note:** This option does not have an effect if"," the `view` instance is created as a result of calling this method."," @protected"," @since 3.5.0"," **/"," _uiTransitionActiveView: function (newView, oldView, options) {"," options || (options = {});",""," var callback = options.callback,"," container, transitioning, isChild, isParent, prepend,"," fx, fxConfig, transitions;",""," // Quits early when to new and old views are the same."," if (newView === oldView) {"," callback && callback.call(this, newView);",""," this._transitioning = false;"," return this._dequeueActiveView();"," }",""," fx = this._getFx(newView, oldView, options.transition);"," isChild = this._isChildView(newView, oldView);"," isParent = !isChild && this._isParentView(newView, oldView);"," prepend = !!options.prepend || isParent;",""," // Preforms simply attach/detach of the new and old view respectively"," // when there's no transition to perform."," if (!fx) {"," this._attachView(newView, prepend);"," this._detachView(oldView);"," callback && callback.call(this, newView);",""," this._transitioning = false;"," return this._dequeueActiveView();"," }",""," this._transitioning = true;",""," container = this.get('container');"," transitioning = Y.App.CLASS_NAMES.transitioning;",""," container.addClass(transitioning);",""," this._attachView(newView, prepend);",""," // Called when view transitions completed, if none were added this will"," // run right away."," function complete() {"," this._detachView(oldView);"," container.removeClass(transitioning);"," callback && callback.call(this, newView);",""," this._transitioning = false;"," return this._dequeueActiveView();"," }",""," // Setup a new stack to run the view transitions in parallel."," transitions = new Y.Parallel({context: this});"," fxConfig = {"," crossView: !!oldView && !!newView,"," prepended: prepend"," };",""," // Transition the new view first to prevent a gap when sliding."," if (newView && fx.viewIn) {"," newView.get('container')"," .transition(fx.viewIn, fxConfig, transitions.add());"," }",""," if (oldView && fx.viewOut) {"," oldView.get('container')"," .transition(fx.viewOut, fxConfig, transitions.add());"," }",""," transitions.done(complete);"," }","};","","// -- Transition fx ------------------------------------------------------------","Y.mix(Y.Transition.fx, {"," 'app:fadeIn': {"," opacity : 1,"," duration: 0.3,",""," on: {"," start: function (data) {"," var styles = {opacity: 0},"," config = data.config;",""," if (config.crossView && !config.prepended) {"," styles.transform = 'translateX(-100%)';"," }",""," this.setStyles(styles);"," },",""," end: function () {"," this.setStyle('transform', 'translateX(0)');"," }"," }"," },",""," 'app:fadeOut': {"," opacity : 0,"," duration: 0.3,",""," on: {"," start: function (data) {"," var styles = {opacity: 1},"," config = data.config;",""," if (config.crossView && config.prepended) {"," styles.transform = 'translateX(-100%)';"," }",""," this.setStyles(styles);"," },",""," end: function () {"," this.setStyle('transform', 'translateX(0)');"," }"," }"," },",""," 'app:slideLeft': {"," duration : 0.3,"," transform: 'translateX(-100%)',",""," on: {"," start: function () {"," this.setStyles({"," opacity : 1,"," transform: 'translateX(0%)'"," });"," },",""," end: function () {"," this.setStyle('transform', 'translateX(0)');"," }"," }"," },",""," 'app:slideRight': {"," duration : 0.3,"," transform: 'translateX(0)',",""," on: {"," start: function () {"," this.setStyles({"," opacity : 1,"," transform: 'translateX(-100%)'"," });"," },",""," end: function () {"," this.setStyle('transform', 'translateX(0)');"," }"," }"," }","});","","// -- Namespacae ---------------------------------------------------------------","Y.App.TransitionsNative = AppTransitionsNative;","Y.Base.mix(Y.App, [AppTransitionsNative]);","","","}, '3.9.1', {\"requires\": [\"app-transitions\", \"app-transitions-css\", \"parallel\", \"transition\"]});"]; _yuitest_coverage["build/app-transitions-native/app-transitions-native.js"].lines = {"1":0,"12":0,"25":0,"27":0,"54":0,"55":0,"58":0,"75":0,"79":0,"82":0,"84":0,"85":0,"88":0,"106":0,"109":0,"110":0,"113":0,"114":0,"117":0,"118":0,"121":0,"122":0,"125":0,"140":0,"142":0,"144":0,"145":0,"148":0,"193":0,"195":0,"200":0,"201":0,"203":0,"204":0,"207":0,"208":0,"209":0,"210":0,"214":0,"215":0,"216":0,"217":0,"219":0,"220":0,"223":0,"225":0,"226":0,"228":0,"230":0,"234":0,"235":0,"236":0,"237":0,"239":0,"240":0,"244":0,"245":0,"251":0,"252":0,"256":0,"257":0,"261":0,"266":0,"273":0,"276":0,"277":0,"280":0,"284":0,"295":0,"298":0,"299":0,"302":0,"306":0,"317":0,"324":0,"335":0,"342":0,"349":0,"350":0}; _yuitest_coverage["build/app-transitions-native/app-transitions-native.js"].functions = {"AppTransitionsNative:25":0,"initializer:53":0,"_dequeueActiveView:74":0,"_getFx:105":0,"_queueActiveView:139":0,"complete:234":0,"_uiTransitionActiveView:192":0,"start:272":0,"end:283":0,"start:294":0,"end:305":0,"start:316":0,"end:323":0,"start:334":0,"end:341":0,"(anonymous 1):1":0}; _yuitest_coverage["build/app-transitions-native/app-transitions-native.js"].coveredLines = 79; @@ -478,4 +478,4 @@ _yuitest_coverline("build/app-transitions-native/app-transitions-native.js", 350 Y.Base.mix(Y.App, [AppTransitionsNative]); -}, '3.9.0', {"requires": ["app-transitions", "app-transitions-css", "parallel", "transition"]}); +}, '3.9.1', {"requires": ["app-transitions", "app-transitions-css", "parallel", "transition"]}); diff --git a/lib/yuilib/3.9.0/build/app-transitions-native/app-transitions-native-debug.js b/lib/yuilib/3.9.1/build/app-transitions-native/app-transitions-native-debug.js similarity index 98% rename from lib/yuilib/3.9.0/build/app-transitions-native/app-transitions-native-debug.js rename to lib/yuilib/3.9.1/build/app-transitions-native/app-transitions-native-debug.js index 3ab50e3dad9..6fdf5bab50d 100644 --- a/lib/yuilib/3.9.0/build/app-transitions-native/app-transitions-native-debug.js +++ b/lib/yuilib/3.9.1/build/app-transitions-native/app-transitions-native-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('app-transitions-native', function (Y, NAME) { /** @@ -351,4 +351,4 @@ Y.App.TransitionsNative = AppTransitionsNative; Y.Base.mix(Y.App, [AppTransitionsNative]); -}, '3.9.0', {"requires": ["app-transitions", "app-transitions-css", "parallel", "transition"]}); +}, '3.9.1', {"requires": ["app-transitions", "app-transitions-css", "parallel", "transition"]}); diff --git a/lib/yuilib/3.9.0/build/app-transitions-native/app-transitions-native-min.js b/lib/yuilib/3.9.1/build/app-transitions-native/app-transitions-native-min.js similarity index 95% rename from lib/yuilib/3.9.0/build/app-transitions-native/app-transitions-native-min.js rename to lib/yuilib/3.9.1/build/app-transitions-native/app-transitions-native-min.js index e442bf1a4a1..f1a8f0ac56a 100644 --- a/lib/yuilib/3.9.0/build/app-transitions-native/app-transitions-native-min.js +++ b/lib/yuilib/3.9.1/build/app-transitions-native/app-transitions-native-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("app-transitions-native",function(e,t){function r(){}var n=e.App.Transitions;r.prototype={initializer:function(){this._transitioning=!1,this._viewTransitionQueue=[],e.Do.before(this._queueActiveView,this,"_uiSetActiveView")},_dequeueActiveView:function(){var t=this._viewTransitionQueue,n=t.shift(),r;n&&(t.length&&(r=e.merge(n[2],{transition:!1}),n.splice(2,1,r)),this._uiTransitionActiveView.apply(this,n))},_getFx:function(e,t,r){var i=n.FX,s=this.get("transitions");return r===!1||!s?null:r?i[r]:this._isChildView(e,t)?i[s.toChild]:this._isParentView(e,t)?i[s.toParent]:i[s.navigate]},_queueActiveView:function(){var t=e.Array(arguments,0,!0);return this._viewTransitionQueue.push(t),this._transitioning||this._dequeueActiveView(),new e.Do.Prevent},_uiTransitionActiveView:function(t,n,r){function p(){return this._detachView(n),s.removeClass(o),i&&i.call(this,t),this._transitioning=!1,this._dequeueActiveView()}r||(r={});var i=r.callback,s,o,u,a,f,l,c,h;if(t===n)return i&&i.call(this,t),this._transitioning=!1,this._dequeueActiveView();l=this._getFx(t,n,r.transition),u=this._isChildView(t,n),a=!u&&this._isParentView(t,n),f=!!r.prepend||a;if(!l)return this._attachView(t,f),this._detachView(n),i&&i.call(this,t),this._transitioning=!1,this._dequeueActiveView();this._transitioning=!0,s=this.get("container"),o=e.App.CLASS_NAMES.transitioning,s.addClass(o),this._attachView(t,f),h=new e.Parallel({context:this}),c={crossView:!!n&&!!t,prepended:f},t&&l.viewIn&&t.get("container").transition(l.viewIn,c,h.add()),n&&l.viewOut&&n.get("container").transition(l.viewOut,c,h.add()),h.done(p)}},e.mix(e.Transition.fx,{"app:fadeIn":{opacity:1,duration:.3,on:{start:function(e){var t={opacity:0},n=e.config;n.crossView&&!n.prepended&&(t.transform="translateX(-100%)"),this.setStyles(t)},end:function(){this.setStyle("transform","translateX(0)")}}},"app:fadeOut":{opacity:0,duration:.3,on:{start:function(e){var t={opacity:1},n=e.config;n.crossView&&n.prepended&&(t.transform="translateX(-100%)"),this.setStyles(t)},end:function(){this.setStyle("transform","translateX(0)")}}},"app:slideLeft":{duration:.3,transform:"translateX(-100%)",on:{start:function(){this.setStyles({opacity:1,transform:"translateX(0%)"})},end:function(){this.setStyle("transform","translateX(0)")}}},"app:slideRight":{duration:.3,transform:"translateX(0)",on:{start:function(){this.setStyles({opacity:1,transform:"translateX(-100%)"})},end:function(){this.setStyle("transform","translateX(0)")}}}}),e.App.TransitionsNative=r,e.Base.mix(e.App,[r])},"3.9.0",{requires:["app-transitions","app-transitions-css","parallel","transition"]}); +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +YUI.add("app-transitions-native",function(e,t){function r(){}var n=e.App.Transitions;r.prototype={initializer:function(){this._transitioning=!1,this._viewTransitionQueue=[],e.Do.before(this._queueActiveView,this,"_uiSetActiveView")},_dequeueActiveView:function(){var t=this._viewTransitionQueue,n=t.shift(),r;n&&(t.length&&(r=e.merge(n[2],{transition:!1}),n.splice(2,1,r)),this._uiTransitionActiveView.apply(this,n))},_getFx:function(e,t,r){var i=n.FX,s=this.get("transitions");return r===!1||!s?null:r?i[r]:this._isChildView(e,t)?i[s.toChild]:this._isParentView(e,t)?i[s.toParent]:i[s.navigate]},_queueActiveView:function(){var t=e.Array(arguments,0,!0);return this._viewTransitionQueue.push(t),this._transitioning||this._dequeueActiveView(),new e.Do.Prevent},_uiTransitionActiveView:function(t,n,r){function p(){return this._detachView(n),s.removeClass(o),i&&i.call(this,t),this._transitioning=!1,this._dequeueActiveView()}r||(r={});var i=r.callback,s,o,u,a,f,l,c,h;if(t===n)return i&&i.call(this,t),this._transitioning=!1,this._dequeueActiveView();l=this._getFx(t,n,r.transition),u=this._isChildView(t,n),a=!u&&this._isParentView(t,n),f=!!r.prepend||a;if(!l)return this._attachView(t,f),this._detachView(n),i&&i.call(this,t),this._transitioning=!1,this._dequeueActiveView();this._transitioning=!0,s=this.get("container"),o=e.App.CLASS_NAMES.transitioning,s.addClass(o),this._attachView(t,f),h=new e.Parallel({context:this}),c={crossView:!!n&&!!t,prepended:f},t&&l.viewIn&&t.get("container").transition(l.viewIn,c,h.add()),n&&l.viewOut&&n.get("container").transition(l.viewOut,c,h.add()),h.done(p)}},e.mix(e.Transition.fx,{"app:fadeIn":{opacity:1,duration:.3,on:{start:function(e){var t={opacity:0},n=e.config;n.crossView&&!n.prepended&&(t.transform="translateX(-100%)"),this.setStyles(t)},end:function(){this.setStyle("transform","translateX(0)")}}},"app:fadeOut":{opacity:0,duration:.3,on:{start:function(e){var t={opacity:1},n=e.config;n.crossView&&n.prepended&&(t.transform="translateX(-100%)"),this.setStyles(t)},end:function(){this.setStyle("transform","translateX(0)")}}},"app:slideLeft":{duration:.3,transform:"translateX(-100%)",on:{start:function(){this.setStyles({opacity:1,transform:"translateX(0%)"})},end:function(){this.setStyle("transform","translateX(0)")}}},"app:slideRight":{duration:.3,transform:"translateX(0)",on:{start:function(){this.setStyles({opacity:1,transform:"translateX(-100%)"})},end:function(){this.setStyle("transform","translateX(0)")}}}}),e.App.TransitionsNative=r,e.Base.mix(e.App,[r])},"3.9.1",{requires:["app-transitions","app-transitions-css","parallel","transition"]}); diff --git a/lib/yuilib/3.9.0/build/app-transitions-native/app-transitions-native.js b/lib/yuilib/3.9.1/build/app-transitions-native/app-transitions-native.js similarity index 98% rename from lib/yuilib/3.9.0/build/app-transitions-native/app-transitions-native.js rename to lib/yuilib/3.9.1/build/app-transitions-native/app-transitions-native.js index 3ab50e3dad9..6fdf5bab50d 100644 --- a/lib/yuilib/3.9.0/build/app-transitions-native/app-transitions-native.js +++ b/lib/yuilib/3.9.1/build/app-transitions-native/app-transitions-native.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('app-transitions-native', function (Y, NAME) { /** @@ -351,4 +351,4 @@ Y.App.TransitionsNative = AppTransitionsNative; Y.Base.mix(Y.App, [AppTransitionsNative]); -}, '3.9.0', {"requires": ["app-transitions", "app-transitions-css", "parallel", "transition"]}); +}, '3.9.1', {"requires": ["app-transitions", "app-transitions-css", "parallel", "transition"]}); diff --git a/lib/yuilib/3.9.0/build/app-transitions/app-transitions-coverage.js b/lib/yuilib/3.9.1/build/app-transitions/app-transitions-coverage.js similarity index 99% rename from lib/yuilib/3.9.0/build/app-transitions/app-transitions-coverage.js rename to lib/yuilib/3.9.1/build/app-transitions/app-transitions-coverage.js index 8f1fc63e15b..1442a0a6019 100644 --- a/lib/yuilib/3.9.0/build/app-transitions/app-transitions-coverage.js +++ b/lib/yuilib/3.9.1/build/app-transitions/app-transitions-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/app-transitions/app-transitions.js"] = { path: "build/app-transitions/app-transitions.js", code: [] }; -_yuitest_coverage["build/app-transitions/app-transitions.js"].code=["YUI.add('app-transitions', function (Y, NAME) {","","/**","`Y.App` extension that provides view transitions in browsers which support","native CSS3 transitions.","","@module app","@submodule app-transitions","@since 3.5.0","**/","","/**","`Y.App` extension that provides view transitions in browsers which support","native CSS3 transitions.","","View transitions provide an nice way to move from one \"page\" to the next that is","both pleasant to the user and helps to communicate a hierarchy between sections","of an application.","","When the `\"app-transitions\"` module is used, it will automatically mix itself","into `Y.App` and transition between `activeView` changes using the following","effects:",""," - **`fade`**: Cross-fades between the old an new active views.",""," - **`slideLeft`**: The old and new active views are positioned next to each"," other and both slide to the left.",""," - **`slideRight`**: The old and new active views are positioned next to each"," other and both slide to the right.","","**Note:** Transitions are an opt-in feature and are enabled via an app's","`transitions` attribute.","","@class App.Transitions","@uses App.TransitionsNative","@extensionfor App","@since 3.5.0","**/","function AppTransitions() {}","","AppTransitions.ATTRS = {"," /**"," Whether or not this application should use view transitions, and if so then"," which ones or `true` for the defaults which are specified by the"," `transitions` prototype property.",""," **Note:** Transitions are an opt-in feature and will only be used in"," browsers which support native CSS3 transitions.",""," @attribute transitions"," @type Boolean|Object"," @default false"," @since 3.5.0"," **/"," transitions: {"," setter: '_setTransitions',"," value : false"," }","};","","/**","Collect of transitions -> fx.","","A transition (e.g. \"fade\") is a simple name given to a configuration of fx to","apply, consisting of `viewIn` and `viewOut` properties who's values are names of","fx registered on `Y.Transition.fx`.","","By default transitions: `fade`, `slideLeft`, and `slideRight` have fx defined.","","@property FX","@type Object","@static","@since 3.5.0","**/","AppTransitions.FX = {"," fade: {"," viewIn : 'app:fadeIn',"," viewOut: 'app:fadeOut'"," },",""," slideLeft: {"," viewIn : 'app:slideLeft',"," viewOut: 'app:slideLeft'"," },",""," slideRight: {"," viewIn : 'app:slideRight',"," viewOut: 'app:slideRight'"," }","};","","AppTransitions.prototype = {"," // -- Public Properties ----------------------------------------------------",""," /**"," Default transitions to use when the `activeView` changes.",""," The following are types of changes for which transitions can be defined that"," correspond to the relationship between the new and previous `activeView`:",""," * `navigate`: The default transition to use when changing the `activeView`"," of the application.",""," * `toChild`: The transition to use when the new `activeView` is configured"," as a child of the previously active view via its `parent` property as"," defined in this app's `views`.",""," * `toParent`: The transition to use when the new `activeView` is"," configured as the `parent` of the previously active view as defined in"," this app's `views`.",""," **Note:** Transitions are an opt-in feature and will only be used in"," browsers which support native CSS3 transitions.",""," @property transitions"," @type Object"," @default"," {"," navigate: 'fade',"," toChild : 'slideLeft',"," toParent: 'slideRight'"," }"," @since 3.5.0"," **/"," transitions: {"," navigate: 'fade',"," toChild : 'slideLeft',"," toParent: 'slideRight'"," },",""," // -- Public Methods -------------------------------------------------------",""," /**"," Sets which view is active/visible for the application. This will set the"," app's `activeView` attribute to the specified `view`.",""," The `view` will be \"attached\" to this app, meaning it will be both rendered"," into this app's `viewContainer` node and all of its events will bubble to"," the app. The previous `activeView` will be \"detached\" from this app.",""," When a string-name is provided for a view which has been registered on this"," app's `views` object, the referenced metadata will be used and the"," `activeView` will be set to either a preserved view instance, or a new"," instance of the registered view will be created using the specified `config`"," object passed-into this method.",""," A callback function can be specified as either the third or fourth argument,"," and this function will be called after the new `view` becomes the"," `activeView`, is rendered to the `viewContainer`, and is ready to use.",""," @example"," var app = new Y.App({"," views: {"," usersView: {"," // Imagine that `Y.UsersView` has been defined."," type: Y.UsersView"," }"," },",""," transitions: true,"," users : new Y.ModelList()"," });",""," app.route('/users/', function () {"," this.showView('usersView', {users: this.get('users')});"," });",""," app.render();"," app.navigate('/uses/');"," // => Creates a new `Y.UsersView` and transitions to it.",""," @method showView"," @param {String|View} view The name of a view defined in the `views` object,"," or a view instance which should become this app's `activeView`."," @param {Object} [config] Optional configuration to use when creating a new"," view instance. This config object can also be used to update an existing"," or preserved view's attributes when `options.update` is `true`."," @param {Object} [options] Optional object containing any of the following"," properties:"," @param {Function} [options.callback] Optional callback function to call"," after new `activeView` is ready to use, the function will be passed:"," @param {View} options.callback.view A reference to the new"," `activeView`."," @param {Boolean} [options.prepend=false] Whether the `view` should be"," prepended instead of appended to the `viewContainer`."," @param {Boolean} [options.render] Whether the `view` should be rendered."," **Note:** If no value is specified, a view instance will only be"," rendered if it's newly created by this method."," @param {Boolean|String} [options.transition] Optional transition override."," A transition can be specified which will override the default, or"," `false` for no transition."," @param {Boolean} [options.update=false] Whether an existing view should"," have its attributes updated by passing the `config` object to its"," `setAttrs()` method. **Note:** This option does not have an effect if"," the `view` instance is created as a result of calling this method."," @param {Function} [callback] Optional callback Function to call after the"," new `activeView` is ready to use. **Note:** this will override"," `options.callback` and it can be specified as either the third or fourth"," argument. The function will be passed the following:"," @param {View} callback.view A reference to the new `activeView`."," @chainable"," @since 3.5.0"," **/"," // Does not override `showView()` but does use `options.transitions`.",""," // -- Protected Methods ----------------------------------------------------",""," /**"," Setter for `transitions` attribute.",""," When specified as `true`, the defaults will be use as specified by the"," `transitions` prototype property.",""," @method _setTransitions"," @param {Boolean|Object} transitions The new `transitions` attribute value."," @return {Mixed} The processed value which represents the new state."," @protected"," @see App.Base.showView()"," @since 3.5.0"," **/"," _setTransitions: function (transitions) {"," var defTransitions = this.transitions;",""," if (transitions && transitions === true) {"," return Y.merge(defTransitions);"," }",""," return transitions;"," }","};","","// -- Namespace ----------------------------------------------------------------","Y.App.Transitions = AppTransitions;","Y.Base.mix(Y.App, [AppTransitions]);","","Y.mix(Y.App.CLASS_NAMES, {"," transitioning: Y.ClassNameManager.getClassName('app', 'transitioning')","});","","","}, '3.9.0', {\"requires\": [\"app-base\"]});"]; +_yuitest_coverage["build/app-transitions/app-transitions.js"].code=["YUI.add('app-transitions', function (Y, NAME) {","","/**","`Y.App` extension that provides view transitions in browsers which support","native CSS3 transitions.","","@module app","@submodule app-transitions","@since 3.5.0","**/","","/**","`Y.App` extension that provides view transitions in browsers which support","native CSS3 transitions.","","View transitions provide an nice way to move from one \"page\" to the next that is","both pleasant to the user and helps to communicate a hierarchy between sections","of an application.","","When the `\"app-transitions\"` module is used, it will automatically mix itself","into `Y.App` and transition between `activeView` changes using the following","effects:",""," - **`fade`**: Cross-fades between the old an new active views.",""," - **`slideLeft`**: The old and new active views are positioned next to each"," other and both slide to the left.",""," - **`slideRight`**: The old and new active views are positioned next to each"," other and both slide to the right.","","**Note:** Transitions are an opt-in feature and are enabled via an app's","`transitions` attribute.","","@class App.Transitions","@uses App.TransitionsNative","@extensionfor App","@since 3.5.0","**/","function AppTransitions() {}","","AppTransitions.ATTRS = {"," /**"," Whether or not this application should use view transitions, and if so then"," which ones or `true` for the defaults which are specified by the"," `transitions` prototype property.",""," **Note:** Transitions are an opt-in feature and will only be used in"," browsers which support native CSS3 transitions.",""," @attribute transitions"," @type Boolean|Object"," @default false"," @since 3.5.0"," **/"," transitions: {"," setter: '_setTransitions',"," value : false"," }","};","","/**","Collect of transitions -> fx.","","A transition (e.g. \"fade\") is a simple name given to a configuration of fx to","apply, consisting of `viewIn` and `viewOut` properties who's values are names of","fx registered on `Y.Transition.fx`.","","By default transitions: `fade`, `slideLeft`, and `slideRight` have fx defined.","","@property FX","@type Object","@static","@since 3.5.0","**/","AppTransitions.FX = {"," fade: {"," viewIn : 'app:fadeIn',"," viewOut: 'app:fadeOut'"," },",""," slideLeft: {"," viewIn : 'app:slideLeft',"," viewOut: 'app:slideLeft'"," },",""," slideRight: {"," viewIn : 'app:slideRight',"," viewOut: 'app:slideRight'"," }","};","","AppTransitions.prototype = {"," // -- Public Properties ----------------------------------------------------",""," /**"," Default transitions to use when the `activeView` changes.",""," The following are types of changes for which transitions can be defined that"," correspond to the relationship between the new and previous `activeView`:",""," * `navigate`: The default transition to use when changing the `activeView`"," of the application.",""," * `toChild`: The transition to use when the new `activeView` is configured"," as a child of the previously active view via its `parent` property as"," defined in this app's `views`.",""," * `toParent`: The transition to use when the new `activeView` is"," configured as the `parent` of the previously active view as defined in"," this app's `views`.",""," **Note:** Transitions are an opt-in feature and will only be used in"," browsers which support native CSS3 transitions.",""," @property transitions"," @type Object"," @default"," {"," navigate: 'fade',"," toChild : 'slideLeft',"," toParent: 'slideRight'"," }"," @since 3.5.0"," **/"," transitions: {"," navigate: 'fade',"," toChild : 'slideLeft',"," toParent: 'slideRight'"," },",""," // -- Public Methods -------------------------------------------------------",""," /**"," Sets which view is active/visible for the application. This will set the"," app's `activeView` attribute to the specified `view`.",""," The `view` will be \"attached\" to this app, meaning it will be both rendered"," into this app's `viewContainer` node and all of its events will bubble to"," the app. The previous `activeView` will be \"detached\" from this app.",""," When a string-name is provided for a view which has been registered on this"," app's `views` object, the referenced metadata will be used and the"," `activeView` will be set to either a preserved view instance, or a new"," instance of the registered view will be created using the specified `config`"," object passed-into this method.",""," A callback function can be specified as either the third or fourth argument,"," and this function will be called after the new `view` becomes the"," `activeView`, is rendered to the `viewContainer`, and is ready to use.",""," @example"," var app = new Y.App({"," views: {"," usersView: {"," // Imagine that `Y.UsersView` has been defined."," type: Y.UsersView"," }"," },",""," transitions: true,"," users : new Y.ModelList()"," });",""," app.route('/users/', function () {"," this.showView('usersView', {users: this.get('users')});"," });",""," app.render();"," app.navigate('/uses/');"," // => Creates a new `Y.UsersView` and transitions to it.",""," @method showView"," @param {String|View} view The name of a view defined in the `views` object,"," or a view instance which should become this app's `activeView`."," @param {Object} [config] Optional configuration to use when creating a new"," view instance. This config object can also be used to update an existing"," or preserved view's attributes when `options.update` is `true`."," @param {Object} [options] Optional object containing any of the following"," properties:"," @param {Function} [options.callback] Optional callback function to call"," after new `activeView` is ready to use, the function will be passed:"," @param {View} options.callback.view A reference to the new"," `activeView`."," @param {Boolean} [options.prepend=false] Whether the `view` should be"," prepended instead of appended to the `viewContainer`."," @param {Boolean} [options.render] Whether the `view` should be rendered."," **Note:** If no value is specified, a view instance will only be"," rendered if it's newly created by this method."," @param {Boolean|String} [options.transition] Optional transition override."," A transition can be specified which will override the default, or"," `false` for no transition."," @param {Boolean} [options.update=false] Whether an existing view should"," have its attributes updated by passing the `config` object to its"," `setAttrs()` method. **Note:** This option does not have an effect if"," the `view` instance is created as a result of calling this method."," @param {Function} [callback] Optional callback Function to call after the"," new `activeView` is ready to use. **Note:** this will override"," `options.callback` and it can be specified as either the third or fourth"," argument. The function will be passed the following:"," @param {View} callback.view A reference to the new `activeView`."," @chainable"," @since 3.5.0"," **/"," // Does not override `showView()` but does use `options.transitions`.",""," // -- Protected Methods ----------------------------------------------------",""," /**"," Setter for `transitions` attribute.",""," When specified as `true`, the defaults will be use as specified by the"," `transitions` prototype property.",""," @method _setTransitions"," @param {Boolean|Object} transitions The new `transitions` attribute value."," @return {Mixed} The processed value which represents the new state."," @protected"," @see App.Base.showView()"," @since 3.5.0"," **/"," _setTransitions: function (transitions) {"," var defTransitions = this.transitions;",""," if (transitions && transitions === true) {"," return Y.merge(defTransitions);"," }",""," return transitions;"," }","};","","// -- Namespace ----------------------------------------------------------------","Y.App.Transitions = AppTransitions;","Y.Base.mix(Y.App, [AppTransitions]);","","Y.mix(Y.App.CLASS_NAMES, {"," transitioning: Y.ClassNameManager.getClassName('app', 'transitioning')","});","","","}, '3.9.1', {\"requires\": [\"app-base\"]});"]; _yuitest_coverage["build/app-transitions/app-transitions.js"].lines = {"1":0,"40":0,"42":0,"76":0,"93":0,"223":0,"225":0,"226":0,"229":0,"234":0,"235":0,"237":0}; _yuitest_coverage["build/app-transitions/app-transitions.js"].functions = {"AppTransitions:40":0,"_setTransitions:222":0,"(anonymous 1):1":0}; _yuitest_coverage["build/app-transitions/app-transitions.js"].coveredLines = 12; @@ -287,4 +287,4 @@ Y.mix(Y.App.CLASS_NAMES, { }); -}, '3.9.0', {"requires": ["app-base"]}); +}, '3.9.1', {"requires": ["app-base"]}); diff --git a/lib/yuilib/3.9.0/build/app-transitions/app-transitions-debug.js b/lib/yuilib/3.9.1/build/app-transitions/app-transitions-debug.js similarity index 98% rename from lib/yuilib/3.9.0/build/app-transitions/app-transitions-debug.js rename to lib/yuilib/3.9.1/build/app-transitions/app-transitions-debug.js index 90a31879752..c7bf8402918 100644 --- a/lib/yuilib/3.9.0/build/app-transitions/app-transitions-debug.js +++ b/lib/yuilib/3.9.1/build/app-transitions/app-transitions-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('app-transitions', function (Y, NAME) { /** @@ -240,4 +240,4 @@ Y.mix(Y.App.CLASS_NAMES, { }); -}, '3.9.0', {"requires": ["app-base"]}); +}, '3.9.1', {"requires": ["app-base"]}); diff --git a/lib/yuilib/3.9.0/build/app-transitions/app-transitions-min.js b/lib/yuilib/3.9.1/build/app-transitions/app-transitions-min.js similarity index 83% rename from lib/yuilib/3.9.0/build/app-transitions/app-transitions-min.js rename to lib/yuilib/3.9.1/build/app-transitions/app-transitions-min.js index 800a4e36a19..776391a6230 100644 --- a/lib/yuilib/3.9.0/build/app-transitions/app-transitions-min.js +++ b/lib/yuilib/3.9.1/build/app-transitions/app-transitions-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("app-transitions",function(e,t){function n(){}n.ATTRS={transitions:{setter:"_setTransitions",value:!1}},n.FX={fade:{viewIn:"app:fadeIn",viewOut:"app:fadeOut"},slideLeft:{viewIn:"app:slideLeft",viewOut:"app:slideLeft"},slideRight:{viewIn:"app:slideRight",viewOut:"app:slideRight"}},n.prototype={transitions:{navigate:"fade",toChild:"slideLeft",toParent:"slideRight"},_setTransitions:function(t){var n=this.transitions;return t&&t===!0?e.merge(n):t}},e.App.Transitions=n,e.Base.mix(e.App,[n]),e.mix(e.App.CLASS_NAMES,{transitioning:e.ClassNameManager.getClassName("app","transitioning")})},"3.9.0",{requires:["app-base"]}); +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +YUI.add("app-transitions",function(e,t){function n(){}n.ATTRS={transitions:{setter:"_setTransitions",value:!1}},n.FX={fade:{viewIn:"app:fadeIn",viewOut:"app:fadeOut"},slideLeft:{viewIn:"app:slideLeft",viewOut:"app:slideLeft"},slideRight:{viewIn:"app:slideRight",viewOut:"app:slideRight"}},n.prototype={transitions:{navigate:"fade",toChild:"slideLeft",toParent:"slideRight"},_setTransitions:function(t){var n=this.transitions;return t&&t===!0?e.merge(n):t}},e.App.Transitions=n,e.Base.mix(e.App,[n]),e.mix(e.App.CLASS_NAMES,{transitioning:e.ClassNameManager.getClassName("app","transitioning")})},"3.9.1",{requires:["app-base"]}); diff --git a/lib/yuilib/3.9.0/build/app-transitions/app-transitions.js b/lib/yuilib/3.9.1/build/app-transitions/app-transitions.js similarity index 98% rename from lib/yuilib/3.9.0/build/app-transitions/app-transitions.js rename to lib/yuilib/3.9.1/build/app-transitions/app-transitions.js index 90a31879752..c7bf8402918 100644 --- a/lib/yuilib/3.9.0/build/app-transitions/app-transitions.js +++ b/lib/yuilib/3.9.1/build/app-transitions/app-transitions.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('app-transitions', function (Y, NAME) { /** @@ -240,4 +240,4 @@ Y.mix(Y.App.CLASS_NAMES, { }); -}, '3.9.0', {"requires": ["app-base"]}); +}, '3.9.1', {"requires": ["app-base"]}); diff --git a/lib/yuilib/3.9.0/build/array-extras/array-extras-coverage.js b/lib/yuilib/3.9.1/build/array-extras/array-extras-coverage.js similarity index 99% rename from lib/yuilib/3.9.0/build/array-extras/array-extras-coverage.js rename to lib/yuilib/3.9.1/build/array-extras/array-extras-coverage.js index b2b93e1e40d..5465de463fa 100644 --- a/lib/yuilib/3.9.0/build/array-extras/array-extras-coverage.js +++ b/lib/yuilib/3.9.1/build/array-extras/array-extras-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/array-extras/array-extras.js"] = { path: "build/array-extras/array-extras.js", code: [] }; -_yuitest_coverage["build/array-extras/array-extras.js"].code=["YUI.add('array-extras', function (Y, NAME) {","","/**","Adds additional utility methods to the `Y.Array` class.","","@module collection","@submodule array-extras","**/","","var A = Y.Array,"," L = Y.Lang,"," ArrayProto = Array.prototype;","","/**","Returns the index of the last item in the array that contains the specified","value, or `-1` if the value isn't found.","","@method lastIndexOf","@param {Array} a Array to search in.","@param {Any} val Value to search for.","@param {Number} [fromIndex] Index at which to start searching backwards."," Defaults to the array's length - 1. If negative, it will be taken as an offset"," from the end of the array. If the calculated index is less than 0, the array"," will not be searched and `-1` will be returned.","@return {Number} Index of the item that contains the value, or `-1` if not"," found.","@static","@for Array","**/","A.lastIndexOf = L._isNative(ArrayProto.lastIndexOf) ?"," function(a, val, fromIndex) {"," // An undefined fromIndex is still considered a value by some (all?)"," // native implementations, so we can't pass it unless it's actually"," // specified."," return fromIndex || fromIndex === 0 ? a.lastIndexOf(val, fromIndex) :"," a.lastIndexOf(val);"," } :"," function(a, val, fromIndex) {"," var len = a.length,"," i = len - 1;",""," if (fromIndex || fromIndex === 0) {"," i = Math.min(fromIndex < 0 ? len + fromIndex : fromIndex, len);"," }",""," if (i > -1 && len > 0) {"," for (; i > -1; --i) {"," if (i in a && a[i] === val) {"," return i;"," }"," }"," }",""," return -1;"," };","","/**","Returns a copy of the input array with duplicate items removed.","","Note: If the input array only contains strings, the `Y.Array.dedupe()` method is","a much faster alternative.","","@method unique","@param {Array} array Array to dedupe.","@param {Function} [testFn] Custom function to use to test the equality of two"," values. A truthy return value indicates that the values are equal. A falsy"," return value indicates that the values are not equal.",""," @param {Any} testFn.a First value to compare."," @param {Any} testFn.b Second value to compare."," @param {Number} testFn.index Index of the current item in the original"," array."," @param {Array} testFn.array The original array."," @return {Boolean} _true_ if the items are equal, _false_ otherwise.","","@return {Array} Copy of the input array with duplicate items removed.","@static","**/","A.unique = function (array, testFn) {"," var i = 0,"," len = array.length,"," results = [],"," j, result, resultLen, value;",""," // Note the label here. It's used to jump out of the inner loop when a value"," // is not unique."," outerLoop: for (; i < len; i++) {"," value = array[i];",""," // For each value in the input array, iterate through the result array"," // and check for uniqueness against each result value."," for (j = 0, resultLen = results.length; j < resultLen; j++) {"," result = results[j];",""," // If the test function returns true or there's no test function and"," // the value equals the current result item, stop iterating over the"," // results and continue to the next value in the input array."," if (testFn) {"," if (testFn.call(array, value, result, i, array)) {"," continue outerLoop;"," }"," } else if (value === result) {"," continue outerLoop;"," }"," }",""," // If we get this far, that means the current value is not already in"," // the result array, so add it."," results.push(value);"," }",""," return results;","};","","/**","Executes the supplied function on each item in the array. Returns a new array","containing the items for which the supplied function returned a truthy value.","","@method filter","@param {Array} a Array to filter.","@param {Function} f Function to execute on each item.","@param {Object} [o] Optional context object.","@return {Array} Array of items for which the supplied function returned a"," truthy value (empty if it never returned a truthy value).","@static","*/","A.filter = L._isNative(ArrayProto.filter) ?"," function(a, f, o) {"," return ArrayProto.filter.call(a, f, o);"," } :"," function(a, f, o) {"," var i = 0,"," len = a.length,"," results = [],"," item;",""," for (; i < len; ++i) {"," if (i in a) {"," item = a[i];",""," if (f.call(o, item, i, a)) {"," results.push(item);"," }"," }"," }",""," return results;"," };","","/**","The inverse of `Array.filter()`. Executes the supplied function on each item.","Returns a new array containing the items for which the supplied function","returned `false`.","","@method reject","@param {Array} a the array to iterate.","@param {Function} f the function to execute on each item.","@param {object} [o] Optional context object.","@return {Array} The items for which the supplied function returned `false`.","@static","*/","A.reject = function(a, f, o) {"," return A.filter(a, function(item, i, a) {"," return !f.call(o, item, i, a);"," });","};","","/**","Executes the supplied function on each item in the array. Iteration stops if the","supplied function does not return a truthy value.","","@method every","@param {Array} a the array to iterate.","@param {Function} f the function to execute on each item.","@param {Object} [o] Optional context object.","@return {Boolean} `true` if every item in the array returns `true` from the"," supplied function, `false` otherwise.","@static","*/","A.every = L._isNative(ArrayProto.every) ?"," function(a, f, o) {"," return ArrayProto.every.call(a, f, o);"," } :"," function(a, f, o) {"," for (var i = 0, l = a.length; i < l; ++i) {"," if (i in a && !f.call(o, a[i], i, a)) {"," return false;"," }"," }",""," return true;"," };","","/**","Executes the supplied function on each item in the array and returns a new array","containing all the values returned by the supplied function.","","@example",""," // Convert an array of numbers into an array of strings."," Y.Array.map([1, 2, 3, 4], function (item) {"," return '' + item;"," });"," // => ['1', '2', '3', '4']","","@method map","@param {Array} a the array to iterate.","@param {Function} f the function to execute on each item.","@param {object} [o] Optional context object.","@return {Array} A new array containing the return value of the supplied function"," for each item in the original array.","@static","*/","A.map = L._isNative(ArrayProto.map) ?"," function(a, f, o) {"," return ArrayProto.map.call(a, f, o);"," } :"," function(a, f, o) {"," var i = 0,"," len = a.length,"," results = ArrayProto.concat.call(a);",""," for (; i < len; ++i) {"," if (i in a) {"," results[i] = f.call(o, a[i], i, a);"," }"," }",""," return results;"," };","","","/**","Executes the supplied function on each item in the array, \"folding\" the array","into a single value.","","@method reduce","@param {Array} a Array to iterate.","@param {Any} init Initial value to start with.","@param {Function} f Function to execute on each item. This function should"," update and return the value of the computation. It will receive the following"," arguments:"," @param {Any} f.previousValue Value returned from the previous iteration,"," or the initial value if this is the first iteration."," @param {Any} f.currentValue Value of the current item being iterated."," @param {Number} f.index Index of the current item."," @param {Array} f.array Array being iterated.","@param {Object} [o] Optional context object.","@return {Any} Final result from iteratively applying the given function to each"," element in the array.","@static","*/","A.reduce = L._isNative(ArrayProto.reduce) ?"," function(a, init, f, o) {"," // ES5 Array.reduce doesn't support a thisObject, so we need to"," // implement it manually."," return ArrayProto.reduce.call(a, function(init, item, i, a) {"," return f.call(o, init, item, i, a);"," }, init);"," } :"," function(a, init, f, o) {"," var i = 0,"," len = a.length,"," result = init;",""," for (; i < len; ++i) {"," if (i in a) {"," result = f.call(o, result, a[i], i, a);"," }"," }",""," return result;"," };","","/**","Executes the supplied function on each item in the array, searching for the","first item that matches the supplied function.","","@method find","@param {Array} a the array to search.","@param {Function} f the function to execute on each item. Iteration is stopped"," as soon as this function returns `true`.","@param {Object} [o] Optional context object.","@return {Object} the first item that the supplied function returns `true` for,"," or `null` if it never returns `true`.","@static","*/","A.find = function(a, f, o) {"," for (var i = 0, l = a.length; i < l; i++) {"," if (i in a && f.call(o, a[i], i, a)) {"," return a[i];"," }"," }"," return null;","};","","/**","Iterates over an array, returning a new array of all the elements that match the","supplied regular expression.","","@method grep","@param {Array} a Array to iterate over.","@param {RegExp} pattern Regular expression to test against each item.","@return {Array} All the items in the array that produce a match against the"," supplied regular expression. If no items match, an empty array is returned.","@static","*/","A.grep = function(a, pattern) {"," return A.filter(a, function(item, index) {"," return pattern.test(item);"," });","};","","/**","Partitions an array into two new arrays, one with the items for which the","supplied function returns `true`, and one with the items for which the function","returns `false`.","","@method partition","@param {Array} a Array to iterate over.","@param {Function} f Function to execute for each item in the array. It will"," receive the following arguments:"," @param {Any} f.item Current item."," @param {Number} f.index Index of the current item."," @param {Array} f.array The array being iterated.","@param {Object} [o] Optional execution context.","@return {Object} An object with two properties: `matches` and `rejects`. Each is"," an array containing the items that were selected or rejected by the test"," function (or an empty array if none).","@static","*/","A.partition = function(a, f, o) {"," var results = {"," matches: [],"," rejects: []"," };",""," A.each(a, function(item, index) {"," var set = f.call(o, item, index, a) ? results.matches : results.rejects;"," set.push(item);"," });",""," return results;","};","","/**","Creates an array of arrays by pairing the corresponding elements of two arrays","together into a new array.","","@method zip","@param {Array} a Array to iterate over.","@param {Array} a2 Another array whose values will be paired with values of the"," first array.","@return {Array} An array of arrays formed by pairing each element of the first"," array with an item in the second array having the corresponding index.","@static","*/","A.zip = function(a, a2) {"," var results = [];"," A.each(a, function(item, index) {"," results.push([item, a2[index]]);"," });"," return results;","};","","/**","Flattens an array of nested arrays at any abitrary depth into a single, flat","array.","","@method flatten","@param {Array} a Array with nested arrays to flatten.","@return {Array} An array whose nested arrays have been flattened.","@static","@since 3.7.0","**/","A.flatten = function(a) {"," var result = [],"," i, len, val;",""," // Always return an array."," if (!a) {"," return result;"," }",""," for (i = 0, len = a.length; i < len; ++i) {"," val = a[i];",""," if (L.isArray(val)) {"," // Recusively flattens any nested arrays."," result.push.apply(result, A.flatten(val));"," } else {"," result.push(val);"," }"," }",""," return result;","};","","","}, '3.9.0', {\"requires\": [\"yui-base\"]});"]; +_yuitest_coverage["build/array-extras/array-extras.js"].code=["YUI.add('array-extras', function (Y, NAME) {","","/**","Adds additional utility methods to the `Y.Array` class.","","@module collection","@submodule array-extras","**/","","var A = Y.Array,"," L = Y.Lang,"," ArrayProto = Array.prototype;","","/**","Returns the index of the last item in the array that contains the specified","value, or `-1` if the value isn't found.","","@method lastIndexOf","@param {Array} a Array to search in.","@param {Any} val Value to search for.","@param {Number} [fromIndex] Index at which to start searching backwards."," Defaults to the array's length - 1. If negative, it will be taken as an offset"," from the end of the array. If the calculated index is less than 0, the array"," will not be searched and `-1` will be returned.","@return {Number} Index of the item that contains the value, or `-1` if not"," found.","@static","@for Array","**/","A.lastIndexOf = L._isNative(ArrayProto.lastIndexOf) ?"," function(a, val, fromIndex) {"," // An undefined fromIndex is still considered a value by some (all?)"," // native implementations, so we can't pass it unless it's actually"," // specified."," return fromIndex || fromIndex === 0 ? a.lastIndexOf(val, fromIndex) :"," a.lastIndexOf(val);"," } :"," function(a, val, fromIndex) {"," var len = a.length,"," i = len - 1;",""," if (fromIndex || fromIndex === 0) {"," i = Math.min(fromIndex < 0 ? len + fromIndex : fromIndex, len);"," }",""," if (i > -1 && len > 0) {"," for (; i > -1; --i) {"," if (i in a && a[i] === val) {"," return i;"," }"," }"," }",""," return -1;"," };","","/**","Returns a copy of the input array with duplicate items removed.","","Note: If the input array only contains strings, the `Y.Array.dedupe()` method is","a much faster alternative.","","@method unique","@param {Array} array Array to dedupe.","@param {Function} [testFn] Custom function to use to test the equality of two"," values. A truthy return value indicates that the values are equal. A falsy"," return value indicates that the values are not equal.",""," @param {Any} testFn.a First value to compare."," @param {Any} testFn.b Second value to compare."," @param {Number} testFn.index Index of the current item in the original"," array."," @param {Array} testFn.array The original array."," @return {Boolean} _true_ if the items are equal, _false_ otherwise.","","@return {Array} Copy of the input array with duplicate items removed.","@static","**/","A.unique = function (array, testFn) {"," var i = 0,"," len = array.length,"," results = [],"," j, result, resultLen, value;",""," // Note the label here. It's used to jump out of the inner loop when a value"," // is not unique."," outerLoop: for (; i < len; i++) {"," value = array[i];",""," // For each value in the input array, iterate through the result array"," // and check for uniqueness against each result value."," for (j = 0, resultLen = results.length; j < resultLen; j++) {"," result = results[j];",""," // If the test function returns true or there's no test function and"," // the value equals the current result item, stop iterating over the"," // results and continue to the next value in the input array."," if (testFn) {"," if (testFn.call(array, value, result, i, array)) {"," continue outerLoop;"," }"," } else if (value === result) {"," continue outerLoop;"," }"," }",""," // If we get this far, that means the current value is not already in"," // the result array, so add it."," results.push(value);"," }",""," return results;","};","","/**","Executes the supplied function on each item in the array. Returns a new array","containing the items for which the supplied function returned a truthy value.","","@method filter","@param {Array} a Array to filter.","@param {Function} f Function to execute on each item.","@param {Object} [o] Optional context object.","@return {Array} Array of items for which the supplied function returned a"," truthy value (empty if it never returned a truthy value).","@static","*/","A.filter = L._isNative(ArrayProto.filter) ?"," function(a, f, o) {"," return ArrayProto.filter.call(a, f, o);"," } :"," function(a, f, o) {"," var i = 0,"," len = a.length,"," results = [],"," item;",""," for (; i < len; ++i) {"," if (i in a) {"," item = a[i];",""," if (f.call(o, item, i, a)) {"," results.push(item);"," }"," }"," }",""," return results;"," };","","/**","The inverse of `Array.filter()`. Executes the supplied function on each item.","Returns a new array containing the items for which the supplied function","returned `false`.","","@method reject","@param {Array} a the array to iterate.","@param {Function} f the function to execute on each item.","@param {object} [o] Optional context object.","@return {Array} The items for which the supplied function returned `false`.","@static","*/","A.reject = function(a, f, o) {"," return A.filter(a, function(item, i, a) {"," return !f.call(o, item, i, a);"," });","};","","/**","Executes the supplied function on each item in the array. Iteration stops if the","supplied function does not return a truthy value.","","@method every","@param {Array} a the array to iterate.","@param {Function} f the function to execute on each item.","@param {Object} [o] Optional context object.","@return {Boolean} `true` if every item in the array returns `true` from the"," supplied function, `false` otherwise.","@static","*/","A.every = L._isNative(ArrayProto.every) ?"," function(a, f, o) {"," return ArrayProto.every.call(a, f, o);"," } :"," function(a, f, o) {"," for (var i = 0, l = a.length; i < l; ++i) {"," if (i in a && !f.call(o, a[i], i, a)) {"," return false;"," }"," }",""," return true;"," };","","/**","Executes the supplied function on each item in the array and returns a new array","containing all the values returned by the supplied function.","","@example",""," // Convert an array of numbers into an array of strings."," Y.Array.map([1, 2, 3, 4], function (item) {"," return '' + item;"," });"," // => ['1', '2', '3', '4']","","@method map","@param {Array} a the array to iterate.","@param {Function} f the function to execute on each item.","@param {object} [o] Optional context object.","@return {Array} A new array containing the return value of the supplied function"," for each item in the original array.","@static","*/","A.map = L._isNative(ArrayProto.map) ?"," function(a, f, o) {"," return ArrayProto.map.call(a, f, o);"," } :"," function(a, f, o) {"," var i = 0,"," len = a.length,"," results = ArrayProto.concat.call(a);",""," for (; i < len; ++i) {"," if (i in a) {"," results[i] = f.call(o, a[i], i, a);"," }"," }",""," return results;"," };","","","/**","Executes the supplied function on each item in the array, \"folding\" the array","into a single value.","","@method reduce","@param {Array} a Array to iterate.","@param {Any} init Initial value to start with.","@param {Function} f Function to execute on each item. This function should"," update and return the value of the computation. It will receive the following"," arguments:"," @param {Any} f.previousValue Value returned from the previous iteration,"," or the initial value if this is the first iteration."," @param {Any} f.currentValue Value of the current item being iterated."," @param {Number} f.index Index of the current item."," @param {Array} f.array Array being iterated.","@param {Object} [o] Optional context object.","@return {Any} Final result from iteratively applying the given function to each"," element in the array.","@static","*/","A.reduce = L._isNative(ArrayProto.reduce) ?"," function(a, init, f, o) {"," // ES5 Array.reduce doesn't support a thisObject, so we need to"," // implement it manually."," return ArrayProto.reduce.call(a, function(init, item, i, a) {"," return f.call(o, init, item, i, a);"," }, init);"," } :"," function(a, init, f, o) {"," var i = 0,"," len = a.length,"," result = init;",""," for (; i < len; ++i) {"," if (i in a) {"," result = f.call(o, result, a[i], i, a);"," }"," }",""," return result;"," };","","/**","Executes the supplied function on each item in the array, searching for the","first item that matches the supplied function.","","@method find","@param {Array} a the array to search.","@param {Function} f the function to execute on each item. Iteration is stopped"," as soon as this function returns `true`.","@param {Object} [o] Optional context object.","@return {Object} the first item that the supplied function returns `true` for,"," or `null` if it never returns `true`.","@static","*/","A.find = function(a, f, o) {"," for (var i = 0, l = a.length; i < l; i++) {"," if (i in a && f.call(o, a[i], i, a)) {"," return a[i];"," }"," }"," return null;","};","","/**","Iterates over an array, returning a new array of all the elements that match the","supplied regular expression.","","@method grep","@param {Array} a Array to iterate over.","@param {RegExp} pattern Regular expression to test against each item.","@return {Array} All the items in the array that produce a match against the"," supplied regular expression. If no items match, an empty array is returned.","@static","*/","A.grep = function(a, pattern) {"," return A.filter(a, function(item, index) {"," return pattern.test(item);"," });","};","","/**","Partitions an array into two new arrays, one with the items for which the","supplied function returns `true`, and one with the items for which the function","returns `false`.","","@method partition","@param {Array} a Array to iterate over.","@param {Function} f Function to execute for each item in the array. It will"," receive the following arguments:"," @param {Any} f.item Current item."," @param {Number} f.index Index of the current item."," @param {Array} f.array The array being iterated.","@param {Object} [o] Optional execution context.","@return {Object} An object with two properties: `matches` and `rejects`. Each is"," an array containing the items that were selected or rejected by the test"," function (or an empty array if none).","@static","*/","A.partition = function(a, f, o) {"," var results = {"," matches: [],"," rejects: []"," };",""," A.each(a, function(item, index) {"," var set = f.call(o, item, index, a) ? results.matches : results.rejects;"," set.push(item);"," });",""," return results;","};","","/**","Creates an array of arrays by pairing the corresponding elements of two arrays","together into a new array.","","@method zip","@param {Array} a Array to iterate over.","@param {Array} a2 Another array whose values will be paired with values of the"," first array.","@return {Array} An array of arrays formed by pairing each element of the first"," array with an item in the second array having the corresponding index.","@static","*/","A.zip = function(a, a2) {"," var results = [];"," A.each(a, function(item, index) {"," results.push([item, a2[index]]);"," });"," return results;","};","","/**","Flattens an array of nested arrays at any abitrary depth into a single, flat","array.","","@method flatten","@param {Array} a Array with nested arrays to flatten.","@return {Array} An array whose nested arrays have been flattened.","@static","@since 3.7.0","**/","A.flatten = function(a) {"," var result = [],"," i, len, val;",""," // Always return an array."," if (!a) {"," return result;"," }",""," for (i = 0, len = a.length; i < len; ++i) {"," val = a[i];",""," if (L.isArray(val)) {"," // Recusively flattens any nested arrays."," result.push.apply(result, A.flatten(val));"," } else {"," result.push(val);"," }"," }",""," return result;","};","","","}, '3.9.1', {\"requires\": [\"yui-base\"]});"]; _yuitest_coverage["build/array-extras/array-extras.js"].lines = {"1":0,"10":0,"30":0,"35":0,"39":0,"42":0,"43":0,"46":0,"47":0,"48":0,"49":0,"54":0,"79":0,"80":0,"87":0,"88":0,"92":0,"93":0,"98":0,"99":0,"100":0,"102":0,"103":0,"109":0,"112":0,"127":0,"129":0,"132":0,"137":0,"138":0,"139":0,"141":0,"142":0,"147":0,"162":0,"163":0,"164":0,"180":0,"182":0,"185":0,"186":0,"187":0,"191":0,"214":0,"216":0,"219":0,"223":0,"224":0,"225":0,"229":0,"253":0,"257":0,"258":0,"262":0,"266":0,"267":0,"268":0,"272":0,"288":0,"289":0,"290":0,"291":0,"294":0,"308":0,"309":0,"310":0,"332":0,"333":0,"338":0,"339":0,"340":0,"343":0,"358":0,"359":0,"360":0,"361":0,"363":0,"376":0,"377":0,"381":0,"382":0,"385":0,"386":0,"388":0,"390":0,"392":0,"396":0}; _yuitest_coverage["build/array-extras/array-extras.js"].functions = {"(anonymous 2):31":0,"}:38":0,"unique:79":0,"(anonymous 3):128":0,"}:131":0,"(anonymous 4):163":0,"reject:162":0,"(anonymous 5):181":0,"}:184":0,"(anonymous 6):215":0,"}:218":0,"(anonymous 8):257":0,"(anonymous 7):254":0,"}:261":0,"find:288":0,"(anonymous 9):309":0,"grep:308":0,"(anonymous 10):338":0,"partition:332":0,"(anonymous 11):360":0,"zip:358":0,"flatten:376":0,"(anonymous 1):1":0}; _yuitest_coverage["build/array-extras/array-extras.js"].coveredLines = 87; @@ -541,4 +541,4 @@ return result; }; -}, '3.9.0', {"requires": ["yui-base"]}); +}, '3.9.1', {"requires": ["yui-base"]}); diff --git a/lib/yuilib/3.9.0/build/array-extras/array-extras-debug.js b/lib/yuilib/3.9.1/build/array-extras/array-extras-debug.js similarity index 99% rename from lib/yuilib/3.9.0/build/array-extras/array-extras-debug.js rename to lib/yuilib/3.9.1/build/array-extras/array-extras-debug.js index 5d212b566c4..b8751f86892 100644 --- a/lib/yuilib/3.9.0/build/array-extras/array-extras-debug.js +++ b/lib/yuilib/3.9.1/build/array-extras/array-extras-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('array-extras', function (Y, NAME) { /** @@ -398,4 +398,4 @@ A.flatten = function(a) { }; -}, '3.9.0', {"requires": ["yui-base"]}); +}, '3.9.1', {"requires": ["yui-base"]}); diff --git a/lib/yuilib/3.9.0/build/array-extras/array-extras-min.js b/lib/yuilib/3.9.1/build/array-extras/array-extras-min.js similarity index 95% rename from lib/yuilib/3.9.0/build/array-extras/array-extras-min.js rename to lib/yuilib/3.9.1/build/array-extras/array-extras-min.js index dca58bf9cc4..b93477d3d8a 100644 --- a/lib/yuilib/3.9.0/build/array-extras/array-extras-min.js +++ b/lib/yuilib/3.9.1/build/array-extras/array-extras-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("array-extras",function(e,t){var n=e.Array,r=e.Lang,i=Array.prototype;n.lastIndexOf=r._isNative(i.lastIndexOf)?function(e,t,n){return n||n===0?e.lastIndexOf(t,n):e.lastIndexOf(t)}:function(e,t,n){var r=e.length,i=r-1;if(n||n===0)i=Math.min(n<0?r+n:n,r);if(i>-1&&r>0)for(;i>-1;--i)if(i in e&&e[i]===t)return i;return-1},n.unique=function(e,t){var n=0,r=e.length,i=[],s,o,u,a;e:for(;n-1&&r>0)for(;i>-1;--i)if(i in e&&e[i]===t)return i;return-1},n.unique=function(e,t){var n=0,r=e.length,i=[],s,o,u,a;e:for(;n= 0; --i) {"," if (comparator.call(this, needle, this.item(i))) {"," this._items.splice(i, 1);"," if (!all) {"," break;"," }"," }"," }",""," return this;"," },",""," /**"," * Default comparator for items stored in this list. Used by remove()."," *"," * @method itemsAreEqual"," * @param { mixed } a item to test equivalence with."," * @param { mixed } b other item to test equivalance."," * @return { Boolean } true if items are deemed equivalent."," * @for ArrayList"," * @deprecated Use ModelList or a custom ArrayList subclass"," */"," itemsAreEqual: function(a, b) {"," return a === b;"," }","","});","","","}, '3.9.0', {\"requires\": [\"arraylist\"]});"]; +_yuitest_coverage["build/arraylist-add/arraylist-add.js"].code=["YUI.add('arraylist-add', function (Y, NAME) {","","/**"," * Collection utilities beyond what is provided in the YUI core"," * @module collection"," * @submodule arraylist-add"," * @deprecated Use ModelList or a custom ArrayList subclass"," */","","/*"," * Adds methods add and remove to Y.ArrayList"," */","Y.mix(Y.ArrayList.prototype, {",""," /**"," * Add a single item to the ArrayList. Does not prevent duplicates."," *"," * @method add"," * @param { mixed } item Item presumably of the same type as others in the"," * ArrayList."," * @param {Number} index (Optional.) Number representing the position at"," * which the item should be inserted."," * @return {ArrayList} the instance."," * @for ArrayList"," * @deprecated Use ModelList or a custom ArrayList subclass"," * @chainable"," */"," add: function(item, index) {"," var items = this._items;",""," if (Y.Lang.isNumber(index)) {"," items.splice(index, 0, item);"," }"," else {"," items.push(item);"," }",""," return this;"," },",""," /**"," * Removes first or all occurrences of an item to the ArrayList. If a"," * comparator is not provided, uses itemsAreEqual method to determine"," * matches."," *"," * @method remove"," * @param { mixed } needle Item to find and remove from the list."," * @param { Boolean } all If true, remove all occurrences."," * @param { Function } comparator optional a/b function to test equivalence."," * @return {ArrayList} the instance."," * @for ArrayList"," * @deprecated Use ModelList or a custom ArrayList subclass"," * @chainable"," */"," remove: function(needle, all, comparator) {"," comparator = comparator || this.itemsAreEqual;",""," for (var i = this._items.length - 1; i >= 0; --i) {"," if (comparator.call(this, needle, this.item(i))) {"," this._items.splice(i, 1);"," if (!all) {"," break;"," }"," }"," }",""," return this;"," },",""," /**"," * Default comparator for items stored in this list. Used by remove()."," *"," * @method itemsAreEqual"," * @param { mixed } a item to test equivalence with."," * @param { mixed } b other item to test equivalance."," * @return { Boolean } true if items are deemed equivalent."," * @for ArrayList"," * @deprecated Use ModelList or a custom ArrayList subclass"," */"," itemsAreEqual: function(a, b) {"," return a === b;"," }","","});","","","}, '3.9.1', {\"requires\": [\"arraylist\"]});"]; _yuitest_coverage["build/arraylist-add/arraylist-add.js"].lines = {"1":0,"13":0,"29":0,"31":0,"32":0,"35":0,"38":0,"56":0,"58":0,"59":0,"60":0,"61":0,"62":0,"67":0,"81":0}; _yuitest_coverage["build/arraylist-add/arraylist-add.js"].functions = {"add:28":0,"remove:55":0,"itemsAreEqual:80":0,"(anonymous 1):1":0}; _yuitest_coverage["build/arraylist-add/arraylist-add.js"].coveredLines = 15; @@ -137,4 +137,4 @@ return a === b; }); -}, '3.9.0', {"requires": ["arraylist"]}); +}, '3.9.1', {"requires": ["arraylist"]}); diff --git a/lib/yuilib/3.9.0/build/arraylist-add/arraylist-add-debug.js b/lib/yuilib/3.9.1/build/arraylist-add/arraylist-add-debug.js similarity index 95% rename from lib/yuilib/3.9.0/build/arraylist-add/arraylist-add-debug.js rename to lib/yuilib/3.9.1/build/arraylist-add/arraylist-add-debug.js index ff22ff2e06c..7712cc971c7 100644 --- a/lib/yuilib/3.9.0/build/arraylist-add/arraylist-add-debug.js +++ b/lib/yuilib/3.9.1/build/arraylist-add/arraylist-add-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('arraylist-add', function (Y, NAME) { /** @@ -85,4 +85,4 @@ Y.mix(Y.ArrayList.prototype, { }); -}, '3.9.0', {"requires": ["arraylist"]}); +}, '3.9.1', {"requires": ["arraylist"]}); diff --git a/lib/yuilib/3.9.0/build/arraylist-add/arraylist-add-min.js b/lib/yuilib/3.9.1/build/arraylist-add/arraylist-add-min.js similarity index 74% rename from lib/yuilib/3.9.0/build/arraylist-add/arraylist-add-min.js rename to lib/yuilib/3.9.1/build/arraylist-add/arraylist-add-min.js index f3551f8d447..1e0deb07f27 100644 --- a/lib/yuilib/3.9.0/build/arraylist-add/arraylist-add-min.js +++ b/lib/yuilib/3.9.1/build/arraylist-add/arraylist-add-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("arraylist-add",function(e,t){e.mix(e.ArrayList.prototype,{add:function(t,n){var r=this._items;return e.Lang.isNumber(n)?r.splice(n,0,t):r.push(t),this},remove:function(e,t,n){n=n||this.itemsAreEqual;for(var r=this._items.length-1;r>=0;--r)if(n.call(this,e,this.item(r))){this._items.splice(r,1);if(!t)break}return this},itemsAreEqual:function(e,t){return e===t}})},"3.9.0",{requires:["arraylist"]}); +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +YUI.add("arraylist-add",function(e,t){e.mix(e.ArrayList.prototype,{add:function(t,n){var r=this._items;return e.Lang.isNumber(n)?r.splice(n,0,t):r.push(t),this},remove:function(e,t,n){n=n||this.itemsAreEqual;for(var r=this._items.length-1;r>=0;--r)if(n.call(this,e,this.item(r))){this._items.splice(r,1);if(!t)break}return this},itemsAreEqual:function(e,t){return e===t}})},"3.9.1",{requires:["arraylist"]}); diff --git a/lib/yuilib/3.9.0/build/arraylist-add/arraylist-add.js b/lib/yuilib/3.9.1/build/arraylist-add/arraylist-add.js similarity index 95% rename from lib/yuilib/3.9.0/build/arraylist-add/arraylist-add.js rename to lib/yuilib/3.9.1/build/arraylist-add/arraylist-add.js index ff22ff2e06c..7712cc971c7 100644 --- a/lib/yuilib/3.9.0/build/arraylist-add/arraylist-add.js +++ b/lib/yuilib/3.9.1/build/arraylist-add/arraylist-add.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('arraylist-add', function (Y, NAME) { /** @@ -85,4 +85,4 @@ Y.mix(Y.ArrayList.prototype, { }); -}, '3.9.0', {"requires": ["arraylist"]}); +}, '3.9.1', {"requires": ["arraylist"]}); diff --git a/lib/yuilib/3.9.0/build/arraylist-filter/arraylist-filter-coverage.js b/lib/yuilib/3.9.1/build/arraylist-filter/arraylist-filter-coverage.js similarity index 96% rename from lib/yuilib/3.9.0/build/arraylist-filter/arraylist-filter-coverage.js rename to lib/yuilib/3.9.1/build/arraylist-filter/arraylist-filter-coverage.js index 3ad98e77ee8..855c28e267c 100644 --- a/lib/yuilib/3.9.0/build/arraylist-filter/arraylist-filter-coverage.js +++ b/lib/yuilib/3.9.1/build/arraylist-filter/arraylist-filter-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/arraylist-filter/arraylist-filter.js"] = { path: "build/arraylist-filter/arraylist-filter.js", code: [] }; -_yuitest_coverage["build/arraylist-filter/arraylist-filter.js"].code=["YUI.add('arraylist-filter', function (Y, NAME) {","","/**"," * Collection utilities beyond what is provided in the YUI core"," * @module collection"," * @submodule arraylist-filter"," * @deprecated Use ModelList or a custom subclass implementation"," */","","/*"," * Adds filter method to ArrayList prototype"," */","Y.mix(Y.ArrayList.prototype, {",""," /**"," *

Create a new ArrayList (or augmenting class instance) from a subset"," * of items as determined by the boolean function passed as the"," * argument. The original ArrayList is unchanged.

"," *"," *

The validator signature is validator( item ).

"," *"," * @method filter"," * @param { Function } validator Boolean function to determine in or out."," * @return { ArrayList } New instance based on who passed the validator."," * @for ArrayList"," * @deprecated Use ModelList or a custom subclass implementation"," */"," filter: function(validator) {"," var items = [];",""," Y.Array.each(this._items, function(item, i) {"," item = this.item(i);",""," if (validator(item)) {"," items.push(item);"," }"," }, this);",""," return new this.constructor(items);"," }","","});","","","}, '3.9.0', {\"requires\": [\"arraylist\"]});"]; +_yuitest_coverage["build/arraylist-filter/arraylist-filter.js"].code=["YUI.add('arraylist-filter', function (Y, NAME) {","","/**"," * Collection utilities beyond what is provided in the YUI core"," * @module collection"," * @submodule arraylist-filter"," * @deprecated Use ModelList or a custom subclass implementation"," */","","/*"," * Adds filter method to ArrayList prototype"," */","Y.mix(Y.ArrayList.prototype, {",""," /**"," *

Create a new ArrayList (or augmenting class instance) from a subset"," * of items as determined by the boolean function passed as the"," * argument. The original ArrayList is unchanged.

"," *"," *

The validator signature is validator( item ).

"," *"," * @method filter"," * @param { Function } validator Boolean function to determine in or out."," * @return { ArrayList } New instance based on who passed the validator."," * @for ArrayList"," * @deprecated Use ModelList or a custom subclass implementation"," */"," filter: function(validator) {"," var items = [];",""," Y.Array.each(this._items, function(item, i) {"," item = this.item(i);",""," if (validator(item)) {"," items.push(item);"," }"," }, this);",""," return new this.constructor(items);"," }","","});","","","}, '3.9.1', {\"requires\": [\"arraylist\"]});"]; _yuitest_coverage["build/arraylist-filter/arraylist-filter.js"].lines = {"1":0,"13":0,"29":0,"31":0,"32":0,"34":0,"35":0,"39":0}; _yuitest_coverage["build/arraylist-filter/arraylist-filter.js"].functions = {"(anonymous 2):31":0,"filter:28":0,"(anonymous 1):1":0}; _yuitest_coverage["build/arraylist-filter/arraylist-filter.js"].coveredLines = 8; @@ -87,4 +87,4 @@ return new this.constructor(items); }); -}, '3.9.0', {"requires": ["arraylist"]}); +}, '3.9.1', {"requires": ["arraylist"]}); diff --git a/lib/yuilib/3.9.0/build/arraylist-filter/arraylist-filter-debug.js b/lib/yuilib/3.9.1/build/arraylist-filter/arraylist-filter-debug.js similarity index 92% rename from lib/yuilib/3.9.0/build/arraylist-filter/arraylist-filter-debug.js rename to lib/yuilib/3.9.1/build/arraylist-filter/arraylist-filter-debug.js index 9d94435b7bd..f451f9c33a1 100644 --- a/lib/yuilib/3.9.0/build/arraylist-filter/arraylist-filter-debug.js +++ b/lib/yuilib/3.9.1/build/arraylist-filter/arraylist-filter-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('arraylist-filter', function (Y, NAME) { /** @@ -43,4 +43,4 @@ Y.mix(Y.ArrayList.prototype, { }); -}, '3.9.0', {"requires": ["arraylist"]}); +}, '3.9.1', {"requires": ["arraylist"]}); diff --git a/lib/yuilib/3.9.0/build/arraylist-filter/arraylist-filter-min.js b/lib/yuilib/3.9.1/build/arraylist-filter/arraylist-filter-min.js similarity index 64% rename from lib/yuilib/3.9.0/build/arraylist-filter/arraylist-filter-min.js rename to lib/yuilib/3.9.1/build/arraylist-filter/arraylist-filter-min.js index d346255fca5..19e2195f938 100644 --- a/lib/yuilib/3.9.0/build/arraylist-filter/arraylist-filter-min.js +++ b/lib/yuilib/3.9.1/build/arraylist-filter/arraylist-filter-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("arraylist-filter",function(e,t){e.mix(e.ArrayList.prototype,{filter:function(t){var n=[];return e.Array.each(this._items,function(e,r){e=this.item(r),t(e)&&n.push(e)},this),new this.constructor(n)}})},"3.9.0",{requires:["arraylist"]}); +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +YUI.add("arraylist-filter",function(e,t){e.mix(e.ArrayList.prototype,{filter:function(t){var n=[];return e.Array.each(this._items,function(e,r){e=this.item(r),t(e)&&n.push(e)},this),new this.constructor(n)}})},"3.9.1",{requires:["arraylist"]}); diff --git a/lib/yuilib/3.9.0/build/arraylist-filter/arraylist-filter.js b/lib/yuilib/3.9.1/build/arraylist-filter/arraylist-filter.js similarity index 92% rename from lib/yuilib/3.9.0/build/arraylist-filter/arraylist-filter.js rename to lib/yuilib/3.9.1/build/arraylist-filter/arraylist-filter.js index 9d94435b7bd..f451f9c33a1 100644 --- a/lib/yuilib/3.9.0/build/arraylist-filter/arraylist-filter.js +++ b/lib/yuilib/3.9.1/build/arraylist-filter/arraylist-filter.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('arraylist-filter', function (Y, NAME) { /** @@ -43,4 +43,4 @@ Y.mix(Y.ArrayList.prototype, { }); -}, '3.9.0', {"requires": ["arraylist"]}); +}, '3.9.1', {"requires": ["arraylist"]}); diff --git a/lib/yuilib/3.9.0/build/arraylist/arraylist-coverage.js b/lib/yuilib/3.9.1/build/arraylist/arraylist-coverage.js similarity index 99% rename from lib/yuilib/3.9.0/build/arraylist/arraylist-coverage.js rename to lib/yuilib/3.9.1/build/arraylist/arraylist-coverage.js index b13877a4810..624560a117e 100644 --- a/lib/yuilib/3.9.0/build/arraylist/arraylist-coverage.js +++ b/lib/yuilib/3.9.1/build/arraylist/arraylist-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/arraylist/arraylist.js"] = { path: "build/arraylist/arraylist.js", code: [] }; -_yuitest_coverage["build/arraylist/arraylist.js"].code=["YUI.add('arraylist', function (Y, NAME) {","","/**"," * Collection utilities beyond what is provided in the YUI core"," * @module collection"," * @submodule arraylist"," */","","var YArray = Y.Array,"," YArray_each = YArray.each,"," ArrayListProto;","","/**"," * Generic ArrayList class for managing lists of items and iterating operations"," * over them. The targeted use for this class is for augmentation onto a"," * class that is responsible for managing multiple instances of another class"," * (e.g. NodeList for Nodes). The recommended use is to augment your class with"," * ArrayList, then use ArrayList.addMethod to mirror the API of the constituent"," * items on the list's API."," *"," * The default implementation creates immutable lists, but mutability can be"," * provided via the arraylist-add submodule or by implementing mutation methods"," * directly on the augmented class's prototype."," *"," * @class ArrayList"," * @constructor"," * @param items { Array } array of items this list will be responsible for"," */","function ArrayList( items ) {"," if ( items !== undefined ) {"," this._items = Y.Lang.isArray( items ) ? items : YArray( items );"," } else {"," // ||= to support lazy initialization from augment"," this._items = this._items || [];"," }","}","","ArrayListProto = {"," /**"," * Get an item by index from the list. Override this method if managing a"," * list of objects that have a different public representation (e.g. Node"," * instances vs DOM nodes). The iteration methods that accept a user"," * function will use this method for access list items for operation."," *"," * @method item"," * @param i { Integer } index to fetch"," * @return { mixed } the item at the requested index"," */"," item: function ( i ) {"," return this._items[i];"," },",""," /**"," *

Execute a function on each item of the list, optionally providing a"," * custom execution context. Default context is the item.

"," *"," *

The callback signature is callback( item, index ).

"," *"," * @method each"," * @param fn { Function } the function to execute"," * @param context { mixed } optional override 'this' in the function"," * @return { ArrayList } this instance"," * @chainable"," */"," each: function ( fn, context ) {"," YArray_each( this._items, function ( item, i ) {"," item = this.item( i );",""," fn.call( context || item, item, i, this );"," }, this);",""," return this;"," },",""," /**"," *

Execute a function on each item of the list, optionally providing a"," * custom execution context. Default context is the item.

"," *"," *

The callback signature is callback( item, index ).

"," *"," *

Unlike each, if the callback returns true, the"," * iteratation will stop.

"," *"," * @method some"," * @param fn { Function } the function to execute"," * @param context { mixed } optional override 'this' in the function"," * @return { Boolean } True if the function returned true on an item"," */"," some: function ( fn, context ) {"," return YArray.some( this._items, function ( item, i ) {"," item = this.item( i );",""," return fn.call( context || item, item, i, this );"," }, this);"," },",""," /**"," * Finds the first index of the needle in the managed array of items."," *"," * @method indexOf"," * @param needle { mixed } The item to search for"," * @return { Integer } Array index if found. Otherwise -1"," */"," indexOf: function ( needle ) {"," return YArray.indexOf( this._items, needle );"," },",""," /**"," * How many items are in this list?"," *"," * @method size"," * @return { Integer } Number of items in the list"," */"," size: function () {"," return this._items.length;"," },",""," /**"," * Is this instance managing any items?"," *"," * @method isEmpty"," * @return { Boolean } true if 1 or more items are being managed"," */"," isEmpty: function () {"," return !this.size();"," },",""," /**"," * Provides an array-like representation for JSON.stringify."," *"," * @method toJSON"," * @return { Array } an array representation of the ArrayList"," */"," toJSON: function () {"," return this._items;"," }","};","// Default implementation does not distinguish between public and private","// item getter","/**"," * Protected method for optimizations that may be appropriate for API"," * mirroring. Similar in functionality to item, but is used by"," * methods added with ArrayList.addMethod()."," *"," * @method _item"," * @protected"," * @param i { Integer } Index of item to fetch"," * @return { mixed } The item appropriate for pass through API methods"," */","ArrayListProto._item = ArrayListProto.item;","","// Mixed onto existing proto to preserve constructor NOT being an own property.","// This has bitten me when composing classes by enumerating, copying prototypes.","Y.mix(ArrayList.prototype, ArrayListProto);","","Y.mix( ArrayList, {",""," /**"," *

Adds a pass through method to dest (typically the prototype of a list"," * class) that calls the named method on each item in the list with"," * whatever parameters are passed in. Allows for API indirection via list"," * instances.

"," *"," *

Accepts a single string name or an array of string names.

"," *"," *
list.each( function ( item ) {","     *     item.methodName( 1, 2, 3 );","     * } );","     * // becomes","     * list.methodName( 1, 2, 3 );
"," *"," *

Additionally, the pass through methods use the item retrieved by the"," * _item method in case there is any special behavior that is"," * appropriate for API mirroring.

"," *"," *

If the iterated method returns a value, the return value from the"," * added method will be an array of values with each value being at the"," * corresponding index for that item. If the iterated method does not"," * return a value, the added method will be chainable."," *"," * @method addMethod"," * @static"," * @param dest {Object} Object or prototype to receive the iterator method"," * @param name {String|String[]} Name of method of methods to create"," */"," addMethod: function ( dest, names ) {",""," names = YArray( names );",""," YArray_each( names, function ( name ) {"," dest[ name ] = function () {"," var args = YArray( arguments, 0, true ),"," ret = [];",""," YArray_each( this._items, function ( item, i ) {"," item = this._item( i );",""," var result = item[ name ].apply( item, args );",""," if ( result !== undefined && result !== item ) {"," ret[i] = result;"," }"," }, this);",""," return ret.length ? ret : this;"," };"," } );"," }","} );","","Y.ArrayList = ArrayList;","","","}, '3.9.0', {\"requires\": [\"yui-base\"]});"]; +_yuitest_coverage["build/arraylist/arraylist.js"].code=["YUI.add('arraylist', function (Y, NAME) {","","/**"," * Collection utilities beyond what is provided in the YUI core"," * @module collection"," * @submodule arraylist"," */","","var YArray = Y.Array,"," YArray_each = YArray.each,"," ArrayListProto;","","/**"," * Generic ArrayList class for managing lists of items and iterating operations"," * over them. The targeted use for this class is for augmentation onto a"," * class that is responsible for managing multiple instances of another class"," * (e.g. NodeList for Nodes). The recommended use is to augment your class with"," * ArrayList, then use ArrayList.addMethod to mirror the API of the constituent"," * items on the list's API."," *"," * The default implementation creates immutable lists, but mutability can be"," * provided via the arraylist-add submodule or by implementing mutation methods"," * directly on the augmented class's prototype."," *"," * @class ArrayList"," * @constructor"," * @param items { Array } array of items this list will be responsible for"," */","function ArrayList( items ) {"," if ( items !== undefined ) {"," this._items = Y.Lang.isArray( items ) ? items : YArray( items );"," } else {"," // ||= to support lazy initialization from augment"," this._items = this._items || [];"," }","}","","ArrayListProto = {"," /**"," * Get an item by index from the list. Override this method if managing a"," * list of objects that have a different public representation (e.g. Node"," * instances vs DOM nodes). The iteration methods that accept a user"," * function will use this method for access list items for operation."," *"," * @method item"," * @param i { Integer } index to fetch"," * @return { mixed } the item at the requested index"," */"," item: function ( i ) {"," return this._items[i];"," },",""," /**"," *

Execute a function on each item of the list, optionally providing a"," * custom execution context. Default context is the item.

"," *"," *

The callback signature is callback( item, index ).

"," *"," * @method each"," * @param fn { Function } the function to execute"," * @param context { mixed } optional override 'this' in the function"," * @return { ArrayList } this instance"," * @chainable"," */"," each: function ( fn, context ) {"," YArray_each( this._items, function ( item, i ) {"," item = this.item( i );",""," fn.call( context || item, item, i, this );"," }, this);",""," return this;"," },",""," /**"," *

Execute a function on each item of the list, optionally providing a"," * custom execution context. Default context is the item.

"," *"," *

The callback signature is callback( item, index ).

"," *"," *

Unlike each, if the callback returns true, the"," * iteratation will stop.

"," *"," * @method some"," * @param fn { Function } the function to execute"," * @param context { mixed } optional override 'this' in the function"," * @return { Boolean } True if the function returned true on an item"," */"," some: function ( fn, context ) {"," return YArray.some( this._items, function ( item, i ) {"," item = this.item( i );",""," return fn.call( context || item, item, i, this );"," }, this);"," },",""," /**"," * Finds the first index of the needle in the managed array of items."," *"," * @method indexOf"," * @param needle { mixed } The item to search for"," * @return { Integer } Array index if found. Otherwise -1"," */"," indexOf: function ( needle ) {"," return YArray.indexOf( this._items, needle );"," },",""," /**"," * How many items are in this list?"," *"," * @method size"," * @return { Integer } Number of items in the list"," */"," size: function () {"," return this._items.length;"," },",""," /**"," * Is this instance managing any items?"," *"," * @method isEmpty"," * @return { Boolean } true if 1 or more items are being managed"," */"," isEmpty: function () {"," return !this.size();"," },",""," /**"," * Provides an array-like representation for JSON.stringify."," *"," * @method toJSON"," * @return { Array } an array representation of the ArrayList"," */"," toJSON: function () {"," return this._items;"," }","};","// Default implementation does not distinguish between public and private","// item getter","/**"," * Protected method for optimizations that may be appropriate for API"," * mirroring. Similar in functionality to item, but is used by"," * methods added with ArrayList.addMethod()."," *"," * @method _item"," * @protected"," * @param i { Integer } Index of item to fetch"," * @return { mixed } The item appropriate for pass through API methods"," */","ArrayListProto._item = ArrayListProto.item;","","// Mixed onto existing proto to preserve constructor NOT being an own property.","// This has bitten me when composing classes by enumerating, copying prototypes.","Y.mix(ArrayList.prototype, ArrayListProto);","","Y.mix( ArrayList, {",""," /**"," *

Adds a pass through method to dest (typically the prototype of a list"," * class) that calls the named method on each item in the list with"," * whatever parameters are passed in. Allows for API indirection via list"," * instances.

"," *"," *

Accepts a single string name or an array of string names.

"," *"," *
list.each( function ( item ) {","     *     item.methodName( 1, 2, 3 );","     * } );","     * // becomes","     * list.methodName( 1, 2, 3 );
"," *"," *

Additionally, the pass through methods use the item retrieved by the"," * _item method in case there is any special behavior that is"," * appropriate for API mirroring.

"," *"," *

If the iterated method returns a value, the return value from the"," * added method will be an array of values with each value being at the"," * corresponding index for that item. If the iterated method does not"," * return a value, the added method will be chainable."," *"," * @method addMethod"," * @static"," * @param dest {Object} Object or prototype to receive the iterator method"," * @param name {String|String[]} Name of method of methods to create"," */"," addMethod: function ( dest, names ) {",""," names = YArray( names );",""," YArray_each( names, function ( name ) {"," dest[ name ] = function () {"," var args = YArray( arguments, 0, true ),"," ret = [];",""," YArray_each( this._items, function ( item, i ) {"," item = this._item( i );",""," var result = item[ name ].apply( item, args );",""," if ( result !== undefined && result !== item ) {"," ret[i] = result;"," }"," }, this);",""," return ret.length ? ret : this;"," };"," } );"," }","} );","","Y.ArrayList = ArrayList;","","","}, '3.9.1', {\"requires\": [\"yui-base\"]});"]; _yuitest_coverage["build/arraylist/arraylist.js"].lines = {"1":0,"9":0,"29":0,"30":0,"31":0,"34":0,"38":0,"50":0,"66":0,"67":0,"69":0,"72":0,"90":0,"91":0,"93":0,"105":0,"115":0,"125":0,"135":0,"150":0,"154":0,"156":0,"188":0,"190":0,"191":0,"192":0,"195":0,"196":0,"198":0,"200":0,"201":0,"205":0,"211":0}; _yuitest_coverage["build/arraylist/arraylist.js"].functions = {"ArrayList:29":0,"item:49":0,"(anonymous 2):66":0,"each:65":0,"(anonymous 3):90":0,"some:89":0,"indexOf:104":0,"size:114":0,"isEmpty:124":0,"toJSON:134":0,"(anonymous 5):195":0,"]:191":0,"(anonymous 4):190":0,"addMethod:186":0,"(anonymous 1):1":0}; _yuitest_coverage["build/arraylist/arraylist.js"].coveredLines = 33; @@ -293,4 +293,4 @@ _yuitest_coverline("build/arraylist/arraylist.js", 211); Y.ArrayList = ArrayList; -}, '3.9.0', {"requires": ["yui-base"]}); +}, '3.9.1', {"requires": ["yui-base"]}); diff --git a/lib/yuilib/3.9.0/build/arraylist/arraylist-debug.js b/lib/yuilib/3.9.1/build/arraylist/arraylist-debug.js similarity index 98% rename from lib/yuilib/3.9.0/build/arraylist/arraylist-debug.js rename to lib/yuilib/3.9.1/build/arraylist/arraylist-debug.js index e2afef965cd..cb809a7a926 100644 --- a/lib/yuilib/3.9.0/build/arraylist/arraylist-debug.js +++ b/lib/yuilib/3.9.1/build/arraylist/arraylist-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('arraylist', function (Y, NAME) { /** @@ -212,4 +212,4 @@ Y.mix( ArrayList, { Y.ArrayList = ArrayList; -}, '3.9.0', {"requires": ["yui-base"]}); +}, '3.9.1', {"requires": ["yui-base"]}); diff --git a/lib/yuilib/3.9.0/build/arraylist/arraylist-min.js b/lib/yuilib/3.9.1/build/arraylist/arraylist-min.js similarity index 87% rename from lib/yuilib/3.9.0/build/arraylist/arraylist-min.js rename to lib/yuilib/3.9.1/build/arraylist/arraylist-min.js index 8b786ab0fd7..f2c702848da 100644 --- a/lib/yuilib/3.9.0/build/arraylist/arraylist-min.js +++ b/lib/yuilib/3.9.1/build/arraylist/arraylist-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("arraylist",function(e,t){function s(t){t!==undefined?this._items=e.Lang.isArray(t)?t:n(t):this._items=this._items||[]}var n=e.Array,r=n.each,i;i={item:function(e){return this._items[e]},each:function(e,t){return r(this._items,function(n,r){n=this.item(r),e.call(t||n,n,r,this)},this),this},some:function(e,t){return n.some(this._items,function(n,r){return n=this.item(r),e.call(t||n,n,r,this)},this)},indexOf:function(e){return n.indexOf(this._items,e)},size:function(){return this._items.length},isEmpty:function(){return!this.size()},toJSON:function(){return this._items}},i._item=i.item,e.mix(s.prototype,i),e.mix(s,{addMethod:function(e,t){t=n(t),r(t,function(t){e[t]=function(){var e=n(arguments,0,!0),i=[];return r(this._items,function(n,r){n=this._item(r);var s=n[t].apply(n,e);s!==undefined&&s!==n&&(i[r]=s)},this),i.length?i:this}})}}),e.ArrayList=s},"3.9.0",{requires:["yui-base"]}); +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +YUI.add("arraylist",function(e,t){function s(t){t!==undefined?this._items=e.Lang.isArray(t)?t:n(t):this._items=this._items||[]}var n=e.Array,r=n.each,i;i={item:function(e){return this._items[e]},each:function(e,t){return r(this._items,function(n,r){n=this.item(r),e.call(t||n,n,r,this)},this),this},some:function(e,t){return n.some(this._items,function(n,r){return n=this.item(r),e.call(t||n,n,r,this)},this)},indexOf:function(e){return n.indexOf(this._items,e)},size:function(){return this._items.length},isEmpty:function(){return!this.size()},toJSON:function(){return this._items}},i._item=i.item,e.mix(s.prototype,i),e.mix(s,{addMethod:function(e,t){t=n(t),r(t,function(t){e[t]=function(){var e=n(arguments,0,!0),i=[];return r(this._items,function(n,r){n=this._item(r);var s=n[t].apply(n,e);s!==undefined&&s!==n&&(i[r]=s)},this),i.length?i:this}})}}),e.ArrayList=s},"3.9.1",{requires:["yui-base"]}); diff --git a/lib/yuilib/3.9.0/build/arraylist/arraylist.js b/lib/yuilib/3.9.1/build/arraylist/arraylist.js similarity index 98% rename from lib/yuilib/3.9.0/build/arraylist/arraylist.js rename to lib/yuilib/3.9.1/build/arraylist/arraylist.js index e2afef965cd..cb809a7a926 100644 --- a/lib/yuilib/3.9.0/build/arraylist/arraylist.js +++ b/lib/yuilib/3.9.1/build/arraylist/arraylist.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('arraylist', function (Y, NAME) { /** @@ -212,4 +212,4 @@ Y.mix( ArrayList, { Y.ArrayList = ArrayList; -}, '3.9.0', {"requires": ["yui-base"]}); +}, '3.9.1', {"requires": ["yui-base"]}); diff --git a/lib/yuilib/3.9.0/build/arraysort/arraysort-coverage.js b/lib/yuilib/3.9.1/build/arraysort/arraysort-coverage.js similarity index 96% rename from lib/yuilib/3.9.0/build/arraysort/arraysort-coverage.js rename to lib/yuilib/3.9.1/build/arraysort/arraysort-coverage.js index 61ae002fa55..6fcf5b2f12c 100644 --- a/lib/yuilib/3.9.0/build/arraysort/arraysort-coverage.js +++ b/lib/yuilib/3.9.1/build/arraysort/arraysort-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/arraysort/arraysort.js"] = { path: "build/arraysort/arraysort.js", code: [] }; -_yuitest_coverage["build/arraysort/arraysort.js"].code=["YUI.add('arraysort', function (Y, NAME) {","","/**","Provides a case-insenstive comparator which can be used for array sorting.","","@module arraysort","*/","","var LANG = Y.Lang,"," ISVALUE = LANG.isValue,"," ISSTRING = LANG.isString;","","/**","Provides a case-insenstive comparator which can be used for array sorting.","","@class ArraySort","*/","","Y.ArraySort = {",""," /**"," Comparator function for simple case-insensitive sorting of an array of"," strings.",""," @method compare"," @param a {Object} First sort argument."," @param b {Object} Second sort argument."," @param desc {Boolean} `true` if sort direction is descending, `false` if"," sort direction is ascending."," @return {Boolean} -1 when a < b. 0 when a == b. 1 when a > b."," */"," compare: function(a, b, desc) {"," if(!ISVALUE(a)) {"," if(!ISVALUE(b)) {"," return 0;"," }"," else {"," return 1;"," }"," }"," else if(!ISVALUE(b)) {"," return -1;"," }",""," if(ISSTRING(a)) {"," a = a.toLowerCase();"," }"," if(ISSTRING(b)) {"," b = b.toLowerCase();"," }"," if(a < b) {"," return (desc) ? 1 : -1;"," }"," else if (a > b) {"," return (desc) ? -1 : 1;"," }"," else {"," return 0;"," }"," }","","};","","","}, '3.9.0', {\"requires\": [\"yui-base\"]});"]; +_yuitest_coverage["build/arraysort/arraysort.js"].code=["YUI.add('arraysort', function (Y, NAME) {","","/**","Provides a case-insenstive comparator which can be used for array sorting.","","@module arraysort","*/","","var LANG = Y.Lang,"," ISVALUE = LANG.isValue,"," ISSTRING = LANG.isString;","","/**","Provides a case-insenstive comparator which can be used for array sorting.","","@class ArraySort","*/","","Y.ArraySort = {",""," /**"," Comparator function for simple case-insensitive sorting of an array of"," strings.",""," @method compare"," @param a {Object} First sort argument."," @param b {Object} Second sort argument."," @param desc {Boolean} `true` if sort direction is descending, `false` if"," sort direction is ascending."," @return {Boolean} -1 when a < b. 0 when a == b. 1 when a > b."," */"," compare: function(a, b, desc) {"," if(!ISVALUE(a)) {"," if(!ISVALUE(b)) {"," return 0;"," }"," else {"," return 1;"," }"," }"," else if(!ISVALUE(b)) {"," return -1;"," }",""," if(ISSTRING(a)) {"," a = a.toLowerCase();"," }"," if(ISSTRING(b)) {"," b = b.toLowerCase();"," }"," if(a < b) {"," return (desc) ? 1 : -1;"," }"," else if (a > b) {"," return (desc) ? -1 : 1;"," }"," else {"," return 0;"," }"," }","","};","","","}, '3.9.1', {\"requires\": [\"yui-base\"]});"]; _yuitest_coverage["build/arraysort/arraysort.js"].lines = {"1":0,"9":0,"19":0,"33":0,"34":0,"35":0,"38":0,"41":0,"42":0,"45":0,"46":0,"48":0,"49":0,"51":0,"52":0,"54":0,"55":0,"58":0}; _yuitest_coverage["build/arraysort/arraysort.js"].functions = {"compare:32":0,"(anonymous 1):1":0}; _yuitest_coverage["build/arraysort/arraysort.js"].coveredLines = 18; @@ -116,4 +116,4 @@ return 0; }; -}, '3.9.0', {"requires": ["yui-base"]}); +}, '3.9.1', {"requires": ["yui-base"]}); diff --git a/lib/yuilib/3.9.0/build/arraysort/arraysort-debug.js b/lib/yuilib/3.9.1/build/arraysort/arraysort-debug.js similarity index 92% rename from lib/yuilib/3.9.0/build/arraysort/arraysort-debug.js rename to lib/yuilib/3.9.1/build/arraysort/arraysort-debug.js index 83c77a106ef..a47ec2379f8 100644 --- a/lib/yuilib/3.9.0/build/arraysort/arraysort-debug.js +++ b/lib/yuilib/3.9.1/build/arraysort/arraysort-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('arraysort', function (Y, NAME) { /** @@ -63,4 +63,4 @@ Y.ArraySort = { }; -}, '3.9.0', {"requires": ["yui-base"]}); +}, '3.9.1', {"requires": ["yui-base"]}); diff --git a/lib/yuilib/3.9.0/build/arraysort/arraysort-min.js b/lib/yuilib/3.9.1/build/arraysort/arraysort-min.js similarity index 63% rename from lib/yuilib/3.9.0/build/arraysort/arraysort-min.js rename to lib/yuilib/3.9.1/build/arraysort/arraysort-min.js index 6239a378d62..6e31be8b5ec 100644 --- a/lib/yuilib/3.9.0/build/arraysort/arraysort-min.js +++ b/lib/yuilib/3.9.1/build/arraysort/arraysort-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("arraysort",function(e,t){var n=e.Lang,r=n.isValue,i=n.isString;e.ArraySort={compare:function(e,t,n){return r(e)?r(t)?(i(e)&&(e=e.toLowerCase()),i(t)&&(t=t.toLowerCase()),et?n?-1:1:0):-1:r(t)?1:0}}},"3.9.0",{requires:["yui-base"]}); +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +YUI.add("arraysort",function(e,t){var n=e.Lang,r=n.isValue,i=n.isString;e.ArraySort={compare:function(e,t,n){return r(e)?r(t)?(i(e)&&(e=e.toLowerCase()),i(t)&&(t=t.toLowerCase()),et?n?-1:1:0):-1:r(t)?1:0}}},"3.9.1",{requires:["yui-base"]}); diff --git a/lib/yuilib/3.9.0/build/arraysort/arraysort.js b/lib/yuilib/3.9.1/build/arraysort/arraysort.js similarity index 92% rename from lib/yuilib/3.9.0/build/arraysort/arraysort.js rename to lib/yuilib/3.9.1/build/arraysort/arraysort.js index 83c77a106ef..a47ec2379f8 100644 --- a/lib/yuilib/3.9.0/build/arraysort/arraysort.js +++ b/lib/yuilib/3.9.1/build/arraysort/arraysort.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('arraysort', function (Y, NAME) { /** @@ -63,4 +63,4 @@ Y.ArraySort = { }; -}, '3.9.0', {"requires": ["yui-base"]}); +}, '3.9.1', {"requires": ["yui-base"]}); diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/arrows.png b/lib/yuilib/3.9.1/build/assets/skins/sam/arrows.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/arrows.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/arrows.png diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/autocomplete-list.css b/lib/yuilib/3.9.1/build/assets/skins/sam/autocomplete-list.css similarity index 92% rename from lib/yuilib/3.9.0/build/assets/skins/sam/autocomplete-list.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/autocomplete-list.css index f5ee83cbdc3..4db83232567 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/autocomplete-list.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/autocomplete-list.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-aclist{position:absolute;z-index:1}.yui3-aclist-hidden{visibility:hidden}.yui3-aclist-aria{left:-9999px;position:absolute}.yui3-aclist-list{list-style:none;margin:0;overflow:hidden;padding:0}.yui3-aclist-item{cursor:pointer;list-style:none;padding:2px 5px}.yui3-aclist-item-active{outline:#afafaf dotted thin}.yui3-skin-sam .yui3-aclist-content{background:#fff;border:1px solid #afafaf;-moz-box-shadow:1px 1px 4px rgba(0,0,0,0.58);-webkit-box-shadow:1px 1px 4px rgba(0,0,0,0.58);box-shadow:1px 1px 4px rgba(0,0,0,0.58)}.yui3-skin-sam .yui3-aclist-item-hover{background:#bfdaff}.yui3-skin-sam .yui3-aclist-item-active{background:#2647a0;color:#fff;outline:0}#yui3-css-stamp.skin-sam-autocomplete-list{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/bg.png b/lib/yuilib/3.9.1/build/assets/skins/sam/bg.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/bg.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/bg.png diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/calendar-base.css b/lib/yuilib/3.9.1/build/assets/skins/sam/calendar-base.css similarity index 97% rename from lib/yuilib/3.9.0/build/assets/skins/sam/calendar-base.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/calendar-base.css index c57f1e81a11..4353f23b9eb 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/calendar-base.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/calendar-base.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-calendar-pane{width:100%}.yui3-calendar-grid{width:100%}.yui3-calendar-column-hidden,.yui3-calendar-hidden{display:none}.yui3-skin-sam .yui3-calendar-content{padding:10px;color:#000;border:1px solid gray;background:#f2f2f2;background:-moz-linear-gradient(top,#f9f9f9 0,#f2f2f2 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#f9f9f9),color-stop(100%,#f2f2f2));background:-webkit-linear-gradient(top,#f9f9f9 0,#f2f2f2 100%);background:-o-linear-gradient(top,#f9f9f9 0,#f2f2f2 100%);background:-ms-linear-gradient(top,#f9f9f9 0,#f2f2f2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9',endColorstr='#f2f2f2',GradientType=0);background:linear-gradient(top,#f9f9f9 0,#f2f2f2 100%);-moz-border-radius:5px;border-radius:5px}.yui3-skin-sam .yui3-calendar-grid{padding:5px;border-collapse:collapse}.yui3-skin-sam .yui3-calendar-header{padding-bottom:10px}.yui3-skin-sam .yui3-calendar-header-label{margin:0;font-size:1em;font-weight:bold}.yui3-skin-sam .yui3-calendar-day,.yui3-skin-sam .yui3-calendar-prevmonth-day,.yui3-skin-sam .yui3-calendar-nextmonth-day{padding:5px;border:1px solid #ccc;background:#fff;text-align:center}.yui3-skin-sam .yui3-calendar-day:hover{background:#06c;color:#fff}.yui3-skin-sam .yui3-calendar-selection-disabled,.yui3-skin-sam .yui3-calendar-selection-disabled:hover{color:#a6a6a6;background:#ccc}.yui3-skin-sam .yui3-calendar-weekday{font-weight:bold}.yui3-skin-sam .yui3-calendar-prevmonth-day,.yui3-skin-sam .yui3-calendar-nextmonth-day{color:#a6a6a6}.yui3-skin-sam .yui3-calendar-day{font-weight:bold}.yui3-skin-sam .yui3-calendar-day-selected{background-color:#b3d4ff;color:#000}.yui3-skin-sam .yui3-calendar-header-label{text-align:center}.yui3-skin-sam .yui3-calendar-left-grid{margin-right:1em}.yui3-skin-sam .yui3-calendar-right-grid{margin-left:1em}.yui3-skin-sam .yui3-calendar-day-highlighted{background-color:#dcdef5}.yui3-skin-sam .yui3-calendar-day-selected.yui3-calendar-day-highlighted{background-color:#758fbb}#yui3-css-stamp.skin-sam-calendar-base{display:none} diff --git a/lib/yuilib/3.9.0/build/calendar/assets/skins/sam/calendar.css b/lib/yuilib/3.9.1/build/assets/skins/sam/calendar.css similarity index 91% rename from lib/yuilib/3.9.0/build/calendar/assets/skins/sam/calendar.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/calendar.css index f29b8de652d..806dc4660e6 100644 --- a/lib/yuilib/3.9.0/build/calendar/assets/skins/sam/calendar.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/calendar.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-calendar-column-hidden,.yui3-calendar-hidden{display:none}.yui3-calendar-day{cursor:pointer}.yui3-calendar-selection-disabled{cursor:default}.yui3-calendar-prevmonth-day{cursor:default}.yui3-calendar-nextmonth-day{cursor:default}.yui3-calendar-content:hover .yui3-calendar-day,.yui3-calendar-content:hover .yui3-calendar-prevmonth-day,.yui3-calendar-content:hover .yui3-calendar-nextmonth-day{-moz-user-select:none}.yui3-skin-sam .yui3-calendar-day-highlighted{background-color:#dcdef5}.yui3-skin-sam .yui3-calendar-day-selected.yui3-calendar-day-highlighted{background-color:#758fbb}#yui3-css-stamp.skin-sam-calendar{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/calendarnavigator.css b/lib/yuilib/3.9.1/build/assets/skins/sam/calendarnavigator.css similarity index 97% rename from lib/yuilib/3.9.0/build/assets/skins/sam/calendarnavigator.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/calendarnavigator.css index 958f3eb0105..3e58add71e7 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/calendarnavigator.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/calendarnavigator.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-calendar-header{padding-left:15px;padding-right:15px}.yui3-calendar-header-label{width:100%}.yui3-calendarnav-prevmonth{cursor:pointer}.yui3-calendarnav-nextmonth{cursor:pointer}.yui3-skin-sam .yui3-calendarnav-prevmonth,.yui3-skin-sam .yui3-calendarnav-nextmonth{color:#000;width:12px;height:14px;background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAOCAYAAAA1+Nx+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKNJREFUeNpiYCAeSAPxUiiWZqAi4ATiaiD+DMT/ofgzVIyTUsMDgfghksHo+CFUDcnAAIgP4DEYHR+A6iEIhIB4GgkGo+NpUDMwADMQFwHxBwoMh+EPULOYYYZ7APFVKhiMjkFmejBBLWFjoD5gQ+dQO4iwOloUiOdQYPgcqBkDl0zRQRQRGS2KGkVFHRB/QzL4G1SMk5qpQg6psJMjVhNAgAEAH+qPqeiPEUsAAAAASUVORK5CYII=);background-repeat:no-repeat}.yui3-skin-sam .yui3-calendarnav-prevmonth:hover,.yui3-skin-sam .yui3-calendarnav-nextmonth:hover{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAOCAYAAAA1+Nx+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPpJREFUeNpi/P//PwMxQD9jszSQ6oJyyy7O8H1KjD5GQhYADeYEUkVAXAHEPFDhL0DcAcR9QIu+k20B0PBAIDUBiOVwKHkExAVAS9aTZAHQYAOowfYMxIGDUIsu4LUAaLAQkGoB4kwG8sB0IK4BWvQOxQKgwcxAdj4Q1wExPwNl4CMQNwHxRKBFfxn10jd5ADm9QKzFQF1wDYiLmaAcNgbqA7CZTEBv7ADS2iDboN5joEIQgczSBpmNHsmiQKodiJPJNHwuEFcCDX49MMkUi0VRUB/hy2ggFy+jtKgohRYVnFDh79CiopuiogLNIjmobxigrn5EjD6AAAMAok9vhfHG8wQAAAAASUVORK5CYII=);color:#06c}.yui3-skin-sam .yui3-calendarnav-month-disabled,.yui3-skin-sam .yui3-calendarnav-month-disabled:hover{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAOCAYAAAA1+Nx+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQhJREFUeNqs0yGLAlEUhuHrKoIgCFbBJghb3F+g0WrVarEqLIhBEEFYWKNNMBktU4z6C5RNkwyCyWQSTPuOfCOCrHNnxwMPyOGe73DAiTmOYywrhy/9/sTBZujN4k0KPbioi6teKuqCmsKGSN/10+q5ehN6QQkrLJB/Mp/Xm5VmAhdkMcEGZWNfZc1MlPGwII42dmiZ/1dLGW1lXhdU8YNvZEz0yijLy6z6FyTN6yvpX7DEOzo4vSD4pCwvc+lfcMEYBUwjhE+VMVbmw7/oiCY+sA4RvNZMUxmB38EWFTSwfxK815uKZkJ/yXMU0cf5rn9Wr6g3f1bC4nwvbIAZRup1Ay671a8AAwC3OzOqxK+rkwAAAABJRU5ErkJggg==);cursor:default;color:#ccc}.yui3-skin-sam .yui3-calendarnav-prevmonth,.yui3-skin-sam .yui3-calendarnav-prevmonth:hover{background-position:0 0;margin-left:-12px}.yui3-skin-sam .yui3-calendarnav-nextmonth,.yui3-skin-sam .yui3-calendarnav-nextmonth:hover{background-position:-12px 0;margin-right:-12px}.yui3-skin-sam .yui3-calendarnav-prevmonth span,.yui3-skin-sam .yui3-calendarnav-nextmonth span{display:none;*display:block}#yui3-css-stamp.skin-sam-calendarnavigator{display:none} diff --git a/lib/yuilib/3.9.0/build/console-filters/assets/skins/sam/console-filters.css b/lib/yuilib/3.9.1/build/assets/skins/sam/console-filters.css similarity index 92% rename from lib/yuilib/3.9.0/build/console-filters/assets/skins/sam/console-filters.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/console-filters.css index e0dc1d896b8..fee56f5d737 100644 --- a/lib/yuilib/3.9.0/build/console-filters/assets/skins/sam/console-filters.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/console-filters.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-skin-sam .yui3-console-ft .yui3-console-filters-categories,.yui3-skin-sam .yui3-console-ft .yui3-console-filters-sources{text-align:left;padding:5px 0;border:1px inset;margin:0 2px}.yui3-skin-sam .yui3-console-ft .yui3-console-filters-categories{background:#fff;border-bottom:2px ridge}.yui3-skin-sam .yui3-console-ft .yui3-console-filters-sources{background:#fff;margin-bottom:2px;border-top:0 none;border-bottom-right-radius:10px;border-bottom-left-radius:10px;-moz-border-radius-bottomright:10px;-moz-border-radius-bottomleft:10px;-webkit-border-bottom-right-radius:10px;-webkit-border-bottom-left-radius:10px}.yui3-skin-sam .yui3-console-filter-label{white-space:nowrap;margin-left:1ex}#yui3-css-stamp.skin-sam-console-filters{display:none} diff --git a/lib/yuilib/3.9.0/build/console/assets/skins/sam/console.css b/lib/yuilib/3.9.1/build/assets/skins/sam/console.css similarity index 98% rename from lib/yuilib/3.9.0/build/console/assets/skins/sam/console.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/console.css index e9a8e54c11d..997e6d701a9 100644 --- a/lib/yuilib/3.9.0/build/console/assets/skins/sam/console.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/console.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-skin-sam .yui3-console-separate{position:absolute;right:1em;top:1em;z-index:999}.yui3-skin-sam .yui3-console-inline{display:-moz-inline-stack;display:inline-block;*display:inline;zoom:1;vertical-align:top}.yui3-skin-sam .yui3-console-inline .yui3-console-content{position:relative}.yui3-skin-sam .yui3-console-content{background:#777;_background:#d8d8da url(bg.png) repeat-x 0 0;font:normal 13px/1.3 Arial,sans-serif;text-align:left;border:1px solid #777;border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px}.yui3-skin-sam .yui3-console-hd,.yui3-skin-sam .yui3-console-bd,.yui3-skin-sam .yui3-console-ft{position:relative}.yui3-skin-sam .yui3-console-hd,.yui3-skin-sam .yui3-console-ft .yui3-console-controls{text-align:right}.yui3-skin-sam .yui3-console-hd{background:#d8d8da url(bg.png) repeat-x 0 0;padding:1ex;border:1px solid transparent;_border:0 none;border-top-right-radius:10px;border-top-left-radius:10px;-moz-border-radius-topright:10px;-moz-border-radius-topleft:10px;-webkit-border-top-right-radius:10px;-webkit-border-top-left-radius:10px}.yui3-skin-sam .yui3-console-bd{background:#fff;border-top:1px solid #777;border-bottom:1px solid #777;color:#000;font-size:11px;overflow:auto;overflow-x:auto;overflow-y:scroll;_width:100%}.yui3-skin-sam .yui3-console-ft{background:#d8d8da url(bg.png) repeat-x 0 0;border:1px solid transparent;_border:0 none;border-bottom-right-radius:10px;border-bottom-left-radius:10px;-moz-border-radius-bottomright:10px;-moz-border-radius-bottomleft:10px;-webkit-border-bottom-right-radius:10px;-webkit-border-bottom-left-radius:10px}.yui3-skin-sam .yui3-console-controls{padding:4px 1ex;zoom:1}.yui3-skin-sam .yui3-console-title{color:#000;display:inline;float:left;font-weight:bold;font-size:13px;height:24px;line-height:24px;margin:0;padding-left:1ex}.yui3-skin-sam .yui3-console-pause-label{float:left}.yui3-skin-sam .yui3-console-button{line-height:1.3}.yui3-skin-sam .yui3-console-collapsed .yui3-console-bd,.yui3-skin-sam .yui3-console-collapsed .yui3-console-ft{display:none}.yui3-skin-sam .yui3-console-content.yui3-console-collapsed{-webkit-border-radius:0}.yui3-skin-sam .yui3-console-collapsed .yui3-console-hd{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:0}.yui3-skin-sam .yui3-console-entry{border-bottom:1px solid #aaa;min-height:32px;_height:32px}.yui3-skin-sam .yui3-console-entry-meta{margin:0;overflow:hidden}.yui3-skin-sam .yui3-console-entry-content{margin:0;padding:0 1ex;white-space:pre-wrap;word-wrap:break-word}.yui3-skin-sam .yui3-console-entry-meta .yui3-console-entry-src{color:#000;font-style:italic;font-weight:bold;float:right;margin:2px 5px 0 0}.yui3-skin-sam .yui3-console-entry-meta .yui3-console-entry-time{color:#777;padding-left:1ex}.yui3-skin-sam .yui3-console-entry-warn .yui3-console-entry-meta .yui3-console-entry-time{color:#555}.yui3-skin-sam .yui3-console-entry-info .yui3-console-entry-meta .yui3-console-entry-cat,.yui3-skin-sam .yui3-console-entry-warn .yui3-console-entry-meta .yui3-console-entry-cat,.yui3-skin-sam .yui3-console-entry-error .yui3-console-entry-meta .yui3-console-entry-cat{display:none}.yui3-skin-sam .yui3-console-entry-warn{background:#aee url(warn_error.png) no-repeat -15px 15px}.yui3-skin-sam .yui3-console-entry-error{background:#ffa url(warn_error.png) no-repeat 5px -24px;color:#900}.yui3-skin-sam .yui3-console-entry-warn .yui3-console-entry-content,.yui3-skin-sam .yui3-console-entry-error .yui3-console-entry-content{padding-left:24px}.yui3-skin-sam .yui3-console-entry-cat{text-transform:uppercase;padding:1px 4px;background-color:#ccc}.yui3-skin-sam .yui3-console-entry-info .yui3-console-entry-cat{background-color:#ac2}.yui3-skin-sam .yui3-console-entry-warn .yui3-console-entry-cat{background-color:#e81}.yui3-skin-sam .yui3-console-entry-error .yui3-console-entry-cat{background-color:#b00;color:#fff}.yui3-skin-sam .yui3-console-hidden{display:none}#yui3-css-stamp.skin-sam-console{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/datatable-base-deprecated.css b/lib/yuilib/3.9.1/build/assets/skins/sam/datatable-base-deprecated.css similarity index 99% rename from lib/yuilib/3.9.0/build/assets/skins/sam/datatable-base-deprecated.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/datatable-base-deprecated.css index 9b491bb639a..b6a21e68bcb 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/datatable-base-deprecated.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/datatable-base-deprecated.css @@ -1,3 +1,3 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-skin-sam .yui3-datatable-mask{position:absolute;z-index:9500}.yui3-datatable-tmp{position:absolute;left:-9000px}.yui3-datatable-scrollable .yui3-datatable-bd{overflow:auto}.yui3-datatable-scrollable .yui3-datatable-hd{overflow:hidden;position:relative}.yui3-datatable-scrollable .yui3-datatable-bd thead tr,.yui3-datatable-scrollable .yui3-datatable-bd thead th{position:absolute;left:-1500px}.yui3-datatable-scrollable tbody{-moz-outline:0}.yui3-skin-sam thead .yui3-datatable-sortable{cursor:pointer}.yui3-skin-sam thead .yui3-datatable-draggable{cursor:move}.yui3-datatable-coltarget{position:absolute;z-index:999}.yui3-datatable-hd{zoom:1}th.yui3-datatable-resizeable .yui3-datatable-resizerliner{position:relative}.yui3-datatable-resizer{position:absolute;right:0;bottom:0;height:100%;cursor:e-resize;cursor:col-resize;background-color:#CCC;opacity:0;filter:alpha(opacity=0)}.yui3-datatable-resizerproxy{visibility:hidden;position:absolute;z-index:9000;background-color:#CCC;opacity:0;filter:alpha(opacity=0)}th.yui3-datatable-hidden .yui3-datatable-liner,td.yui3-datatable-hidden .yui3-datatable-liner,th.yui3-datatable-hidden .yui3-datatable-resizer{display:none}.yui3-datatable-editor,.yui3-datatable-editor-shim{position:absolute;z-index:9000}.yui3-skin-sam .yui3-datatable table{margin:0;padding:0;font-family:arial;font-size:inherit;border-collapse:separate;*border-collapse:collapse;border-spacing:0;border:1px solid #7f7f7f}.yui3-skin-sam .yui3-datatable thead{border-spacing:0}.yui3-skin-sam .yui3-datatable caption{color:#000;font-size:85%;font-weight:normal;font-style:italic;line-height:1;padding:1em 0;text-align:center}.yui3-skin-sam .yui3-datatable th{background:#d8d8da url(sprite.png) repeat-x 0 0}.yui3-skin-sam .yui3-datatable th,.yui3-skin-sam .yui3-datatable th a{font-weight:normal;text-decoration:none;color:#000;vertical-align:bottom}.yui3-skin-sam .yui3-datatable th{margin:0;padding:0;border:0;border-right:1px solid #cbcbcb}.yui3-skin-sam .yui3-datatable tr.yui3-datatable-first td{border-top:1px solid #7f7f7f}.yui3-skin-sam .yui3-datatable th .yui3-datatable-liner{white-space:nowrap}.yui3-skin-sam .yui3-datatable-liner{margin:0;padding:0;padding:4px 10px 4px 10px;overflow:visible;border:0 solid black}.yui3-skin-sam .yui3-datatable-coltarget{width:5px;background-color:red}.yui3-skin-sam .yui3-datatable td{margin:0;padding:0;border:0;border-right:1px solid #cbcbcb;text-align:left}.yui3-skin-sam .yui3-datatable-list td{border-right:0}.yui3-skin-sam .yui3-datatable-resizer{width:6px}.yui3-skin-sam .yui3-datatable-mask{background-color:#000;opacity:.25;filter:alpha(opacity=25)}.yui3-skin-sam .yui3-datatable-message{background-color:#FFF}.yui3-skin-sam .yui3-datatable-scrollable table{border:0}.yui3-skin-sam .yui3-datatable-scrollable .yui3-datatable-hd{border-left:1px solid #7f7f7f;border-top:1px solid #7f7f7f;border-right:1px solid #7f7f7f}.yui3-skin-sam .yui3-datatable-scrollable .yui3-datatable-bd{border-left:1px solid #7f7f7f;border-bottom:1px solid #7f7f7f;border-right:1px solid #7f7f7f;background-color:#FFF}.yui3-skin-sam .yui3-datatable-scrollable .yui3-datatable-data tr.yui3-datatable-last td{border-bottom:1px solid #7f7f7f}.yui3-skin-sam th.yui3-datatable-asc,.yui3-skin-sam th.yui3-datatable-desc{background:url(sprite.png) repeat-x 0 -100px}.yui3-skin-sam th.yui3-datatable-sortable .yui3-datatable-liner{padding-right:20px}.yui3-skin-sam th.yui3-datatable-asc .yui3-datatable-liner{background:url(dt-arrow-up.png) no-repeat right}.yui3-skin-sam th.yui3-datatable-desc .yui3-datatable-liner{background:url(dt-arrow-dn.png) no-repeat right}tbody .yui3-datatable-editable{cursor:pointer}.yui3-datatable-editor{text-align:left;background-color:#f2f2f2;border:1px solid #808080;padding:6px}.yui3-datatable-editor label{padding-left:4px;padding-right:6px}.yui3-datatable-editor .yui3-datatable-button{padding-top:6px;text-align:right}.yui3-datatable-editor .yui3-datatable-button button{background:url(sprite.png) repeat-x 0 0;border:1px solid #999;width:4em;height:1.8em;margin-left:6px}.yui3-datatable-editor .yui3-datatable-button button.yui3-datatable-default{background:url(sprite.png) repeat-x 0 -1400px;background-color:#5584e0;border:1px solid #304369;color:#FFF}.yui3-datatable-editor .yui3-datatable-button button:hover{background:url(sprite.png) repeat-x 0 -1300px;color:#000}.yui3-datatable-editor .yui3-datatable-button button:active{background:url(sprite.png) repeat-x 0 -1700px;color:#000}.yui3-skin-sam .yui3-datatable td{background-color:transparent}.yui3-skin-sam tr.yui3-datatable-even td{background-color:#FFF}.yui3-skin-sam tr.yui3-datatable-odd td{background-color:#edf5ff}.yui3-skin-sam tr.yui3-datatable-even td.yui3-datatable-asc,.yui3-skin-sam tr.yui3-datatable-even td.yui3-datatable-desc{background-color:#edf5ff}.yui3-skin-sam tr.yui3-datatable-odd td.yui3-datatable-asc,.yui3-skin-sam tr.yui3-datatable-odd td.yui3-datatable-desc{background-color:#dbeaff}.yui3-skin-sam .yui3-datatable-list tr.yui3-datatable-even{background-color:#FFF}.yui3-skin-sam .yui3-datatable-list tr.yui3-datatable-odd{background-color:#FFF}.yui3-skin-sam .yui3-datatable-list tr.yui3-datatable-even td.yui3-datatable-asc,.yui3-skin-sam .yui3-datatable-list tr.yui3-datatable-even td.yui3-datatable-desc{background-color:#edf5ff}.yui3-skin-sam .yui3-datatable-list tr.yui3-datatable-odd td.yui3-datatable-asc,.yui3-skin-sam .yui3-datatable-list tr.yui3-datatable-odd td.yui3-datatable-desc{background-color:#edf5ff}.yui3-skin-sam th.yui3-datatable-highlighted,.yui3-skin-sam th.yui3-datatable-highlighted a{background-color:#b2d2ff}.yui3-skin-sam tr.yui3-datatable-highlighted,.yui3-skin-sam tr.yui3-datatable-highlighted td.yui3-datatable-asc,.yui3-skin-sam tr.yui3-datatable-highlighted td.yui3-datatable-desc,.yui3-skin-sam tr.yui3-datatable-even td.yui3-datatable-highlighted,.yui3-skin-sam tr.yui3-datatable-odd td.yui3-datatable-highlighted{cursor:pointer;background-color:#b2d2ff} .yui3-skin-sam .yui3-datatable-list th.yui3-datatable-highlighted,.yui3-skin-sam .yui3-datatable-list th.yui3-datatable-highlighted a{background-color:#b2d2ff}.yui3-skin-sam .yui3-datatable-list tr.yui3-datatable-highlighted,.yui3-skin-sam .yui3-datatable-list tr.yui3-datatable-highlighted td.yui3-datatable-asc,.yui3-skin-sam .yui3-datatable-list tr.yui3-datatable-highlighted td.yui3-datatable-desc,.yui3-skin-sam .yui3-datatable-list tr.yui3-datatable-even td.yui3-datatable-highlighted,.yui3-skin-sam .yui3-datatable-list tr.yui3-datatable-odd td.yui3-datatable-highlighted{cursor:pointer;background-color:#b2d2ff}.yui3-skin-sam th.yui3-datatable-selected,.yui3-skin-sam th.yui3-datatable-selected a{background-color:#446cd7}.yui3-skin-sam tr.yui3-datatable-selected td,.yui3-skin-sam tr.yui3-datatable-selected td.yui3-datatable-asc,.yui3-skin-sam tr.yui3-datatable-selected td.yui3-datatable-desc{background-color:#426fd9;color:#FFF}.yui3-skin-sam tr.yui3-datatable-even td.yui3-datatable-selected,.yui3-skin-sam tr.yui3-datatable-odd td.yui3-datatable-selected{background-color:#446cd7;color:#FFF}.yui3-skin-sam .yui3-datatable-list th.yui3-datatable-selected,.yui3-skin-sam .yui3-datatable-list th.yui3-datatable-selected a{background-color:#446cd7}.yui3-skin-sam .yui3-datatable-list tr.yui3-datatable-selected td,.yui3-skin-sam .yui3-datatable-list tr.yui3-datatable-selected td.yui3-datatable-asc,.yui3-skin-sam .yui3-datatable-list tr.yui3-datatable-selected td.yui3-datatable-desc{background-color:#426fd9;color:#FFF}.yui3-skin-sam .yui3-datatable-list tr.yui3-datatable-even td.yui3-datatable-selected,.yui3-skin-sam .yui3-datatable-list tr.yui3-datatable-odd td.yui3-datatable-selected{background-color:#446cd7;color:#FFF}.yui3-skin-sam .yui3-datatable-paginator{display:block;margin:6px 0;white-space:nowrap}.yui3-skin-sam .yui3-datatable-paginator .yui3-datatable-first,.yui3-skin-sam .yui3-datatable-paginator .yui3-datatable-last,.yui3-skin-sam .yui3-datatable-paginator .yui3-datatable-selected{padding:2px 6px}.yui3-skin-sam .yui3-datatable-paginator a.yui3-datatable-first,.yui3-skin-sam .yui3-datatable-paginator a.yui3-datatable-last{text-decoration:none}.yui3-skin-sam .yui3-datatable-paginator .yui3-datatable-previous,.yui3-skin-sam .yui3-datatable-paginator .yui3-datatable-next{display:none}.yui3-skin-sam a.yui3-datatable-page{border:1px solid #cbcbcb;padding:2px 6px;text-decoration:none;background-color:#fff}.yui3-skin-sam .yui3-datatable-selected{border:1px solid #fff;background-color:#fff}#yui3-css-stamp.skin-sam-datatable-base-deprecated{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/datatable-base.css b/lib/yuilib/3.9.1/build/assets/skins/sam/datatable-base.css similarity index 95% rename from lib/yuilib/3.9.0/build/assets/skins/sam/datatable-base.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/datatable-base.css index 716d418d0d6..b830747aa99 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/datatable-base.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/datatable-base.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-datatable-table{empty-cells:show}.yui3-skin-sam .yui3-datatable-table{margin:0;padding:0;font-family:arial,sans-serif;border-collapse:separate;border-spacing:0;border:1px solid #cbcbcb}.yui3-skin-sam .yui3-datatable-caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.yui3-skin-sam .yui3-datatable-cell,.yui3-skin-sam .yui3-datatable-header{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:4px 10px 4px 10px}.yui3-skin-sam .yui3-datatable-cell:first-child,.yui3-skin-sam .yui3-datatable-first-header{border-left-width:0}.yui3-skin-sam .yui3-datatable-header{background:#fff url(sprite.png) repeat-x 0 0;background-image:-webkit-linear-gradient(transparent 40%,rgba(0,0,0,0.21));background-image:-moz-linear-gradient(top,transparent 40%,rgba(0,0,0,0.21));background-image:-ms-linear-gradient(transparent 40%,rgba(0,0,0,0.21));background-image:-o-linear-gradient(transparent 40%,rgba(0,0,0,0.21));background-image:linear-gradient(transparent 40%,rgba(0,0,0,0.21));color:#000;font-weight:normal;text-align:left;text-shadow:0 1px 1px #fff;vertical-align:bottom;white-space:nowrap}.yui3-skin-sam .yui3-datatable-cell{background-color:transparent}.yui3-skin-sam .yui3-datatable-even .yui3-datatable-cell{background-color:#fff}.yui3-skin-sam .yui3-datatable-odd .yui3-datatable-cell{background-color:#edf5ff}#yui3-css-stamp.skin-sam-datatable-base{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/datatable-message.css b/lib/yuilib/3.9.1/build/assets/skins/sam/datatable-message.css similarity index 83% rename from lib/yuilib/3.9.0/build/assets/skins/sam/datatable-message.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/datatable-message.css index 64ef67ba6b9..66da069914d 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/datatable-message.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/datatable-message.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-datatable-message{display:none}.yui3-datatable-message-visible .yui3-datatable-message{display:block;display:table-row-group}.yui3-skin-sam .yui3-datatable-message-content{border:0 none;border-bottom:1px solid #cbcbcb;padding:4px 10px}#yui3-css-stamp.skin-sam-datatable-message{display:none} diff --git a/lib/yuilib/3.9.0/build/datatable-scroll/assets/skins/sam/datatable-scroll.css b/lib/yuilib/3.9.1/build/assets/skins/sam/datatable-scroll.css similarity index 96% rename from lib/yuilib/3.9.0/build/datatable-scroll/assets/skins/sam/datatable-scroll.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/datatable-scroll.css index 341adf5a0c3..e995d9db8f3 100644 --- a/lib/yuilib/3.9.0/build/datatable-scroll/assets/skins/sam/datatable-scroll.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/datatable-scroll.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-datatable-scrollable-x{_overflow-x:hidden;_position:relative}.yui3-datatable-scrollable-y,.yui3-datatable-scrollable-y .yui3-datatable-x-scroller{_overflow-y:hidden;_position:relative}.yui3-datatable-y-scroller-container{overflow-x:hidden;position:relative}.yui3-datatable-scrollable-y .yui3-datatable-content{position:relative}.yui3-datatable-scrollable-y .yui3-datatable-table .yui3-datatable-columns{visibility:hidden}.yui3-datatable-scroll-columns{position:absolute;width:100%;z-index:2}.yui3-datatable-y-scroller,.yui3-datatable-scrollable-x .yui3-datatable-caption-table{width:100%}.yui3-datatable-x-scroller{position:relative;overflow-x:scroll;overflow-y:hidden}.yui3-datatable-scrollable-y .yui3-datatable-y-scroller{position:relative;overflow-x:hidden;overflow-y:scroll;z-index:1;-webkit-overflow-scrolling:touch}.yui3-datatable-scrollbar{position:absolute;overflow-x:hidden;overflow-y:scroll;z-index:2}.yui3-datatable-scrollbar div{position:absolute;width:1px;visibility:hidden}.yui3-skin-sam .yui3-datatable-scroll-columns{border-collapse:separate;border-spacing:0;font-family:arial,sans-serif;margin:0;padding:0;top:0;left:0}.yui3-skin-sam .yui3-datatable-scroll-columns .yui3-datatable-header{padding:0}.yui3-skin-sam .yui3-datatable-x-scroller,.yui3-skin-sam .yui3-datatable-y-scroller-container{border:1px solid #cbcbcb}.yui3-skin-sam .yui3-datatable-scrollable-x .yui3-datatable-y-scroller-container,.yui3-skin-sam .yui3-datatable-x-scroller .yui3-datatable-table,.yui3-skin-sam .yui3-datatable-y-scroller .yui3-datatable-table{border:0 none}#yui3-css-stamp.skin-sam-datatable-scroll{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/datatable-sort.css b/lib/yuilib/3.9.1/build/assets/skins/sam/datatable-sort.css similarity index 95% rename from lib/yuilib/3.9.0/build/assets/skins/sam/datatable-sort.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/datatable-sort.css index f61dc0a7e7e..cc85fa79cf7 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/datatable-sort.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/datatable-sort.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-datatable-sortable-column{z-index:1}.yui3-datatable-sortable-column:focus,.yui3-datatable-sortable-column:active{z-index:2}.yui3-datatable-sort-liner{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.yui3-skin-sam .yui3-datatable-sortable-column{cursor:pointer}.yui3-skin-sam .yui3-datatable-columns .yui3-datatable-sorted,.yui3-skin-sam .yui3-datatable-sortable-column:hover{*background:#c1c4c8 url(sprite.png) repeat-x 0 -100px;background-color:#f1f2f3}.yui3-skin-sam .yui3-datatable-sort-liner{display:block;height:100%;position:relative;padding-right:15px;position:relative}.yui3-skin-sam .yui3-datatable-sort-indicator{position:absolute;right:0;bottom:.5ex;width:7px;height:10px;background:url(sort-arrow-sprite.png) no-repeat 0 0;_background:url(sort-arrow-sprite-ie.png) no-repeat 0 0;overflow:hidden}.yui3-skin-sam .yui3-datatable-sorted .yui3-datatable-sort-indicator{background-position:0 -10px}.yui3-skin-sam .yui3-datatable-sorted-desc .yui3-datatable-sort-indicator{background-position:0 -20px}.yui3-skin-sam .yui3-datatable-data .yui3-datatable-even .yui3-datatable-sorted{background-color:#edf5ff}.yui3-skin-sam .yui3-datatable-data .yui3-datatable-odd .yui3-datatable-sorted{background-color:#dbeaff}#yui3-css-stamp.skin-sam-datatable-sort{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/dial.css b/lib/yuilib/3.9.1/build/assets/skins/sam/dial.css similarity index 97% rename from lib/yuilib/3.9.0/build/assets/skins/sam/dial.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/dial.css index 902c18e7935..055f89e143a 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/dial.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/dial.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ v\:oval,v\:shadow,v\:fill{behavior:url(#default#VML);display:inline-block;zoom:1;*display:inline}.yui3-dial{position:relative;display:-moz-inline-stack;display:inline-block;zoom:1;*display:inline}.yui3-dial-content,.yui3-dial-ring{position:relative}.yui3-dial-handle,.yui3-dial-marker,.yui3-dial-center-button,.yui3-dial-reset-string,.yui3-dial-handle-vml,.yui3-dial-marker-vml,.yui3-dial-center-button-vml,.yui3-dial-ring-vml v\:oval,.yui3-dial-center-button-vml v\:oval{position:absolute}.yui3-dial-center-button-vml v\:oval{font-size:1px;top:0;left:0}.yui3-dial-content .yui3-dial-ring .yui3-dial-hidden v\:oval,.yui3-dial-content .yui3-dial-ring .yui3-dial-hidden{opacity:0;filter:alpha(opacity=0)}.yui3-skin-sam .yui3-dial-handle{background:#6c3a3a;opacity:.3;-moz-box-shadow:1px 1px 1px rgba(0,0,0,0.9) inset;cursor:pointer;font-size:1px}.yui3-skin-sam .yui3-dial-ring{background:#bebdb7;background:-moz-linear-gradient(100% 100% 135deg,#7b7a6d,#fff);background:-webkit-gradient(linear,left top,right bottom,from(#fff),to(#7b7a6d));box-shadow:1px 1px 5px rgba(0,0,0,0.4) inset;-webkit-box-shadow:1px 1px 5px rgba(0,0,0,0.4) inset;-moz-box-shadow:1px 1px 5px rgba(0,0,0,0.4) inset}.yui3-skin-sam .yui3-dial-center-button{box-shadow:-1px -1px 2px rgba(0,0,0,0.3) inset,1px 1px 2px rgba(0,0,0,0.5);-moz-box-shadow:-1px -1px 2px rgba(0,0,0,0.3) inset,1px 1px 2px rgba(0,0,0,0.5);background:#dddbd4;background:-moz-radial-gradient(30% 30% 0deg,circle farthest-side,#fbfbf9 24%,#f2f0ea 41%,#d3d0c3 83%) repeat scroll 0 0 transparent;background:-webkit-gradient(radial,15 15,15,30 30,40,from(#fbfbf9),to(#d3d0c3),color-stop(.2,#f2f0ea));cursor:pointer;opacity:.7}.yui3-skin-sam .yui3-dial-reset-string{color:#676767;font-size:85%;text-decoration:underline}.yui3-skin-sam .yui3-dial-label{color:#808080;margin-bottom:.8em}.yui3-skin-sam .yui3-dial-value-string{margin-left:.5em;color:#000;font-size:130%}.yui3-skin-sam .yui3-dial-value{visibility:hidden;position:absolute;top:0;left:102%;width:4em}.yui3-skin-sam .yui3-dial-north-mark{position:absolute;border-left:2px solid #ccc;height:5px;width:10px;left:50%;top:-7px;font-size:1px}.yui3-skin-sam .yui3-dial-marker{background-color:#000;opacity:.2;font-size:1px}.yui3-skin-sam .yui3-dial-marker-max-min{background-color:#ab3232;opacity:.6}.yui3-skin-sam .yui3-dial-ring-vml,.yui3-skin-sam .yui3-dial-center-button-vml,.yui3-skin-sam .yui3-dial-marker v\:oval.yui3-dial-marker-max-min,.yui3-skin-sam v\:oval.yui3-dial-marker-max-min,.yui3-skin-sam .yui3-dial-marker-vml,.yui3-skin-sam .yui3-dial-handle-vml{background:0;opacity:1}#yui3-css-stamp.skin-sam-dial{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/dt-arrow-dn.png b/lib/yuilib/3.9.1/build/assets/skins/sam/dt-arrow-dn.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/dt-arrow-dn.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/dt-arrow-dn.png diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/dt-arrow-up.png b/lib/yuilib/3.9.1/build/assets/skins/sam/dt-arrow-up.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/dt-arrow-up.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/dt-arrow-up.png diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/horizontal-menu-submenu-indicator.png b/lib/yuilib/3.9.1/build/assets/skins/sam/horizontal-menu-submenu-indicator.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/horizontal-menu-submenu-indicator.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/horizontal-menu-submenu-indicator.png diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/horizontal-menu-submenu-toggle.png b/lib/yuilib/3.9.1/build/assets/skins/sam/horizontal-menu-submenu-toggle.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/horizontal-menu-submenu-toggle.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/horizontal-menu-submenu-toggle.png diff --git a/lib/yuilib/3.9.0/build/node-flick/assets/skins/sam/node-flick.css b/lib/yuilib/3.9.1/build/assets/skins/sam/node-flick.css similarity index 71% rename from lib/yuilib/3.9.0/build/node-flick/assets/skins/sam/node-flick.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/node-flick.css index bcd8de49b72..566f526c713 100644 --- a/lib/yuilib/3.9.0/build/node-flick/assets/skins/sam/node-flick.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/node-flick.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-flick{position:relative;overflow:hidden}.yui3-flick-content{position:relative}#yui3-css-stamp.skin-sam-node-flick{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/node-menunav.css b/lib/yuilib/3.9.1/build/assets/skins/sam/node-menunav.css similarity index 98% rename from lib/yuilib/3.9.0/build/assets/skins/sam/node-menunav.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/node-menunav.css index bc8edac1717..0e2a683ccb9 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/node-menunav.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/node-menunav.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-menu .yui3-menu{position:absolute;z-index:1}.yui3-menu .yui3-shim{position:absolute;top:0;left:0;z-index:-1;opacity:0;filter:alpha(opacity=0);border:0;margin:0;padding:0;height:100%;width:100%}.yui3-menu-hidden{top:-10000px;left:-10000px;visibility:hidden}.yui3-menu li{list-style-type:none}.yui3-menu ul,.yui3-menu li{margin:0;padding:0}.yui3-menu-label,.yui3-menuitem-content{text-align:left;white-space:nowrap;display:block}.yui3-menu-horizontal li{float:left;width:auto}.yui3-menu-horizontal li li{float:none}.yui3-menu-horizontal ul{*zoom:1}.yui3-menu-horizontal ul ul{*zoom:normal}.yui3-menu-horizontal>.yui3-menu-content>ul:after{content:"";display:block;clear:both;line-height:0;font-size:0;visibility:hidden}.yui3-menu-content{*zoom:1}.yui3-menu-hidden .yui3-menu-content{*zoom:normal}.yui3-menuitem-content,.yui3-menu-label{_zoom:1}.yui3-menu-hidden .yui3-menuitem-content,.yui3-menu-hidden .yui3-menu-label{_zoom:normal}.yui3-skin-sam .yui3-menu-content,.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu-content{font-size:93%;line-height:1.5;*line-height:1.45;border:solid 1px #808080;background:#fff;padding:3px 0}.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu-content{font-size:100%}.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-content{line-height:2;*line-height:1.9;background:url(sprite.png) repeat-x 0 0;padding:0}.yui3-skin-sam .yui3-menu ul,.yui3-skin-sam .yui3-menu ul ul{margin-top:3px;padding-top:3px;border-top:solid 1px #ccc}.yui3-skin-sam .yui3-menu ul.first-of-type{border:0;margin:0;padding:0}.yui3-skin-sam .yui3-menu-horizontal ul{padding:0;margin:0;border:0}.yui3-skin-sam .yui3-menu li,.yui3-skin-sam .yui3-menu .yui3-menu li{_border-bottom:solid 1px #fff}.yui3-skin-sam .yui3-menu-horizontal li{_border-bottom:0}.yui3-skin-sam .yui3-menubuttonnav li{border-right:solid 1px #ccc}.yui3-skin-sam .yui3-splitbuttonnav li{border-right:solid 1px #808080}.yui3-skin-sam .yui3-menubuttonnav li li,.yui3-skin-sam .yui3-splitbuttonnav li li{border-right:0}.yui3-skin-sam .yui3-menu-label,.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu-label,.yui3-skin-sam .yui3-menuitem-content,.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menuitem-content{padding:0 1em;color:#000;text-decoration:none;cursor:default;float:none;border:0;margin:0}.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-label,.yui3-skin-sam .yui3-menu-horizontal .yui3-menuitem-content{padding:0 10px;border-style:solid;border-color:#808080;border-width:1px 0;margin:-1px 0;float:left;width:auto}.yui3-skin-sam .yui3-menu-label,.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu-label{background:url(vertical-menu-submenu-indicator.png) right center no-repeat}.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-label{background:url(sprite.png) repeat-x 0 0}.yui3-skin-sam .yui3-menubuttonnav .yui3-menu-label,.yui3-skin-sam .yui3-splitbuttonnav .yui3-menu-label{background-image:none}.yui3-skin-sam .yui3-menubuttonnav .yui3-menu-label{padding-right:0}.yui3-skin-sam .yui3-menubuttonnav .yui3-menu-label em{font-style:normal;padding-right:20px;display:block;background:url(horizontal-menu-submenu-indicator.png) right center no-repeat}.yui3-skin-sam .yui3-splitbuttonnav .yui3-menu-label{padding:0}.yui3-skin-sam .yui3-splitbuttonnav .yui3-menu-label a{float:left;width:auto;color:#000;text-decoration:none;cursor:default;padding:0 5px 0 10px}.yui3-skin-sam .yui3-splitbuttonnav .yui3-menu-label .yui3-menu-toggle{padding:0;border-left:solid 1px #ccc;width:15px;overflow:hidden;text-indent:-1000px;background:url(horizontal-menu-submenu-indicator.png) 3px center no-repeat}.yui3-skin-sam .yui3-menu-label-active,.yui3-skin-sam .yui3-menu-label-menuvisible,.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu-label-active,.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu-label-menuvisible{background-color:#b3d4ff}.yui3-skin-sam .yui3-menuitem-active .yui3-menuitem-content,.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menuitem-active .yui3-menuitem-content{background-image:none;background-color:#b3d4ff;border-left-width:0;margin-left:0}.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-label-active,.yui3-skin-sam .yui3-menu-horizontal .yui3-menuitem-active .yui3-menuitem-content,.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-label-menuvisible{border-color:#7d98b8;background:url(sprite.png) repeat-x 0 -1700px}.yui3-skin-sam .yui3-menubuttonnav .yui3-menu-label-active,.yui3-skin-sam .yui3-menubuttonnav .yui3-menuitem-active .yui3-menuitem-content,.yui3-skin-sam .yui3-menubuttonnav .yui3-menu-label-menuvisible,.yui3-skin-sam .yui3-splitbuttonnav .yui3-menu-label-active,.yui3-skin-sam .yui3-splitbuttonnav .yui3-menuitem-active .yui3-menuitem-content,.yui3-skin-sam .yui3-splitbuttonnav .yui3-menu-label-menuvisible{border-left-width:1px;margin-left:-1px}.yui3-skin-sam .yui3-splitbuttonnav .yui3-menu-label-menuvisible{border-color:#808080;background:transparent}.yui3-skin-sam .yui3-splitbuttonnav .yui3-menu-label-menuvisible .yui3-menu-toggle{border-color:#7d98b8;background:url(horizontal-menu-submenu-toggle.png) left center no-repeat}#yui3-css-stamp.skin-sam-node-menunav{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/overlay.css b/lib/yuilib/3.9.1/build/assets/skins/sam/overlay.css similarity index 77% rename from lib/yuilib/3.9.0/build/assets/skins/sam/overlay.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/overlay.css index eaf388f6ab3..c2a201aad81 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/overlay.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/overlay.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-overlay{position:absolute}.yui3-overlay-hidden{visibility:hidden}.yui3-widget-tmp-forcesize .yui3-overlay-content{overflow:hidden!important}#yui3-css-stamp.skin-sam-overlay{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/panel.css b/lib/yuilib/3.9.1/build/assets/skins/sam/panel.css similarity index 96% rename from lib/yuilib/3.9.0/build/assets/skins/sam/panel.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/panel.css index d3316c9d49d..335861933c1 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/panel.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/panel.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-panel{position:absolute}.yui3-panel-hidden{visibility:hidden}.yui3-widget-tmp-forcesize .yui3-panel-content{overflow:hidden!important}.yui3-panel .yui3-widget-hd{position:relative}.yui3-panel .yui3-widget-hd .yui3-widget-buttons{position:absolute;top:0;right:0}.yui3-panel .yui3-widget-ft .yui3-widget-buttons{display:inline-block;*display:inline;zoom:1}.yui3-skin-sam .yui3-panel-content{-webkit-box-shadow:0 0 5px #333;-moz-box-shadow:0 0 5px #333;box-shadow:0 0 5px #333;border:1px solid black;background:white}.yui3-skin-sam .yui3-panel .yui3-widget-hd{padding:8px 28px 8px 8px;min-height:13px;_height:13px;color:white;background-color:#3961c5;background:-moz-linear-gradient(0% 100% 90deg,#2647a0 7%,#3d67ce 50%,#426fd9 100%);background:-webkit-gradient(linear,left bottom,left top,from(#2647a0),color-stop(0.07,#2647a0),color-stop(0.5,#3d67ce),to(#426fd9))}.yui3-skin-sam .yui3-panel .yui3-widget-hd .yui3-widget-buttons{padding:8px}.yui3-skin-sam .yui3-panel .yui3-widget-bd{padding:10px}.yui3-skin-sam .yui3-panel .yui3-widget-ft{background:#edf5ff;padding:8px;text-align:right}.yui3-skin-sam .yui3-panel .yui3-widget-ft .yui3-button{margin-left:8px}.yui3-skin-sam .yui3-panel .yui3-widget-hd .yui3-button-close{background:transparent;filter:none;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;width:13px;height:13px;padding:0;overflow:hidden;vertical-align:top;*font-size:0;*line-height:0;*letter-spacing:-1000px;*color:#86a5ec;*background:url(sprite_icons.png) no-repeat 1px 1px}.yui3-skin-sam .yui3-panel .yui3-widget-hd .yui3-button-close:before{content:url(sprite_icons.png);display:inline-block;text-align:center;font-size:0;line-height:0;width:13px;margin:1px 0 0 1px}.yui3-skin-sam .yui3-panel-hidden .yui3-widget-hd .yui3-button-close{display:none}#yui3-css-stamp.skin-sam-panel{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/rail-x-lines.png b/lib/yuilib/3.9.1/build/assets/skins/sam/rail-x-lines.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/rail-x-lines.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/rail-x-lines.png diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/rail-x.png b/lib/yuilib/3.9.1/build/assets/skins/sam/rail-x.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/rail-x.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/rail-x.png diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/rail-y-lines.png b/lib/yuilib/3.9.1/build/assets/skins/sam/rail-y-lines.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/rail-y-lines.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/rail-y-lines.png diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/rail-y.png b/lib/yuilib/3.9.1/build/assets/skins/sam/rail-y.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/rail-y.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/rail-y.png diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/resize-base.css b/lib/yuilib/3.9.1/build/assets/skins/sam/resize-base.css similarity index 98% rename from lib/yuilib/3.9.0/build/assets/skins/sam/resize-base.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/resize-base.css index 774cc8bd011..cf9efb39f8e 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/resize-base.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/resize-base.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-resize,.yui3-resize-wrapper{z-index:0;zoom:1}.yui3-resize-handle{position:absolute;display:block;z-index:100;zoom:1}.yui3-resize-proxy{position:absolute;border:1px dashed #000;position:absolute;z-index:10000}.yui3-resize-hidden-handles .yui3-resize-handle{opacity:0;filter:alpha(opacity=0)}.yui3-resize-handle-t,.yui3-resize-handle-b{width:100%;left:0;height:6px}.yui3-resize-handle-l,.yui3-resize-handle-r{height:100%;top:0;width:6px}.yui3-resize-handle-t{cursor:n-resize;top:0}.yui3-resize-handle-b{cursor:s-resize;bottom:0}.yui3-resize-handle-l{cursor:w-resize;left:0}.yui3-resize-handle-r{cursor:e-resize;right:0}.yui3-resize-handle-inner{position:absolute;zoom:1}@media only screen and (min-device-width :320px) and (max-device-width :480px){.yui3-resize-handle-inner:after{content:"";width:40px;height:40px;position:absolute}.yui3-resize-handle-inner-r,.yui3-resize-handle-inner-l,.yui3-resize-handle-inner-t,.yui3-resize-handle-inner-b,.yui3-resize-handle-inner-tr,.yui3-resize-handle-inner-br,.yui3-resize-handle-inner-tl,.yui3-resize-handle-inner-bl{overflow:visible!important}.yui3-resize-handle-inner-r:after{top:-12px;right:0}.yui3-resize-handle-inner-l:after{top:-12px;left:0}.yui3-resize-handle-inner-t:after{top:0;left:-12px}.yui3-resize-handle-inner-b:after{bottom:0;left:-12px}.yui3-resize-handle-inner-tr:after{top:0;right:0}.yui3-resize-handle-inner-br:after{bottom:0;right:0}.yui3-resize-handle-inner-tl:after{top:0;left:0}.yui3-resize-handle-inner-bl:after{bottom:0;left:0}}@media only screen and (min-device-width :768px) and (max-device-width :1024px){.yui3-resize-handle-inner:after{content:"";width:30px;height:30px;position:absolute}.yui3-resize-handle-inner-r,.yui3-resize-handle-inner-l,.yui3-resize-handle-inner-t,.yui3-resize-handle-inner-b,.yui3-resize-handle-inner-tr,.yui3-resize-handle-inner-br,.yui3-resize-handle-inner-tl,.yui3-resize-handle-inner-bl{overflow:visible!important}.yui3-resize-handle-inner-r:after{top:-6px;right:0}.yui3-resize-handle-inner-l:after{top:-6px;left:0}.yui3-resize-handle-inner-t:after{top:0;left:-6px}.yui3-resize-handle-inner-b:after{bottom:0;left:-6px}.yui3-resize-handle-inner-tr:after{top:0;right:0}.yui3-resize-handle-inner-br:after{bottom:0;right:0}.yui3-resize-handle-inner-tl:after{top:0;left:0}.yui3-resize-handle-inner-bl:after{bottom:0;left:0}}.yui3-resize-handle-inner-t,.yui3-resize-handle-inner-b{margin-left:-8px;left:50%}.yui3-resize-handle-inner-l,.yui3-resize-handle-inner-r{margin-top:-8px;top:50%}.yui3-resize-handle-inner-t{top:-4px}.yui3-resize-handle-inner-b{bottom:-4px}.yui3-resize-handle-inner-l{left:-4px}.yui3-resize-handle-inner-r{right:-4px}.yui3-resize-handle-tr,.yui3-resize-handle-br,.yui3-resize-handle-tl,.yui3-resize-handle-bl{height:15px;width:15px;z-index:200}.yui3-resize-handle-tr{cursor:ne-resize;top:0;right:0}.yui3-resize-handle-tl{cursor:nw-resize;top:0;left:0}.yui3-resize-handle-br{cursor:se-resize;bottom:0;right:0}.yui3-resize-handle-bl{cursor:sw-resize;bottom:0;left:0}.yui3-resize-handle-inner-r,.yui3-resize-handle-inner-l,.yui3-resize-handle-inner-t,.yui3-resize-handle-inner-b,.yui3-resize-handle-inner-tr,.yui3-resize-handle-inner-br,.yui3-resize-handle-inner-tl,.yui3-resize-handle-inner-bl{background-repeat:no-repeat;background:url(arrows.png) no-repeat 0 0;display:block;height:15px;overflow:hidden;text-indent:-99999em;width:15px}.yui3-resize-handle-inner-br{background-position:-30px 0;bottom:-2px;right:-2px}.yui3-resize-handle-inner-tr{background-position:-58px 0;bottom:0;right:-2px}.yui3-resize-handle-inner-bl{background-position:-75px 0;bottom:-2px;right:-2px}.yui3-resize-handle-inner-tl{background-position:-47px 0;bottom:0;right:-2px}.yui3-resize-handle-inner-b,.yui3-resize-handle-inner-t{background-position:-15px 0}#yui3-css-stamp.skin-sam-resize-base{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/scrollview-base.css b/lib/yuilib/3.9.1/build/assets/skins/sam/scrollview-base.css similarity index 84% rename from lib/yuilib/3.9.0/build/assets/skins/sam/scrollview-base.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/scrollview-base.css index 6416b24a94a..525587e5251 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/scrollview-base.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/scrollview-base.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-scrollview{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none}.yui3-scrollview-hidden{display:none}.yui3-scrollview-content{position:relative}.yui3-skin-sam .yui3-scrollview{-webkit-tap-highlight-color:rgba(255,255,255,0)}#yui3-css-stamp.skin-sam-scrollview-base{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/scrollview-list.css b/lib/yuilib/3.9.1/build/assets/skins/sam/scrollview-list.css similarity index 92% rename from lib/yuilib/3.9.0/build/assets/skins/sam/scrollview-list.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/scrollview-list.css index 58b1ead722c..d2185378ccf 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/scrollview-list.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/scrollview-list.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-skin-sam .yui3-scrollview{-webkit-tap-highlight-color:rgba(255,255,255,0)}.yui3-skin-sam .yui3-scrollview{background-color:white}.yui3-skin-sam .yui3-scrollview-vert .yui3-scrollview-content .yui3-scrollview-item{*zoom:1}.yui3-skin-sam .yui3-scrollview-vert .yui3-scrollview-content .yui3-scrollview-list{*zoom:1;list-style:none;padding:0;margin:0}.yui3-skin-sam .yui3-scrollview-vert .yui3-scrollview-content{border-top:0;background-color:white;font-family:HelveticaNeue,arial,helvetica,clean,sans-serif;color:black}.yui3-skin-sam .yui3-scrollview-vert .yui3-scrollview-content .yui3-scrollview-item{border-bottom:1px solid #303030;padding:15px 20px 16px;font-size:100%;font-weight:bold;background-color:white;cursor:pointer}#yui3-css-stamp.skin-sam-scrollview-list{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/scrollview-scrollbars.css b/lib/yuilib/3.9.1/build/assets/skins/sam/scrollview-scrollbars.css similarity index 98% rename from lib/yuilib/3.9.0/build/assets/skins/sam/scrollview-scrollbars.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/scrollview-scrollbars.css index 8d21334c8ec..28ccb912ca2 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/scrollview-scrollbars.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/scrollview-scrollbars.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-scrollview-scrollbar{opacity:1;position:absolute;width:6px;height:10px}.yui3-scrollview-scrollbar{top:0;right:1px}.yui3-scrollview-scrollbar-horiz{top:auto;height:8px;width:20px;bottom:1px;left:0}.yui3-scrollview-scrollbar .yui3-scrollview-child{position:absolute;right:0;display:block;width:100%;height:4px}.yui3-scrollview-scrollbar .yui3-scrollview-first{top:0}.yui3-scrollview-scrollbar .yui3-scrollview-last{top:0}.yui3-scrollview-scrollbar .yui3-scrollview-middle{position:absolute;top:4px;height:1px}.yui3-scrollview-scrollbar-horiz .yui3-scrollview-child{display:-moz-inline-stack;display:inline-block;zoom:1;*display:inline;top:0;left:0;bottom:auto;right:auto}.yui3-scrollview-scrollbar-horiz .yui3-scrollview-first,.yui3-scrollview-scrollbar-horiz .yui3-scrollview-last{width:4px;height:6px}.yui3-scrollview-scrollbar-horiz .yui3-scrollview-middle{top:0;left:4px;width:1px;height:6px}.yui3-scrollview-scrollbar-vert-basic{height:auto}.yui3-scrollview-scrollbar-vert-basic .yui3-scrollview-child{position:static;_overflow:hidden;_line-height:4px}.yui3-scrollview-scrollbar-horiz-basic{width:auto;white-space:nowrap;line-height:6px;_overflow:hidden}.yui3-scrollview-scrollbar-horiz-basic .yui3-scrollview-child{position:static;padding:0;margin:0;top:auto;left:auto;right:auto;bottom:auto}.yui3-skin-sam .yui3-scrollview-scrollbar{-webkit-transform:translate3d(0,0,0);-moz-transform:translate(0,0)}.yui3-skin-sam .yui3-scrollview-scrollbar .yui3-scrollview-first,.yui3-skin-sam .yui3-scrollview-scrollbar .yui3-scrollview-middle,.yui3-skin-sam .yui3-scrollview-scrollbar .yui3-scrollview-last{border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAABCAYAAAD9yd/wAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABJJREFUeNpiZGBgSGPAAgACDAAIkABoFyloZQAAAABJRU5ErkJggg==)}.yui3-skin-sam .yui3-scrollview-scrollbar .yui3-scrollview-first,.yui3-skin-sam .yui3-scrollview-scrollbar .yui3-scrollview-last{border-bottom-right-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0}.yui3-skin-sam .yui3-scrollview-scrollbar .yui3-scrollview-last{border-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-webkit-transform:translate3d(0,0,0);-moz-border-radius:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;-moz-transform:translate(0,0)}.yui3-skin-sam .yui3-scrollview-scrollbar .yui3-scrollview-middle{border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;-webkit-transform:translate3d(0,0,0) scaleY(1);-webkit-transform-origin-y:0;-moz-transform:translate(0,0) scaleY(1);-moz-transform-origin:0 0}.yui3-skin-sam .yui3-scrollview-scrollbar-horiz .yui3-scrollview-first,.yui3-skin-sam .yui3-scrollview-scrollbar-horiz .yui3-scrollview-last{border-top-right-radius:0;border-bottom-left-radius:3px;-webkit-border-top-right-radius:0;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topright:0;-moz-border-radius-bottomleft:3px}.yui3-skin-sam .yui3-scrollview-scrollbar-horiz .yui3-scrollview-last{border-bottom-left-radius:0;border-top-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-top-right-radius:3px;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:3px}.yui3-skin-sam .yui3-scrollview-scrollbar-horiz .yui3-scrollview-middle{-webkit-transform:translate3d(0,0,0) scaleX(1);-webkit-transform-origin:0 0;-moz-transform:translate(0,0) scaleX(1);-moz-transform-origin:0 0}.yui3-skin-sam .yui3-scrollview-scrollbar-vert-basic .yui3-scrollview-child,.yui3-skin-sam .yui3-scrollview-scrollbar-horiz-basic .yui3-scrollview-child{background-color:#aaa;background-image:none}#yui3-css-stamp.skin-sam-scrollview-scrollbars{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/skin.css b/lib/yuilib/3.9.1/build/assets/skins/sam/skin.css similarity index 99% rename from lib/yuilib/3.9.0/build/assets/skins/sam/skin.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/skin.css index 44d097a4b09..a55250464e9 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/skin.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/skin.css @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-aclist{position:absolute;z-index:1}.yui3-aclist-hidden{visibility:hidden}.yui3-aclist-aria{left:-9999px;position:absolute}.yui3-aclist-list{list-style:none;margin:0;overflow:hidden;padding:0}.yui3-aclist-item{cursor:pointer;list-style:none;padding:2px 5px}.yui3-aclist-item-active{outline:#afafaf dotted thin}.yui3-skin-sam .yui3-aclist-content{background:#fff;border:1px solid #afafaf;-moz-box-shadow:1px 1px 4px rgba(0,0,0,0.58);-webkit-box-shadow:1px 1px 4px rgba(0,0,0,0.58);box-shadow:1px 1px 4px rgba(0,0,0,0.58)}.yui3-skin-sam .yui3-aclist-item-hover{background:#bfdaff}.yui3-skin-sam .yui3-aclist-item-active{background:#2647a0;color:#fff;outline:0}#yui3-css-stamp.skin-sam-autocomplete-list{display:none} .yui3-calendar-pane{width:100%}.yui3-calendar-grid{width:100%}.yui3-calendar-column-hidden,.yui3-calendar-hidden{display:none}.yui3-skin-sam .yui3-calendar-content{padding:10px;color:#000;border:1px solid gray;background:#f2f2f2;background:-moz-linear-gradient(top,#f9f9f9 0,#f2f2f2 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#f9f9f9),color-stop(100%,#f2f2f2));background:-webkit-linear-gradient(top,#f9f9f9 0,#f2f2f2 100%);background:-o-linear-gradient(top,#f9f9f9 0,#f2f2f2 100%);background:-ms-linear-gradient(top,#f9f9f9 0,#f2f2f2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9',endColorstr='#f2f2f2',GradientType=0);background:linear-gradient(top,#f9f9f9 0,#f2f2f2 100%);-moz-border-radius:5px;border-radius:5px}.yui3-skin-sam .yui3-calendar-grid{padding:5px;border-collapse:collapse}.yui3-skin-sam .yui3-calendar-header{padding-bottom:10px}.yui3-skin-sam .yui3-calendar-header-label{margin:0;font-size:1em;font-weight:bold}.yui3-skin-sam .yui3-calendar-day,.yui3-skin-sam .yui3-calendar-prevmonth-day,.yui3-skin-sam .yui3-calendar-nextmonth-day{padding:5px;border:1px solid #ccc;background:#fff;text-align:center}.yui3-skin-sam .yui3-calendar-day:hover{background:#06c;color:#fff}.yui3-skin-sam .yui3-calendar-selection-disabled,.yui3-skin-sam .yui3-calendar-selection-disabled:hover{color:#a6a6a6;background:#ccc}.yui3-skin-sam .yui3-calendar-weekday{font-weight:bold}.yui3-skin-sam .yui3-calendar-prevmonth-day,.yui3-skin-sam .yui3-calendar-nextmonth-day{color:#a6a6a6}.yui3-skin-sam .yui3-calendar-day{font-weight:bold}.yui3-skin-sam .yui3-calendar-day-selected{background-color:#b3d4ff;color:#000}.yui3-skin-sam .yui3-calendar-header-label{text-align:center}.yui3-skin-sam .yui3-calendar-left-grid{margin-right:1em}.yui3-skin-sam .yui3-calendar-right-grid{margin-left:1em}.yui3-skin-sam .yui3-calendar-day-highlighted{background-color:#dcdef5}.yui3-skin-sam .yui3-calendar-day-selected.yui3-calendar-day-highlighted{background-color:#758fbb}#yui3-css-stamp.skin-sam-calendar-base{display:none} .yui3-calendar-column-hidden,.yui3-calendar-hidden{display:none}.yui3-calendar-day{cursor:pointer}.yui3-calendar-selection-disabled{cursor:default}.yui3-calendar-prevmonth-day{cursor:default}.yui3-calendar-nextmonth-day{cursor:default}.yui3-calendar-content:hover .yui3-calendar-day,.yui3-calendar-content:hover .yui3-calendar-prevmonth-day,.yui3-calendar-content:hover .yui3-calendar-nextmonth-day{-moz-user-select:none}.yui3-skin-sam .yui3-calendar-day-highlighted{background-color:#dcdef5}.yui3-skin-sam .yui3-calendar-day-selected.yui3-calendar-day-highlighted{background-color:#758fbb}#yui3-css-stamp.skin-sam-calendar{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/slider-base.css b/lib/yuilib/3.9.1/build/assets/skins/sam/slider-base.css similarity index 96% rename from lib/yuilib/3.9.0/build/assets/skins/sam/slider-base.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/slider-base.css index 9fd859b31c6..91327390bc9 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/slider-base.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/slider-base.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-slider,.yui3-slider-rail{display:-moz-inline-stack;display:inline-block;*display:inline;zoom:1;vertical-align:middle}.yui3-slider-content{position:relative;display:block}.yui3-slider-rail{position:relative}.yui3-slider-rail-cap-top,.yui3-slider-rail-cap-left,.yui3-slider-rail-cap-bottom,.yui3-slider-rail-cap-right,.yui3-slider-thumb,.yui3-slider-thumb-image,.yui3-slider-thumb-shadow{position:absolute}.yui3-slider-thumb{overflow:hidden}.yui3-skin-sam .yui3-slider-x .yui3-slider-rail,.yui3-skin-sam .yui3-slider-x .yui3-slider-rail-cap-left,.yui3-skin-sam .yui3-slider-x .yui3-slider-rail-cap-right{background-image:url(rail-x.png);background-repeat:repeat-x}.yui3-skin-sam .yui3-slider-x .yui3-slider-rail{height:26px}.yui3-skin-sam .yui3-slider-x .yui3-slider-thumb{height:26px;width:15px}.yui3-skin-sam .yui3-slider-x .yui3-slider-rail-cap-left{background-position:0 -20px;height:20px;left:-2px;width:5px}.yui3-skin-sam .yui3-slider-x .yui3-slider-rail-cap-right{background-position:0 -40px;height:20px;right:-2px;width:5px}.yui3-skin-sam .yui3-slider-x .yui3-slider-thumb-image{left:0;top:-10px}.yui3-skin-sam .yui3-slider-x .yui3-slider-thumb-shadow{left:0;opacity:.15;filter:alpha(opacity=15);top:-50px}.yui3-skin-sam .yui3-slider-y .yui3-slider-rail,.yui3-skin-sam .yui3-slider-y .yui3-slider-rail-cap-top,.yui3-skin-sam .yui3-slider-y .yui3-slider-rail-cap-bottom{background-image:url(rail-y.png);background-repeat:repeat-y}.yui3-skin-sam .yui3-slider-y .yui3-slider-rail{width:26px}.yui3-skin-sam .yui3-slider-y .yui3-slider-thumb{width:26px;height:15px}.yui3-skin-sam .yui3-slider-y .yui3-slider-rail-cap-top{background-position:-20px 0;width:20px;top:-2px;height:5px}.yui3-skin-sam .yui3-slider-y .yui3-slider-rail-cap-bottom{background-position:-40px 0;width:20px;bottom:-2px;height:5px}.yui3-skin-sam .yui3-slider-y .yui3-slider-thumb-image{left:-10px;top:0}.yui3-skin-sam .yui3-slider-y .yui3-slider-thumb-shadow{left:-50px;opacity:.15;filter:alpha(opacity=15);top:0}#yui3-css-stamp.skin-sam-slider-base{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/sort-arrow-sprite-ie.png b/lib/yuilib/3.9.1/build/assets/skins/sam/sort-arrow-sprite-ie.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/sort-arrow-sprite-ie.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/sort-arrow-sprite-ie.png diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/sort-arrow-sprite.png b/lib/yuilib/3.9.1/build/assets/skins/sam/sort-arrow-sprite.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/sort-arrow-sprite.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/sort-arrow-sprite.png diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/sprite.png b/lib/yuilib/3.9.1/build/assets/skins/sam/sprite.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/sprite.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/sprite.png diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/sprite_icons.gif b/lib/yuilib/3.9.1/build/assets/skins/sam/sprite_icons.gif similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/sprite_icons.gif rename to lib/yuilib/3.9.1/build/assets/skins/sam/sprite_icons.gif diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/sprite_icons.png b/lib/yuilib/3.9.1/build/assets/skins/sam/sprite_icons.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/sprite_icons.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/sprite_icons.png diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/tabview.css b/lib/yuilib/3.9.1/build/assets/skins/sam/tabview.css similarity index 96% rename from lib/yuilib/3.9.0/build/assets/skins/sam/tabview.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/tabview.css index e353de7dc55..960e6573b4b 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/tabview.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/tabview.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-tab-panel{display:none}.yui3-tab-panel-selected{display:block}.yui3-tabview-list,.yui3-tab{margin:0;padding:0;list-style:none}.yui3-tabview{position:relative}.yui3-tabview,.yui3-tabview-list,.yui3-tabview-panel,.yui3-tab,.yui3-tab-panel{zoom:1}.yui3-tab{display:inline-block;*display:inline;vertical-align:bottom;cursor:pointer}.yui3-tab-label{display:block;display:inline-block;padding:6px 10px;position:relative;text-decoration:none;vertical-align:bottom}.yui3-skin-sam .yui3-tabview-list{border:solid #2647a0;border-width:0 0 5px;zoom:1}.yui3-skin-sam .yui3-tab{margin:0 .2em 0 0;padding:1px 0 0;zoom:1}.yui3-skin-sam .yui3-tab-selected{margin-bottom:-1px}.yui3-skin-sam .yui3-tab-label{background:#d8d8d8 url(sprite.png) repeat-x;border:solid #a3a3a3;border-width:1px 1px 0 1px;color:#000;cursor:pointer;font-size:85%;padding:.3em .75em;text-decoration:none}.yui3-skin-sam .yui3-tab-label:hover,.yui3-skin-sam .yui3-tab-label:focus{background:#bfdaff url(sprite.png) repeat-x left -1300px;outline:0}.yui3-skin-sam .yui3-tab-selected .yui3-tab-label,.yui3-skin-sam .yui3-tab-selected .yui3-tab-label:focus,.yui3-skin-sam .yui3-tab-selected .yui3-tab-label:hover{background:#2647a0 url(sprite.png) repeat-x left -1400px;color:#fff}.yui3-skin-sam .yui3-tab-selected .yui3-tab-label{padding:.4em .75em}.yui3-skin-sam .yui3-tab-selected .yui3-tab-label{border-color:#243356}.yui3-skin-sam .yui3-tabview-panel{background:#edf5ff}.yui3-skin-sam .yui3-tabview-panel{border:1px solid #808080;border-top-color:#243356;padding:.25em .5em}#yui3-css-stamp.skin-sam-tabview{display:none} diff --git a/lib/yuilib/3.9.0/build/test-console/assets/skins/sam/test-console.css b/lib/yuilib/3.9.1/build/assets/skins/sam/test-console.css similarity index 96% rename from lib/yuilib/3.9.0/build/test-console/assets/skins/sam/test-console.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/test-console.css index afbd4ee8ae7..6a4aa84007b 100644 --- a/lib/yuilib/3.9.0/build/test-console/assets/skins/sam/test-console.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/test-console.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-testconsole .yui3-console-entry{min-height:inherit;padding:5px}.yui3-testconsole .yui3-console-controls{display:none}.yui3-skin-sam .yui3-testconsole .yui3-console-content,.yui3-skin-sam .yui3-testconsole .yui3-console-bd,.yui3-skin-sam .yui3-testconsole .yui3-console-entry,.yui3-skin-sam .yui3-testconsole .yui3-console-ft,.yui3-skin-sam .yui3-testconsole .yui3-console-ft .yui3-console-filters-categories,.yui3-skin-sam .yui3-testconsole .yui3-console-ft .yui3-console-filters-sources,.yui3-skin-sam .yui3-testconsole .yui3-console-hd{background:0;border:0;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.yui3-skin-sam .yui3-testconsole-content,.yui3-skin-sam .yui3-testconsole .yui3-console-bd{color:#333;font:13px/1.4 Helvetica,'DejaVu Sans','Bitstream Vera Sans',Arial,sans-serif}.yui3-skin-sam .yui3-testconsole-content{border:1px solid #afafaf}.yui3-skin-sam .yui3-testconsole .yui3-console-entry{border-bottom:1px solid #eaeaea;font-family:Menlo,Inconsolata,Consolas,'DejaVu Mono','Bitstream Vera Sans Mono',monospace;font-size:11px}.yui3-skin-sam .yui3-testconsole .yui3-console-ft{border-top:1px solid}.yui3-skin-sam .yui3-testconsole .yui3-console-hd{border-bottom:1px solid;*zoom:1}.yui3-skin-sam .yui3-testconsole.yui3-console-collapsed .yui3-console-hd{border:0}.yui3-skin-sam .yui3-testconsole .yui3-console-ft,.yui3-skin-sam .yui3-testconsole .yui3-console-hd{border-color:#cfcfcf}.yui3-skin-sam .yui3-testconsole .yui3-testconsole-entry-fail{background-color:#ffe0e0;border-bottom-color:#ffc5c4}.yui3-skin-sam .yui3-testconsole .yui3-testconsole-entry-pass{background-color:#ecffea;border-bottom-color:#d1ffcc}#yui3-css-stamp.skin-sam-test-console{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/thumb-x.png b/lib/yuilib/3.9.1/build/assets/skins/sam/thumb-x.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/thumb-x.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/thumb-x.png diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/thumb-y.png b/lib/yuilib/3.9.1/build/assets/skins/sam/thumb-y.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/thumb-y.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/thumb-y.png diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/vertical-menu-submenu-indicator.png b/lib/yuilib/3.9.1/build/assets/skins/sam/vertical-menu-submenu-indicator.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/vertical-menu-submenu-indicator.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/vertical-menu-submenu-indicator.png diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/warn_error.png b/lib/yuilib/3.9.1/build/assets/skins/sam/warn_error.png similarity index 100% rename from lib/yuilib/3.9.0/build/assets/skins/sam/warn_error.png rename to lib/yuilib/3.9.1/build/assets/skins/sam/warn_error.png diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/widget-base.css b/lib/yuilib/3.9.1/build/assets/skins/sam/widget-base.css similarity index 84% rename from lib/yuilib/3.9.0/build/assets/skins/sam/widget-base.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/widget-base.css index a7264da2584..bfe3abee3b6 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/widget-base.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/widget-base.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-widget-hidden{display:none}.yui3-widget-content{overflow:hidden}.yui3-widget-content-expanded{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;height:100%}.yui3-widget-tmp-forcesize{overflow:hidden!important}#yui3-css-stamp.skin-sam-widget-base{display:none} diff --git a/lib/yuilib/3.9.0/build/assets/skins/sam/widget-buttons.css b/lib/yuilib/3.9.1/build/assets/skins/sam/widget-buttons.css similarity index 89% rename from lib/yuilib/3.9.0/build/assets/skins/sam/widget-buttons.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/widget-buttons.css index 76b58709a85..b6abced84e9 100644 --- a/lib/yuilib/3.9.0/build/assets/skins/sam/widget-buttons.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/widget-buttons.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-widget-buttons .yui3-button-close,.yui3-widget-buttons .yui3-button-close .yui3-button-content,.yui3-widget-buttons .yui3-button-close .yui3-button-icon{display:inline-block;*display:inline;zoom:1;width:13px;height:13px;line-height:13px;vertical-align:top}.yui3-widget-buttons .yui3-button-close .yui3-button-icon{background-repeat:no-repeat;background-position:1px 1px}.yui3-skin-sam .yui3-widget-buttons .yui3-button-icon{background-image:url(sprite_icons.gif)}#yui3-css-stamp.skin-sam-widget-buttons{display:none} diff --git a/lib/yuilib/3.9.0/build/widget-modality/assets/skins/sam/widget-modality.css b/lib/yuilib/3.9.1/build/assets/skins/sam/widget-modality.css similarity index 76% rename from lib/yuilib/3.9.0/build/widget-modality/assets/skins/sam/widget-modality.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/widget-modality.css index b6e1efc5918..03510a72c1f 100644 --- a/lib/yuilib/3.9.0/build/widget-modality/assets/skins/sam/widget-modality.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/widget-modality.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-skin-sam .yui3-widget-mask{background-color:black;zoom:1;-ms-filter:"alpha(opacity=40)";filter:alpha(opacity=40);opacity:.4}#yui3-css-stamp.skin-sam-widget-modality{display:none} diff --git a/lib/yuilib/3.9.0/build/widget-stack/assets/skins/sam/widget-stack.css b/lib/yuilib/3.9.1/build/assets/skins/sam/widget-stack.css similarity index 80% rename from lib/yuilib/3.9.0/build/widget-stack/assets/skins/sam/widget-stack.css rename to lib/yuilib/3.9.1/build/assets/skins/sam/widget-stack.css index 9229266b7a4..3979827de9c 100644 --- a/lib/yuilib/3.9.0/build/widget-stack/assets/skins/sam/widget-stack.css +++ b/lib/yuilib/3.9.1/build/assets/skins/sam/widget-stack.css @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ .yui3-widget-stacked .yui3-widget-shim{opacity:0;filter:alpha(opacity=0);position:absolute;border:0;top:0;left:0;padding:0;margin:0;z-index:-1;width:100%;height:100%;_width:0;_height:0}#yui3-css-stamp.skin-sam-widget-stack{display:none} diff --git a/lib/yuilib/3.9.0/build/async-queue/async-queue-coverage.js b/lib/yuilib/3.9.1/build/async-queue/async-queue-coverage.js similarity index 99% rename from lib/yuilib/3.9.0/build/async-queue/async-queue-coverage.js rename to lib/yuilib/3.9.1/build/async-queue/async-queue-coverage.js index 72030a0637a..703a98f3f94 100644 --- a/lib/yuilib/3.9.0/build/async-queue/async-queue-coverage.js +++ b/lib/yuilib/3.9.1/build/async-queue/async-queue-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/async-queue/async-queue.js"] = { path: "build/async-queue/async-queue.js", code: [] }; -_yuitest_coverage["build/async-queue/async-queue.js"].code=["YUI.add('async-queue', function (Y, NAME) {","","/**"," *

AsyncQueue allows you create a chain of function callbacks executed"," * via setTimeout (or synchronously) that are guaranteed to run in order."," * Items in the queue can be promoted or removed. Start or resume the"," * execution chain with run(). pause() to temporarily delay execution, or"," * stop() to halt and clear the queue.

"," *"," * @module async-queue"," */","","/**"," *

A specialized queue class that supports scheduling callbacks to execute"," * sequentially, iteratively, even asynchronously.

"," *"," *

Callbacks can be function refs or objects with the following keys. Only"," * the fn key is required.

"," *"," *
    "," *
  • fn -- The callback function
  • "," *
  • context -- The execution context for the callbackFn.
  • "," *
  • args -- Arguments to pass to callbackFn.
  • "," *
  • timeout -- Millisecond delay before executing callbackFn."," * (Applies to each iterative execution of callback)
  • "," *
  • iterations -- Number of times to repeat the callback."," *
  • until -- Repeat the callback until this function returns"," * true. This setting trumps iterations.
  • "," *
  • autoContinue -- Set to false to prevent the AsyncQueue from"," * executing the next callback in the Queue after"," * the callback completes.
  • "," *
  • id -- Name that can be used to get, promote, get the"," * indexOf, or delete this callback.
  • "," *
"," *"," * @class AsyncQueue"," * @extends EventTarget"," * @constructor"," * @param callback* {Function|Object} 0..n callbacks to seed the queue"," */","Y.AsyncQueue = function() {"," this._init();"," this.add.apply(this, arguments);","};","","var Queue = Y.AsyncQueue,"," EXECUTE = 'execute',"," SHIFT = 'shift',"," PROMOTE = 'promote',"," REMOVE = 'remove',",""," isObject = Y.Lang.isObject,"," isFunction = Y.Lang.isFunction;","","/**"," *

Static default values used to populate callback configuration properties."," * Preconfigured defaults include:

"," *"," *
    "," *
  • autoContinue: true
  • "," *
  • iterations: 1
  • "," *
  • timeout: 10 (10ms between callbacks)
  • "," *
  • until: (function to run until iterations <= 0)
  • "," *
"," *"," * @property defaults"," * @type {Object}"," * @static"," */","Queue.defaults = Y.mix({"," autoContinue : true,"," iterations : 1,"," timeout : 10,"," until : function () {"," this.iterations |= 0;"," return this.iterations <= 0;"," }","}, Y.config.queueDefaults || {});","","Y.extend(Queue, Y.EventTarget, {"," /**"," * Used to indicate the queue is currently executing a callback."," *"," * @property _running"," * @type {Boolean|Object} true for synchronous callback execution, the"," * return handle from Y.later for async callbacks."," * Otherwise false."," * @protected"," */"," _running : false,",""," /**"," * Initializes the AsyncQueue instance properties and events."," *"," * @method _init"," * @protected"," */"," _init : function () {"," Y.EventTarget.call(this, { prefix: 'queue', emitFacade: true });",""," this._q = [];",""," /** "," * Callback defaults for this instance. Static defaults that are not"," * overridden are also included."," *"," * @property defaults"," * @type {Object}"," */"," this.defaults = {};",""," this._initEvents();"," },",""," /**"," * Initializes the instance events."," *"," * @method _initEvents"," * @protected"," */"," _initEvents : function () {"," this.publish({"," 'execute' : { defaultFn : this._defExecFn, emitFacade: true },"," 'shift' : { defaultFn : this._defShiftFn, emitFacade: true },"," 'add' : { defaultFn : this._defAddFn, emitFacade: true },"," 'promote' : { defaultFn : this._defPromoteFn, emitFacade: true },"," 'remove' : { defaultFn : this._defRemoveFn, emitFacade: true }"," });"," },",""," /**"," * Returns the next callback needing execution. If a callback is"," * configured to repeat via iterations or until, it will be returned until"," * the completion criteria is met."," *"," * When the queue is empty, null is returned."," *"," * @method next"," * @return {Function} the callback to execute"," */"," next : function () {"," var callback;",""," while (this._q.length) {"," callback = this._q[0] = this._prepare(this._q[0]);"," if (callback && callback.until()) {"," this.fire(SHIFT, { callback: callback });"," callback = null;"," } else {"," break;"," }"," }",""," return callback || null;"," },",""," /**"," * Default functionality for the "shift" event. Shifts the"," * callback stored in the event object's callback property from"," * the queue if it is the first item."," *"," * @method _defShiftFn"," * @param e {Event} The event object"," * @protected"," */"," _defShiftFn : function (e) {"," if (this.indexOf(e.callback) === 0) {"," this._q.shift();"," }"," },",""," /**"," * Creates a wrapper function to execute the callback using the aggregated "," * configuration generated by combining the static AsyncQueue.defaults, the"," * instance defaults, and the specified callback settings."," *"," * The wrapper function is decorated with the callback configuration as"," * properties for runtime modification."," *"," * @method _prepare"," * @param callback {Object|Function} the raw callback"," * @return {Function} a decorated function wrapper to execute the callback"," * @protected"," */"," _prepare: function (callback) {"," if (isFunction(callback) && callback._prepared) {"," return callback;"," }",""," var config = Y.merge("," Queue.defaults,"," { context : this, args: [], _prepared: true },"," this.defaults,"," (isFunction(callback) ? { fn: callback } : callback)),"," "," wrapper = Y.bind(function () {"," if (!wrapper._running) {"," wrapper.iterations--;"," }"," if (isFunction(wrapper.fn)) {"," wrapper.fn.apply(wrapper.context || Y,"," Y.Array(wrapper.args));"," }"," }, this);"," "," return Y.mix(wrapper, config);"," },",""," /**"," * Sets the queue in motion. All queued callbacks will be executed in"," * order unless pause() or stop() is called or if one of the callbacks is"," * configured with autoContinue: false."," *"," * @method run"," * @return {AsyncQueue} the AsyncQueue instance"," * @chainable"," */"," run : function () {"," var callback,"," cont = true;",""," for (callback = this.next();"," cont && callback && !this.isRunning();"," callback = this.next())"," {"," cont = (callback.timeout < 0) ?"," this._execute(callback) :"," this._schedule(callback);"," }",""," if (!callback) {"," /**"," * Event fired after the last queued callback is executed."," * @event complete"," */"," this.fire('complete');"," }",""," return this;"," },",""," /**"," * Handles the execution of callbacks. Returns a boolean indicating"," * whether it is appropriate to continue running."," *"," * @method _execute"," * @param callback {Object} the callback object to execute"," * @return {Boolean} whether the run loop should continue"," * @protected"," */"," _execute : function (callback) {"," this._running = callback._running = true;",""," callback.iterations--;"," this.fire(EXECUTE, { callback: callback });",""," var cont = this._running && callback.autoContinue;",""," this._running = callback._running = false;",""," return cont;"," },",""," /**"," * Schedules the execution of asynchronous callbacks."," *"," * @method _schedule"," * @param callback {Object} the callback object to execute"," * @return {Boolean} whether the run loop should continue"," * @protected"," */"," _schedule : function (callback) {"," this._running = Y.later(callback.timeout, this, function () {"," if (this._execute(callback)) {"," this.run();"," }"," });",""," return false;"," },",""," /**"," * Determines if the queue is waiting for a callback to complete execution."," *"," * @method isRunning"," * @return {Boolean} true if queue is waiting for a "," * from any initiated transactions"," */"," isRunning : function () {"," return !!this._running;"," },",""," /**"," * Default functionality for the "execute" event. Executes the"," * callback function"," *"," * @method _defExecFn"," * @param e {Event} the event object"," * @protected"," */"," _defExecFn : function (e) {"," e.callback();"," },",""," /**"," * Add any number of callbacks to the end of the queue. Callbacks may be"," * provided as functions or objects."," *"," * @method add"," * @param callback* {Function|Object} 0..n callbacks"," * @return {AsyncQueue} the AsyncQueue instance"," * @chainable"," */"," add : function () {"," this.fire('add', { callbacks: Y.Array(arguments,0,true) });",""," return this;"," },",""," /**"," * Default functionality for the "add" event. Adds the callbacks"," * in the event facade to the queue. Callbacks successfully added to the"," * queue are present in the event's added property in the"," * after phase."," *"," * @method _defAddFn"," * @param e {Event} the event object"," * @protected"," */"," _defAddFn : function(e) {"," var _q = this._q,"," added = [];",""," Y.Array.each(e.callbacks, function (c) {"," if (isObject(c)) {"," _q.push(c);"," added.push(c);"," }"," });",""," e.added = added;"," },",""," /**"," * Pause the execution of the queue after the execution of the current"," * callback completes. If called from code outside of a queued callback,"," * clears the timeout for the pending callback. Paused queue can be"," * restarted with q.run()"," *"," * @method pause"," * @return {AsyncQueue} the AsyncQueue instance"," * @chainable"," */"," pause: function () {"," if (isObject(this._running)) {"," this._running.cancel();"," }",""," this._running = false;",""," return this;"," },",""," /**"," * Stop and clear the queue after the current execution of the"," * current callback completes."," *"," * @method stop"," * @return {AsyncQueue} the AsyncQueue instance"," * @chainable"," */"," stop : function () { "," this._q = [];",""," return this.pause();"," },",""," /** "," * Returns the current index of a callback. Pass in either the id or"," * callback function from getCallback."," *"," * @method indexOf"," * @param callback {String|Function} the callback or its specified id"," * @return {Number} index of the callback or -1 if not found"," */"," indexOf : function (callback) {"," var i = 0, len = this._q.length, c;",""," for (; i < len; ++i) {"," c = this._q[i];"," if (c === callback || c.id === callback) {"," return i;"," }"," }",""," return -1;"," },",""," /**"," * Retrieve a callback by its id. Useful to modify the configuration"," * while the queue is running."," *"," * @method getCallback"," * @param id {String} the id assigned to the callback"," * @return {Object} the callback object"," */"," getCallback : function (id) {"," var i = this.indexOf(id);",""," return (i > -1) ? this._q[i] : null;"," },",""," /**"," * Promotes the named callback to the top of the queue. If a callback is"," * currently executing or looping (via until or iterations), the promotion"," * is scheduled to occur after the current callback has completed."," *"," * @method promote"," * @param callback {String|Object} the callback object or a callback's id"," * @return {AsyncQueue} the AsyncQueue instance"," * @chainable"," */"," promote : function (callback) {"," var payload = { callback : callback },e;",""," if (this.isRunning()) {"," e = this.after(SHIFT, function () {"," this.fire(PROMOTE, payload);"," e.detach();"," }, this);"," } else {"," this.fire(PROMOTE, payload);"," }",""," return this;"," },",""," /**"," *

Default functionality for the "promote" event. Promotes the"," * named callback to the head of the queue.

"," *"," *

The event object will contain a property "callback", which"," * holds the id of a callback or the callback object itself.

"," *"," * @method _defPromoteFn"," * @param e {Event} the custom event"," * @protected"," */"," _defPromoteFn : function (e) {"," var i = this.indexOf(e.callback),"," promoted = (i > -1) ? this._q.splice(i,1)[0] : null;",""," e.promoted = promoted;",""," if (promoted) {"," this._q.unshift(promoted);"," }"," },",""," /**"," * Removes the callback from the queue. If the queue is active, the"," * removal is scheduled to occur after the current callback has completed."," *"," * @method remove"," * @param callback {String|Object} the callback object or a callback's id"," * @return {AsyncQueue} the AsyncQueue instance"," * @chainable"," */"," remove : function (callback) {"," var payload = { callback : callback },e;",""," // Can't return the removed callback because of the deferral until"," // current callback is complete"," if (this.isRunning()) {"," e = this.after(SHIFT, function () {"," this.fire(REMOVE, payload);"," e.detach();"," },this);"," } else {"," this.fire(REMOVE, payload);"," }",""," return this;"," },",""," /**"," *

Default functionality for the "remove" event. Removes the"," * callback from the queue.

"," *"," *

The event object will contain a property "callback", which"," * holds the id of a callback or the callback object itself.

"," *"," * @method _defRemoveFn"," * @param e {Event} the custom event"," * @protected"," */"," _defRemoveFn : function (e) {"," var i = this.indexOf(e.callback);",""," e.removed = (i > -1) ? this._q.splice(i,1)[0] : null;"," },",""," /**"," * Returns the number of callbacks in the queue."," *"," * @method size"," * @return {Number}"," */"," size : function () {"," // next() flushes callbacks that have met their until() criteria and"," // therefore shouldn't count since they wouldn't execute anyway."," if (!this.isRunning()) {"," this.next();"," }",""," return this._q.length;"," }","});","","","","}, '3.9.0', {\"requires\": [\"event-custom\"]});"]; +_yuitest_coverage["build/async-queue/async-queue.js"].code=["YUI.add('async-queue', function (Y, NAME) {","","/**"," *

AsyncQueue allows you create a chain of function callbacks executed"," * via setTimeout (or synchronously) that are guaranteed to run in order."," * Items in the queue can be promoted or removed. Start or resume the"," * execution chain with run(). pause() to temporarily delay execution, or"," * stop() to halt and clear the queue.

"," *"," * @module async-queue"," */","","/**"," *

A specialized queue class that supports scheduling callbacks to execute"," * sequentially, iteratively, even asynchronously.

"," *"," *

Callbacks can be function refs or objects with the following keys. Only"," * the fn key is required.

"," *"," *
    "," *
  • fn -- The callback function
  • "," *
  • context -- The execution context for the callbackFn.
  • "," *
  • args -- Arguments to pass to callbackFn.
  • "," *
  • timeout -- Millisecond delay before executing callbackFn."," * (Applies to each iterative execution of callback)
  • "," *
  • iterations -- Number of times to repeat the callback."," *
  • until -- Repeat the callback until this function returns"," * true. This setting trumps iterations.
  • "," *
  • autoContinue -- Set to false to prevent the AsyncQueue from"," * executing the next callback in the Queue after"," * the callback completes.
  • "," *
  • id -- Name that can be used to get, promote, get the"," * indexOf, or delete this callback.
  • "," *
"," *"," * @class AsyncQueue"," * @extends EventTarget"," * @constructor"," * @param callback* {Function|Object} 0..n callbacks to seed the queue"," */","Y.AsyncQueue = function() {"," this._init();"," this.add.apply(this, arguments);","};","","var Queue = Y.AsyncQueue,"," EXECUTE = 'execute',"," SHIFT = 'shift',"," PROMOTE = 'promote',"," REMOVE = 'remove',",""," isObject = Y.Lang.isObject,"," isFunction = Y.Lang.isFunction;","","/**"," *

Static default values used to populate callback configuration properties."," * Preconfigured defaults include:

"," *"," *
    "," *
  • autoContinue: true
  • "," *
  • iterations: 1
  • "," *
  • timeout: 10 (10ms between callbacks)
  • "," *
  • until: (function to run until iterations <= 0)
  • "," *
"," *"," * @property defaults"," * @type {Object}"," * @static"," */","Queue.defaults = Y.mix({"," autoContinue : true,"," iterations : 1,"," timeout : 10,"," until : function () {"," this.iterations |= 0;"," return this.iterations <= 0;"," }","}, Y.config.queueDefaults || {});","","Y.extend(Queue, Y.EventTarget, {"," /**"," * Used to indicate the queue is currently executing a callback."," *"," * @property _running"," * @type {Boolean|Object} true for synchronous callback execution, the"," * return handle from Y.later for async callbacks."," * Otherwise false."," * @protected"," */"," _running : false,",""," /**"," * Initializes the AsyncQueue instance properties and events."," *"," * @method _init"," * @protected"," */"," _init : function () {"," Y.EventTarget.call(this, { prefix: 'queue', emitFacade: true });",""," this._q = [];",""," /** "," * Callback defaults for this instance. Static defaults that are not"," * overridden are also included."," *"," * @property defaults"," * @type {Object}"," */"," this.defaults = {};",""," this._initEvents();"," },",""," /**"," * Initializes the instance events."," *"," * @method _initEvents"," * @protected"," */"," _initEvents : function () {"," this.publish({"," 'execute' : { defaultFn : this._defExecFn, emitFacade: true },"," 'shift' : { defaultFn : this._defShiftFn, emitFacade: true },"," 'add' : { defaultFn : this._defAddFn, emitFacade: true },"," 'promote' : { defaultFn : this._defPromoteFn, emitFacade: true },"," 'remove' : { defaultFn : this._defRemoveFn, emitFacade: true }"," });"," },",""," /**"," * Returns the next callback needing execution. If a callback is"," * configured to repeat via iterations or until, it will be returned until"," * the completion criteria is met."," *"," * When the queue is empty, null is returned."," *"," * @method next"," * @return {Function} the callback to execute"," */"," next : function () {"," var callback;",""," while (this._q.length) {"," callback = this._q[0] = this._prepare(this._q[0]);"," if (callback && callback.until()) {"," this.fire(SHIFT, { callback: callback });"," callback = null;"," } else {"," break;"," }"," }",""," return callback || null;"," },",""," /**"," * Default functionality for the "shift" event. Shifts the"," * callback stored in the event object's callback property from"," * the queue if it is the first item."," *"," * @method _defShiftFn"," * @param e {Event} The event object"," * @protected"," */"," _defShiftFn : function (e) {"," if (this.indexOf(e.callback) === 0) {"," this._q.shift();"," }"," },",""," /**"," * Creates a wrapper function to execute the callback using the aggregated "," * configuration generated by combining the static AsyncQueue.defaults, the"," * instance defaults, and the specified callback settings."," *"," * The wrapper function is decorated with the callback configuration as"," * properties for runtime modification."," *"," * @method _prepare"," * @param callback {Object|Function} the raw callback"," * @return {Function} a decorated function wrapper to execute the callback"," * @protected"," */"," _prepare: function (callback) {"," if (isFunction(callback) && callback._prepared) {"," return callback;"," }",""," var config = Y.merge("," Queue.defaults,"," { context : this, args: [], _prepared: true },"," this.defaults,"," (isFunction(callback) ? { fn: callback } : callback)),"," "," wrapper = Y.bind(function () {"," if (!wrapper._running) {"," wrapper.iterations--;"," }"," if (isFunction(wrapper.fn)) {"," wrapper.fn.apply(wrapper.context || Y,"," Y.Array(wrapper.args));"," }"," }, this);"," "," return Y.mix(wrapper, config);"," },",""," /**"," * Sets the queue in motion. All queued callbacks will be executed in"," * order unless pause() or stop() is called or if one of the callbacks is"," * configured with autoContinue: false."," *"," * @method run"," * @return {AsyncQueue} the AsyncQueue instance"," * @chainable"," */"," run : function () {"," var callback,"," cont = true;",""," for (callback = this.next();"," cont && callback && !this.isRunning();"," callback = this.next())"," {"," cont = (callback.timeout < 0) ?"," this._execute(callback) :"," this._schedule(callback);"," }",""," if (!callback) {"," /**"," * Event fired after the last queued callback is executed."," * @event complete"," */"," this.fire('complete');"," }",""," return this;"," },",""," /**"," * Handles the execution of callbacks. Returns a boolean indicating"," * whether it is appropriate to continue running."," *"," * @method _execute"," * @param callback {Object} the callback object to execute"," * @return {Boolean} whether the run loop should continue"," * @protected"," */"," _execute : function (callback) {"," this._running = callback._running = true;",""," callback.iterations--;"," this.fire(EXECUTE, { callback: callback });",""," var cont = this._running && callback.autoContinue;",""," this._running = callback._running = false;",""," return cont;"," },",""," /**"," * Schedules the execution of asynchronous callbacks."," *"," * @method _schedule"," * @param callback {Object} the callback object to execute"," * @return {Boolean} whether the run loop should continue"," * @protected"," */"," _schedule : function (callback) {"," this._running = Y.later(callback.timeout, this, function () {"," if (this._execute(callback)) {"," this.run();"," }"," });",""," return false;"," },",""," /**"," * Determines if the queue is waiting for a callback to complete execution."," *"," * @method isRunning"," * @return {Boolean} true if queue is waiting for a "," * from any initiated transactions"," */"," isRunning : function () {"," return !!this._running;"," },",""," /**"," * Default functionality for the "execute" event. Executes the"," * callback function"," *"," * @method _defExecFn"," * @param e {Event} the event object"," * @protected"," */"," _defExecFn : function (e) {"," e.callback();"," },",""," /**"," * Add any number of callbacks to the end of the queue. Callbacks may be"," * provided as functions or objects."," *"," * @method add"," * @param callback* {Function|Object} 0..n callbacks"," * @return {AsyncQueue} the AsyncQueue instance"," * @chainable"," */"," add : function () {"," this.fire('add', { callbacks: Y.Array(arguments,0,true) });",""," return this;"," },",""," /**"," * Default functionality for the "add" event. Adds the callbacks"," * in the event facade to the queue. Callbacks successfully added to the"," * queue are present in the event's added property in the"," * after phase."," *"," * @method _defAddFn"," * @param e {Event} the event object"," * @protected"," */"," _defAddFn : function(e) {"," var _q = this._q,"," added = [];",""," Y.Array.each(e.callbacks, function (c) {"," if (isObject(c)) {"," _q.push(c);"," added.push(c);"," }"," });",""," e.added = added;"," },",""," /**"," * Pause the execution of the queue after the execution of the current"," * callback completes. If called from code outside of a queued callback,"," * clears the timeout for the pending callback. Paused queue can be"," * restarted with q.run()"," *"," * @method pause"," * @return {AsyncQueue} the AsyncQueue instance"," * @chainable"," */"," pause: function () {"," if (isObject(this._running)) {"," this._running.cancel();"," }",""," this._running = false;",""," return this;"," },",""," /**"," * Stop and clear the queue after the current execution of the"," * current callback completes."," *"," * @method stop"," * @return {AsyncQueue} the AsyncQueue instance"," * @chainable"," */"," stop : function () { "," this._q = [];",""," return this.pause();"," },",""," /** "," * Returns the current index of a callback. Pass in either the id or"," * callback function from getCallback."," *"," * @method indexOf"," * @param callback {String|Function} the callback or its specified id"," * @return {Number} index of the callback or -1 if not found"," */"," indexOf : function (callback) {"," var i = 0, len = this._q.length, c;",""," for (; i < len; ++i) {"," c = this._q[i];"," if (c === callback || c.id === callback) {"," return i;"," }"," }",""," return -1;"," },",""," /**"," * Retrieve a callback by its id. Useful to modify the configuration"," * while the queue is running."," *"," * @method getCallback"," * @param id {String} the id assigned to the callback"," * @return {Object} the callback object"," */"," getCallback : function (id) {"," var i = this.indexOf(id);",""," return (i > -1) ? this._q[i] : null;"," },",""," /**"," * Promotes the named callback to the top of the queue. If a callback is"," * currently executing or looping (via until or iterations), the promotion"," * is scheduled to occur after the current callback has completed."," *"," * @method promote"," * @param callback {String|Object} the callback object or a callback's id"," * @return {AsyncQueue} the AsyncQueue instance"," * @chainable"," */"," promote : function (callback) {"," var payload = { callback : callback },e;",""," if (this.isRunning()) {"," e = this.after(SHIFT, function () {"," this.fire(PROMOTE, payload);"," e.detach();"," }, this);"," } else {"," this.fire(PROMOTE, payload);"," }",""," return this;"," },",""," /**"," *

Default functionality for the "promote" event. Promotes the"," * named callback to the head of the queue.

"," *"," *

The event object will contain a property "callback", which"," * holds the id of a callback or the callback object itself.

"," *"," * @method _defPromoteFn"," * @param e {Event} the custom event"," * @protected"," */"," _defPromoteFn : function (e) {"," var i = this.indexOf(e.callback),"," promoted = (i > -1) ? this._q.splice(i,1)[0] : null;",""," e.promoted = promoted;",""," if (promoted) {"," this._q.unshift(promoted);"," }"," },",""," /**"," * Removes the callback from the queue. If the queue is active, the"," * removal is scheduled to occur after the current callback has completed."," *"," * @method remove"," * @param callback {String|Object} the callback object or a callback's id"," * @return {AsyncQueue} the AsyncQueue instance"," * @chainable"," */"," remove : function (callback) {"," var payload = { callback : callback },e;",""," // Can't return the removed callback because of the deferral until"," // current callback is complete"," if (this.isRunning()) {"," e = this.after(SHIFT, function () {"," this.fire(REMOVE, payload);"," e.detach();"," },this);"," } else {"," this.fire(REMOVE, payload);"," }",""," return this;"," },",""," /**"," *

Default functionality for the "remove" event. Removes the"," * callback from the queue.

"," *"," *

The event object will contain a property "callback", which"," * holds the id of a callback or the callback object itself.

"," *"," * @method _defRemoveFn"," * @param e {Event} the custom event"," * @protected"," */"," _defRemoveFn : function (e) {"," var i = this.indexOf(e.callback);",""," e.removed = (i > -1) ? this._q.splice(i,1)[0] : null;"," },",""," /**"," * Returns the number of callbacks in the queue."," *"," * @method size"," * @return {Number}"," */"," size : function () {"," // next() flushes callbacks that have met their until() criteria and"," // therefore shouldn't count since they wouldn't execute anyway."," if (!this.isRunning()) {"," this.next();"," }",""," return this._q.length;"," }","});","","","","}, '3.9.1', {\"requires\": [\"event-custom\"]});"]; _yuitest_coverage["build/async-queue/async-queue.js"].lines = {"1":0,"41":0,"42":0,"43":0,"46":0,"70":0,"75":0,"76":0,"80":0,"99":0,"101":0,"110":0,"112":0,"122":0,"142":0,"144":0,"145":0,"146":0,"147":0,"148":0,"150":0,"154":0,"167":0,"168":0,"186":0,"187":0,"190":0,"197":0,"198":0,"200":0,"201":0,"206":0,"219":0,"222":0,"226":0,"231":0,"236":0,"239":0,"252":0,"254":0,"255":0,"257":0,"259":0,"261":0,"273":0,"274":0,"275":0,"279":0,"290":0,"302":0,"315":0,"317":0,"331":0,"334":0,"335":0,"336":0,"337":0,"341":0,"355":0,"356":0,"359":0,"361":0,"373":0,"375":0,"387":0,"389":0,"390":0,"391":0,"392":0,"396":0,"408":0,"410":0,"424":0,"426":0,"427":0,"428":0,"429":0,"432":0,"435":0,"450":0,"453":0,"455":0,"456":0,"470":0,"474":0,"475":0,"476":0,"477":0,"480":0,"483":0,"498":0,"500":0,"512":0,"513":0,"516":0}; _yuitest_coverage["build/async-queue/async-queue.js"].functions = {"AsyncQueue:41":0,"until:74":0,"_init:98":0,"_initEvents:121":0,"next:141":0,"_defShiftFn:166":0,"(anonymous 2):196":0,"_prepare:185":0,"run:218":0,"_execute:251":0,"(anonymous 3):273":0,"_schedule:272":0,"isRunning:289":0,"_defExecFn:301":0,"add:314":0,"(anonymous 4):334":0,"_defAddFn:330":0,"pause:354":0,"stop:372":0,"indexOf:386":0,"getCallback:407":0,"(anonymous 5):427":0,"promote:423":0,"_defPromoteFn:449":0,"(anonymous 6):475":0,"remove:469":0,"_defRemoveFn:497":0,"size:509":0,"(anonymous 1):1":0}; _yuitest_coverage["build/async-queue/async-queue.js"].coveredLines = 95; @@ -677,4 +677,4 @@ return this._q.length; -}, '3.9.0', {"requires": ["event-custom"]}); +}, '3.9.1', {"requires": ["event-custom"]}); diff --git a/lib/yuilib/3.9.0/build/async-queue/async-queue-debug.js b/lib/yuilib/3.9.1/build/async-queue/async-queue-debug.js similarity index 99% rename from lib/yuilib/3.9.0/build/async-queue/async-queue-debug.js rename to lib/yuilib/3.9.1/build/async-queue/async-queue-debug.js index 04bb1d8b708..a0bc324fa6b 100644 --- a/lib/yuilib/3.9.0/build/async-queue/async-queue-debug.js +++ b/lib/yuilib/3.9.1/build/async-queue/async-queue-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('async-queue', function (Y, NAME) { /** @@ -520,4 +520,4 @@ Y.extend(Queue, Y.EventTarget, { -}, '3.9.0', {"requires": ["event-custom"]}); +}, '3.9.1', {"requires": ["event-custom"]}); diff --git a/lib/yuilib/3.9.0/build/async-queue/async-queue-min.js b/lib/yuilib/3.9.1/build/async-queue/async-queue-min.js similarity index 95% rename from lib/yuilib/3.9.0/build/async-queue/async-queue-min.js rename to lib/yuilib/3.9.1/build/async-queue/async-queue-min.js index 4d357b69090..e9452d97c55 100644 --- a/lib/yuilib/3.9.0/build/async-queue/async-queue-min.js +++ b/lib/yuilib/3.9.1/build/async-queue/async-queue-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("async-queue",function(e,t){e.AsyncQueue=function(){this._init(),this.add.apply(this,arguments)};var n=e.AsyncQueue,r="execute",i="shift",s="promote",o="remove",u=e.Lang.isObject,a=e.Lang.isFunction;n.defaults=e.mix({autoContinue:!0,iterations:1,timeout:10,until:function(){return this.iterations|=0,this.iterations<=0}},e.config.queueDefaults||{}),e.extend(n,e.EventTarget,{_running:!1,_init:function(){e.EventTarget.call(this,{prefix:"queue",emitFacade:!0}),this._q=[],this.defaults={},this._initEvents()},_initEvents:function(){this.publish({execute:{defaultFn:this._defExecFn,emitFacade:!0},shift:{defaultFn:this._defShiftFn,emitFacade:!0},add:{defaultFn:this._defAddFn,emitFacade:!0},promote:{defaultFn:this._defPromoteFn,emitFacade:!0},remove:{defaultFn:this._defRemoveFn,emitFacade:!0}})},next:function(){var e;while(this._q.length){e=this._q[0]=this._prepare(this._q[0]);if(!e||!e.until())break;this.fire(i,{callback:e}),e=null}return e||null},_defShiftFn:function(e){this.indexOf(e.callback)===0&&this._q.shift()},_prepare:function(t){if(a(t)&&t._prepared)return t;var r=e.merge(n.defaults,{context:this,args:[],_prepared:!0},this.defaults,a(t)?{fn:t}:t),i=e.bind(function(){i._running||i.iterations--,a(i.fn)&&i.fn.apply(i.context||e,e.Array(i.args))},this);return e.mix(i,r)},run:function(){var e,t=!0;for(e=this.next();t&&e&&!this.isRunning();e=this.next())t=e.timeout<0?this._execute(e):this._schedule(e);return e||this.fire("complete"),this},_execute:function(e){this._running=e._running=!0,e.iterations--,this.fire(r,{callback:e});var t=this._running&&e.autoContinue;return this._running=e._running=!1,t},_schedule:function(t){return this._running=e.later(t.timeout,this,function(){this._execute(t)&&this.run()}),!1},isRunning:function(){return!!this._running},_defExecFn:function(e){e.callback()},add:function(){return this.fire("add",{callbacks:e.Array(arguments,0,!0)}),this},_defAddFn:function(t){var n=this._q,r=[];e.Array.each(t.callbacks,function(e){u(e)&&(n.push(e),r.push(e))}),t.added=r},pause:function(){return u(this._running)&&this._running.cancel(),this._running=!1,this},stop:function(){return this._q=[],this.pause()},indexOf:function(e){var t=0,n=this._q.length,r;for(;t-1?this._q[t]:null},promote:function(e){var t={callback:e},n;return this.isRunning()?n=this.after(i,function(){this.fire(s,t),n.detach()},this):this.fire(s,t),this},_defPromoteFn:function(e){var t=this.indexOf(e.callback),n=t>-1?this._q.splice(t,1)[0]:null;e.promoted=n,n&&this._q.unshift(n)},remove:function(e){var t={callback:e},n;return this.isRunning()?n=this.after(i,function(){this.fire(o,t),n.detach()},this):this.fire(o,t),this},_defRemoveFn:function(e){var t=this.indexOf(e.callback);e.removed=t>-1?this._q.splice(t,1)[0]:null},size:function(){return this.isRunning()||this.next(),this._q.length}})},"3.9.0",{requires:["event-custom"]}); +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +YUI.add("async-queue",function(e,t){e.AsyncQueue=function(){this._init(),this.add.apply(this,arguments)};var n=e.AsyncQueue,r="execute",i="shift",s="promote",o="remove",u=e.Lang.isObject,a=e.Lang.isFunction;n.defaults=e.mix({autoContinue:!0,iterations:1,timeout:10,until:function(){return this.iterations|=0,this.iterations<=0}},e.config.queueDefaults||{}),e.extend(n,e.EventTarget,{_running:!1,_init:function(){e.EventTarget.call(this,{prefix:"queue",emitFacade:!0}),this._q=[],this.defaults={},this._initEvents()},_initEvents:function(){this.publish({execute:{defaultFn:this._defExecFn,emitFacade:!0},shift:{defaultFn:this._defShiftFn,emitFacade:!0},add:{defaultFn:this._defAddFn,emitFacade:!0},promote:{defaultFn:this._defPromoteFn,emitFacade:!0},remove:{defaultFn:this._defRemoveFn,emitFacade:!0}})},next:function(){var e;while(this._q.length){e=this._q[0]=this._prepare(this._q[0]);if(!e||!e.until())break;this.fire(i,{callback:e}),e=null}return e||null},_defShiftFn:function(e){this.indexOf(e.callback)===0&&this._q.shift()},_prepare:function(t){if(a(t)&&t._prepared)return t;var r=e.merge(n.defaults,{context:this,args:[],_prepared:!0},this.defaults,a(t)?{fn:t}:t),i=e.bind(function(){i._running||i.iterations--,a(i.fn)&&i.fn.apply(i.context||e,e.Array(i.args))},this);return e.mix(i,r)},run:function(){var e,t=!0;for(e=this.next();t&&e&&!this.isRunning();e=this.next())t=e.timeout<0?this._execute(e):this._schedule(e);return e||this.fire("complete"),this},_execute:function(e){this._running=e._running=!0,e.iterations--,this.fire(r,{callback:e});var t=this._running&&e.autoContinue;return this._running=e._running=!1,t},_schedule:function(t){return this._running=e.later(t.timeout,this,function(){this._execute(t)&&this.run()}),!1},isRunning:function(){return!!this._running},_defExecFn:function(e){e.callback()},add:function(){return this.fire("add",{callbacks:e.Array(arguments,0,!0)}),this},_defAddFn:function(t){var n=this._q,r=[];e.Array.each(t.callbacks,function(e){u(e)&&(n.push(e),r.push(e))}),t.added=r},pause:function(){return u(this._running)&&this._running.cancel(),this._running=!1,this},stop:function(){return this._q=[],this.pause()},indexOf:function(e){var t=0,n=this._q.length,r;for(;t-1?this._q[t]:null},promote:function(e){var t={callback:e},n;return this.isRunning()?n=this.after(i,function(){this.fire(s,t),n.detach()},this):this.fire(s,t),this},_defPromoteFn:function(e){var t=this.indexOf(e.callback),n=t>-1?this._q.splice(t,1)[0]:null;e.promoted=n,n&&this._q.unshift(n)},remove:function(e){var t={callback:e},n;return this.isRunning()?n=this.after(i,function(){this.fire(o,t),n.detach()},this):this.fire(o,t),this},_defRemoveFn:function(e){var t=this.indexOf(e.callback);e.removed=t>-1?this._q.splice(t,1)[0]:null},size:function(){return this.isRunning()||this.next(),this._q.length}})},"3.9.1",{requires:["event-custom"]}); diff --git a/lib/yuilib/3.9.0/build/async-queue/async-queue.js b/lib/yuilib/3.9.1/build/async-queue/async-queue.js similarity index 99% rename from lib/yuilib/3.9.0/build/async-queue/async-queue.js rename to lib/yuilib/3.9.1/build/async-queue/async-queue.js index 04bb1d8b708..a0bc324fa6b 100644 --- a/lib/yuilib/3.9.0/build/async-queue/async-queue.js +++ b/lib/yuilib/3.9.1/build/async-queue/async-queue.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('async-queue', function (Y, NAME) { /** @@ -520,4 +520,4 @@ Y.extend(Queue, Y.EventTarget, { -}, '3.9.0', {"requires": ["event-custom"]}); +}, '3.9.1', {"requires": ["event-custom"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-base/attribute-base-coverage.js b/lib/yuilib/3.9.1/build/attribute-base/attribute-base-coverage.js similarity index 98% rename from lib/yuilib/3.9.0/build/attribute-base/attribute-base-coverage.js rename to lib/yuilib/3.9.1/build/attribute-base/attribute-base-coverage.js index 8f30588f35e..6612b090939 100644 --- a/lib/yuilib/3.9.0/build/attribute-base/attribute-base-coverage.js +++ b/lib/yuilib/3.9.1/build/attribute-base/attribute-base-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/attribute-base/attribute-base.js"] = { path: "build/attribute-base/attribute-base.js", code: [] }; -_yuitest_coverage["build/attribute-base/attribute-base.js"].code=["YUI.add('attribute-base', function (Y, NAME) {",""," /**"," * The attribute module provides an augmentable Attribute implementation, which"," * adds configurable attributes and attribute change events to the class being"," * augmented. It also provides a State class, which is used internally by Attribute,"," * but can also be used independently to provide a name/property/value data structure to"," * store state."," *"," * @module attribute"," */",""," /**"," * The attribute-base submodule provides core attribute handling support, with everything"," * aside from complex attribute handling in the provider's constructor."," *"," * @module attribute"," * @submodule attribute-base"," */",""," /**"," *

"," * Attribute provides configurable attribute support along with attribute change events. It is designed to be"," * augmented on to a host class, and provides the host with the ability to configure attributes to store and retrieve state,"," * along with attribute change events."," *

"," *

For example, attributes added to the host can be configured:

"," *
    "," *
  • As read only.
  • "," *
  • As write once.
  • "," *
  • With a setter function, which can be used to manipulate"," * values passed to Attribute's set method, before they are stored.
  • "," *
  • With a getter function, which can be used to manipulate stored values,"," * before they are returned by Attribute's get method.
  • "," *
  • With a validator function, to validate values before they are stored.
  • "," *
"," *"," *

See the addAttr method, for the complete set of configuration"," * options available for attributes.

"," *"," *

NOTE: Most implementations will be better off extending the Base class,"," * instead of augmenting Attribute directly. Base augments Attribute and will handle the initial configuration"," * of attributes for derived classes, accounting for values passed into the constructor.

"," *"," * @class Attribute"," * @param attrs {Object} The attributes to add during construction (passed through to addAttrs)."," * These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor."," * @param values {Object} The initial attribute values to apply (passed through to addAttrs)."," * These are not merged/cloned. The caller is responsible for isolating user provided values if required."," * @param lazy {boolean} Whether or not to add attributes lazily (passed through to addAttrs)."," * @uses AttributeCore"," * @uses AttributeObservable"," * @uses EventTarget"," * @uses AttributeExtras"," */"," function Attribute() {"," Y.AttributeCore.apply(this, arguments);"," Y.AttributeObservable.apply(this, arguments);"," Y.AttributeExtras.apply(this, arguments);"," }",""," Y.mix(Attribute, Y.AttributeCore, false, null, 1);"," Y.mix(Attribute, Y.AttributeExtras, false, null, 1);",""," // Needs to be `true`, to overwrite methods from AttributeCore"," Y.mix(Attribute, Y.AttributeObservable, true, null, 1);",""," /**"," *

The value to return from an attribute setter in order to prevent the set from going through.

"," *"," *

You can return this value from your setter if you wish to combine validator and setter"," * functionality into a single setter function, which either returns the massaged value to be stored or"," * AttributeCore.INVALID_VALUE to prevent invalid values from being stored.

"," *"," * @property INVALID_VALUE"," * @type Object"," * @static"," * @final"," */"," Attribute.INVALID_VALUE = Y.AttributeCore.INVALID_VALUE;",""," /**"," * The list of properties which can be configured for"," * each attribute (e.g. setter, getter, writeOnce etc.)."," *"," * This property is used internally as a whitelist for faster"," * Y.mix operations."," *"," * @property _ATTR_CFG"," * @type Array"," * @static"," * @protected"," */"," Attribute._ATTR_CFG = Y.AttributeCore._ATTR_CFG.concat(Y.AttributeObservable._ATTR_CFG);",""," /**"," * Utility method to protect an attribute configuration hash, by merging the"," * entire object and the individual attr config objects."," *"," * @method protectAttrs"," * @static"," * @param {Object} attrs A hash of attribute to configuration object pairs."," * @return {Object} A protected version of the `attrs` argument."," */"," Attribute.protectAttrs = Y.AttributeCore.protectAttrs;",""," Y.Attribute = Attribute;","","","}, '3.9.0', {\"requires\": [\"attribute-core\", \"attribute-observable\", \"attribute-extras\"]});"]; +_yuitest_coverage["build/attribute-base/attribute-base.js"].code=["YUI.add('attribute-base', function (Y, NAME) {",""," /**"," * The attribute module provides an augmentable Attribute implementation, which"," * adds configurable attributes and attribute change events to the class being"," * augmented. It also provides a State class, which is used internally by Attribute,"," * but can also be used independently to provide a name/property/value data structure to"," * store state."," *"," * @module attribute"," */",""," /**"," * The attribute-base submodule provides core attribute handling support, with everything"," * aside from complex attribute handling in the provider's constructor."," *"," * @module attribute"," * @submodule attribute-base"," */",""," /**"," *

"," * Attribute provides configurable attribute support along with attribute change events. It is designed to be"," * augmented on to a host class, and provides the host with the ability to configure attributes to store and retrieve state,"," * along with attribute change events."," *

"," *

For example, attributes added to the host can be configured:

"," *
    "," *
  • As read only.
  • "," *
  • As write once.
  • "," *
  • With a setter function, which can be used to manipulate"," * values passed to Attribute's set method, before they are stored.
  • "," *
  • With a getter function, which can be used to manipulate stored values,"," * before they are returned by Attribute's get method.
  • "," *
  • With a validator function, to validate values before they are stored.
  • "," *
"," *"," *

See the addAttr method, for the complete set of configuration"," * options available for attributes.

"," *"," *

NOTE: Most implementations will be better off extending the Base class,"," * instead of augmenting Attribute directly. Base augments Attribute and will handle the initial configuration"," * of attributes for derived classes, accounting for values passed into the constructor.

"," *"," * @class Attribute"," * @param attrs {Object} The attributes to add during construction (passed through to addAttrs)."," * These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor."," * @param values {Object} The initial attribute values to apply (passed through to addAttrs)."," * These are not merged/cloned. The caller is responsible for isolating user provided values if required."," * @param lazy {boolean} Whether or not to add attributes lazily (passed through to addAttrs)."," * @uses AttributeCore"," * @uses AttributeObservable"," * @uses EventTarget"," * @uses AttributeExtras"," */"," function Attribute() {"," Y.AttributeCore.apply(this, arguments);"," Y.AttributeObservable.apply(this, arguments);"," Y.AttributeExtras.apply(this, arguments);"," }",""," Y.mix(Attribute, Y.AttributeCore, false, null, 1);"," Y.mix(Attribute, Y.AttributeExtras, false, null, 1);",""," // Needs to be `true`, to overwrite methods from AttributeCore"," Y.mix(Attribute, Y.AttributeObservable, true, null, 1);",""," /**"," *

The value to return from an attribute setter in order to prevent the set from going through.

"," *"," *

You can return this value from your setter if you wish to combine validator and setter"," * functionality into a single setter function, which either returns the massaged value to be stored or"," * AttributeCore.INVALID_VALUE to prevent invalid values from being stored.

"," *"," * @property INVALID_VALUE"," * @type Object"," * @static"," * @final"," */"," Attribute.INVALID_VALUE = Y.AttributeCore.INVALID_VALUE;",""," /**"," * The list of properties which can be configured for"," * each attribute (e.g. setter, getter, writeOnce etc.)."," *"," * This property is used internally as a whitelist for faster"," * Y.mix operations."," *"," * @property _ATTR_CFG"," * @type Array"," * @static"," * @protected"," */"," Attribute._ATTR_CFG = Y.AttributeCore._ATTR_CFG.concat(Y.AttributeObservable._ATTR_CFG);",""," /**"," * Utility method to protect an attribute configuration hash, by merging the"," * entire object and the individual attr config objects."," *"," * @method protectAttrs"," * @static"," * @param {Object} attrs A hash of attribute to configuration object pairs."," * @return {Object} A protected version of the `attrs` argument."," */"," Attribute.protectAttrs = Y.AttributeCore.protectAttrs;",""," Y.Attribute = Attribute;","","","}, '3.9.1', {\"requires\": [\"attribute-core\", \"attribute-observable\", \"attribute-extras\"]});"]; _yuitest_coverage["build/attribute-base/attribute-base.js"].lines = {"1":0,"56":0,"57":0,"58":0,"59":0,"62":0,"63":0,"66":0,"80":0,"94":0,"105":0,"107":0}; _yuitest_coverage["build/attribute-base/attribute-base.js"].functions = {"Attribute:56":0,"(anonymous 1):1":0}; _yuitest_coverage["build/attribute-base/attribute-base.js"].coveredLines = 12; @@ -155,4 +155,4 @@ Attribute.protectAttrs = Y.AttributeCore.protectAttrs; Y.Attribute = Attribute; -}, '3.9.0', {"requires": ["attribute-core", "attribute-observable", "attribute-extras"]}); +}, '3.9.1', {"requires": ["attribute-core", "attribute-observable", "attribute-extras"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-base/attribute-base-debug.js b/lib/yuilib/3.9.1/build/attribute-base/attribute-base-debug.js similarity index 97% rename from lib/yuilib/3.9.0/build/attribute-base/attribute-base-debug.js rename to lib/yuilib/3.9.1/build/attribute-base/attribute-base-debug.js index f315f0d3f82..c9ab64ecd85 100644 --- a/lib/yuilib/3.9.0/build/attribute-base/attribute-base-debug.js +++ b/lib/yuilib/3.9.1/build/attribute-base/attribute-base-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('attribute-base', function (Y, NAME) { /** @@ -108,4 +108,4 @@ YUI.add('attribute-base', function (Y, NAME) { Y.Attribute = Attribute; -}, '3.9.0', {"requires": ["attribute-core", "attribute-observable", "attribute-extras"]}); +}, '3.9.1', {"requires": ["attribute-core", "attribute-observable", "attribute-extras"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-base/attribute-base-min.js b/lib/yuilib/3.9.1/build/attribute-base/attribute-base-min.js similarity index 79% rename from lib/yuilib/3.9.0/build/attribute-base/attribute-base-min.js rename to lib/yuilib/3.9.1/build/attribute-base/attribute-base-min.js index 6da64abdacf..e6214a845ff 100644 --- a/lib/yuilib/3.9.0/build/attribute-base/attribute-base-min.js +++ b/lib/yuilib/3.9.1/build/attribute-base/attribute-base-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("attribute-base",function(e,t){function n(){e.AttributeCore.apply(this,arguments),e.AttributeObservable.apply(this,arguments),e.AttributeExtras.apply(this,arguments)}e.mix(n,e.AttributeCore,!1,null,1),e.mix(n,e.AttributeExtras,!1,null,1),e.mix(n,e.AttributeObservable,!0,null,1),n.INVALID_VALUE=e.AttributeCore.INVALID_VALUE,n._ATTR_CFG=e.AttributeCore._ATTR_CFG.concat(e.AttributeObservable._ATTR_CFG),n.protectAttrs=e.AttributeCore.protectAttrs,e.Attribute=n},"3.9.0",{requires:["attribute-core","attribute-observable","attribute-extras"]}); +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +YUI.add("attribute-base",function(e,t){function n(){e.AttributeCore.apply(this,arguments),e.AttributeObservable.apply(this,arguments),e.AttributeExtras.apply(this,arguments)}e.mix(n,e.AttributeCore,!1,null,1),e.mix(n,e.AttributeExtras,!1,null,1),e.mix(n,e.AttributeObservable,!0,null,1),n.INVALID_VALUE=e.AttributeCore.INVALID_VALUE,n._ATTR_CFG=e.AttributeCore._ATTR_CFG.concat(e.AttributeObservable._ATTR_CFG),n.protectAttrs=e.AttributeCore.protectAttrs,e.Attribute=n},"3.9.1",{requires:["attribute-core","attribute-observable","attribute-extras"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-base/attribute-base.js b/lib/yuilib/3.9.1/build/attribute-base/attribute-base.js similarity index 97% rename from lib/yuilib/3.9.0/build/attribute-base/attribute-base.js rename to lib/yuilib/3.9.1/build/attribute-base/attribute-base.js index f315f0d3f82..c9ab64ecd85 100644 --- a/lib/yuilib/3.9.0/build/attribute-base/attribute-base.js +++ b/lib/yuilib/3.9.1/build/attribute-base/attribute-base.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('attribute-base', function (Y, NAME) { /** @@ -108,4 +108,4 @@ YUI.add('attribute-base', function (Y, NAME) { Y.Attribute = Attribute; -}, '3.9.0', {"requires": ["attribute-core", "attribute-observable", "attribute-extras"]}); +}, '3.9.1', {"requires": ["attribute-core", "attribute-observable", "attribute-extras"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-complex/attribute-complex-coverage.js b/lib/yuilib/3.9.1/build/attribute-complex/attribute-complex-coverage.js similarity index 97% rename from lib/yuilib/3.9.0/build/attribute-complex/attribute-complex-coverage.js rename to lib/yuilib/3.9.1/build/attribute-complex/attribute-complex-coverage.js index 53e1d287f1a..f4f0238d3c0 100644 --- a/lib/yuilib/3.9.0/build/attribute-complex/attribute-complex-coverage.js +++ b/lib/yuilib/3.9.1/build/attribute-complex/attribute-complex-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/attribute-complex/attribute-complex.js"] = { path: "build/attribute-complex/attribute-complex.js", code: [] }; -_yuitest_coverage["build/attribute-complex/attribute-complex.js"].code=["YUI.add('attribute-complex', function (Y, NAME) {",""," /**"," * Adds support for attribute providers to handle complex attributes in the constructor"," *"," * @module attribute"," * @submodule attribute-complex"," * @for Attribute"," * @deprecated AttributeComplex's overrides are now part of AttributeCore."," */",""," var Attribute = Y.Attribute;",""," Attribute.Complex = function() {};"," Attribute.Complex.prototype = {",""," /**"," * Utility method to split out simple attribute name/value pairs (\"x\")"," * from complex attribute name/value pairs (\"x.y.z\"), so that complex"," * attributes can be keyed by the top level attribute name."," *"," * @method _normAttrVals"," * @param {Object} valueHash An object with attribute name/value pairs"," *"," * @return {Object} An object literal with 2 properties - \"simple\" and \"complex\","," * containing simple and complex attribute values respectively keyed"," * by the top level attribute name, or null, if valueHash is falsey."," *"," * @private"," */"," _normAttrVals : Attribute.prototype._normAttrVals,",""," /**"," * Returns the initial value of the given attribute from"," * either the default configuration provided, or the"," * over-ridden value if it exists in the set of initValues"," * provided and the attribute is not read-only."," *"," * @param {String} attr The name of the attribute"," * @param {Object} cfg The attribute configuration object"," * @param {Object} initValues The object with simple and complex attribute name/value pairs returned from _normAttrVals"," *"," * @return {Any} The initial value of the attribute."," *"," * @method _getAttrInitVal"," * @private"," */"," _getAttrInitVal : Attribute.prototype._getAttrInitVal",""," };",""," // Consistency with the rest of the Attribute addons for now."," Y.AttributeComplex = Attribute.Complex;","","","}, '3.9.0', {\"requires\": [\"attribute-base\"]});"]; +_yuitest_coverage["build/attribute-complex/attribute-complex.js"].code=["YUI.add('attribute-complex', function (Y, NAME) {",""," /**"," * Adds support for attribute providers to handle complex attributes in the constructor"," *"," * @module attribute"," * @submodule attribute-complex"," * @for Attribute"," * @deprecated AttributeComplex's overrides are now part of AttributeCore."," */",""," var Attribute = Y.Attribute;",""," Attribute.Complex = function() {};"," Attribute.Complex.prototype = {",""," /**"," * Utility method to split out simple attribute name/value pairs (\"x\")"," * from complex attribute name/value pairs (\"x.y.z\"), so that complex"," * attributes can be keyed by the top level attribute name."," *"," * @method _normAttrVals"," * @param {Object} valueHash An object with attribute name/value pairs"," *"," * @return {Object} An object literal with 2 properties - \"simple\" and \"complex\","," * containing simple and complex attribute values respectively keyed"," * by the top level attribute name, or null, if valueHash is falsey."," *"," * @private"," */"," _normAttrVals : Attribute.prototype._normAttrVals,",""," /**"," * Returns the initial value of the given attribute from"," * either the default configuration provided, or the"," * over-ridden value if it exists in the set of initValues"," * provided and the attribute is not read-only."," *"," * @param {String} attr The name of the attribute"," * @param {Object} cfg The attribute configuration object"," * @param {Object} initValues The object with simple and complex attribute name/value pairs returned from _normAttrVals"," *"," * @return {Any} The initial value of the attribute."," *"," * @method _getAttrInitVal"," * @private"," */"," _getAttrInitVal : Attribute.prototype._getAttrInitVal",""," };",""," // Consistency with the rest of the Attribute addons for now."," Y.AttributeComplex = Attribute.Complex;","","","}, '3.9.1', {\"requires\": [\"attribute-base\"]});"]; _yuitest_coverage["build/attribute-complex/attribute-complex.js"].lines = {"1":0,"12":0,"14":0,"15":0,"53":0}; _yuitest_coverage["build/attribute-complex/attribute-complex.js"].functions = {"(anonymous 1):1":0}; _yuitest_coverage["build/attribute-complex/attribute-complex.js"].coveredLines = 5; @@ -93,4 +93,4 @@ Attribute.Complex.prototype = { Y.AttributeComplex = Attribute.Complex; -}, '3.9.0', {"requires": ["attribute-base"]}); +}, '3.9.1', {"requires": ["attribute-base"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-complex/attribute-complex-debug.js b/lib/yuilib/3.9.1/build/attribute-complex/attribute-complex-debug.js similarity index 94% rename from lib/yuilib/3.9.0/build/attribute-complex/attribute-complex-debug.js rename to lib/yuilib/3.9.1/build/attribute-complex/attribute-complex-debug.js index 26b946a1467..4e7155f0d65 100644 --- a/lib/yuilib/3.9.0/build/attribute-complex/attribute-complex-debug.js +++ b/lib/yuilib/3.9.1/build/attribute-complex/attribute-complex-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('attribute-complex', function (Y, NAME) { /** @@ -54,4 +54,4 @@ YUI.add('attribute-complex', function (Y, NAME) { Y.AttributeComplex = Attribute.Complex; -}, '3.9.0', {"requires": ["attribute-base"]}); +}, '3.9.1', {"requires": ["attribute-base"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-complex/attribute-complex-min.js b/lib/yuilib/3.9.1/build/attribute-complex/attribute-complex-min.js similarity index 63% rename from lib/yuilib/3.9.0/build/attribute-complex/attribute-complex-min.js rename to lib/yuilib/3.9.1/build/attribute-complex/attribute-complex-min.js index dfac3264532..e2c64031f52 100644 --- a/lib/yuilib/3.9.0/build/attribute-complex/attribute-complex-min.js +++ b/lib/yuilib/3.9.1/build/attribute-complex/attribute-complex-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("attribute-complex",function(e,t){var n=e.Attribute;n.Complex=function(){},n.Complex.prototype={_normAttrVals:n.prototype._normAttrVals,_getAttrInitVal:n.prototype._getAttrInitVal},e.AttributeComplex=n.Complex},"3.9.0",{requires:["attribute-base"]}); +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +YUI.add("attribute-complex",function(e,t){var n=e.Attribute;n.Complex=function(){},n.Complex.prototype={_normAttrVals:n.prototype._normAttrVals,_getAttrInitVal:n.prototype._getAttrInitVal},e.AttributeComplex=n.Complex},"3.9.1",{requires:["attribute-base"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-complex/attribute-complex.js b/lib/yuilib/3.9.1/build/attribute-complex/attribute-complex.js similarity index 94% rename from lib/yuilib/3.9.0/build/attribute-complex/attribute-complex.js rename to lib/yuilib/3.9.1/build/attribute-complex/attribute-complex.js index 26b946a1467..4e7155f0d65 100644 --- a/lib/yuilib/3.9.0/build/attribute-complex/attribute-complex.js +++ b/lib/yuilib/3.9.1/build/attribute-complex/attribute-complex.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('attribute-complex', function (Y, NAME) { /** @@ -54,4 +54,4 @@ YUI.add('attribute-complex', function (Y, NAME) { Y.AttributeComplex = Attribute.Complex; -}, '3.9.0', {"requires": ["attribute-base"]}); +}, '3.9.1', {"requires": ["attribute-base"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-core/attribute-core-coverage.js b/lib/yuilib/3.9.1/build/attribute-core/attribute-core-coverage.js similarity index 99% rename from lib/yuilib/3.9.0/build/attribute-core/attribute-core-coverage.js rename to lib/yuilib/3.9.1/build/attribute-core/attribute-core-coverage.js index 0aa0bfe9177..6705b3a2663 100644 --- a/lib/yuilib/3.9.0/build/attribute-core/attribute-core-coverage.js +++ b/lib/yuilib/3.9.1/build/attribute-core/attribute-core-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/attribute-core/attribute-core.js"] = { path: "build/attribute-core/attribute-core.js", code: [] }; -_yuitest_coverage["build/attribute-core/attribute-core.js"].code=["YUI.add('attribute-core', function (Y, NAME) {",""," /**"," * The State class maintains state for a collection of named items, with"," * a varying number of properties defined."," *"," * It avoids the need to create a separate class for the item, and separate instances"," * of these classes for each item, by storing the state in a 2 level hash table,"," * improving performance when the number of items is likely to be large."," *"," * @constructor"," * @class State"," */"," Y.State = function() {"," /**"," * Hash of attributes"," * @property data"," */"," this.data = {};"," };",""," Y.State.prototype = {",""," /**"," * Adds a property to an item."," *"," * @method add"," * @param name {String} The name of the item."," * @param key {String} The name of the property."," * @param val {Any} The value of the property."," */"," add: function(name, key, val) {"," var item = this.data[name];",""," if (!item) {"," item = this.data[name] = {};"," }",""," item[key] = val;"," },",""," /**"," * Adds multiple properties to an item."," *"," * @method addAll"," * @param name {String} The name of the item."," * @param obj {Object} A hash of property/value pairs."," */"," addAll: function(name, obj) {"," var item = this.data[name],"," key;",""," if (!item) {"," item = this.data[name] = {};"," }",""," for (key in obj) {"," if (obj.hasOwnProperty(key)) {"," item[key] = obj[key];"," }"," }"," },",""," /**"," * Removes a property from an item."," *"," * @method remove"," * @param name {String} The name of the item."," * @param key {String} The property to remove."," */"," remove: function(name, key) {"," var item = this.data[name];",""," if (item) {"," delete item[key];"," }"," },",""," /**"," * Removes multiple properties from an item, or removes the item completely."," *"," * @method removeAll"," * @param name {String} The name of the item."," * @param obj {Object|Array} Collection of properties to delete. If not provided, the entire item is removed."," */"," removeAll: function(name, obj) {"," var data;",""," if (!obj) {"," data = this.data;",""," if (name in data) {"," delete data[name];"," }"," } else {"," Y.each(obj, function(value, key) {"," this.remove(name, typeof key === 'string' ? key : value);"," }, this);"," }"," },",""," /**"," * For a given item, returns the value of the property requested, or undefined if not found."," *"," * @method get"," * @param name {String} The name of the item"," * @param key {String} Optional. The property value to retrieve."," * @return {Any} The value of the supplied property."," */"," get: function(name, key) {"," var item = this.data[name];",""," if (item) {"," return item[key];"," }"," },",""," /**"," * For the given item, returns an object with all of the"," * item's property/value pairs. By default the object returned"," * is a shallow copy of the stored data, but passing in true"," * as the second parameter will return a reference to the stored"," * data."," *"," * @method getAll"," * @param name {String} The name of the item"," * @param reference {boolean} true, if you want a reference to the stored"," * object"," * @return {Object} An object with property/value pairs for the item."," */"," getAll : function(name, reference) {"," var item = this.data[name],"," key, obj;",""," if (reference) {"," obj = item;"," } else if (item) {"," obj = {};",""," for (key in item) {"," if (item.hasOwnProperty(key)) {"," obj[key] = item[key];"," }"," }"," }",""," return obj;"," }"," };"," /**"," * The attribute module provides an augmentable Attribute implementation, which"," * adds configurable attributes and attribute change events to the class being"," * augmented. It also provides a State class, which is used internally by Attribute,"," * but can also be used independently to provide a name/property/value data structure to"," * store state."," *"," * @module attribute"," */",""," /**"," * The attribute-core submodule provides the lightest level of attribute handling support"," * without Attribute change events, or lesser used methods such as reset(), modifyAttrs(),"," * and removeAttr()."," *"," * @module attribute"," * @submodule attribute-core"," */"," var O = Y.Object,"," Lang = Y.Lang,",""," DOT = \".\",",""," // Externally configurable props"," GETTER = \"getter\","," SETTER = \"setter\","," READ_ONLY = \"readOnly\","," WRITE_ONCE = \"writeOnce\","," INIT_ONLY = \"initOnly\","," VALIDATOR = \"validator\","," VALUE = \"value\","," VALUE_FN = \"valueFn\","," LAZY_ADD = \"lazyAdd\",",""," // Used for internal state management"," ADDED = \"added\","," BYPASS_PROXY = \"_bypassProxy\","," INITIALIZING = \"initializing\","," INIT_VALUE = \"initValue\","," LAZY = \"lazy\","," IS_LAZY_ADD = \"isLazyAdd\",",""," INVALID_VALUE;",""," /**"," *

"," * AttributeCore provides the lightest level of configurable attribute support. It is designed to be"," * augmented on to a host class, and provides the host with the ability to configure"," * attributes to store and retrieve state, but without support for attribute change events."," *

"," *

For example, attributes added to the host can be configured:

"," *
    "," *
  • As read only.
  • "," *
  • As write once.
  • "," *
  • With a setter function, which can be used to manipulate"," * values passed to Attribute's set method, before they are stored.
  • "," *
  • With a getter function, which can be used to manipulate stored values,"," * before they are returned by Attribute's get method.
  • "," *
  • With a validator function, to validate values before they are stored.
  • "," *
"," *"," *

See the addAttr method, for the complete set of configuration"," * options available for attributes.

"," *"," *

Object/Classes based on AttributeCore can augment AttributeObservable"," * (with true for overwrite) and AttributeExtras to add attribute event and"," * additional, less commonly used attribute methods, such as `modifyAttr`, `removeAttr` and `reset`.

"," *"," * @class AttributeCore"," * @param attrs {Object} The attributes to add during construction (passed through to addAttrs)."," * These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor."," * @param values {Object} The initial attribute values to apply (passed through to addAttrs)."," * These are not merged/cloned. The caller is responsible for isolating user provided values if required."," * @param lazy {boolean} Whether or not to add attributes lazily (passed through to addAttrs)."," */"," function AttributeCore(attrs, values, lazy) {"," // HACK: Fix #2531929"," // Complete hack, to make sure the first clone of a node value in IE doesn't doesn't hurt state - maintains 3.4.1 behavior."," // Too late in the release cycle to do anything about the core problem."," // The root issue is that cloning a Y.Node instance results in an object which barfs in IE, when you access it's properties (since 3.3.0)."," this._yuievt = null;",""," this._initAttrHost(attrs, values, lazy);"," }",""," /**"," *

The value to return from an attribute setter in order to prevent the set from going through.

"," *"," *

You can return this value from your setter if you wish to combine validator and setter"," * functionality into a single setter function, which either returns the massaged value to be stored or"," * AttributeCore.INVALID_VALUE to prevent invalid values from being stored.

"," *"," * @property INVALID_VALUE"," * @type Object"," * @static"," * @final"," */"," AttributeCore.INVALID_VALUE = {};"," INVALID_VALUE = AttributeCore.INVALID_VALUE;",""," /**"," * The list of properties which can be configured for"," * each attribute (e.g. setter, getter, writeOnce etc.)."," *"," * This property is used internally as a whitelist for faster"," * Y.mix operations."," *"," * @property _ATTR_CFG"," * @type Array"," * @static"," * @protected"," */"," AttributeCore._ATTR_CFG = [SETTER, GETTER, VALIDATOR, VALUE, VALUE_FN, WRITE_ONCE, READ_ONLY, LAZY_ADD, BYPASS_PROXY];",""," /**"," * Utility method to protect an attribute configuration hash, by merging the"," * entire object and the individual attr config objects."," *"," * @method protectAttrs"," * @static"," * @param {Object} attrs A hash of attribute to configuration object pairs."," * @return {Object} A protected version of the `attrs` argument."," */"," AttributeCore.protectAttrs = function (attrs) {"," if (attrs) {"," attrs = Y.merge(attrs);"," for (var attr in attrs) {"," if (attrs.hasOwnProperty(attr)) {"," attrs[attr] = Y.merge(attrs[attr]);"," }"," }"," }",""," return attrs;"," };",""," AttributeCore.prototype = {",""," /**"," * Constructor logic for attributes. Initializes the host state, and sets up the inital attributes passed to the"," * constructor."," *"," * @method _initAttrHost"," * @param attrs {Object} The attributes to add during construction (passed through to addAttrs)."," * These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor."," * @param values {Object} The initial attribute values to apply (passed through to addAttrs)."," * These are not merged/cloned. The caller is responsible for isolating user provided values if required."," * @param lazy {boolean} Whether or not to add attributes lazily (passed through to addAttrs)."," * @private"," */"," _initAttrHost : function(attrs, values, lazy) {"," this._state = new Y.State();"," this._initAttrs(attrs, values, lazy);"," },",""," /**"," *

"," * Adds an attribute with the provided configuration to the host object."," *

"," *

"," * The config argument object supports the following properties:"," *

"," *"," *
"," *
value <Any>
"," *
The initial value to set on the attribute
"," *"," *
valueFn <Function | String>
"," *
"," *

A function, which will return the initial value to set on the attribute. This is useful"," * for cases where the attribute configuration is defined statically, but needs to"," * reference the host instance (\"this\") to obtain an initial value. If both the value and valueFn properties are defined,"," * the value returned by the valueFn has precedence over the value property, unless it returns undefined, in which"," * case the value property is used.

"," *"," *

valueFn can also be set to a string, representing the name of the instance method to be used to retrieve the value.

"," *
"," *"," *
readOnly <boolean>
"," *
Whether or not the attribute is read only. Attributes having readOnly set to true"," * cannot be modified by invoking the set method.
"," *"," *
writeOnce <boolean> or <string>
"," *
"," * Whether or not the attribute is \"write once\". Attributes having writeOnce set to true,"," * can only have their values set once, be it through the default configuration,"," * constructor configuration arguments, or by invoking set."," *

The writeOnce attribute can also be set to the string \"initOnly\","," * in which case the attribute can only be set during initialization"," * (when used with Base, this means it can only be set during construction)

"," *
"," *"," *
setter <Function | String>
"," *
"," *

The setter function used to massage or normalize the value passed to the set method for the attribute."," * The value returned by the setter will be the final stored value. Returning"," * Attribute.INVALID_VALUE, from the setter will prevent"," * the value from being stored."," *

"," *"," *

setter can also be set to a string, representing the name of the instance method to be used as the setter function.

"," *
"," *"," *
getter <Function | String>
"," *
"," *

"," * The getter function used to massage or normalize the value returned by the get method for the attribute."," * The value returned by the getter function is the value which will be returned to the user when they"," * invoke get."," *

"," *"," *

getter can also be set to a string, representing the name of the instance method to be used as the getter function.

"," *
"," *"," *
validator <Function | String>
"," *
"," *

"," * The validator function invoked prior to setting the stored value. Returning"," * false from the validator function will prevent the value from being stored."," *

"," *"," *

validator can also be set to a string, representing the name of the instance method to be used as the validator function.

"," *
"," *"," *
lazyAdd <boolean>
"," *
Whether or not to delay initialization of the attribute until the first call to get/set it."," * This flag can be used to over-ride lazy initialization on a per attribute basis, when adding multiple attributes through"," * the addAttrs method.
"," *"," *
"," *"," *

The setter, getter and validator are invoked with the value and name passed in as the first and second arguments, and with"," * the context (\"this\") set to the host object.

"," *"," *

Configuration properties outside of the list mentioned above are considered private properties used internally by attribute,"," * and are not intended for public use.

"," *"," * @method addAttr"," *"," * @param {String} name The name of the attribute."," * @param {Object} config An object with attribute configuration property/value pairs, specifying the configuration for the attribute."," *"," *

"," * NOTE: The configuration object is modified when adding an attribute, so if you need"," * to protect the original values, you will need to merge the object."," *

"," *"," * @param {boolean} lazy (optional) Whether or not to add this attribute lazily (on the first call to get/set)."," *"," * @return {Object} A reference to the host object."," *"," * @chainable"," */"," addAttr: function(name, config, lazy) {","",""," var host = this, // help compression"," state = host._state,"," value,"," hasValue;",""," config = config || {};",""," lazy = (LAZY_ADD in config) ? config[LAZY_ADD] : lazy;",""," if (lazy && !host.attrAdded(name)) {"," state.addAll(name, {"," lazy : config,"," added : true"," });"," } else {"," /*jshint maxlen:200*/",""," if (!host.attrAdded(name) || state.get(name, IS_LAZY_ADD)) {",""," hasValue = (VALUE in config);",""," /*jshint maxlen:150*/",""," if (hasValue) {"," // We'll go through set, don't want to set value in config directly"," value = config.value;"," delete config.value;"," }",""," config.added = true;"," config.initializing = true;",""," state.addAll(name, config);",""," if (hasValue) {"," // Go through set, so that raw values get normalized/validated"," host.set(name, value);"," }",""," state.remove(name, INITIALIZING);"," }"," }",""," return host;"," },",""," /**"," * Checks if the given attribute has been added to the host"," *"," * @method attrAdded"," * @param {String} name The name of the attribute to check."," * @return {boolean} true if an attribute with the given name has been added, false if it hasn't."," * This method will return true for lazily added attributes."," */"," attrAdded: function(name) {"," return !!this._state.get(name, ADDED);"," },",""," /**"," * Returns the current value of the attribute. If the attribute"," * has been configured with a 'getter' function, this method will delegate"," * to the 'getter' to obtain the value of the attribute."," *"," * @method get"," *"," * @param {String} name The name of the attribute. If the value of the attribute is an Object,"," * dot notation can be used to obtain the value of a property of the object (e.g. get(\"x.y.z\"))"," *"," * @return {Any} The value of the attribute"," */"," get : function(name) {"," return this._getAttr(name);"," },",""," /**"," * Checks whether or not the attribute is one which has been"," * added lazily and still requires initialization."," *"," * @method _isLazyAttr"," * @private"," * @param {String} name The name of the attribute"," * @return {boolean} true if it's a lazily added attribute, false otherwise."," */"," _isLazyAttr: function(name) {"," return this._state.get(name, LAZY);"," },",""," /**"," * Finishes initializing an attribute which has been lazily added."," *"," * @method _addLazyAttr"," * @private"," * @param {Object} name The name of the attribute"," */"," _addLazyAttr: function(name) {"," var state = this._state,"," lazyCfg = state.get(name, LAZY);",""," state.add(name, IS_LAZY_ADD, true);"," state.remove(name, LAZY);"," this.addAttr(name, lazyCfg);"," },",""," /**"," * Sets the value of an attribute."," *"," * @method set"," * @chainable"," *"," * @param {String} name The name of the attribute. If the"," * current value of the attribute is an Object, dot notation can be used"," * to set the value of a property within the object (e.g. set(\"x.y.z\", 5))."," * @param {Any} value The value to set the attribute to."," * @param {Object} [opts] Optional data providing the circumstances for the change."," * @return {Object} A reference to the host object."," */"," set : function(name, val, opts) {"," return this._setAttr(name, val, opts);"," },",""," /**"," * Allows setting of readOnly/writeOnce attributes. See set for argument details."," *"," * @method _set"," * @protected"," * @chainable"," *"," * @param {String} name The name of the attribute."," * @param {Any} val The value to set the attribute to."," * @param {Object} [opts] Optional data providing the circumstances for the change."," * @return {Object} A reference to the host object."," */"," _set : function(name, val, opts) {"," return this._setAttr(name, val, opts, true);"," },",""," /**"," * Provides the common implementation for the public set and protected _set methods."," *"," * See set for argument details."," *"," * @method _setAttr"," * @protected"," * @chainable"," *"," * @param {String} name The name of the attribute."," * @param {Any} value The value to set the attribute to."," * @param {Object} [opts] Optional data providing the circumstances for the change."," * @param {boolean} force If true, allows the caller to set values for"," * readOnly or writeOnce attributes which have already been set."," *"," * @return {Object} A reference to the host object."," */"," _setAttr : function(name, val, opts, force) {"," var allowSet = true,"," state = this._state,"," stateProxy = this._stateProxy,"," cfg,"," initialSet,"," strPath,"," path,"," currVal,"," writeOnce,"," initializing;",""," if (name.indexOf(DOT) !== -1) {"," strPath = name;"," path = name.split(DOT);"," name = path.shift();"," }",""," if (this._isLazyAttr(name)) {"," this._addLazyAttr(name);"," }",""," cfg = state.getAll(name, true) || {};",""," initialSet = (!(VALUE in cfg));",""," if (stateProxy && name in stateProxy && !cfg._bypassProxy) {"," // TODO: Value is always set for proxy. Can we do any better? Maybe take a snapshot as the initial value for the first call to set?"," initialSet = false;"," }",""," writeOnce = cfg.writeOnce;"," initializing = cfg.initializing;",""," if (!initialSet && !force) {",""," if (writeOnce) {"," allowSet = false;"," }",""," if (cfg.readOnly) {"," allowSet = false;"," }"," }",""," if (!initializing && !force && writeOnce === INIT_ONLY) {"," allowSet = false;"," }",""," if (allowSet) {"," // Don't need currVal if initialSet (might fail in custom getter if it always expects a non-undefined/non-null value)"," if (!initialSet) {"," currVal = this.get(name);"," }",""," if (path) {"," val = O.setValue(Y.clone(currVal), path, val);",""," if (val === undefined) {"," allowSet = false;"," }"," }",""," if (allowSet) {"," opts = opts || {};"," if (!this._fireAttrChange || initializing) {"," this._setAttrVal(name, strPath, currVal, val, opts);"," } else {"," // HACK - no real reason core needs to know about _fireAttrChange, but"," // it adds fn hops if we want to break it out. Not sure it's worth it for this critical path"," this._fireAttrChange(name, strPath, currVal, val, opts);"," }"," }"," }",""," return this;"," },",""," /**"," * Provides the common implementation for the public get method,"," * allowing Attribute hosts to over-ride either method."," *"," * See get for argument details."," *"," * @method _getAttr"," * @protected"," * @chainable"," *"," * @param {String} name The name of the attribute."," * @return {Any} The value of the attribute."," */"," _getAttr : function(name) {"," var host = this, // help compression"," fullName = name,"," state = host._state,"," path,"," getter,"," val,"," cfg;",""," if (name.indexOf(DOT) !== -1) {"," path = name.split(DOT);"," name = path.shift();"," }",""," // On Demand - Should be rare - handles out of order valueFn references"," if (host._tCfgs && host._tCfgs[name]) {"," cfg = {};"," cfg[name] = host._tCfgs[name];"," delete host._tCfgs[name];"," host._addAttrs(cfg, host._tVals);"," }",""," // Lazy Init"," if (host._isLazyAttr(name)) {"," host._addLazyAttr(name);"," }",""," val = host._getStateVal(name);",""," getter = state.get(name, GETTER);",""," if (getter && !getter.call) {"," getter = this[getter];"," }",""," val = (getter) ? getter.call(host, val, fullName) : val;"," val = (path) ? O.getValue(val, path) : val;",""," return val;"," },",""," /**"," * Gets the stored value for the attribute, from either the"," * internal state object, or the state proxy if it exits"," *"," * @method _getStateVal"," * @private"," * @param {String} name The name of the attribute"," * @return {Any} The stored value of the attribute"," */"," _getStateVal : function(name) {"," var stateProxy = this._stateProxy;"," return stateProxy && (name in stateProxy) && !this._state.get(name, BYPASS_PROXY) ? stateProxy[name] : this._state.get(name, VALUE);"," },",""," /**"," * Sets the stored value for the attribute, in either the"," * internal state object, or the state proxy if it exits"," *"," * @method _setStateVal"," * @private"," * @param {String} name The name of the attribute"," * @param {Any} value The value of the attribute"," */"," _setStateVal : function(name, value) {"," var stateProxy = this._stateProxy;"," if (stateProxy && (name in stateProxy) && !this._state.get(name, BYPASS_PROXY)) {"," stateProxy[name] = value;"," } else {"," this._state.add(name, VALUE, value);"," }"," },",""," /**"," * Updates the stored value of the attribute in the privately held State object,"," * if validation and setter passes."," *"," * @method _setAttrVal"," * @private"," * @param {String} attrName The attribute name."," * @param {String} subAttrName The sub-attribute name, if setting a sub-attribute property (\"x.y.z\")."," * @param {Any} prevVal The currently stored value of the attribute."," * @param {Any} newVal The value which is going to be stored."," * @param {Object} [opts] Optional data providing the circumstances for the change."," *"," * @return {booolean} true if the new attribute value was stored, false if not."," */"," _setAttrVal : function(attrName, subAttrName, prevVal, newVal, opts) {",""," var host = this,"," allowSet = true,"," cfg = this._state.getAll(attrName, true) || {},"," validator = cfg.validator,"," setter = cfg.setter,"," initializing = cfg.initializing,"," prevRawVal = this._getStateVal(attrName),"," name = subAttrName || attrName,"," retVal,"," valid;",""," if (validator) {"," if (!validator.call) {"," // Assume string - trying to keep critical path tight, so avoiding Lang check"," validator = this[validator];"," }"," if (validator) {"," valid = validator.call(host, newVal, name, opts);",""," if (!valid && initializing) {"," newVal = cfg.defaultValue;"," valid = true; // Assume it's valid, for perf."," }"," }"," }",""," if (!validator || valid) {"," if (setter) {"," if (!setter.call) {"," // Assume string - trying to keep critical path tight, so avoiding Lang check"," setter = this[setter];"," }"," if (setter) {"," retVal = setter.call(host, newVal, name, opts);",""," if (retVal === INVALID_VALUE) {"," if (initializing) {"," newVal = cfg.defaultValue;"," } else {"," allowSet = false;"," }"," } else if (retVal !== undefined){"," newVal = retVal;"," }"," }"," }",""," if (allowSet) {"," if(!subAttrName && (newVal === prevRawVal) && !Lang.isObject(newVal)) {"," allowSet = false;"," } else {"," // Store value"," if (!(INIT_VALUE in cfg)) {"," cfg.initValue = newVal;"," }"," host._setStateVal(attrName, newVal);"," }"," }",""," } else {"," allowSet = false;"," }",""," return allowSet;"," },",""," /**"," * Sets multiple attribute values."," *"," * @method setAttrs"," * @param {Object} attrs An object with attributes name/value pairs."," * @param {Object} [opts] Optional data providing the circumstances for the change."," * @return {Object} A reference to the host object."," * @chainable"," */"," setAttrs : function(attrs, opts) {"," return this._setAttrs(attrs, opts);"," },",""," /**"," * Implementation behind the public setAttrs method, to set multiple attribute values."," *"," * @method _setAttrs"," * @protected"," * @param {Object} attrs An object with attributes name/value pairs."," * @param {Object} [opts] Optional data providing the circumstances for the change"," * @return {Object} A reference to the host object."," * @chainable"," */"," _setAttrs : function(attrs, opts) {"," var attr;"," for (attr in attrs) {"," if ( attrs.hasOwnProperty(attr) ) {"," this.set(attr, attrs[attr], opts);"," }"," }"," return this;"," },",""," /**"," * Gets multiple attribute values."," *"," * @method getAttrs"," * @param {Array | boolean} attrs Optional. An array of attribute names. If omitted, all attribute values are"," * returned. If set to true, all attributes modified from their initial values are returned."," * @return {Object} An object with attribute name/value pairs."," */"," getAttrs : function(attrs) {"," return this._getAttrs(attrs);"," },",""," /**"," * Implementation behind the public getAttrs method, to get multiple attribute values."," *"," * @method _getAttrs"," * @protected"," * @param {Array | boolean} attrs Optional. An array of attribute names. If omitted, all attribute values are"," * returned. If set to true, all attributes modified from their initial values are returned."," * @return {Object} An object with attribute name/value pairs."," */"," _getAttrs : function(attrs) {"," var obj = {},"," attr, i, len,"," modifiedOnly = (attrs === true);",""," // TODO - figure out how to get all \"added\""," if (!attrs || modifiedOnly) {"," attrs = O.keys(this._state.data);"," }",""," for (i = 0, len = attrs.length; i < len; i++) {"," attr = attrs[i];",""," if (!modifiedOnly || this._getStateVal(attr) != this._state.get(attr, INIT_VALUE)) {"," // Go through get, to honor cloning/normalization"," obj[attr] = this.get(attr);"," }"," }",""," return obj;"," },",""," /**"," * Configures a group of attributes, and sets initial values."," *"," *

"," * NOTE: This method does not isolate the configuration object by merging/cloning."," * The caller is responsible for merging/cloning the configuration object if required."," *

"," *"," * @method addAttrs"," * @chainable"," *"," * @param {Object} cfgs An object with attribute name/configuration pairs."," * @param {Object} values An object with attribute name/value pairs, defining the initial values to apply."," * Values defined in the cfgs argument will be over-written by values in this argument unless defined as read only."," * @param {boolean} lazy Whether or not to delay the intialization of these attributes until the first call to get/set."," * Individual attributes can over-ride this behavior by defining a lazyAdd configuration property in their configuration."," * See addAttr."," *"," * @return {Object} A reference to the host object."," */"," addAttrs : function(cfgs, values, lazy) {"," var host = this; // help compression"," if (cfgs) {"," host._tCfgs = cfgs;"," host._tVals = host._normAttrVals(values);"," host._addAttrs(cfgs, host._tVals, lazy);"," host._tCfgs = host._tVals = null;"," }",""," return host;"," },",""," /**"," * Implementation behind the public addAttrs method."," *"," * This method is invoked directly by get if it encounters a scenario"," * in which an attribute's valueFn attempts to obtain the"," * value an attribute in the same group of attributes, which has not yet"," * been added (on demand initialization)."," *"," * @method _addAttrs"," * @private"," * @param {Object} cfgs An object with attribute name/configuration pairs."," * @param {Object} values An object with attribute name/value pairs, defining the initial values to apply."," * Values defined in the cfgs argument will be over-written by values in this argument unless defined as read only."," * @param {boolean} lazy Whether or not to delay the intialization of these attributes until the first call to get/set."," * Individual attributes can over-ride this behavior by defining a lazyAdd configuration property in their configuration."," * See addAttr."," */"," _addAttrs : function(cfgs, values, lazy) {"," var host = this, // help compression"," attr,"," attrCfg,"," value;",""," for (attr in cfgs) {"," if (cfgs.hasOwnProperty(attr)) {",""," // Not Merging. Caller is responsible for isolating configs"," attrCfg = cfgs[attr];"," attrCfg.defaultValue = attrCfg.value;",""," // Handle simple, complex and user values, accounting for read-only"," value = host._getAttrInitVal(attr, attrCfg, host._tVals);",""," if (value !== undefined) {"," attrCfg.value = value;"," }",""," if (host._tCfgs[attr]) {"," delete host._tCfgs[attr];"," }",""," host.addAttr(attr, attrCfg, lazy);"," }"," }"," },",""," /**"," * Utility method to protect an attribute configuration"," * hash, by merging the entire object and the individual"," * attr config objects."," *"," * @method _protectAttrs"," * @protected"," * @param {Object} attrs A hash of attribute to configuration object pairs."," * @return {Object} A protected version of the attrs argument."," * @deprecated Use `AttributeCore.protectAttrs()` or"," * `Attribute.protectAttrs()` which are the same static utility method."," */"," _protectAttrs : AttributeCore.protectAttrs,",""," /**"," * Utility method to normalize attribute values. The base implementation"," * simply merges the hash to protect the original."," *"," * @method _normAttrVals"," * @param {Object} valueHash An object with attribute name/value pairs"," *"," * @return {Object} An object literal with 2 properties - \"simple\" and \"complex\","," * containing simple and complex attribute values respectively keyed"," * by the top level attribute name, or null, if valueHash is falsey."," *"," * @private"," */"," _normAttrVals : function(valueHash) {"," var vals = {},"," subvals = {},"," path,"," attr,"," v, k;",""," if (valueHash) {"," for (k in valueHash) {"," if (valueHash.hasOwnProperty(k)) {"," if (k.indexOf(DOT) !== -1) {"," path = k.split(DOT);"," attr = path.shift();"," v = subvals[attr] = subvals[attr] || [];"," v[v.length] = {"," path : path,"," value: valueHash[k]"," };"," } else {"," vals[k] = valueHash[k];"," }"," }"," }"," return { simple:vals, complex:subvals };"," } else {"," return null;"," }"," },",""," /**"," * Returns the initial value of the given attribute from"," * either the default configuration provided, or the"," * over-ridden value if it exists in the set of initValues"," * provided and the attribute is not read-only."," *"," * @param {String} attr The name of the attribute"," * @param {Object} cfg The attribute configuration object"," * @param {Object} initValues The object with simple and complex attribute name/value pairs returned from _normAttrVals"," *"," * @return {Any} The initial value of the attribute."," *"," * @method _getAttrInitVal"," * @private"," */"," _getAttrInitVal : function(attr, cfg, initValues) {"," var val = cfg.value,"," valFn = cfg.valueFn,"," tmpVal,"," initValSet = false,"," simple,"," complex,"," i,"," l,"," path,"," subval,"," subvals;",""," if (!cfg.readOnly && initValues) {"," // Simple Attributes"," simple = initValues.simple;"," if (simple && simple.hasOwnProperty(attr)) {"," val = simple[attr];"," initValSet = true;"," }"," }",""," if (valFn && !initValSet) {"," if (!valFn.call) {"," valFn = this[valFn];"," }"," if (valFn) {"," tmpVal = valFn.call(this, attr);"," val = tmpVal;"," }"," }",""," if (!cfg.readOnly && initValues) {",""," // Complex Attributes (complex values applied, after simple, in case both are set)"," complex = initValues.complex;",""," if (complex && complex.hasOwnProperty(attr) && (val !== undefined) && (val !== null)) {"," subvals = complex[attr];"," for (i = 0, l = subvals.length; i < l; ++i) {"," path = subvals[i].path;"," subval = subvals[i].value;"," O.setValue(val, path, subval);"," }"," }"," }",""," return val;"," },",""," /**"," * Utility method to set up initial attributes defined during construction,"," * either through the constructor.ATTRS property, or explicitly passed in."," *"," * @method _initAttrs"," * @protected"," * @param attrs {Object} The attributes to add during construction (passed through to addAttrs)."," * These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor."," * @param values {Object} The initial attribute values to apply (passed through to addAttrs)."," * These are not merged/cloned. The caller is responsible for isolating user provided values if required."," * @param lazy {boolean} Whether or not to add attributes lazily (passed through to addAttrs)."," */"," _initAttrs : function(attrs, values, lazy) {"," // ATTRS support for Node, which is not Base based"," attrs = attrs || this.constructor.ATTRS;",""," var Base = Y.Base,"," BaseCore = Y.BaseCore,"," baseInst = (Base && Y.instanceOf(this, Base)),"," baseCoreInst = (!baseInst && BaseCore && Y.instanceOf(this, BaseCore));",""," if (attrs && !baseInst && !baseCoreInst) {"," this.addAttrs(Y.AttributeCore.protectAttrs(attrs), values, lazy);"," }"," }"," };",""," Y.AttributeCore = AttributeCore;","","","}, '3.9.0', {\"requires\": [\"oop\"]});"]; +_yuitest_coverage["build/attribute-core/attribute-core.js"].code=["YUI.add('attribute-core', function (Y, NAME) {",""," /**"," * The State class maintains state for a collection of named items, with"," * a varying number of properties defined."," *"," * It avoids the need to create a separate class for the item, and separate instances"," * of these classes for each item, by storing the state in a 2 level hash table,"," * improving performance when the number of items is likely to be large."," *"," * @constructor"," * @class State"," */"," Y.State = function() {"," /**"," * Hash of attributes"," * @property data"," */"," this.data = {};"," };",""," Y.State.prototype = {",""," /**"," * Adds a property to an item."," *"," * @method add"," * @param name {String} The name of the item."," * @param key {String} The name of the property."," * @param val {Any} The value of the property."," */"," add: function(name, key, val) {"," var item = this.data[name];",""," if (!item) {"," item = this.data[name] = {};"," }",""," item[key] = val;"," },",""," /**"," * Adds multiple properties to an item."," *"," * @method addAll"," * @param name {String} The name of the item."," * @param obj {Object} A hash of property/value pairs."," */"," addAll: function(name, obj) {"," var item = this.data[name],"," key;",""," if (!item) {"," item = this.data[name] = {};"," }",""," for (key in obj) {"," if (obj.hasOwnProperty(key)) {"," item[key] = obj[key];"," }"," }"," },",""," /**"," * Removes a property from an item."," *"," * @method remove"," * @param name {String} The name of the item."," * @param key {String} The property to remove."," */"," remove: function(name, key) {"," var item = this.data[name];",""," if (item) {"," delete item[key];"," }"," },",""," /**"," * Removes multiple properties from an item, or removes the item completely."," *"," * @method removeAll"," * @param name {String} The name of the item."," * @param obj {Object|Array} Collection of properties to delete. If not provided, the entire item is removed."," */"," removeAll: function(name, obj) {"," var data;",""," if (!obj) {"," data = this.data;",""," if (name in data) {"," delete data[name];"," }"," } else {"," Y.each(obj, function(value, key) {"," this.remove(name, typeof key === 'string' ? key : value);"," }, this);"," }"," },",""," /**"," * For a given item, returns the value of the property requested, or undefined if not found."," *"," * @method get"," * @param name {String} The name of the item"," * @param key {String} Optional. The property value to retrieve."," * @return {Any} The value of the supplied property."," */"," get: function(name, key) {"," var item = this.data[name];",""," if (item) {"," return item[key];"," }"," },",""," /**"," * For the given item, returns an object with all of the"," * item's property/value pairs. By default the object returned"," * is a shallow copy of the stored data, but passing in true"," * as the second parameter will return a reference to the stored"," * data."," *"," * @method getAll"," * @param name {String} The name of the item"," * @param reference {boolean} true, if you want a reference to the stored"," * object"," * @return {Object} An object with property/value pairs for the item."," */"," getAll : function(name, reference) {"," var item = this.data[name],"," key, obj;",""," if (reference) {"," obj = item;"," } else if (item) {"," obj = {};",""," for (key in item) {"," if (item.hasOwnProperty(key)) {"," obj[key] = item[key];"," }"," }"," }",""," return obj;"," }"," };"," /**"," * The attribute module provides an augmentable Attribute implementation, which"," * adds configurable attributes and attribute change events to the class being"," * augmented. It also provides a State class, which is used internally by Attribute,"," * but can also be used independently to provide a name/property/value data structure to"," * store state."," *"," * @module attribute"," */",""," /**"," * The attribute-core submodule provides the lightest level of attribute handling support"," * without Attribute change events, or lesser used methods such as reset(), modifyAttrs(),"," * and removeAttr()."," *"," * @module attribute"," * @submodule attribute-core"," */"," var O = Y.Object,"," Lang = Y.Lang,",""," DOT = \".\",",""," // Externally configurable props"," GETTER = \"getter\","," SETTER = \"setter\","," READ_ONLY = \"readOnly\","," WRITE_ONCE = \"writeOnce\","," INIT_ONLY = \"initOnly\","," VALIDATOR = \"validator\","," VALUE = \"value\","," VALUE_FN = \"valueFn\","," LAZY_ADD = \"lazyAdd\",",""," // Used for internal state management"," ADDED = \"added\","," BYPASS_PROXY = \"_bypassProxy\","," INITIALIZING = \"initializing\","," INIT_VALUE = \"initValue\","," LAZY = \"lazy\","," IS_LAZY_ADD = \"isLazyAdd\",",""," INVALID_VALUE;",""," /**"," *

"," * AttributeCore provides the lightest level of configurable attribute support. It is designed to be"," * augmented on to a host class, and provides the host with the ability to configure"," * attributes to store and retrieve state, but without support for attribute change events."," *

"," *

For example, attributes added to the host can be configured:

"," *
    "," *
  • As read only.
  • "," *
  • As write once.
  • "," *
  • With a setter function, which can be used to manipulate"," * values passed to Attribute's set method, before they are stored.
  • "," *
  • With a getter function, which can be used to manipulate stored values,"," * before they are returned by Attribute's get method.
  • "," *
  • With a validator function, to validate values before they are stored.
  • "," *
"," *"," *

See the addAttr method, for the complete set of configuration"," * options available for attributes.

"," *"," *

Object/Classes based on AttributeCore can augment AttributeObservable"," * (with true for overwrite) and AttributeExtras to add attribute event and"," * additional, less commonly used attribute methods, such as `modifyAttr`, `removeAttr` and `reset`.

"," *"," * @class AttributeCore"," * @param attrs {Object} The attributes to add during construction (passed through to addAttrs)."," * These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor."," * @param values {Object} The initial attribute values to apply (passed through to addAttrs)."," * These are not merged/cloned. The caller is responsible for isolating user provided values if required."," * @param lazy {boolean} Whether or not to add attributes lazily (passed through to addAttrs)."," */"," function AttributeCore(attrs, values, lazy) {"," // HACK: Fix #2531929"," // Complete hack, to make sure the first clone of a node value in IE doesn't doesn't hurt state - maintains 3.4.1 behavior."," // Too late in the release cycle to do anything about the core problem."," // The root issue is that cloning a Y.Node instance results in an object which barfs in IE, when you access it's properties (since 3.3.0)."," this._yuievt = null;",""," this._initAttrHost(attrs, values, lazy);"," }",""," /**"," *

The value to return from an attribute setter in order to prevent the set from going through.

"," *"," *

You can return this value from your setter if you wish to combine validator and setter"," * functionality into a single setter function, which either returns the massaged value to be stored or"," * AttributeCore.INVALID_VALUE to prevent invalid values from being stored.

"," *"," * @property INVALID_VALUE"," * @type Object"," * @static"," * @final"," */"," AttributeCore.INVALID_VALUE = {};"," INVALID_VALUE = AttributeCore.INVALID_VALUE;",""," /**"," * The list of properties which can be configured for"," * each attribute (e.g. setter, getter, writeOnce etc.)."," *"," * This property is used internally as a whitelist for faster"," * Y.mix operations."," *"," * @property _ATTR_CFG"," * @type Array"," * @static"," * @protected"," */"," AttributeCore._ATTR_CFG = [SETTER, GETTER, VALIDATOR, VALUE, VALUE_FN, WRITE_ONCE, READ_ONLY, LAZY_ADD, BYPASS_PROXY];",""," /**"," * Utility method to protect an attribute configuration hash, by merging the"," * entire object and the individual attr config objects."," *"," * @method protectAttrs"," * @static"," * @param {Object} attrs A hash of attribute to configuration object pairs."," * @return {Object} A protected version of the `attrs` argument."," */"," AttributeCore.protectAttrs = function (attrs) {"," if (attrs) {"," attrs = Y.merge(attrs);"," for (var attr in attrs) {"," if (attrs.hasOwnProperty(attr)) {"," attrs[attr] = Y.merge(attrs[attr]);"," }"," }"," }",""," return attrs;"," };",""," AttributeCore.prototype = {",""," /**"," * Constructor logic for attributes. Initializes the host state, and sets up the inital attributes passed to the"," * constructor."," *"," * @method _initAttrHost"," * @param attrs {Object} The attributes to add during construction (passed through to addAttrs)."," * These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor."," * @param values {Object} The initial attribute values to apply (passed through to addAttrs)."," * These are not merged/cloned. The caller is responsible for isolating user provided values if required."," * @param lazy {boolean} Whether or not to add attributes lazily (passed through to addAttrs)."," * @private"," */"," _initAttrHost : function(attrs, values, lazy) {"," this._state = new Y.State();"," this._initAttrs(attrs, values, lazy);"," },",""," /**"," *

"," * Adds an attribute with the provided configuration to the host object."," *

"," *

"," * The config argument object supports the following properties:"," *

"," *"," *
"," *
value <Any>
"," *
The initial value to set on the attribute
"," *"," *
valueFn <Function | String>
"," *
"," *

A function, which will return the initial value to set on the attribute. This is useful"," * for cases where the attribute configuration is defined statically, but needs to"," * reference the host instance (\"this\") to obtain an initial value. If both the value and valueFn properties are defined,"," * the value returned by the valueFn has precedence over the value property, unless it returns undefined, in which"," * case the value property is used.

"," *"," *

valueFn can also be set to a string, representing the name of the instance method to be used to retrieve the value.

"," *
"," *"," *
readOnly <boolean>
"," *
Whether or not the attribute is read only. Attributes having readOnly set to true"," * cannot be modified by invoking the set method.
"," *"," *
writeOnce <boolean> or <string>
"," *
"," * Whether or not the attribute is \"write once\". Attributes having writeOnce set to true,"," * can only have their values set once, be it through the default configuration,"," * constructor configuration arguments, or by invoking set."," *

The writeOnce attribute can also be set to the string \"initOnly\","," * in which case the attribute can only be set during initialization"," * (when used with Base, this means it can only be set during construction)

"," *
"," *"," *
setter <Function | String>
"," *
"," *

The setter function used to massage or normalize the value passed to the set method for the attribute."," * The value returned by the setter will be the final stored value. Returning"," * Attribute.INVALID_VALUE, from the setter will prevent"," * the value from being stored."," *

"," *"," *

setter can also be set to a string, representing the name of the instance method to be used as the setter function.

"," *
"," *"," *
getter <Function | String>
"," *
"," *

"," * The getter function used to massage or normalize the value returned by the get method for the attribute."," * The value returned by the getter function is the value which will be returned to the user when they"," * invoke get."," *

"," *"," *

getter can also be set to a string, representing the name of the instance method to be used as the getter function.

"," *
"," *"," *
validator <Function | String>
"," *
"," *

"," * The validator function invoked prior to setting the stored value. Returning"," * false from the validator function will prevent the value from being stored."," *

"," *"," *

validator can also be set to a string, representing the name of the instance method to be used as the validator function.

"," *
"," *"," *
lazyAdd <boolean>
"," *
Whether or not to delay initialization of the attribute until the first call to get/set it."," * This flag can be used to over-ride lazy initialization on a per attribute basis, when adding multiple attributes through"," * the addAttrs method.
"," *"," *
"," *"," *

The setter, getter and validator are invoked with the value and name passed in as the first and second arguments, and with"," * the context (\"this\") set to the host object.

"," *"," *

Configuration properties outside of the list mentioned above are considered private properties used internally by attribute,"," * and are not intended for public use.

"," *"," * @method addAttr"," *"," * @param {String} name The name of the attribute."," * @param {Object} config An object with attribute configuration property/value pairs, specifying the configuration for the attribute."," *"," *

"," * NOTE: The configuration object is modified when adding an attribute, so if you need"," * to protect the original values, you will need to merge the object."," *

"," *"," * @param {boolean} lazy (optional) Whether or not to add this attribute lazily (on the first call to get/set)."," *"," * @return {Object} A reference to the host object."," *"," * @chainable"," */"," addAttr: function(name, config, lazy) {","",""," var host = this, // help compression"," state = host._state,"," value,"," hasValue;",""," config = config || {};",""," lazy = (LAZY_ADD in config) ? config[LAZY_ADD] : lazy;",""," if (lazy && !host.attrAdded(name)) {"," state.addAll(name, {"," lazy : config,"," added : true"," });"," } else {"," /*jshint maxlen:200*/",""," if (!host.attrAdded(name) || state.get(name, IS_LAZY_ADD)) {",""," hasValue = (VALUE in config);",""," /*jshint maxlen:150*/",""," if (hasValue) {"," // We'll go through set, don't want to set value in config directly"," value = config.value;"," delete config.value;"," }",""," config.added = true;"," config.initializing = true;",""," state.addAll(name, config);",""," if (hasValue) {"," // Go through set, so that raw values get normalized/validated"," host.set(name, value);"," }",""," state.remove(name, INITIALIZING);"," }"," }",""," return host;"," },",""," /**"," * Checks if the given attribute has been added to the host"," *"," * @method attrAdded"," * @param {String} name The name of the attribute to check."," * @return {boolean} true if an attribute with the given name has been added, false if it hasn't."," * This method will return true for lazily added attributes."," */"," attrAdded: function(name) {"," return !!this._state.get(name, ADDED);"," },",""," /**"," * Returns the current value of the attribute. If the attribute"," * has been configured with a 'getter' function, this method will delegate"," * to the 'getter' to obtain the value of the attribute."," *"," * @method get"," *"," * @param {String} name The name of the attribute. If the value of the attribute is an Object,"," * dot notation can be used to obtain the value of a property of the object (e.g. get(\"x.y.z\"))"," *"," * @return {Any} The value of the attribute"," */"," get : function(name) {"," return this._getAttr(name);"," },",""," /**"," * Checks whether or not the attribute is one which has been"," * added lazily and still requires initialization."," *"," * @method _isLazyAttr"," * @private"," * @param {String} name The name of the attribute"," * @return {boolean} true if it's a lazily added attribute, false otherwise."," */"," _isLazyAttr: function(name) {"," return this._state.get(name, LAZY);"," },",""," /**"," * Finishes initializing an attribute which has been lazily added."," *"," * @method _addLazyAttr"," * @private"," * @param {Object} name The name of the attribute"," */"," _addLazyAttr: function(name) {"," var state = this._state,"," lazyCfg = state.get(name, LAZY);",""," state.add(name, IS_LAZY_ADD, true);"," state.remove(name, LAZY);"," this.addAttr(name, lazyCfg);"," },",""," /**"," * Sets the value of an attribute."," *"," * @method set"," * @chainable"," *"," * @param {String} name The name of the attribute. If the"," * current value of the attribute is an Object, dot notation can be used"," * to set the value of a property within the object (e.g. set(\"x.y.z\", 5))."," * @param {Any} value The value to set the attribute to."," * @param {Object} [opts] Optional data providing the circumstances for the change."," * @return {Object} A reference to the host object."," */"," set : function(name, val, opts) {"," return this._setAttr(name, val, opts);"," },",""," /**"," * Allows setting of readOnly/writeOnce attributes. See set for argument details."," *"," * @method _set"," * @protected"," * @chainable"," *"," * @param {String} name The name of the attribute."," * @param {Any} val The value to set the attribute to."," * @param {Object} [opts] Optional data providing the circumstances for the change."," * @return {Object} A reference to the host object."," */"," _set : function(name, val, opts) {"," return this._setAttr(name, val, opts, true);"," },",""," /**"," * Provides the common implementation for the public set and protected _set methods."," *"," * See set for argument details."," *"," * @method _setAttr"," * @protected"," * @chainable"," *"," * @param {String} name The name of the attribute."," * @param {Any} value The value to set the attribute to."," * @param {Object} [opts] Optional data providing the circumstances for the change."," * @param {boolean} force If true, allows the caller to set values for"," * readOnly or writeOnce attributes which have already been set."," *"," * @return {Object} A reference to the host object."," */"," _setAttr : function(name, val, opts, force) {"," var allowSet = true,"," state = this._state,"," stateProxy = this._stateProxy,"," cfg,"," initialSet,"," strPath,"," path,"," currVal,"," writeOnce,"," initializing;",""," if (name.indexOf(DOT) !== -1) {"," strPath = name;"," path = name.split(DOT);"," name = path.shift();"," }",""," if (this._isLazyAttr(name)) {"," this._addLazyAttr(name);"," }",""," cfg = state.getAll(name, true) || {};",""," initialSet = (!(VALUE in cfg));",""," if (stateProxy && name in stateProxy && !cfg._bypassProxy) {"," // TODO: Value is always set for proxy. Can we do any better? Maybe take a snapshot as the initial value for the first call to set?"," initialSet = false;"," }",""," writeOnce = cfg.writeOnce;"," initializing = cfg.initializing;",""," if (!initialSet && !force) {",""," if (writeOnce) {"," allowSet = false;"," }",""," if (cfg.readOnly) {"," allowSet = false;"," }"," }",""," if (!initializing && !force && writeOnce === INIT_ONLY) {"," allowSet = false;"," }",""," if (allowSet) {"," // Don't need currVal if initialSet (might fail in custom getter if it always expects a non-undefined/non-null value)"," if (!initialSet) {"," currVal = this.get(name);"," }",""," if (path) {"," val = O.setValue(Y.clone(currVal), path, val);",""," if (val === undefined) {"," allowSet = false;"," }"," }",""," if (allowSet) {"," opts = opts || {};"," if (!this._fireAttrChange || initializing) {"," this._setAttrVal(name, strPath, currVal, val, opts);"," } else {"," // HACK - no real reason core needs to know about _fireAttrChange, but"," // it adds fn hops if we want to break it out. Not sure it's worth it for this critical path"," this._fireAttrChange(name, strPath, currVal, val, opts);"," }"," }"," }",""," return this;"," },",""," /**"," * Provides the common implementation for the public get method,"," * allowing Attribute hosts to over-ride either method."," *"," * See get for argument details."," *"," * @method _getAttr"," * @protected"," * @chainable"," *"," * @param {String} name The name of the attribute."," * @return {Any} The value of the attribute."," */"," _getAttr : function(name) {"," var host = this, // help compression"," fullName = name,"," state = host._state,"," path,"," getter,"," val,"," cfg;",""," if (name.indexOf(DOT) !== -1) {"," path = name.split(DOT);"," name = path.shift();"," }",""," // On Demand - Should be rare - handles out of order valueFn references"," if (host._tCfgs && host._tCfgs[name]) {"," cfg = {};"," cfg[name] = host._tCfgs[name];"," delete host._tCfgs[name];"," host._addAttrs(cfg, host._tVals);"," }",""," // Lazy Init"," if (host._isLazyAttr(name)) {"," host._addLazyAttr(name);"," }",""," val = host._getStateVal(name);",""," getter = state.get(name, GETTER);",""," if (getter && !getter.call) {"," getter = this[getter];"," }",""," val = (getter) ? getter.call(host, val, fullName) : val;"," val = (path) ? O.getValue(val, path) : val;",""," return val;"," },",""," /**"," * Gets the stored value for the attribute, from either the"," * internal state object, or the state proxy if it exits"," *"," * @method _getStateVal"," * @private"," * @param {String} name The name of the attribute"," * @return {Any} The stored value of the attribute"," */"," _getStateVal : function(name) {"," var stateProxy = this._stateProxy;"," return stateProxy && (name in stateProxy) && !this._state.get(name, BYPASS_PROXY) ? stateProxy[name] : this._state.get(name, VALUE);"," },",""," /**"," * Sets the stored value for the attribute, in either the"," * internal state object, or the state proxy if it exits"," *"," * @method _setStateVal"," * @private"," * @param {String} name The name of the attribute"," * @param {Any} value The value of the attribute"," */"," _setStateVal : function(name, value) {"," var stateProxy = this._stateProxy;"," if (stateProxy && (name in stateProxy) && !this._state.get(name, BYPASS_PROXY)) {"," stateProxy[name] = value;"," } else {"," this._state.add(name, VALUE, value);"," }"," },",""," /**"," * Updates the stored value of the attribute in the privately held State object,"," * if validation and setter passes."," *"," * @method _setAttrVal"," * @private"," * @param {String} attrName The attribute name."," * @param {String} subAttrName The sub-attribute name, if setting a sub-attribute property (\"x.y.z\")."," * @param {Any} prevVal The currently stored value of the attribute."," * @param {Any} newVal The value which is going to be stored."," * @param {Object} [opts] Optional data providing the circumstances for the change."," *"," * @return {booolean} true if the new attribute value was stored, false if not."," */"," _setAttrVal : function(attrName, subAttrName, prevVal, newVal, opts) {",""," var host = this,"," allowSet = true,"," cfg = this._state.getAll(attrName, true) || {},"," validator = cfg.validator,"," setter = cfg.setter,"," initializing = cfg.initializing,"," prevRawVal = this._getStateVal(attrName),"," name = subAttrName || attrName,"," retVal,"," valid;",""," if (validator) {"," if (!validator.call) {"," // Assume string - trying to keep critical path tight, so avoiding Lang check"," validator = this[validator];"," }"," if (validator) {"," valid = validator.call(host, newVal, name, opts);",""," if (!valid && initializing) {"," newVal = cfg.defaultValue;"," valid = true; // Assume it's valid, for perf."," }"," }"," }",""," if (!validator || valid) {"," if (setter) {"," if (!setter.call) {"," // Assume string - trying to keep critical path tight, so avoiding Lang check"," setter = this[setter];"," }"," if (setter) {"," retVal = setter.call(host, newVal, name, opts);",""," if (retVal === INVALID_VALUE) {"," if (initializing) {"," newVal = cfg.defaultValue;"," } else {"," allowSet = false;"," }"," } else if (retVal !== undefined){"," newVal = retVal;"," }"," }"," }",""," if (allowSet) {"," if(!subAttrName && (newVal === prevRawVal) && !Lang.isObject(newVal)) {"," allowSet = false;"," } else {"," // Store value"," if (!(INIT_VALUE in cfg)) {"," cfg.initValue = newVal;"," }"," host._setStateVal(attrName, newVal);"," }"," }",""," } else {"," allowSet = false;"," }",""," return allowSet;"," },",""," /**"," * Sets multiple attribute values."," *"," * @method setAttrs"," * @param {Object} attrs An object with attributes name/value pairs."," * @param {Object} [opts] Optional data providing the circumstances for the change."," * @return {Object} A reference to the host object."," * @chainable"," */"," setAttrs : function(attrs, opts) {"," return this._setAttrs(attrs, opts);"," },",""," /**"," * Implementation behind the public setAttrs method, to set multiple attribute values."," *"," * @method _setAttrs"," * @protected"," * @param {Object} attrs An object with attributes name/value pairs."," * @param {Object} [opts] Optional data providing the circumstances for the change"," * @return {Object} A reference to the host object."," * @chainable"," */"," _setAttrs : function(attrs, opts) {"," var attr;"," for (attr in attrs) {"," if ( attrs.hasOwnProperty(attr) ) {"," this.set(attr, attrs[attr], opts);"," }"," }"," return this;"," },",""," /**"," * Gets multiple attribute values."," *"," * @method getAttrs"," * @param {Array | boolean} attrs Optional. An array of attribute names. If omitted, all attribute values are"," * returned. If set to true, all attributes modified from their initial values are returned."," * @return {Object} An object with attribute name/value pairs."," */"," getAttrs : function(attrs) {"," return this._getAttrs(attrs);"," },",""," /**"," * Implementation behind the public getAttrs method, to get multiple attribute values."," *"," * @method _getAttrs"," * @protected"," * @param {Array | boolean} attrs Optional. An array of attribute names. If omitted, all attribute values are"," * returned. If set to true, all attributes modified from their initial values are returned."," * @return {Object} An object with attribute name/value pairs."," */"," _getAttrs : function(attrs) {"," var obj = {},"," attr, i, len,"," modifiedOnly = (attrs === true);",""," // TODO - figure out how to get all \"added\""," if (!attrs || modifiedOnly) {"," attrs = O.keys(this._state.data);"," }",""," for (i = 0, len = attrs.length; i < len; i++) {"," attr = attrs[i];",""," if (!modifiedOnly || this._getStateVal(attr) != this._state.get(attr, INIT_VALUE)) {"," // Go through get, to honor cloning/normalization"," obj[attr] = this.get(attr);"," }"," }",""," return obj;"," },",""," /**"," * Configures a group of attributes, and sets initial values."," *"," *

"," * NOTE: This method does not isolate the configuration object by merging/cloning."," * The caller is responsible for merging/cloning the configuration object if required."," *

"," *"," * @method addAttrs"," * @chainable"," *"," * @param {Object} cfgs An object with attribute name/configuration pairs."," * @param {Object} values An object with attribute name/value pairs, defining the initial values to apply."," * Values defined in the cfgs argument will be over-written by values in this argument unless defined as read only."," * @param {boolean} lazy Whether or not to delay the intialization of these attributes until the first call to get/set."," * Individual attributes can over-ride this behavior by defining a lazyAdd configuration property in their configuration."," * See addAttr."," *"," * @return {Object} A reference to the host object."," */"," addAttrs : function(cfgs, values, lazy) {"," var host = this; // help compression"," if (cfgs) {"," host._tCfgs = cfgs;"," host._tVals = host._normAttrVals(values);"," host._addAttrs(cfgs, host._tVals, lazy);"," host._tCfgs = host._tVals = null;"," }",""," return host;"," },",""," /**"," * Implementation behind the public addAttrs method."," *"," * This method is invoked directly by get if it encounters a scenario"," * in which an attribute's valueFn attempts to obtain the"," * value an attribute in the same group of attributes, which has not yet"," * been added (on demand initialization)."," *"," * @method _addAttrs"," * @private"," * @param {Object} cfgs An object with attribute name/configuration pairs."," * @param {Object} values An object with attribute name/value pairs, defining the initial values to apply."," * Values defined in the cfgs argument will be over-written by values in this argument unless defined as read only."," * @param {boolean} lazy Whether or not to delay the intialization of these attributes until the first call to get/set."," * Individual attributes can over-ride this behavior by defining a lazyAdd configuration property in their configuration."," * See addAttr."," */"," _addAttrs : function(cfgs, values, lazy) {"," var host = this, // help compression"," attr,"," attrCfg,"," value;",""," for (attr in cfgs) {"," if (cfgs.hasOwnProperty(attr)) {",""," // Not Merging. Caller is responsible for isolating configs"," attrCfg = cfgs[attr];"," attrCfg.defaultValue = attrCfg.value;",""," // Handle simple, complex and user values, accounting for read-only"," value = host._getAttrInitVal(attr, attrCfg, host._tVals);",""," if (value !== undefined) {"," attrCfg.value = value;"," }",""," if (host._tCfgs[attr]) {"," delete host._tCfgs[attr];"," }",""," host.addAttr(attr, attrCfg, lazy);"," }"," }"," },",""," /**"," * Utility method to protect an attribute configuration"," * hash, by merging the entire object and the individual"," * attr config objects."," *"," * @method _protectAttrs"," * @protected"," * @param {Object} attrs A hash of attribute to configuration object pairs."," * @return {Object} A protected version of the attrs argument."," * @deprecated Use `AttributeCore.protectAttrs()` or"," * `Attribute.protectAttrs()` which are the same static utility method."," */"," _protectAttrs : AttributeCore.protectAttrs,",""," /**"," * Utility method to normalize attribute values. The base implementation"," * simply merges the hash to protect the original."," *"," * @method _normAttrVals"," * @param {Object} valueHash An object with attribute name/value pairs"," *"," * @return {Object} An object literal with 2 properties - \"simple\" and \"complex\","," * containing simple and complex attribute values respectively keyed"," * by the top level attribute name, or null, if valueHash is falsey."," *"," * @private"," */"," _normAttrVals : function(valueHash) {"," var vals = {},"," subvals = {},"," path,"," attr,"," v, k;",""," if (valueHash) {"," for (k in valueHash) {"," if (valueHash.hasOwnProperty(k)) {"," if (k.indexOf(DOT) !== -1) {"," path = k.split(DOT);"," attr = path.shift();"," v = subvals[attr] = subvals[attr] || [];"," v[v.length] = {"," path : path,"," value: valueHash[k]"," };"," } else {"," vals[k] = valueHash[k];"," }"," }"," }"," return { simple:vals, complex:subvals };"," } else {"," return null;"," }"," },",""," /**"," * Returns the initial value of the given attribute from"," * either the default configuration provided, or the"," * over-ridden value if it exists in the set of initValues"," * provided and the attribute is not read-only."," *"," * @param {String} attr The name of the attribute"," * @param {Object} cfg The attribute configuration object"," * @param {Object} initValues The object with simple and complex attribute name/value pairs returned from _normAttrVals"," *"," * @return {Any} The initial value of the attribute."," *"," * @method _getAttrInitVal"," * @private"," */"," _getAttrInitVal : function(attr, cfg, initValues) {"," var val = cfg.value,"," valFn = cfg.valueFn,"," tmpVal,"," initValSet = false,"," simple,"," complex,"," i,"," l,"," path,"," subval,"," subvals;",""," if (!cfg.readOnly && initValues) {"," // Simple Attributes"," simple = initValues.simple;"," if (simple && simple.hasOwnProperty(attr)) {"," val = simple[attr];"," initValSet = true;"," }"," }",""," if (valFn && !initValSet) {"," if (!valFn.call) {"," valFn = this[valFn];"," }"," if (valFn) {"," tmpVal = valFn.call(this, attr);"," val = tmpVal;"," }"," }",""," if (!cfg.readOnly && initValues) {",""," // Complex Attributes (complex values applied, after simple, in case both are set)"," complex = initValues.complex;",""," if (complex && complex.hasOwnProperty(attr) && (val !== undefined) && (val !== null)) {"," subvals = complex[attr];"," for (i = 0, l = subvals.length; i < l; ++i) {"," path = subvals[i].path;"," subval = subvals[i].value;"," O.setValue(val, path, subval);"," }"," }"," }",""," return val;"," },",""," /**"," * Utility method to set up initial attributes defined during construction,"," * either through the constructor.ATTRS property, or explicitly passed in."," *"," * @method _initAttrs"," * @protected"," * @param attrs {Object} The attributes to add during construction (passed through to addAttrs)."," * These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor."," * @param values {Object} The initial attribute values to apply (passed through to addAttrs)."," * These are not merged/cloned. The caller is responsible for isolating user provided values if required."," * @param lazy {boolean} Whether or not to add attributes lazily (passed through to addAttrs)."," */"," _initAttrs : function(attrs, values, lazy) {"," // ATTRS support for Node, which is not Base based"," attrs = attrs || this.constructor.ATTRS;",""," var Base = Y.Base,"," BaseCore = Y.BaseCore,"," baseInst = (Base && Y.instanceOf(this, Base)),"," baseCoreInst = (!baseInst && BaseCore && Y.instanceOf(this, BaseCore));",""," if (attrs && !baseInst && !baseCoreInst) {"," this.addAttrs(Y.AttributeCore.protectAttrs(attrs), values, lazy);"," }"," }"," };",""," Y.AttributeCore = AttributeCore;","","","}, '3.9.1', {\"requires\": [\"oop\"]});"]; _yuitest_coverage["build/attribute-core/attribute-core.js"].lines = {"1":0,"14":0,"19":0,"22":0,"33":0,"35":0,"36":0,"39":0,"50":0,"53":0,"54":0,"57":0,"58":0,"59":0,"72":0,"74":0,"75":0,"87":0,"89":0,"90":0,"92":0,"93":0,"96":0,"97":0,"111":0,"113":0,"114":0,"132":0,"135":0,"136":0,"137":0,"138":0,"140":0,"141":0,"142":0,"147":0,"168":0,"225":0,"230":0,"232":0,"247":0,"248":0,"262":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"283":0,"286":0,"301":0,"302":0,"406":0,"411":0,"413":0,"415":0,"416":0,"423":0,"425":0,"429":0,"431":0,"432":0,"435":0,"436":0,"438":0,"440":0,"442":0,"445":0,"449":0,"461":0,"477":0,"490":0,"501":0,"504":0,"505":0,"506":0,"523":0,"539":0,"560":0,"571":0,"572":0,"573":0,"574":0,"577":0,"578":0,"581":0,"583":0,"585":0,"587":0,"590":0,"591":0,"593":0,"595":0,"596":0,"599":0,"600":0,"604":0,"605":0,"608":0,"610":0,"611":0,"614":0,"615":0,"617":0,"618":0,"622":0,"623":0,"624":0,"625":0,"629":0,"634":0,"651":0,"659":0,"660":0,"661":0,"665":0,"666":0,"667":0,"668":0,"669":0,"673":0,"674":0,"677":0,"679":0,"681":0,"682":0,"685":0,"686":0,"688":0,"701":0,"702":0,"715":0,"716":0,"717":0,"719":0,"739":0,"750":0,"751":0,"753":0,"755":0,"756":0,"758":0,"759":0,"760":0,"765":0,"766":0,"767":0,"769":0,"771":0,"772":0,"774":0,"775":0,"776":0,"778":0,"780":0,"781":0,"786":0,"787":0,"788":0,"791":0,"792":0,"794":0,"799":0,"802":0,"815":0,"829":0,"830":0,"831":0,"832":0,"835":0,"847":0,"860":0,"865":0,"866":0,"869":0,"870":0,"872":0,"874":0,"878":0,"902":0,"903":0,"904":0,"905":0,"906":0,"907":0,"910":0,"931":0,"936":0,"937":0,"940":0,"941":0,"944":0,"946":0,"947":0,"950":0,"951":0,"954":0,"987":0,"993":0,"994":0,"995":0,"996":0,"997":0,"998":0,"999":0,"1000":0,"1005":0,"1009":0,"1011":0,"1031":0,"1043":0,"1045":0,"1046":0,"1047":0,"1048":0,"1052":0,"1053":0,"1054":0,"1056":0,"1057":0,"1058":0,"1062":0,"1065":0,"1067":0,"1068":0,"1069":0,"1070":0,"1071":0,"1072":0,"1077":0,"1094":0,"1096":0,"1101":0,"1102":0,"1107":0}; _yuitest_coverage["build/attribute-core/attribute-core.js"].functions = {"State:14":0,"add:32":0,"addAll:49":0,"remove:71":0,"(anonymous 2):96":0,"removeAll:86":0,"get:110":0,"getAll:131":0,"AttributeCore:225":0,"protectAttrs:273":0,"_initAttrHost:300":0,"addAttr:403":0,"attrAdded:460":0,"get:476":0,"_isLazyAttr:489":0,"_addLazyAttr:500":0,"set:522":0,"_set:538":0,"_setAttr:559":0,"_getAttr:650":0,"_getStateVal:700":0,"_setStateVal:714":0,"_setAttrVal:737":0,"setAttrs:814":0,"_setAttrs:828":0,"getAttrs:846":0,"_getAttrs:859":0,"addAttrs:901":0,"_addAttrs:930":0,"_normAttrVals:986":0,"_getAttrInitVal:1030":0,"_initAttrs:1092":0,"(anonymous 1):1":0}; _yuitest_coverage["build/attribute-core/attribute-core.js"].coveredLines = 236; @@ -1410,4 +1410,4 @@ this.addAttrs(Y.AttributeCore.protectAttrs(attrs), values, lazy); Y.AttributeCore = AttributeCore; -}, '3.9.0', {"requires": ["oop"]}); +}, '3.9.1', {"requires": ["oop"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-core/attribute-core-debug.js b/lib/yuilib/3.9.1/build/attribute-core/attribute-core-debug.js similarity index 99% rename from lib/yuilib/3.9.0/build/attribute-core/attribute-core-debug.js rename to lib/yuilib/3.9.1/build/attribute-core/attribute-core-debug.js index 111b0e0b5f6..328ffe1f6b3 100644 --- a/lib/yuilib/3.9.0/build/attribute-core/attribute-core-debug.js +++ b/lib/yuilib/3.9.1/build/attribute-core/attribute-core-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('attribute-core', function (Y, NAME) { /** @@ -1120,4 +1120,4 @@ YUI.add('attribute-core', function (Y, NAME) { Y.AttributeCore = AttributeCore; -}, '3.9.0', {"requires": ["oop"]}); +}, '3.9.1', {"requires": ["oop"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-core/attribute-core-min.js b/lib/yuilib/3.9.1/build/attribute-core/attribute-core-min.js similarity index 97% rename from lib/yuilib/3.9.0/build/attribute-core/attribute-core-min.js rename to lib/yuilib/3.9.1/build/attribute-core/attribute-core-min.js index 592cba72ce6..0f9a9f2971c 100644 --- a/lib/yuilib/3.9.0/build/attribute-core/attribute-core-min.js +++ b/lib/yuilib/3.9.1/build/attribute-core/attribute-core-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("attribute-core",function(e,t){function E(e,t,n){this._yuievt=null,this._initAttrHost(e,t,n)}e.State=function(){this.data={}},e.State.prototype={add:function(e,t,n){var r=this.data[e];r||(r=this.data[e]={}),r[t]=n},addAll:function(e,t){var n=this.data[e],r;n||(n=this.data[e]={});for(r in t)t.hasOwnProperty(r)&&(n[r]=t[r])},remove:function(e,t){var n=this.data[e];n&&delete n[t]},removeAll:function(t,n){var r;n?e.each(n,function(e,n){this.remove(t,typeof n=="string"?n:e)},this):(r=this.data,t in r&&delete r[t])},get:function(e,t){var n=this.data[e];if(n)return n[t]},getAll:function(e,t){var n=this.data[e],r,i;if(t)i=n;else if(n){i={};for(r in n)n.hasOwnProperty(r)&&(i[r]=n[r])}return i}};var n=e.Object,r=e.Lang,i=".",s="getter",o="setter",u="readOnly",a="writeOnce",f="initOnly",l="validator",c="value",h="valueFn",p="lazyAdd",d="added",v="_bypassProxy",m="initializing",g="initValue",y="lazy",b="isLazyAdd",w;E.INVALID_VALUE={},w=E.INVALID_VALUE,E._ATTR_CFG=[o,s,l,c,h,a,u,p,v],E.protectAttrs=function(t){if(t){t=e.merge(t);for(var n in t)t.hasOwnProperty(n)&&(t[n]=e.merge(t[n]))}return t},E.prototype={_initAttrHost:function(t,n,r){this._state=new e.State,this._initAttrs(t,n,r)},addAttr:function(e,t,n){var r=this,i=r._state,s,o;t=t||{},n=p in t?t[p]:n;if(n&&!r.attrAdded(e))i.addAll(e,{lazy:t,added:!0});else if(!r.attrAdded(e)||i.get(e,b))o=c in t,o&&(s=t.value,delete t.value),t.added=!0,t.initializing=!0,i.addAll(e,t),o&&r.set(e,s),i.remove(e,m);return r},attrAdded:function(e){return!!this._state.get(e,d)},get:function(e){return this._getAttr(e)},_isLazyAttr:function(e){return this._state.get(e,y)},_addLazyAttr:function(e){var t=this._state,n=t.get(e,y);t.add(e,b,!0),t.remove(e,y),this.addAttr(e,n)},set:function(e,t,n){return this._setAttr(e,t,n)},_set:function(e,t,n){return this._setAttr(e,t,n,!0)},_setAttr:function(t,r,s,o){var u=!0,a=this._state,l=this._stateProxy,h,p,d,v,m,g,y;return t.indexOf(i)!==-1&&(d=t,v=t.split(i),t=v.shift()),this._isLazyAttr(t)&&this._addLazyAttr(t),h=a.getAll(t,!0)||{},p=!(c in h),l&&t in l&&!h._bypassProxy&&(p=!1),g=h.writeOnce,y=h.initializing,!p&&!o&&(g&&(u=!1),h.readOnly&&(u=!1)),!y&&!o&&g===f&&(u=!1),u&&(p||(m=this.get(t)),v&&(r=n.setValue(e.clone(m),v,r),r===undefined&&(u=!1)),u&&(s=s||{},!this._fireAttrChange||y?this._setAttrVal(t,d,m,r,s):this._fireAttrChange(t,d,m,r,s))),this},_getAttr:function(e){var t=this,r=e,o=t._state,u,a,f,l;return e.indexOf(i)!==-1&&(u=e.split(i),e=u.shift()),t._tCfgs&&t._tCfgs[e]&&(l={},l[e]=t._tCfgs[e],delete t._tCfgs[e],t._addAttrs(l,t._tVals)),t._isLazyAttr(e)&&t._addLazyAttr(e),f=t._getStateVal(e),a=o.get(e,s),a&&!a.call&&(a=this[a]),f=a?a.call(t,f,r):f,f=u?n.getValue(f,u):f,f},_getStateVal:function(e){var t=this._stateProxy;return t&&e in t&&!this._state.get(e,v)?t[e]:this._state.get(e,c)},_setStateVal:function(e,t){var n=this._stateProxy;n&&e in n&&!this._state.get(e,v)?n[e]=t:this._state.add(e,c,t)},_setAttrVal:function(e,t,n,i,s){var o=this,u=!0,a=this._state.getAll(e,!0)||{},f=a.validator,l=a.setter,c=a.initializing,h=this._getStateVal(e),p=t||e,d,v;return f&&(f.call||(f=this[f]),f&&(v=f.call(o,i,p,s),!v&&c&&(i=a.defaultValue,v=!0))),!f||v?(l&&(l.call||(l=this[l]),l&&(d=l.call(o,i,p,s),d===w?c?i=a.defaultValue:u=!1:d!==undefined&&(i=d))),u&&(!t&&i===h&&!r.isObject(i)?u=!1:(g in a||(a.initValue=i),o._setStateVal(e,i)))):u=!1,u},setAttrs:function(e,t){return this._setAttrs(e,t)},_setAttrs:function(e,t){var n;for(n in e)e.hasOwnProperty(n)&&this.set(n,e[n],t);return this},getAttrs:function(e){return this._getAttrs(e)},_getAttrs:function(e){var t={},r,i,s,o=e===!0;if(!e||o)e=n.keys(this._state.data);for(i=0,s=e.length;i"," * The properties which can be modified through this interface are limited"," * to the following subset of attributes, which can be safely modified"," * after a value has already been set on the attribute: readOnly, writeOnce,"," * broadcast and getter."," *

"," * @method modifyAttr"," * @param {String} name The name of the attribute whose configuration is to be updated."," * @param {Object} config An object with configuration property/value pairs, specifying the configuration properties to modify."," */"," modifyAttr: function(name, config) {"," var host = this, // help compression"," prop, state;",""," if (host.attrAdded(name)) {",""," if (host._isLazyAttr(name)) {"," host._addLazyAttr(name);"," }",""," state = host._state;"," for (prop in config) {"," if (MODIFIABLE[prop] && config.hasOwnProperty(prop)) {"," state.add(name, prop, config[prop]);",""," // If we reconfigured broadcast, need to republish"," if (prop === BROADCAST) {"," state.remove(name, PUBLISHED);"," }"," }"," }"," }"," /*jshint maxlen:200*/"," /*jshint maxlen:150 */"," },",""," /**"," * Removes an attribute from the host object"," *"," * @method removeAttr"," * @param {String} name The name of the attribute to be removed."," */"," removeAttr: function(name) {"," this._state.removeAll(name);"," },",""," /**"," * Resets the attribute (or all attributes) to its initial value, as long as"," * the attribute is not readOnly, or writeOnce."," *"," * @method reset"," * @param {String} name Optional. The name of the attribute to reset. If omitted, all attributes are reset."," * @return {Object} A reference to the host object."," * @chainable"," */"," reset : function(name) {"," var host = this; // help compression",""," if (name) {"," if (host._isLazyAttr(name)) {"," host._addLazyAttr(name);"," }"," host.set(name, host._state.get(name, INIT_VALUE));"," } else {"," Y.each(host._state.data, function(v, n) {"," host.reset(n);"," });"," }"," return host;"," },",""," /**"," * Returns an object with the configuration properties (and value)"," * for the given attribute. If attrName is not provided, returns the"," * configuration properties for all attributes."," *"," * @method _getAttrCfg"," * @protected"," * @param {String} name Optional. The attribute name. If not provided, the method will return the configuration for all attributes."," * @return {Object} The configuration properties for the given attribute, or all attributes."," */"," _getAttrCfg : function(name) {"," var o,"," state = this._state;",""," if (name) {"," o = state.getAll(name) || {};"," } else {"," o = {};"," Y.each(state.data, function(v, n) {"," o[n] = state.getAll(n);"," });"," }",""," return o;"," }"," };",""," Y.AttributeExtras = AttributeExtras;","","","}, '3.9.0', {\"requires\": [\"oop\"]});"]; +_yuitest_coverage["build/attribute-extras/attribute-extras.js"].code=["YUI.add('attribute-extras', function (Y, NAME) {",""," /**"," * The attribute module provides an augmentable Attribute implementation, which"," * adds configurable attributes and attribute change events to the class being"," * augmented. It also provides a State class, which is used internally by Attribute,"," * but can also be used independently to provide a name/property/value data structure to"," * store state."," *"," * @module attribute"," */",""," /**"," * The attribute-extras submodule provides less commonly used attribute methods, and can"," * be augmented/mixed into an implemention which used attribute-core."," *"," * @module attribute"," * @submodule attribute-extras"," */"," var BROADCAST = \"broadcast\","," PUBLISHED = \"published\","," INIT_VALUE = \"initValue\",",""," MODIFIABLE = {"," readOnly:1,"," writeOnce:1,"," getter:1,"," broadcast:1"," };",""," /**"," * A augmentable implementation for AttributeCore, providing less frequently used"," * methods for Attribute management such as modifyAttrs(), removeAttr and reset()"," *"," * @class AttributeExtras"," * @extensionfor AttributeCore"," */"," function AttributeExtras() {}",""," AttributeExtras.prototype = {",""," /**"," * Updates the configuration of an attribute which has already been added."," *

"," * The properties which can be modified through this interface are limited"," * to the following subset of attributes, which can be safely modified"," * after a value has already been set on the attribute: readOnly, writeOnce,"," * broadcast and getter."," *

"," * @method modifyAttr"," * @param {String} name The name of the attribute whose configuration is to be updated."," * @param {Object} config An object with configuration property/value pairs, specifying the configuration properties to modify."," */"," modifyAttr: function(name, config) {"," var host = this, // help compression"," prop, state;",""," if (host.attrAdded(name)) {",""," if (host._isLazyAttr(name)) {"," host._addLazyAttr(name);"," }",""," state = host._state;"," for (prop in config) {"," if (MODIFIABLE[prop] && config.hasOwnProperty(prop)) {"," state.add(name, prop, config[prop]);",""," // If we reconfigured broadcast, need to republish"," if (prop === BROADCAST) {"," state.remove(name, PUBLISHED);"," }"," }"," }"," }"," /*jshint maxlen:200*/"," /*jshint maxlen:150 */"," },",""," /**"," * Removes an attribute from the host object"," *"," * @method removeAttr"," * @param {String} name The name of the attribute to be removed."," */"," removeAttr: function(name) {"," this._state.removeAll(name);"," },",""," /**"," * Resets the attribute (or all attributes) to its initial value, as long as"," * the attribute is not readOnly, or writeOnce."," *"," * @method reset"," * @param {String} name Optional. The name of the attribute to reset. If omitted, all attributes are reset."," * @return {Object} A reference to the host object."," * @chainable"," */"," reset : function(name) {"," var host = this; // help compression",""," if (name) {"," if (host._isLazyAttr(name)) {"," host._addLazyAttr(name);"," }"," host.set(name, host._state.get(name, INIT_VALUE));"," } else {"," Y.each(host._state.data, function(v, n) {"," host.reset(n);"," });"," }"," return host;"," },",""," /**"," * Returns an object with the configuration properties (and value)"," * for the given attribute. If attrName is not provided, returns the"," * configuration properties for all attributes."," *"," * @method _getAttrCfg"," * @protected"," * @param {String} name Optional. The attribute name. If not provided, the method will return the configuration for all attributes."," * @return {Object} The configuration properties for the given attribute, or all attributes."," */"," _getAttrCfg : function(name) {"," var o,"," state = this._state;",""," if (name) {"," o = state.getAll(name) || {};"," } else {"," o = {};"," Y.each(state.data, function(v, n) {"," o[n] = state.getAll(n);"," });"," }",""," return o;"," }"," };",""," Y.AttributeExtras = AttributeExtras;","","","}, '3.9.1', {\"requires\": [\"oop\"]});"]; _yuitest_coverage["build/attribute-extras/attribute-extras.js"].lines = {"1":0,"20":0,"38":0,"40":0,"55":0,"58":0,"60":0,"61":0,"64":0,"65":0,"66":0,"67":0,"70":0,"71":0,"87":0,"100":0,"102":0,"103":0,"104":0,"106":0,"108":0,"109":0,"112":0,"126":0,"129":0,"130":0,"132":0,"133":0,"134":0,"138":0,"142":0}; _yuitest_coverage["build/attribute-extras/attribute-extras.js"].functions = {"AttributeExtras:38":0,"modifyAttr:54":0,"removeAttr:86":0,"(anonymous 2):108":0,"reset:99":0,"(anonymous 3):133":0,"_getAttrCfg:125":0,"(anonymous 1):1":0}; _yuitest_coverage["build/attribute-extras/attribute-extras.js"].coveredLines = 31; @@ -214,4 +214,4 @@ return o; Y.AttributeExtras = AttributeExtras; -}, '3.9.0', {"requires": ["oop"]}); +}, '3.9.1', {"requires": ["oop"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-extras/attribute-extras-debug.js b/lib/yuilib/3.9.1/build/attribute-extras/attribute-extras-debug.js similarity index 98% rename from lib/yuilib/3.9.0/build/attribute-extras/attribute-extras-debug.js rename to lib/yuilib/3.9.1/build/attribute-extras/attribute-extras-debug.js index 0724ce6bb2a..3a2d1b813df 100644 --- a/lib/yuilib/3.9.0/build/attribute-extras/attribute-extras-debug.js +++ b/lib/yuilib/3.9.1/build/attribute-extras/attribute-extras-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('attribute-extras', function (Y, NAME) { /** @@ -144,4 +144,4 @@ YUI.add('attribute-extras', function (Y, NAME) { Y.AttributeExtras = AttributeExtras; -}, '3.9.0', {"requires": ["oop"]}); +}, '3.9.1', {"requires": ["oop"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-extras/attribute-extras-min.js b/lib/yuilib/3.9.1/build/attribute-extras/attribute-extras-min.js similarity index 89% rename from lib/yuilib/3.9.0/build/attribute-extras/attribute-extras-min.js rename to lib/yuilib/3.9.1/build/attribute-extras/attribute-extras-min.js index 105f3a80682..e188384cdf6 100644 --- a/lib/yuilib/3.9.0/build/attribute-extras/attribute-extras-min.js +++ b/lib/yuilib/3.9.1/build/attribute-extras/attribute-extras-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("attribute-extras",function(e,t){function o(){}var n="broadcast",r="published",i="initValue",s={readOnly:1,writeOnce:1,getter:1,broadcast:1};o.prototype={modifyAttr:function(e,t){var i=this,o,u;if(i.attrAdded(e)){i._isLazyAttr(e)&&i._addLazyAttr(e),u=i._state;for(o in t)s[o]&&t.hasOwnProperty(o)&&(u.add(e,o,t[o]),o===n&&u.remove(e,r))}},removeAttr:function(e){this._state.removeAll(e)},reset:function(t){var n=this;return t?(n._isLazyAttr(t)&&n._addLazyAttr(t),n.set(t,n._state.get(t,i))):e.each(n._state.data,function(e,t){n.reset(t)}),n},_getAttrCfg:function(t){var n,r=this._state;return t?n=r.getAll(t)||{}:(n={},e.each(r.data,function(e,t){n[t]=r.getAll(t)})),n}},e.AttributeExtras=o},"3.9.0",{requires:["oop"]}); +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +YUI.add("attribute-extras",function(e,t){function o(){}var n="broadcast",r="published",i="initValue",s={readOnly:1,writeOnce:1,getter:1,broadcast:1};o.prototype={modifyAttr:function(e,t){var i=this,o,u;if(i.attrAdded(e)){i._isLazyAttr(e)&&i._addLazyAttr(e),u=i._state;for(o in t)s[o]&&t.hasOwnProperty(o)&&(u.add(e,o,t[o]),o===n&&u.remove(e,r))}},removeAttr:function(e){this._state.removeAll(e)},reset:function(t){var n=this;return t?(n._isLazyAttr(t)&&n._addLazyAttr(t),n.set(t,n._state.get(t,i))):e.each(n._state.data,function(e,t){n.reset(t)}),n},_getAttrCfg:function(t){var n,r=this._state;return t?n=r.getAll(t)||{}:(n={},e.each(r.data,function(e,t){n[t]=r.getAll(t)})),n}},e.AttributeExtras=o},"3.9.1",{requires:["oop"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-extras/attribute-extras.js b/lib/yuilib/3.9.1/build/attribute-extras/attribute-extras.js similarity index 98% rename from lib/yuilib/3.9.0/build/attribute-extras/attribute-extras.js rename to lib/yuilib/3.9.1/build/attribute-extras/attribute-extras.js index 71888c634ee..daf703a42a5 100644 --- a/lib/yuilib/3.9.0/build/attribute-extras/attribute-extras.js +++ b/lib/yuilib/3.9.1/build/attribute-extras/attribute-extras.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('attribute-extras', function (Y, NAME) { /** @@ -143,4 +143,4 @@ YUI.add('attribute-extras', function (Y, NAME) { Y.AttributeExtras = AttributeExtras; -}, '3.9.0', {"requires": ["oop"]}); +}, '3.9.1', {"requires": ["oop"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-observable/attribute-observable-coverage.js b/lib/yuilib/3.9.1/build/attribute-observable/attribute-observable-coverage.js similarity index 99% rename from lib/yuilib/3.9.0/build/attribute-observable/attribute-observable-coverage.js rename to lib/yuilib/3.9.1/build/attribute-observable/attribute-observable-coverage.js index 9301bea0461..e97f7d95a30 100644 --- a/lib/yuilib/3.9.0/build/attribute-observable/attribute-observable-coverage.js +++ b/lib/yuilib/3.9.1/build/attribute-observable/attribute-observable-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/attribute-observable/attribute-observable.js"] = { path: "build/attribute-observable/attribute-observable.js", code: [] }; -_yuitest_coverage["build/attribute-observable/attribute-observable.js"].code=["YUI.add('attribute-observable', function (Y, NAME) {",""," /**"," * The attribute module provides an augmentable Attribute implementation, which"," * adds configurable attributes and attribute change events to the class being"," * augmented. It also provides a State class, which is used internally by Attribute,"," * but can also be used independently to provide a name/property/value data structure to"," * store state."," *"," * @module attribute"," */",""," /**"," * The `attribute-observable` submodule provides augmentable attribute change event support"," * for AttributeCore based implementations."," *"," * @module attribute"," * @submodule attribute-observable"," */"," var EventTarget = Y.EventTarget,",""," CHANGE = \"Change\","," BROADCAST = \"broadcast\","," PUBLISHED = \"published\";",""," /**"," * Provides an augmentable implementation of attribute change events for"," * AttributeCore."," *"," * @class AttributeObservable"," * @extensionfor AttributeCore"," * @uses EventTarget"," */"," function AttributeObservable() {"," // Perf tweak - avoid creating event literals if not required."," this._ATTR_E_FACADE = {};",""," EventTarget.call(this, {emitFacade:true});"," }",""," AttributeObservable._ATTR_CFG = [BROADCAST];",""," AttributeObservable.prototype = {",""," /**"," * Sets the value of an attribute."," *"," * @method set"," * @chainable"," *"," * @param {String} name The name of the attribute. If the"," * current value of the attribute is an Object, dot notation can be used"," * to set the value of a property within the object (e.g. set(\"x.y.z\", 5))."," *"," * @param {Any} value The value to set the attribute to."," *"," * @param {Object} opts (Optional) Optional event data to be mixed into"," * the event facade passed to subscribers of the attribute's change event. This"," * can be used as a flexible way to identify the source of a call to set, allowing"," * the developer to distinguish between set called internally by the host, vs."," * set called externally by the application developer."," *"," * @return {Object} A reference to the host object."," */"," set : function(name, val, opts) {"," return this._setAttr(name, val, opts);"," },",""," /**"," * Allows setting of readOnly/writeOnce attributes. See set for argument details."," *"," * @method _set"," * @protected"," * @chainable"," *"," * @param {String} name The name of the attribute."," * @param {Any} val The value to set the attribute to."," * @param {Object} opts (Optional) Optional event data to be mixed into"," * the event facade passed to subscribers of the attribute's change event."," * @return {Object} A reference to the host object."," */"," _set : function(name, val, opts) {"," return this._setAttr(name, val, opts, true);"," },",""," /**"," * Sets multiple attribute values."," *"," * @method setAttrs"," * @param {Object} attrs An object with attributes name/value pairs."," * @param {Object} opts Properties to mix into the event payload. These are shared and mixed into each set"," * @return {Object} A reference to the host object."," * @chainable"," */"," setAttrs : function(attrs, opts) {"," return this._setAttrs(attrs, opts);"," },",""," /**"," * Implementation behind the public setAttrs method, to set multiple attribute values."," *"," * @method _setAttrs"," * @protected"," * @param {Object} attrs An object with attributes name/value pairs."," * @param {Object} opts Properties to mix into the event payload. These are shared and mixed into each set"," * @return {Object} A reference to the host object."," * @chainable"," */"," _setAttrs : function(attrs, opts) {"," var attr;"," for (attr in attrs) {"," if ( attrs.hasOwnProperty(attr) ) {"," this.set(attr, attrs[attr], opts);"," }"," }"," return this;"," },",""," /**"," * Utility method to help setup the event payload and fire the attribute change event."," *"," * @method _fireAttrChange"," * @private"," * @param {String} attrName The name of the attribute"," * @param {String} subAttrName The full path of the property being changed,"," * if this is a sub-attribute value being change. Otherwise null."," * @param {Any} currVal The current value of the attribute"," * @param {Any} newVal The new value of the attribute"," * @param {Object} opts Any additional event data to mix into the attribute change event's event facade."," */"," _fireAttrChange : function(attrName, subAttrName, currVal, newVal, opts) {"," var host = this,"," eventName = attrName + CHANGE,"," state = host._state,"," facade,"," broadcast,"," evtCfg;",""," if (!state.get(attrName, PUBLISHED)) {",""," evtCfg = {"," queuable:false,"," defaultTargetOnly: true,"," defaultFn:host._defAttrChangeFn,"," silent:true"," };",""," broadcast = state.get(attrName, BROADCAST);"," if (broadcast !== undefined) {"," evtCfg.broadcast = broadcast;"," }",""," host.publish(eventName, evtCfg);",""," state.add(attrName, PUBLISHED, true);"," }",""," facade = (opts) ? Y.merge(opts) : host._ATTR_E_FACADE;",""," // Not using the single object signature for fire({type:..., newVal:...}), since"," // we don't want to override type. Changed to the fire(type, {newVal:...}) signature.",""," // facade.type = eventName;"," facade.attrName = attrName;"," facade.subAttrName = subAttrName;"," facade.prevVal = currVal;"," facade.newVal = newVal;",""," // host.fire(facade);"," host.fire(eventName, facade);"," },",""," /**"," * Default function for attribute change events."," *"," * @private"," * @method _defAttrChangeFn"," * @param {EventFacade} e The event object for attribute change events."," */"," _defAttrChangeFn : function(e) {"," if (!this._setAttrVal(e.attrName, e.subAttrName, e.prevVal, e.newVal, e.opts)) {"," /*jshint maxlen:200*/"," /*jshint maxlen:150*/"," // Prevent \"after\" listeners from being invoked since nothing changed."," e.stopImmediatePropagation();"," } else {"," e.newVal = this.get(e.attrName);"," }"," }"," };",""," // Basic prototype augment - no lazy constructor invocation."," Y.mix(AttributeObservable, EventTarget, false, null, 1);",""," Y.AttributeObservable = AttributeObservable;",""," /**"," The `AttributeEvents` class extension was deprecated in YUI 3.8.0 and is now"," an alias for the `AttributeObservable` class extension. Use that class"," extnesion instead. This alias will be removed in a future version of YUI.",""," @class AttributeEvents"," @uses EventTarget"," @deprecated Use `AttributeObservable` instead."," @see AttributeObservable"," **/"," Y.AttributeEvents = AttributeObservable;","","","}, '3.9.0', {\"requires\": [\"event-custom\"]});"]; +_yuitest_coverage["build/attribute-observable/attribute-observable.js"].code=["YUI.add('attribute-observable', function (Y, NAME) {",""," /**"," * The attribute module provides an augmentable Attribute implementation, which"," * adds configurable attributes and attribute change events to the class being"," * augmented. It also provides a State class, which is used internally by Attribute,"," * but can also be used independently to provide a name/property/value data structure to"," * store state."," *"," * @module attribute"," */",""," /**"," * The `attribute-observable` submodule provides augmentable attribute change event support"," * for AttributeCore based implementations."," *"," * @module attribute"," * @submodule attribute-observable"," */"," var EventTarget = Y.EventTarget,",""," CHANGE = \"Change\","," BROADCAST = \"broadcast\","," PUBLISHED = \"published\";",""," /**"," * Provides an augmentable implementation of attribute change events for"," * AttributeCore."," *"," * @class AttributeObservable"," * @extensionfor AttributeCore"," * @uses EventTarget"," */"," function AttributeObservable() {"," // Perf tweak - avoid creating event literals if not required."," this._ATTR_E_FACADE = {};",""," EventTarget.call(this, {emitFacade:true});"," }",""," AttributeObservable._ATTR_CFG = [BROADCAST];",""," AttributeObservable.prototype = {",""," /**"," * Sets the value of an attribute."," *"," * @method set"," * @chainable"," *"," * @param {String} name The name of the attribute. If the"," * current value of the attribute is an Object, dot notation can be used"," * to set the value of a property within the object (e.g. set(\"x.y.z\", 5))."," *"," * @param {Any} value The value to set the attribute to."," *"," * @param {Object} opts (Optional) Optional event data to be mixed into"," * the event facade passed to subscribers of the attribute's change event. This"," * can be used as a flexible way to identify the source of a call to set, allowing"," * the developer to distinguish between set called internally by the host, vs."," * set called externally by the application developer."," *"," * @return {Object} A reference to the host object."," */"," set : function(name, val, opts) {"," return this._setAttr(name, val, opts);"," },",""," /**"," * Allows setting of readOnly/writeOnce attributes. See set for argument details."," *"," * @method _set"," * @protected"," * @chainable"," *"," * @param {String} name The name of the attribute."," * @param {Any} val The value to set the attribute to."," * @param {Object} opts (Optional) Optional event data to be mixed into"," * the event facade passed to subscribers of the attribute's change event."," * @return {Object} A reference to the host object."," */"," _set : function(name, val, opts) {"," return this._setAttr(name, val, opts, true);"," },",""," /**"," * Sets multiple attribute values."," *"," * @method setAttrs"," * @param {Object} attrs An object with attributes name/value pairs."," * @param {Object} opts Properties to mix into the event payload. These are shared and mixed into each set"," * @return {Object} A reference to the host object."," * @chainable"," */"," setAttrs : function(attrs, opts) {"," return this._setAttrs(attrs, opts);"," },",""," /**"," * Implementation behind the public setAttrs method, to set multiple attribute values."," *"," * @method _setAttrs"," * @protected"," * @param {Object} attrs An object with attributes name/value pairs."," * @param {Object} opts Properties to mix into the event payload. These are shared and mixed into each set"," * @return {Object} A reference to the host object."," * @chainable"," */"," _setAttrs : function(attrs, opts) {"," var attr;"," for (attr in attrs) {"," if ( attrs.hasOwnProperty(attr) ) {"," this.set(attr, attrs[attr], opts);"," }"," }"," return this;"," },",""," /**"," * Utility method to help setup the event payload and fire the attribute change event."," *"," * @method _fireAttrChange"," * @private"," * @param {String} attrName The name of the attribute"," * @param {String} subAttrName The full path of the property being changed,"," * if this is a sub-attribute value being change. Otherwise null."," * @param {Any} currVal The current value of the attribute"," * @param {Any} newVal The new value of the attribute"," * @param {Object} opts Any additional event data to mix into the attribute change event's event facade."," */"," _fireAttrChange : function(attrName, subAttrName, currVal, newVal, opts) {"," var host = this,"," eventName = attrName + CHANGE,"," state = host._state,"," facade,"," broadcast,"," evtCfg;",""," if (!state.get(attrName, PUBLISHED)) {",""," evtCfg = {"," queuable:false,"," defaultTargetOnly: true,"," defaultFn:host._defAttrChangeFn,"," silent:true"," };",""," broadcast = state.get(attrName, BROADCAST);"," if (broadcast !== undefined) {"," evtCfg.broadcast = broadcast;"," }",""," host.publish(eventName, evtCfg);",""," state.add(attrName, PUBLISHED, true);"," }",""," facade = (opts) ? Y.merge(opts) : host._ATTR_E_FACADE;",""," // Not using the single object signature for fire({type:..., newVal:...}), since"," // we don't want to override type. Changed to the fire(type, {newVal:...}) signature.",""," // facade.type = eventName;"," facade.attrName = attrName;"," facade.subAttrName = subAttrName;"," facade.prevVal = currVal;"," facade.newVal = newVal;",""," // host.fire(facade);"," host.fire(eventName, facade);"," },",""," /**"," * Default function for attribute change events."," *"," * @private"," * @method _defAttrChangeFn"," * @param {EventFacade} e The event object for attribute change events."," */"," _defAttrChangeFn : function(e) {"," if (!this._setAttrVal(e.attrName, e.subAttrName, e.prevVal, e.newVal, e.opts)) {"," /*jshint maxlen:200*/"," /*jshint maxlen:150*/"," // Prevent \"after\" listeners from being invoked since nothing changed."," e.stopImmediatePropagation();"," } else {"," e.newVal = this.get(e.attrName);"," }"," }"," };",""," // Basic prototype augment - no lazy constructor invocation."," Y.mix(AttributeObservable, EventTarget, false, null, 1);",""," Y.AttributeObservable = AttributeObservable;",""," /**"," The `AttributeEvents` class extension was deprecated in YUI 3.8.0 and is now"," an alias for the `AttributeObservable` class extension. Use that class"," extnesion instead. This alias will be removed in a future version of YUI.",""," @class AttributeEvents"," @uses EventTarget"," @deprecated Use `AttributeObservable` instead."," @see AttributeObservable"," **/"," Y.AttributeEvents = AttributeObservable;","","","}, '3.9.1', {\"requires\": [\"event-custom\"]});"]; _yuitest_coverage["build/attribute-observable/attribute-observable.js"].lines = {"1":0,"20":0,"34":0,"36":0,"38":0,"41":0,"43":0,"66":0,"83":0,"96":0,"110":0,"111":0,"112":0,"113":0,"116":0,"132":0,"139":0,"141":0,"148":0,"149":0,"150":0,"153":0,"155":0,"158":0,"164":0,"165":0,"166":0,"167":0,"170":0,"181":0,"185":0,"187":0,"193":0,"195":0,"207":0}; _yuitest_coverage["build/attribute-observable/attribute-observable.js"].functions = {"AttributeObservable:34":0,"set:65":0,"_set:82":0,"setAttrs:95":0,"_setAttrs:109":0,"_fireAttrChange:131":0,"_defAttrChangeFn:180":0,"(anonymous 1):1":0}; _yuitest_coverage["build/attribute-observable/attribute-observable.js"].coveredLines = 35; @@ -284,4 +284,4 @@ Y.AttributeObservable = AttributeObservable; Y.AttributeEvents = AttributeObservable; -}, '3.9.0', {"requires": ["event-custom"]}); +}, '3.9.1', {"requires": ["event-custom"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-observable/attribute-observable-debug.js b/lib/yuilib/3.9.1/build/attribute-observable/attribute-observable-debug.js similarity index 98% rename from lib/yuilib/3.9.0/build/attribute-observable/attribute-observable-debug.js rename to lib/yuilib/3.9.1/build/attribute-observable/attribute-observable-debug.js index 3d4d9e77cbb..bda323aa0ae 100644 --- a/lib/yuilib/3.9.0/build/attribute-observable/attribute-observable-debug.js +++ b/lib/yuilib/3.9.1/build/attribute-observable/attribute-observable-debug.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('attribute-observable', function (Y, NAME) { /** @@ -209,4 +209,4 @@ YUI.add('attribute-observable', function (Y, NAME) { Y.AttributeEvents = AttributeObservable; -}, '3.9.0', {"requires": ["event-custom"]}); +}, '3.9.1', {"requires": ["event-custom"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-observable/attribute-observable-min.js b/lib/yuilib/3.9.1/build/attribute-observable/attribute-observable-min.js similarity index 88% rename from lib/yuilib/3.9.0/build/attribute-observable/attribute-observable-min.js rename to lib/yuilib/3.9.1/build/attribute-observable/attribute-observable-min.js index b989d6ddad4..719d7eaa8e9 100644 --- a/lib/yuilib/3.9.0/build/attribute-observable/attribute-observable-min.js +++ b/lib/yuilib/3.9.1/build/attribute-observable/attribute-observable-min.js @@ -1,2 +1,2 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ -YUI.add("attribute-observable",function(e,t){function o(){this._ATTR_E_FACADE={},n.call(this,{emitFacade:!0})}var n=e.EventTarget,r="Change",i="broadcast",s="published";o._ATTR_CFG=[i],o.prototype={set:function(e,t,n){return this._setAttr(e,t,n)},_set:function(e,t,n){return this._setAttr(e,t,n,!0)},setAttrs:function(e,t){return this._setAttrs(e,t)},_setAttrs:function(e,t){var n;for(n in e)e.hasOwnProperty(n)&&this.set(n,e[n],t);return this},_fireAttrChange:function(t,n,o,u,a){var f=this,l=t+r,c=f._state,h,p,d;c.get(t,s)||(d={queuable:!1,defaultTargetOnly:!0,defaultFn:f._defAttrChangeFn,silent:!0},p=c.get(t,i),p!==undefined&&(d.broadcast=p),f.publish(l,d),c.add(t,s,!0)),h=a?e.merge(a):f._ATTR_E_FACADE,h.attrName=t,h.subAttrName=n,h.prevVal=o,h.newVal=u,f.fire(l,h)},_defAttrChangeFn:function(e){this._setAttrVal(e.attrName,e.subAttrName,e.prevVal,e.newVal,e.opts)?e.newVal=this.get(e.attrName):e.stopImmediatePropagation()}},e.mix(o,n,!1,null,1),e.AttributeObservable=o,e.AttributeEvents=o},"3.9.0",{requires:["event-custom"]}); +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +YUI.add("attribute-observable",function(e,t){function o(){this._ATTR_E_FACADE={},n.call(this,{emitFacade:!0})}var n=e.EventTarget,r="Change",i="broadcast",s="published";o._ATTR_CFG=[i],o.prototype={set:function(e,t,n){return this._setAttr(e,t,n)},_set:function(e,t,n){return this._setAttr(e,t,n,!0)},setAttrs:function(e,t){return this._setAttrs(e,t)},_setAttrs:function(e,t){var n;for(n in e)e.hasOwnProperty(n)&&this.set(n,e[n],t);return this},_fireAttrChange:function(t,n,o,u,a){var f=this,l=t+r,c=f._state,h,p,d;c.get(t,s)||(d={queuable:!1,defaultTargetOnly:!0,defaultFn:f._defAttrChangeFn,silent:!0},p=c.get(t,i),p!==undefined&&(d.broadcast=p),f.publish(l,d),c.add(t,s,!0)),h=a?e.merge(a):f._ATTR_E_FACADE,h.attrName=t,h.subAttrName=n,h.prevVal=o,h.newVal=u,f.fire(l,h)},_defAttrChangeFn:function(e){this._setAttrVal(e.attrName,e.subAttrName,e.prevVal,e.newVal,e.opts)?e.newVal=this.get(e.attrName):e.stopImmediatePropagation()}},e.mix(o,n,!1,null,1),e.AttributeObservable=o,e.AttributeEvents=o},"3.9.1",{requires:["event-custom"]}); diff --git a/lib/yuilib/3.9.0/build/attribute-observable/attribute-observable.js b/lib/yuilib/3.9.1/build/attribute-observable/attribute-observable.js similarity index 98% rename from lib/yuilib/3.9.0/build/attribute-observable/attribute-observable.js rename to lib/yuilib/3.9.1/build/attribute-observable/attribute-observable.js index 63e5d740fe4..d73e04d155d 100644 --- a/lib/yuilib/3.9.0/build/attribute-observable/attribute-observable.js +++ b/lib/yuilib/3.9.1/build/attribute-observable/attribute-observable.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ YUI.add('attribute-observable', function (Y, NAME) { /** @@ -208,4 +208,4 @@ YUI.add('attribute-observable', function (Y, NAME) { Y.AttributeEvents = AttributeObservable; -}, '3.9.0', {"requires": ["event-custom"]}); +}, '3.9.1', {"requires": ["event-custom"]}); diff --git a/lib/yuilib/3.9.0/build/autocomplete-base/autocomplete-base-coverage.js b/lib/yuilib/3.9.1/build/autocomplete-base/autocomplete-base-coverage.js similarity index 99% rename from lib/yuilib/3.9.0/build/autocomplete-base/autocomplete-base-coverage.js rename to lib/yuilib/3.9.1/build/autocomplete-base/autocomplete-base-coverage.js index e4118485a75..18e76bdf757 100644 --- a/lib/yuilib/3.9.0/build/autocomplete-base/autocomplete-base-coverage.js +++ b/lib/yuilib/3.9.1/build/autocomplete-base/autocomplete-base-coverage.js @@ -1,4 +1,4 @@ -/* YUI 3.9.0 (build 5827) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ if (typeof _yuitest_coverage == "undefined"){ _yuitest_coverage = {}; _yuitest_coverline = function(src, line){ @@ -27,7 +27,7 @@ _yuitest_coverage["build/autocomplete-base/autocomplete-base.js"] = { path: "build/autocomplete-base/autocomplete-base.js", code: [] }; -_yuitest_coverage["build/autocomplete-base/autocomplete-base.js"].code=["YUI.add('autocomplete-base', function (Y, NAME) {","","/**","Provides automatic input completion or suggestions for text input fields and","textareas.","","@module autocomplete","@main autocomplete","@since 3.3.0","**/","","/**","`Y.Base` extension that provides core autocomplete logic (but no UI","implementation) for a text input field or textarea. Must be mixed into a","`Y.Base`-derived class to be useful.","","@module autocomplete","@submodule autocomplete-base","**/","","/**","Extension that provides core autocomplete logic (but no UI implementation) for a","text input field or textarea.","","The `AutoCompleteBase` class provides events and attributes that abstract away","core autocomplete logic and configuration, but does not provide a widget","implementation or suggestion UI. For a prepackaged autocomplete widget, see","`AutoCompleteList`.","","This extension cannot be instantiated directly, since it doesn't provide an","actual implementation. It's intended to be mixed into a `Y.Base`-based class or","widget.","","`Y.Widget`-based example:",""," YUI().use('autocomplete-base', 'widget', function (Y) {"," var MyAC = Y.Base.create('myAC', Y.Widget, [Y.AutoCompleteBase], {"," // Custom prototype methods and properties."," }, {"," // Custom static methods and properties."," });",""," // Custom implementation code."," });","","`Y.Base`-based example:",""," YUI().use('autocomplete-base', function (Y) {"," var MyAC = Y.Base.create('myAC', Y.Base, [Y.AutoCompleteBase], {"," initializer: function () {"," this._bindUIACBase();"," this._syncUIACBase();"," },",""," // Custom prototype methods and properties."," }, {"," // Custom static methods and properties."," });",""," // Custom implementation code."," });","","@class AutoCompleteBase","**/","","var Escape = Y.Escape,"," Lang = Y.Lang,"," YArray = Y.Array,"," YObject = Y.Object,",""," isFunction = Lang.isFunction,"," isString = Lang.isString,"," trim = Lang.trim,",""," INVALID_VALUE = Y.Attribute.INVALID_VALUE,",""," _FUNCTION_VALIDATOR = '_functionValidator',"," _SOURCE_SUCCESS = '_sourceSuccess',",""," ALLOW_BROWSER_AC = 'allowBrowserAutocomplete',"," INPUT_NODE = 'inputNode',"," QUERY = 'query',"," QUERY_DELIMITER = 'queryDelimiter',"," REQUEST_TEMPLATE = 'requestTemplate',"," RESULTS = 'results',"," RESULT_LIST_LOCATOR = 'resultListLocator',"," VALUE = 'value',"," VALUE_CHANGE = 'valueChange',",""," EVT_CLEAR = 'clear',"," EVT_QUERY = QUERY,"," EVT_RESULTS = RESULTS;","","function AutoCompleteBase() {}","","AutoCompleteBase.prototype = {"," // -- Lifecycle Methods ----------------------------------------------------"," initializer: function () {"," // AOP bindings."," Y.before(this._bindUIACBase, this, 'bindUI');"," Y.before(this._syncUIACBase, this, 'syncUI');",""," // -- Public Events ----------------------------------------------------",""," /**"," Fires after the query has been completely cleared or no longer meets the"," minimum query length requirement.",""," @event clear"," @param {String} prevVal Value of the query before it was cleared."," @param {String} src Source of the event."," @preventable _defClearFn"," **/"," this.publish(EVT_CLEAR, {"," defaultFn: this._defClearFn"," });",""," /**"," Fires when the contents of the input field have changed and the input"," value meets the criteria necessary to generate an autocomplete query.",""," @event query"," @param {String} inputValue Full contents of the text input field or"," textarea that generated the query."," @param {String} query AutoComplete query. This is the string that will"," be used to request completion results. It may or may not be the same"," as `inputValue`."," @param {String} src Source of the event."," @preventable _defQueryFn"," **/"," this.publish(EVT_QUERY, {"," defaultFn: this._defQueryFn"," });",""," /**"," Fires after query results are received from the source. If no source has"," been set, this event will not fire.",""," @event results"," @param {Array|Object} data Raw, unfiltered result data (if available)."," @param {String} query Query that generated these results."," @param {Object[]} results Array of filtered, formatted, and highlighted"," results. Each item in the array is an object with the following"," properties:",""," @param {Node|HTMLElement|String} results.display Formatted result"," HTML suitable for display to the user. If no custom formatter is"," set, this will be an HTML-escaped version of the string in the"," `text` property."," @param {String} [results.highlighted] Highlighted (but not"," formatted) result text. This property will only be set if a"," highlighter is in use."," @param {Any} results.raw Raw, unformatted result in whatever form it"," was provided by the source."," @param {String} results.text Plain text version of the result,"," suitable for being inserted into the value of a text input field"," or textarea when the result is selected by a user. This value is"," not HTML-escaped and should not be inserted into the page using"," `innerHTML` or `Node#setContent()`.",""," @preventable _defResultsFn"," **/"," this.publish(EVT_RESULTS, {"," defaultFn: this._defResultsFn"," });"," },",""," destructor: function () {"," this._acBaseEvents && this._acBaseEvents.detach();",""," delete this._acBaseEvents;"," delete this._cache;"," delete this._inputNode;"," delete this._rawSource;"," },",""," // -- Public Prototype Methods ---------------------------------------------",""," /**"," Clears the result cache.",""," @method clearCache"," @chainable"," @since 3.5.0"," **/"," clearCache: function () {"," this._cache && (this._cache = {});"," return this;"," },",""," /**"," Sends a request to the configured source. If no source is configured, this"," method won't do anything.",""," Usually there's no reason to call this method manually; it will be called"," automatically when user input causes a `query` event to be fired. The only"," time you'll need to call this method manually is if you want to force a"," request to be sent when no user input has occurred.",""," @method sendRequest"," @param {String} [query] Query to send. If specified, the `query` attribute"," will be set to this query. If not specified, the current value of the"," `query` attribute will be used."," @param {Function} [requestTemplate] Request template function. If not"," specified, the current value of the `requestTemplate` attribute will be"," used."," @chainable"," **/"," sendRequest: function (query, requestTemplate) {"," var request,"," source = this.get('source');",""," if (query || query === '') {"," this._set(QUERY, query);"," } else {"," query = this.get(QUERY) || '';"," }",""," if (source) {"," if (!requestTemplate) {"," requestTemplate = this.get(REQUEST_TEMPLATE);"," }",""," request = requestTemplate ?"," requestTemplate.call(this, query) : query;","",""," source.sendRequest({"," query : query,"," request: request,",""," callback: {"," success: Y.bind(this._onResponse, this, query)"," }"," });"," }",""," return this;"," },",""," // -- Protected Lifecycle Methods ------------------------------------------",""," /**"," Attaches event listeners and behaviors.",""," @method _bindUIACBase"," @protected"," **/"," _bindUIACBase: function () {"," var inputNode = this.get(INPUT_NODE),"," tokenInput = inputNode && inputNode.tokenInput;",""," // If the inputNode has a node-tokeninput plugin attached, bind to the"," // plugin's inputNode instead."," if (tokenInput) {"," inputNode = tokenInput.get(INPUT_NODE);"," this._set('tokenInput', tokenInput);"," }",""," if (!inputNode) {"," Y.error('No inputNode specified.');"," return;"," }",""," this._inputNode = inputNode;",""," this._acBaseEvents = new Y.EventHandle(["," // This is the valueChange event on the inputNode, provided by the"," // event-valuechange module, not our own valueChange."," inputNode.on(VALUE_CHANGE, this._onInputValueChange, this),"," inputNode.on('blur', this._onInputBlur, this),",""," this.after(ALLOW_BROWSER_AC + 'Change', this._syncBrowserAutocomplete),"," this.after('sourceTypeChange', this._afterSourceTypeChange),"," this.after(VALUE_CHANGE, this._afterValueChange)"," ]);"," },",""," /**"," Synchronizes the UI state of the `inputNode`.",""," @method _syncUIACBase"," @protected"," **/"," _syncUIACBase: function () {"," this._syncBrowserAutocomplete();"," this.set(VALUE, this.get(INPUT_NODE).get(VALUE));"," },",""," // -- Protected Prototype Methods ------------------------------------------",""," /**"," Creates a DataSource-like object that simply returns the specified array as"," a response. See the `source` attribute for more details.",""," @method _createArraySource"," @param {Array} source"," @return {Object} DataSource-like object."," @protected"," **/"," _createArraySource: function (source) {"," var that = this;",""," return {"," type: 'array',"," sendRequest: function (request) {"," that[_SOURCE_SUCCESS](source.concat(), request);"," }"," };"," },",""," /**"," Creates a DataSource-like object that passes the query to a custom-defined"," function, which is expected to call the provided callback with an array of"," results. See the `source` attribute for more details.",""," @method _createFunctionSource"," @param {Function} source Function that accepts a query and a callback as"," parameters, and calls the callback with an array of results."," @return {Object} DataSource-like object."," @protected"," **/"," _createFunctionSource: function (source) {"," var that = this;",""," return {"," type: 'function',"," sendRequest: function (request) {"," var value;",""," function afterResults(results) {"," that[_SOURCE_SUCCESS](results || [], request);"," }",""," // Allow both synchronous and asynchronous functions. If we get"," // a truthy return value, assume the function is synchronous."," if ((value = source(request.query, afterResults))) {"," afterResults(value);"," }"," }"," };"," },",""," /**"," Creates a DataSource-like object that looks up queries as properties on the"," specified object, and returns the found value (if any) as a response. See"," the `source` attribute for more details.",""," @method _createObjectSource"," @param {Object} source"," @return {Object} DataSource-like object."," @protected"," **/"," _createObjectSource: function (source) {"," var that = this;",""," return {"," type: 'object',"," sendRequest: function (request) {"," var query = request.query;",""," that[_SOURCE_SUCCESS]("," YObject.owns(source, query) ? source[query] : [],"," request"," );"," }"," };"," },",""," /**"," Returns `true` if _value_ is either a function or `null`.",""," @method _functionValidator"," @param {Function|null} value Value to validate."," @protected"," **/"," _functionValidator: function (value) {"," return value === null || isFunction(value);"," },",""," /**"," Faster and safer alternative to `Y.Object.getValue()`. Doesn't bother"," casting the path to an array (since we already know it's an array) and"," doesn't throw an error if a value in the middle of the object hierarchy is"," neither `undefined` nor an object.",""," @method _getObjectValue"," @param {Object} obj"," @param {Array} path"," @return {Any} Located value, or `undefined` if the value was"," not found at the specified path."," @protected"," **/"," _getObjectValue: function (obj, path) {"," if (!obj) {"," return;"," }",""," for (var i = 0, len = path.length; obj && i < len; i++) {"," obj = obj[path[i]];"," }",""," return obj;"," },",""," /**"," Parses result responses, performs filtering and highlighting, and fires the"," `results` event.",""," @method _parseResponse"," @param {String} query Query that generated these results."," @param {Object} response Response containing results."," @param {Object} data Raw response data."," @protected"," **/"," _parseResponse: function (query, response, data) {"," var facade = {"," data : data,"," query : query,"," results: []"," },",""," listLocator = this.get(RESULT_LIST_LOCATOR),"," results = [],"," unfiltered = response && response.results,",""," filters,"," formatted,"," formatter,"," highlighted,"," highlighter,"," i,"," len,"," maxResults,"," result,"," text,"," textLocator;",""," if (unfiltered && listLocator) {"," unfiltered = listLocator.call(this, unfiltered);"," }",""," if (unfiltered && unfiltered.length) {"," filters = this.get('resultFilters');"," textLocator = this.get('resultTextLocator');",""," // Create a lightweight result object for each result to make them"," // easier to work with. The various properties on the object"," // represent different formats of the result, and will be populated"," // as we go."," for (i = 0, len = unfiltered.length; i < len; ++i) {"," result = unfiltered[i];",""," text = textLocator ?"," textLocator.call(this, result) :"," result.toString();",""," results.push({"," display: Escape.html(text),"," raw : result,"," text : text"," });"," }",""," // Run the results through all configured result filters. Each"," // filter returns an array of (potentially fewer) result objects,"," // which is then passed to the next filter, and so on."," for (i = 0, len = filters.length; i < len; ++i) {"," results = filters[i].call(this, query, results.concat());",""," if (!results) {"," return;"," }",""," if (!results.length) {"," break;"," }"," }",""," if (results.length) {"," formatter = this.get('resultFormatter');"," highlighter = this.get('resultHighlighter');"," maxResults = this.get('maxResults');",""," // If maxResults is set and greater than 0, limit the number of"," // results."," if (maxResults && maxResults > 0 &&"," results.length > maxResults) {"," results.length = maxResults;"," }",""," // Run the results through the configured highlighter (if any)."," // The highlighter returns an array of highlighted strings (not"," // an array of result objects), and these strings are then added"," // to each result object."," if (highlighter) {"," highlighted = highlighter.call(this, query,"," results.concat());",""," if (!highlighted) {"," return;"," }",""," for (i = 0, len = highlighted.length; i < len; ++i) {"," result = results[i];"," result.highlighted = highlighted[i];"," result.display = result.highlighted;"," }"," }",""," // Run the results through the configured formatter (if any) to"," // produce the final formatted results. The formatter returns an"," // array of strings or Node instances (not an array of result"," // objects), and these strings/Nodes are then added to each"," // result object."," if (formatter) {"," formatted = formatter.call(this, query, results.concat());",""," if (!formatted) {"," return;"," }",""," for (i = 0, len = formatted.length; i < len; ++i) {"," results[i].display = formatted[i];"," }"," }"," }"," }",""," facade.results = results;"," this.fire(EVT_RESULTS, facade);"," },",""," /**"," Returns the query portion of the specified input value, or `null` if there"," is no suitable query within the input value.",""," If a query delimiter is defined, the query will be the last delimited part"," of of the string.",""," @method _parseValue"," @param {String} value Input value from which to extract the query."," @return {String|null} query"," @protected"," **/"," _parseValue: function (value) {"," var delim = this.get(QUERY_DELIMITER);",""," if (delim) {"," value = value.split(delim);"," value = value[value.length - 1];"," }",""," return Lang.trimLeft(value);"," },",""," /**"," Setter for the `enableCache` attribute.",""," @method _setEnableCache"," @param {Boolean} value"," @protected"," @since 3.5.0"," **/"," _setEnableCache: function (value) {"," // When `this._cache` is an object, result sources will store cached"," // results in it. When it's falsy, they won't. This way result sources"," // don't need to get the value of the `enableCache` attribute on every"," // request, which would be sloooow."," this._cache = value ? {} : null;"," },",""," /**"," Setter for locator attributes.",""," @method _setLocator"," @param {Function|String|null} locator"," @return {Function|null}"," @protected"," **/"," _setLocator: function (locator) {"," if (this[_FUNCTION_VALIDATOR](locator)) {"," return locator;"," }",""," var that = this;",""," locator = locator.toString().split('.');",""," return function (result) {"," return result && that._getObjectValue(result, locator);"," };"," },",""," /**"," Setter for the `requestTemplate` attribute.",""," @method _setRequestTemplate"," @param {Function|String|null} template"," @return {Function|null}"," @protected"," **/"," _setRequestTemplate: function (template) {"," if (this[_FUNCTION_VALIDATOR](template)) {"," return template;"," }",""," template = template.toString();",""," return function (query) {"," return Lang.sub(template, {query: encodeURIComponent(query)});"," };"," },",""," /**"," Setter for the `resultFilters` attribute.",""," @method _setResultFilters"," @param {Array|Function|String|null} filters `null`, a filter"," function, an array of filter functions, or a string or array of strings"," representing the names of methods on `Y.AutoCompleteFilters`."," @return {Function[]} Array of filter functions (empty if filters is"," `null`)."," @protected"," **/"," _setResultFilters: function (filters) {"," var acFilters, getFilterFunction;",""," if (filters === null) {"," return [];"," }",""," acFilters = Y.AutoCompleteFilters;",""," getFilterFunction = function (filter) {"," if (isFunction(filter)) {"," return filter;"," }",""," if (isString(filter) && acFilters &&"," isFunction(acFilters[filter])) {"," return acFilters[filter];"," }",""," return false;"," };",""," if (Lang.isArray(filters)) {"," filters = YArray.map(filters, getFilterFunction);"," return YArray.every(filters, function (f) { return !!f; }) ?"," filters : INVALID_VALUE;"," } else {"," filters = getFilterFunction(filters);"," return filters ? [filters] : INVALID_VALUE;"," }"," },",""," /**"," Setter for the `resultHighlighter` attribute.",""," @method _setResultHighlighter"," @param {Function|String|null} highlighter `null`, a highlighter function, or"," a string representing the name of a method on"," `Y.AutoCompleteHighlighters`."," @return {Function|null}"," @protected"," **/"," _setResultHighlighter: function (highlighter) {"," var acHighlighters;",""," if (this[_FUNCTION_VALIDATOR](highlighter)) {"," return highlighter;"," }",""," acHighlighters = Y.AutoCompleteHighlighters;",""," if (isString(highlighter) && acHighlighters &&"," isFunction(acHighlighters[highlighter])) {"," return acHighlighters[highlighter];"," }",""," return INVALID_VALUE;"," },",""," /**"," Setter for the `source` attribute. Returns a DataSource or a DataSource-like"," object depending on the type of _source_ and/or the value of the"," `sourceType` attribute.",""," @method _setSource"," @param {Any} source AutoComplete source. See the `source` attribute for"," details."," @return {DataSource|Object}"," @protected"," **/"," _setSource: function (source) {"," var sourceType = this.get('sourceType') || Lang.type(source),"," sourceSetter;",""," if ((source && isFunction(source.sendRequest))"," || source === null"," || sourceType === 'datasource') {",""," // Quacks like a DataSource instance (or null). Make it so!"," this._rawSource = source;"," return source;"," }",""," // See if there's a registered setter for this source type."," if ((sourceSetter = AutoCompleteBase.SOURCE_TYPES[sourceType])) {"," this._rawSource = source;"," return Lang.isString(sourceSetter) ?"," this[sourceSetter](source) : sourceSetter(source);"," }",""," Y.error(\"Unsupported source type '\" + sourceType + \"'. Maybe autocomplete-sources isn't loaded?\");"," return INVALID_VALUE;"," },",""," /**"," Shared success callback for non-DataSource sources.",""," @method _sourceSuccess"," @param {Any} data Response data."," @param {Object} request Request object."," @protected"," **/"," _sourceSuccess: function (data, request) {"," request.callback.success({"," data: data,"," response: {results: data}"," });"," },",""," /**"," Synchronizes the UI state of the `allowBrowserAutocomplete` attribute.",""," @method _syncBrowserAutocomplete"," @protected"," **/"," _syncBrowserAutocomplete: function () {"," var inputNode = this.get(INPUT_NODE);",""," if (inputNode.get('nodeName').toLowerCase() === 'input') {"," inputNode.setAttribute('autocomplete',"," this.get(ALLOW_BROWSER_AC) ? 'on' : 'off');"," }"," },",""," /**"," Updates the query portion of the `value` attribute.",""," If a query delimiter is defined, the last delimited portion of the input"," value will be replaced with the specified _value_.",""," @method _updateValue"," @param {String} newVal New value."," @protected"," **/"," _updateValue: function (newVal) {"," var delim = this.get(QUERY_DELIMITER),"," insertDelim,"," len,"," prevVal;",""," newVal = Lang.trimLeft(newVal);",""," if (delim) {"," insertDelim = trim(delim); // so we don't double up on spaces"," prevVal = YArray.map(trim(this.get(VALUE)).split(delim), trim);"," len = prevVal.length;",""," if (len > 1) {"," prevVal[len - 1] = newVal;"," newVal = prevVal.join(insertDelim + ' ');"," }",""," newVal = newVal + insertDelim + ' ';"," }",""," this.set(VALUE, newVal);"," },",""," // -- Protected Event Handlers ---------------------------------------------",""," /**"," Updates the current `source` based on the new `sourceType` to ensure that"," the two attributes don't get out of sync when they're changed separately.",""," @method _afterSourceTypeChange"," @param {EventFacade} e"," @protected"," **/"," _afterSourceTypeChange: function (e) {"," if (this._rawSource) {"," this.set('source', this._rawSource);"," }"," },",""," /**"," Handles change events for the `value` attribute.",""," @method _afterValueChange"," @param {EventFacade} e"," @protected"," **/"," _afterValueChange: function (e) {"," var newVal = e.newVal,"," self = this,"," uiChange = e.src === AutoCompleteBase.UI_SRC,"," delay, fire, minQueryLength, query;",""," // Update the UI if the value was changed programmatically."," if (!uiChange) {"," self._inputNode.set(VALUE, newVal);"," }","",""," minQueryLength = self.get('minQueryLength');"," query = self._parseValue(newVal) || '';",""," if (minQueryLength >= 0 && query.length >= minQueryLength) {"," // Only query on changes that originate from the UI."," if (uiChange) {"," delay = self.get('queryDelay');",""," fire = function () {"," self.fire(EVT_QUERY, {"," inputValue: newVal,"," query : query,"," src : e.src"," });"," };",""," if (delay) {"," clearTimeout(self._delay);"," self._delay = setTimeout(fire, delay);"," } else {"," fire();"," }"," } else {"," // For programmatic value changes, just update the query"," // attribute without sending a query."," self._set(QUERY, query);"," }"," } else {"," clearTimeout(self._delay);",""," self.fire(EVT_CLEAR, {"," prevVal: e.prevVal ? self._parseValue(e.prevVal) : null,"," src : e.src"," });"," }"," },",""," /**"," Handles `blur` events on the input node.",""," @method _onInputBlur"," @param {EventFacade} e"," @protected"," **/"," _onInputBlur: function (e) {"," var delim = this.get(QUERY_DELIMITER),"," delimPos,"," newVal,"," value;",""," // If a query delimiter is set and the input's value contains one or"," // more trailing delimiters, strip them."," if (delim && !this.get('allowTrailingDelimiter')) {"," delim = Lang.trimRight(delim);"," value = newVal = this._inputNode.get(VALUE);",""," if (delim) {"," while ((newVal = Lang.trimRight(newVal)) &&"," (delimPos = newVal.length - delim.length) &&"," newVal.lastIndexOf(delim) === delimPos) {",""," newVal = newVal.substring(0, delimPos);"," }"," } else {"," // Delimiter is one or more space characters, so just trim the"," // value."," newVal = Lang.trimRight(newVal);"," }",""," if (newVal !== value) {"," this.set(VALUE, newVal);"," }"," }"," },",""," /**"," Handles `valueChange` events on the input node and fires a `query` event"," when the input value meets the configured criteria.",""," @method _onInputValueChange"," @param {EventFacade} e"," @protected"," **/"," _onInputValueChange: function (e) {"," var newVal = e.newVal;",""," // Don't query if the internal value is the same as the new value"," // reported by valueChange."," if (newVal !== this.get(VALUE)) {"," this.set(VALUE, newVal, {src: AutoCompleteBase.UI_SRC});"," }"," },",""," /**"," Handles source responses and fires the `results` event.",""," @method _onResponse"," @param {EventFacade} e"," @protected"," **/"," _onResponse: function (query, e) {"," // Ignore stale responses that aren't for the current query."," if (query === (this.get(QUERY) || '')) {"," this._parseResponse(query || '', e.response, e.data);"," }"," },",""," // -- Protected Default Event Handlers -------------------------------------",""," /**"," Default `clear` event handler. Sets the `results` attribute to an empty"," array and `query` to null.",""," @method _defClearFn"," @protected"," **/"," _defClearFn: function () {"," this._set(QUERY, null);"," this._set(RESULTS, []);"," },",""," /**"," Default `query` event handler. Sets the `query` attribute and sends a"," request to the source if one is configured.",""," @method _defQueryFn"," @param {EventFacade} e"," @protected"," **/"," _defQueryFn: function (e) {"," this.sendRequest(e.query); // sendRequest will set the 'query' attribute"," },",""," /**"," Default `results` event handler. Sets the `results` attribute to the latest"," results.",""," @method _defResultsFn"," @param {EventFacade} e"," @protected"," **/"," _defResultsFn: function (e) {"," this._set(RESULTS, e[RESULTS]);"," }","};","","AutoCompleteBase.ATTRS = {"," /**"," Whether or not to enable the browser's built-in autocomplete functionality"," for input fields.",""," @attribute allowBrowserAutocomplete"," @type Boolean"," @default false"," **/"," allowBrowserAutocomplete: {"," value: false"," },",""," /**"," When a `queryDelimiter` is set, trailing delimiters will automatically be"," stripped from the input value by default when the input node loses focus."," Set this to `true` to allow trailing delimiters.",""," @attribute allowTrailingDelimiter"," @type Boolean"," @default false"," **/"," allowTrailingDelimiter: {"," value: false"," },",""," /**"," Whether or not to enable in-memory caching in result sources that support"," it.",""," @attribute enableCache"," @type Boolean"," @default true"," @since 3.5.0"," **/"," enableCache: {"," lazyAdd: false, // we need the setter to run on init"," setter: '_setEnableCache',"," value: true"," },",""," /**"," Node to monitor for changes, which will generate `query` events when"," appropriate. May be either an `` or a `