rbbt-rest 1.6.13 → 1.6.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rbbt/rest/common/misc.rb +1 -0
- data/lib/rbbt/rest/main.rb +3 -1
- data/lib/rbbt/rest/workflow.rb +4 -4
- data/lib/rbbt/rest/workflow/jobs.rb +2 -1
- data/share/views/compass/app.sass +15 -4
- data/share/views/layout.haml +1 -2
- data/share/views/layout/coda.haml +0 -2
- data/share/views/layout/footer.haml +20 -7
- data/share/views/layout/header.haml +4 -9
- data/share/views/layout/top_menu.haml +44 -32
- data/share/views/public/js/app.js +9 -10
- data/share/views/public/js/defer.js +1 -1
- data/share/views/public/js/helpers.js +14 -0
- data/share/views/public/js/rbbt.aesthetics.js +0 -3
- data/share/views/public/js/rbbt.exception.js +21 -0
- data/share/views/public/js/rbbt.favourites.js +24 -14
- data/share/views/public/js/rbbt.job.js +14 -5
- data/share/views/public/js/rbbt.modal.js +26 -4
- data/share/views/public/js/rbbt.page.js +111 -1
- data/share/views/public/js/rbbt/list.js +36 -26
- data/share/views/public/js/rbbt/modal.js +1 -0
- data/share/views/public/js/rbbt/reveal.js +2 -4
- data/share/views/public/js/rbbt/table.js +6 -4
- data/share/views/public/plugins/jquery/js/jquery-2.1.4.js +9210 -0
- data/share/views/public/plugins/semantic-ui/CONTRIBUTING.md +16 -31
- data/share/views/public/plugins/semantic-ui/LICENSE.md +0 -0
- data/share/views/public/plugins/semantic-ui/README.md +57 -64
- data/share/views/public/plugins/semantic-ui/RELEASE-NOTES.md +957 -7
- data/share/views/public/plugins/semantic-ui/bower.json +2 -4
- data/share/views/public/plugins/semantic-ui/composer.json +11 -8
- data/share/views/public/plugins/semantic-ui/dist/components/accordion.css +32 -26
- data/share/views/public/plugins/semantic-ui/dist/components/accordion.js +182 -94
- data/share/views/public/plugins/semantic-ui/dist/components/accordion.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/accordion.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/ad.css +19 -8
- data/share/views/public/plugins/semantic-ui/dist/components/ad.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/api.js +428 -190
- data/share/views/public/plugins/semantic-ui/dist/components/api.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/breadcrumb.css +22 -22
- data/share/views/public/plugins/semantic-ui/dist/components/breadcrumb.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/button.css +1569 -707
- data/share/views/public/plugins/semantic-ui/dist/components/button.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/card.css +334 -143
- data/share/views/public/plugins/semantic-ui/dist/components/card.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/checkbox.css +234 -131
- data/share/views/public/plugins/semantic-ui/dist/components/checkbox.js +348 -111
- data/share/views/public/plugins/semantic-ui/dist/components/checkbox.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/checkbox.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/colorize.js +6 -4
- data/share/views/public/plugins/semantic-ui/dist/components/colorize.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/comment.css +9 -10
- data/share/views/public/plugins/semantic-ui/dist/components/comment.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/container.css +125 -0
- data/share/views/public/plugins/semantic-ui/dist/components/container.min.css +10 -0
- data/share/views/public/plugins/semantic-ui/dist/components/dimmer.css +34 -21
- data/share/views/public/plugins/semantic-ui/dist/components/dimmer.js +89 -48
- data/share/views/public/plugins/semantic-ui/dist/components/dimmer.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/dimmer.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/divider.css +54 -38
- data/share/views/public/plugins/semantic-ui/dist/components/divider.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/dropdown.css +575 -153
- data/share/views/public/plugins/semantic-ui/dist/components/dropdown.js +2263 -536
- data/share/views/public/plugins/semantic-ui/dist/components/dropdown.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/dropdown.min.js +8 -6
- data/share/views/public/plugins/semantic-ui/dist/components/embed.css +162 -0
- data/share/views/public/plugins/semantic-ui/dist/components/embed.js +662 -0
- data/share/views/public/plugins/semantic-ui/dist/components/embed.min.css +10 -0
- data/share/views/public/plugins/semantic-ui/dist/components/embed.min.js +11 -0
- data/share/views/public/plugins/semantic-ui/dist/components/feed.css +54 -30
- data/share/views/public/plugins/semantic-ui/dist/components/feed.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/flag.css +12 -6
- data/share/views/public/plugins/semantic-ui/dist/components/flag.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/form.css +322 -162
- data/share/views/public/plugins/semantic-ui/dist/components/form.js +654 -193
- data/share/views/public/plugins/semantic-ui/dist/components/form.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/form.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/grid.css +622 -427
- data/share/views/public/plugins/semantic-ui/dist/components/grid.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/header.css +360 -171
- data/share/views/public/plugins/semantic-ui/dist/components/header.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/icon.css +611 -153
- data/share/views/public/plugins/semantic-ui/dist/components/icon.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/image.css +68 -18
- data/share/views/public/plugins/semantic-ui/dist/components/image.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/input.css +172 -131
- data/share/views/public/plugins/semantic-ui/dist/components/input.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/item.css +72 -48
- data/share/views/public/plugins/semantic-ui/dist/components/item.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/label.css +494 -316
- data/share/views/public/plugins/semantic-ui/dist/components/label.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/list.css +192 -158
- data/share/views/public/plugins/semantic-ui/dist/components/list.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/loader.css +25 -18
- data/share/views/public/plugins/semantic-ui/dist/components/loader.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/menu.css +952 -667
- data/share/views/public/plugins/semantic-ui/dist/components/menu.min.css +1 -11
- data/share/views/public/plugins/semantic-ui/dist/components/message.css +140 -98
- data/share/views/public/plugins/semantic-ui/dist/components/message.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/modal.css +167 -93
- data/share/views/public/plugins/semantic-ui/dist/components/modal.js +280 -202
- data/share/views/public/plugins/semantic-ui/dist/components/modal.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/modal.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/nag.css +11 -12
- data/share/views/public/plugins/semantic-ui/dist/components/nag.js +10 -11
- data/share/views/public/plugins/semantic-ui/dist/components/nag.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/nag.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/popup.css +86 -30
- data/share/views/public/plugins/semantic-ui/dist/components/popup.js +473 -233
- data/share/views/public/plugins/semantic-ui/dist/components/popup.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/popup.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/progress.css +217 -127
- data/share/views/public/plugins/semantic-ui/dist/components/progress.js +252 -111
- data/share/views/public/plugins/semantic-ui/dist/components/progress.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/progress.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/rail.css +19 -12
- data/share/views/public/plugins/semantic-ui/dist/components/rail.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/rating.css +77 -73
- data/share/views/public/plugins/semantic-ui/dist/components/rating.js +85 -61
- data/share/views/public/plugins/semantic-ui/dist/components/rating.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/rating.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/reset.css +15 -13
- data/share/views/public/plugins/semantic-ui/dist/components/reset.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/reveal.css +47 -17
- data/share/views/public/plugins/semantic-ui/dist/components/reveal.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/search.css +102 -56
- data/share/views/public/plugins/semantic-ui/dist/components/search.js +688 -296
- data/share/views/public/plugins/semantic-ui/dist/components/search.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/search.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/segment.css +311 -164
- data/share/views/public/plugins/semantic-ui/dist/components/segment.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/shape.css +14 -15
- data/share/views/public/plugins/semantic-ui/dist/components/shape.js +102 -56
- data/share/views/public/plugins/semantic-ui/dist/components/shape.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/shape.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/sidebar.css +167 -38
- data/share/views/public/plugins/semantic-ui/dist/components/sidebar.js +296 -249
- data/share/views/public/plugins/semantic-ui/dist/components/sidebar.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/sidebar.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/site.css +56 -30
- data/share/views/public/plugins/semantic-ui/dist/components/site.js +8 -8
- data/share/views/public/plugins/semantic-ui/dist/components/site.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/site.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/state.js +37 -32
- data/share/views/public/plugins/semantic-ui/dist/components/state.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/statistic.css +268 -94
- data/share/views/public/plugins/semantic-ui/dist/components/statistic.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/step.css +348 -102
- data/share/views/public/plugins/semantic-ui/dist/components/step.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/sticky.css +7 -8
- data/share/views/public/plugins/semantic-ui/dist/components/sticky.js +222 -108
- data/share/views/public/plugins/semantic-ui/dist/components/sticky.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/sticky.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/tab.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/tab.js +268 -172
- data/share/views/public/plugins/semantic-ui/dist/components/tab.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/tab.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/table.css +372 -201
- data/share/views/public/plugins/semantic-ui/dist/components/table.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/transition.css +1546 -557
- data/share/views/public/plugins/semantic-ui/dist/components/transition.js +355 -210
- data/share/views/public/plugins/semantic-ui/dist/components/transition.min.css +6 -7
- data/share/views/public/plugins/semantic-ui/dist/components/transition.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/video.css +19 -20
- data/share/views/public/plugins/semantic-ui/dist/components/video.js +16 -23
- data/share/views/public/plugins/semantic-ui/dist/components/video.min.css +5 -6
- data/share/views/public/plugins/semantic-ui/dist/components/video.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/visibility.js +423 -161
- data/share/views/public/plugins/semantic-ui/dist/components/visibility.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/components/visit.js +18 -14
- data/share/views/public/plugins/semantic-ui/dist/components/visit.min.js +6 -6
- data/share/views/public/plugins/semantic-ui/dist/semantic.css +24827 -17141
- data/share/views/public/plugins/semantic-ui/dist/semantic.js +15072 -11354
- data/share/views/public/plugins/semantic-ui/dist/semantic.min.css +2 -2
- data/share/views/public/plugins/semantic-ui/dist/semantic.min.js +10 -8
- data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/fonts/icons.eot +0 -0
- data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/fonts/icons.otf +0 -0
- data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/fonts/icons.svg +526 -465
- data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/fonts/icons.ttf +0 -0
- data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/fonts/icons.woff +0 -0
- data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/fonts/icons.woff2 +0 -0
- data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/images/flags.png +0 -0
- data/share/views/public/plugins/semantic-ui/examples/assets/images/avatar/nan.jpg +0 -0
- data/share/views/public/plugins/semantic-ui/examples/assets/images/avatar/tom.jpg +0 -0
- data/share/views/public/plugins/semantic-ui/examples/assets/images/bg.jpg +0 -0
- data/share/views/public/plugins/semantic-ui/examples/assets/images/logo.png +0 -0
- data/share/views/public/plugins/semantic-ui/examples/{images → assets/images}/wireframe/centered-paragraph.png +0 -0
- data/share/views/public/plugins/semantic-ui/examples/{images → assets/images}/wireframe/image-square.png +0 -0
- data/share/views/public/plugins/semantic-ui/examples/{images → assets/images}/wireframe/image-text.png +0 -0
- data/share/views/public/plugins/semantic-ui/examples/{images → assets/images}/wireframe/image.png +0 -0
- data/share/views/public/plugins/semantic-ui/examples/{images → assets/images}/wireframe/media-paragraph-alt.png +0 -0
- data/share/views/public/plugins/semantic-ui/examples/{images → assets/images}/wireframe/media-paragraph.png +0 -0
- data/share/views/public/plugins/semantic-ui/examples/{images → assets/images}/wireframe/paragraph.png +0 -0
- data/share/views/public/plugins/semantic-ui/examples/{images → assets/images}/wireframe/short-paragraph.png +0 -0
- data/share/views/public/plugins/semantic-ui/examples/{images → assets/images}/wireframe/square-image.png +0 -0
- data/share/views/public/plugins/semantic-ui/examples/{images → assets/images}/wireframe/text-image.png +0 -0
- data/share/views/public/plugins/semantic-ui/examples/{images → assets/images}/wireframe/white-image.png +0 -0
- data/share/views/public/plugins/semantic-ui/examples/assets/library/iframe-content.js +707 -0
- data/share/views/public/plugins/semantic-ui/examples/assets/library/iframe.js +642 -0
- data/share/views/public/plugins/semantic-ui/examples/assets/library/jquery.min.js +4 -0
- data/share/views/public/plugins/semantic-ui/examples/assets/show-examples.js +15 -0
- data/share/views/public/plugins/semantic-ui/examples/bootstrap.html +453 -0
- data/share/views/public/plugins/semantic-ui/examples/components/button.html +222 -0
- data/share/views/public/plugins/semantic-ui/examples/components/card.html +313 -0
- data/share/views/public/plugins/semantic-ui/examples/components/input.html +159 -0
- data/share/views/public/plugins/semantic-ui/examples/components/menu.html +183 -0
- data/share/views/public/plugins/semantic-ui/examples/components/site.html +74 -0
- data/share/views/public/plugins/semantic-ui/examples/components/table.html +471 -0
- data/share/views/public/plugins/semantic-ui/examples/fixed.html +137 -0
- data/share/views/public/plugins/semantic-ui/examples/grid.html +366 -1397
- data/share/views/public/plugins/semantic-ui/examples/homepage.html +249 -268
- data/share/views/public/plugins/semantic-ui/examples/login.html +125 -0
- data/share/views/public/plugins/semantic-ui/examples/responsive.html +689 -0
- data/share/views/public/plugins/semantic-ui/examples/sticky.html +230 -0
- data/share/views/public/plugins/semantic-ui/examples/theming.html +88 -0
- data/share/views/public/plugins/semantic-ui/gulpfile.js +47 -1082
- data/share/views/public/plugins/semantic-ui/karma.conf.js +0 -0
- data/share/views/public/plugins/semantic-ui/logo.png +0 -0
- data/share/views/public/plugins/semantic-ui/package.json +70 -36
- data/share/views/public/plugins/semantic-ui/semantic.json.example +4 -1
- data/share/views/public/plugins/semantic-ui/src/README.md +127 -0
- data/share/views/public/plugins/semantic-ui/src/_site/collections/breadcrumb.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/collections/breadcrumb.variables +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/collections/form.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/collections/grid.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/collections/menu.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/collections/table.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/elements/button.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/{modules/video.overrides → elements/container.overrides} +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/elements/container.variables +3 -0
- data/share/views/public/plugins/semantic-ui/src/_site/elements/divider.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/elements/flag.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/elements/header.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/elements/icon.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/elements/image.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/elements/input.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/elements/label.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/elements/loader.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/elements/rail.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/elements/reveal.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/elements/segment.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/elements/step.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/globals/reset.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/globals/site.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/modules/checkbox.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/modules/embed.overrides +3 -0
- data/share/views/public/plugins/semantic-ui/src/_site/modules/{video.variables → embed.variables} +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/modules/modal.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/modules/modal.variables +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/modules/progress.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/modules/rating.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/modules/rating.variables +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/modules/search.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/modules/search.variables +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/modules/sidebar.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/modules/sidebar.variables +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/modules/sticky.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/modules/sticky.variables +0 -0
- data/share/views/public/plugins/semantic-ui/src/_site/modules/transition.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/definitions/behaviors/api.js +428 -190
- data/share/views/public/plugins/semantic-ui/src/definitions/behaviors/colorize.js +6 -4
- data/share/views/public/plugins/semantic-ui/src/definitions/behaviors/form.js +654 -193
- data/share/views/public/plugins/semantic-ui/src/definitions/behaviors/state.js +37 -32
- data/share/views/public/plugins/semantic-ui/src/definitions/behaviors/visibility.js +423 -161
- data/share/views/public/plugins/semantic-ui/src/definitions/behaviors/visit.js +18 -14
- data/share/views/public/plugins/semantic-ui/src/definitions/collections/breadcrumb.less +7 -6
- data/share/views/public/plugins/semantic-ui/src/definitions/collections/form.less +243 -103
- data/share/views/public/plugins/semantic-ui/src/definitions/collections/grid.less +522 -430
- data/share/views/public/plugins/semantic-ui/src/definitions/collections/menu.less +872 -640
- data/share/views/public/plugins/semantic-ui/src/definitions/collections/message.less +97 -79
- data/share/views/public/plugins/semantic-ui/src/definitions/collections/table.less +314 -132
- data/share/views/public/plugins/semantic-ui/src/definitions/elements/button.less +1300 -480
- data/share/views/public/plugins/semantic-ui/src/definitions/elements/container.less +125 -0
- data/share/views/public/plugins/semantic-ui/src/definitions/elements/divider.less +36 -37
- data/share/views/public/plugins/semantic-ui/src/definitions/elements/flag.less +12 -5
- data/share/views/public/plugins/semantic-ui/src/definitions/elements/header.less +308 -157
- data/share/views/public/plugins/semantic-ui/src/definitions/elements/icon.less +207 -106
- data/share/views/public/plugins/semantic-ui/src/definitions/elements/image.less +71 -13
- data/share/views/public/plugins/semantic-ui/src/definitions/elements/input.less +127 -104
- data/share/views/public/plugins/semantic-ui/src/definitions/elements/label.less +454 -268
- data/share/views/public/plugins/semantic-ui/src/definitions/elements/list.less +127 -96
- data/share/views/public/plugins/semantic-ui/src/definitions/elements/loader.less +13 -6
- data/share/views/public/plugins/semantic-ui/src/definitions/elements/rail.less +40 -31
- data/share/views/public/plugins/semantic-ui/src/definitions/elements/reveal.less +31 -15
- data/share/views/public/plugins/semantic-ui/src/definitions/elements/segment.less +265 -140
- data/share/views/public/plugins/semantic-ui/src/definitions/elements/step.less +243 -67
- data/share/views/public/plugins/semantic-ui/src/definitions/globals/reset.less +8 -6
- data/share/views/public/plugins/semantic-ui/src/definitions/globals/site.js +8 -8
- data/share/views/public/plugins/semantic-ui/src/definitions/globals/site.less +44 -13
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/accordion.js +182 -94
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/accordion.less +13 -9
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/checkbox.js +348 -111
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/checkbox.less +196 -96
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/dimmer.js +89 -48
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/dimmer.less +30 -20
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/dropdown.js +2263 -536
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/dropdown.less +498 -97
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/embed.js +662 -0
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/embed.less +164 -0
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/modal.js +280 -202
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/modal.less +91 -47
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/nag.js +10 -11
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/nag.less +6 -6
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/popup.js +473 -233
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/popup.less +55 -13
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/progress.js +252 -111
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/progress.less +182 -107
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/rating.js +85 -61
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/rating.less +64 -70
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/search.js +688 -296
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/search.less +60 -14
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/shape.js +102 -56
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/shape.less +10 -11
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/sidebar.js +296 -249
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/sidebar.less +140 -44
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/sticky.js +222 -108
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/sticky.less +6 -5
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/tab.js +268 -172
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/tab.less +6 -5
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/transition.js +355 -210
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/transition.less +8 -18
- data/share/views/public/plugins/semantic-ui/src/definitions/views/ad.less +6 -4
- data/share/views/public/plugins/semantic-ui/src/definitions/views/card.less +385 -92
- data/share/views/public/plugins/semantic-ui/src/definitions/views/comment.less +6 -6
- data/share/views/public/plugins/semantic-ui/src/definitions/views/feed.less +19 -12
- data/share/views/public/plugins/semantic-ui/src/definitions/views/item.less +18 -19
- data/share/views/public/plugins/semantic-ui/src/definitions/views/statistic.less +232 -90
- data/share/views/public/plugins/semantic-ui/src/semantic.less +66 -0
- data/share/views/public/plugins/semantic-ui/src/theme.config.example +19 -23
- data/share/views/public/plugins/semantic-ui/src/theme.less +24 -17
- data/share/views/public/plugins/semantic-ui/src/themes/amazon/elements/button.overrides +5 -5
- data/share/views/public/plugins/semantic-ui/src/themes/amazon/elements/button.variables +5 -4
- data/share/views/public/plugins/semantic-ui/src/themes/basic/collections/table.variables +1 -0
- data/share/views/public/plugins/semantic-ui/src/themes/basic/elements/icon.overrides +156 -156
- data/share/views/public/plugins/semantic-ui/src/themes/basic/elements/icon.variables +7 -0
- data/share/views/public/plugins/semantic-ui/src/themes/basic/views/card.variables +7 -6
- data/share/views/public/plugins/semantic-ui/src/themes/bookish/elements/header.variables +4 -4
- data/share/views/public/plugins/semantic-ui/src/themes/bootstrap3/elements/button.variables +1 -1
- data/share/views/public/plugins/semantic-ui/src/themes/chubby/collections/form.overrides +8 -0
- data/share/views/public/plugins/semantic-ui/src/themes/chubby/collections/menu.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/chubby/collections/menu.variables +40 -0
- data/share/views/public/plugins/semantic-ui/src/themes/chubby/elements/header.variables +4 -4
- data/share/views/public/plugins/semantic-ui/src/themes/classic/modules/progress.variables +1 -0
- data/share/views/public/plugins/semantic-ui/src/themes/classic/views/card.overrides +1 -1
- data/share/views/public/plugins/semantic-ui/src/themes/colored/modules/checkbox.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/colored/modules/checkbox.variables +17 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/assets/fonts/icons.eot +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/assets/fonts/icons.svg +526 -465
- data/share/views/public/plugins/semantic-ui/src/themes/default/assets/fonts/icons.ttf +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/assets/fonts/icons.woff +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/assets/fonts/icons.woff2 +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/assets/images/flags.png +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/collections/breadcrumb.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/collections/breadcrumb.variables +7 -17
- data/share/views/public/plugins/semantic-ui/src/themes/default/collections/form.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/collections/form.variables +39 -39
- data/share/views/public/plugins/semantic-ui/src/themes/default/collections/grid.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/collections/grid.variables +34 -29
- data/share/views/public/plugins/semantic-ui/src/themes/default/collections/menu.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/collections/menu.variables +265 -157
- data/share/views/public/plugins/semantic-ui/src/themes/default/collections/message.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/collections/message.variables +42 -19
- data/share/views/public/plugins/semantic-ui/src/themes/default/collections/table.overrides +0 -3
- data/share/views/public/plugins/semantic-ui/src/themes/default/collections/table.variables +64 -60
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/button.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/button.variables +110 -36
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/container.overrides +3 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/container.variables +45 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/divider.overrides +15 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/divider.variables +3 -4
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/flag.overrides +0 -1
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/header.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/header.variables +59 -34
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/icon.overrides +142 -38
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/icon.variables +30 -4
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/image.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/image.variables +5 -3
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/input.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/input.variables +12 -26
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/label.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/label.variables +101 -38
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/list.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/list.variables +53 -34
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/loader.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/loader.variables +9 -10
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/rail.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/rail.variables +15 -5
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/reveal.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/reveal.variables +6 -4
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/segment.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/segment.variables +66 -28
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/step.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/elements/step.variables +64 -30
- data/share/views/public/plugins/semantic-ui/src/themes/default/globals/reset.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/globals/site.variables +519 -331
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/accordion.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/accordion.variables +10 -11
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/chatroom.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/checkbox.overrides +19 -16
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/checkbox.variables +72 -43
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/dimmer.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/dimmer.variables +20 -10
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/dropdown.overrides +5 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/dropdown.variables +188 -63
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/{video.overrides → embed.overrides} +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/embed.variables +53 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/modal.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/modal.variables +26 -22
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/nag.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/popup.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/popup.variables +6 -12
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/progress.variables +14 -8
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/rating.overrides +0 -1
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/rating.variables +72 -34
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/search.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/search.variables +36 -34
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/shape.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/shape.variables +7 -2
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/sidebar.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/sidebar.variables +19 -13
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/sticky.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/sticky.variables +2 -7
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/tab.variables +1 -3
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/transition.overrides +689 -224
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/transition.variables +1 -1
- data/share/views/public/plugins/semantic-ui/src/themes/default/views/ad.variables +2 -2
- data/share/views/public/plugins/semantic-ui/src/themes/default/views/card.variables +61 -37
- data/share/views/public/plugins/semantic-ui/src/themes/default/views/comment.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/views/feed.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/views/feed.variables +15 -23
- data/share/views/public/plugins/semantic-ui/src/themes/default/views/item.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/views/item.variables +17 -15
- data/share/views/public/plugins/semantic-ui/src/themes/default/views/statistic.overrides +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/views/statistic.variables +25 -24
- data/share/views/public/plugins/semantic-ui/src/themes/fixed-width/collections/grid.variables +1 -3
- data/share/views/public/plugins/semantic-ui/src/themes/flat/collections/form.overrides +4 -0
- data/share/views/public/plugins/semantic-ui/src/themes/flat/collections/form.variables +1 -2
- data/share/views/public/plugins/semantic-ui/src/themes/flat/globals/site.variables +1 -0
- data/share/views/public/plugins/semantic-ui/src/themes/github/collections/form.variables +1 -1
- data/share/views/public/plugins/semantic-ui/src/themes/github/collections/menu.variables +10 -15
- data/share/views/public/plugins/semantic-ui/src/themes/github/elements/button.variables +2 -2
- data/share/views/public/plugins/semantic-ui/src/themes/github/elements/step.variables +2 -2
- data/share/views/public/plugins/semantic-ui/src/themes/instagram/views/card.overrides +12 -0
- data/share/views/public/plugins/semantic-ui/src/themes/instagram/views/card.variables +23 -0
- data/share/views/public/plugins/semantic-ui/src/themes/material/collections/menu.overrides +1 -0
- data/share/views/public/plugins/semantic-ui/src/themes/material/collections/menu.variables +10 -0
- data/share/views/public/plugins/semantic-ui/src/themes/material/elements/button.overrides +4 -4
- data/share/views/public/plugins/semantic-ui/src/themes/material/elements/button.variables +14 -6
- data/share/views/public/plugins/semantic-ui/src/themes/material/globals/site.variables +3 -2
- data/share/views/public/plugins/semantic-ui/src/themes/material/modules/dropdown.overrides +5 -0
- data/share/views/public/plugins/semantic-ui/src/themes/material/modules/dropdown.variables +20 -0
- data/share/views/public/plugins/semantic-ui/src/themes/raised/elements/button.variables +5 -5
- data/share/views/public/plugins/semantic-ui/src/themes/round/elements/button.variables +1 -1
- data/share/views/public/plugins/semantic-ui/src/themes/rtl/globals/site.overrides +6 -0
- data/share/views/public/plugins/semantic-ui/src/themes/rtl/globals/site.variables +14 -0
- data/share/views/public/plugins/semantic-ui/src/themes/timeline/views/feed.overrides +4 -12
- data/share/views/public/plugins/semantic-ui/src/themes/timeline/views/feed.variables +3 -7
- data/share/views/public/plugins/semantic-ui/tasks/README.md +17 -0
- data/share/views/public/plugins/semantic-ui/tasks/admin/components/create.js +332 -0
- data/share/views/public/plugins/semantic-ui/tasks/admin/components/init.js +170 -0
- data/share/views/public/plugins/semantic-ui/tasks/admin/components/update.js +184 -0
- data/share/views/public/plugins/semantic-ui/tasks/admin/distributions/create.js +219 -0
- data/share/views/public/plugins/semantic-ui/tasks/admin/distributions/init.js +170 -0
- data/share/views/public/plugins/semantic-ui/tasks/admin/distributions/update.js +182 -0
- data/share/views/public/plugins/semantic-ui/tasks/admin/publish.js +25 -0
- data/share/views/public/plugins/semantic-ui/tasks/admin/register.js +55 -0
- data/share/views/public/plugins/semantic-ui/tasks/admin/release.js +20 -76
- data/share/views/public/plugins/semantic-ui/tasks/build.js +37 -0
- data/share/views/public/plugins/semantic-ui/tasks/build/assets.js +35 -0
- data/share/views/public/plugins/semantic-ui/tasks/build/css.js +105 -0
- data/share/views/public/plugins/semantic-ui/tasks/build/javascript.js +77 -0
- data/share/views/public/plugins/semantic-ui/tasks/check-install.js +28 -0
- data/share/views/public/plugins/semantic-ui/tasks/clean.js +14 -0
- data/share/views/public/plugins/semantic-ui/tasks/collections/README.md +16 -0
- data/share/views/public/plugins/semantic-ui/tasks/collections/admin.js +49 -0
- data/share/views/public/plugins/semantic-ui/tasks/collections/internal.js +214 -0
- data/share/views/public/plugins/semantic-ui/tasks/config/admin/github.js +38 -0
- data/share/views/public/plugins/semantic-ui/tasks/{admin → config/admin}/oauth.example.js +5 -0
- data/share/views/public/plugins/semantic-ui/tasks/config/admin/release.js +110 -0
- data/share/views/public/plugins/semantic-ui/tasks/{admin → config/admin}/templates/README.md +6 -0
- data/share/views/public/plugins/semantic-ui/tasks/{admin → config/admin}/templates/bower.json +0 -0
- data/share/views/public/plugins/semantic-ui/tasks/config/admin/templates/component-package.js +14 -0
- data/share/views/public/plugins/semantic-ui/tasks/{admin → config/admin}/templates/composer.json +0 -0
- data/share/views/public/plugins/semantic-ui/tasks/config/admin/templates/css-package.js +34 -0
- data/share/views/public/plugins/semantic-ui/tasks/config/admin/templates/less-package.js +21 -0
- data/share/views/public/plugins/semantic-ui/tasks/{admin → config/admin}/templates/package.json +0 -0
- data/share/views/public/plugins/semantic-ui/tasks/config/defaults.js +117 -0
- data/share/views/public/plugins/semantic-ui/tasks/config/docs.js +32 -0
- data/share/views/public/plugins/semantic-ui/tasks/config/npm/gulpfile.js +72 -0
- data/share/views/public/plugins/semantic-ui/tasks/config/project/config.js +142 -0
- data/share/views/public/plugins/semantic-ui/tasks/config/project/install.js +756 -0
- data/share/views/public/plugins/semantic-ui/tasks/config/project/release.js +61 -0
- data/share/views/public/plugins/semantic-ui/tasks/config/tasks.js +160 -0
- data/share/views/public/plugins/semantic-ui/tasks/config/user.js +58 -0
- data/share/views/public/plugins/semantic-ui/tasks/docs/build.js +189 -0
- data/share/views/public/plugins/semantic-ui/tasks/docs/metadata.js +137 -0
- data/share/views/public/plugins/semantic-ui/tasks/docs/serve.js +255 -0
- data/share/views/public/plugins/semantic-ui/tasks/install.js +397 -0
- data/share/views/public/plugins/semantic-ui/tasks/rtl/build.js +132 -0
- data/share/views/public/plugins/semantic-ui/tasks/rtl/watch.js +221 -0
- data/share/views/public/plugins/semantic-ui/tasks/version.js +11 -0
- data/share/views/public/plugins/semantic-ui/tasks/watch.js +228 -0
- data/share/views/public/plugins/semantic-ui/test/coverage/PhantomJS 1.9.2 (Linux)/index.html b/data/share/views/public/plugins/semantic-ui/test/coverage/PhantomJS 1.9.2 → (Linux)/index.html +0 -0
- data/share/views/public/plugins/semantic-ui/test/coverage/PhantomJS 1.9.2 (Linux)/prettify.css b/data/share/views/public/plugins/semantic-ui/test/coverage/PhantomJS 1.9.2 → (Linux)/prettify.css +0 -0
- data/share/views/public/plugins/semantic-ui/test/coverage/PhantomJS 1.9.2 (Linux)/prettify.js b/data/share/views/public/plugins/semantic-ui/test/coverage/PhantomJS 1.9.2 → (Linux)/prettify.js +0 -0
- data/share/views/public/plugins/semantic-ui/test/coverage/coverage-PhantomJS 1.9.2 (Linux)-20131014_012621.json b/data/share/views/public/plugins/semantic-ui/test/coverage/coverage-PhantomJS 1.9.2 → (Linux)-20131014_012621.json +0 -0
- data/share/views/public/plugins/semantic-ui/test/coverage/coverage-PhantomJS 1.9.2 (Linux)-20131014_012811.json b/data/share/views/public/plugins/semantic-ui/test/coverage/coverage-PhantomJS 1.9.2 → (Linux)-20131014_012811.json +0 -0
- data/share/views/public/plugins/semantic-ui/test/fixtures/accordion.html +0 -0
- data/share/views/public/plugins/semantic-ui/test/fixtures/checkbox.html +0 -0
- data/share/views/public/plugins/semantic-ui/test/fixtures/dropdown.html +0 -0
- data/share/views/public/plugins/semantic-ui/test/fixtures/modal.html +0 -0
- data/share/views/public/plugins/semantic-ui/test/fixtures/popup.html +0 -0
- data/share/views/public/plugins/semantic-ui/test/fixtures/rating.html +0 -0
- data/share/views/public/plugins/semantic-ui/test/fixtures/shape.html +0 -0
- data/share/views/public/plugins/semantic-ui/test/fixtures/sidebar.html +0 -0
- data/share/views/public/plugins/semantic-ui/test/fixtures/tab.html +0 -0
- data/share/views/public/plugins/semantic-ui/test/fixtures/transition.html +0 -0
- data/share/views/public/plugins/semantic-ui/test/fixtures/video.html +0 -0
- data/share/views/public/plugins/semantic-ui/test/helpers/jasmine-clog.js +0 -0
- data/share/views/public/plugins/semantic-ui/test/helpers/jasmine-jquery.js +0 -0
- data/share/views/public/plugins/semantic-ui/test/helpers/jasmine-sinon.js +0 -0
- data/share/views/public/plugins/semantic-ui/test/helpers/jquery-events.js +0 -0
- data/share/views/public/plugins/semantic-ui/test/helpers/sinon.js +0 -0
- data/share/views/public/plugins/semantic-ui/test/meteor/assets.js +20 -0
- data/share/views/public/plugins/semantic-ui/test/meteor/fonts.js +16 -0
- data/share/views/public/plugins/semantic-ui/test/modules/accordion.spec.js +0 -0
- data/share/views/public/plugins/semantic-ui/test/modules/checkbox.spec.js +0 -0
- data/share/views/public/plugins/semantic-ui/test/modules/dropdown.spec.js +0 -0
- data/share/views/public/plugins/semantic-ui/test/modules/modal.spec.js +0 -0
- data/share/views/public/plugins/semantic-ui/test/modules/module.spec.js +0 -0
- data/share/views/public/plugins/semantic-ui/test/modules/popup.spec.js +0 -0
- data/share/views/public/plugins/semantic-ui/test/modules/search.spec.js +0 -0
- data/share/views/public/plugins/semantic-ui/test/modules/shape.spec.js +0 -0
- data/share/views/public/plugins/semantic-ui/test/modules/sidebar.spec.js +0 -0
- data/share/views/public/plugins/semantic-ui/test/modules/tab.spec.js +0 -0
- data/share/views/public/plugins/semantic-ui/test/modules/transition.spec.js +0 -0
- data/share/views/public/plugins/semantic-ui/test/modules/video.spec.js +0 -0
- metadata +114 -45
- data/share/views/public/js/jquery-ui.js +0 -313
- data/share/views/public/plugins/semantic-ui/GETTING-STARTED.md +0 -96
- data/share/views/public/plugins/semantic-ui/examples/feed.css +0 -93
- data/share/views/public/plugins/semantic-ui/examples/feed.html +0 -174
- data/share/views/public/plugins/semantic-ui/examples/feed.js +0 -23
- data/share/views/public/plugins/semantic-ui/examples/grid.css +0 -102
- data/share/views/public/plugins/semantic-ui/examples/homepage.css +0 -134
- data/share/views/public/plugins/semantic-ui/examples/homepage.js +0 -57
- data/share/views/public/plugins/semantic-ui/examples/images/bg.jpg +0 -0
- data/share/views/public/plugins/semantic-ui/examples/images/cat.png +0 -0
- data/share/views/public/plugins/semantic-ui/examples/kitchensink.css +0 -49
- data/share/views/public/plugins/semantic-ui/examples/kitchensink.html +0 -5454
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/video.js +0 -539
- data/share/views/public/plugins/semantic-ui/src/definitions/modules/video.less +0 -125
- data/share/views/public/plugins/semantic-ui/src/themes/default/assets/fonts/icons.otf +0 -0
- data/share/views/public/plugins/semantic-ui/src/themes/default/modules/video.variables +0 -16
- data/share/views/public/plugins/semantic-ui/tasks/admin/docs.json +0 -19
- data/share/views/public/plugins/semantic-ui/tasks/admin/questions.js +0 -50
- data/share/views/public/plugins/semantic-ui/tasks/banner.js +0 -12
- data/share/views/public/plugins/semantic-ui/tasks/comments.js +0 -20
- data/share/views/public/plugins/semantic-ui/tasks/defaults.js +0 -69
- data/share/views/public/plugins/semantic-ui/tasks/gulp-settings.js +0 -51
- data/share/views/public/plugins/semantic-ui/tasks/log.js +0 -8
- data/share/views/public/plugins/semantic-ui/tasks/questions.js +0 -425
@@ -1,9 +1,9 @@
|
|
1
|
-
|
2
|
-
* # Semantic - Colorize
|
1
|
+
/*!
|
2
|
+
* # Semantic UI - Colorize
|
3
3
|
* http://github.com/semantic-org/semantic-ui/
|
4
4
|
*
|
5
5
|
*
|
6
|
-
* Copyright
|
6
|
+
* Copyright 2015 Contributors
|
7
7
|
* Released under the MIT license
|
8
8
|
* http://opensource.org/licenses/MIT
|
9
9
|
*
|
@@ -15,7 +15,9 @@
|
|
15
15
|
|
16
16
|
$.fn.colorize = function(parameters) {
|
17
17
|
var
|
18
|
-
settings
|
18
|
+
settings = ( $.isPlainObject(parameters) )
|
19
|
+
? $.extend(true, {}, $.fn.colorize.settings, parameters)
|
20
|
+
: $.extend({}, $.fn.colorize.settings),
|
19
21
|
// hoist arguments
|
20
22
|
moduleArguments = arguments || false
|
21
23
|
;
|
@@ -1,9 +1,9 @@
|
|
1
|
-
|
2
|
-
* # Semantic - Form Validation
|
1
|
+
/*!
|
2
|
+
* # Semantic UI - Form Validation
|
3
3
|
* http://github.com/semantic-org/semantic-ui/
|
4
4
|
*
|
5
5
|
*
|
6
|
-
* Copyright
|
6
|
+
* Copyright 2015 Contributors
|
7
7
|
* Released under the MIT license
|
8
8
|
* http://opensource.org/licenses/MIT
|
9
9
|
*
|
@@ -11,55 +11,74 @@
|
|
11
11
|
|
12
12
|
;(function ( $, window, document, undefined ) {
|
13
13
|
|
14
|
-
|
15
|
-
var
|
16
|
-
$allModules = $(this),
|
17
|
-
|
18
|
-
settings = $.extend(true, {}, $.fn.form.settings, parameters),
|
19
|
-
validation = $.extend({}, $.fn.form.settings.defaults, fields),
|
20
|
-
|
21
|
-
namespace = settings.namespace,
|
22
|
-
metadata = settings.metadata,
|
23
|
-
selector = settings.selector,
|
24
|
-
className = settings.className,
|
25
|
-
error = settings.error,
|
14
|
+
"use strict";
|
26
15
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
moduleSelector
|
16
|
+
$.fn.form = function(parameters) {
|
17
|
+
var
|
18
|
+
$allModules = $(this),
|
19
|
+
moduleSelector = $allModules.selector || '',
|
31
20
|
|
32
|
-
time
|
33
|
-
performance
|
21
|
+
time = new Date().getTime(),
|
22
|
+
performance = [],
|
34
23
|
|
35
|
-
query
|
36
|
-
|
37
|
-
|
24
|
+
query = arguments[0],
|
25
|
+
legacyParameters = arguments[1],
|
26
|
+
methodInvoked = (typeof query == 'string'),
|
27
|
+
queryArguments = [].slice.call(arguments, 1),
|
38
28
|
returnedValue
|
39
29
|
;
|
40
30
|
$allModules
|
41
31
|
.each(function() {
|
42
32
|
var
|
43
|
-
$module
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
33
|
+
$module = $(this),
|
34
|
+
element = this,
|
35
|
+
|
36
|
+
formErrors = [],
|
37
|
+
keyHeldDown = false,
|
38
|
+
|
39
|
+
// set at run-time
|
40
|
+
$field,
|
41
|
+
$group,
|
42
|
+
$message,
|
43
|
+
$prompt,
|
44
|
+
$submit,
|
45
|
+
$clear,
|
46
|
+
$reset,
|
47
|
+
|
48
|
+
settings,
|
49
|
+
validation,
|
50
|
+
|
51
|
+
metadata,
|
52
|
+
selector,
|
53
|
+
className,
|
54
|
+
error,
|
49
55
|
|
50
|
-
|
56
|
+
namespace,
|
57
|
+
moduleNamespace,
|
58
|
+
eventNamespace,
|
51
59
|
|
52
|
-
|
53
|
-
instance = $module.data(moduleNamespace),
|
60
|
+
instance,
|
54
61
|
module
|
55
62
|
;
|
56
63
|
|
57
64
|
module = {
|
58
65
|
|
59
66
|
initialize: function() {
|
60
|
-
|
61
|
-
|
62
|
-
module.
|
67
|
+
|
68
|
+
// settings grabbed at run time
|
69
|
+
module.get.settings();
|
70
|
+
if(methodInvoked) {
|
71
|
+
if(instance === undefined) {
|
72
|
+
module.instantiate();
|
73
|
+
}
|
74
|
+
module.invoke(query);
|
75
|
+
}
|
76
|
+
else {
|
77
|
+
module.verbose('Initializing form validation', $module, settings);
|
78
|
+
module.bindEvents();
|
79
|
+
module.set.defaults();
|
80
|
+
module.instantiate();
|
81
|
+
}
|
63
82
|
},
|
64
83
|
|
65
84
|
instantiate: function() {
|
@@ -80,7 +99,14 @@ $.fn.form = function(fields, parameters) {
|
|
80
99
|
|
81
100
|
refresh: function() {
|
82
101
|
module.verbose('Refreshing selector cache');
|
83
|
-
$field
|
102
|
+
$field = $module.find(selector.field);
|
103
|
+
$group = $module.find(selector.group);
|
104
|
+
$message = $module.find(selector.message);
|
105
|
+
$prompt = $module.find(selector.prompt);
|
106
|
+
|
107
|
+
$submit = $module.find(selector.submit);
|
108
|
+
$clear = $module.find(selector.clear);
|
109
|
+
$reset = $module.find(selector.reset);
|
84
110
|
},
|
85
111
|
|
86
112
|
submit: function() {
|
@@ -93,7 +119,7 @@ $.fn.form = function(fields, parameters) {
|
|
93
119
|
attachEvents: function(selector, action) {
|
94
120
|
action = action || 'submit';
|
95
121
|
$(selector)
|
96
|
-
.on('click', function(event) {
|
122
|
+
.on('click' + eventNamespace, function(event) {
|
97
123
|
module[action]();
|
98
124
|
event.preventDefault();
|
99
125
|
})
|
@@ -101,26 +127,25 @@ $.fn.form = function(fields, parameters) {
|
|
101
127
|
},
|
102
128
|
|
103
129
|
bindEvents: function() {
|
104
|
-
|
105
|
-
if(settings.keyboardShortcuts) {
|
106
|
-
$field
|
107
|
-
.on('keydown' + eventNamespace, module.event.field.keydown)
|
108
|
-
;
|
109
|
-
}
|
130
|
+
module.verbose('Attaching form events');
|
110
131
|
$module
|
111
132
|
.on('submit' + eventNamespace, module.validate.form)
|
133
|
+
.on('blur' + eventNamespace, selector.field, module.event.field.blur)
|
134
|
+
.on('click' + eventNamespace, selector.submit, module.submit)
|
135
|
+
.on('click' + eventNamespace, selector.reset, module.reset)
|
136
|
+
.on('click' + eventNamespace, selector.clear, module.clear)
|
112
137
|
;
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
138
|
+
if(settings.keyboardShortcuts) {
|
139
|
+
$module
|
140
|
+
.on('keydown' + eventNamespace, selector.field, module.event.field.keydown)
|
141
|
+
;
|
142
|
+
}
|
119
143
|
$field
|
120
144
|
.each(function() {
|
121
145
|
var
|
122
|
-
|
123
|
-
|
146
|
+
$input = $(this),
|
147
|
+
type = $input.prop('type'),
|
148
|
+
inputEvent = module.get.changeEvent(type, $input)
|
124
149
|
;
|
125
150
|
$(this)
|
126
151
|
.on(inputEvent + eventNamespace, module.event.field.change)
|
@@ -129,6 +154,91 @@ $.fn.form = function(fields, parameters) {
|
|
129
154
|
;
|
130
155
|
},
|
131
156
|
|
157
|
+
clear: function() {
|
158
|
+
$field
|
159
|
+
.each(function () {
|
160
|
+
var
|
161
|
+
$field = $(this),
|
162
|
+
$element = $field.parent(),
|
163
|
+
$fieldGroup = $field.closest($group),
|
164
|
+
$prompt = $fieldGroup.find(selector.prompt),
|
165
|
+
defaultValue = $field.data(metadata.defaultValue) || '',
|
166
|
+
isCheckbox = $element.is(selector.uiCheckbox),
|
167
|
+
isDropdown = $element.is(selector.uiDropdown),
|
168
|
+
isErrored = $fieldGroup.hasClass(className.error)
|
169
|
+
;
|
170
|
+
if(isErrored) {
|
171
|
+
module.verbose('Resetting error on field', $fieldGroup);
|
172
|
+
$fieldGroup.removeClass(className.error);
|
173
|
+
$prompt.remove();
|
174
|
+
}
|
175
|
+
if(isDropdown) {
|
176
|
+
module.verbose('Resetting dropdown value', $element, defaultValue);
|
177
|
+
$element.dropdown('clear');
|
178
|
+
}
|
179
|
+
else if(isCheckbox) {
|
180
|
+
$field.prop('checked', false);
|
181
|
+
}
|
182
|
+
else {
|
183
|
+
module.verbose('Resetting field value', $field, defaultValue);
|
184
|
+
$field.val('');
|
185
|
+
}
|
186
|
+
})
|
187
|
+
;
|
188
|
+
},
|
189
|
+
|
190
|
+
reset: function() {
|
191
|
+
$field
|
192
|
+
.each(function () {
|
193
|
+
var
|
194
|
+
$field = $(this),
|
195
|
+
$element = $field.parent(),
|
196
|
+
$fieldGroup = $field.closest($group),
|
197
|
+
$prompt = $fieldGroup.find(selector.prompt),
|
198
|
+
defaultValue = $field.data(metadata.defaultValue),
|
199
|
+
isCheckbox = $element.is(selector.uiCheckbox),
|
200
|
+
isDropdown = $element.is(selector.uiDropdown),
|
201
|
+
isErrored = $fieldGroup.hasClass(className.error)
|
202
|
+
;
|
203
|
+
if(defaultValue === undefined) {
|
204
|
+
defaultValue = '';
|
205
|
+
}
|
206
|
+
if(isErrored) {
|
207
|
+
module.verbose('Resetting error on field', $fieldGroup);
|
208
|
+
$fieldGroup.removeClass(className.error);
|
209
|
+
$prompt.remove();
|
210
|
+
}
|
211
|
+
if(isDropdown) {
|
212
|
+
module.verbose('Resetting dropdown value', $element, defaultValue);
|
213
|
+
$element.dropdown('restore defaults');
|
214
|
+
}
|
215
|
+
else if(isCheckbox) {
|
216
|
+
module.verbose('Resetting checkbox value', $element, defaultValue);
|
217
|
+
$field.prop('checked', defaultValue);
|
218
|
+
}
|
219
|
+
else {
|
220
|
+
module.verbose('Resetting field value', $field, defaultValue);
|
221
|
+
$field.val(defaultValue);
|
222
|
+
}
|
223
|
+
})
|
224
|
+
;
|
225
|
+
},
|
226
|
+
|
227
|
+
is: {
|
228
|
+
valid: function() {
|
229
|
+
var
|
230
|
+
allValid = true
|
231
|
+
;
|
232
|
+
module.verbose('Checking if form is valid');
|
233
|
+
$.each(validation, function(fieldName, field) {
|
234
|
+
if( !( module.validate.field(field) ) ) {
|
235
|
+
allValid = false;
|
236
|
+
}
|
237
|
+
});
|
238
|
+
return allValid;
|
239
|
+
}
|
240
|
+
},
|
241
|
+
|
132
242
|
removeEvents: function() {
|
133
243
|
$module
|
134
244
|
.off(eventNamespace)
|
@@ -161,32 +271,32 @@ $.fn.form = function(fields, parameters) {
|
|
161
271
|
.blur()
|
162
272
|
;
|
163
273
|
}
|
164
|
-
if(!event.ctrlKey && key == keyCode.enter && $field.is(selector.input) && $field.not(selector.checkbox).
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
.
|
171
|
-
|
274
|
+
if(!event.ctrlKey && key == keyCode.enter && $field.is(selector.input) && $field.not(selector.checkbox).length > 0 ) {
|
275
|
+
if(!keyHeldDown) {
|
276
|
+
$field
|
277
|
+
.one('keyup' + eventNamespace, module.event.field.keyup)
|
278
|
+
;
|
279
|
+
module.submit();
|
280
|
+
module.debug('Enter pressed on input submitting form');
|
281
|
+
}
|
282
|
+
keyHeldDown = true;
|
172
283
|
}
|
173
284
|
},
|
174
285
|
keyup: function() {
|
175
|
-
|
176
|
-
$submit.removeClass(className.down);
|
177
|
-
module.submit();
|
286
|
+
keyHeldDown = false;
|
178
287
|
},
|
179
288
|
blur: function() {
|
180
289
|
var
|
181
|
-
$field
|
182
|
-
$fieldGroup
|
290
|
+
$field = $(this),
|
291
|
+
$fieldGroup = $field.closest($group),
|
292
|
+
validationRules = module.get.validation($field)
|
183
293
|
;
|
184
294
|
if( $fieldGroup.hasClass(className.error) ) {
|
185
|
-
module.debug('Revalidating field', $field,
|
186
|
-
module.validate.field(
|
295
|
+
module.debug('Revalidating field', $field, validationRules);
|
296
|
+
module.validate.field( validationRules );
|
187
297
|
}
|
188
298
|
else if(settings.on == 'blur' || settings.on == 'change') {
|
189
|
-
module.validate.field(
|
299
|
+
module.validate.field( validationRules );
|
190
300
|
}
|
191
301
|
},
|
192
302
|
change: function() {
|
@@ -207,42 +317,177 @@ $.fn.form = function(fields, parameters) {
|
|
207
317
|
},
|
208
318
|
|
209
319
|
get: {
|
210
|
-
changeEvent: function(type) {
|
211
|
-
if(type == 'checkbox' || type == 'radio' || type == 'hidden') {
|
320
|
+
changeEvent: function(type, $input) {
|
321
|
+
if(type == 'checkbox' || type == 'radio' || type == 'hidden' || $input.is('select')) {
|
212
322
|
return 'change';
|
213
323
|
}
|
214
324
|
else {
|
215
|
-
return
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
325
|
+
return module.get.inputEvent();
|
326
|
+
}
|
327
|
+
},
|
328
|
+
inputEvent: function() {
|
329
|
+
return (document.createElement('input').oninput !== undefined)
|
330
|
+
? 'input'
|
331
|
+
: (document.createElement('input').onpropertychange !== undefined)
|
332
|
+
? 'propertychange'
|
333
|
+
: 'keyup'
|
334
|
+
;
|
335
|
+
},
|
336
|
+
settings: function() {
|
337
|
+
var
|
338
|
+
firstProperty
|
339
|
+
;
|
340
|
+
if($.isPlainObject(parameters)) {
|
341
|
+
var
|
342
|
+
keys = Object.keys(parameters),
|
343
|
+
isLegacySettings = (keys.length > 0)
|
344
|
+
? (parameters[keys[0]].identifier !== undefined)
|
345
|
+
: false
|
220
346
|
;
|
347
|
+
if(isLegacySettings) {
|
348
|
+
// 1.x (ducktyped)
|
349
|
+
settings = $.extend(true, {}, $.fn.form.settings, legacyParameters);
|
350
|
+
validation = $.extend({}, $.fn.form.settings.defaults, parameters);
|
351
|
+
module.error(settings.error.oldSyntax, element);
|
352
|
+
module.verbose('Extending settings from legacy parameters', validation, settings);
|
353
|
+
}
|
354
|
+
else {
|
355
|
+
// 2.x
|
356
|
+
settings = $.extend(true, {}, $.fn.form.settings, parameters);
|
357
|
+
validation = $.extend({}, $.fn.form.settings.defaults, settings.fields);
|
358
|
+
module.verbose('Extending settings', validation, settings);
|
359
|
+
}
|
360
|
+
}
|
361
|
+
else {
|
362
|
+
settings = $.fn.form.settings;
|
363
|
+
validation = $.fn.form.settings.defaults;
|
364
|
+
module.verbose('Using default form validation', validation, settings);
|
221
365
|
}
|
366
|
+
|
367
|
+
// shorthand
|
368
|
+
namespace = settings.namespace;
|
369
|
+
metadata = settings.metadata;
|
370
|
+
selector = settings.selector;
|
371
|
+
className = settings.className;
|
372
|
+
error = settings.error;
|
373
|
+
moduleNamespace = 'module-' + namespace;
|
374
|
+
eventNamespace = '.' + namespace;
|
375
|
+
|
376
|
+
// grab instance
|
377
|
+
instance = $module.data(moduleNamespace);
|
378
|
+
|
379
|
+
// refresh selector cache
|
380
|
+
module.refresh();
|
222
381
|
},
|
223
382
|
field: function(identifier) {
|
224
383
|
module.verbose('Finding field with identifier', identifier);
|
225
|
-
if( $field.filter('#' + identifier).
|
384
|
+
if( $field.filter('#' + identifier).length > 0 ) {
|
226
385
|
return $field.filter('#' + identifier);
|
227
386
|
}
|
228
|
-
else if( $field.filter('[name="' + identifier +'"]').
|
387
|
+
else if( $field.filter('[name="' + identifier +'"]').length > 0 ) {
|
229
388
|
return $field.filter('[name="' + identifier +'"]');
|
230
389
|
}
|
231
|
-
else if( $field.filter('[
|
390
|
+
else if( $field.filter('[name="' + identifier +'[]"]').length > 0 ) {
|
391
|
+
return $field.filter('[name="' + identifier +'[]"]');
|
392
|
+
}
|
393
|
+
else if( $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]').length > 0 ) {
|
232
394
|
return $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]');
|
233
395
|
}
|
234
396
|
return $('<input/>');
|
235
397
|
},
|
398
|
+
fields: function(fields) {
|
399
|
+
var
|
400
|
+
$fields = $()
|
401
|
+
;
|
402
|
+
$.each(fields, function(index, name) {
|
403
|
+
$fields = $fields.add( module.get.field(name) );
|
404
|
+
});
|
405
|
+
return $fields;
|
406
|
+
},
|
236
407
|
validation: function($field) {
|
237
408
|
var
|
238
409
|
rules
|
239
410
|
;
|
411
|
+
if(!validation) {
|
412
|
+
return false;
|
413
|
+
}
|
240
414
|
$.each(validation, function(fieldName, field) {
|
241
|
-
if( module.get.field(field.identifier)
|
415
|
+
if( module.get.field(field.identifier)[0] == $field[0] ) {
|
242
416
|
rules = field;
|
243
417
|
}
|
244
418
|
});
|
245
419
|
return rules || false;
|
420
|
+
},
|
421
|
+
value: function (field) {
|
422
|
+
var
|
423
|
+
fields = [],
|
424
|
+
results
|
425
|
+
;
|
426
|
+
fields.push(field);
|
427
|
+
results = module.get.values.call(element, fields);
|
428
|
+
return results[field];
|
429
|
+
},
|
430
|
+
values: function (fields) {
|
431
|
+
var
|
432
|
+
$fields = $.isArray(fields)
|
433
|
+
? module.get.fields(fields)
|
434
|
+
: $field,
|
435
|
+
values = {}
|
436
|
+
;
|
437
|
+
$fields.each(function(index, field) {
|
438
|
+
var
|
439
|
+
$field = $(field),
|
440
|
+
type = $field.prop('type'),
|
441
|
+
name = $field.prop('name'),
|
442
|
+
value = $field.val(),
|
443
|
+
isCheckbox = $field.is(selector.checkbox),
|
444
|
+
isRadio = $field.is(selector.radio),
|
445
|
+
isMultiple = (name.indexOf('[]') !== -1),
|
446
|
+
isChecked = (isCheckbox)
|
447
|
+
? $field.is(':checked')
|
448
|
+
: false
|
449
|
+
;
|
450
|
+
if(name) {
|
451
|
+
if(isMultiple) {
|
452
|
+
name = name.replace('[]', '');
|
453
|
+
if(!values[name]) {
|
454
|
+
values[name] = [];
|
455
|
+
}
|
456
|
+
if(isCheckbox) {
|
457
|
+
if(isChecked) {
|
458
|
+
values[name].push(value);
|
459
|
+
}
|
460
|
+
else {
|
461
|
+
module.debug('Omitted unchecked checkbox', $field);
|
462
|
+
return true;
|
463
|
+
}
|
464
|
+
}
|
465
|
+
else {
|
466
|
+
values[name].push(value);
|
467
|
+
}
|
468
|
+
}
|
469
|
+
else {
|
470
|
+
if(isRadio) {
|
471
|
+
if(isChecked) {
|
472
|
+
values[name] = value;
|
473
|
+
}
|
474
|
+
}
|
475
|
+
else if(isCheckbox) {
|
476
|
+
if(isChecked) {
|
477
|
+
values[name] = true;
|
478
|
+
}
|
479
|
+
else {
|
480
|
+
module.debug('Omitted unchecked checkbox', $field);
|
481
|
+
return true;
|
482
|
+
}
|
483
|
+
}
|
484
|
+
else {
|
485
|
+
values[name] = value;
|
486
|
+
}
|
487
|
+
}
|
488
|
+
}
|
489
|
+
});
|
490
|
+
return values;
|
246
491
|
}
|
247
492
|
},
|
248
493
|
|
@@ -250,13 +495,13 @@ $.fn.form = function(fields, parameters) {
|
|
250
495
|
|
251
496
|
field: function(identifier) {
|
252
497
|
module.verbose('Checking for existence of a field with identifier', identifier);
|
253
|
-
if( $field.filter('#' + identifier).
|
498
|
+
if( $field.filter('#' + identifier).length > 0 ) {
|
254
499
|
return true;
|
255
500
|
}
|
256
|
-
else if( $field.filter('[name="' + identifier +'"]').
|
501
|
+
else if( $field.filter('[name="' + identifier +'"]').length > 0 ) {
|
257
502
|
return true;
|
258
503
|
}
|
259
|
-
else if( $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]').
|
504
|
+
else if( $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]').length > 0 ) {
|
260
505
|
return true;
|
261
506
|
}
|
262
507
|
return false;
|
@@ -269,8 +514,8 @@ $.fn.form = function(fields, parameters) {
|
|
269
514
|
var
|
270
515
|
$field = module.get.field(identifier),
|
271
516
|
$fieldGroup = $field.closest($group),
|
272
|
-
$prompt = $fieldGroup.
|
273
|
-
promptExists = ($prompt.
|
517
|
+
$prompt = $fieldGroup.children(selector.prompt),
|
518
|
+
promptExists = ($prompt.length !== 0)
|
274
519
|
;
|
275
520
|
errors = (typeof errors == 'string')
|
276
521
|
? [errors]
|
@@ -320,7 +565,7 @@ $.fn.form = function(fields, parameters) {
|
|
320
565
|
var
|
321
566
|
$field = module.get.field(field.identifier),
|
322
567
|
$fieldGroup = $field.closest($group),
|
323
|
-
$prompt = $fieldGroup.
|
568
|
+
$prompt = $fieldGroup.children(selector.prompt)
|
324
569
|
;
|
325
570
|
$fieldGroup
|
326
571
|
.removeClass(className.error)
|
@@ -350,11 +595,86 @@ $.fn.form = function(fields, parameters) {
|
|
350
595
|
.addClass(className.success)
|
351
596
|
;
|
352
597
|
},
|
598
|
+
defaults: function () {
|
599
|
+
$field
|
600
|
+
.each(function () {
|
601
|
+
var
|
602
|
+
$field = $(this),
|
603
|
+
isCheckbox = ($field.filter(selector.checkbox).length > 0),
|
604
|
+
value = (isCheckbox)
|
605
|
+
? $field.is(':checked')
|
606
|
+
: $field.val()
|
607
|
+
;
|
608
|
+
$field.data(metadata.defaultValue, value);
|
609
|
+
})
|
610
|
+
;
|
611
|
+
},
|
353
612
|
error: function() {
|
354
613
|
$module
|
355
614
|
.removeClass(className.success)
|
356
615
|
.addClass(className.error)
|
357
616
|
;
|
617
|
+
},
|
618
|
+
value: function (field, value) {
|
619
|
+
var
|
620
|
+
fields = {}
|
621
|
+
;
|
622
|
+
fields[field] = value;
|
623
|
+
return module.set.values.call(element, fields);
|
624
|
+
},
|
625
|
+
values: function (fields) {
|
626
|
+
if($.isEmptyObject(fields)) {
|
627
|
+
return;
|
628
|
+
}
|
629
|
+
$.each(fields, function(key, value) {
|
630
|
+
var
|
631
|
+
$field = module.get.field(key),
|
632
|
+
$element = $field.parent(),
|
633
|
+
isMultiple = $.isArray(value),
|
634
|
+
isCheckbox = $element.is(selector.uiCheckbox),
|
635
|
+
isDropdown = $element.is(selector.uiDropdown),
|
636
|
+
isRadio = ($field.is(selector.radio) && isCheckbox),
|
637
|
+
fieldExists = ($field.length > 0),
|
638
|
+
$multipleField
|
639
|
+
;
|
640
|
+
if(fieldExists) {
|
641
|
+
if(isMultiple && isCheckbox) {
|
642
|
+
module.verbose('Selecting multiple', value, $field);
|
643
|
+
$element.checkbox('uncheck');
|
644
|
+
$.each(value, function(index, value) {
|
645
|
+
$multipleField = $field.filter('[value="' + value + '"]');
|
646
|
+
$element = $multipleField.parent();
|
647
|
+
if($multipleField.length > 0) {
|
648
|
+
$element.checkbox('check');
|
649
|
+
}
|
650
|
+
});
|
651
|
+
}
|
652
|
+
else if(isRadio) {
|
653
|
+
module.verbose('Selecting radio value', value, $field);
|
654
|
+
$field.filter('[value="' + value + '"]')
|
655
|
+
.parent(selector.uiCheckbox)
|
656
|
+
.checkbox('check')
|
657
|
+
;
|
658
|
+
}
|
659
|
+
else if(isCheckbox) {
|
660
|
+
module.verbose('Setting checkbox value', value, $element);
|
661
|
+
if(value === true) {
|
662
|
+
$element.checkbox('check');
|
663
|
+
}
|
664
|
+
else {
|
665
|
+
$element.checkbox('uncheck');
|
666
|
+
}
|
667
|
+
}
|
668
|
+
else if(isDropdown) {
|
669
|
+
module.verbose('Setting dropdown value', value, $element);
|
670
|
+
$element.dropdown('set selected', value);
|
671
|
+
}
|
672
|
+
else {
|
673
|
+
module.verbose('Setting field value', value, $field);
|
674
|
+
$field.val(value);
|
675
|
+
}
|
676
|
+
}
|
677
|
+
});
|
358
678
|
}
|
359
679
|
},
|
360
680
|
|
@@ -362,20 +682,20 @@ $.fn.form = function(fields, parameters) {
|
|
362
682
|
|
363
683
|
form: function(event) {
|
364
684
|
var
|
365
|
-
allValid = true,
|
366
685
|
apiRequest
|
367
686
|
;
|
687
|
+
|
688
|
+
// input keydown event will fire submit repeatedly by browser default
|
689
|
+
if(keyHeldDown) {
|
690
|
+
return false;
|
691
|
+
}
|
692
|
+
|
368
693
|
// reset errors
|
369
694
|
formErrors = [];
|
370
|
-
|
371
|
-
if( !( module.validate.field(field) ) ) {
|
372
|
-
allValid = false;
|
373
|
-
}
|
374
|
-
});
|
375
|
-
if(allValid) {
|
695
|
+
if( module.is.valid() ) {
|
376
696
|
module.debug('Form has no validation errors, submitting');
|
377
697
|
module.set.success();
|
378
|
-
return
|
698
|
+
return settings.onSuccess.call(element, event);
|
379
699
|
}
|
380
700
|
else {
|
381
701
|
module.debug('Form has errors');
|
@@ -387,7 +707,7 @@ $.fn.form = function(fields, parameters) {
|
|
387
707
|
if($module.data('moduleApi') !== undefined) {
|
388
708
|
event.stopImmediatePropagation();
|
389
709
|
}
|
390
|
-
return
|
710
|
+
return settings.onFailure.call(element, formErrors);
|
391
711
|
}
|
392
712
|
},
|
393
713
|
|
@@ -398,7 +718,15 @@ $.fn.form = function(fields, parameters) {
|
|
398
718
|
fieldValid = true,
|
399
719
|
fieldErrors = []
|
400
720
|
;
|
401
|
-
if(field.
|
721
|
+
if($field.prop('disabled')) {
|
722
|
+
module.debug('Field is disabled. Skipping', field.identifier);
|
723
|
+
fieldValid = true;
|
724
|
+
}
|
725
|
+
else if(field.optional && $.trim($field.val()) === ''){
|
726
|
+
module.debug('Field is optional and empty. Skipping', field.identifier);
|
727
|
+
fieldValid = true;
|
728
|
+
}
|
729
|
+
else if(field.rules !== undefined) {
|
402
730
|
$.each(field.rules, function(index, rule) {
|
403
731
|
if( module.has.field(field.identifier) && !( module.validate.rule(field, rule) ) ) {
|
404
732
|
module.debug('Field is invalid', field.identifier, rule.type);
|
@@ -409,12 +737,12 @@ $.fn.form = function(fields, parameters) {
|
|
409
737
|
}
|
410
738
|
if(fieldValid) {
|
411
739
|
module.remove.prompt(field, fieldErrors);
|
412
|
-
|
740
|
+
settings.onValid.call($field);
|
413
741
|
}
|
414
742
|
else {
|
415
743
|
formErrors = formErrors.concat(fieldErrors);
|
416
744
|
module.add.prompt(field.identifier, fieldErrors);
|
417
|
-
|
745
|
+
settings.onInvalid.call($field, fieldErrors);
|
418
746
|
return false;
|
419
747
|
}
|
420
748
|
return true;
|
@@ -425,23 +753,34 @@ $.fn.form = function(fields, parameters) {
|
|
425
753
|
var
|
426
754
|
$field = module.get.field(field.identifier),
|
427
755
|
type = validation.type,
|
428
|
-
value =
|
429
|
-
|
430
|
-
bracketRegExp = /\[(.*)\]/i,
|
431
|
-
bracket = bracketRegExp.exec(type),
|
756
|
+
value = $field.val(),
|
757
|
+
bracket = type.match(settings.regExp.bracket),
|
432
758
|
isValid = true,
|
759
|
+
rule,
|
433
760
|
ancillary,
|
434
761
|
functionType
|
435
762
|
;
|
763
|
+
// cast to string
|
764
|
+
value = $.trim($field.val() + '');
|
765
|
+
|
436
766
|
// if bracket notation is used, pass in extra parameters
|
437
|
-
if(bracket
|
767
|
+
if(bracket) {
|
438
768
|
ancillary = '' + bracket[1];
|
439
769
|
functionType = type.replace(bracket[0], '');
|
440
|
-
|
770
|
+
rule = settings.rules[functionType];
|
771
|
+
if( !$.isFunction(rule) ) {
|
772
|
+
module.error(error.noRule, functionType);
|
773
|
+
return;
|
774
|
+
}
|
775
|
+
isValid = rule.call($field, value, ancillary);
|
441
776
|
}
|
442
|
-
// normal notation
|
443
777
|
else {
|
444
|
-
|
778
|
+
rule = settings.rules[type];
|
779
|
+
if( !$.isFunction(rule) ) {
|
780
|
+
module.error(error.noRule, type);
|
781
|
+
return;
|
782
|
+
}
|
783
|
+
isValid = rule.call($field, value);
|
445
784
|
}
|
446
785
|
return isValid;
|
447
786
|
}
|
@@ -515,7 +854,7 @@ $.fn.form = function(fields, parameters) {
|
|
515
854
|
});
|
516
855
|
}
|
517
856
|
clearTimeout(module.performance.timer);
|
518
|
-
module.performance.timer = setTimeout(module.performance.display,
|
857
|
+
module.performance.timer = setTimeout(module.performance.display, 500);
|
519
858
|
},
|
520
859
|
display: function() {
|
521
860
|
var
|
@@ -531,8 +870,8 @@ $.fn.form = function(fields, parameters) {
|
|
531
870
|
if(moduleSelector) {
|
532
871
|
title += ' \'' + moduleSelector + '\'';
|
533
872
|
}
|
534
|
-
if($allModules.
|
535
|
-
title += ' ' + '(' + $allModules.
|
873
|
+
if($allModules.length > 1) {
|
874
|
+
title += ' ' + '(' + $allModules.length + ')';
|
536
875
|
}
|
537
876
|
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
|
538
877
|
console.groupCollapsed(title);
|
@@ -585,7 +924,7 @@ $.fn.form = function(fields, parameters) {
|
|
585
924
|
}
|
586
925
|
});
|
587
926
|
}
|
588
|
-
if
|
927
|
+
if( $.isFunction( found ) ) {
|
589
928
|
response = found.apply(context, passedArguments);
|
590
929
|
}
|
591
930
|
else if(found !== undefined) {
|
@@ -603,19 +942,7 @@ $.fn.form = function(fields, parameters) {
|
|
603
942
|
return found;
|
604
943
|
}
|
605
944
|
};
|
606
|
-
|
607
|
-
if(instance === undefined) {
|
608
|
-
module.initialize();
|
609
|
-
}
|
610
|
-
module.invoke(query);
|
611
|
-
}
|
612
|
-
else {
|
613
|
-
if(instance !== undefined) {
|
614
|
-
module.destroy();
|
615
|
-
}
|
616
|
-
module.initialize();
|
617
|
-
}
|
618
|
-
|
945
|
+
module.initialize();
|
619
946
|
})
|
620
947
|
;
|
621
948
|
|
@@ -631,9 +958,10 @@ $.fn.form.settings = {
|
|
631
958
|
namespace : 'form',
|
632
959
|
|
633
960
|
debug : false,
|
634
|
-
verbose :
|
961
|
+
verbose : false,
|
635
962
|
performance : true,
|
636
963
|
|
964
|
+
fields : false,
|
637
965
|
|
638
966
|
keyboardShortcuts : true,
|
639
967
|
on : 'submit',
|
@@ -643,8 +971,7 @@ $.fn.form.settings = {
|
|
643
971
|
revalidate : true,
|
644
972
|
|
645
973
|
transition : 'scale',
|
646
|
-
duration :
|
647
|
-
|
974
|
+
duration : 200,
|
648
975
|
|
649
976
|
onValid : function() {},
|
650
977
|
onInvalid : function() {},
|
@@ -652,33 +979,50 @@ $.fn.form.settings = {
|
|
652
979
|
onFailure : function() { return false; },
|
653
980
|
|
654
981
|
metadata : {
|
655
|
-
|
982
|
+
defaultValue : 'default',
|
983
|
+
validate : 'validate'
|
984
|
+
},
|
985
|
+
|
986
|
+
regExp: {
|
987
|
+
bracket : /\[(.*)\]/i,
|
988
|
+
escape : /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,
|
989
|
+
email : "[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?",
|
990
|
+
integer : /^\-?\d+$/,
|
991
|
+
flags : /^\/(.*)\/(.*)?/,
|
992
|
+
url : /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/i
|
656
993
|
},
|
657
994
|
|
658
995
|
selector : {
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
input
|
664
|
-
|
665
|
-
|
996
|
+
checkbox : 'input[type="checkbox"], input[type="radio"]',
|
997
|
+
clear : '.clear',
|
998
|
+
field : 'input, textarea, select',
|
999
|
+
group : '.field',
|
1000
|
+
input : 'input',
|
1001
|
+
message : '.error.message',
|
1002
|
+
prompt : '.prompt.label',
|
1003
|
+
radio : 'input[type="radio"]',
|
1004
|
+
reset : '.reset:not([type="reset"])',
|
1005
|
+
submit : '.submit:not([type="submit"])',
|
1006
|
+
uiCheckbox : '.ui.checkbox',
|
1007
|
+
uiDropdown : '.ui.dropdown'
|
666
1008
|
},
|
667
1009
|
|
668
1010
|
className : {
|
669
1011
|
error : 'error',
|
670
|
-
|
671
|
-
|
672
|
-
|
1012
|
+
label : 'ui prompt label',
|
1013
|
+
pressed : 'down',
|
1014
|
+
success : 'success'
|
673
1015
|
},
|
674
1016
|
|
675
|
-
// errors
|
676
1017
|
error: {
|
677
|
-
|
1018
|
+
oldSyntax : 'Starting in 2.0 forms now only take a single settings object. Validation settings converted to new syntax automatically.',
|
1019
|
+
noRule : 'There is no rule matching the one you specified',
|
1020
|
+
method : 'The method you called is not defined.'
|
678
1021
|
},
|
679
1022
|
|
680
|
-
|
681
1023
|
templates: {
|
1024
|
+
|
1025
|
+
// template that produces error message
|
682
1026
|
error: function(errors) {
|
683
1027
|
var
|
684
1028
|
html = '<ul class="list">'
|
@@ -689,6 +1033,8 @@ $.fn.form.settings = {
|
|
689
1033
|
html += '</ul>';
|
690
1034
|
return $(html);
|
691
1035
|
},
|
1036
|
+
|
1037
|
+
// template that produces label
|
692
1038
|
prompt: function(errors) {
|
693
1039
|
return $('<div/>')
|
694
1040
|
.addClass('ui red pointing prompt label')
|
@@ -698,95 +1044,210 @@ $.fn.form.settings = {
|
|
698
1044
|
},
|
699
1045
|
|
700
1046
|
rules: {
|
1047
|
+
|
1048
|
+
// checkbox checked
|
701
1049
|
checked: function() {
|
702
|
-
return ($(this).filter(':checked').
|
1050
|
+
return ($(this).filter(':checked').length > 0);
|
703
1051
|
},
|
704
|
-
|
705
|
-
|
1052
|
+
|
1053
|
+
// value contains text (insensitive)
|
1054
|
+
contains: function(value, text) {
|
1055
|
+
// escape regex characters
|
1056
|
+
text = text.replace($.fn.form.settings.regExp.escape, "\\$&");
|
1057
|
+
return (value.search( new RegExp(text, 'i') ) !== -1);
|
706
1058
|
},
|
1059
|
+
|
1060
|
+
// value contains text (case sensitive)
|
1061
|
+
containsExactly: function(value, text) {
|
1062
|
+
// escape regex characters
|
1063
|
+
text = text.replace($.fn.form.settings.regExp.escape, "\\$&");
|
1064
|
+
return (value.search( new RegExp(text) ) !== -1);
|
1065
|
+
},
|
1066
|
+
|
1067
|
+
// is most likely an email
|
707
1068
|
email: function(value){
|
708
1069
|
var
|
709
|
-
emailRegExp = new RegExp(
|
1070
|
+
emailRegExp = new RegExp($.fn.form.settings.regExp.email, 'i')
|
710
1071
|
;
|
711
1072
|
return emailRegExp.test(value);
|
712
1073
|
},
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
;
|
718
|
-
},
|
719
|
-
not: function(value, notValue) {
|
720
|
-
return (value != notValue);
|
1074
|
+
|
1075
|
+
// is not empty or blank string
|
1076
|
+
empty: function(value) {
|
1077
|
+
return !(value === undefined || '' === value || $.isArray(value) && value.length === 0);
|
721
1078
|
},
|
722
|
-
|
723
|
-
|
724
|
-
|
1079
|
+
|
1080
|
+
// is valid integer
|
1081
|
+
integer: function(value, range) {
|
1082
|
+
var
|
1083
|
+
intRegExp = $.fn.form.settings.regExp.integer,
|
1084
|
+
min,
|
1085
|
+
max,
|
1086
|
+
parts
|
1087
|
+
;
|
1088
|
+
if(range === undefined || range === '' || range === '..') {
|
1089
|
+
// do nothing
|
1090
|
+
}
|
1091
|
+
else if(range.indexOf('..') == -1) {
|
1092
|
+
if(intRegExp.test(range)) {
|
1093
|
+
min = max = range - 0;
|
1094
|
+
}
|
1095
|
+
}
|
1096
|
+
else {
|
1097
|
+
parts = range.split('..', 2);
|
1098
|
+
if(intRegExp.test(parts[0])) {
|
1099
|
+
min = parts[0] - 0;
|
1100
|
+
}
|
1101
|
+
if(intRegExp.test(parts[1])) {
|
1102
|
+
max = parts[1] - 0;
|
1103
|
+
}
|
1104
|
+
}
|
1105
|
+
return (
|
1106
|
+
intRegExp.test(value) &&
|
1107
|
+
(min === undefined || value >= min) &&
|
1108
|
+
(max === undefined || value <= max)
|
1109
|
+
);
|
725
1110
|
},
|
1111
|
+
|
1112
|
+
// is value (case insensitive)
|
726
1113
|
is: function(value, text) {
|
1114
|
+
text = (typeof text == 'string')
|
1115
|
+
? text.toLowerCase()
|
1116
|
+
: text
|
1117
|
+
;
|
1118
|
+
value = (typeof value == 'string')
|
1119
|
+
? value.toLowerCase()
|
1120
|
+
: value
|
1121
|
+
;
|
727
1122
|
return (value == text);
|
728
1123
|
},
|
729
|
-
|
1124
|
+
|
1125
|
+
// is value
|
1126
|
+
isExactly: function(value, text) {
|
1127
|
+
return (value == text);
|
1128
|
+
},
|
1129
|
+
|
1130
|
+
// is at least string length
|
1131
|
+
length: function(value, requiredLength) {
|
730
1132
|
return (value !== undefined)
|
731
|
-
? (value.length
|
1133
|
+
? (value.length >= requiredLength)
|
732
1134
|
: false
|
733
1135
|
;
|
734
1136
|
},
|
735
|
-
|
1137
|
+
|
1138
|
+
// matches another field
|
1139
|
+
different: function(value, identifier) {
|
736
1140
|
// use either id or name of field
|
737
1141
|
var
|
738
1142
|
$form = $(this),
|
739
1143
|
matchingValue
|
740
1144
|
;
|
741
|
-
if($
|
742
|
-
matchingValue = $
|
1145
|
+
if( $('[data-validate="'+ identifier +'"]').length > 0 ) {
|
1146
|
+
matchingValue = $('[data-validate="'+ identifier +'"]').val();
|
743
1147
|
}
|
744
|
-
else if($
|
745
|
-
matchingValue = $
|
1148
|
+
else if($('#' + identifier).length > 0) {
|
1149
|
+
matchingValue = $('#' + identifier).val();
|
746
1150
|
}
|
747
|
-
else if(
|
748
|
-
matchingValue = $
|
1151
|
+
else if($('[name="' + identifier +'"]').length > 0) {
|
1152
|
+
matchingValue = $('[name="' + identifier + '"]').val();
|
1153
|
+
}
|
1154
|
+
else if( $('[name="' + identifier +'[]"]').length > 0 ) {
|
1155
|
+
matchingValue = $('[name="' + identifier +'[]"]');
|
749
1156
|
}
|
750
1157
|
return (matchingValue !== undefined)
|
751
|
-
? ( value.toString()
|
1158
|
+
? ( value.toString() !== matchingValue.toString() )
|
752
1159
|
: false
|
753
1160
|
;
|
754
1161
|
},
|
755
|
-
|
1162
|
+
|
1163
|
+
// matches another field
|
1164
|
+
match: function(value, identifier) {
|
1165
|
+
// use either id or name of field
|
756
1166
|
var
|
757
|
-
|
1167
|
+
$form = $(this),
|
1168
|
+
matchingValue
|
1169
|
+
;
|
1170
|
+
if( $('[data-validate="'+ identifier +'"]').length > 0 ) {
|
1171
|
+
matchingValue = $('[data-validate="'+ identifier +'"]').val();
|
1172
|
+
}
|
1173
|
+
else if($('#' + identifier).length > 0) {
|
1174
|
+
matchingValue = $('#' + identifier).val();
|
1175
|
+
}
|
1176
|
+
else if($('[name="' + identifier +'"]').length > 0) {
|
1177
|
+
matchingValue = $('[name="' + identifier + '"]').val();
|
1178
|
+
}
|
1179
|
+
else if( $('[name="' + identifier +'[]"]').length > 0 ) {
|
1180
|
+
matchingValue = $('[name="' + identifier +'[]"]');
|
1181
|
+
}
|
1182
|
+
return (matchingValue !== undefined)
|
1183
|
+
? ( value.toString() == matchingValue.toString() )
|
1184
|
+
: false
|
758
1185
|
;
|
759
|
-
return urlRegExp.test(value);
|
760
1186
|
},
|
761
|
-
|
1187
|
+
|
1188
|
+
maxCount: function(value, count) {
|
1189
|
+
value = value.split(',');
|
1190
|
+
return ($.isArray(value) && value.length <= count);
|
1191
|
+
},
|
1192
|
+
|
1193
|
+
exactCount: function(value, count) {
|
1194
|
+
value = value.split(',');
|
1195
|
+
return ($.isArray(value) && value.length == count);
|
1196
|
+
},
|
1197
|
+
|
1198
|
+
minCount: function(value, count) {
|
1199
|
+
value = value.split(',');
|
1200
|
+
return ($.isArray(value) && value.length >= count);
|
1201
|
+
},
|
1202
|
+
|
1203
|
+
regExp: function(value, regExp) {
|
762
1204
|
var
|
763
|
-
|
764
|
-
|
765
|
-
max,
|
766
|
-
parts
|
1205
|
+
regExpParts = regExp.match($.fn.form.settings.regExp.flags),
|
1206
|
+
flags
|
767
1207
|
;
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
if (intRegExp.test(parts[0])) {
|
779
|
-
min = parts[0] - 0;
|
780
|
-
}
|
781
|
-
if (intRegExp.test(parts[1])) {
|
782
|
-
max = parts[1] - 0;
|
783
|
-
}
|
1208
|
+
// regular expression specified as /baz/gi (flags)
|
1209
|
+
if(regExpParts) {
|
1210
|
+
regExp = (regExpParts.length >= 2)
|
1211
|
+
? regExpParts[1]
|
1212
|
+
: regExp
|
1213
|
+
;
|
1214
|
+
flags = (regExpParts.length >= 3)
|
1215
|
+
? regExpParts[2]
|
1216
|
+
: ''
|
1217
|
+
;
|
784
1218
|
}
|
785
|
-
return (
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
1219
|
+
return value.match( new RegExp(regExp, flags) );
|
1220
|
+
},
|
1221
|
+
|
1222
|
+
// string length is less than max length
|
1223
|
+
maxLength: function(value, maxLength) {
|
1224
|
+
return (value !== undefined)
|
1225
|
+
? (value.length <= maxLength)
|
1226
|
+
: false
|
1227
|
+
;
|
1228
|
+
},
|
1229
|
+
|
1230
|
+
// value is not value (case insensitive)
|
1231
|
+
not: function(value, notValue) {
|
1232
|
+
value = (typeof value == 'string')
|
1233
|
+
? value.toLowerCase()
|
1234
|
+
: value
|
1235
|
+
;
|
1236
|
+
notValue = (typeof notValue == 'string')
|
1237
|
+
? notValue.toLowerCase()
|
1238
|
+
: notValue
|
1239
|
+
;
|
1240
|
+
return (value != notValue);
|
1241
|
+
},
|
1242
|
+
|
1243
|
+
// value is not value (case sensitive)
|
1244
|
+
notExactly: function(value, notValue) {
|
1245
|
+
return (value != notValue);
|
1246
|
+
},
|
1247
|
+
|
1248
|
+
// value is most likely url
|
1249
|
+
url: function(value) {
|
1250
|
+
return $.fn.form.settings.regExp.url.match(value);
|
790
1251
|
}
|
791
1252
|
}
|
792
1253
|
|