dima 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +17 -0
- data/.rspec +1 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +29 -0
- data/Rakefile +36 -0
- data/dima.gemspec +26 -0
- data/examples/shop/forms.rb +58 -0
- data/examples/shop/models.rb +35 -0
- data/examples/shop/public/css/bootstrap.min.css +9 -0
- data/examples/shop/public/css/dima.css +201 -0
- data/examples/shop/public/img/.DS_Store +0 -0
- data/examples/shop/public/img/fff/.DS_Store +0 -0
- data/examples/shop/public/img/fff/accept.png +0 -0
- data/examples/shop/public/img/fff/add.png +0 -0
- data/examples/shop/public/img/fff/anchor.png +0 -0
- data/examples/shop/public/img/fff/application.png +0 -0
- data/examples/shop/public/img/fff/application_add.png +0 -0
- data/examples/shop/public/img/fff/application_cascade.png +0 -0
- data/examples/shop/public/img/fff/application_delete.png +0 -0
- data/examples/shop/public/img/fff/application_double.png +0 -0
- data/examples/shop/public/img/fff/application_edit.png +0 -0
- data/examples/shop/public/img/fff/application_error.png +0 -0
- data/examples/shop/public/img/fff/application_form.png +0 -0
- data/examples/shop/public/img/fff/application_form_add.png +0 -0
- data/examples/shop/public/img/fff/application_form_delete.png +0 -0
- data/examples/shop/public/img/fff/application_form_edit.png +0 -0
- data/examples/shop/public/img/fff/application_form_magnify.png +0 -0
- data/examples/shop/public/img/fff/application_get.png +0 -0
- data/examples/shop/public/img/fff/application_go.png +0 -0
- data/examples/shop/public/img/fff/application_home.png +0 -0
- data/examples/shop/public/img/fff/application_key.png +0 -0
- data/examples/shop/public/img/fff/application_lightning.png +0 -0
- data/examples/shop/public/img/fff/application_link.png +0 -0
- data/examples/shop/public/img/fff/application_osx.png +0 -0
- data/examples/shop/public/img/fff/application_osx_terminal.png +0 -0
- data/examples/shop/public/img/fff/application_put.png +0 -0
- data/examples/shop/public/img/fff/application_side_boxes.png +0 -0
- data/examples/shop/public/img/fff/application_side_contract.png +0 -0
- data/examples/shop/public/img/fff/application_side_expand.png +0 -0
- data/examples/shop/public/img/fff/application_side_list.png +0 -0
- data/examples/shop/public/img/fff/application_side_tree.png +0 -0
- data/examples/shop/public/img/fff/application_split.png +0 -0
- data/examples/shop/public/img/fff/application_tile_horizontal.png +0 -0
- data/examples/shop/public/img/fff/application_tile_vertical.png +0 -0
- data/examples/shop/public/img/fff/application_view_columns.png +0 -0
- data/examples/shop/public/img/fff/application_view_detail.png +0 -0
- data/examples/shop/public/img/fff/application_view_gallery.png +0 -0
- data/examples/shop/public/img/fff/application_view_icons.png +0 -0
- data/examples/shop/public/img/fff/application_view_list.png +0 -0
- data/examples/shop/public/img/fff/application_view_tile.png +0 -0
- data/examples/shop/public/img/fff/application_xp.png +0 -0
- data/examples/shop/public/img/fff/application_xp_terminal.png +0 -0
- data/examples/shop/public/img/fff/arrow_branch.png +0 -0
- data/examples/shop/public/img/fff/arrow_divide.png +0 -0
- data/examples/shop/public/img/fff/arrow_down.png +0 -0
- data/examples/shop/public/img/fff/arrow_in.png +0 -0
- data/examples/shop/public/img/fff/arrow_inout.png +0 -0
- data/examples/shop/public/img/fff/arrow_join.png +0 -0
- data/examples/shop/public/img/fff/arrow_left.png +0 -0
- data/examples/shop/public/img/fff/arrow_merge.png +0 -0
- data/examples/shop/public/img/fff/arrow_out.png +0 -0
- data/examples/shop/public/img/fff/arrow_redo.png +0 -0
- data/examples/shop/public/img/fff/arrow_refresh.png +0 -0
- data/examples/shop/public/img/fff/arrow_refresh_small.png +0 -0
- data/examples/shop/public/img/fff/arrow_right.png +0 -0
- data/examples/shop/public/img/fff/arrow_rotate_anticlockwise.png +0 -0
- data/examples/shop/public/img/fff/arrow_rotate_clockwise.png +0 -0
- data/examples/shop/public/img/fff/arrow_switch.png +0 -0
- data/examples/shop/public/img/fff/arrow_turn_left.png +0 -0
- data/examples/shop/public/img/fff/arrow_turn_right.png +0 -0
- data/examples/shop/public/img/fff/arrow_undo.png +0 -0
- data/examples/shop/public/img/fff/arrow_up.png +0 -0
- data/examples/shop/public/img/fff/asterisk_orange.png +0 -0
- data/examples/shop/public/img/fff/asterisk_yellow.png +0 -0
- data/examples/shop/public/img/fff/attach.png +0 -0
- data/examples/shop/public/img/fff/award_star_add.png +0 -0
- data/examples/shop/public/img/fff/award_star_bronze_1.png +0 -0
- data/examples/shop/public/img/fff/award_star_bronze_2.png +0 -0
- data/examples/shop/public/img/fff/award_star_bronze_3.png +0 -0
- data/examples/shop/public/img/fff/award_star_delete.png +0 -0
- data/examples/shop/public/img/fff/award_star_gold_1.png +0 -0
- data/examples/shop/public/img/fff/award_star_gold_2.png +0 -0
- data/examples/shop/public/img/fff/award_star_gold_3.png +0 -0
- data/examples/shop/public/img/fff/award_star_silver_1.png +0 -0
- data/examples/shop/public/img/fff/award_star_silver_2.png +0 -0
- data/examples/shop/public/img/fff/award_star_silver_3.png +0 -0
- data/examples/shop/public/img/fff/basket.png +0 -0
- data/examples/shop/public/img/fff/basket_add.png +0 -0
- data/examples/shop/public/img/fff/basket_delete.png +0 -0
- data/examples/shop/public/img/fff/basket_edit.png +0 -0
- data/examples/shop/public/img/fff/basket_error.png +0 -0
- data/examples/shop/public/img/fff/basket_go.png +0 -0
- data/examples/shop/public/img/fff/basket_put.png +0 -0
- data/examples/shop/public/img/fff/basket_remove.png +0 -0
- data/examples/shop/public/img/fff/bell.png +0 -0
- data/examples/shop/public/img/fff/bell_add.png +0 -0
- data/examples/shop/public/img/fff/bell_delete.png +0 -0
- data/examples/shop/public/img/fff/bell_error.png +0 -0
- data/examples/shop/public/img/fff/bell_go.png +0 -0
- data/examples/shop/public/img/fff/bell_link.png +0 -0
- data/examples/shop/public/img/fff/bin.png +0 -0
- data/examples/shop/public/img/fff/bin_closed.png +0 -0
- data/examples/shop/public/img/fff/bin_empty.png +0 -0
- data/examples/shop/public/img/fff/bomb.png +0 -0
- data/examples/shop/public/img/fff/book.png +0 -0
- data/examples/shop/public/img/fff/book_add.png +0 -0
- data/examples/shop/public/img/fff/book_addresses.png +0 -0
- data/examples/shop/public/img/fff/book_delete.png +0 -0
- data/examples/shop/public/img/fff/book_edit.png +0 -0
- data/examples/shop/public/img/fff/book_error.png +0 -0
- data/examples/shop/public/img/fff/book_go.png +0 -0
- data/examples/shop/public/img/fff/book_key.png +0 -0
- data/examples/shop/public/img/fff/book_link.png +0 -0
- data/examples/shop/public/img/fff/book_next.png +0 -0
- data/examples/shop/public/img/fff/book_open.png +0 -0
- data/examples/shop/public/img/fff/book_previous.png +0 -0
- data/examples/shop/public/img/fff/box.png +0 -0
- data/examples/shop/public/img/fff/brick.png +0 -0
- data/examples/shop/public/img/fff/brick_add.png +0 -0
- data/examples/shop/public/img/fff/brick_delete.png +0 -0
- data/examples/shop/public/img/fff/brick_edit.png +0 -0
- data/examples/shop/public/img/fff/brick_error.png +0 -0
- data/examples/shop/public/img/fff/brick_go.png +0 -0
- data/examples/shop/public/img/fff/brick_link.png +0 -0
- data/examples/shop/public/img/fff/bricks.png +0 -0
- data/examples/shop/public/img/fff/briefcase.png +0 -0
- data/examples/shop/public/img/fff/bug.png +0 -0
- data/examples/shop/public/img/fff/bug_add.png +0 -0
- data/examples/shop/public/img/fff/bug_delete.png +0 -0
- data/examples/shop/public/img/fff/bug_edit.png +0 -0
- data/examples/shop/public/img/fff/bug_error.png +0 -0
- data/examples/shop/public/img/fff/bug_go.png +0 -0
- data/examples/shop/public/img/fff/bug_link.png +0 -0
- data/examples/shop/public/img/fff/building.png +0 -0
- data/examples/shop/public/img/fff/building_add.png +0 -0
- data/examples/shop/public/img/fff/building_delete.png +0 -0
- data/examples/shop/public/img/fff/building_edit.png +0 -0
- data/examples/shop/public/img/fff/building_error.png +0 -0
- data/examples/shop/public/img/fff/building_go.png +0 -0
- data/examples/shop/public/img/fff/building_key.png +0 -0
- data/examples/shop/public/img/fff/building_link.png +0 -0
- data/examples/shop/public/img/fff/bullet_add.png +0 -0
- data/examples/shop/public/img/fff/bullet_arrow_bottom.png +0 -0
- data/examples/shop/public/img/fff/bullet_arrow_down.png +0 -0
- data/examples/shop/public/img/fff/bullet_arrow_top.png +0 -0
- data/examples/shop/public/img/fff/bullet_arrow_up.png +0 -0
- data/examples/shop/public/img/fff/bullet_black.png +0 -0
- data/examples/shop/public/img/fff/bullet_blue.png +0 -0
- data/examples/shop/public/img/fff/bullet_delete.png +0 -0
- data/examples/shop/public/img/fff/bullet_disk.png +0 -0
- data/examples/shop/public/img/fff/bullet_error.png +0 -0
- data/examples/shop/public/img/fff/bullet_feed.png +0 -0
- data/examples/shop/public/img/fff/bullet_go.png +0 -0
- data/examples/shop/public/img/fff/bullet_green.png +0 -0
- data/examples/shop/public/img/fff/bullet_key.png +0 -0
- data/examples/shop/public/img/fff/bullet_orange.png +0 -0
- data/examples/shop/public/img/fff/bullet_picture.png +0 -0
- data/examples/shop/public/img/fff/bullet_pink.png +0 -0
- data/examples/shop/public/img/fff/bullet_purple.png +0 -0
- data/examples/shop/public/img/fff/bullet_red.png +0 -0
- data/examples/shop/public/img/fff/bullet_star.png +0 -0
- data/examples/shop/public/img/fff/bullet_toggle_minus.png +0 -0
- data/examples/shop/public/img/fff/bullet_toggle_plus.png +0 -0
- data/examples/shop/public/img/fff/bullet_white.png +0 -0
- data/examples/shop/public/img/fff/bullet_wrench.png +0 -0
- data/examples/shop/public/img/fff/bullet_yellow.png +0 -0
- data/examples/shop/public/img/fff/cake.png +0 -0
- data/examples/shop/public/img/fff/calculator.png +0 -0
- data/examples/shop/public/img/fff/calculator_add.png +0 -0
- data/examples/shop/public/img/fff/calculator_delete.png +0 -0
- data/examples/shop/public/img/fff/calculator_edit.png +0 -0
- data/examples/shop/public/img/fff/calculator_error.png +0 -0
- data/examples/shop/public/img/fff/calculator_link.png +0 -0
- data/examples/shop/public/img/fff/calendar.png +0 -0
- data/examples/shop/public/img/fff/calendar_add.png +0 -0
- data/examples/shop/public/img/fff/calendar_delete.png +0 -0
- data/examples/shop/public/img/fff/calendar_edit.png +0 -0
- data/examples/shop/public/img/fff/calendar_link.png +0 -0
- data/examples/shop/public/img/fff/calendar_view_day.png +0 -0
- data/examples/shop/public/img/fff/calendar_view_month.png +0 -0
- data/examples/shop/public/img/fff/calendar_view_week.png +0 -0
- data/examples/shop/public/img/fff/camera.png +0 -0
- data/examples/shop/public/img/fff/camera_add.png +0 -0
- data/examples/shop/public/img/fff/camera_delete.png +0 -0
- data/examples/shop/public/img/fff/camera_edit.png +0 -0
- data/examples/shop/public/img/fff/camera_error.png +0 -0
- data/examples/shop/public/img/fff/camera_go.png +0 -0
- data/examples/shop/public/img/fff/camera_link.png +0 -0
- data/examples/shop/public/img/fff/camera_small.png +0 -0
- data/examples/shop/public/img/fff/cancel.png +0 -0
- data/examples/shop/public/img/fff/car.png +0 -0
- data/examples/shop/public/img/fff/car_add.png +0 -0
- data/examples/shop/public/img/fff/car_delete.png +0 -0
- data/examples/shop/public/img/fff/cart.png +0 -0
- data/examples/shop/public/img/fff/cart_add.png +0 -0
- data/examples/shop/public/img/fff/cart_delete.png +0 -0
- data/examples/shop/public/img/fff/cart_edit.png +0 -0
- data/examples/shop/public/img/fff/cart_error.png +0 -0
- data/examples/shop/public/img/fff/cart_go.png +0 -0
- data/examples/shop/public/img/fff/cart_put.png +0 -0
- data/examples/shop/public/img/fff/cart_remove.png +0 -0
- data/examples/shop/public/img/fff/cd.png +0 -0
- data/examples/shop/public/img/fff/cd_add.png +0 -0
- data/examples/shop/public/img/fff/cd_burn.png +0 -0
- data/examples/shop/public/img/fff/cd_delete.png +0 -0
- data/examples/shop/public/img/fff/cd_edit.png +0 -0
- data/examples/shop/public/img/fff/cd_eject.png +0 -0
- data/examples/shop/public/img/fff/cd_go.png +0 -0
- data/examples/shop/public/img/fff/chart_bar.png +0 -0
- data/examples/shop/public/img/fff/chart_bar_add.png +0 -0
- data/examples/shop/public/img/fff/chart_bar_delete.png +0 -0
- data/examples/shop/public/img/fff/chart_bar_edit.png +0 -0
- data/examples/shop/public/img/fff/chart_bar_error.png +0 -0
- data/examples/shop/public/img/fff/chart_bar_link.png +0 -0
- data/examples/shop/public/img/fff/chart_curve.png +0 -0
- data/examples/shop/public/img/fff/chart_curve_add.png +0 -0
- data/examples/shop/public/img/fff/chart_curve_delete.png +0 -0
- data/examples/shop/public/img/fff/chart_curve_edit.png +0 -0
- data/examples/shop/public/img/fff/chart_curve_error.png +0 -0
- data/examples/shop/public/img/fff/chart_curve_go.png +0 -0
- data/examples/shop/public/img/fff/chart_curve_link.png +0 -0
- data/examples/shop/public/img/fff/chart_line.png +0 -0
- data/examples/shop/public/img/fff/chart_line_add.png +0 -0
- data/examples/shop/public/img/fff/chart_line_delete.png +0 -0
- data/examples/shop/public/img/fff/chart_line_edit.png +0 -0
- data/examples/shop/public/img/fff/chart_line_error.png +0 -0
- data/examples/shop/public/img/fff/chart_line_link.png +0 -0
- data/examples/shop/public/img/fff/chart_organisation.png +0 -0
- data/examples/shop/public/img/fff/chart_organisation_add.png +0 -0
- data/examples/shop/public/img/fff/chart_organisation_delete.png +0 -0
- data/examples/shop/public/img/fff/chart_pie.png +0 -0
- data/examples/shop/public/img/fff/chart_pie_add.png +0 -0
- data/examples/shop/public/img/fff/chart_pie_delete.png +0 -0
- data/examples/shop/public/img/fff/chart_pie_edit.png +0 -0
- data/examples/shop/public/img/fff/chart_pie_error.png +0 -0
- data/examples/shop/public/img/fff/chart_pie_link.png +0 -0
- data/examples/shop/public/img/fff/clock.png +0 -0
- data/examples/shop/public/img/fff/clock_add.png +0 -0
- data/examples/shop/public/img/fff/clock_delete.png +0 -0
- data/examples/shop/public/img/fff/clock_edit.png +0 -0
- data/examples/shop/public/img/fff/clock_error.png +0 -0
- data/examples/shop/public/img/fff/clock_go.png +0 -0
- data/examples/shop/public/img/fff/clock_link.png +0 -0
- data/examples/shop/public/img/fff/clock_pause.png +0 -0
- data/examples/shop/public/img/fff/clock_play.png +0 -0
- data/examples/shop/public/img/fff/clock_red.png +0 -0
- data/examples/shop/public/img/fff/clock_stop.png +0 -0
- data/examples/shop/public/img/fff/cog.png +0 -0
- data/examples/shop/public/img/fff/cog_add.png +0 -0
- data/examples/shop/public/img/fff/cog_delete.png +0 -0
- data/examples/shop/public/img/fff/cog_edit.png +0 -0
- data/examples/shop/public/img/fff/cog_error.png +0 -0
- data/examples/shop/public/img/fff/cog_go.png +0 -0
- data/examples/shop/public/img/fff/coins.png +0 -0
- data/examples/shop/public/img/fff/coins_add.png +0 -0
- data/examples/shop/public/img/fff/coins_delete.png +0 -0
- data/examples/shop/public/img/fff/color_swatch.png +0 -0
- data/examples/shop/public/img/fff/color_wheel.png +0 -0
- data/examples/shop/public/img/fff/comment.png +0 -0
- data/examples/shop/public/img/fff/comment_add.png +0 -0
- data/examples/shop/public/img/fff/comment_delete.png +0 -0
- data/examples/shop/public/img/fff/comment_edit.png +0 -0
- data/examples/shop/public/img/fff/comments.png +0 -0
- data/examples/shop/public/img/fff/comments_add.png +0 -0
- data/examples/shop/public/img/fff/comments_delete.png +0 -0
- data/examples/shop/public/img/fff/compress.png +0 -0
- data/examples/shop/public/img/fff/computer.png +0 -0
- data/examples/shop/public/img/fff/computer_add.png +0 -0
- data/examples/shop/public/img/fff/computer_delete.png +0 -0
- data/examples/shop/public/img/fff/computer_edit.png +0 -0
- data/examples/shop/public/img/fff/computer_error.png +0 -0
- data/examples/shop/public/img/fff/computer_go.png +0 -0
- data/examples/shop/public/img/fff/computer_key.png +0 -0
- data/examples/shop/public/img/fff/computer_link.png +0 -0
- data/examples/shop/public/img/fff/connect.png +0 -0
- data/examples/shop/public/img/fff/contrast.png +0 -0
- data/examples/shop/public/img/fff/contrast_decrease.png +0 -0
- data/examples/shop/public/img/fff/contrast_high.png +0 -0
- data/examples/shop/public/img/fff/contrast_increase.png +0 -0
- data/examples/shop/public/img/fff/contrast_low.png +0 -0
- data/examples/shop/public/img/fff/control_eject.png +0 -0
- data/examples/shop/public/img/fff/control_eject_blue.png +0 -0
- data/examples/shop/public/img/fff/control_end.png +0 -0
- data/examples/shop/public/img/fff/control_end_blue.png +0 -0
- data/examples/shop/public/img/fff/control_equalizer.png +0 -0
- data/examples/shop/public/img/fff/control_equalizer_blue.png +0 -0
- data/examples/shop/public/img/fff/control_fastforward.png +0 -0
- data/examples/shop/public/img/fff/control_fastforward_blue.png +0 -0
- data/examples/shop/public/img/fff/control_pause.png +0 -0
- data/examples/shop/public/img/fff/control_pause_blue.png +0 -0
- data/examples/shop/public/img/fff/control_play.png +0 -0
- data/examples/shop/public/img/fff/control_play_blue.png +0 -0
- data/examples/shop/public/img/fff/control_repeat.png +0 -0
- data/examples/shop/public/img/fff/control_repeat_blue.png +0 -0
- data/examples/shop/public/img/fff/control_rewind.png +0 -0
- data/examples/shop/public/img/fff/control_rewind_blue.png +0 -0
- data/examples/shop/public/img/fff/control_start.png +0 -0
- data/examples/shop/public/img/fff/control_start_blue.png +0 -0
- data/examples/shop/public/img/fff/control_stop.png +0 -0
- data/examples/shop/public/img/fff/control_stop_blue.png +0 -0
- data/examples/shop/public/img/fff/controller.png +0 -0
- data/examples/shop/public/img/fff/controller_add.png +0 -0
- data/examples/shop/public/img/fff/controller_delete.png +0 -0
- data/examples/shop/public/img/fff/controller_error.png +0 -0
- data/examples/shop/public/img/fff/creditcards.png +0 -0
- data/examples/shop/public/img/fff/cross.png +0 -0
- data/examples/shop/public/img/fff/css.png +0 -0
- data/examples/shop/public/img/fff/css_add.png +0 -0
- data/examples/shop/public/img/fff/css_delete.png +0 -0
- data/examples/shop/public/img/fff/css_go.png +0 -0
- data/examples/shop/public/img/fff/css_valid.png +0 -0
- data/examples/shop/public/img/fff/cup.png +0 -0
- data/examples/shop/public/img/fff/cup_add.png +0 -0
- data/examples/shop/public/img/fff/cup_delete.png +0 -0
- data/examples/shop/public/img/fff/cup_edit.png +0 -0
- data/examples/shop/public/img/fff/cup_error.png +0 -0
- data/examples/shop/public/img/fff/cup_go.png +0 -0
- data/examples/shop/public/img/fff/cup_key.png +0 -0
- data/examples/shop/public/img/fff/cup_link.png +0 -0
- data/examples/shop/public/img/fff/cursor.png +0 -0
- data/examples/shop/public/img/fff/cut.png +0 -0
- data/examples/shop/public/img/fff/cut_red.png +0 -0
- data/examples/shop/public/img/fff/database.png +0 -0
- data/examples/shop/public/img/fff/database_add.png +0 -0
- data/examples/shop/public/img/fff/database_connect.png +0 -0
- data/examples/shop/public/img/fff/database_delete.png +0 -0
- data/examples/shop/public/img/fff/database_edit.png +0 -0
- data/examples/shop/public/img/fff/database_error.png +0 -0
- data/examples/shop/public/img/fff/database_gear.png +0 -0
- data/examples/shop/public/img/fff/database_go.png +0 -0
- data/examples/shop/public/img/fff/database_key.png +0 -0
- data/examples/shop/public/img/fff/database_lightning.png +0 -0
- data/examples/shop/public/img/fff/database_link.png +0 -0
- data/examples/shop/public/img/fff/database_refresh.png +0 -0
- data/examples/shop/public/img/fff/database_save.png +0 -0
- data/examples/shop/public/img/fff/database_table.png +0 -0
- data/examples/shop/public/img/fff/date.png +0 -0
- data/examples/shop/public/img/fff/date_add.png +0 -0
- data/examples/shop/public/img/fff/date_delete.png +0 -0
- data/examples/shop/public/img/fff/date_edit.png +0 -0
- data/examples/shop/public/img/fff/date_error.png +0 -0
- data/examples/shop/public/img/fff/date_go.png +0 -0
- data/examples/shop/public/img/fff/date_link.png +0 -0
- data/examples/shop/public/img/fff/date_magnify.png +0 -0
- data/examples/shop/public/img/fff/date_next.png +0 -0
- data/examples/shop/public/img/fff/date_previous.png +0 -0
- data/examples/shop/public/img/fff/delete.png +0 -0
- data/examples/shop/public/img/fff/disconnect.png +0 -0
- data/examples/shop/public/img/fff/disk.png +0 -0
- data/examples/shop/public/img/fff/disk_multiple.png +0 -0
- data/examples/shop/public/img/fff/door.png +0 -0
- data/examples/shop/public/img/fff/door_in.png +0 -0
- data/examples/shop/public/img/fff/door_open.png +0 -0
- data/examples/shop/public/img/fff/door_out.png +0 -0
- data/examples/shop/public/img/fff/drink.png +0 -0
- data/examples/shop/public/img/fff/drink_empty.png +0 -0
- data/examples/shop/public/img/fff/drive.png +0 -0
- data/examples/shop/public/img/fff/drive_add.png +0 -0
- data/examples/shop/public/img/fff/drive_burn.png +0 -0
- data/examples/shop/public/img/fff/drive_cd.png +0 -0
- data/examples/shop/public/img/fff/drive_cd_empty.png +0 -0
- data/examples/shop/public/img/fff/drive_delete.png +0 -0
- data/examples/shop/public/img/fff/drive_disk.png +0 -0
- data/examples/shop/public/img/fff/drive_edit.png +0 -0
- data/examples/shop/public/img/fff/drive_error.png +0 -0
- data/examples/shop/public/img/fff/drive_go.png +0 -0
- data/examples/shop/public/img/fff/drive_key.png +0 -0
- data/examples/shop/public/img/fff/drive_link.png +0 -0
- data/examples/shop/public/img/fff/drive_magnify.png +0 -0
- data/examples/shop/public/img/fff/drive_network.png +0 -0
- data/examples/shop/public/img/fff/drive_rename.png +0 -0
- data/examples/shop/public/img/fff/drive_user.png +0 -0
- data/examples/shop/public/img/fff/drive_web.png +0 -0
- data/examples/shop/public/img/fff/dvd.png +0 -0
- data/examples/shop/public/img/fff/dvd_add.png +0 -0
- data/examples/shop/public/img/fff/dvd_delete.png +0 -0
- data/examples/shop/public/img/fff/dvd_edit.png +0 -0
- data/examples/shop/public/img/fff/dvd_error.png +0 -0
- data/examples/shop/public/img/fff/dvd_go.png +0 -0
- data/examples/shop/public/img/fff/dvd_key.png +0 -0
- data/examples/shop/public/img/fff/dvd_link.png +0 -0
- data/examples/shop/public/img/fff/email.png +0 -0
- data/examples/shop/public/img/fff/email_add.png +0 -0
- data/examples/shop/public/img/fff/email_attach.png +0 -0
- data/examples/shop/public/img/fff/email_delete.png +0 -0
- data/examples/shop/public/img/fff/email_edit.png +0 -0
- data/examples/shop/public/img/fff/email_error.png +0 -0
- data/examples/shop/public/img/fff/email_go.png +0 -0
- data/examples/shop/public/img/fff/email_link.png +0 -0
- data/examples/shop/public/img/fff/email_open.png +0 -0
- data/examples/shop/public/img/fff/email_open_image.png +0 -0
- data/examples/shop/public/img/fff/emoticon_evilgrin.png +0 -0
- data/examples/shop/public/img/fff/emoticon_grin.png +0 -0
- data/examples/shop/public/img/fff/emoticon_happy.png +0 -0
- data/examples/shop/public/img/fff/emoticon_smile.png +0 -0
- data/examples/shop/public/img/fff/emoticon_surprised.png +0 -0
- data/examples/shop/public/img/fff/emoticon_tongue.png +0 -0
- data/examples/shop/public/img/fff/emoticon_unhappy.png +0 -0
- data/examples/shop/public/img/fff/emoticon_waii.png +0 -0
- data/examples/shop/public/img/fff/emoticon_wink.png +0 -0
- data/examples/shop/public/img/fff/error.png +0 -0
- data/examples/shop/public/img/fff/error_add.png +0 -0
- data/examples/shop/public/img/fff/error_delete.png +0 -0
- data/examples/shop/public/img/fff/error_go.png +0 -0
- data/examples/shop/public/img/fff/exclamation.png +0 -0
- data/examples/shop/public/img/fff/eye.png +0 -0
- data/examples/shop/public/img/fff/feed.png +0 -0
- data/examples/shop/public/img/fff/feed_add.png +0 -0
- data/examples/shop/public/img/fff/feed_delete.png +0 -0
- data/examples/shop/public/img/fff/feed_disk.png +0 -0
- data/examples/shop/public/img/fff/feed_edit.png +0 -0
- data/examples/shop/public/img/fff/feed_error.png +0 -0
- data/examples/shop/public/img/fff/feed_go.png +0 -0
- data/examples/shop/public/img/fff/feed_key.png +0 -0
- data/examples/shop/public/img/fff/feed_link.png +0 -0
- data/examples/shop/public/img/fff/feed_magnify.png +0 -0
- data/examples/shop/public/img/fff/female.png +0 -0
- data/examples/shop/public/img/fff/film.png +0 -0
- data/examples/shop/public/img/fff/film_add.png +0 -0
- data/examples/shop/public/img/fff/film_delete.png +0 -0
- data/examples/shop/public/img/fff/film_edit.png +0 -0
- data/examples/shop/public/img/fff/film_error.png +0 -0
- data/examples/shop/public/img/fff/film_go.png +0 -0
- data/examples/shop/public/img/fff/film_key.png +0 -0
- data/examples/shop/public/img/fff/film_link.png +0 -0
- data/examples/shop/public/img/fff/film_save.png +0 -0
- data/examples/shop/public/img/fff/find.png +0 -0
- data/examples/shop/public/img/fff/flag_blue.png +0 -0
- data/examples/shop/public/img/fff/flag_green.png +0 -0
- data/examples/shop/public/img/fff/flag_orange.png +0 -0
- data/examples/shop/public/img/fff/flag_pink.png +0 -0
- data/examples/shop/public/img/fff/flag_purple.png +0 -0
- data/examples/shop/public/img/fff/flag_red.png +0 -0
- data/examples/shop/public/img/fff/flag_yellow.png +0 -0
- data/examples/shop/public/img/fff/folder.png +0 -0
- data/examples/shop/public/img/fff/folder_add.png +0 -0
- data/examples/shop/public/img/fff/folder_bell.png +0 -0
- data/examples/shop/public/img/fff/folder_brick.png +0 -0
- data/examples/shop/public/img/fff/folder_bug.png +0 -0
- data/examples/shop/public/img/fff/folder_camera.png +0 -0
- data/examples/shop/public/img/fff/folder_database.png +0 -0
- data/examples/shop/public/img/fff/folder_delete.png +0 -0
- data/examples/shop/public/img/fff/folder_edit.png +0 -0
- data/examples/shop/public/img/fff/folder_error.png +0 -0
- data/examples/shop/public/img/fff/folder_explore.png +0 -0
- data/examples/shop/public/img/fff/folder_feed.png +0 -0
- data/examples/shop/public/img/fff/folder_find.png +0 -0
- data/examples/shop/public/img/fff/folder_go.png +0 -0
- data/examples/shop/public/img/fff/folder_heart.png +0 -0
- data/examples/shop/public/img/fff/folder_image.png +0 -0
- data/examples/shop/public/img/fff/folder_key.png +0 -0
- data/examples/shop/public/img/fff/folder_lightbulb.png +0 -0
- data/examples/shop/public/img/fff/folder_link.png +0 -0
- data/examples/shop/public/img/fff/folder_magnify.png +0 -0
- data/examples/shop/public/img/fff/folder_page.png +0 -0
- data/examples/shop/public/img/fff/folder_page_white.png +0 -0
- data/examples/shop/public/img/fff/folder_palette.png +0 -0
- data/examples/shop/public/img/fff/folder_picture.png +0 -0
- data/examples/shop/public/img/fff/folder_star.png +0 -0
- data/examples/shop/public/img/fff/folder_table.png +0 -0
- data/examples/shop/public/img/fff/folder_user.png +0 -0
- data/examples/shop/public/img/fff/folder_wrench.png +0 -0
- data/examples/shop/public/img/fff/font.png +0 -0
- data/examples/shop/public/img/fff/font_add.png +0 -0
- data/examples/shop/public/img/fff/font_delete.png +0 -0
- data/examples/shop/public/img/fff/font_go.png +0 -0
- data/examples/shop/public/img/fff/group.png +0 -0
- data/examples/shop/public/img/fff/group_add.png +0 -0
- data/examples/shop/public/img/fff/group_delete.png +0 -0
- data/examples/shop/public/img/fff/group_edit.png +0 -0
- data/examples/shop/public/img/fff/group_error.png +0 -0
- data/examples/shop/public/img/fff/group_gear.png +0 -0
- data/examples/shop/public/img/fff/group_go.png +0 -0
- data/examples/shop/public/img/fff/group_key.png +0 -0
- data/examples/shop/public/img/fff/group_link.png +0 -0
- data/examples/shop/public/img/fff/heart.png +0 -0
- data/examples/shop/public/img/fff/heart_add.png +0 -0
- data/examples/shop/public/img/fff/heart_delete.png +0 -0
- data/examples/shop/public/img/fff/help.png +0 -0
- data/examples/shop/public/img/fff/hourglass.png +0 -0
- data/examples/shop/public/img/fff/hourglass_add.png +0 -0
- data/examples/shop/public/img/fff/hourglass_delete.png +0 -0
- data/examples/shop/public/img/fff/hourglass_go.png +0 -0
- data/examples/shop/public/img/fff/hourglass_link.png +0 -0
- data/examples/shop/public/img/fff/house.png +0 -0
- data/examples/shop/public/img/fff/house_go.png +0 -0
- data/examples/shop/public/img/fff/house_link.png +0 -0
- data/examples/shop/public/img/fff/html.png +0 -0
- data/examples/shop/public/img/fff/html_add.png +0 -0
- data/examples/shop/public/img/fff/html_delete.png +0 -0
- data/examples/shop/public/img/fff/html_go.png +0 -0
- data/examples/shop/public/img/fff/html_valid.png +0 -0
- data/examples/shop/public/img/fff/image.png +0 -0
- data/examples/shop/public/img/fff/image_add.png +0 -0
- data/examples/shop/public/img/fff/image_delete.png +0 -0
- data/examples/shop/public/img/fff/image_edit.png +0 -0
- data/examples/shop/public/img/fff/image_link.png +0 -0
- data/examples/shop/public/img/fff/images.png +0 -0
- data/examples/shop/public/img/fff/information.png +0 -0
- data/examples/shop/public/img/fff/ipod.png +0 -0
- data/examples/shop/public/img/fff/ipod_cast.png +0 -0
- data/examples/shop/public/img/fff/ipod_cast_add.png +0 -0
- data/examples/shop/public/img/fff/ipod_cast_delete.png +0 -0
- data/examples/shop/public/img/fff/ipod_sound.png +0 -0
- data/examples/shop/public/img/fff/joystick.png +0 -0
- data/examples/shop/public/img/fff/joystick_add.png +0 -0
- data/examples/shop/public/img/fff/joystick_delete.png +0 -0
- data/examples/shop/public/img/fff/joystick_error.png +0 -0
- data/examples/shop/public/img/fff/key.png +0 -0
- data/examples/shop/public/img/fff/key_add.png +0 -0
- data/examples/shop/public/img/fff/key_delete.png +0 -0
- data/examples/shop/public/img/fff/key_go.png +0 -0
- data/examples/shop/public/img/fff/keyboard.png +0 -0
- data/examples/shop/public/img/fff/keyboard_add.png +0 -0
- data/examples/shop/public/img/fff/keyboard_delete.png +0 -0
- data/examples/shop/public/img/fff/keyboard_magnify.png +0 -0
- data/examples/shop/public/img/fff/layers.png +0 -0
- data/examples/shop/public/img/fff/layout.png +0 -0
- data/examples/shop/public/img/fff/layout_add.png +0 -0
- data/examples/shop/public/img/fff/layout_content.png +0 -0
- data/examples/shop/public/img/fff/layout_delete.png +0 -0
- data/examples/shop/public/img/fff/layout_edit.png +0 -0
- data/examples/shop/public/img/fff/layout_error.png +0 -0
- data/examples/shop/public/img/fff/layout_header.png +0 -0
- data/examples/shop/public/img/fff/layout_link.png +0 -0
- data/examples/shop/public/img/fff/layout_sidebar.png +0 -0
- data/examples/shop/public/img/fff/lightbulb.png +0 -0
- data/examples/shop/public/img/fff/lightbulb_add.png +0 -0
- data/examples/shop/public/img/fff/lightbulb_delete.png +0 -0
- data/examples/shop/public/img/fff/lightbulb_off.png +0 -0
- data/examples/shop/public/img/fff/lightning.png +0 -0
- data/examples/shop/public/img/fff/lightning_add.png +0 -0
- data/examples/shop/public/img/fff/lightning_delete.png +0 -0
- data/examples/shop/public/img/fff/lightning_go.png +0 -0
- data/examples/shop/public/img/fff/link.png +0 -0
- data/examples/shop/public/img/fff/link_add.png +0 -0
- data/examples/shop/public/img/fff/link_break.png +0 -0
- data/examples/shop/public/img/fff/link_delete.png +0 -0
- data/examples/shop/public/img/fff/link_edit.png +0 -0
- data/examples/shop/public/img/fff/link_error.png +0 -0
- data/examples/shop/public/img/fff/link_go.png +0 -0
- data/examples/shop/public/img/fff/lock.png +0 -0
- data/examples/shop/public/img/fff/lock_add.png +0 -0
- data/examples/shop/public/img/fff/lock_break.png +0 -0
- data/examples/shop/public/img/fff/lock_delete.png +0 -0
- data/examples/shop/public/img/fff/lock_edit.png +0 -0
- data/examples/shop/public/img/fff/lock_go.png +0 -0
- data/examples/shop/public/img/fff/lock_open.png +0 -0
- data/examples/shop/public/img/fff/lorry.png +0 -0
- data/examples/shop/public/img/fff/lorry_add.png +0 -0
- data/examples/shop/public/img/fff/lorry_delete.png +0 -0
- data/examples/shop/public/img/fff/lorry_error.png +0 -0
- data/examples/shop/public/img/fff/lorry_flatbed.png +0 -0
- data/examples/shop/public/img/fff/lorry_go.png +0 -0
- data/examples/shop/public/img/fff/lorry_link.png +0 -0
- data/examples/shop/public/img/fff/magifier_zoom_out.png +0 -0
- data/examples/shop/public/img/fff/magnifier.png +0 -0
- data/examples/shop/public/img/fff/magnifier_zoom_in.png +0 -0
- data/examples/shop/public/img/fff/male.png +0 -0
- data/examples/shop/public/img/fff/map.png +0 -0
- data/examples/shop/public/img/fff/map_add.png +0 -0
- data/examples/shop/public/img/fff/map_delete.png +0 -0
- data/examples/shop/public/img/fff/map_edit.png +0 -0
- data/examples/shop/public/img/fff/map_go.png +0 -0
- data/examples/shop/public/img/fff/map_magnify.png +0 -0
- data/examples/shop/public/img/fff/medal_bronze_1.png +0 -0
- data/examples/shop/public/img/fff/medal_bronze_2.png +0 -0
- data/examples/shop/public/img/fff/medal_bronze_3.png +0 -0
- data/examples/shop/public/img/fff/medal_bronze_add.png +0 -0
- data/examples/shop/public/img/fff/medal_bronze_delete.png +0 -0
- data/examples/shop/public/img/fff/medal_gold_1.png +0 -0
- data/examples/shop/public/img/fff/medal_gold_2.png +0 -0
- data/examples/shop/public/img/fff/medal_gold_3.png +0 -0
- data/examples/shop/public/img/fff/medal_gold_add.png +0 -0
- data/examples/shop/public/img/fff/medal_gold_delete.png +0 -0
- data/examples/shop/public/img/fff/medal_silver_1.png +0 -0
- data/examples/shop/public/img/fff/medal_silver_2.png +0 -0
- data/examples/shop/public/img/fff/medal_silver_3.png +0 -0
- data/examples/shop/public/img/fff/medal_silver_add.png +0 -0
- data/examples/shop/public/img/fff/medal_silver_delete.png +0 -0
- data/examples/shop/public/img/fff/money.png +0 -0
- data/examples/shop/public/img/fff/money_add.png +0 -0
- data/examples/shop/public/img/fff/money_delete.png +0 -0
- data/examples/shop/public/img/fff/money_dollar.png +0 -0
- data/examples/shop/public/img/fff/money_euro.png +0 -0
- data/examples/shop/public/img/fff/money_pound.png +0 -0
- data/examples/shop/public/img/fff/money_yen.png +0 -0
- data/examples/shop/public/img/fff/monitor.png +0 -0
- data/examples/shop/public/img/fff/monitor_add.png +0 -0
- data/examples/shop/public/img/fff/monitor_delete.png +0 -0
- data/examples/shop/public/img/fff/monitor_edit.png +0 -0
- data/examples/shop/public/img/fff/monitor_error.png +0 -0
- data/examples/shop/public/img/fff/monitor_go.png +0 -0
- data/examples/shop/public/img/fff/monitor_lightning.png +0 -0
- data/examples/shop/public/img/fff/monitor_link.png +0 -0
- data/examples/shop/public/img/fff/mouse.png +0 -0
- data/examples/shop/public/img/fff/mouse_add.png +0 -0
- data/examples/shop/public/img/fff/mouse_delete.png +0 -0
- data/examples/shop/public/img/fff/mouse_error.png +0 -0
- data/examples/shop/public/img/fff/music.png +0 -0
- data/examples/shop/public/img/fff/new.png +0 -0
- data/examples/shop/public/img/fff/newspaper.png +0 -0
- data/examples/shop/public/img/fff/newspaper_add.png +0 -0
- data/examples/shop/public/img/fff/newspaper_delete.png +0 -0
- data/examples/shop/public/img/fff/newspaper_go.png +0 -0
- data/examples/shop/public/img/fff/newspaper_link.png +0 -0
- data/examples/shop/public/img/fff/note.png +0 -0
- data/examples/shop/public/img/fff/note_add.png +0 -0
- data/examples/shop/public/img/fff/note_delete.png +0 -0
- data/examples/shop/public/img/fff/note_edit.png +0 -0
- data/examples/shop/public/img/fff/note_error.png +0 -0
- data/examples/shop/public/img/fff/note_go.png +0 -0
- data/examples/shop/public/img/fff/overlays.png +0 -0
- data/examples/shop/public/img/fff/package.png +0 -0
- data/examples/shop/public/img/fff/package_add.png +0 -0
- data/examples/shop/public/img/fff/package_delete.png +0 -0
- data/examples/shop/public/img/fff/package_go.png +0 -0
- data/examples/shop/public/img/fff/package_green.png +0 -0
- data/examples/shop/public/img/fff/package_link.png +0 -0
- data/examples/shop/public/img/fff/page.png +0 -0
- data/examples/shop/public/img/fff/page_add.png +0 -0
- data/examples/shop/public/img/fff/page_attach.png +0 -0
- data/examples/shop/public/img/fff/page_code.png +0 -0
- data/examples/shop/public/img/fff/page_copy.png +0 -0
- data/examples/shop/public/img/fff/page_delete.png +0 -0
- data/examples/shop/public/img/fff/page_edit.png +0 -0
- data/examples/shop/public/img/fff/page_error.png +0 -0
- data/examples/shop/public/img/fff/page_excel.png +0 -0
- data/examples/shop/public/img/fff/page_find.png +0 -0
- data/examples/shop/public/img/fff/page_gear.png +0 -0
- data/examples/shop/public/img/fff/page_go.png +0 -0
- data/examples/shop/public/img/fff/page_green.png +0 -0
- data/examples/shop/public/img/fff/page_key.png +0 -0
- data/examples/shop/public/img/fff/page_lightning.png +0 -0
- data/examples/shop/public/img/fff/page_link.png +0 -0
- data/examples/shop/public/img/fff/page_paintbrush.png +0 -0
- data/examples/shop/public/img/fff/page_paste.png +0 -0
- data/examples/shop/public/img/fff/page_red.png +0 -0
- data/examples/shop/public/img/fff/page_refresh.png +0 -0
- data/examples/shop/public/img/fff/page_save.png +0 -0
- data/examples/shop/public/img/fff/page_white.png +0 -0
- data/examples/shop/public/img/fff/page_white_acrobat.png +0 -0
- data/examples/shop/public/img/fff/page_white_actionscript.png +0 -0
- data/examples/shop/public/img/fff/page_white_add.png +0 -0
- data/examples/shop/public/img/fff/page_white_c.png +0 -0
- data/examples/shop/public/img/fff/page_white_camera.png +0 -0
- data/examples/shop/public/img/fff/page_white_cd.png +0 -0
- data/examples/shop/public/img/fff/page_white_code.png +0 -0
- data/examples/shop/public/img/fff/page_white_code_red.png +0 -0
- data/examples/shop/public/img/fff/page_white_coldfusion.png +0 -0
- data/examples/shop/public/img/fff/page_white_compressed.png +0 -0
- data/examples/shop/public/img/fff/page_white_copy.png +0 -0
- data/examples/shop/public/img/fff/page_white_cplusplus.png +0 -0
- data/examples/shop/public/img/fff/page_white_csharp.png +0 -0
- data/examples/shop/public/img/fff/page_white_cup.png +0 -0
- data/examples/shop/public/img/fff/page_white_database.png +0 -0
- data/examples/shop/public/img/fff/page_white_delete.png +0 -0
- data/examples/shop/public/img/fff/page_white_dvd.png +0 -0
- data/examples/shop/public/img/fff/page_white_edit.png +0 -0
- data/examples/shop/public/img/fff/page_white_error.png +0 -0
- data/examples/shop/public/img/fff/page_white_excel.png +0 -0
- data/examples/shop/public/img/fff/page_white_find.png +0 -0
- data/examples/shop/public/img/fff/page_white_flash.png +0 -0
- data/examples/shop/public/img/fff/page_white_freehand.png +0 -0
- data/examples/shop/public/img/fff/page_white_gear.png +0 -0
- data/examples/shop/public/img/fff/page_white_get.png +0 -0
- data/examples/shop/public/img/fff/page_white_go.png +0 -0
- data/examples/shop/public/img/fff/page_white_h.png +0 -0
- data/examples/shop/public/img/fff/page_white_horizontal.png +0 -0
- data/examples/shop/public/img/fff/page_white_key.png +0 -0
- data/examples/shop/public/img/fff/page_white_lightning.png +0 -0
- data/examples/shop/public/img/fff/page_white_link.png +0 -0
- data/examples/shop/public/img/fff/page_white_magnify.png +0 -0
- data/examples/shop/public/img/fff/page_white_medal.png +0 -0
- data/examples/shop/public/img/fff/page_white_office.png +0 -0
- data/examples/shop/public/img/fff/page_white_paint.png +0 -0
- data/examples/shop/public/img/fff/page_white_paintbrush.png +0 -0
- data/examples/shop/public/img/fff/page_white_paste.png +0 -0
- data/examples/shop/public/img/fff/page_white_php.png +0 -0
- data/examples/shop/public/img/fff/page_white_picture.png +0 -0
- data/examples/shop/public/img/fff/page_white_powerpoint.png +0 -0
- data/examples/shop/public/img/fff/page_white_put.png +0 -0
- data/examples/shop/public/img/fff/page_white_ruby.png +0 -0
- data/examples/shop/public/img/fff/page_white_stack.png +0 -0
- data/examples/shop/public/img/fff/page_white_star.png +0 -0
- data/examples/shop/public/img/fff/page_white_swoosh.png +0 -0
- data/examples/shop/public/img/fff/page_white_text.png +0 -0
- data/examples/shop/public/img/fff/page_white_text_width.png +0 -0
- data/examples/shop/public/img/fff/page_white_tux.png +0 -0
- data/examples/shop/public/img/fff/page_white_vector.png +0 -0
- data/examples/shop/public/img/fff/page_white_visualstudio.png +0 -0
- data/examples/shop/public/img/fff/page_white_width.png +0 -0
- data/examples/shop/public/img/fff/page_white_word.png +0 -0
- data/examples/shop/public/img/fff/page_white_world.png +0 -0
- data/examples/shop/public/img/fff/page_white_wrench.png +0 -0
- data/examples/shop/public/img/fff/page_white_zip.png +0 -0
- data/examples/shop/public/img/fff/page_word.png +0 -0
- data/examples/shop/public/img/fff/page_world.png +0 -0
- data/examples/shop/public/img/fff/paintbrush.png +0 -0
- data/examples/shop/public/img/fff/paintcan.png +0 -0
- data/examples/shop/public/img/fff/palette.png +0 -0
- data/examples/shop/public/img/fff/paste_plain.png +0 -0
- data/examples/shop/public/img/fff/paste_word.png +0 -0
- data/examples/shop/public/img/fff/pencil.png +0 -0
- data/examples/shop/public/img/fff/pencil_add.png +0 -0
- data/examples/shop/public/img/fff/pencil_delete.png +0 -0
- data/examples/shop/public/img/fff/pencil_go.png +0 -0
- data/examples/shop/public/img/fff/phone.png +0 -0
- data/examples/shop/public/img/fff/phone_add.png +0 -0
- data/examples/shop/public/img/fff/phone_delete.png +0 -0
- data/examples/shop/public/img/fff/phone_sound.png +0 -0
- data/examples/shop/public/img/fff/photo.png +0 -0
- data/examples/shop/public/img/fff/photo_add.png +0 -0
- data/examples/shop/public/img/fff/photo_delete.png +0 -0
- data/examples/shop/public/img/fff/photo_link.png +0 -0
- data/examples/shop/public/img/fff/photos.png +0 -0
- data/examples/shop/public/img/fff/picture.png +0 -0
- data/examples/shop/public/img/fff/picture_add.png +0 -0
- data/examples/shop/public/img/fff/picture_delete.png +0 -0
- data/examples/shop/public/img/fff/picture_edit.png +0 -0
- data/examples/shop/public/img/fff/picture_empty.png +0 -0
- data/examples/shop/public/img/fff/picture_error.png +0 -0
- data/examples/shop/public/img/fff/picture_go.png +0 -0
- data/examples/shop/public/img/fff/picture_key.png +0 -0
- data/examples/shop/public/img/fff/picture_link.png +0 -0
- data/examples/shop/public/img/fff/picture_save.png +0 -0
- data/examples/shop/public/img/fff/pictures.png +0 -0
- data/examples/shop/public/img/fff/pilcrow.png +0 -0
- data/examples/shop/public/img/fff/pill.png +0 -0
- data/examples/shop/public/img/fff/pill_add.png +0 -0
- data/examples/shop/public/img/fff/pill_delete.png +0 -0
- data/examples/shop/public/img/fff/pill_go.png +0 -0
- data/examples/shop/public/img/fff/plugin.png +0 -0
- data/examples/shop/public/img/fff/plugin_add.png +0 -0
- data/examples/shop/public/img/fff/plugin_delete.png +0 -0
- data/examples/shop/public/img/fff/plugin_disabled.png +0 -0
- data/examples/shop/public/img/fff/plugin_edit.png +0 -0
- data/examples/shop/public/img/fff/plugin_error.png +0 -0
- data/examples/shop/public/img/fff/plugin_go.png +0 -0
- data/examples/shop/public/img/fff/plugin_link.png +0 -0
- data/examples/shop/public/img/fff/printer.png +0 -0
- data/examples/shop/public/img/fff/printer_add.png +0 -0
- data/examples/shop/public/img/fff/printer_delete.png +0 -0
- data/examples/shop/public/img/fff/printer_empty.png +0 -0
- data/examples/shop/public/img/fff/printer_error.png +0 -0
- data/examples/shop/public/img/fff/rainbow.png +0 -0
- data/examples/shop/public/img/fff/report.png +0 -0
- data/examples/shop/public/img/fff/report_add.png +0 -0
- data/examples/shop/public/img/fff/report_delete.png +0 -0
- data/examples/shop/public/img/fff/report_disk.png +0 -0
- data/examples/shop/public/img/fff/report_edit.png +0 -0
- data/examples/shop/public/img/fff/report_go.png +0 -0
- data/examples/shop/public/img/fff/report_key.png +0 -0
- data/examples/shop/public/img/fff/report_link.png +0 -0
- data/examples/shop/public/img/fff/report_magnify.png +0 -0
- data/examples/shop/public/img/fff/report_picture.png +0 -0
- data/examples/shop/public/img/fff/report_user.png +0 -0
- data/examples/shop/public/img/fff/report_word.png +0 -0
- data/examples/shop/public/img/fff/resultset_first.png +0 -0
- data/examples/shop/public/img/fff/resultset_last.png +0 -0
- data/examples/shop/public/img/fff/resultset_next.png +0 -0
- data/examples/shop/public/img/fff/resultset_previous.png +0 -0
- data/examples/shop/public/img/fff/rosette.png +0 -0
- data/examples/shop/public/img/fff/rss.png +0 -0
- data/examples/shop/public/img/fff/rss_add.png +0 -0
- data/examples/shop/public/img/fff/rss_delete.png +0 -0
- data/examples/shop/public/img/fff/rss_go.png +0 -0
- data/examples/shop/public/img/fff/rss_valid.png +0 -0
- data/examples/shop/public/img/fff/ruby.png +0 -0
- data/examples/shop/public/img/fff/ruby_add.png +0 -0
- data/examples/shop/public/img/fff/ruby_delete.png +0 -0
- data/examples/shop/public/img/fff/ruby_gear.png +0 -0
- data/examples/shop/public/img/fff/ruby_get.png +0 -0
- data/examples/shop/public/img/fff/ruby_go.png +0 -0
- data/examples/shop/public/img/fff/ruby_key.png +0 -0
- data/examples/shop/public/img/fff/ruby_link.png +0 -0
- data/examples/shop/public/img/fff/ruby_put.png +0 -0
- data/examples/shop/public/img/fff/script.png +0 -0
- data/examples/shop/public/img/fff/script_add.png +0 -0
- data/examples/shop/public/img/fff/script_code.png +0 -0
- data/examples/shop/public/img/fff/script_code_red.png +0 -0
- data/examples/shop/public/img/fff/script_delete.png +0 -0
- data/examples/shop/public/img/fff/script_edit.png +0 -0
- data/examples/shop/public/img/fff/script_error.png +0 -0
- data/examples/shop/public/img/fff/script_gear.png +0 -0
- data/examples/shop/public/img/fff/script_go.png +0 -0
- data/examples/shop/public/img/fff/script_key.png +0 -0
- data/examples/shop/public/img/fff/script_lightning.png +0 -0
- data/examples/shop/public/img/fff/script_link.png +0 -0
- data/examples/shop/public/img/fff/script_palette.png +0 -0
- data/examples/shop/public/img/fff/script_save.png +0 -0
- data/examples/shop/public/img/fff/server.png +0 -0
- data/examples/shop/public/img/fff/server_add.png +0 -0
- data/examples/shop/public/img/fff/server_chart.png +0 -0
- data/examples/shop/public/img/fff/server_compressed.png +0 -0
- data/examples/shop/public/img/fff/server_connect.png +0 -0
- data/examples/shop/public/img/fff/server_database.png +0 -0
- data/examples/shop/public/img/fff/server_delete.png +0 -0
- data/examples/shop/public/img/fff/server_edit.png +0 -0
- data/examples/shop/public/img/fff/server_error.png +0 -0
- data/examples/shop/public/img/fff/server_go.png +0 -0
- data/examples/shop/public/img/fff/server_key.png +0 -0
- data/examples/shop/public/img/fff/server_lightning.png +0 -0
- data/examples/shop/public/img/fff/server_link.png +0 -0
- data/examples/shop/public/img/fff/server_uncompressed.png +0 -0
- data/examples/shop/public/img/fff/shading.png +0 -0
- data/examples/shop/public/img/fff/shape_align_bottom.png +0 -0
- data/examples/shop/public/img/fff/shape_align_center.png +0 -0
- data/examples/shop/public/img/fff/shape_align_left.png +0 -0
- data/examples/shop/public/img/fff/shape_align_middle.png +0 -0
- data/examples/shop/public/img/fff/shape_align_right.png +0 -0
- data/examples/shop/public/img/fff/shape_align_top.png +0 -0
- data/examples/shop/public/img/fff/shape_flip_horizontal.png +0 -0
- data/examples/shop/public/img/fff/shape_flip_vertical.png +0 -0
- data/examples/shop/public/img/fff/shape_group.png +0 -0
- data/examples/shop/public/img/fff/shape_handles.png +0 -0
- data/examples/shop/public/img/fff/shape_move_back.png +0 -0
- data/examples/shop/public/img/fff/shape_move_backwards.png +0 -0
- data/examples/shop/public/img/fff/shape_move_forwards.png +0 -0
- data/examples/shop/public/img/fff/shape_move_front.png +0 -0
- data/examples/shop/public/img/fff/shape_rotate_anticlockwise.png +0 -0
- data/examples/shop/public/img/fff/shape_rotate_clockwise.png +0 -0
- data/examples/shop/public/img/fff/shape_square.png +0 -0
- data/examples/shop/public/img/fff/shape_square_add.png +0 -0
- data/examples/shop/public/img/fff/shape_square_delete.png +0 -0
- data/examples/shop/public/img/fff/shape_square_edit.png +0 -0
- data/examples/shop/public/img/fff/shape_square_error.png +0 -0
- data/examples/shop/public/img/fff/shape_square_go.png +0 -0
- data/examples/shop/public/img/fff/shape_square_key.png +0 -0
- data/examples/shop/public/img/fff/shape_square_link.png +0 -0
- data/examples/shop/public/img/fff/shape_ungroup.png +0 -0
- data/examples/shop/public/img/fff/shield.png +0 -0
- data/examples/shop/public/img/fff/shield_add.png +0 -0
- data/examples/shop/public/img/fff/shield_delete.png +0 -0
- data/examples/shop/public/img/fff/shield_go.png +0 -0
- data/examples/shop/public/img/fff/sitemap.png +0 -0
- data/examples/shop/public/img/fff/sitemap_color.png +0 -0
- data/examples/shop/public/img/fff/sound.png +0 -0
- data/examples/shop/public/img/fff/sound_add.png +0 -0
- data/examples/shop/public/img/fff/sound_delete.png +0 -0
- data/examples/shop/public/img/fff/sound_low.png +0 -0
- data/examples/shop/public/img/fff/sound_mute.png +0 -0
- data/examples/shop/public/img/fff/sound_none.png +0 -0
- data/examples/shop/public/img/fff/spellcheck.png +0 -0
- data/examples/shop/public/img/fff/sport_8ball.png +0 -0
- data/examples/shop/public/img/fff/sport_basketball.png +0 -0
- data/examples/shop/public/img/fff/sport_football.png +0 -0
- data/examples/shop/public/img/fff/sport_golf.png +0 -0
- data/examples/shop/public/img/fff/sport_raquet.png +0 -0
- data/examples/shop/public/img/fff/sport_shuttlecock.png +0 -0
- data/examples/shop/public/img/fff/sport_soccer.png +0 -0
- data/examples/shop/public/img/fff/sport_tennis.png +0 -0
- data/examples/shop/public/img/fff/star.png +0 -0
- data/examples/shop/public/img/fff/status_away.png +0 -0
- data/examples/shop/public/img/fff/status_busy.png +0 -0
- data/examples/shop/public/img/fff/status_offline.png +0 -0
- data/examples/shop/public/img/fff/status_online.png +0 -0
- data/examples/shop/public/img/fff/stop.png +0 -0
- data/examples/shop/public/img/fff/style.png +0 -0
- data/examples/shop/public/img/fff/style_add.png +0 -0
- data/examples/shop/public/img/fff/style_delete.png +0 -0
- data/examples/shop/public/img/fff/style_edit.png +0 -0
- data/examples/shop/public/img/fff/style_go.png +0 -0
- data/examples/shop/public/img/fff/sum.png +0 -0
- data/examples/shop/public/img/fff/tab.png +0 -0
- data/examples/shop/public/img/fff/tab_add.png +0 -0
- data/examples/shop/public/img/fff/tab_delete.png +0 -0
- data/examples/shop/public/img/fff/tab_edit.png +0 -0
- data/examples/shop/public/img/fff/tab_go.png +0 -0
- data/examples/shop/public/img/fff/table.png +0 -0
- data/examples/shop/public/img/fff/table_add.png +0 -0
- data/examples/shop/public/img/fff/table_delete.png +0 -0
- data/examples/shop/public/img/fff/table_edit.png +0 -0
- data/examples/shop/public/img/fff/table_error.png +0 -0
- data/examples/shop/public/img/fff/table_gear.png +0 -0
- data/examples/shop/public/img/fff/table_go.png +0 -0
- data/examples/shop/public/img/fff/table_key.png +0 -0
- data/examples/shop/public/img/fff/table_lightning.png +0 -0
- data/examples/shop/public/img/fff/table_link.png +0 -0
- data/examples/shop/public/img/fff/table_multiple.png +0 -0
- data/examples/shop/public/img/fff/table_refresh.png +0 -0
- data/examples/shop/public/img/fff/table_relationship.png +0 -0
- data/examples/shop/public/img/fff/table_row_delete.png +0 -0
- data/examples/shop/public/img/fff/table_row_insert.png +0 -0
- data/examples/shop/public/img/fff/table_save.png +0 -0
- data/examples/shop/public/img/fff/table_sort.png +0 -0
- data/examples/shop/public/img/fff/tag.png +0 -0
- data/examples/shop/public/img/fff/tag_blue.png +0 -0
- data/examples/shop/public/img/fff/tag_blue_add.png +0 -0
- data/examples/shop/public/img/fff/tag_blue_delete.png +0 -0
- data/examples/shop/public/img/fff/tag_blue_edit.png +0 -0
- data/examples/shop/public/img/fff/tag_green.png +0 -0
- data/examples/shop/public/img/fff/tag_orange.png +0 -0
- data/examples/shop/public/img/fff/tag_pink.png +0 -0
- data/examples/shop/public/img/fff/tag_purple.png +0 -0
- data/examples/shop/public/img/fff/tag_red.png +0 -0
- data/examples/shop/public/img/fff/tag_yellow.png +0 -0
- data/examples/shop/public/img/fff/telephone.png +0 -0
- data/examples/shop/public/img/fff/telephone_add.png +0 -0
- data/examples/shop/public/img/fff/telephone_delete.png +0 -0
- data/examples/shop/public/img/fff/telephone_edit.png +0 -0
- data/examples/shop/public/img/fff/telephone_error.png +0 -0
- data/examples/shop/public/img/fff/telephone_go.png +0 -0
- data/examples/shop/public/img/fff/telephone_key.png +0 -0
- data/examples/shop/public/img/fff/telephone_link.png +0 -0
- data/examples/shop/public/img/fff/television.png +0 -0
- data/examples/shop/public/img/fff/television_add.png +0 -0
- data/examples/shop/public/img/fff/television_delete.png +0 -0
- data/examples/shop/public/img/fff/text_align_center.png +0 -0
- data/examples/shop/public/img/fff/text_align_justify.png +0 -0
- data/examples/shop/public/img/fff/text_align_left.png +0 -0
- data/examples/shop/public/img/fff/text_align_right.png +0 -0
- data/examples/shop/public/img/fff/text_allcaps.png +0 -0
- data/examples/shop/public/img/fff/text_bold.png +0 -0
- data/examples/shop/public/img/fff/text_columns.png +0 -0
- data/examples/shop/public/img/fff/text_dropcaps.png +0 -0
- data/examples/shop/public/img/fff/text_heading_1.png +0 -0
- data/examples/shop/public/img/fff/text_heading_2.png +0 -0
- data/examples/shop/public/img/fff/text_heading_3.png +0 -0
- data/examples/shop/public/img/fff/text_heading_4.png +0 -0
- data/examples/shop/public/img/fff/text_heading_5.png +0 -0
- data/examples/shop/public/img/fff/text_heading_6.png +0 -0
- data/examples/shop/public/img/fff/text_horizontalrule.png +0 -0
- data/examples/shop/public/img/fff/text_indent.png +0 -0
- data/examples/shop/public/img/fff/text_indent_remove.png +0 -0
- data/examples/shop/public/img/fff/text_italic.png +0 -0
- data/examples/shop/public/img/fff/text_kerning.png +0 -0
- data/examples/shop/public/img/fff/text_letter_omega.png +0 -0
- data/examples/shop/public/img/fff/text_letterspacing.png +0 -0
- data/examples/shop/public/img/fff/text_linespacing.png +0 -0
- data/examples/shop/public/img/fff/text_list_bullets.png +0 -0
- data/examples/shop/public/img/fff/text_list_numbers.png +0 -0
- data/examples/shop/public/img/fff/text_lowercase.png +0 -0
- data/examples/shop/public/img/fff/text_padding_bottom.png +0 -0
- data/examples/shop/public/img/fff/text_padding_left.png +0 -0
- data/examples/shop/public/img/fff/text_padding_right.png +0 -0
- data/examples/shop/public/img/fff/text_padding_top.png +0 -0
- data/examples/shop/public/img/fff/text_replace.png +0 -0
- data/examples/shop/public/img/fff/text_signature.png +0 -0
- data/examples/shop/public/img/fff/text_smallcaps.png +0 -0
- data/examples/shop/public/img/fff/text_strikethrough.png +0 -0
- data/examples/shop/public/img/fff/text_subscript.png +0 -0
- data/examples/shop/public/img/fff/text_superscript.png +0 -0
- data/examples/shop/public/img/fff/text_underline.png +0 -0
- data/examples/shop/public/img/fff/text_uppercase.png +0 -0
- data/examples/shop/public/img/fff/textfield.png +0 -0
- data/examples/shop/public/img/fff/textfield_add.png +0 -0
- data/examples/shop/public/img/fff/textfield_delete.png +0 -0
- data/examples/shop/public/img/fff/textfield_key.png +0 -0
- data/examples/shop/public/img/fff/textfield_rename.png +0 -0
- data/examples/shop/public/img/fff/thumb_down.png +0 -0
- data/examples/shop/public/img/fff/thumb_up.png +0 -0
- data/examples/shop/public/img/fff/tick.png +0 -0
- data/examples/shop/public/img/fff/time.png +0 -0
- data/examples/shop/public/img/fff/time_add.png +0 -0
- data/examples/shop/public/img/fff/time_delete.png +0 -0
- data/examples/shop/public/img/fff/time_go.png +0 -0
- data/examples/shop/public/img/fff/timeline_marker.png +0 -0
- data/examples/shop/public/img/fff/transmit.png +0 -0
- data/examples/shop/public/img/fff/transmit_add.png +0 -0
- data/examples/shop/public/img/fff/transmit_blue.png +0 -0
- data/examples/shop/public/img/fff/transmit_delete.png +0 -0
- data/examples/shop/public/img/fff/transmit_edit.png +0 -0
- data/examples/shop/public/img/fff/transmit_error.png +0 -0
- data/examples/shop/public/img/fff/transmit_go.png +0 -0
- data/examples/shop/public/img/fff/tux.png +0 -0
- data/examples/shop/public/img/fff/user.png +0 -0
- data/examples/shop/public/img/fff/user_add.png +0 -0
- data/examples/shop/public/img/fff/user_comment.png +0 -0
- data/examples/shop/public/img/fff/user_delete.png +0 -0
- data/examples/shop/public/img/fff/user_edit.png +0 -0
- data/examples/shop/public/img/fff/user_female.png +0 -0
- data/examples/shop/public/img/fff/user_go.png +0 -0
- data/examples/shop/public/img/fff/user_gray.png +0 -0
- data/examples/shop/public/img/fff/user_green.png +0 -0
- data/examples/shop/public/img/fff/user_orange.png +0 -0
- data/examples/shop/public/img/fff/user_red.png +0 -0
- data/examples/shop/public/img/fff/user_suit.png +0 -0
- data/examples/shop/public/img/fff/vcard.png +0 -0
- data/examples/shop/public/img/fff/vcard_add.png +0 -0
- data/examples/shop/public/img/fff/vcard_delete.png +0 -0
- data/examples/shop/public/img/fff/vcard_edit.png +0 -0
- data/examples/shop/public/img/fff/vector.png +0 -0
- data/examples/shop/public/img/fff/vector_add.png +0 -0
- data/examples/shop/public/img/fff/vector_delete.png +0 -0
- data/examples/shop/public/img/fff/wand.png +0 -0
- data/examples/shop/public/img/fff/weather_clouds.png +0 -0
- data/examples/shop/public/img/fff/weather_cloudy.png +0 -0
- data/examples/shop/public/img/fff/weather_lightning.png +0 -0
- data/examples/shop/public/img/fff/weather_rain.png +0 -0
- data/examples/shop/public/img/fff/weather_snow.png +0 -0
- data/examples/shop/public/img/fff/weather_sun.png +0 -0
- data/examples/shop/public/img/fff/webcam.png +0 -0
- data/examples/shop/public/img/fff/webcam_add.png +0 -0
- data/examples/shop/public/img/fff/webcam_delete.png +0 -0
- data/examples/shop/public/img/fff/webcam_error.png +0 -0
- data/examples/shop/public/img/fff/world.png +0 -0
- data/examples/shop/public/img/fff/world_add.png +0 -0
- data/examples/shop/public/img/fff/world_delete.png +0 -0
- data/examples/shop/public/img/fff/world_edit.png +0 -0
- data/examples/shop/public/img/fff/world_go.png +0 -0
- data/examples/shop/public/img/fff/world_link.png +0 -0
- data/examples/shop/public/img/fff/wrench.png +0 -0
- data/examples/shop/public/img/fff/wrench_orange.png +0 -0
- data/examples/shop/public/img/fff/xhtml.png +0 -0
- data/examples/shop/public/img/fff/xhtml_add.png +0 -0
- data/examples/shop/public/img/fff/xhtml_delete.png +0 -0
- data/examples/shop/public/img/fff/xhtml_go.png +0 -0
- data/examples/shop/public/img/fff/xhtml_valid.png +0 -0
- data/examples/shop/public/img/fff/zoom.png +0 -0
- data/examples/shop/public/img/fff/zoom_in.png +0 -0
- data/examples/shop/public/img/fff/zoom_out.png +0 -0
- data/examples/shop/public/img/glyphicons-halflings-white.png +0 -0
- data/examples/shop/public/img/glyphicons-halflings.png +0 -0
- data/examples/shop/public/js/jquery-1.9.1.min.js +5 -0
- data/examples/shop/public/js/jquery-ujs.js +400 -0
- data/examples/shop/server.rb +43 -0
- data/examples/shop/views/edit.erb +2 -0
- data/examples/shop/views/index.erb +2 -0
- data/examples/shop/views/layout.erb +13 -0
- data/examples/shop/views/show.erb +2 -0
- data/lib/dima/config.rb +35 -0
- data/lib/dima/engine.rb +5 -0
- data/lib/dima/html/action.rb +21 -0
- data/lib/dima/html/element.rb +18 -0
- data/lib/dima/html/field.rb +367 -0
- data/lib/dima/html/form.rb +305 -0
- data/lib/dima/html/node.rb +58 -0
- data/lib/dima/utils.rb +47 -0
- data/lib/dima/version.rb +4 -0
- data/lib/dima.rb +22 -0
- data/spec/config_spec.rb +11 -0
- data/spec/helpers/models.rb +9 -0
- data/spec/html/field_spec.rb +103 -0
- data/spec/html/form_spec.rb +60 -0
- data/spec/html/node_spec.rb +42 -0
- data/spec/spec_helper.rb +9 -0
- data/spec/utils_spec.rb +54 -0
- data/vendor/assets/stylesheets/dima-min.css +24 -0
- data/vendor/assets/stylesheets/dima.css +201 -0
- data/vendor/less/dima.less +187 -0
- metadata +1156 -0
@@ -0,0 +1,400 @@
|
|
1
|
+
(function($, undefined) {
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Unobtrusive scripting adapter for jQuery
|
5
|
+
* https://github.com/rails/jquery-ujs
|
6
|
+
*
|
7
|
+
* Requires jQuery 1.7.0 or later.
|
8
|
+
*
|
9
|
+
* Released under the MIT license
|
10
|
+
*
|
11
|
+
*/
|
12
|
+
|
13
|
+
// Cut down on the number if issues from people inadvertently including jquery_ujs twice
|
14
|
+
// by detecting and raising an error when it happens.
|
15
|
+
var alreadyInitialized = function() {
|
16
|
+
var events = $._data(document, 'events');
|
17
|
+
return events && events.click && $.grep(events.click, function(e) { return e.namespace === 'rails'; }).length;
|
18
|
+
}
|
19
|
+
|
20
|
+
if ( alreadyInitialized() ) {
|
21
|
+
$.error('jquery-ujs has already been loaded!');
|
22
|
+
}
|
23
|
+
|
24
|
+
// Shorthand to make it a little easier to call public rails functions from within rails.js
|
25
|
+
var rails;
|
26
|
+
|
27
|
+
$.rails = rails = {
|
28
|
+
// Link elements bound by jquery-ujs
|
29
|
+
linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote], a[data-disable-with]',
|
30
|
+
|
31
|
+
// Select elements bound by jquery-ujs
|
32
|
+
inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',
|
33
|
+
|
34
|
+
// Form elements bound by jquery-ujs
|
35
|
+
formSubmitSelector: 'form',
|
36
|
+
|
37
|
+
// Form input elements bound by jquery-ujs
|
38
|
+
formInputClickSelector: 'form input[type=submit], form input[type=image], form button[type=submit], form button:not([type])',
|
39
|
+
|
40
|
+
// Form input elements disabled during form submission
|
41
|
+
disableSelector: 'input[data-disable-with], button[data-disable-with], textarea[data-disable-with]',
|
42
|
+
|
43
|
+
// Form input elements re-enabled after form submission
|
44
|
+
enableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled',
|
45
|
+
|
46
|
+
// Form required input elements
|
47
|
+
requiredInputSelector: 'input[name][required]:not([disabled]),textarea[name][required]:not([disabled])',
|
48
|
+
|
49
|
+
// Form file input elements
|
50
|
+
fileInputSelector: 'input[type=file]',
|
51
|
+
|
52
|
+
// Link onClick disable selector with possible reenable after remote submission
|
53
|
+
linkDisableSelector: 'a[data-disable-with]',
|
54
|
+
|
55
|
+
// Make sure that every Ajax request sends the CSRF token
|
56
|
+
CSRFProtection: function(xhr) {
|
57
|
+
var token = $('meta[name="csrf-token"]').attr('content');
|
58
|
+
if (token) xhr.setRequestHeader('X-CSRF-Token', token);
|
59
|
+
},
|
60
|
+
|
61
|
+
// Triggers an event on an element and returns false if the event result is false
|
62
|
+
fire: function(obj, name, data) {
|
63
|
+
var event = $.Event(name);
|
64
|
+
obj.trigger(event, data);
|
65
|
+
return event.result !== false;
|
66
|
+
},
|
67
|
+
|
68
|
+
// Default confirm dialog, may be overridden with custom confirm dialog in $.rails.confirm
|
69
|
+
confirm: function(message) {
|
70
|
+
return confirm(message);
|
71
|
+
},
|
72
|
+
|
73
|
+
// Default ajax function, may be overridden with custom function in $.rails.ajax
|
74
|
+
ajax: function(options) {
|
75
|
+
return $.ajax(options);
|
76
|
+
},
|
77
|
+
|
78
|
+
// Default way to get an element's href. May be overridden at $.rails.href.
|
79
|
+
href: function(element) {
|
80
|
+
return element.attr('href');
|
81
|
+
},
|
82
|
+
|
83
|
+
// Submits "remote" forms and links with ajax
|
84
|
+
handleRemote: function(element) {
|
85
|
+
var method, url, data, elCrossDomain, crossDomain, withCredentials, dataType, options;
|
86
|
+
|
87
|
+
if (rails.fire(element, 'ajax:before')) {
|
88
|
+
elCrossDomain = element.data('cross-domain');
|
89
|
+
crossDomain = elCrossDomain === undefined ? null : elCrossDomain;
|
90
|
+
withCredentials = element.data('with-credentials') || null;
|
91
|
+
dataType = element.data('type') || ($.ajaxSettings && $.ajaxSettings.dataType);
|
92
|
+
|
93
|
+
if (element.is('form')) {
|
94
|
+
method = element.attr('method');
|
95
|
+
url = element.attr('action');
|
96
|
+
data = element.serializeArray();
|
97
|
+
// memoized value from clicked submit button
|
98
|
+
var button = element.data('ujs:submit-button');
|
99
|
+
if (button) {
|
100
|
+
data.push(button);
|
101
|
+
element.data('ujs:submit-button', null);
|
102
|
+
}
|
103
|
+
} else if (element.is(rails.inputChangeSelector)) {
|
104
|
+
method = element.data('method');
|
105
|
+
url = element.data('url');
|
106
|
+
data = element.serialize();
|
107
|
+
if (element.data('params')) data = data + "&" + element.data('params');
|
108
|
+
} else {
|
109
|
+
method = element.data('method');
|
110
|
+
url = rails.href(element);
|
111
|
+
data = element.data('params') || null;
|
112
|
+
}
|
113
|
+
|
114
|
+
options = {
|
115
|
+
type: method || 'GET', data: data, dataType: dataType,
|
116
|
+
// stopping the "ajax:beforeSend" event will cancel the ajax request
|
117
|
+
beforeSend: function(xhr, settings) {
|
118
|
+
if (settings.dataType === undefined) {
|
119
|
+
xhr.setRequestHeader('accept', '*/*;q=0.5, ' + settings.accepts.script);
|
120
|
+
}
|
121
|
+
return rails.fire(element, 'ajax:beforeSend', [xhr, settings]);
|
122
|
+
},
|
123
|
+
success: function(data, status, xhr) {
|
124
|
+
element.trigger('ajax:success', [data, status, xhr]);
|
125
|
+
},
|
126
|
+
complete: function(xhr, status) {
|
127
|
+
element.trigger('ajax:complete', [xhr, status]);
|
128
|
+
},
|
129
|
+
error: function(xhr, status, error) {
|
130
|
+
element.trigger('ajax:error', [xhr, status, error]);
|
131
|
+
},
|
132
|
+
crossDomain: crossDomain
|
133
|
+
};
|
134
|
+
|
135
|
+
// There is no withCredentials for IE6-8 when
|
136
|
+
// "Enable native XMLHTTP support" is disabled
|
137
|
+
if (withCredentials) {
|
138
|
+
options.xhrFields = {
|
139
|
+
withCredentials: withCredentials
|
140
|
+
};
|
141
|
+
}
|
142
|
+
|
143
|
+
// Only pass url to `ajax` options if not blank
|
144
|
+
if (url) { options.url = url; }
|
145
|
+
|
146
|
+
var jqxhr = rails.ajax(options);
|
147
|
+
element.trigger('ajax:send', jqxhr);
|
148
|
+
return jqxhr;
|
149
|
+
} else {
|
150
|
+
return false;
|
151
|
+
}
|
152
|
+
},
|
153
|
+
|
154
|
+
// Handles "data-method" on links such as:
|
155
|
+
// <a href="/users/5" data-method="delete" rel="nofollow" data-confirm="Are you sure?">Delete</a>
|
156
|
+
handleMethod: function(link) {
|
157
|
+
var href = rails.href(link),
|
158
|
+
method = link.data('method'),
|
159
|
+
target = link.attr('target'),
|
160
|
+
csrf_token = $('meta[name=csrf-token]').attr('content'),
|
161
|
+
csrf_param = $('meta[name=csrf-param]').attr('content'),
|
162
|
+
form = $('<form method="post" action="' + href + '"></form>'),
|
163
|
+
metadata_input = '<input name="_method" value="' + method + '" type="hidden" />';
|
164
|
+
|
165
|
+
if (csrf_param !== undefined && csrf_token !== undefined) {
|
166
|
+
metadata_input += '<input name="' + csrf_param + '" value="' + csrf_token + '" type="hidden" />';
|
167
|
+
}
|
168
|
+
|
169
|
+
if (target) { form.attr('target', target); }
|
170
|
+
|
171
|
+
form.hide().append(metadata_input).appendTo('body');
|
172
|
+
form.submit();
|
173
|
+
},
|
174
|
+
|
175
|
+
/* Disables form elements:
|
176
|
+
- Caches element value in 'ujs:enable-with' data store
|
177
|
+
- Replaces element text with value of 'data-disable-with' attribute
|
178
|
+
- Sets disabled property to true
|
179
|
+
*/
|
180
|
+
disableFormElements: function(form) {
|
181
|
+
form.find(rails.disableSelector).each(function() {
|
182
|
+
var element = $(this), method = element.is('button') ? 'html' : 'val';
|
183
|
+
element.data('ujs:enable-with', element[method]());
|
184
|
+
element[method](element.data('disable-with'));
|
185
|
+
element.prop('disabled', true);
|
186
|
+
});
|
187
|
+
},
|
188
|
+
|
189
|
+
/* Re-enables disabled form elements:
|
190
|
+
- Replaces element text with cached value from 'ujs:enable-with' data store (created in `disableFormElements`)
|
191
|
+
- Sets disabled property to false
|
192
|
+
*/
|
193
|
+
enableFormElements: function(form) {
|
194
|
+
form.find(rails.enableSelector).each(function() {
|
195
|
+
var element = $(this), method = element.is('button') ? 'html' : 'val';
|
196
|
+
if (element.data('ujs:enable-with')) element[method](element.data('ujs:enable-with'));
|
197
|
+
element.prop('disabled', false);
|
198
|
+
});
|
199
|
+
},
|
200
|
+
|
201
|
+
/* For 'data-confirm' attribute:
|
202
|
+
- Fires `confirm` event
|
203
|
+
- Shows the confirmation dialog
|
204
|
+
- Fires the `confirm:complete` event
|
205
|
+
|
206
|
+
Returns `true` if no function stops the chain and user chose yes; `false` otherwise.
|
207
|
+
Attaching a handler to the element's `confirm` event that returns a `falsy` value cancels the confirmation dialog.
|
208
|
+
Attaching a handler to the element's `confirm:complete` event that returns a `falsy` value makes this function
|
209
|
+
return false. The `confirm:complete` event is fired whether or not the user answered true or false to the dialog.
|
210
|
+
*/
|
211
|
+
allowAction: function(element) {
|
212
|
+
var message = element.data('confirm'),
|
213
|
+
answer = false, callback;
|
214
|
+
if (!message) { return true; }
|
215
|
+
|
216
|
+
if (rails.fire(element, 'confirm')) {
|
217
|
+
answer = rails.confirm(message);
|
218
|
+
callback = rails.fire(element, 'confirm:complete', [answer]);
|
219
|
+
}
|
220
|
+
return answer && callback;
|
221
|
+
},
|
222
|
+
|
223
|
+
// Helper function which checks for blank inputs in a form that match the specified CSS selector
|
224
|
+
blankInputs: function(form, specifiedSelector, nonBlank) {
|
225
|
+
var inputs = $(), input, valueToCheck,
|
226
|
+
selector = specifiedSelector || 'input,textarea',
|
227
|
+
allInputs = form.find(selector);
|
228
|
+
|
229
|
+
allInputs.each(function() {
|
230
|
+
input = $(this);
|
231
|
+
valueToCheck = input.is('input[type=checkbox],input[type=radio]') ? input.is(':checked') : input.val();
|
232
|
+
// If nonBlank and valueToCheck are both truthy, or nonBlank and valueToCheck are both falsey
|
233
|
+
if (!valueToCheck === !nonBlank) {
|
234
|
+
|
235
|
+
// Don't count unchecked required radio if other radio with same name is checked
|
236
|
+
if (input.is('input[type=radio]') && allInputs.filter('input[type=radio]:checked[name="' + input.attr('name') + '"]').length) {
|
237
|
+
return true; // Skip to next input
|
238
|
+
}
|
239
|
+
|
240
|
+
inputs = inputs.add(input);
|
241
|
+
}
|
242
|
+
});
|
243
|
+
return inputs.length ? inputs : false;
|
244
|
+
},
|
245
|
+
|
246
|
+
// Helper function which checks for non-blank inputs in a form that match the specified CSS selector
|
247
|
+
nonBlankInputs: function(form, specifiedSelector) {
|
248
|
+
return rails.blankInputs(form, specifiedSelector, true); // true specifies nonBlank
|
249
|
+
},
|
250
|
+
|
251
|
+
// Helper function, needed to provide consistent behavior in IE
|
252
|
+
stopEverything: function(e) {
|
253
|
+
$(e.target).trigger('ujs:everythingStopped');
|
254
|
+
e.stopImmediatePropagation();
|
255
|
+
return false;
|
256
|
+
},
|
257
|
+
|
258
|
+
// find all the submit events directly bound to the form and
|
259
|
+
// manually invoke them. If anyone returns false then stop the loop
|
260
|
+
callFormSubmitBindings: function(form, event) {
|
261
|
+
var events = form.data('events'), continuePropagation = true;
|
262
|
+
if (events !== undefined && events['submit'] !== undefined) {
|
263
|
+
$.each(events['submit'], function(i, obj){
|
264
|
+
if (typeof obj.handler === 'function') return continuePropagation = obj.handler(event);
|
265
|
+
});
|
266
|
+
}
|
267
|
+
return continuePropagation;
|
268
|
+
},
|
269
|
+
|
270
|
+
// replace element's html with the 'data-disable-with' after storing original html
|
271
|
+
// and prevent clicking on it
|
272
|
+
disableElement: function(element) {
|
273
|
+
element.data('ujs:enable-with', element.html()); // store enabled state
|
274
|
+
element.html(element.data('disable-with')); // set to disabled state
|
275
|
+
element.bind('click.railsDisable', function(e) { // prevent further clicking
|
276
|
+
return rails.stopEverything(e);
|
277
|
+
});
|
278
|
+
},
|
279
|
+
|
280
|
+
// restore element to its original state which was disabled by 'disableElement' above
|
281
|
+
enableElement: function(element) {
|
282
|
+
if (element.data('ujs:enable-with') !== undefined) {
|
283
|
+
element.html(element.data('ujs:enable-with')); // set to old enabled state
|
284
|
+
// this should be element.removeData('ujs:enable-with')
|
285
|
+
// but, there is currently a bug in jquery which makes hyphenated data attributes not get removed
|
286
|
+
element.data('ujs:enable-with', false); // clean up cache
|
287
|
+
}
|
288
|
+
element.unbind('click.railsDisable'); // enable element
|
289
|
+
}
|
290
|
+
|
291
|
+
};
|
292
|
+
|
293
|
+
if (rails.fire($(document), 'rails:attachBindings')) {
|
294
|
+
|
295
|
+
$.ajaxPrefilter(function(options, originalOptions, xhr){ if ( !options.crossDomain ) { rails.CSRFProtection(xhr); }});
|
296
|
+
|
297
|
+
$(document).delegate(rails.linkDisableSelector, 'ajax:complete', function() {
|
298
|
+
rails.enableElement($(this));
|
299
|
+
});
|
300
|
+
|
301
|
+
$(document).delegate(rails.linkClickSelector, 'click.rails', function(e) {
|
302
|
+
var link = $(this), method = link.data('method'), data = link.data('params');
|
303
|
+
if (!rails.allowAction(link)) return rails.stopEverything(e);
|
304
|
+
|
305
|
+
if (link.is(rails.linkDisableSelector)) rails.disableElement(link);
|
306
|
+
|
307
|
+
if (link.data('remote') !== undefined) {
|
308
|
+
if ( (e.metaKey || e.ctrlKey) && (!method || method === 'GET') && !data ) { return true; }
|
309
|
+
|
310
|
+
var handleRemote = rails.handleRemote(link);
|
311
|
+
// response from rails.handleRemote() will either be false or a deferred object promise.
|
312
|
+
if (handleRemote === false) {
|
313
|
+
rails.enableElement(link);
|
314
|
+
} else {
|
315
|
+
handleRemote.error( function() { rails.enableElement(link); } );
|
316
|
+
}
|
317
|
+
return false;
|
318
|
+
|
319
|
+
} else if (link.data('method')) {
|
320
|
+
rails.handleMethod(link);
|
321
|
+
return false;
|
322
|
+
}
|
323
|
+
});
|
324
|
+
|
325
|
+
$(document).delegate(rails.inputChangeSelector, 'change.rails', function(e) {
|
326
|
+
var link = $(this);
|
327
|
+
if (!rails.allowAction(link)) return rails.stopEverything(e);
|
328
|
+
|
329
|
+
rails.handleRemote(link);
|
330
|
+
return false;
|
331
|
+
});
|
332
|
+
|
333
|
+
$(document).delegate(rails.formSubmitSelector, 'submit.rails', function(e) {
|
334
|
+
var form = $(this),
|
335
|
+
remote = form.data('remote') !== undefined,
|
336
|
+
blankRequiredInputs = rails.blankInputs(form, rails.requiredInputSelector),
|
337
|
+
nonBlankFileInputs = rails.nonBlankInputs(form, rails.fileInputSelector);
|
338
|
+
|
339
|
+
if (!rails.allowAction(form)) return rails.stopEverything(e);
|
340
|
+
|
341
|
+
// skip other logic when required values are missing or file upload is present
|
342
|
+
if (blankRequiredInputs && form.attr("novalidate") == undefined && rails.fire(form, 'ajax:aborted:required', [blankRequiredInputs])) {
|
343
|
+
return rails.stopEverything(e);
|
344
|
+
}
|
345
|
+
|
346
|
+
if (remote) {
|
347
|
+
if (nonBlankFileInputs) {
|
348
|
+
// slight timeout so that the submit button gets properly serialized
|
349
|
+
// (make it easy for event handler to serialize form without disabled values)
|
350
|
+
setTimeout(function(){ rails.disableFormElements(form); }, 13);
|
351
|
+
var aborted = rails.fire(form, 'ajax:aborted:file', [nonBlankFileInputs]);
|
352
|
+
|
353
|
+
// re-enable form elements if event bindings return false (canceling normal form submission)
|
354
|
+
if (!aborted) { setTimeout(function(){ rails.enableFormElements(form); }, 13); }
|
355
|
+
|
356
|
+
return aborted;
|
357
|
+
}
|
358
|
+
|
359
|
+
// If browser does not support submit bubbling, then this live-binding will be called before direct
|
360
|
+
// bindings. Therefore, we should directly call any direct bindings before remotely submitting form.
|
361
|
+
if (!$.support.submitBubbles && $().jquery < '1.7' && rails.callFormSubmitBindings(form, e) === false) return rails.stopEverything(e);
|
362
|
+
|
363
|
+
rails.handleRemote(form);
|
364
|
+
return false;
|
365
|
+
|
366
|
+
} else {
|
367
|
+
// slight timeout so that the submit button gets properly serialized
|
368
|
+
setTimeout(function(){ rails.disableFormElements(form); }, 13);
|
369
|
+
}
|
370
|
+
});
|
371
|
+
|
372
|
+
$(document).delegate(rails.formInputClickSelector, 'click.rails', function(event) {
|
373
|
+
var button = $(this);
|
374
|
+
|
375
|
+
if (!rails.allowAction(button)) return rails.stopEverything(event);
|
376
|
+
|
377
|
+
// register the pressed submit button
|
378
|
+
var name = button.attr('name'),
|
379
|
+
data = name ? {name:name, value:button.val()} : null;
|
380
|
+
|
381
|
+
button.closest('form').data('ujs:submit-button', data);
|
382
|
+
});
|
383
|
+
|
384
|
+
$(document).delegate(rails.formSubmitSelector, 'ajax:beforeSend.rails', function(event) {
|
385
|
+
if (this == event.target) rails.disableFormElements($(this));
|
386
|
+
});
|
387
|
+
|
388
|
+
$(document).delegate(rails.formSubmitSelector, 'ajax:complete.rails', function(event) {
|
389
|
+
if (this == event.target) rails.enableFormElements($(this));
|
390
|
+
});
|
391
|
+
|
392
|
+
$(function(){
|
393
|
+
// making sure that all forms have actual up-to-date token(cached forms contain old one)
|
394
|
+
var csrf_token = $('meta[name=csrf-token]').attr('content');
|
395
|
+
var csrf_param = $('meta[name=csrf-param]').attr('content');
|
396
|
+
$('form input[name="' + csrf_param + '"]').val(csrf_token);
|
397
|
+
});
|
398
|
+
}
|
399
|
+
|
400
|
+
})( jQuery );
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
$LOAD_PATH << File.expand_path('../../../lib', __FILE__)
|
3
|
+
|
4
|
+
require 'sinatra'
|
5
|
+
require 'dima'
|
6
|
+
require './models'
|
7
|
+
require './forms'
|
8
|
+
|
9
|
+
set :erb, format: :html5
|
10
|
+
|
11
|
+
get '/' do
|
12
|
+
"hello"
|
13
|
+
table = Forms.user_table
|
14
|
+
table.vals = User.users
|
15
|
+
erb :index, layout: :layout, locals: { table: table.to_n }
|
16
|
+
end
|
17
|
+
|
18
|
+
get '/show/:id' do
|
19
|
+
user = User.user(params[:id])
|
20
|
+
form = Forms.user_form
|
21
|
+
form.val = user
|
22
|
+
erb :show, layout: :layout, locals: { user: user, form: form.to_n }
|
23
|
+
end
|
24
|
+
|
25
|
+
get '/edit/:id' do
|
26
|
+
user = User.user(params[:id])
|
27
|
+
form = Forms.user_editor
|
28
|
+
form.val = user
|
29
|
+
erb :edit, layout: :layout, locals: { user: user, form: form.to_n }
|
30
|
+
end
|
31
|
+
|
32
|
+
post '/edit/:id' do
|
33
|
+
form = Forms.user_editor
|
34
|
+
form << params[:dim]
|
35
|
+
user = User.user(params[:id])
|
36
|
+
form >> user
|
37
|
+
redirect "/show/#{params[:id]}"
|
38
|
+
end
|
39
|
+
|
40
|
+
delete '/delete/:id' do
|
41
|
+
User.delete(params[:id])
|
42
|
+
redirect '/'
|
43
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<html>
|
2
|
+
<head>
|
3
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
4
|
+
<link rel='stylesheet' href='/css/dima.css' type='text/css' media="screen, projection">
|
5
|
+
<link rel='stylesheet' href='/css/bootstrap.min.css' type='text/css' media="screen, projection">
|
6
|
+
<script type="text/javascript" src="/js/jquery-1.9.1.min.js"></script>
|
7
|
+
<script type="text/javascript" src="/js/jquery-ujs.js"></script>
|
8
|
+
<title>Shop</title>
|
9
|
+
</head>
|
10
|
+
<body style="margin: 0 8px;">
|
11
|
+
<%= yield %>
|
12
|
+
</body>
|
13
|
+
</html>
|
data/lib/dima/config.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require 'singleton'
|
3
|
+
|
4
|
+
module Dima
|
5
|
+
|
6
|
+
class Config
|
7
|
+
include Singleton
|
8
|
+
|
9
|
+
def num
|
10
|
+
@num ||= Dima::NumberConfig.new(delimiter: ',', separator: '.')
|
11
|
+
end
|
12
|
+
|
13
|
+
def date
|
14
|
+
@date ||= Dima::DateConfig.new(formatter: '%d-%b-%Y')
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
class NumberConfig
|
20
|
+
include Dima::Init
|
21
|
+
attr_accessor :delimiter, :separator
|
22
|
+
end
|
23
|
+
|
24
|
+
class DateConfig
|
25
|
+
include Dima::Init
|
26
|
+
attr_accessor :formatter
|
27
|
+
end
|
28
|
+
|
29
|
+
class << self
|
30
|
+
def config
|
31
|
+
Dima::Config.instance
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
data/lib/dima/engine.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Dima::Html::Action
|
3
|
+
include Dima::Init
|
4
|
+
|
5
|
+
attr_accessor :label, :icon, :url
|
6
|
+
attr_accessor :tooltip
|
7
|
+
attr_accessor :confirm
|
8
|
+
attr_accessor :method
|
9
|
+
|
10
|
+
def to_n(val = nil)
|
11
|
+
href = url.is_a?(Proc) ? url.call(val) : url
|
12
|
+
text = label.is_a?(Proc) ? url.call(val) : label
|
13
|
+
n = Dima::Html::Node.new(tag: 'a', attributes: { class: 'dim-action', href: href, title: tooltip })
|
14
|
+
n['data-confirm'] = self.confirm if self.confirm
|
15
|
+
n['data-method'] = self.method if self.method
|
16
|
+
n << Dima::Html::Node.new(tag: 'img', attributes: { src: icon }) if icon
|
17
|
+
n << Dima::Html::Node.new(tag: 'span', text: text )
|
18
|
+
n
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|