effective_bootstrap 0.7.3 → 0.8.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/app/assets/images/icons/activity.svg +1 -13
- data/app/assets/images/icons/airplay.svg +1 -14
- data/app/assets/images/icons/alert-circle.svg +1 -15
- data/app/assets/images/icons/alert-octagon.svg +1 -15
- data/app/assets/images/icons/alert-triangle.svg +1 -15
- data/app/assets/images/icons/align-center.svg +1 -16
- data/app/assets/images/icons/align-justify.svg +1 -16
- data/app/assets/images/icons/align-left.svg +1 -16
- data/app/assets/images/icons/align-right.svg +1 -16
- data/app/assets/images/icons/anchor.svg +1 -15
- data/app/assets/images/icons/aperture.svg +1 -19
- data/app/assets/images/icons/archive.svg +1 -0
- data/app/assets/images/icons/arrow-down-circle.svg +1 -15
- data/app/assets/images/icons/arrow-down-left.svg +1 -14
- data/app/assets/images/icons/arrow-down-right.svg +1 -14
- data/app/assets/images/icons/arrow-down.svg +1 -14
- data/app/assets/images/icons/arrow-left-circle.svg +1 -15
- data/app/assets/images/icons/arrow-left.svg +1 -14
- data/app/assets/images/icons/arrow-right-circle.svg +1 -15
- data/app/assets/images/icons/arrow-right.svg +1 -14
- data/app/assets/images/icons/arrow-up-circle.svg +1 -15
- data/app/assets/images/icons/arrow-up-left.svg +1 -14
- data/app/assets/images/icons/arrow-up-right.svg +1 -14
- data/app/assets/images/icons/arrow-up.svg +1 -14
- data/app/assets/images/icons/at-sign.svg +1 -14
- data/app/assets/images/icons/award.svg +1 -14
- data/app/assets/images/icons/bar-chart-2.svg +1 -15
- data/app/assets/images/icons/bar-chart.svg +1 -15
- data/app/assets/images/icons/battery-charging.svg +1 -15
- data/app/assets/images/icons/battery.svg +1 -14
- data/app/assets/images/icons/bell-off.svg +1 -14
- data/app/assets/images/icons/bell.svg +1 -13
- data/app/assets/images/icons/bluetooth.svg +1 -13
- data/app/assets/images/icons/bold.svg +1 -14
- data/app/assets/images/icons/book-open.svg +1 -14
- data/app/assets/images/icons/book.svg +1 -14
- data/app/assets/images/icons/bookmark.svg +1 -13
- data/app/assets/images/icons/box.svg +1 -15
- data/app/assets/images/icons/briefcase.svg +1 -14
- data/app/assets/images/icons/calendar.svg +1 -16
- data/app/assets/images/icons/camera-off.svg +1 -14
- data/app/assets/images/icons/camera.svg +1 -14
- data/app/assets/images/icons/cast.svg +1 -14
- data/app/assets/images/icons/check-circle.svg +1 -14
- data/app/assets/images/icons/check-square.svg +1 -14
- data/app/assets/images/icons/check.svg +1 -13
- data/app/assets/images/icons/chevron-down.svg +1 -13
- data/app/assets/images/icons/chevron-left.svg +1 -13
- data/app/assets/images/icons/chevron-right.svg +1 -13
- data/app/assets/images/icons/chevron-up.svg +1 -13
- data/app/assets/images/icons/chevrons-down.svg +1 -14
- data/app/assets/images/icons/chevrons-left.svg +1 -14
- data/app/assets/images/icons/chevrons-right.svg +1 -14
- data/app/assets/images/icons/chevrons-up.svg +1 -14
- data/app/assets/images/icons/chrome.svg +1 -17
- data/app/assets/images/icons/circle.svg +1 -13
- data/app/assets/images/icons/clipboard.svg +1 -14
- data/app/assets/images/icons/clock.svg +1 -14
- data/app/assets/images/icons/cloud-drizzle.svg +1 -19
- data/app/assets/images/icons/cloud-lightning.svg +1 -14
- data/app/assets/images/icons/cloud-off.svg +1 -14
- data/app/assets/images/icons/cloud-rain.svg +1 -16
- data/app/assets/images/icons/cloud-snow.svg +1 -19
- data/app/assets/images/icons/cloud.svg +1 -13
- data/app/assets/images/icons/code.svg +1 -14
- data/app/assets/images/icons/codepen.svg +1 -17
- data/app/assets/images/icons/codesandbox.svg +1 -0
- data/app/assets/images/icons/coffee.svg +1 -0
- data/app/assets/images/icons/columns.svg +1 -0
- data/app/assets/images/icons/command.svg +1 -13
- data/app/assets/images/icons/compass.svg +1 -14
- data/app/assets/images/icons/copy.svg +1 -14
- data/app/assets/images/icons/corner-down-left.svg +1 -14
- data/app/assets/images/icons/corner-down-right.svg +1 -14
- data/app/assets/images/icons/corner-left-down.svg +1 -14
- data/app/assets/images/icons/corner-left-up.svg +1 -14
- data/app/assets/images/icons/corner-right-down.svg +1 -14
- data/app/assets/images/icons/corner-right-up.svg +1 -14
- data/app/assets/images/icons/corner-up-left.svg +1 -14
- data/app/assets/images/icons/corner-up-right.svg +1 -14
- data/app/assets/images/icons/cpu.svg +1 -22
- data/app/assets/images/icons/credit-card.svg +1 -14
- data/app/assets/images/icons/crop.svg +1 -14
- data/app/assets/images/icons/crosshair.svg +1 -17
- data/app/assets/images/icons/database.svg +1 -15
- data/app/assets/images/icons/delete.svg +1 -15
- data/app/assets/images/icons/disc.svg +1 -14
- data/app/assets/images/icons/dollar-sign.svg +1 -14
- data/app/assets/images/icons/download-cloud.svg +1 -15
- data/app/assets/images/icons/download.svg +1 -15
- data/app/assets/images/icons/droplet.svg +1 -13
- data/app/assets/images/icons/edit-2.svg +1 -13
- data/app/assets/images/icons/edit-3.svg +1 -14
- data/app/assets/images/icons/edit.svg +1 -14
- data/app/assets/images/icons/external-link.svg +1 -15
- data/app/assets/images/icons/eye-off.svg +1 -14
- data/app/assets/images/icons/eye.svg +1 -14
- data/app/assets/images/icons/facebook.svg +1 -13
- data/app/assets/images/icons/fast-forward.svg +1 -14
- data/app/assets/images/icons/feather.svg +1 -15
- data/app/assets/images/icons/figma.svg +1 -0
- data/app/assets/images/icons/file-minus.svg +1 -15
- data/app/assets/images/icons/file-plus.svg +1 -16
- data/app/assets/images/icons/file-text.svg +1 -17
- data/app/assets/images/icons/file.svg +1 -14
- data/app/assets/images/icons/film.svg +1 -20
- data/app/assets/images/icons/filter.svg +1 -13
- data/app/assets/images/icons/flag.svg +1 -14
- data/app/assets/images/icons/folder-minus.svg +1 -14
- data/app/assets/images/icons/folder-plus.svg +1 -15
- data/app/assets/images/icons/folder.svg +1 -13
- data/app/assets/images/icons/framer.svg +1 -0
- data/app/assets/images/icons/frown.svg +1 -0
- data/app/assets/images/icons/gift.svg +1 -0
- data/app/assets/images/icons/git-branch.svg +1 -16
- data/app/assets/images/icons/git-commit.svg +1 -15
- data/app/assets/images/icons/git-merge.svg +1 -15
- data/app/assets/images/icons/git-pull-request.svg +1 -16
- data/app/assets/images/icons/github.svg +1 -13
- data/app/assets/images/icons/gitlab.svg +1 -13
- data/app/assets/images/icons/globe.svg +1 -15
- data/app/assets/images/icons/grid.svg +1 -16
- data/app/assets/images/icons/hard-drive.svg +1 -16
- data/app/assets/images/icons/hash.svg +1 -16
- data/app/assets/images/icons/headphones.svg +1 -14
- data/app/assets/images/icons/heart.svg +1 -13
- data/app/assets/images/icons/help-circle.svg +1 -15
- data/app/assets/images/icons/hexagon.svg +1 -0
- data/app/assets/images/icons/home.svg +1 -14
- data/app/assets/images/icons/image.svg +1 -15
- data/app/assets/images/icons/inbox.svg +1 -14
- data/app/assets/images/icons/info.svg +1 -15
- data/app/assets/images/icons/instagram.svg +1 -15
- data/app/assets/images/icons/italic.svg +1 -15
- data/app/assets/images/icons/key.svg +1 -0
- data/app/assets/images/icons/layers.svg +1 -15
- data/app/assets/images/icons/layout.svg +1 -15
- data/app/assets/images/icons/life-buoy.svg +1 -19
- data/app/assets/images/icons/link-2.svg +1 -14
- data/app/assets/images/icons/link.svg +1 -14
- data/app/assets/images/icons/linkedin.svg +1 -15
- data/app/assets/images/icons/list.svg +1 -18
- data/app/assets/images/icons/loader.svg +1 -20
- data/app/assets/images/icons/lock.svg +1 -14
- data/app/assets/images/icons/log-in.svg +1 -15
- data/app/assets/images/icons/log-out.svg +1 -15
- data/app/assets/images/icons/mail.svg +1 -14
- data/app/assets/images/icons/map-pin.svg +1 -14
- data/app/assets/images/icons/map.svg +1 -15
- data/app/assets/images/icons/maximize-2.svg +1 -16
- data/app/assets/images/icons/maximize.svg +1 -13
- data/app/assets/images/icons/meh.svg +1 -0
- data/app/assets/images/icons/menu.svg +1 -15
- data/app/assets/images/icons/message-circle.svg +1 -13
- data/app/assets/images/icons/message-square.svg +1 -13
- data/app/assets/images/icons/mic-off.svg +1 -17
- data/app/assets/images/icons/mic.svg +1 -16
- data/app/assets/images/icons/minimize-2.svg +1 -16
- data/app/assets/images/icons/minimize.svg +1 -13
- data/app/assets/images/icons/minus-circle.svg +1 -14
- data/app/assets/images/icons/minus-square.svg +1 -14
- data/app/assets/images/icons/minus.svg +1 -13
- data/app/assets/images/icons/monitor.svg +1 -15
- data/app/assets/images/icons/moon.svg +1 -13
- data/app/assets/images/icons/more-horizontal.svg +1 -15
- data/app/assets/images/icons/more-vertical.svg +1 -15
- data/app/assets/images/icons/mouse-pointer.svg +1 -0
- data/app/assets/images/icons/move.svg +1 -18
- data/app/assets/images/icons/music.svg +1 -14
- data/app/assets/images/icons/navigation-2.svg +1 -13
- data/app/assets/images/icons/navigation.svg +1 -13
- data/app/assets/images/icons/octagon.svg +1 -13
- data/app/assets/images/icons/package.svg +1 -16
- data/app/assets/images/icons/paperclip.svg +1 -13
- data/app/assets/images/icons/pause-circle.svg +1 -15
- data/app/assets/images/icons/pause.svg +1 -14
- data/app/assets/images/icons/pen-tool.svg +1 -0
- data/app/assets/images/icons/percent.svg +1 -15
- data/app/assets/images/icons/phone-call.svg +1 -13
- data/app/assets/images/icons/phone-forwarded.svg +1 -15
- data/app/assets/images/icons/phone-incoming.svg +1 -15
- data/app/assets/images/icons/phone-missed.svg +1 -15
- data/app/assets/images/icons/phone-off.svg +1 -14
- data/app/assets/images/icons/phone-outgoing.svg +1 -15
- data/app/assets/images/icons/phone.svg +1 -13
- data/app/assets/images/icons/pie-chart.svg +1 -14
- data/app/assets/images/icons/play-circle.svg +1 -14
- data/app/assets/images/icons/play.svg +1 -13
- data/app/assets/images/icons/plus-circle.svg +1 -15
- data/app/assets/images/icons/plus-square.svg +1 -15
- data/app/assets/images/icons/plus.svg +1 -14
- data/app/assets/images/icons/pocket.svg +1 -14
- data/app/assets/images/icons/power.svg +1 -14
- data/app/assets/images/icons/printer.svg +1 -15
- data/app/assets/images/icons/radio.svg +1 -14
- data/app/assets/images/icons/refresh-ccw.svg +1 -15
- data/app/assets/images/icons/refresh-cw.svg +1 -15
- data/app/assets/images/icons/repeat.svg +1 -16
- data/app/assets/images/icons/rewind.svg +1 -14
- data/app/assets/images/icons/rotate-ccw.svg +1 -14
- data/app/assets/images/icons/rotate-cw.svg +1 -14
- data/app/assets/images/icons/rss.svg +1 -15
- data/app/assets/images/icons/save.svg +1 -15
- data/app/assets/images/icons/scissors.svg +1 -17
- data/app/assets/images/icons/search.svg +1 -14
- data/app/assets/images/icons/send.svg +1 -14
- data/app/assets/images/icons/server.svg +1 -16
- data/app/assets/images/icons/settings.svg +1 -14
- data/app/assets/images/icons/share-2.svg +1 -17
- data/app/assets/images/icons/share.svg +1 -15
- data/app/assets/images/icons/shield-off.svg +1 -15
- data/app/assets/images/icons/shield.svg +1 -13
- data/app/assets/images/icons/shopping-bag.svg +1 -15
- data/app/assets/images/icons/shopping-cart.svg +1 -15
- data/app/assets/images/icons/shuffle.svg +1 -17
- data/app/assets/images/icons/sidebar.svg +1 -14
- data/app/assets/images/icons/skip-back.svg +1 -14
- data/app/assets/images/icons/skip-forward.svg +1 -14
- data/app/assets/images/icons/slack.svg +1 -17
- data/app/assets/images/icons/slash.svg +1 -14
- data/app/assets/images/icons/sliders.svg +1 -21
- data/app/assets/images/icons/smartphone.svg +1 -14
- data/app/assets/images/icons/smile.svg +1 -0
- data/app/assets/images/icons/speaker.svg +1 -15
- data/app/assets/images/icons/square.svg +1 -13
- data/app/assets/images/icons/star.svg +1 -13
- data/app/assets/images/icons/stop-circle.svg +1 -14
- data/app/assets/images/icons/sun.svg +1 -21
- data/app/assets/images/icons/sunrise.svg +1 -20
- data/app/assets/images/icons/sunset.svg +1 -20
- data/app/assets/images/icons/tablet.svg +1 -22
- data/app/assets/images/icons/tag.svg +1 -14
- data/app/assets/images/icons/target.svg +1 -15
- data/app/assets/images/icons/terminal.svg +1 -14
- data/app/assets/images/icons/thermometer.svg +1 -13
- data/app/assets/images/icons/thumbs-down.svg +1 -13
- data/app/assets/images/icons/thumbs-up.svg +1 -13
- data/app/assets/images/icons/toggle-left.svg +1 -14
- data/app/assets/images/icons/toggle-right.svg +1 -14
- data/app/assets/images/icons/tool.svg +1 -0
- data/app/assets/images/icons/trash-2.svg +1 -16
- data/app/assets/images/icons/trash.svg +1 -14
- data/app/assets/images/icons/trello.svg +1 -0
- data/app/assets/images/icons/trending-down.svg +1 -14
- data/app/assets/images/icons/trending-up.svg +1 -14
- data/app/assets/images/icons/triangle.svg +1 -13
- data/app/assets/images/icons/truck.svg +1 -16
- data/app/assets/images/icons/tv.svg +1 -14
- data/app/assets/images/icons/twitch.svg +1 -0
- data/app/assets/images/icons/twitter.svg +1 -13
- data/app/assets/images/icons/type.svg +1 -15
- data/app/assets/images/icons/umbrella.svg +1 -13
- data/app/assets/images/icons/underline.svg +1 -14
- data/app/assets/images/icons/unlock.svg +1 -14
- data/app/assets/images/icons/upload-cloud.svg +1 -16
- data/app/assets/images/icons/upload.svg +1 -15
- data/app/assets/images/icons/user-check.svg +1 -15
- data/app/assets/images/icons/user-minus.svg +1 -15
- data/app/assets/images/icons/user-plus.svg +1 -16
- data/app/assets/images/icons/user-x.svg +1 -16
- data/app/assets/images/icons/user.svg +1 -14
- data/app/assets/images/icons/users.svg +1 -16
- data/app/assets/images/icons/video-off.svg +1 -14
- data/app/assets/images/icons/video.svg +1 -14
- data/app/assets/images/icons/voicemail.svg +1 -15
- data/app/assets/images/icons/volume-1.svg +1 -14
- data/app/assets/images/icons/volume-2.svg +1 -14
- data/app/assets/images/icons/volume-x.svg +1 -15
- data/app/assets/images/icons/volume.svg +1 -13
- data/app/assets/images/icons/watch.svg +1 -15
- data/app/assets/images/icons/wifi-off.svg +1 -19
- data/app/assets/images/icons/wifi.svg +1 -16
- data/app/assets/images/icons/wind.svg +1 -13
- data/app/assets/images/icons/x-circle.svg +1 -15
- data/app/assets/images/icons/x-octagon.svg +1 -0
- data/app/assets/images/icons/x-square.svg +1 -15
- data/app/assets/images/icons/x.svg +1 -14
- data/app/assets/images/icons/youtube.svg +1 -0
- data/app/assets/images/icons/zap-off.svg +1 -16
- data/app/assets/images/icons/zap.svg +1 -13
- data/app/assets/images/icons/zoom-in.svg +1 -16
- data/app/assets/images/icons/zoom-out.svg +1 -15
- data/app/assets/javascripts/effective_bootstrap/confirm.js.coffee.erb +10 -5
- data/app/helpers/effective_bootstrap_helper.rb +30 -15
- data/app/helpers/effective_form_builder_helper.rb +16 -13
- data/app/models/effective/form_builder.rb +5 -1
- data/app/models/effective/form_input.rb +5 -3
- data/app/models/effective/form_inputs/clear.rb +1 -1
- data/app/models/effective/form_inputs/collection_input.rb +1 -1
- data/app/models/effective/form_inputs/date_field.rb +2 -1
- data/app/models/effective/form_inputs/datetime_field.rb +2 -1
- data/app/models/effective/form_inputs/delete.rb +5 -1
- data/app/models/effective/form_inputs/email_cc_field.rb +1 -1
- data/app/models/effective/form_inputs/email_field.rb +1 -1
- data/app/models/effective/form_inputs/error_field.rb +1 -1
- data/app/models/effective/form_inputs/file_field.rb +2 -1
- data/app/models/effective/form_inputs/float_field.rb +6 -1
- data/app/models/effective/form_inputs/hidden_field.rb +11 -0
- data/app/models/effective/form_inputs/integer_field.rb +1 -1
- data/app/models/effective/form_inputs/number_text_field.rb +1 -1
- data/app/models/effective/form_inputs/password_field.rb +1 -1
- data/app/models/effective/form_inputs/percent_field.rb +1 -1
- data/app/models/effective/form_inputs/phone_field.rb +1 -1
- data/app/models/effective/form_inputs/price_field.rb +1 -1
- data/app/models/effective/form_inputs/select.rb +3 -3
- data/app/models/effective/form_inputs/static_field.rb +1 -1
- data/app/models/effective/form_inputs/text_area.rb +1 -1
- data/app/models/effective/form_inputs/time_field.rb +2 -1
- data/app/models/effective/form_inputs/url_field.rb +1 -1
- data/lib/effective_bootstrap/version.rb +1 -1
- metadata +22 -2
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-x-octagon"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
|
@@ -1,15 +1 @@
|
|
1
|
-
<svg
|
2
|
-
xmlns="http://www.w3.org/2000/svg"
|
3
|
-
width="24"
|
4
|
-
height="24"
|
5
|
-
viewBox="0 0 24 24"
|
6
|
-
fill="none"
|
7
|
-
stroke="currentColor"
|
8
|
-
stroke-width="2"
|
9
|
-
stroke-linecap="round"
|
10
|
-
stroke-linejoin="round"
|
11
|
-
>
|
12
|
-
<rect x="3" y="3" width="18" height="18" rx="2" ry="2" />
|
13
|
-
<line x1="9" y1="9" x2="15" y2="15" />
|
14
|
-
<line x1="15" y1="9" x2="9" y2="15" />
|
15
|
-
</svg>
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-x-square"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="9" y1="9" x2="15" y2="15"></line><line x1="15" y1="9" x2="9" y2="15"></line></svg>
|
@@ -1,14 +1 @@
|
|
1
|
-
<svg
|
2
|
-
xmlns="http://www.w3.org/2000/svg"
|
3
|
-
width="24"
|
4
|
-
height="24"
|
5
|
-
viewBox="0 0 24 24"
|
6
|
-
fill="none"
|
7
|
-
stroke="currentColor"
|
8
|
-
stroke-width="2"
|
9
|
-
stroke-linecap="round"
|
10
|
-
stroke-linejoin="round"
|
11
|
-
>
|
12
|
-
<line x1="18" y1="6" x2="6" y2="18" />
|
13
|
-
<line x1="6" y1="6" x2="18" y2="18" />
|
14
|
-
</svg>
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-x"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-youtube"><path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z"></path><polygon points="9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02"></polygon></svg>
|
@@ -1,16 +1 @@
|
|
1
|
-
<svg
|
2
|
-
xmlns="http://www.w3.org/2000/svg"
|
3
|
-
width="24"
|
4
|
-
height="24"
|
5
|
-
viewBox="0 0 24 24"
|
6
|
-
fill="none"
|
7
|
-
stroke="currentColor"
|
8
|
-
stroke-width="2"
|
9
|
-
stroke-linecap="round"
|
10
|
-
stroke-linejoin="round"
|
11
|
-
>
|
12
|
-
<polyline points="12.41 6.75 13 2 10.57 4.92" />
|
13
|
-
<polyline points="18.57 12.91 21 10 15.66 10" />
|
14
|
-
<polyline points="8 8 3 14 12 14 11 22 16 16" />
|
15
|
-
<line x1="1" y1="1" x2="23" y2="23" />
|
16
|
-
</svg>
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-zap-off"><polyline points="12.41 6.75 13 2 10.57 4.92"></polyline><polyline points="18.57 12.91 21 10 15.66 10"></polyline><polyline points="8 8 3 14 12 14 11 22 16 16"></polyline><line x1="1" y1="1" x2="23" y2="23"></line></svg>
|
@@ -1,13 +1 @@
|
|
1
|
-
<svg
|
2
|
-
xmlns="http://www.w3.org/2000/svg"
|
3
|
-
width="24"
|
4
|
-
height="24"
|
5
|
-
viewBox="0 0 24 24"
|
6
|
-
fill="none"
|
7
|
-
stroke="currentColor"
|
8
|
-
stroke-width="2"
|
9
|
-
stroke-linecap="round"
|
10
|
-
stroke-linejoin="round"
|
11
|
-
>
|
12
|
-
<polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2" />
|
13
|
-
</svg>
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-zap"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
|
@@ -1,16 +1 @@
|
|
1
|
-
<svg
|
2
|
-
xmlns="http://www.w3.org/2000/svg"
|
3
|
-
width="24"
|
4
|
-
height="24"
|
5
|
-
viewBox="0 0 24 24"
|
6
|
-
fill="none"
|
7
|
-
stroke="currentColor"
|
8
|
-
stroke-width="2"
|
9
|
-
stroke-linecap="round"
|
10
|
-
stroke-linejoin="round"
|
11
|
-
>
|
12
|
-
<circle cx="11" cy="11" r="8" />
|
13
|
-
<line x1="21" y1="21" x2="16.65" y2="16.65" />
|
14
|
-
<line x1="11" y1="8" x2="11" y2="14" />
|
15
|
-
<line x1="8" y1="11" x2="14" y2="11" />
|
16
|
-
</svg>
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-zoom-in"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
|
@@ -1,15 +1 @@
|
|
1
|
-
<svg
|
2
|
-
xmlns="http://www.w3.org/2000/svg"
|
3
|
-
width="24"
|
4
|
-
height="24"
|
5
|
-
viewBox="0 0 24 24"
|
6
|
-
fill="none"
|
7
|
-
stroke="currentColor"
|
8
|
-
stroke-width="2"
|
9
|
-
stroke-linecap="round"
|
10
|
-
stroke-linejoin="round"
|
11
|
-
>
|
12
|
-
<circle cx="11" cy="11" r="8" />
|
13
|
-
<line x1="21" y1="21" x2="16.65" y2="16.65" />
|
14
|
-
<line x1="8" y1="11" x2="14" y2="11" />
|
15
|
-
</svg>
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-zoom-out"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
|
@@ -1,6 +1,6 @@
|
|
1
|
-
# These next three methods hijack jquery_ujs data-confirm and do it our own way with a double click confirm
|
1
|
+
# These next three methods hijack rails/ujs and jquery_ujs data-confirm and do it our own way with a double click confirm
|
2
2
|
|
3
|
-
if <%= !!EffectiveBootstrap.use_custom_data_confirm %> && $.rails
|
3
|
+
if <%= !!EffectiveBootstrap.use_custom_data_confirm %> && (window.Rails || $.rails)
|
4
4
|
$(document).on 'confirm', (event) ->
|
5
5
|
$obj = $(event.target)
|
6
6
|
|
@@ -18,6 +18,11 @@ if <%= !!EffectiveBootstrap.use_custom_data_confirm %> && $.rails
|
|
18
18
|
, 4000)
|
19
19
|
false # don't show the confirmation dialog
|
20
20
|
|
21
|
-
$.rails.confirm = (message) -> true
|
22
|
-
$.rails.effective_bootstrap_custom_data_confirm = true
|
23
|
-
|
21
|
+
(window.Rails || $.rails).confirm = (message) -> true
|
22
|
+
(window.Rails || $.rails).effective_bootstrap_custom_data_confirm = true
|
23
|
+
|
24
|
+
$(document).on 'confirm:complete', (event) -> $(event.target).data('confirmed')
|
25
|
+
|
26
|
+
$(document).on 'click', 'a.dropdown-item[data-confirm]', (event) ->
|
27
|
+
event.preventDefault()
|
28
|
+
false
|
@@ -72,29 +72,42 @@ module EffectiveBootstrapHelper
|
|
72
72
|
# variations can be :dropup, :dropleft, :dropright
|
73
73
|
# split can be true, false
|
74
74
|
# right is to right align things
|
75
|
-
def dropdown(variation: nil, split: true, btn_class: nil, right: false, &block)
|
75
|
+
def dropdown(variation: nil, split: true, btn_class: nil, btn_content: nil, right: false, &block)
|
76
76
|
raise 'expected a block' unless block_given?
|
77
77
|
|
78
78
|
btn_class = btn_class.presence || 'btn-outline-primary'
|
79
79
|
|
80
|
-
@_dropdown_link_tos = []
|
80
|
+
@_dropdown_link_tos = []
|
81
|
+
@_dropdown_split = split
|
82
|
+
|
83
|
+
# process dropdown_link_tos
|
84
|
+
yield
|
81
85
|
|
82
86
|
return @_dropdown_link_tos.first if @_dropdown_link_tos.length <= 1
|
83
87
|
|
84
|
-
|
85
|
-
|
86
|
-
menu = content_tag(:div, @_dropdown_link_tos[1..-1].join.html_safe, class: ['dropdown-menu', ('dropdown-menu-right' if right)].compact.join(' '))
|
87
|
-
split = content_tag(:button, class: "btn #{btn_class} dropdown-toggle dropdown-toggle-split", type: 'button', 'data-toggle': 'dropdown', 'aria-haspopup': true, 'aria-expanded': false) do
|
88
|
-
content_tag(:span, 'Toggle Dropdown', class: 'sr-only')
|
89
|
-
end
|
88
|
+
# Build tags
|
89
|
+
first = @_dropdown_link_tos.first
|
90
90
|
|
91
|
+
button = content_tag(:button, class: "btn #{btn_class} dropdown-toggle" + (split ? " dropdown-toggle-split" : ''), type: 'button', 'data-toggle': 'dropdown', 'aria-haspopup': true, 'aria-expanded': false) do
|
92
|
+
btn_content || content_tag(:span, 'Toggle Dropdown', class: 'sr-only')
|
93
|
+
end
|
94
|
+
|
95
|
+
menu = if split
|
96
|
+
content_tag(:div, @_dropdown_link_tos[1..-1].join.html_safe, class: ['dropdown-menu', ('dropdown-menu-right' if right)].compact.join(' '))
|
97
|
+
else
|
98
|
+
content_tag(:div, @_dropdown_link_tos.join.html_safe, class: ['dropdown-menu', ('dropdown-menu-right' if right)].compact.join(' '))
|
99
|
+
end
|
100
|
+
|
101
|
+
retval = if split
|
91
102
|
content_tag(:div, class: 'btn-group') do
|
92
103
|
content_tag(:div, class: ['btn-group', variation.to_s.presence].compact.join(' '), role: 'group') do
|
93
|
-
[:dropleft].include?(variation) ? (
|
104
|
+
[:dropleft].include?(variation) ? (button + menu) : (first + button + menu)
|
94
105
|
end + ([:dropleft].include?(variation) ? first : '').html_safe
|
95
106
|
end
|
96
107
|
else
|
97
|
-
|
108
|
+
content_tag(:div, class: 'dropdown') do
|
109
|
+
button + menu
|
110
|
+
end
|
98
111
|
end
|
99
112
|
|
100
113
|
@_dropdown_link_tos = nil
|
@@ -108,7 +121,7 @@ module EffectiveBootstrapHelper
|
|
108
121
|
def dots(options = nil, &block)
|
109
122
|
(options ||= {})[:class] = "dropdown dropdown-dots #{options.delete(:class)}".strip
|
110
123
|
|
111
|
-
content_tag(:
|
124
|
+
content_tag(:div, options) do
|
112
125
|
content_tag(:button, class: "btn btn-dots dropdown-toggle #{options.delete(:button_class)}", 'aria-expanded': true, 'aria-haspopup': true, 'data-toggle': 'dropdown', type: 'button') do
|
113
126
|
end + content_tag(:div, capture(&block), class: 'dropdown-menu')
|
114
127
|
end
|
@@ -129,7 +142,7 @@ module EffectiveBootstrapHelper
|
|
129
142
|
return link_to(label, path, options)
|
130
143
|
end
|
131
144
|
|
132
|
-
if @_dropdown_link_tos.length == 0
|
145
|
+
if @_dropdown_link_tos.length == 0 && @_dropdown_split
|
133
146
|
options[:class] = [options[:class], 'btn', btn_class].compact.join(' ')
|
134
147
|
else
|
135
148
|
options[:class] = [options[:class], 'dropdown-item'].compact.join(' ')
|
@@ -141,11 +154,13 @@ module EffectiveBootstrapHelper
|
|
141
154
|
end
|
142
155
|
|
143
156
|
# Works with dots ao and dropdown do
|
144
|
-
def dropdown_divider
|
157
|
+
def dropdown_divider(options = {})
|
158
|
+
options[:class] = [options[:class], 'dropdown-divider'].compact.join(' ')
|
159
|
+
|
145
160
|
unless @_dropdown_link_tos
|
146
|
-
content_tag(:div, '',
|
161
|
+
content_tag(:div, '', options)
|
147
162
|
else
|
148
|
-
@_dropdown_link_tos << content_tag(:div, '',
|
163
|
+
@_dropdown_link_tos << content_tag(:div, '', options)
|
149
164
|
nil
|
150
165
|
end
|
151
166
|
end
|
@@ -1,9 +1,9 @@
|
|
1
1
|
module EffectiveFormBuilderHelper
|
2
2
|
def effective_form_with(**options, &block)
|
3
|
-
|
4
3
|
# Compute the default ID
|
5
4
|
subject = Array(options[:scope] || options[:model]).last
|
6
5
|
class_name = subject.class.name.underscore
|
6
|
+
unique_id = options.except(:model).hash.abs
|
7
7
|
|
8
8
|
html_id = if subject.kind_of?(Symbol)
|
9
9
|
subject.to_s
|
@@ -14,9 +14,6 @@ module EffectiveFormBuilderHelper
|
|
14
14
|
end
|
15
15
|
|
16
16
|
options[:html] = (options[:html] || {}).merge(novalidate: true, onsubmit: 'return EffectiveForm.validate(this)')
|
17
|
-
|
18
|
-
remote_index = options.except(:model).hash.abs
|
19
|
-
|
20
17
|
options[:local] = true unless options.key?(:local)
|
21
18
|
|
22
19
|
if respond_to?(:inline_datatable?) && inline_datatable?
|
@@ -33,21 +30,27 @@ module EffectiveFormBuilderHelper
|
|
33
30
|
('hide-flash-danger' if options[:remote] && options.key?(:flash_error) && !options[:flash_error])
|
34
31
|
].compact.join(' ')
|
35
32
|
|
36
|
-
if options
|
37
|
-
@
|
38
|
-
|
33
|
+
if options[:remote] || options[:unique_ids]
|
34
|
+
@_effective_unique_id ||= {}
|
35
|
+
|
36
|
+
if @_effective_unique_id.key?(unique_id)
|
37
|
+
unique_id = unique_id + @_effective_unique_id.length
|
38
|
+
end
|
39
39
|
|
40
|
+
options[:unique_id] = unique_id
|
41
|
+
html_id = "#{html_id}_#{unique_id}"
|
42
|
+
|
43
|
+
@_effective_unique_id[unique_id] = true
|
44
|
+
end
|
45
|
+
|
46
|
+
if options.delete(:remote) == true
|
40
47
|
if options[:html][:data].kind_of?(Hash)
|
41
48
|
options[:html][:data][:remote] = true
|
42
|
-
options[:html][:data]['data-remote-index'] =
|
49
|
+
options[:html][:data]['data-remote-index'] = unique_id
|
43
50
|
else
|
44
51
|
options[:html]['data-remote'] = true
|
45
|
-
options[:html]['data-remote-index'] =
|
52
|
+
options[:html]['data-remote-index'] = unique_id
|
46
53
|
end
|
47
|
-
|
48
|
-
html_id = "#{html_id}_#{remote_index}"
|
49
|
-
|
50
|
-
@_effective_remote_index[remote_index] = true
|
51
54
|
end
|
52
55
|
|
53
56
|
# Assign default ID
|
@@ -20,6 +20,7 @@ module Effective
|
|
20
20
|
alias_method :super_number_field, :number_field
|
21
21
|
alias_method :super_text_field, :text_field
|
22
22
|
alias_method :super_text_area, :text_area
|
23
|
+
alias_method :super_hidden_field, :hidden_field
|
23
24
|
|
24
25
|
def clear(name = 'Clear', options = {})
|
25
26
|
(options = name; name = 'Clear') if name.kind_of?(Hash)
|
@@ -85,6 +86,10 @@ module Effective
|
|
85
86
|
Effective::FormInputs::FormGroup.new(name, options, builder: self).to_html(&block)
|
86
87
|
end
|
87
88
|
|
89
|
+
def hidden_field(name = nil, options = {})
|
90
|
+
Effective::FormInputs::HiddenField.new(name, options, builder: self).to_html
|
91
|
+
end
|
92
|
+
|
88
93
|
def integer_field(name, options = {})
|
89
94
|
Effective::FormInputs::IntegerField.new(name, options, builder: self).to_html
|
90
95
|
end
|
@@ -196,4 +201,3 @@ module Effective
|
|
196
201
|
|
197
202
|
end
|
198
203
|
end
|
199
|
-
|
@@ -7,7 +7,7 @@ module Effective
|
|
7
7
|
EXCLUSIVE_CLASS_SUFFIXES = ['-primary', '-secondary', '-success', '-danger', '-warning', '-info', '-light', '-dark']
|
8
8
|
|
9
9
|
delegate :object, to: :@builder
|
10
|
-
delegate :capture, :content_tag, :link_to, :icon, :asset_path, to: :@template
|
10
|
+
delegate :capture, :content_tag, :image_tag, :link_to, :icon, :asset_path, to: :@template
|
11
11
|
|
12
12
|
# So this takes in the options for an entire form group.
|
13
13
|
def initialize(name, options, builder:, html_options: nil)
|
@@ -24,7 +24,7 @@ module Effective
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def input_html_options
|
27
|
-
{ class: 'form-control' }
|
27
|
+
{ class: 'form-control', id: tag_id }
|
28
28
|
end
|
29
29
|
|
30
30
|
def input_js_options
|
@@ -408,7 +408,7 @@ module Effective
|
|
408
408
|
|
409
409
|
# https://github.com/rails/rails/blob/master/actionview/lib/action_view/helpers/tags/base.rb#L120
|
410
410
|
def tag_id(index = nil)
|
411
|
-
case
|
411
|
+
id = case
|
412
412
|
when @builder.object_name.empty?
|
413
413
|
sanitized_method_name.dup
|
414
414
|
when index
|
@@ -416,6 +416,8 @@ module Effective
|
|
416
416
|
else
|
417
417
|
"#{sanitized_object_name}_#{sanitized_method_name}"
|
418
418
|
end.downcase.parameterize
|
419
|
+
|
420
|
+
@builder.options[:unique_ids] ? "#{id}_#{@builder.options[:unique_id]}" : id
|
419
421
|
end
|
420
422
|
|
421
423
|
def sanitized_object_name
|
@@ -36,7 +36,7 @@ module Effective
|
|
36
36
|
|
37
37
|
@collection_options = {
|
38
38
|
checked: [checked, selected, polymorphic_value, value].find { |value| value != nil },
|
39
|
-
selected: [selected, checked, polymorphic_value, value].find { |value| value != nil },
|
39
|
+
selected: ([selected, checked, polymorphic_value, value].find { |value| value != nil } unless kind_of?(Effective::FormInputs::Radios)),
|
40
40
|
include_blank: include_blank
|
41
41
|
}.compact
|
42
42
|
end
|
@@ -14,7 +14,11 @@ module Effective
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def input_html_options
|
17
|
-
{
|
17
|
+
{
|
18
|
+
class: 'btn btn-warning',
|
19
|
+
id: tag_id,
|
20
|
+
data: { method: :delete, remote: true, confirm: "Really delete<br>#{object}?".html_safe }
|
21
|
+
}
|
18
22
|
end
|
19
23
|
|
20
24
|
def border?
|
@@ -15,6 +15,7 @@ module Effective
|
|
15
15
|
|
16
16
|
def input_html_options
|
17
17
|
{
|
18
|
+
id: tag_id,
|
18
19
|
class: 'form-control form-control-file btn-outline-secondary',
|
19
20
|
multiple: multiple?,
|
20
21
|
direct_upload: true,
|
@@ -93,7 +94,7 @@ module Effective
|
|
93
94
|
content_tag(:div, class: 'card mb-3') do
|
94
95
|
if attachment.image?
|
95
96
|
content_tag(:div, class: 'card-body') do
|
96
|
-
|
97
|
+
image_tag(url, alt: attachment.filename.to_s, class: 'img-fluid') +
|
97
98
|
link_to(attachment.filename, url, class: 'card-link')
|
98
99
|
end
|
99
100
|
else
|
@@ -7,7 +7,12 @@ module Effective
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def input_html_options
|
10
|
-
{
|
10
|
+
{
|
11
|
+
class: 'form-control effective_float',
|
12
|
+
autocomplete: 'off',
|
13
|
+
step: '0.01',
|
14
|
+
id: tag_id
|
15
|
+
}
|
11
16
|
end
|
12
17
|
|
13
18
|
# This has gotta be a valid pattern
|