mirror of
https://github.com/discourse/discourse.git
synced 2025-06-18 07:33:48 +08:00
basic lightbox support
This commit is contained in:
BIN
app/assets/images/border1.png
Normal file
BIN
app/assets/images/border1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
BIN
app/assets/images/border2.png
Normal file
BIN
app/assets/images/border2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 170 B |
BIN
app/assets/images/loading.gif
Normal file
BIN
app/assets/images/loading.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.2 KiB |
@ -134,6 +134,7 @@ window.Discourse = Ember.Application.createWithMixins
|
||||
return if href is '#'
|
||||
return if $currentTarget.attr('target')
|
||||
return if $currentTarget.data('auto-route')
|
||||
return if $currentTarget.hasClass('lightbox')
|
||||
return if href.indexOf("mailto:") is 0
|
||||
|
||||
if href.match(/^http[s]?:\/\//i) && !href.match new RegExp("^http:\\/\\/" + window.location.hostname,"i")
|
||||
|
@ -6,6 +6,8 @@ window.Discourse.ClickTrack =
|
||||
|
||||
$a = $(e.currentTarget)
|
||||
|
||||
return if $a.hasClass('lightbox')
|
||||
|
||||
e.preventDefault()
|
||||
|
||||
# We don't track clicks on quote back buttons
|
||||
|
@ -0,0 +1,8 @@
|
||||
# Helper object for light boxes. Uses highlight.js which is loaded
|
||||
# on demand.
|
||||
window.Discourse.Lightbox =
|
||||
|
||||
apply: ($elem) ->
|
||||
$('a.lightbox', $elem).each (i, e) =>
|
||||
$LAB.script("/javascripts/jquery.colorbox-min.js").wait ->
|
||||
$(e).colorbox()
|
@ -212,6 +212,7 @@ window.Discourse.PostView = Ember.View.extend
|
||||
|
||||
# Add syntax highlighting
|
||||
Discourse.SyntaxHighlighting.apply($post)
|
||||
Discourse.Lightbox.apply($post)
|
||||
|
||||
# If we're scrolling upwards, adjust the scroll position accordingly
|
||||
if scrollTo = @get('post.scrollTo')
|
||||
|
50
app/assets/stylesheets/application/lightbox.scss
Normal file
50
app/assets/stylesheets/application/lightbox.scss
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
ColorBox Core Style:
|
||||
The following CSS is consistent between example themes and should not be altered.
|
||||
*/
|
||||
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
|
||||
#cboxOverlay{position:fixed; width:100%; height:100%;}
|
||||
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
|
||||
#cboxContent{position:relative;}
|
||||
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
|
||||
#cboxTitle{margin:0;}
|
||||
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
|
||||
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
|
||||
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
|
||||
.cboxIframe{width:100%; height:100%; display:block; border:0;}
|
||||
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
|
||||
|
||||
/*
|
||||
User Style:
|
||||
Change the following styles to modify the appearance of ColorBox. They are
|
||||
ordered & tabbed in a way that represents the nesting of the generated HTML.
|
||||
*/
|
||||
#cboxOverlay{background:#fff;}
|
||||
#colorbox{outline:0;}
|
||||
#cboxTopLeft{width:25px; height:25px; background:image-url("images/border1.png") no-repeat 0 0;}
|
||||
#cboxTopCenter{height:25px; background:image-url("images/border1.png") repeat-x 0 -50px;}
|
||||
#cboxTopRight{width:25px; height:25px; background:image-url("images/border1.png") no-repeat -25px 0;}
|
||||
#cboxBottomLeft{width:25px; height:25px; background:image-url("images/border1.png") no-repeat 0 -25px;}
|
||||
#cboxBottomCenter{height:25px; background:image-url("images/border1.png") repeat-x 0 -75px;}
|
||||
#cboxBottomRight{width:25px; height:25px; background:image-url("images/border1.png") no-repeat -25px -25px;}
|
||||
#cboxMiddleLeft{width:25px; background:image-url("images/border2.png") repeat-y 0 0;}
|
||||
#cboxMiddleRight{width:25px; background:image-url("images/border2.png") repeat-y -25px 0;}
|
||||
#cboxContent{background:#fff; overflow:hidden;}
|
||||
.cboxIframe{background:#fff;}
|
||||
#cboxError{padding:50px; border:1px solid #ccc;}
|
||||
#cboxLoadedContent{margin-bottom:20px;}
|
||||
#cboxTitle{position:absolute; bottom:0px; left:0; text-align:center; width:100%; color:#999;}
|
||||
#cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999;}
|
||||
#cboxLoadingOverlay{background:#fff image-url("images/loading.gif") no-repeat 5px 5px;}
|
||||
|
||||
/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
|
||||
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
|
||||
|
||||
/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
|
||||
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
|
||||
|
||||
#cboxSlideshow{position:absolute; bottom:0px; right:42px; color:#444;}
|
||||
#cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;}
|
||||
#cboxNext{position:absolute; bottom:0px; left:63px; color:#444;}
|
||||
#cboxClose{position:absolute; bottom:0; right:0; display:block; color:#444;}
|
||||
|
@ -14,12 +14,10 @@ class Post < ActiveRecord::Base
|
||||
FLAG_THRESHOLD_REACHED_AGAIN = 2
|
||||
end
|
||||
|
||||
|
||||
versioned
|
||||
|
||||
rate_limit
|
||||
|
||||
acts_as_paranoid
|
||||
|
||||
after_recover :update_flagged_posts_count
|
||||
after_destroy :update_flagged_posts_count
|
||||
|
||||
|
@ -107,7 +107,7 @@ footer:after{ content: '#{error}' }"
|
||||
|
||||
@lock.synchronize do
|
||||
style = self.where(key: key).first
|
||||
style.ensure_stylesheet_on_disk!
|
||||
style.ensure_stylesheet_on_disk! if style
|
||||
@cache[key] = style
|
||||
end
|
||||
end
|
||||
|
@ -81,7 +81,7 @@ class SiteSetting < ActiveRecord::Base
|
||||
setting(:max_flags_per_day, 20)
|
||||
setting(:max_edits_per_day, 30)
|
||||
setting(:max_favorites_per_day, 20)
|
||||
|
||||
setting(:auto_link_images_wider_than, 50)
|
||||
|
||||
setting(:email_time_window_mins, 5)
|
||||
|
||||
|
Reference in New Issue
Block a user