spiderfw 0.5.19 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +7 -0
- data/VERSION +1 -1
- data/apps/core/auth/lib/rbac.rb +7 -2
- data/apps/core/auth/models/mixins/rbac_provider.rb +66 -4
- data/apps/core/components/assets.rb +63 -33
- data/apps/core/components/public/js/jquery/{jquery-1.4.3.js → jquery-1.5.2.js} +2617 -1126
- data/apps/core/components/public/js/jquery/jquery-tools-1.2.5/overlay/overlay.apple.js +155 -0
- data/apps/core/components/public/js/jquery/jquery-tools-1.2.5/overlay/overlay.js +293 -0
- data/apps/core/components/public/js/jquery/jquery-tools-1.2.5/scrollable/scrollable.js +335 -0
- data/apps/core/components/public/js/jquery/jquery-tools-1.2.5/tabs/tabs.css +59 -0
- data/apps/core/components/public/js/jquery/jquery-tools-1.2.5/tabs/tabs.js +283 -0
- data/apps/core/components/public/js/jquery/jquery-tools-1.2.5/toolbox/toolbox.expose.js +224 -0
- data/apps/core/components/public/js/jquery/jquery-tools-1.2.5/tooltip/tooltip.dynamic.js +150 -0
- data/apps/core/components/public/js/jquery/jquery-tools-1.2.5/tooltip/tooltip.js +343 -0
- data/apps/core/components/public/js/jquery/jquery-tools-1.2.5/tooltip/tooltip.slide.js +78 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/button_bg.png +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/datepicker.gif +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/icon_sprite.png +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/progress_bar.gif +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/slider_h_bg.gif +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/slider_handles.png +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/slider_v_bg.gif +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/tab_bg.gif +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/the_gradient.gif +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/ui-anim_basic_16x16.gif +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/ui-bg_flat_10_000000_40x100.png +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/ui-icons_222222_256x240.png +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/ui-icons_228ef1_256x240.png +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/ui-icons_ef8c08_256x240.png +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/ui-icons_ffd27a_256x240.png +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/images/ui-icons_ffffff_256x240.png +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4 → jquery-ui-1.8.11}/css/Aristo/jquery-ui.custom.css +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-af.js +0 -0
- data/apps/core/components/public/js/jquery/jquery-ui-1.8.11/ui/i18n/jquery.ui.datepicker-ar-DZ.js +23 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-ar.js +7 -8
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-az.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-bg.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-bs.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-ca.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-cs.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-da.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-de.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-el.js +0 -0
- data/apps/core/components/public/js/jquery/jquery-ui-1.8.11/ui/i18n/jquery.ui.datepicker-en-AU.js +23 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-en-GB.js +0 -0
- data/apps/core/components/public/js/jquery/jquery-ui-1.8.11/ui/i18n/jquery.ui.datepicker-en-NZ.js +23 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-eo.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-es.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-et.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-eu.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-fa.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-fi.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-fo.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-fr-CH.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-fr.js +12 -10
- data/apps/core/components/public/js/jquery/jquery-ui-1.8.11/ui/i18n/jquery.ui.datepicker-gl.js +23 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-he.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-hr.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-hu.js +1 -1
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-hy.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-id.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-is.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-it.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-ja.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-ko.js +0 -0
- data/apps/core/components/public/js/jquery/jquery-ui-1.8.11/ui/i18n/jquery.ui.datepicker-kz.js +23 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-lt.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-lv.js +0 -0
- data/apps/core/components/public/js/jquery/jquery-ui-1.8.11/ui/i18n/jquery.ui.datepicker-ml.js +23 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-ms.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-nl.js +0 -0
- data/apps/core/components/public/js/jquery/jquery-ui-1.8.11/ui/i18n/jquery.ui.datepicker-no.js +23 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-pl.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-pt-BR.js +0 -0
- data/apps/core/components/public/js/jquery/jquery-ui-1.8.11/ui/i18n/jquery.ui.datepicker-pt.js +22 -0
- data/apps/core/components/public/js/jquery/jquery-ui-1.8.11/ui/i18n/jquery.ui.datepicker-rm.js +21 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-ro.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-ru.js +1 -1
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-sk.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-sl.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-sq.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-sr-SR.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-sr.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-sv.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-ta.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-th.js +1 -1
- data/apps/core/components/public/js/jquery/jquery-ui-1.8.11/ui/i18n/jquery.ui.datepicker-tj.js +23 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-tr.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-uk.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-vi.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-zh-CN.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-zh-HK.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/i18n/jquery.ui.datepicker-zh-TW.js +0 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.effects.blind.js +3 -3
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.effects.bounce.js +3 -3
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.effects.clip.js +3 -3
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.effects.core.js +48 -15
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.effects.drop.js +3 -3
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.effects.explode.js +2 -2
- data/apps/core/components/public/js/jquery/jquery-ui-1.8.11/ui/jquery.effects.fade.js +32 -0
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.effects.fold.js +3 -3
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.effects.highlight.js +2 -2
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.effects.pulsate.js +2 -2
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.effects.scale.js +4 -4
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.effects.shake.js +3 -3
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.effects.slide.js +4 -4
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.effects.transfer.js +2 -2
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.ui.accordion.js +33 -20
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.ui.autocomplete.js +104 -42
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.ui.button.js +35 -13
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.ui.core.js +111 -84
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.ui.datepicker.js +87 -46
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.ui.dialog.js +105 -75
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.ui.draggable.js +17 -15
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.ui.droppable.js +5 -5
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.ui.mouse.js +16 -11
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.ui.position.js +51 -32
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.ui.progressbar.js +24 -10
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.ui.resizable.js +7 -7
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.ui.selectable.js +3 -3
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.ui.slider.js +9 -7
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.ui.sortable.js +22 -20
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.ui.tabs.js +15 -14
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → jquery-ui-1.8.11}/ui/jquery.ui.widget.js +50 -25
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → plugins/bsmselect}/GPL-LICENSE.txt +1 -1
- data/apps/core/components/public/js/jquery/{jquery-ui-1.8.4/development-bundle → plugins/bsmselect}/MIT-LICENSE.txt +3 -7
- data/apps/core/components/public/js/jquery/plugins/bsmselect/README.md +185 -0
- data/apps/core/components/public/js/jquery/plugins/bsmselect/css/jquery.bsmselect.css +64 -0
- data/apps/core/components/public/js/jquery/plugins/bsmselect/js/jquery.bsmselect.compatibility.js +60 -0
- data/apps/core/components/public/js/jquery/plugins/bsmselect/js/jquery.bsmselect.js +381 -0
- data/apps/core/components/public/js/jquery/plugins/bsmselect/js/jquery.bsmselect.sortable.js +49 -0
- data/apps/core/components/public/js/plugins/sortable.js +16 -7
- data/apps/core/components/public/js/spider.js +60 -41
- data/apps/core/components/widgets/admin/admin.shtml +1 -1
- data/apps/core/components/widgets/list/list.shtml +2 -2
- data/apps/core/components/widgets/month_calendar/month_calendar.shtml +23 -20
- data/apps/core/components/widgets/switcher/switcher.rb +77 -21
- data/apps/core/components/widgets/switcher/templates/default.shtml +8 -0
- data/apps/core/components/widgets/switcher/templates/table.shtml +15 -0
- data/apps/core/components/widgets/table/table.rb +4 -1
- data/apps/core/components/widgets/table/table.shtml +10 -8
- data/apps/core/forms/public/css/form.css +9 -1
- data/apps/core/forms/public/date_time.js +14 -2
- data/apps/core/forms/public/input.js +1 -1
- data/apps/core/forms/public/select.js +4 -3
- data/apps/core/forms/tags/element_row.erb +11 -2
- data/apps/core/forms/widgets/inputs/date_time/date_time.rb +9 -0
- data/apps/core/forms/widgets/inputs/date_time/date_time.shtml +1 -1
- data/apps/core/forms/widgets/inputs/html_area/html_area.shtml +2 -2
- data/apps/core/forms/widgets/inputs/input/input.rb +0 -3
- data/apps/core/forms/widgets/inputs/select/select.shtml +2 -2
- data/apps/messenger/backends/email/sendmail.rb +20 -0
- data/apps/messenger/backends/email/smtp.rb +12 -14
- data/apps/messenger/backends/email/test.rb +20 -0
- data/apps/messenger/config/options.rb +9 -9
- data/apps/messenger/config/test.config.yml +2 -0
- data/apps/messenger/controllers/mixins/messenger_helper.rb +41 -15
- data/apps/messenger/lib/email_backend.rb +10 -0
- data/apps/messenger/messenger.rb +45 -26
- data/apps/messenger/test/features/attachments.feature +26 -0
- data/apps/messenger/test/features/messenger_helper.feature +31 -0
- data/apps/messenger/test/features/sending_email.feature +10 -0
- data/apps/messenger/test/features/step_definitions/common_steps.rb +11 -0
- data/apps/messenger/test/features/step_definitions/email_steps.rb +98 -0
- data/apps/messenger/test/features/support/env.rb +11 -0
- data/apps/messenger/test/files/test_file1.txt +1 -0
- data/apps/messenger/test/lib/controllers/mail_test_controller.rb +34 -0
- data/apps/messenger/test/templates/email/multipart.html.erb +1 -0
- data/apps/messenger/test/templates/email/multipart.txt.erb +1 -0
- data/apps/messenger/test/templates/email/simple.erb +1 -0
- data/apps/messenger/test/templates/email/vars.erb +1 -0
- data/lib/spiderfw/cmd/cmd.rb +4 -0
- data/lib/spiderfw/cmd/commands/webserver.rb +12 -59
- data/lib/spiderfw/config/configuration.rb +4 -0
- data/lib/spiderfw/config/options/spider.rb +25 -8
- data/lib/spiderfw/controller/controller.rb +10 -4
- data/lib/spiderfw/controller/first_responder.rb +6 -20
- data/lib/spiderfw/controller/http_controller.rb +2 -1
- data/lib/spiderfw/controller/mixins/http_mixin.rb +12 -1
- data/lib/spiderfw/controller/mixins/visual.rb +3 -16
- data/lib/spiderfw/env.rb +1 -1
- data/lib/spiderfw/http/server.rb +178 -2
- data/lib/spiderfw/model/base_model.rb +142 -111
- data/lib/spiderfw/model/data_type.rb +15 -0
- data/lib/spiderfw/model/datatypes/decimal.rb +8 -0
- data/lib/spiderfw/model/datatypes/pk.rb +29 -0
- data/lib/spiderfw/model/datatypes.rb +1 -0
- data/lib/spiderfw/model/element.rb +5 -1
- data/lib/spiderfw/model/extended_models/managed.rb +1 -1
- data/lib/spiderfw/model/junction.rb +23 -0
- data/lib/spiderfw/model/mappers/db_mapper.rb +96 -80
- data/lib/spiderfw/model/mappers/document_mapper.rb +315 -0
- data/lib/spiderfw/model/mappers/mapper.rb +164 -75
- data/lib/spiderfw/model/mixins/list.rb +1 -0
- data/lib/spiderfw/model/mixins/versioned.rb +63 -27
- data/lib/spiderfw/model/model.rb +36 -9
- data/lib/spiderfw/model/query_funcs.rb +3 -0
- data/lib/spiderfw/model/query_set.rb +21 -1
- data/lib/spiderfw/model/storage/base_storage.rb +259 -6
- data/lib/spiderfw/model/storage/{db/db_connection_pool.rb → connection_pool.rb} +25 -21
- data/lib/spiderfw/model/storage/db/adapters/mysql.rb +25 -5
- data/lib/spiderfw/model/storage/db/adapters/oracle.rb +1 -1
- data/lib/spiderfw/model/storage/db/connectors/jdbc_oracle.rb +2 -2
- data/lib/spiderfw/model/storage/db/connectors/oci8.rb +3 -4
- data/lib/spiderfw/model/storage/db/db_storage.rb +18 -219
- data/lib/spiderfw/model/storage/document/adapters/mongodb.rb +307 -0
- data/lib/spiderfw/model/storage/document/document.rb +7 -0
- data/lib/spiderfw/model/storage/document/document_storage.rb +34 -0
- data/lib/spiderfw/model/storage.rb +23 -11
- data/lib/spiderfw/model/unit_of_work.rb +45 -22
- data/lib/spiderfw/spider.rb +660 -0
- data/lib/spiderfw/templates/blocks/html.rb +4 -2
- data/lib/spiderfw/templates/blocks/run.rb +1 -1
- data/lib/spiderfw/templates/blocks/tag_if.rb +1 -1
- data/lib/spiderfw/templates/blocks/widget.rb +1 -1
- data/lib/spiderfw/templates/layout.rb +29 -5
- data/lib/spiderfw/templates/template.rb +72 -7
- data/lib/spiderfw/templates/template_blocks.rb +1 -1
- data/lib/spiderfw/test/capybara.rb +7 -0
- data/lib/spiderfw/test/cucumber.rb +12 -0
- data/lib/spiderfw/test/page_object.rb +29 -0
- data/lib/spiderfw/test/spec.rb +20 -0
- data/lib/spiderfw/test/stubs/mapper_stub.rb +18 -0
- data/lib/spiderfw/test/stubs/storage_stub.rb +23 -0
- data/lib/spiderfw/test/unit.rb +23 -0
- data/lib/spiderfw/test.rb +89 -0
- data/lib/spiderfw/utils/json.rb +6 -0
- data/lib/spiderfw/utils/logger.rb +17 -4
- data/lib/spiderfw/utils/loggers/apache_commons_logger.rb +61 -0
- data/lib/spiderfw/utils/monkey/date_time.rb +2 -2
- data/lib/spiderfw/utils/monkey/module.rb +3 -1
- data/lib/spiderfw/utils/profiling.rb +2 -2
- data/lib/spiderfw/widget/widget.rb +31 -13
- data/lib/spiderfw.rb +1 -597
- data/spider.gemspec +9 -10
- metadata +193 -132
- data/apps/admin/_init.rb +0 -9
- data/apps/admin/controllers/admin_controller.rb +0 -12
- data/apps/admin/widgets/dashboard_widget/dashboard_widget.rb +0 -8
- data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/AUTHORS.txt +0 -30
- data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/i18n/jquery-ui-i18n.js +0 -1176
- data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-no.js +0 -23
- data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/version.txt +0 -1
- data/apps/core/components/public/js/jquery/plugins/asmselect/jquery.asmselect.css +0 -64
- data/apps/core/components/public/js/jquery/plugins/asmselect/jquery.asmselect.js +0 -407
- data/apps/core/components/widgets/switcher/switcher.shtml +0 -17
- data/apps/master/po/master.pot +0 -400
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
|
-
* jQuery UI Draggable
|
2
|
+
* jQuery UI Draggable @VERSION
|
3
3
|
*
|
4
|
-
* Copyright
|
4
|
+
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
5
5
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
6
6
|
* http://jquery.org/license
|
7
7
|
*
|
@@ -192,8 +192,8 @@ $.widget("ui.draggable", $.ui.mouse, {
|
|
192
192
|
this.dropped = false;
|
193
193
|
}
|
194
194
|
|
195
|
-
//if the original element is removed, don't bother to continue
|
196
|
-
if(!this.element[0] || !this.element[0].parentNode)
|
195
|
+
//if the original element is removed, don't bother to continue if helper is set to "original"
|
196
|
+
if((!this.element[0] || !this.element[0].parentNode) && this.options.helper == "original")
|
197
197
|
return false;
|
198
198
|
|
199
199
|
if((this.options.revert == "invalid" && !dropped) || (this.options.revert == "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) {
|
@@ -317,7 +317,9 @@ $.widget("ui.draggable", $.ui.mouse, {
|
|
317
317
|
_cacheMargins: function() {
|
318
318
|
this.margins = {
|
319
319
|
left: (parseInt(this.element.css("marginLeft"),10) || 0),
|
320
|
-
top: (parseInt(this.element.css("marginTop"),10) || 0)
|
320
|
+
top: (parseInt(this.element.css("marginTop"),10) || 0),
|
321
|
+
right: (parseInt(this.element.css("marginRight"),10) || 0),
|
322
|
+
bottom: (parseInt(this.element.css("marginBottom"),10) || 0)
|
321
323
|
};
|
322
324
|
},
|
323
325
|
|
@@ -333,10 +335,10 @@ $.widget("ui.draggable", $.ui.mouse, {
|
|
333
335
|
var o = this.options;
|
334
336
|
if(o.containment == 'parent') o.containment = this.helper[0].parentNode;
|
335
337
|
if(o.containment == 'document' || o.containment == 'window') this.containment = [
|
336
|
-
0 - this.offset.relative.left - this.offset.parent.left,
|
337
|
-
0 - this.offset.relative.top - this.offset.parent.top,
|
338
|
-
$(o.containment == 'document' ? document : window).width() - this.helperProportions.width - this.margins.left,
|
339
|
-
($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
|
338
|
+
(o.containment == 'document' ? 0 : $(window).scrollLeft()) - this.offset.relative.left - this.offset.parent.left,
|
339
|
+
(o.containment == 'document' ? 0 : $(window).scrollTop()) - this.offset.relative.top - this.offset.parent.top,
|
340
|
+
(o.containment == 'document' ? 0 : $(window).scrollLeft()) + $(o.containment == 'document' ? document : window).width() - this.helperProportions.width - this.margins.left,
|
341
|
+
(o.containment == 'document' ? 0 : $(window).scrollTop()) + ($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
|
340
342
|
];
|
341
343
|
|
342
344
|
if(!(/^(document|window|parent)$/).test(o.containment) && o.containment.constructor != Array) {
|
@@ -345,10 +347,10 @@ $.widget("ui.draggable", $.ui.mouse, {
|
|
345
347
|
var over = ($(ce).css("overflow") != 'hidden');
|
346
348
|
|
347
349
|
this.containment = [
|
348
|
-
co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0)
|
349
|
-
co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0)
|
350
|
-
co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left,
|
351
|
-
co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top
|
350
|
+
co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0),
|
351
|
+
co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0),
|
352
|
+
co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right,
|
353
|
+
co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom
|
352
354
|
];
|
353
355
|
} else if(o.containment.constructor == Array) {
|
354
356
|
this.containment = o.containment;
|
@@ -459,7 +461,7 @@ $.widget("ui.draggable", $.ui.mouse, {
|
|
459
461
|
});
|
460
462
|
|
461
463
|
$.extend($.ui.draggable, {
|
462
|
-
version: "
|
464
|
+
version: "@VERSION"
|
463
465
|
});
|
464
466
|
|
465
467
|
$.ui.plugin.add("draggable", "connectToSortable", {
|
@@ -475,7 +477,7 @@ $.ui.plugin.add("draggable", "connectToSortable", {
|
|
475
477
|
instance: sortable,
|
476
478
|
shouldRevert: sortable.options.revert
|
477
479
|
});
|
478
|
-
sortable.
|
480
|
+
sortable.refreshPositions(); // Call the sortable's refreshPositions at drag start to refresh the containerCache since the sortable container cache is used in drag and needs to be up to date (this will ensure it's initialised as well as being kept in step with any changes that might have happened on the page).
|
479
481
|
sortable._trigger("activate", event, uiSortable);
|
480
482
|
}
|
481
483
|
});
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
|
-
* jQuery UI Droppable
|
2
|
+
* jQuery UI Droppable @VERSION
|
3
3
|
*
|
4
|
-
* Copyright
|
4
|
+
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
5
5
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
6
6
|
* http://jquery.org/license
|
7
7
|
*
|
@@ -147,7 +147,7 @@ $.widget("ui.droppable", {
|
|
147
147
|
});
|
148
148
|
|
149
149
|
$.extend($.ui.droppable, {
|
150
|
-
version: "
|
150
|
+
version: "@VERSION"
|
151
151
|
});
|
152
152
|
|
153
153
|
$.ui.intersect = function(draggable, droppable, toleranceMode) {
|
@@ -212,11 +212,11 @@ $.ui.ddmanager = {
|
|
212
212
|
for (var j=0; j < list.length; j++) { if(list[j] == m[i].element[0]) { m[i].proportions.height = 0; continue droppablesLoop; } }; //Filter out elements in the current dragged item
|
213
213
|
m[i].visible = m[i].element.css("display") != "none"; if(!m[i].visible) continue; //If the element is not visible, continue
|
214
214
|
|
215
|
+
if(type == "mousedown") m[i]._activate.call(m[i], event); //Activate the droppable if used directly from draggables
|
216
|
+
|
215
217
|
m[i].offset = m[i].element.offset();
|
216
218
|
m[i].proportions = { width: m[i].element[0].offsetWidth, height: m[i].element[0].offsetHeight };
|
217
219
|
|
218
|
-
if(type == "mousedown") m[i]._activate.call(m[i], event); //Activate the droppable if used directly from draggables
|
219
|
-
|
220
220
|
}
|
221
221
|
|
222
222
|
},
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*!
|
2
|
-
* jQuery UI Mouse
|
2
|
+
* jQuery UI Mouse @VERSION
|
3
3
|
*
|
4
|
-
* Copyright
|
4
|
+
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
5
5
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
6
6
|
* http://jquery.org/license
|
7
7
|
*
|
@@ -26,8 +26,8 @@ $.widget("ui.mouse", {
|
|
26
26
|
return self._mouseDown(event);
|
27
27
|
})
|
28
28
|
.bind('click.'+this.widgetName, function(event) {
|
29
|
-
if(self.
|
30
|
-
|
29
|
+
if (true === $.data(event.target, self.widgetName + '.preventClickEvent')) {
|
30
|
+
$.removeData(event.target, self.widgetName + '.preventClickEvent');
|
31
31
|
event.stopImmediatePropagation();
|
32
32
|
return false;
|
33
33
|
}
|
@@ -75,6 +75,11 @@ $.widget("ui.mouse", {
|
|
75
75
|
}
|
76
76
|
}
|
77
77
|
|
78
|
+
// Click event may never have fired (Gecko & Opera)
|
79
|
+
if (true === $.data(event.target, this.widgetName + '.preventClickEvent')) {
|
80
|
+
$.removeData(event.target, this.widgetName + '.preventClickEvent');
|
81
|
+
}
|
82
|
+
|
78
83
|
// these delegates are required to keep context
|
79
84
|
this._mouseMoveDelegate = function(event) {
|
80
85
|
return self._mouseMove(event);
|
@@ -86,18 +91,14 @@ $.widget("ui.mouse", {
|
|
86
91
|
.bind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
|
87
92
|
.bind('mouseup.'+this.widgetName, this._mouseUpDelegate);
|
88
93
|
|
89
|
-
|
90
|
-
// however, in Safari, this causes select boxes not to be selectable
|
91
|
-
// anymore, so this fix is needed
|
92
|
-
($.browser.safari || event.preventDefault());
|
93
|
-
|
94
|
+
event.preventDefault();
|
94
95
|
event.originalEvent.mouseHandled = true;
|
95
96
|
return true;
|
96
97
|
},
|
97
98
|
|
98
99
|
_mouseMove: function(event) {
|
99
100
|
// IE mouseup check - mouseup happened when mouse was out of window
|
100
|
-
if ($.browser.msie && !event.button) {
|
101
|
+
if ($.browser.msie && !(document.documentMode >= 9) && !event.button) {
|
101
102
|
return this._mouseUp(event);
|
102
103
|
}
|
103
104
|
|
@@ -122,7 +123,11 @@ $.widget("ui.mouse", {
|
|
122
123
|
|
123
124
|
if (this._mouseStarted) {
|
124
125
|
this._mouseStarted = false;
|
125
|
-
|
126
|
+
|
127
|
+
if (event.target == this._mouseDownEvent.target) {
|
128
|
+
$.data(event.target, this.widgetName + '.preventClickEvent', true);
|
129
|
+
}
|
130
|
+
|
126
131
|
this._mouseStop(event);
|
127
132
|
}
|
128
133
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
|
-
* jQuery UI Position
|
2
|
+
* jQuery UI Position @VERSION
|
3
3
|
*
|
4
|
-
* Copyright
|
4
|
+
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
5
5
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
6
6
|
* http://jquery.org/license
|
7
7
|
*
|
@@ -12,9 +12,8 @@
|
|
12
12
|
$.ui = $.ui || {};
|
13
13
|
|
14
14
|
var horizontalPositions = /left|center|right/,
|
15
|
-
horizontalDefault = "center",
|
16
15
|
verticalPositions = /top|center|bottom/,
|
17
|
-
|
16
|
+
center = "center",
|
18
17
|
_position = $.fn.position,
|
19
18
|
_offset = $.fn.offset;
|
20
19
|
|
@@ -27,21 +26,23 @@ $.fn.position = function( options ) {
|
|
27
26
|
options = $.extend( {}, options );
|
28
27
|
|
29
28
|
var target = $( options.of ),
|
29
|
+
targetElem = target[0],
|
30
30
|
collision = ( options.collision || "flip" ).split( " " ),
|
31
31
|
offset = options.offset ? options.offset.split( " " ) : [ 0, 0 ],
|
32
32
|
targetWidth,
|
33
33
|
targetHeight,
|
34
34
|
basePosition;
|
35
35
|
|
36
|
-
if (
|
36
|
+
if ( targetElem.nodeType === 9 ) {
|
37
37
|
targetWidth = target.width();
|
38
38
|
targetHeight = target.height();
|
39
39
|
basePosition = { top: 0, left: 0 };
|
40
|
-
|
40
|
+
// TODO: use $.isWindow() in 1.9
|
41
|
+
} else if ( targetElem.setTimeout ) {
|
41
42
|
targetWidth = target.width();
|
42
43
|
targetHeight = target.height();
|
43
44
|
basePosition = { top: target.scrollTop(), left: target.scrollLeft() };
|
44
|
-
} else if (
|
45
|
+
} else if ( targetElem.preventDefault ) {
|
45
46
|
// force left top to allow flipping
|
46
47
|
options.at = "left top";
|
47
48
|
targetWidth = targetHeight = 0;
|
@@ -58,13 +59,13 @@ $.fn.position = function( options ) {
|
|
58
59
|
var pos = ( options[this] || "" ).split( " " );
|
59
60
|
if ( pos.length === 1) {
|
60
61
|
pos = horizontalPositions.test( pos[0] ) ?
|
61
|
-
pos.concat( [
|
62
|
+
pos.concat( [center] ) :
|
62
63
|
verticalPositions.test( pos[0] ) ?
|
63
|
-
[
|
64
|
-
[
|
64
|
+
[ center ].concat( pos ) :
|
65
|
+
[ center, center ];
|
65
66
|
}
|
66
|
-
pos[ 0 ] = horizontalPositions.test( pos[0] ) ? pos[ 0 ] :
|
67
|
-
pos[ 1 ] = verticalPositions.test( pos[1] ) ? pos[ 1 ] :
|
67
|
+
pos[ 0 ] = horizontalPositions.test( pos[0] ) ? pos[ 0 ] : center;
|
68
|
+
pos[ 1 ] = verticalPositions.test( pos[1] ) ? pos[ 1 ] : center;
|
68
69
|
options[ this ] = pos;
|
69
70
|
});
|
70
71
|
|
@@ -82,13 +83,13 @@ $.fn.position = function( options ) {
|
|
82
83
|
|
83
84
|
if ( options.at[0] === "right" ) {
|
84
85
|
basePosition.left += targetWidth;
|
85
|
-
} else if (options.at[0] ===
|
86
|
+
} else if ( options.at[0] === center ) {
|
86
87
|
basePosition.left += targetWidth / 2;
|
87
88
|
}
|
88
89
|
|
89
90
|
if ( options.at[1] === "bottom" ) {
|
90
91
|
basePosition.top += targetHeight;
|
91
|
-
} else if ( options.at[1] ===
|
92
|
+
} else if ( options.at[1] === center ) {
|
92
93
|
basePosition.top += targetHeight / 2;
|
93
94
|
}
|
94
95
|
|
@@ -99,23 +100,35 @@ $.fn.position = function( options ) {
|
|
99
100
|
var elem = $( this ),
|
100
101
|
elemWidth = elem.outerWidth(),
|
101
102
|
elemHeight = elem.outerHeight(),
|
102
|
-
|
103
|
+
marginLeft = parseInt( $.curCSS( this, "marginLeft", true ) ) || 0,
|
104
|
+
marginTop = parseInt( $.curCSS( this, "marginTop", true ) ) || 0,
|
105
|
+
collisionWidth = elemWidth + marginLeft +
|
106
|
+
( parseInt( $.curCSS( this, "marginRight", true ) ) || 0 ),
|
107
|
+
collisionHeight = elemHeight + marginTop +
|
108
|
+
( parseInt( $.curCSS( this, "marginBottom", true ) ) || 0 ),
|
109
|
+
position = $.extend( {}, basePosition ),
|
110
|
+
collisionPosition;
|
103
111
|
|
104
112
|
if ( options.my[0] === "right" ) {
|
105
113
|
position.left -= elemWidth;
|
106
|
-
} else if ( options.my[0] ===
|
114
|
+
} else if ( options.my[0] === center ) {
|
107
115
|
position.left -= elemWidth / 2;
|
108
116
|
}
|
109
117
|
|
110
118
|
if ( options.my[1] === "bottom" ) {
|
111
119
|
position.top -= elemHeight;
|
112
|
-
} else if ( options.my[1] ===
|
120
|
+
} else if ( options.my[1] === center ) {
|
113
121
|
position.top -= elemHeight / 2;
|
114
122
|
}
|
115
123
|
|
116
124
|
// prevent fractions (see #5280)
|
117
|
-
position.left =
|
118
|
-
position.top =
|
125
|
+
position.left = Math.round( position.left );
|
126
|
+
position.top = Math.round( position.top );
|
127
|
+
|
128
|
+
collisionPosition = {
|
129
|
+
left: position.left - marginLeft,
|
130
|
+
top: position.top - marginTop
|
131
|
+
};
|
119
132
|
|
120
133
|
$.each( [ "left", "top" ], function( i, dir ) {
|
121
134
|
if ( $.ui.position[ collision[i] ] ) {
|
@@ -124,6 +137,9 @@ $.fn.position = function( options ) {
|
|
124
137
|
targetHeight: targetHeight,
|
125
138
|
elemWidth: elemWidth,
|
126
139
|
elemHeight: elemHeight,
|
140
|
+
collisionPosition: collisionPosition,
|
141
|
+
collisionWidth: collisionWidth,
|
142
|
+
collisionHeight: collisionHeight,
|
127
143
|
offset: offset,
|
128
144
|
my: options.my,
|
129
145
|
at: options.at
|
@@ -142,41 +158,44 @@ $.ui.position = {
|
|
142
158
|
fit: {
|
143
159
|
left: function( position, data ) {
|
144
160
|
var win = $( window ),
|
145
|
-
over =
|
146
|
-
position.left = over > 0 ? position.left - over : Math.max(
|
161
|
+
over = data.collisionPosition.left + data.collisionWidth - win.width() - win.scrollLeft();
|
162
|
+
position.left = over > 0 ? position.left - over : Math.max( position.left - data.collisionPosition.left, position.left );
|
147
163
|
},
|
148
164
|
top: function( position, data ) {
|
149
165
|
var win = $( window ),
|
150
|
-
over =
|
151
|
-
position.top = over > 0 ? position.top - over : Math.max(
|
166
|
+
over = data.collisionPosition.top + data.collisionHeight - win.height() - win.scrollTop();
|
167
|
+
position.top = over > 0 ? position.top - over : Math.max( position.top - data.collisionPosition.top, position.top );
|
152
168
|
}
|
153
169
|
},
|
154
170
|
|
155
171
|
flip: {
|
156
172
|
left: function( position, data ) {
|
157
|
-
if ( data.at[0] ===
|
173
|
+
if ( data.at[0] === center ) {
|
158
174
|
return;
|
159
175
|
}
|
160
176
|
var win = $( window ),
|
161
|
-
over =
|
177
|
+
over = data.collisionPosition.left + data.collisionWidth - win.width() - win.scrollLeft(),
|
162
178
|
myOffset = data.my[ 0 ] === "left" ?
|
163
179
|
-data.elemWidth :
|
164
180
|
data.my[ 0 ] === "right" ?
|
165
181
|
data.elemWidth :
|
166
182
|
0,
|
183
|
+
atOffset = data.at[ 0 ] === "left" ?
|
184
|
+
data.targetWidth :
|
185
|
+
-data.targetWidth,
|
167
186
|
offset = -2 * data.offset[ 0 ];
|
168
|
-
position.left +=
|
169
|
-
myOffset +
|
187
|
+
position.left += data.collisionPosition.left < 0 ?
|
188
|
+
myOffset + atOffset + offset :
|
170
189
|
over > 0 ?
|
171
|
-
myOffset
|
190
|
+
myOffset + atOffset + offset :
|
172
191
|
0;
|
173
192
|
},
|
174
193
|
top: function( position, data ) {
|
175
|
-
if ( data.at[1] ===
|
194
|
+
if ( data.at[1] === center ) {
|
176
195
|
return;
|
177
196
|
}
|
178
197
|
var win = $( window ),
|
179
|
-
over =
|
198
|
+
over = data.collisionPosition.top + data.collisionHeight - win.height() - win.scrollTop(),
|
180
199
|
myOffset = data.my[ 1 ] === "top" ?
|
181
200
|
-data.elemHeight :
|
182
201
|
data.my[ 1 ] === "bottom" ?
|
@@ -186,8 +205,8 @@ $.ui.position = {
|
|
186
205
|
data.targetHeight :
|
187
206
|
-data.targetHeight,
|
188
207
|
offset = -2 * data.offset[ 1 ];
|
189
|
-
position.top +=
|
190
|
-
myOffset +
|
208
|
+
position.top += data.collisionPosition.top < 0 ?
|
209
|
+
myOffset + atOffset + offset :
|
191
210
|
over > 0 ?
|
192
211
|
myOffset + atOffset + offset :
|
193
212
|
0;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
|
-
* jQuery UI Progressbar
|
2
|
+
* jQuery UI Progressbar @VERSION
|
3
3
|
*
|
4
|
-
* Copyright
|
4
|
+
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
5
5
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
6
6
|
* http://jquery.org/license
|
7
7
|
*
|
@@ -15,11 +15,11 @@
|
|
15
15
|
|
16
16
|
$.widget( "ui.progressbar", {
|
17
17
|
options: {
|
18
|
-
value: 0
|
18
|
+
value: 0,
|
19
|
+
max: 100
|
19
20
|
},
|
20
21
|
|
21
22
|
min: 0,
|
22
|
-
max: 100,
|
23
23
|
|
24
24
|
_create: function() {
|
25
25
|
this.element
|
@@ -27,13 +27,14 @@ $.widget( "ui.progressbar", {
|
|
27
27
|
.attr({
|
28
28
|
role: "progressbar",
|
29
29
|
"aria-valuemin": this.min,
|
30
|
-
"aria-valuemax": this.max,
|
30
|
+
"aria-valuemax": this.options.max,
|
31
31
|
"aria-valuenow": this._value()
|
32
32
|
});
|
33
33
|
|
34
34
|
this.valueDiv = $( "<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>" )
|
35
35
|
.appendTo( this.element );
|
36
36
|
|
37
|
+
this.oldValue = this._value();
|
37
38
|
this._refreshValue();
|
38
39
|
},
|
39
40
|
|
@@ -63,7 +64,9 @@ $.widget( "ui.progressbar", {
|
|
63
64
|
if ( key === "value" ) {
|
64
65
|
this.options.value = value;
|
65
66
|
this._refreshValue();
|
66
|
-
this.
|
67
|
+
if ( this._value() === this.options.max ) {
|
68
|
+
this._trigger( "complete" );
|
69
|
+
}
|
67
70
|
}
|
68
71
|
|
69
72
|
$.Widget.prototype._setOption.apply( this, arguments );
|
@@ -75,20 +78,31 @@ $.widget( "ui.progressbar", {
|
|
75
78
|
if ( typeof val !== "number" ) {
|
76
79
|
val = 0;
|
77
80
|
}
|
78
|
-
return Math.min( this.max, Math.max( this.min, val ) );
|
81
|
+
return Math.min( this.options.max, Math.max( this.min, val ) );
|
82
|
+
},
|
83
|
+
|
84
|
+
_percentage: function() {
|
85
|
+
return 100 * this._value() / this.options.max;
|
79
86
|
},
|
80
87
|
|
81
88
|
_refreshValue: function() {
|
82
89
|
var value = this.value();
|
90
|
+
var percentage = this._percentage();
|
91
|
+
|
92
|
+
if ( this.oldValue !== value ) {
|
93
|
+
this.oldValue = value;
|
94
|
+
this._trigger( "change" );
|
95
|
+
}
|
96
|
+
|
83
97
|
this.valueDiv
|
84
|
-
.toggleClass( "ui-corner-right", value === this.max )
|
85
|
-
.width(
|
98
|
+
.toggleClass( "ui-corner-right", value === this.options.max )
|
99
|
+
.width( percentage.toFixed(0) + "%" );
|
86
100
|
this.element.attr( "aria-valuenow", value );
|
87
101
|
}
|
88
102
|
});
|
89
103
|
|
90
104
|
$.extend( $.ui.progressbar, {
|
91
|
-
version: "
|
105
|
+
version: "@VERSION"
|
92
106
|
});
|
93
107
|
|
94
108
|
})( jQuery );
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
|
-
* jQuery UI Resizable
|
2
|
+
* jQuery UI Resizable @VERSION
|
3
3
|
*
|
4
|
-
* Copyright
|
4
|
+
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
5
5
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
6
6
|
* http://jquery.org/license
|
7
7
|
*
|
@@ -322,10 +322,10 @@ $.widget("ui.resizable", $.ui.mouse, {
|
|
322
322
|
|
323
323
|
if(this._helper) {
|
324
324
|
var pr = this._proportionallyResizeElements, ista = pr.length && (/textarea/i).test(pr[0].nodeName),
|
325
|
-
|
326
|
-
|
325
|
+
soffseth = ista && $.ui.hasScroll(pr[0], 'left') /* TODO - jump height */ ? 0 : self.sizeDiff.height,
|
326
|
+
soffsetw = ista ? 0 : self.sizeDiff.width;
|
327
327
|
|
328
|
-
var s = { width: (self.
|
328
|
+
var s = { width: (self.helper.width() - soffsetw), height: (self.helper.height() - soffseth) },
|
329
329
|
left = (parseInt(self.element.css('left'), 10) + (self.position.left - self.originalPosition.left)) || null,
|
330
330
|
top = (parseInt(self.element.css('top'), 10) + (self.position.top - self.originalPosition.top)) || null;
|
331
331
|
|
@@ -519,7 +519,7 @@ $.widget("ui.resizable", $.ui.mouse, {
|
|
519
519
|
});
|
520
520
|
|
521
521
|
$.extend($.ui.resizable, {
|
522
|
-
version: "
|
522
|
+
version: "@VERSION"
|
523
523
|
});
|
524
524
|
|
525
525
|
/*
|
@@ -595,7 +595,7 @@ $.ui.plugin.add("resizable", "alsoResize", {
|
|
595
595
|
// reset position for Opera - no need to verify it was changed
|
596
596
|
el.css({ position: el.data("resizable-alsoresize").position });
|
597
597
|
});
|
598
|
-
}
|
598
|
+
};
|
599
599
|
|
600
600
|
if (self._revertToRelativePosition) {
|
601
601
|
self._revertToRelativePosition = false;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
|
-
* jQuery UI Selectable
|
2
|
+
* jQuery UI Selectable @VERSION
|
3
3
|
*
|
4
|
-
* Copyright
|
4
|
+
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
5
5
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
6
6
|
* http://jquery.org/license
|
7
7
|
*
|
@@ -260,7 +260,7 @@ $.widget("ui.selectable", $.ui.mouse, {
|
|
260
260
|
});
|
261
261
|
|
262
262
|
$.extend($.ui.selectable, {
|
263
|
-
version: "
|
263
|
+
version: "@VERSION"
|
264
264
|
});
|
265
265
|
|
266
266
|
})(jQuery);
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
|
-
* jQuery UI Slider
|
2
|
+
* jQuery UI Slider @VERSION
|
3
3
|
*
|
4
|
-
* Copyright
|
4
|
+
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
5
5
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
6
6
|
* http://jquery.org/license
|
7
7
|
*
|
@@ -309,7 +309,9 @@ $.widget( "ui.slider", $.ui.mouse, {
|
|
309
309
|
( parseInt( closestHandle.css("marginTop"), 10 ) || 0)
|
310
310
|
};
|
311
311
|
|
312
|
-
this.
|
312
|
+
if ( !this.handles.hasClass( "ui-state-hover" ) ) {
|
313
|
+
this._slide( event, index, normValue );
|
314
|
+
}
|
313
315
|
this._animateOff = true;
|
314
316
|
return true;
|
315
317
|
},
|
@@ -583,14 +585,14 @@ $.widget( "ui.slider", $.ui.mouse, {
|
|
583
585
|
|
584
586
|
// returns the step-aligned value that val is closest to, between (inclusive) min and max
|
585
587
|
_trimAlignValue: function( val ) {
|
586
|
-
if ( val
|
588
|
+
if ( val <= this._valueMin() ) {
|
587
589
|
return this._valueMin();
|
588
590
|
}
|
589
|
-
if ( val
|
591
|
+
if ( val >= this._valueMax() ) {
|
590
592
|
return this._valueMax();
|
591
593
|
}
|
592
594
|
var step = ( this.options.step > 0 ) ? this.options.step : 1,
|
593
|
-
valModStep = val % step
|
595
|
+
valModStep = (val - this._valueMin()) % step;
|
594
596
|
alignValue = val - valModStep;
|
595
597
|
|
596
598
|
if ( Math.abs(valModStep) * 2 >= step ) {
|
@@ -674,7 +676,7 @@ $.widget( "ui.slider", $.ui.mouse, {
|
|
674
676
|
});
|
675
677
|
|
676
678
|
$.extend( $.ui.slider, {
|
677
|
-
version: "
|
679
|
+
version: "@VERSION"
|
678
680
|
});
|
679
681
|
|
680
682
|
}(jQuery));
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
|
-
* jQuery UI Sortable
|
2
|
+
* jQuery UI Sortable @VERSION
|
3
3
|
*
|
4
|
-
* Copyright
|
4
|
+
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
5
5
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
6
6
|
* http://jquery.org/license
|
7
7
|
*
|
@@ -49,8 +49,8 @@ $.widget("ui.sortable", $.ui.mouse, {
|
|
49
49
|
//Get the items
|
50
50
|
this.refresh();
|
51
51
|
|
52
|
-
//Let's determine if the items are
|
53
|
-
this.floating = this.items.length ? (/left|right/).test(this.items[0].item.css('float')) : false;
|
52
|
+
//Let's determine if the items are being displayed horizontally
|
53
|
+
this.floating = this.items.length ? (/left|right/).test(this.items[0].item.css('float')) || (/inline|table-cell/).test(this.items[0].item.css('display')) : false;
|
54
54
|
|
55
55
|
//Let's determine the parent's offset
|
56
56
|
this.offset = this.element.offset();
|
@@ -360,7 +360,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
|
360
360
|
|
361
361
|
if(this.dragging) {
|
362
362
|
|
363
|
-
this._mouseUp();
|
363
|
+
this._mouseUp({ target: null });
|
364
364
|
|
365
365
|
if(this.options.helper == "original")
|
366
366
|
this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
|
@@ -378,21 +378,23 @@ $.widget("ui.sortable", $.ui.mouse, {
|
|
378
378
|
|
379
379
|
}
|
380
380
|
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
$.extend(this, {
|
386
|
-
helper: null,
|
387
|
-
dragging: false,
|
388
|
-
reverting: false,
|
389
|
-
_noFinalSort: null
|
390
|
-
});
|
381
|
+
if (this.placeholder) {
|
382
|
+
//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
|
383
|
+
if(this.placeholder[0].parentNode) this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
|
384
|
+
if(this.options.helper != "original" && this.helper && this.helper[0].parentNode) this.helper.remove();
|
391
385
|
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
386
|
+
$.extend(this, {
|
387
|
+
helper: null,
|
388
|
+
dragging: false,
|
389
|
+
reverting: false,
|
390
|
+
_noFinalSort: null
|
391
|
+
});
|
392
|
+
|
393
|
+
if(this.domPosition.prev) {
|
394
|
+
$(this.domPosition.prev).after(this.currentItem);
|
395
|
+
} else {
|
396
|
+
$(this.domPosition.parent).prepend(this.currentItem);
|
397
|
+
}
|
396
398
|
}
|
397
399
|
|
398
400
|
return this;
|
@@ -1065,7 +1067,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
|
1065
1067
|
});
|
1066
1068
|
|
1067
1069
|
$.extend($.ui.sortable, {
|
1068
|
-
version: "
|
1070
|
+
version: "@VERSION"
|
1069
1071
|
});
|
1070
1072
|
|
1071
1073
|
})(jQuery);
|