rails_marketplace 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/MIT-LICENSE +20 -20
- data/README.rdoc +2 -2
- data/Rakefile +37 -37
- data/app/assets/javascripts/rails_marketplace/application.js +46 -46
- data/app/assets/javascripts/rails_marketplace/catalog.coffee +3 -3
- data/app/assets/javascripts/rails_marketplace/flash.js +6 -6
- data/app/assets/javascripts/rails_marketplace/footermanifest.js +1 -1
- data/app/assets/javascripts/rails_marketplace/js/autocomplete/countries.js +266 -266
- data/app/assets/javascripts/rails_marketplace/js/autocomplete/jquery.autocomplete.js +986 -986
- data/app/assets/javascripts/rails_marketplace/js/bootstrap.min.js +6 -6
- data/app/assets/javascripts/rails_marketplace/js/calendar/fullcalendar.min.js +8 -8
- data/app/assets/javascripts/rails_marketplace/js/chartjs/chart.min.js +13 -13
- data/app/assets/javascripts/rails_marketplace/js/colorpicker/bootstrap-colorpicker.min.js +1087 -1087
- data/app/assets/javascripts/rails_marketplace/js/colorpicker/docs.js +17 -17
- data/app/assets/javascripts/rails_marketplace/js/cropping/cropper.min.js +9 -9
- data/app/assets/javascripts/rails_marketplace/js/cropping/main.js +321 -321
- data/app/assets/javascripts/rails_marketplace/js/cropping/main2.js +160 -160
- data/app/assets/javascripts/rails_marketplace/js/custom.js +379 -379
- data/app/assets/javascripts/rails_marketplace/js/datatables/buttons.bootstrap.min.css +1 -1
- data/app/assets/javascripts/rails_marketplace/js/datatables/buttons.bootstrap.min.js +6 -6
- data/app/assets/javascripts/rails_marketplace/js/datatables/buttons.html5.min.js +22 -22
- data/app/assets/javascripts/rails_marketplace/js/datatables/buttons.print.min.js +4 -4
- data/app/assets/javascripts/rails_marketplace/js/datatables/dataTables.bootstrap.js +8 -8
- data/app/assets/javascripts/rails_marketplace/js/datatables/dataTables.buttons.min.js +36 -36
- data/app/assets/javascripts/rails_marketplace/js/datatables/dataTables.fixedHeader.min.js +17 -17
- data/app/assets/javascripts/rails_marketplace/js/datatables/dataTables.keyTable.min.js +18 -18
- data/app/assets/javascripts/rails_marketplace/js/datatables/dataTables.responsive.min.js +25 -25
- data/app/assets/javascripts/rails_marketplace/js/datatables/dataTables.scroller.min.js +26 -26
- data/app/assets/javascripts/rails_marketplace/js/datatables/fixedHeader.bootstrap.min.css +1 -1
- data/app/assets/javascripts/rails_marketplace/js/datatables/jquery.dataTables.min.css +333 -333
- data/app/assets/javascripts/rails_marketplace/js/datatables/jquery.dataTables.min.js +166 -166
- data/app/assets/javascripts/rails_marketplace/js/datatables/json/scroller-demo.json +2501 -2501
- data/app/assets/javascripts/rails_marketplace/js/datatables/jszip.min.js +14 -14
- data/app/assets/javascripts/rails_marketplace/js/datatables/pdfmake.min.js +21 -21
- data/app/assets/javascripts/rails_marketplace/js/datatables/responsive.bootstrap.min.css +1 -1
- data/app/assets/javascripts/rails_marketplace/js/datatables/responsive.bootstrap.min.js +7 -7
- data/app/assets/javascripts/rails_marketplace/js/datatables/scroller.bootstrap.min.css +1 -1
- data/app/assets/javascripts/rails_marketplace/js/dropzone/dropzone.js +1 -1
- data/app/assets/javascripts/rails_marketplace/js/easypie/jquery.easypiechart.min.js +9 -9
- data/app/assets/javascripts/rails_marketplace/js/echart/echarts-all.js +35 -35
- data/app/assets/javascripts/rails_marketplace/js/echart/green.js +212 -212
- data/app/assets/javascripts/rails_marketplace/js/editor/bootstrap-wysiwyg.js +200 -200
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-apollo.js +2 -2
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-basic.js +3 -3
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-clj.js +18 -18
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-css.js +2 -2
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-dart.js +3 -3
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-erlang.js +2 -2
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-go.js +1 -1
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-hs.js +2 -2
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-lisp.js +3 -3
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-llvm.js +1 -1
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-lua.js +2 -2
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-matlab.js +6 -6
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-ml.js +2 -2
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-mumps.js +2 -2
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-n.js +4 -4
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-pascal.js +3 -3
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-proto.js +1 -1
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-r.js +2 -2
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-rd.js +1 -1
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-scala.js +2 -2
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-sql.js +2 -2
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-tcl.js +3 -3
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-tex.js +1 -1
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-vb.js +2 -2
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-vhdl.js +3 -3
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-wiki.js +2 -2
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-xq.js +3 -3
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/lang-yaml.js +2 -2
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/prettify.js +30 -30
- data/app/assets/javascripts/rails_marketplace/js/editor/external/google-code-prettify/run_prettify.js +34 -34
- data/app/assets/javascripts/rails_marketplace/js/editor/external/jquery.hotkeys.js +99 -99
- data/app/assets/javascripts/rails_marketplace/js/flot/jquery.flot.js +1 -1
- data/app/assets/javascripts/rails_marketplace/js/flot/jquery.flot.orderBars.js +200 -200
- data/app/assets/javascripts/rails_marketplace/js/flot/jquery.flot.pie.js +820 -820
- data/app/assets/javascripts/rails_marketplace/js/flot/jquery.flot.resize.js +57 -57
- data/app/assets/javascripts/rails_marketplace/js/flot/jquery.flot.stack.js +188 -188
- data/app/assets/javascripts/rails_marketplace/js/flot/jquery.flot.tooltip.min.js +11 -11
- data/app/assets/javascripts/rails_marketplace/js/gauge/gauge.min.js +1 -1
- data/app/assets/javascripts/rails_marketplace/js/gauge/gauge_demo.js +21 -21
- data/app/assets/javascripts/rails_marketplace/js/icheck/icheck.min.js +11 -11
- data/app/assets/javascripts/rails_marketplace/js/input_mask/jquery.inputmask.js +1 -1
- data/app/assets/javascripts/rails_marketplace/js/jquery.min.js +5 -5
- data/app/assets/javascripts/rails_marketplace/js/maps/gdp-data.js +184 -184
- data/app/assets/javascripts/rails_marketplace/js/maps/jquery-jvectormap-2.0.3.min.js +2 -2
- data/app/assets/javascripts/rails_marketplace/js/moment/moment.min.js +6 -6
- data/app/assets/javascripts/rails_marketplace/js/moris/example.js +127 -127
- data/app/assets/javascripts/rails_marketplace/js/moris/morris.min.js +7 -7
- data/app/assets/javascripts/rails_marketplace/js/moris/raphael-min.js +11 -11
- data/app/assets/javascripts/rails_marketplace/js/notify/pnotify.buttons.js +132 -132
- data/app/assets/javascripts/rails_marketplace/js/notify/pnotify.nonblock.js +151 -151
- data/app/assets/javascripts/rails_marketplace/js/nprogress.js +476 -476
- data/app/assets/javascripts/rails_marketplace/js/pace/pace.min.js +1 -1
- data/app/assets/javascripts/rails_marketplace/js/parsley/parsley.min.js +8 -8
- data/app/assets/javascripts/rails_marketplace/js/progressbar/bootstrap-progressbar.min.js +1 -1
- data/app/assets/javascripts/rails_marketplace/js/select/select2.full.js +1 -1
- data/app/assets/javascripts/rails_marketplace/js/sidebar/classie.js +80 -80
- data/app/assets/javascripts/rails_marketplace/js/sidebar/component.css +569 -569
- data/app/assets/javascripts/rails_marketplace/js/sidebar/modernizr.custom.js +3 -3
- data/app/assets/javascripts/rails_marketplace/js/sidebar/sidebarEffects.js +62 -62
- data/app/assets/javascripts/rails_marketplace/js/skycons/skycons.min.js +1 -1
- data/app/assets/javascripts/rails_marketplace/js/sparkline/jquery.sparkline.min.js +4 -4
- data/app/assets/javascripts/rails_marketplace/js/textarea/autosize.min.js +5 -5
- data/app/assets/javascripts/rails_marketplace/less/custom.css +6355 -6355
- data/app/assets/javascripts/rails_marketplace/marketplace.js +17 -17
- data/app/assets/javascripts/rails_marketplace/welcome.coffee +3 -3
- data/app/assets/stylesheets/rails_marketplace/application.scss +30 -30
- data/app/assets/stylesheets/rails_marketplace/catalog.scss +131 -131
- data/app/assets/stylesheets/rails_marketplace/css/animate.min.css +11 -11
- data/app/assets/stylesheets/rails_marketplace/css/bootstrap.min.css +5 -5
- data/app/assets/stylesheets/rails_marketplace/css/calendar/fullcalendar.css +1116 -1116
- data/app/assets/stylesheets/rails_marketplace/css/calendar/fullcalendar.min.css +4 -4
- data/app/assets/stylesheets/rails_marketplace/css/calendar/fullcalendar.print.css +208 -208
- data/app/assets/stylesheets/rails_marketplace/css/colorpicker/bootstrap-colorpicker.min.css +8 -8
- data/app/assets/stylesheets/rails_marketplace/css/custom.css +5347 -5347
- data/app/assets/stylesheets/rails_marketplace/css/datatables/css/demo_page.css +103 -103
- data/app/assets/stylesheets/rails_marketplace/css/datatables/css/demo_table.css +258 -258
- data/app/assets/stylesheets/rails_marketplace/css/datatables/css/demo_table_jui.css +500 -500
- data/app/assets/stylesheets/rails_marketplace/css/datatables/css/jquery.dataTables.css +221 -221
- data/app/assets/stylesheets/rails_marketplace/css/datatables/css/jquery.dataTables_themeroller.css +244 -244
- data/app/assets/stylesheets/rails_marketplace/css/datatables/tools/css/dataTables.tableTools.css +336 -336
- data/app/assets/stylesheets/rails_marketplace/css/editor/index.css +42 -42
- data/app/assets/stylesheets/rails_marketplace/css/floatexamples.css +21 -21
- data/app/assets/stylesheets/rails_marketplace/css/icheck/flat/_all.css +529 -529
- data/app/assets/stylesheets/rails_marketplace/css/icheck/flat/aero.css +52 -52
- data/app/assets/stylesheets/rails_marketplace/css/icheck/flat/blue.css +52 -52
- data/app/assets/stylesheets/rails_marketplace/css/icheck/flat/flat.css +52 -52
- data/app/assets/stylesheets/rails_marketplace/css/icheck/flat/green.css +52 -52
- data/app/assets/stylesheets/rails_marketplace/css/icheck/flat/grey.css +52 -52
- data/app/assets/stylesheets/rails_marketplace/css/icheck/flat/orange.css +52 -52
- data/app/assets/stylesheets/rails_marketplace/css/icheck/flat/pink.css +52 -52
- data/app/assets/stylesheets/rails_marketplace/css/icheck/flat/purple.css +52 -52
- data/app/assets/stylesheets/rails_marketplace/css/icheck/flat/red.css +52 -52
- data/app/assets/stylesheets/rails_marketplace/css/icheck/flat/yellow.css +52 -52
- data/app/assets/stylesheets/rails_marketplace/css/ion.rangeSlider.css +146 -146
- data/app/assets/stylesheets/rails_marketplace/css/ion.rangeSlider.skinFlat.css +106 -106
- data/app/assets/stylesheets/rails_marketplace/css/maps/jquery-jvectormap-2.0.3.css +135 -135
- data/app/assets/stylesheets/rails_marketplace/css/normalize.css +421 -421
- data/app/assets/stylesheets/rails_marketplace/css/nprogress.css +74 -74
- data/app/assets/stylesheets/rails_marketplace/css/progressbar/bootstrap-progressbar-3.3.0.css +161 -161
- data/app/assets/stylesheets/rails_marketplace/css/select/select2.min.css +403 -403
- data/app/assets/stylesheets/rails_marketplace/fonts/css/font-awesome.css +2086 -2086
- data/app/assets/stylesheets/rails_marketplace/fonts/css/font-awesome.min.css +4 -4
- data/app/assets/stylesheets/rails_marketplace/fonts/fonts/FontAwesome.otf +0 -0
- data/app/assets/stylesheets/rails_marketplace/fonts/fonts/fontawesome-webfont.eot +0 -0
- data/app/assets/stylesheets/rails_marketplace/fonts/fonts/fontawesome-webfont.svg +654 -654
- data/app/assets/stylesheets/rails_marketplace/fonts/fonts/fontawesome-webfont.ttf +0 -0
- data/app/assets/stylesheets/rails_marketplace/fonts/fonts/fontawesome-webfont.woff +0 -0
- data/app/assets/stylesheets/rails_marketplace/fonts/fonts/fontawesome-webfont.woff2 +0 -0
- data/app/assets/stylesheets/rails_marketplace/fonts/glyphicons-halflings-regular.eot +0 -0
- data/app/assets/stylesheets/rails_marketplace/fonts/glyphicons-halflings-regular.svg +287 -287
- data/app/assets/stylesheets/rails_marketplace/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/app/assets/stylesheets/rails_marketplace/fonts/glyphicons-halflings-regular.woff +0 -0
- data/app/assets/stylesheets/rails_marketplace/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/app/assets/stylesheets/rails_marketplace/fonts/less/animated.less +34 -34
- data/app/assets/stylesheets/rails_marketplace/fonts/less/bordered-pulled.less +25 -25
- data/app/assets/stylesheets/rails_marketplace/fonts/less/core.less +12 -12
- data/app/assets/stylesheets/rails_marketplace/fonts/less/fixed-width.less +6 -6
- data/app/assets/stylesheets/rails_marketplace/fonts/less/font-awesome.less +17 -17
- data/app/assets/stylesheets/rails_marketplace/fonts/less/icons.less +697 -697
- data/app/assets/stylesheets/rails_marketplace/fonts/less/larger.less +13 -13
- data/app/assets/stylesheets/rails_marketplace/fonts/less/list.less +19 -19
- data/app/assets/stylesheets/rails_marketplace/fonts/less/mixins.less +26 -26
- data/app/assets/stylesheets/rails_marketplace/fonts/less/path.less +15 -15
- data/app/assets/stylesheets/rails_marketplace/fonts/less/rotated-flipped.less +20 -20
- data/app/assets/stylesheets/rails_marketplace/fonts/less/spinning.less +29 -29
- data/app/assets/stylesheets/rails_marketplace/fonts/less/stacked.less +20 -20
- data/app/assets/stylesheets/rails_marketplace/fonts/less/variables.less +708 -708
- data/app/assets/stylesheets/rails_marketplace/fonts/scss/_animated.scss +34 -34
- data/app/assets/stylesheets/rails_marketplace/fonts/scss/_bordered-pulled.scss +25 -25
- data/app/assets/stylesheets/rails_marketplace/fonts/scss/_core.scss +12 -12
- data/app/assets/stylesheets/rails_marketplace/fonts/scss/_fixed-width.scss +6 -6
- data/app/assets/stylesheets/rails_marketplace/fonts/scss/_icons.scss +697 -697
- data/app/assets/stylesheets/rails_marketplace/fonts/scss/_larger.scss +13 -13
- data/app/assets/stylesheets/rails_marketplace/fonts/scss/_list.scss +19 -19
- data/app/assets/stylesheets/rails_marketplace/fonts/scss/_mixins.scss +26 -26
- data/app/assets/stylesheets/rails_marketplace/fonts/scss/_path.scss +15 -15
- data/app/assets/stylesheets/rails_marketplace/fonts/scss/_rotated-flipped.scss +20 -20
- data/app/assets/stylesheets/rails_marketplace/fonts/scss/_spinning.scss +29 -29
- data/app/assets/stylesheets/rails_marketplace/fonts/scss/_stacked.scss +20 -20
- data/app/assets/stylesheets/rails_marketplace/fonts/scss/_variables.scss +708 -708
- data/app/assets/stylesheets/rails_marketplace/fonts/scss/font-awesome.scss +17 -17
- data/app/assets/stylesheets/rails_marketplace/images/loading.gif +0 -0
- data/app/assets/stylesheets/rails_marketplace/marketplace.scss +19 -19
- data/app/assets/stylesheets/rails_marketplace/pace.css +76 -76
- data/app/assets/stylesheets/rails_marketplace/welcome.scss +3 -3
- data/app/assets/stylesheets/scaffold.css +56 -56
- data/app/controllers/rails_marketplace/admin_controller.rb +150 -150
- data/app/controllers/rails_marketplace/application_controller.rb +4 -4
- data/app/controllers/rails_marketplace/catalog_controller.rb +171 -171
- data/app/controllers/rails_marketplace/seller_controller.rb +180 -180
- data/app/helpers/rails_marketplace/admin_helper.rb +16 -16
- data/app/helpers/rails_marketplace/application_helper.rb +4 -4
- data/app/helpers/rails_marketplace/catalog_helper.rb +4 -4
- data/app/helpers/rails_marketplace/plainpage_helper.rb +4 -4
- data/app/helpers/rails_marketplace/seller_helper.rb +15 -15
- data/app/models/rails_marketplace/admin.rb +9 -9
- data/app/models/rails_marketplace/admin_setting.rb +13 -13
- data/app/models/rails_marketplace/cart.rb +48 -48
- data/app/models/rails_marketplace/cart_product.rb +6 -6
- data/app/models/rails_marketplace/category.rb +21 -21
- data/app/models/rails_marketplace/category_product.rb +5 -5
- data/app/models/rails_marketplace/customer.rb +5 -5
- data/app/models/rails_marketplace/order.rb +21 -21
- data/app/models/rails_marketplace/order_product.rb +6 -6
- data/app/models/rails_marketplace/product.rb +33 -33
- data/app/models/rails_marketplace/seller.rb +12 -12
- data/app/models/rails_marketplace/seller_setting.rb +5 -5
- data/app/views/layouts/rails_marketplace/application.html.erb +37 -37
- data/app/views/layouts/rails_marketplace/seller_central.html.erb +58 -58
- data/app/views/layouts/rails_marketplace/super_admin.html.erb +58 -58
- data/app/views/rails_marketplace/admin/add_category.html.erb +63 -63
- data/app/views/rails_marketplace/admin/categories.html.erb +50 -50
- data/app/views/rails_marketplace/admin/category_products.html.erb +54 -54
- data/app/views/rails_marketplace/admin/dashboard.html.erb +49 -49
- data/app/views/rails_marketplace/admin/edit_category.html.erb +63 -63
- data/app/views/rails_marketplace/admin/login_form.html.erb +19 -19
- data/app/views/rails_marketplace/admin/products.html.erb +54 -54
- data/app/views/rails_marketplace/admin/seller_products.html.erb +54 -54
- data/app/views/rails_marketplace/admin/sellers.html.erb +48 -48
- data/app/views/rails_marketplace/admin/settings_form.html.erb +38 -38
- data/app/views/rails_marketplace/admin/signup_form.html.erb +24 -24
- data/app/views/rails_marketplace/catalog/cart.html.erb +80 -80
- data/app/views/rails_marketplace/catalog/category_products.html.erb +52 -52
- data/app/views/rails_marketplace/catalog/checkout.html.erb +207 -207
- data/app/views/rails_marketplace/catalog/checkout_success.html.erb +14 -14
- data/app/views/rails_marketplace/catalog/index.html.erb +0 -0
- data/app/views/rails_marketplace/catalog/product_detail.html.erb +87 -87
- data/app/views/rails_marketplace/partials/_admin_sidenav.html.erb +80 -80
- data/app/views/rails_marketplace/partials/_admin_topnav.html.erb +111 -111
- data/app/views/rails_marketplace/partials/_footer.html.erb +19 -19
- data/app/views/rails_marketplace/partials/_menu.html.erb +41 -41
- data/app/views/rails_marketplace/partials/_sidenav.html.erb +77 -77
- data/app/views/rails_marketplace/partials/_topnav.html.erb +105 -105
- data/app/views/rails_marketplace/seller/add_bulk_products.html.erb +0 -0
- data/app/views/rails_marketplace/seller/add_product.html.erb +66 -66
- data/app/views/rails_marketplace/seller/dashboard.html.erb +50 -50
- data/app/views/rails_marketplace/seller/edit_product.html.erb +68 -68
- data/app/views/rails_marketplace/seller/login_form.html.erb +36 -36
- data/app/views/rails_marketplace/seller/order_details.html.erb +69 -69
- data/app/views/rails_marketplace/seller/orders.html.erb +68 -68
- data/app/views/rails_marketplace/seller/products.html.erb +55 -55
- data/app/views/rails_marketplace/seller/settings_general.html.erb +64 -64
- data/app/views/rails_marketplace/seller/settings_payment.html.erb +34 -34
- data/app/views/rails_marketplace/seller/settings_shipping.html.erb +34 -34
- data/app/views/rails_marketplace/seller/settings_tax.html.erb +34 -34
- data/app/views/rails_marketplace/seller/signup_form.html.erb +27 -27
- data/app/views/rails_marketplace/seller/step_two.html.erb +16 -16
- data/app/views/rails_marketplace/shared/_admin_error_messages.html.erb +11 -11
- data/app/views/rails_marketplace/shared/_product_error_messages.html.erb +11 -11
- data/app/views/rails_marketplace/shared/_seller_error_messages.html.erb +11 -11
- data/config/routes.rb +58 -58
- data/db/migrate/20161013194852_create_sellers.rb +13 -13
- data/db/migrate/20161013195006_create_customers.rb +13 -13
- data/db/migrate/20161013195758_create_orders.rb +8 -8
- data/db/migrate/20161014013032_create_category_products.rb +10 -10
- data/db/migrate/20161014013058_create_order_products.rb +13 -13
- data/db/migrate/20161017185755_create_admins.rb +12 -12
- data/db/migrate/20161017232347_create_products.rb +14 -14
- data/db/migrate/20161019012043_add_reference_product_seller.rb +5 -5
- data/db/migrate/20161019013502_change_data_type_images_files.rb +6 -6
- data/db/migrate/20161019022020_add_reference_order_customers.rb +5 -5
- data/db/migrate/20161109191644_create_categories.rb +15 -15
- data/db/migrate/20161110021043_create_friendly_id_slugs.rb +15 -15
- data/db/migrate/20161110021131_add_slug_to_category.rb +6 -6
- data/db/migrate/20161110024118_add_slug_to_product.rb +6 -6
- data/db/migrate/20161111001446_create_carts.rb +8 -8
- data/db/migrate/20161111004451_create_cart_products.rb +12 -12
- data/db/migrate/20161115013956_add_currency_format_to_price.rb +6 -6
- data/db/migrate/20161115015227_monetize_product.rb +5 -5
- data/db/migrate/20161115032905_add_stripe_key_to_admin.rb +6 -6
- data/db/migrate/20161124015608_add_order_fields.rb +16 -16
- data/db/migrate/20161207193917_add_seller_to_orders.rb +6 -6
- data/db/migrate/20161208012601_add_price_to_cart_products.rb +6 -6
- data/db/migrate/20161208013402_add_money_to_cart_products.rb +6 -6
- data/db/migrate/20170217183953_create_seller_settings.rb +29 -29
- data/db/migrate/20170218003202_create_admin_settings.rb +24 -24
- data/db/migrate/20170224230449_create_stripe_managed_accounts.rb +9 -9
- data/db/migrate/20170224233736_add_stripe_to_admin_settings.rb +9 -9
- data/db/migrate/20170224235259_add_id_to_settings.rb +6 -6
- data/db/migrate/20170225002939_delete_stripe_accounts.rb +8 -8
- data/db/migrate/20170225003252_add_stripe_account_id_to_seller_settings.rb +5 -5
- data/lib/rails_marketplace.rb +4 -4
- data/lib/rails_marketplace/engine.rb +9 -9
- data/lib/rails_marketplace/version.rb +3 -3
- data/lib/tasks/rails_marketplace_tasks.rake +4 -4
- data/spec/controllers/rails_marketplace/catalog_controller_spec.rb +75 -75
- data/spec/dummy/README.rdoc +28 -28
- data/spec/dummy/Rakefile +6 -6
- data/spec/dummy/app/assets/javascripts/application.js +13 -13
- data/spec/dummy/app/assets/stylesheets/application.css +15 -15
- data/spec/dummy/app/controllers/application_controller.rb +5 -5
- data/spec/dummy/app/helpers/application_helper.rb +2 -2
- data/spec/dummy/app/views/layouts/application.html.erb +14 -14
- data/spec/dummy/bin/bundle +3 -3
- data/spec/dummy/bin/rails +4 -4
- data/spec/dummy/bin/rake +4 -4
- data/spec/dummy/bin/setup +29 -29
- data/spec/dummy/config.ru +4 -4
- data/spec/dummy/config/application.rb +32 -32
- data/spec/dummy/config/boot.rb +5 -5
- data/spec/dummy/config/database.yml +25 -25
- data/spec/dummy/config/environment.rb +5 -5
- data/spec/dummy/config/environments/development.rb +41 -41
- data/spec/dummy/config/environments/production.rb +79 -79
- data/spec/dummy/config/environments/test.rb +42 -42
- data/spec/dummy/config/initializers/assets.rb +11 -11
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -7
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -3
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -4
- data/spec/dummy/config/initializers/inflections.rb +16 -16
- data/spec/dummy/config/initializers/mime_types.rb +4 -4
- data/spec/dummy/config/initializers/session_store.rb +3 -3
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -14
- data/spec/dummy/config/locales/en.yml +23 -23
- data/spec/dummy/config/routes.rb +4 -4
- data/spec/dummy/config/secrets.yml +22 -22
- data/spec/dummy/db/schema.rb +194 -194
- data/spec/dummy/log/development.log +889 -889
- data/spec/dummy/log/test.log +1229 -1229
- data/spec/dummy/public/404.html +67 -67
- data/spec/dummy/public/422.html +67 -67
- data/spec/dummy/public/500.html +66 -66
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/helpers/rails_marketplace/catalog_helper_spec.rb +17 -17
- data/spec/routing/rails_marketplace/catalog_routing_spec.rb +44 -44
- data/spec/spec_helper.rb +44 -44
- data/spec/views/rails_marketplace/catalog/edit.html.erb_spec.rb +15 -15
- data/spec/views/rails_marketplace/catalog/index.html.erb_spec.rb +15 -15
- data/spec/views/rails_marketplace/catalog/new.html.erb_spec.rb +15 -15
- data/spec/views/rails_marketplace/catalog/show.html.erb_spec.rb +12 -12
- metadata +37 -38
@@ -1,160 +1,160 @@
|
|
1
|
-
$(function () {
|
2
|
-
|
3
|
-
'use strict';
|
4
|
-
|
5
|
-
var console = window.console || { log: function () {} },
|
6
|
-
$alert = $('.docs-alert'),
|
7
|
-
$message = $alert.find('.message'),
|
8
|
-
showMessage = function (message, type) {
|
9
|
-
$message.text(message);
|
10
|
-
|
11
|
-
if (type) {
|
12
|
-
$message.addClass(type);
|
13
|
-
}
|
14
|
-
|
15
|
-
$alert.fadeIn();
|
16
|
-
|
17
|
-
setTimeout(function () {
|
18
|
-
$alert.fadeOut();
|
19
|
-
}, 3000);
|
20
|
-
};
|
21
|
-
|
22
|
-
// Demo
|
23
|
-
// -------------------------------------------------------------------------
|
24
|
-
|
25
|
-
(function () {
|
26
|
-
var $image = $('.img-container > img'),
|
27
|
-
$dataX = $('#dataX'),
|
28
|
-
$dataY = $('#dataY'),
|
29
|
-
$dataHeight = $('#dataHeight'),
|
30
|
-
$dataWidth = $('#dataWidth'),
|
31
|
-
$dataRotate = $('#dataRotate'),
|
32
|
-
options = {
|
33
|
-
aspectRatio: 16 / 9,
|
34
|
-
preview: '.img-preview',
|
35
|
-
crop: function (data) {
|
36
|
-
$dataX.val(Math.round(data.x));
|
37
|
-
$dataY.val(Math.round(data.y));
|
38
|
-
$dataHeight.val(Math.round(data.height));
|
39
|
-
$dataWidth.val(Math.round(data.width));
|
40
|
-
$dataRotate.val(Math.round(data.rotate));
|
41
|
-
}
|
42
|
-
};
|
43
|
-
|
44
|
-
$image.on({
|
45
|
-
'build.cropper': function (e) {
|
46
|
-
console.log(e.type);
|
47
|
-
},
|
48
|
-
'built.cropper': function (e) {
|
49
|
-
console.log(e.type);
|
50
|
-
}
|
51
|
-
}).cropper(options);
|
52
|
-
|
53
|
-
|
54
|
-
// Methods
|
55
|
-
$(document.body).on('click', '[data-method]', function () {
|
56
|
-
var data = $(this).data(),
|
57
|
-
$target,
|
58
|
-
result;
|
59
|
-
|
60
|
-
if (data.method) {
|
61
|
-
data = $.extend({}, data); // Clone a new one
|
62
|
-
|
63
|
-
if (typeof data.target !== 'undefined') {
|
64
|
-
$target = $(data.target);
|
65
|
-
|
66
|
-
if (typeof data.option === 'undefined') {
|
67
|
-
try {
|
68
|
-
data.option = JSON.parse($target.val());
|
69
|
-
} catch (e) {
|
70
|
-
console.log(e.message);
|
71
|
-
}
|
72
|
-
}
|
73
|
-
}
|
74
|
-
|
75
|
-
result = $image.cropper(data.method, data.option);
|
76
|
-
|
77
|
-
if (data.method === 'getDataURL') {
|
78
|
-
$('#getDataURLModal').modal().find('.modal-body').html('<img src="' + result + '">');
|
79
|
-
}
|
80
|
-
|
81
|
-
if ($.isPlainObject(result) && $target) {
|
82
|
-
try {
|
83
|
-
$target.val(JSON.stringify(result));
|
84
|
-
} catch (e) {
|
85
|
-
console.log(e.message);
|
86
|
-
}
|
87
|
-
}
|
88
|
-
|
89
|
-
}
|
90
|
-
}).on('keydown', function (e) {
|
91
|
-
|
92
|
-
switch (e.which) {
|
93
|
-
case 37:
|
94
|
-
e.preventDefault();
|
95
|
-
$image.cropper('move', -1, 0);
|
96
|
-
break;
|
97
|
-
|
98
|
-
case 38:
|
99
|
-
e.preventDefault();
|
100
|
-
$image.cropper('move', 0, -1);
|
101
|
-
break;
|
102
|
-
|
103
|
-
case 39:
|
104
|
-
e.preventDefault();
|
105
|
-
$image.cropper('move', 1, 0);
|
106
|
-
break;
|
107
|
-
|
108
|
-
case 40:
|
109
|
-
e.preventDefault();
|
110
|
-
$image.cropper('move', 0, 1);
|
111
|
-
break;
|
112
|
-
}
|
113
|
-
|
114
|
-
});
|
115
|
-
|
116
|
-
|
117
|
-
// Import image
|
118
|
-
var $inputImage = $('#inputImage'),
|
119
|
-
URL = window.URL || window.webkitURL,
|
120
|
-
blobURL;
|
121
|
-
|
122
|
-
if (URL) {
|
123
|
-
$inputImage.change(function () {
|
124
|
-
var files = this.files,
|
125
|
-
file;
|
126
|
-
|
127
|
-
if (files && files.length) {
|
128
|
-
file = files[0];
|
129
|
-
|
130
|
-
if (/^image\/\w+$/.test(file.type)) {
|
131
|
-
blobURL = URL.createObjectURL(file);
|
132
|
-
$image.one('built.cropper', function () {
|
133
|
-
URL.revokeObjectURL(blobURL); // Revoke when load complete
|
134
|
-
}).cropper('reset', true).cropper('replace', blobURL);
|
135
|
-
$inputImage.val('');
|
136
|
-
} else {
|
137
|
-
showMessage('Please choose an image file.');
|
138
|
-
}
|
139
|
-
}
|
140
|
-
});
|
141
|
-
} else {
|
142
|
-
$inputImage.parent().remove();
|
143
|
-
}
|
144
|
-
|
145
|
-
|
146
|
-
// Options
|
147
|
-
$('.docs-options :checkbox').on('change', function () {
|
148
|
-
var $this = $(this);
|
149
|
-
|
150
|
-
options[$this.val()] = $this.prop('checked');
|
151
|
-
$image.cropper('destroy').cropper(options);
|
152
|
-
});
|
153
|
-
|
154
|
-
|
155
|
-
// Tooltips
|
156
|
-
$('[data-toggle="tooltip"]').tooltip();
|
157
|
-
|
158
|
-
}());
|
159
|
-
|
160
|
-
});
|
1
|
+
$(function () {
|
2
|
+
|
3
|
+
'use strict';
|
4
|
+
|
5
|
+
var console = window.console || { log: function () {} },
|
6
|
+
$alert = $('.docs-alert'),
|
7
|
+
$message = $alert.find('.message'),
|
8
|
+
showMessage = function (message, type) {
|
9
|
+
$message.text(message);
|
10
|
+
|
11
|
+
if (type) {
|
12
|
+
$message.addClass(type);
|
13
|
+
}
|
14
|
+
|
15
|
+
$alert.fadeIn();
|
16
|
+
|
17
|
+
setTimeout(function () {
|
18
|
+
$alert.fadeOut();
|
19
|
+
}, 3000);
|
20
|
+
};
|
21
|
+
|
22
|
+
// Demo
|
23
|
+
// -------------------------------------------------------------------------
|
24
|
+
|
25
|
+
(function () {
|
26
|
+
var $image = $('.img-container > img'),
|
27
|
+
$dataX = $('#dataX'),
|
28
|
+
$dataY = $('#dataY'),
|
29
|
+
$dataHeight = $('#dataHeight'),
|
30
|
+
$dataWidth = $('#dataWidth'),
|
31
|
+
$dataRotate = $('#dataRotate'),
|
32
|
+
options = {
|
33
|
+
aspectRatio: 16 / 9,
|
34
|
+
preview: '.img-preview',
|
35
|
+
crop: function (data) {
|
36
|
+
$dataX.val(Math.round(data.x));
|
37
|
+
$dataY.val(Math.round(data.y));
|
38
|
+
$dataHeight.val(Math.round(data.height));
|
39
|
+
$dataWidth.val(Math.round(data.width));
|
40
|
+
$dataRotate.val(Math.round(data.rotate));
|
41
|
+
}
|
42
|
+
};
|
43
|
+
|
44
|
+
$image.on({
|
45
|
+
'build.cropper': function (e) {
|
46
|
+
console.log(e.type);
|
47
|
+
},
|
48
|
+
'built.cropper': function (e) {
|
49
|
+
console.log(e.type);
|
50
|
+
}
|
51
|
+
}).cropper(options);
|
52
|
+
|
53
|
+
|
54
|
+
// Methods
|
55
|
+
$(document.body).on('click', '[data-method]', function () {
|
56
|
+
var data = $(this).data(),
|
57
|
+
$target,
|
58
|
+
result;
|
59
|
+
|
60
|
+
if (data.method) {
|
61
|
+
data = $.extend({}, data); // Clone a new one
|
62
|
+
|
63
|
+
if (typeof data.target !== 'undefined') {
|
64
|
+
$target = $(data.target);
|
65
|
+
|
66
|
+
if (typeof data.option === 'undefined') {
|
67
|
+
try {
|
68
|
+
data.option = JSON.parse($target.val());
|
69
|
+
} catch (e) {
|
70
|
+
console.log(e.message);
|
71
|
+
}
|
72
|
+
}
|
73
|
+
}
|
74
|
+
|
75
|
+
result = $image.cropper(data.method, data.option);
|
76
|
+
|
77
|
+
if (data.method === 'getDataURL') {
|
78
|
+
$('#getDataURLModal').modal().find('.modal-body').html('<img src="' + result + '">');
|
79
|
+
}
|
80
|
+
|
81
|
+
if ($.isPlainObject(result) && $target) {
|
82
|
+
try {
|
83
|
+
$target.val(JSON.stringify(result));
|
84
|
+
} catch (e) {
|
85
|
+
console.log(e.message);
|
86
|
+
}
|
87
|
+
}
|
88
|
+
|
89
|
+
}
|
90
|
+
}).on('keydown', function (e) {
|
91
|
+
|
92
|
+
switch (e.which) {
|
93
|
+
case 37:
|
94
|
+
e.preventDefault();
|
95
|
+
$image.cropper('move', -1, 0);
|
96
|
+
break;
|
97
|
+
|
98
|
+
case 38:
|
99
|
+
e.preventDefault();
|
100
|
+
$image.cropper('move', 0, -1);
|
101
|
+
break;
|
102
|
+
|
103
|
+
case 39:
|
104
|
+
e.preventDefault();
|
105
|
+
$image.cropper('move', 1, 0);
|
106
|
+
break;
|
107
|
+
|
108
|
+
case 40:
|
109
|
+
e.preventDefault();
|
110
|
+
$image.cropper('move', 0, 1);
|
111
|
+
break;
|
112
|
+
}
|
113
|
+
|
114
|
+
});
|
115
|
+
|
116
|
+
|
117
|
+
// Import image
|
118
|
+
var $inputImage = $('#inputImage'),
|
119
|
+
URL = window.URL || window.webkitURL,
|
120
|
+
blobURL;
|
121
|
+
|
122
|
+
if (URL) {
|
123
|
+
$inputImage.change(function () {
|
124
|
+
var files = this.files,
|
125
|
+
file;
|
126
|
+
|
127
|
+
if (files && files.length) {
|
128
|
+
file = files[0];
|
129
|
+
|
130
|
+
if (/^image\/\w+$/.test(file.type)) {
|
131
|
+
blobURL = URL.createObjectURL(file);
|
132
|
+
$image.one('built.cropper', function () {
|
133
|
+
URL.revokeObjectURL(blobURL); // Revoke when load complete
|
134
|
+
}).cropper('reset', true).cropper('replace', blobURL);
|
135
|
+
$inputImage.val('');
|
136
|
+
} else {
|
137
|
+
showMessage('Please choose an image file.');
|
138
|
+
}
|
139
|
+
}
|
140
|
+
});
|
141
|
+
} else {
|
142
|
+
$inputImage.parent().remove();
|
143
|
+
}
|
144
|
+
|
145
|
+
|
146
|
+
// Options
|
147
|
+
$('.docs-options :checkbox').on('change', function () {
|
148
|
+
var $this = $(this);
|
149
|
+
|
150
|
+
options[$this.val()] = $this.prop('checked');
|
151
|
+
$image.cropper('destroy').cropper(options);
|
152
|
+
});
|
153
|
+
|
154
|
+
|
155
|
+
// Tooltips
|
156
|
+
$('[data-toggle="tooltip"]').tooltip();
|
157
|
+
|
158
|
+
}());
|
159
|
+
|
160
|
+
});
|
@@ -1,380 +1,380 @@
|
|
1
|
-
/**
|
2
|
-
* To change this license header, choose License Headers in Project Properties.
|
3
|
-
* To change this template file, choose Tools | Templates
|
4
|
-
* and open the template in the editor.
|
5
|
-
*/
|
6
|
-
|
7
|
-
var URL = window.location,
|
8
|
-
$BODY = $('body'),
|
9
|
-
$MENU_TOGGLE = $('#menu_toggle'),
|
10
|
-
$SIDEBAR_MENU = $('#sidebar-menu'),
|
11
|
-
$SIDEBAR_FOOTER = $('.sidebar-footer'),
|
12
|
-
$LEFT_COL = $('.left_col'),
|
13
|
-
$RIGHT_COL = $('.right_col'),
|
14
|
-
$NAV_MENU = $('.nav_menu'),
|
15
|
-
$FOOTER = $('footer');
|
16
|
-
|
17
|
-
// Sidebar
|
18
|
-
$(function () {
|
19
|
-
|
20
|
-
// TODO: This is some kind of easy fix, maybe we can improve this
|
21
|
-
var setContentHeight = function () {
|
22
|
-
// reset height
|
23
|
-
$RIGHT_COL.css('min-height', $(window).height());
|
24
|
-
|
25
|
-
var bodyHeight = $BODY.height(),
|
26
|
-
leftColHeight = $LEFT_COL.eq(1).height() + $SIDEBAR_FOOTER.height(),
|
27
|
-
contentHeight = bodyHeight < leftColHeight ? leftColHeight : bodyHeight;
|
28
|
-
|
29
|
-
// normalize content
|
30
|
-
contentHeight -= $NAV_MENU.height() + $FOOTER.height();
|
31
|
-
|
32
|
-
$RIGHT_COL.css('min-height', contentHeight);
|
33
|
-
};
|
34
|
-
|
35
|
-
$SIDEBAR_MENU.find('a').on('click', function(ev) {
|
36
|
-
var $li = $(this).parent();
|
37
|
-
|
38
|
-
if ($li.is('.active')) {
|
39
|
-
$li.removeClass('active');
|
40
|
-
$('ul:first', $li).slideUp(function() {
|
41
|
-
setContentHeight();
|
42
|
-
});
|
43
|
-
} else {
|
44
|
-
// prevent closing menu if we are on child menu
|
45
|
-
if (!$li.parent().is('.child_menu')) {
|
46
|
-
$SIDEBAR_MENU.find('li').removeClass('active');
|
47
|
-
$SIDEBAR_MENU.find('li ul').slideUp();
|
48
|
-
}
|
49
|
-
|
50
|
-
$li.addClass('active');
|
51
|
-
|
52
|
-
$('ul:first', $li).slideDown(function() {
|
53
|
-
setContentHeight();
|
54
|
-
});
|
55
|
-
}
|
56
|
-
});
|
57
|
-
|
58
|
-
// toggle small or large menu
|
59
|
-
$MENU_TOGGLE.on('click', function() {
|
60
|
-
if ($BODY.hasClass('nav-md')) {
|
61
|
-
$BODY.removeClass('nav-md').addClass('nav-sm');
|
62
|
-
$LEFT_COL.removeClass('scroll-view').removeAttr('style');
|
63
|
-
|
64
|
-
if ($SIDEBAR_MENU.find('li').hasClass('active')) {
|
65
|
-
$SIDEBAR_MENU.find('li.active').addClass('active-sm').removeClass('active');
|
66
|
-
}
|
67
|
-
} else {
|
68
|
-
$BODY.removeClass('nav-sm').addClass('nav-md');
|
69
|
-
|
70
|
-
if ($SIDEBAR_MENU.find('li').hasClass('active-sm')) {
|
71
|
-
$SIDEBAR_MENU.find('li.active-sm').addClass('active').removeClass('active-sm');
|
72
|
-
}
|
73
|
-
}
|
74
|
-
|
75
|
-
setContentHeight();
|
76
|
-
});
|
77
|
-
|
78
|
-
// check active menu
|
79
|
-
$SIDEBAR_MENU.find('a[href="' + URL + '"]').parent('li').addClass('current-page');
|
80
|
-
|
81
|
-
$SIDEBAR_MENU.find('a').filter(function () {
|
82
|
-
return this.href == URL;
|
83
|
-
}).parent('li').addClass('current-page').parents('ul').slideDown(function() {
|
84
|
-
setContentHeight();
|
85
|
-
}).parent().addClass('active');
|
86
|
-
|
87
|
-
// recompute content when resizing
|
88
|
-
$(window).smartresize(function(){
|
89
|
-
setContentHeight();
|
90
|
-
});
|
91
|
-
|
92
|
-
});
|
93
|
-
|
94
|
-
// Panel toolbox
|
95
|
-
$(function () {
|
96
|
-
$('.collapse-link').on('click', function() {
|
97
|
-
var $BOX_PANEL = $(this).closest('.x_panel'),
|
98
|
-
$ICON = $(this).find('i'),
|
99
|
-
$BOX_CONTENT = $BOX_PANEL.find('.x_content');
|
100
|
-
|
101
|
-
// fix for some div with hardcoded fix class
|
102
|
-
if ($BOX_PANEL.attr('style')) {
|
103
|
-
$BOX_CONTENT.slideToggle(200, function(){
|
104
|
-
$BOX_PANEL.removeAttr('style');
|
105
|
-
});
|
106
|
-
} else {
|
107
|
-
$BOX_CONTENT.slideToggle(200);
|
108
|
-
$BOX_PANEL.css('height', 'auto');
|
109
|
-
}
|
110
|
-
|
111
|
-
$ICON.toggleClass('fa-chevron-up fa-chevron-down');
|
112
|
-
});
|
113
|
-
|
114
|
-
$('.close-link').click(function () {
|
115
|
-
var $BOX_PANEL = $(this).closest('.x_panel');
|
116
|
-
|
117
|
-
$BOX_PANEL.remove();
|
118
|
-
});
|
119
|
-
});
|
120
|
-
|
121
|
-
// Tooltip
|
122
|
-
$(function () {
|
123
|
-
$('[data-toggle="tooltip"]').tooltip();
|
124
|
-
});
|
125
|
-
|
126
|
-
// Progressbar
|
127
|
-
if ($(".progress .progress-bar")[0]) {
|
128
|
-
$('.progress .progress-bar').progressbar(); // bootstrap 3
|
129
|
-
}
|
130
|
-
|
131
|
-
// Switchery
|
132
|
-
if ($(".js-switch")[0]) {
|
133
|
-
var elems = Array.prototype.slice.call(document.querySelectorAll('.js-switch'));
|
134
|
-
elems.forEach(function (html) {
|
135
|
-
var switchery = new Switchery(html, {
|
136
|
-
color: '#26B99A'
|
137
|
-
});
|
138
|
-
});
|
139
|
-
}
|
140
|
-
|
141
|
-
// iCheck
|
142
|
-
if ($("input.flat")[0]) {
|
143
|
-
$(document).ready(function () {
|
144
|
-
$('input.flat').iCheck({
|
145
|
-
checkboxClass: 'icheckbox_flat-green',
|
146
|
-
radioClass: 'iradio_flat-green'
|
147
|
-
});
|
148
|
-
});
|
149
|
-
}
|
150
|
-
|
151
|
-
// Starrr
|
152
|
-
var __slice = [].slice;
|
153
|
-
|
154
|
-
(function ($, window) {
|
155
|
-
var Starrr;
|
156
|
-
|
157
|
-
Starrr = (function () {
|
158
|
-
Starrr.prototype.defaults = {
|
159
|
-
rating: void 0,
|
160
|
-
numStars: 5,
|
161
|
-
change: function (e, value) {
|
162
|
-
}
|
163
|
-
};
|
164
|
-
|
165
|
-
function Starrr($el, options) {
|
166
|
-
var i, _, _ref,
|
167
|
-
_this = this;
|
168
|
-
|
169
|
-
this.options = $.extend({}, this.defaults, options);
|
170
|
-
this.$el = $el;
|
171
|
-
_ref = this.defaults;
|
172
|
-
for (i in _ref) {
|
173
|
-
_ = _ref[i];
|
174
|
-
if (this.$el.data(i) !== null) {
|
175
|
-
this.options[i] = this.$el.data(i);
|
176
|
-
}
|
177
|
-
}
|
178
|
-
this.createStars();
|
179
|
-
this.syncRating();
|
180
|
-
this.$el.on('mouseover.starrr', 'span', function (e) {
|
181
|
-
return _this.syncRating(_this.$el.find('span').index(e.currentTarget) + 1);
|
182
|
-
});
|
183
|
-
this.$el.on('mouseout.starrr', function () {
|
184
|
-
return _this.syncRating();
|
185
|
-
});
|
186
|
-
this.$el.on('click.starrr', 'span', function (e) {
|
187
|
-
return _this.setRating(_this.$el.find('span').index(e.currentTarget) + 1);
|
188
|
-
});
|
189
|
-
this.$el.on('starrr:change', this.options.change);
|
190
|
-
}
|
191
|
-
|
192
|
-
Starrr.prototype.createStars = function () {
|
193
|
-
var _i, _ref, _results;
|
194
|
-
|
195
|
-
_results = [];
|
196
|
-
for (_i = 1, _ref = this.options.numStars; 1 <= _ref ? _i <= _ref : _i >= _ref; 1 <= _ref ? _i++ : _i--) {
|
197
|
-
_results.push(this.$el.append("<span class='glyphicon .glyphicon-star-empty'></span>"));
|
198
|
-
}
|
199
|
-
return _results;
|
200
|
-
};
|
201
|
-
|
202
|
-
Starrr.prototype.setRating = function (rating) {
|
203
|
-
if (this.options.rating === rating) {
|
204
|
-
rating = void 0;
|
205
|
-
}
|
206
|
-
this.options.rating = rating;
|
207
|
-
this.syncRating();
|
208
|
-
return this.$el.trigger('starrr:change', rating);
|
209
|
-
};
|
210
|
-
|
211
|
-
Starrr.prototype.syncRating = function (rating) {
|
212
|
-
var i, _i, _j, _ref;
|
213
|
-
|
214
|
-
rating || (rating = this.options.rating);
|
215
|
-
if (rating) {
|
216
|
-
for (i = _i = 0, _ref = rating - 1; 0 <= _ref ? _i <= _ref : _i >= _ref; i = 0 <= _ref ? ++_i : --_i) {
|
217
|
-
this.$el.find('span').eq(i).removeClass('glyphicon-star-empty').addClass('glyphicon-star');
|
218
|
-
}
|
219
|
-
}
|
220
|
-
if (rating && rating < 5) {
|
221
|
-
for (i = _j = rating; rating <= 4 ? _j <= 4 : _j >= 4; i = rating <= 4 ? ++_j : --_j) {
|
222
|
-
this.$el.find('span').eq(i).removeClass('glyphicon-star').addClass('glyphicon-star-empty');
|
223
|
-
}
|
224
|
-
}
|
225
|
-
if (!rating) {
|
226
|
-
return this.$el.find('span').removeClass('glyphicon-star').addClass('glyphicon-star-empty');
|
227
|
-
}
|
228
|
-
};
|
229
|
-
|
230
|
-
return Starrr;
|
231
|
-
|
232
|
-
})();
|
233
|
-
return $.fn.extend({
|
234
|
-
starrr: function () {
|
235
|
-
var args, option;
|
236
|
-
|
237
|
-
option = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
|
238
|
-
return this.each(function () {
|
239
|
-
var data;
|
240
|
-
|
241
|
-
data = $(this).data('star-rating');
|
242
|
-
if (!data) {
|
243
|
-
$(this).data('star-rating', (data = new Starrr($(this), option)));
|
244
|
-
}
|
245
|
-
if (typeof option === 'string') {
|
246
|
-
return data[option].apply(data, args);
|
247
|
-
}
|
248
|
-
});
|
249
|
-
}
|
250
|
-
});
|
251
|
-
})(window.jQuery, window);
|
252
|
-
|
253
|
-
$(function () {
|
254
|
-
return $(".starrr").starrr();
|
255
|
-
});
|
256
|
-
|
257
|
-
$(document).ready(function () {
|
258
|
-
|
259
|
-
$('#stars').on('starrr:change', function (e, value) {
|
260
|
-
$('#count').html(value);
|
261
|
-
});
|
262
|
-
|
263
|
-
|
264
|
-
$('#stars-existing').on('starrr:change', function (e, value) {
|
265
|
-
$('#count-existing').html(value);
|
266
|
-
});
|
267
|
-
|
268
|
-
});
|
269
|
-
|
270
|
-
// Table
|
271
|
-
$('table input').on('ifChecked', function () {
|
272
|
-
check_state = '';
|
273
|
-
$(this).parent().parent().parent().addClass('selected');
|
274
|
-
countChecked();
|
275
|
-
});
|
276
|
-
$('table input').on('ifUnchecked', function () {
|
277
|
-
check_state = '';
|
278
|
-
$(this).parent().parent().parent().removeClass('selected');
|
279
|
-
countChecked();
|
280
|
-
});
|
281
|
-
|
282
|
-
var check_state = '';
|
283
|
-
$('.bulk_action input').on('ifChecked', function () {
|
284
|
-
check_state = '';
|
285
|
-
$(this).parent().parent().parent().addClass('selected');
|
286
|
-
countChecked();
|
287
|
-
});
|
288
|
-
$('.bulk_action input').on('ifUnchecked', function () {
|
289
|
-
check_state = '';
|
290
|
-
$(this).parent().parent().parent().removeClass('selected');
|
291
|
-
countChecked();
|
292
|
-
});
|
293
|
-
$('.bulk_action input#check-all').on('ifChecked', function () {
|
294
|
-
check_state = 'check_all';
|
295
|
-
countChecked();
|
296
|
-
});
|
297
|
-
$('.bulk_action input#check-all').on('ifUnchecked', function () {
|
298
|
-
check_state = 'uncheck_all';
|
299
|
-
countChecked();
|
300
|
-
});
|
301
|
-
|
302
|
-
function countChecked() {
|
303
|
-
if (check_state == 'check_all') {
|
304
|
-
$(".bulk_action input[name='table_records']").iCheck('check');
|
305
|
-
}
|
306
|
-
if (check_state == 'uncheck_all') {
|
307
|
-
$(".bulk_action input[name='table_records']").iCheck('uncheck');
|
308
|
-
}
|
309
|
-
var n = $(".bulk_action input[name='table_records']:checked").length;
|
310
|
-
if (n > 0) {
|
311
|
-
$('.column-title').hide();
|
312
|
-
$('.bulk-actions').show();
|
313
|
-
$('.action-cnt').html(n + ' Records Selected');
|
314
|
-
} else {
|
315
|
-
$('.column-title').show();
|
316
|
-
$('.bulk-actions').hide();
|
317
|
-
}
|
318
|
-
}
|
319
|
-
|
320
|
-
// Accordion
|
321
|
-
$(function () {
|
322
|
-
$(".expand").on("click", function () {
|
323
|
-
$(this).next().slideToggle(200);
|
324
|
-
$expand = $(this).find(">:first-child");
|
325
|
-
|
326
|
-
if ($expand.text() == "+") {
|
327
|
-
$expand.text("-");
|
328
|
-
} else {
|
329
|
-
$expand.text("+");
|
330
|
-
}
|
331
|
-
});
|
332
|
-
});
|
333
|
-
|
334
|
-
|
335
|
-
// NProgress
|
336
|
-
if (typeof NProgress != 'undefined') {
|
337
|
-
$(document).ready(function () {
|
338
|
-
NProgress.start();
|
339
|
-
});
|
340
|
-
|
341
|
-
$(window).load(function () {
|
342
|
-
NProgress.done();
|
343
|
-
});
|
344
|
-
}
|
345
|
-
|
346
|
-
/**
|
347
|
-
* Resize function without multiple trigger
|
348
|
-
*
|
349
|
-
* Usage:
|
350
|
-
* $(window).smartresize(function(){
|
351
|
-
* // code here
|
352
|
-
* });
|
353
|
-
*/
|
354
|
-
(function($,sr){
|
355
|
-
// debouncing function from John Hann
|
356
|
-
// http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
|
357
|
-
var debounce = function (func, threshold, execAsap) {
|
358
|
-
var timeout;
|
359
|
-
|
360
|
-
return function debounced () {
|
361
|
-
var obj = this, args = arguments;
|
362
|
-
function delayed () {
|
363
|
-
if (!execAsap)
|
364
|
-
func.apply(obj, args);
|
365
|
-
timeout = null;
|
366
|
-
}
|
367
|
-
|
368
|
-
if (timeout)
|
369
|
-
clearTimeout(timeout);
|
370
|
-
else if (execAsap)
|
371
|
-
func.apply(obj, args);
|
372
|
-
|
373
|
-
timeout = setTimeout(delayed, threshold || 100);
|
374
|
-
};
|
375
|
-
};
|
376
|
-
|
377
|
-
// smartresize
|
378
|
-
jQuery.fn[sr] = function(fn){ return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr); };
|
379
|
-
|
1
|
+
/**
|
2
|
+
* To change this license header, choose License Headers in Project Properties.
|
3
|
+
* To change this template file, choose Tools | Templates
|
4
|
+
* and open the template in the editor.
|
5
|
+
*/
|
6
|
+
|
7
|
+
var URL = window.location,
|
8
|
+
$BODY = $('body'),
|
9
|
+
$MENU_TOGGLE = $('#menu_toggle'),
|
10
|
+
$SIDEBAR_MENU = $('#sidebar-menu'),
|
11
|
+
$SIDEBAR_FOOTER = $('.sidebar-footer'),
|
12
|
+
$LEFT_COL = $('.left_col'),
|
13
|
+
$RIGHT_COL = $('.right_col'),
|
14
|
+
$NAV_MENU = $('.nav_menu'),
|
15
|
+
$FOOTER = $('footer');
|
16
|
+
|
17
|
+
// Sidebar
|
18
|
+
$(function () {
|
19
|
+
|
20
|
+
// TODO: This is some kind of easy fix, maybe we can improve this
|
21
|
+
var setContentHeight = function () {
|
22
|
+
// reset height
|
23
|
+
$RIGHT_COL.css('min-height', $(window).height());
|
24
|
+
|
25
|
+
var bodyHeight = $BODY.height(),
|
26
|
+
leftColHeight = $LEFT_COL.eq(1).height() + $SIDEBAR_FOOTER.height(),
|
27
|
+
contentHeight = bodyHeight < leftColHeight ? leftColHeight : bodyHeight;
|
28
|
+
|
29
|
+
// normalize content
|
30
|
+
contentHeight -= $NAV_MENU.height() + $FOOTER.height();
|
31
|
+
|
32
|
+
$RIGHT_COL.css('min-height', contentHeight);
|
33
|
+
};
|
34
|
+
|
35
|
+
$SIDEBAR_MENU.find('a').on('click', function(ev) {
|
36
|
+
var $li = $(this).parent();
|
37
|
+
|
38
|
+
if ($li.is('.active')) {
|
39
|
+
$li.removeClass('active');
|
40
|
+
$('ul:first', $li).slideUp(function() {
|
41
|
+
setContentHeight();
|
42
|
+
});
|
43
|
+
} else {
|
44
|
+
// prevent closing menu if we are on child menu
|
45
|
+
if (!$li.parent().is('.child_menu')) {
|
46
|
+
$SIDEBAR_MENU.find('li').removeClass('active');
|
47
|
+
$SIDEBAR_MENU.find('li ul').slideUp();
|
48
|
+
}
|
49
|
+
|
50
|
+
$li.addClass('active');
|
51
|
+
|
52
|
+
$('ul:first', $li).slideDown(function() {
|
53
|
+
setContentHeight();
|
54
|
+
});
|
55
|
+
}
|
56
|
+
});
|
57
|
+
|
58
|
+
// toggle small or large menu
|
59
|
+
$MENU_TOGGLE.on('click', function() {
|
60
|
+
if ($BODY.hasClass('nav-md')) {
|
61
|
+
$BODY.removeClass('nav-md').addClass('nav-sm');
|
62
|
+
$LEFT_COL.removeClass('scroll-view').removeAttr('style');
|
63
|
+
|
64
|
+
if ($SIDEBAR_MENU.find('li').hasClass('active')) {
|
65
|
+
$SIDEBAR_MENU.find('li.active').addClass('active-sm').removeClass('active');
|
66
|
+
}
|
67
|
+
} else {
|
68
|
+
$BODY.removeClass('nav-sm').addClass('nav-md');
|
69
|
+
|
70
|
+
if ($SIDEBAR_MENU.find('li').hasClass('active-sm')) {
|
71
|
+
$SIDEBAR_MENU.find('li.active-sm').addClass('active').removeClass('active-sm');
|
72
|
+
}
|
73
|
+
}
|
74
|
+
|
75
|
+
setContentHeight();
|
76
|
+
});
|
77
|
+
|
78
|
+
// check active menu
|
79
|
+
$SIDEBAR_MENU.find('a[href="' + URL + '"]').parent('li').addClass('current-page');
|
80
|
+
|
81
|
+
$SIDEBAR_MENU.find('a').filter(function () {
|
82
|
+
return this.href == URL;
|
83
|
+
}).parent('li').addClass('current-page').parents('ul').slideDown(function() {
|
84
|
+
setContentHeight();
|
85
|
+
}).parent().addClass('active');
|
86
|
+
|
87
|
+
// recompute content when resizing
|
88
|
+
$(window).smartresize(function(){
|
89
|
+
setContentHeight();
|
90
|
+
});
|
91
|
+
|
92
|
+
});
|
93
|
+
|
94
|
+
// Panel toolbox
|
95
|
+
$(function () {
|
96
|
+
$('.collapse-link').on('click', function() {
|
97
|
+
var $BOX_PANEL = $(this).closest('.x_panel'),
|
98
|
+
$ICON = $(this).find('i'),
|
99
|
+
$BOX_CONTENT = $BOX_PANEL.find('.x_content');
|
100
|
+
|
101
|
+
// fix for some div with hardcoded fix class
|
102
|
+
if ($BOX_PANEL.attr('style')) {
|
103
|
+
$BOX_CONTENT.slideToggle(200, function(){
|
104
|
+
$BOX_PANEL.removeAttr('style');
|
105
|
+
});
|
106
|
+
} else {
|
107
|
+
$BOX_CONTENT.slideToggle(200);
|
108
|
+
$BOX_PANEL.css('height', 'auto');
|
109
|
+
}
|
110
|
+
|
111
|
+
$ICON.toggleClass('fa-chevron-up fa-chevron-down');
|
112
|
+
});
|
113
|
+
|
114
|
+
$('.close-link').click(function () {
|
115
|
+
var $BOX_PANEL = $(this).closest('.x_panel');
|
116
|
+
|
117
|
+
$BOX_PANEL.remove();
|
118
|
+
});
|
119
|
+
});
|
120
|
+
|
121
|
+
// Tooltip
|
122
|
+
$(function () {
|
123
|
+
$('[data-toggle="tooltip"]').tooltip();
|
124
|
+
});
|
125
|
+
|
126
|
+
// Progressbar
|
127
|
+
if ($(".progress .progress-bar")[0]) {
|
128
|
+
$('.progress .progress-bar').progressbar(); // bootstrap 3
|
129
|
+
}
|
130
|
+
|
131
|
+
// Switchery
|
132
|
+
if ($(".js-switch")[0]) {
|
133
|
+
var elems = Array.prototype.slice.call(document.querySelectorAll('.js-switch'));
|
134
|
+
elems.forEach(function (html) {
|
135
|
+
var switchery = new Switchery(html, {
|
136
|
+
color: '#26B99A'
|
137
|
+
});
|
138
|
+
});
|
139
|
+
}
|
140
|
+
|
141
|
+
// iCheck
|
142
|
+
if ($("input.flat")[0]) {
|
143
|
+
$(document).ready(function () {
|
144
|
+
$('input.flat').iCheck({
|
145
|
+
checkboxClass: 'icheckbox_flat-green',
|
146
|
+
radioClass: 'iradio_flat-green'
|
147
|
+
});
|
148
|
+
});
|
149
|
+
}
|
150
|
+
|
151
|
+
// Starrr
|
152
|
+
var __slice = [].slice;
|
153
|
+
|
154
|
+
(function ($, window) {
|
155
|
+
var Starrr;
|
156
|
+
|
157
|
+
Starrr = (function () {
|
158
|
+
Starrr.prototype.defaults = {
|
159
|
+
rating: void 0,
|
160
|
+
numStars: 5,
|
161
|
+
change: function (e, value) {
|
162
|
+
}
|
163
|
+
};
|
164
|
+
|
165
|
+
function Starrr($el, options) {
|
166
|
+
var i, _, _ref,
|
167
|
+
_this = this;
|
168
|
+
|
169
|
+
this.options = $.extend({}, this.defaults, options);
|
170
|
+
this.$el = $el;
|
171
|
+
_ref = this.defaults;
|
172
|
+
for (i in _ref) {
|
173
|
+
_ = _ref[i];
|
174
|
+
if (this.$el.data(i) !== null) {
|
175
|
+
this.options[i] = this.$el.data(i);
|
176
|
+
}
|
177
|
+
}
|
178
|
+
this.createStars();
|
179
|
+
this.syncRating();
|
180
|
+
this.$el.on('mouseover.starrr', 'span', function (e) {
|
181
|
+
return _this.syncRating(_this.$el.find('span').index(e.currentTarget) + 1);
|
182
|
+
});
|
183
|
+
this.$el.on('mouseout.starrr', function () {
|
184
|
+
return _this.syncRating();
|
185
|
+
});
|
186
|
+
this.$el.on('click.starrr', 'span', function (e) {
|
187
|
+
return _this.setRating(_this.$el.find('span').index(e.currentTarget) + 1);
|
188
|
+
});
|
189
|
+
this.$el.on('starrr:change', this.options.change);
|
190
|
+
}
|
191
|
+
|
192
|
+
Starrr.prototype.createStars = function () {
|
193
|
+
var _i, _ref, _results;
|
194
|
+
|
195
|
+
_results = [];
|
196
|
+
for (_i = 1, _ref = this.options.numStars; 1 <= _ref ? _i <= _ref : _i >= _ref; 1 <= _ref ? _i++ : _i--) {
|
197
|
+
_results.push(this.$el.append("<span class='glyphicon .glyphicon-star-empty'></span>"));
|
198
|
+
}
|
199
|
+
return _results;
|
200
|
+
};
|
201
|
+
|
202
|
+
Starrr.prototype.setRating = function (rating) {
|
203
|
+
if (this.options.rating === rating) {
|
204
|
+
rating = void 0;
|
205
|
+
}
|
206
|
+
this.options.rating = rating;
|
207
|
+
this.syncRating();
|
208
|
+
return this.$el.trigger('starrr:change', rating);
|
209
|
+
};
|
210
|
+
|
211
|
+
Starrr.prototype.syncRating = function (rating) {
|
212
|
+
var i, _i, _j, _ref;
|
213
|
+
|
214
|
+
rating || (rating = this.options.rating);
|
215
|
+
if (rating) {
|
216
|
+
for (i = _i = 0, _ref = rating - 1; 0 <= _ref ? _i <= _ref : _i >= _ref; i = 0 <= _ref ? ++_i : --_i) {
|
217
|
+
this.$el.find('span').eq(i).removeClass('glyphicon-star-empty').addClass('glyphicon-star');
|
218
|
+
}
|
219
|
+
}
|
220
|
+
if (rating && rating < 5) {
|
221
|
+
for (i = _j = rating; rating <= 4 ? _j <= 4 : _j >= 4; i = rating <= 4 ? ++_j : --_j) {
|
222
|
+
this.$el.find('span').eq(i).removeClass('glyphicon-star').addClass('glyphicon-star-empty');
|
223
|
+
}
|
224
|
+
}
|
225
|
+
if (!rating) {
|
226
|
+
return this.$el.find('span').removeClass('glyphicon-star').addClass('glyphicon-star-empty');
|
227
|
+
}
|
228
|
+
};
|
229
|
+
|
230
|
+
return Starrr;
|
231
|
+
|
232
|
+
})();
|
233
|
+
return $.fn.extend({
|
234
|
+
starrr: function () {
|
235
|
+
var args, option;
|
236
|
+
|
237
|
+
option = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
|
238
|
+
return this.each(function () {
|
239
|
+
var data;
|
240
|
+
|
241
|
+
data = $(this).data('star-rating');
|
242
|
+
if (!data) {
|
243
|
+
$(this).data('star-rating', (data = new Starrr($(this), option)));
|
244
|
+
}
|
245
|
+
if (typeof option === 'string') {
|
246
|
+
return data[option].apply(data, args);
|
247
|
+
}
|
248
|
+
});
|
249
|
+
}
|
250
|
+
});
|
251
|
+
})(window.jQuery, window);
|
252
|
+
|
253
|
+
$(function () {
|
254
|
+
return $(".starrr").starrr();
|
255
|
+
});
|
256
|
+
|
257
|
+
$(document).ready(function () {
|
258
|
+
|
259
|
+
$('#stars').on('starrr:change', function (e, value) {
|
260
|
+
$('#count').html(value);
|
261
|
+
});
|
262
|
+
|
263
|
+
|
264
|
+
$('#stars-existing').on('starrr:change', function (e, value) {
|
265
|
+
$('#count-existing').html(value);
|
266
|
+
});
|
267
|
+
|
268
|
+
});
|
269
|
+
|
270
|
+
// Table
|
271
|
+
$('table input').on('ifChecked', function () {
|
272
|
+
check_state = '';
|
273
|
+
$(this).parent().parent().parent().addClass('selected');
|
274
|
+
countChecked();
|
275
|
+
});
|
276
|
+
$('table input').on('ifUnchecked', function () {
|
277
|
+
check_state = '';
|
278
|
+
$(this).parent().parent().parent().removeClass('selected');
|
279
|
+
countChecked();
|
280
|
+
});
|
281
|
+
|
282
|
+
var check_state = '';
|
283
|
+
$('.bulk_action input').on('ifChecked', function () {
|
284
|
+
check_state = '';
|
285
|
+
$(this).parent().parent().parent().addClass('selected');
|
286
|
+
countChecked();
|
287
|
+
});
|
288
|
+
$('.bulk_action input').on('ifUnchecked', function () {
|
289
|
+
check_state = '';
|
290
|
+
$(this).parent().parent().parent().removeClass('selected');
|
291
|
+
countChecked();
|
292
|
+
});
|
293
|
+
$('.bulk_action input#check-all').on('ifChecked', function () {
|
294
|
+
check_state = 'check_all';
|
295
|
+
countChecked();
|
296
|
+
});
|
297
|
+
$('.bulk_action input#check-all').on('ifUnchecked', function () {
|
298
|
+
check_state = 'uncheck_all';
|
299
|
+
countChecked();
|
300
|
+
});
|
301
|
+
|
302
|
+
function countChecked() {
|
303
|
+
if (check_state == 'check_all') {
|
304
|
+
$(".bulk_action input[name='table_records']").iCheck('check');
|
305
|
+
}
|
306
|
+
if (check_state == 'uncheck_all') {
|
307
|
+
$(".bulk_action input[name='table_records']").iCheck('uncheck');
|
308
|
+
}
|
309
|
+
var n = $(".bulk_action input[name='table_records']:checked").length;
|
310
|
+
if (n > 0) {
|
311
|
+
$('.column-title').hide();
|
312
|
+
$('.bulk-actions').show();
|
313
|
+
$('.action-cnt').html(n + ' Records Selected');
|
314
|
+
} else {
|
315
|
+
$('.column-title').show();
|
316
|
+
$('.bulk-actions').hide();
|
317
|
+
}
|
318
|
+
}
|
319
|
+
|
320
|
+
// Accordion
|
321
|
+
$(function () {
|
322
|
+
$(".expand").on("click", function () {
|
323
|
+
$(this).next().slideToggle(200);
|
324
|
+
$expand = $(this).find(">:first-child");
|
325
|
+
|
326
|
+
if ($expand.text() == "+") {
|
327
|
+
$expand.text("-");
|
328
|
+
} else {
|
329
|
+
$expand.text("+");
|
330
|
+
}
|
331
|
+
});
|
332
|
+
});
|
333
|
+
|
334
|
+
|
335
|
+
// NProgress
|
336
|
+
if (typeof NProgress != 'undefined') {
|
337
|
+
$(document).ready(function () {
|
338
|
+
NProgress.start();
|
339
|
+
});
|
340
|
+
|
341
|
+
$(window).load(function () {
|
342
|
+
NProgress.done();
|
343
|
+
});
|
344
|
+
}
|
345
|
+
|
346
|
+
/**
|
347
|
+
* Resize function without multiple trigger
|
348
|
+
*
|
349
|
+
* Usage:
|
350
|
+
* $(window).smartresize(function(){
|
351
|
+
* // code here
|
352
|
+
* });
|
353
|
+
*/
|
354
|
+
(function($,sr){
|
355
|
+
// debouncing function from John Hann
|
356
|
+
// http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
|
357
|
+
var debounce = function (func, threshold, execAsap) {
|
358
|
+
var timeout;
|
359
|
+
|
360
|
+
return function debounced () {
|
361
|
+
var obj = this, args = arguments;
|
362
|
+
function delayed () {
|
363
|
+
if (!execAsap)
|
364
|
+
func.apply(obj, args);
|
365
|
+
timeout = null;
|
366
|
+
}
|
367
|
+
|
368
|
+
if (timeout)
|
369
|
+
clearTimeout(timeout);
|
370
|
+
else if (execAsap)
|
371
|
+
func.apply(obj, args);
|
372
|
+
|
373
|
+
timeout = setTimeout(delayed, threshold || 100);
|
374
|
+
};
|
375
|
+
};
|
376
|
+
|
377
|
+
// smartresize
|
378
|
+
jQuery.fn[sr] = function(fn){ return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr); };
|
379
|
+
|
380
380
|
})(jQuery,'smartresize');
|