Skip to content

Commit

Permalink
Share refactoring. Share for all kind of resources.
Browse files Browse the repository at this point in the history
  • Loading branch information
agordillo committed Sep 16, 2016
1 parent b087dbb commit c18eca6
Show file tree
Hide file tree
Showing 14 changed files with 163 additions and 204 deletions.
Expand Up @@ -252,8 +252,7 @@ aside.recomended,
width: 100%
height: 100%


.social_toolbar_excursion
.social_toolbar_resource
div.social
display: inline-block
vertical-align: top
Expand All @@ -264,6 +263,9 @@ aside.recomended,
line-height: 0em
text-align: center
margin: 0px 7px 0px 2px
div.social:not(.social_email)
margin-top: 8px
margin-left: 5px
&:first-child
display: inline

Expand Down
196 changes: 122 additions & 74 deletions app/views/common_documents/_document-tool-tab.html.erb
@@ -1,59 +1,83 @@
<% availableModels ||= available_models %>
<%canBeDownloaded = !document.getDownloadUrl(self).nil? %>
<% canBeDownloaded = !document.getDownloadUrl(self).nil? %>
<!-- Only documents with an embed partial can be embeded -->
<%canBeEmbeded = lookup_context.template_exists?("embedcode", document.class.to_s.underscore.pluralize, true) %>
<% if canBeEmbeded %>
<%content_for :javascript do%>
var embedEvents = false;
$('a[data-toggle="tab"]').on('shown.bs.tab', function(e){
if(!embedEvents){
embedEvents = true;
$('button#btn_copy_embed').zclip({
path:'/assets/ZeroClipboard.swf',
copy:function(){
return $('#textarea_for_iframe').val();
},
afterCopy: function(){}
});
$(".shortUrl").mouseup(function(e){
// fixes safari/chrome problem
e.preventDefault();
}).focus(function(e){
mytxt = $(this).text();
$(this).select();
}).click(function(e){
mytxt = $(this).text();
$(this).select();
});
}
});
$('[data-toggle="tooltip"], .with_tooltip').tooltip({ placement: 'bottom'});
<%end%>
<%end%>
<% canBeEmbeded = lookup_context.template_exists?("embedcode", document.class.to_s.underscore.pluralize, true) %>
<% canBeShared = ((document.public_scope?) or (can? :update, document)) %>

<script>

<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function(){
$(".with_tooltip").tooltip({ placement: 'bottom', container:'body'});

var embedEvents = false;
var shareEvents = false;

$('a[data-toggle="tab"]').on('shown.bs.tab', function (e){
// e.target // activated tab
// e.relatedTarget // previous tab
var loadedTab = $(e.target).attr("tabTitle");
switch (loadedTab){
case "embed":
if(!embedEvents){
embedEvents = true;
$('button#btn_copy_embed').zclip({
path:'/assets/ZeroClipboard.swf',
copy:function(){
return $('#textarea_for_iframe').text();
}
});
$("#textarea_for_iframe").mouseup(function(e){
// fixes safari/chrome problem
e.preventDefault();
}).focus(function(e){
mytxt = $(this).text();
$(this).select();
}).click(function(e){
mytxt = $(this).text();
$(this).select();
});
}
break;
case "share":
if(!shareEvents){
shareEvents = true;
$('button#btn_copy_share').zclip({
path:'/assets/ZeroClipboard.swf',
copy:function(){
return $('#input_with_shorturl').val();
},
afterCopy: function(){}
});
$("#input_with_shorturl").mouseup(function(e){
// fixes safari/chrome problem
e.preventDefault();
}).focus(function(e){
mytxt = $(this).text();
$(this).select();
}).click(function(e){
mytxt = $(this).text();
$(this).select();
});
}
break;
default:
break;
}
});

$('[data-toggle="tooltip"], .with_tooltip').tooltip({ placement: 'bottom',container:'body'});
});
</script>


<div class="btn-group">
<% if can? :destroy, document %>
<%= link_to raw("<i class='fa fa-trash-o'></i> "), document,
confirm: t('confirm_delete', scope: document.class.to_s.underscore),
title: t('document.actions.delete'),
method: :delete,
rel: "tooltip",
class: "btn with_tooltip" %>
confirm: t('confirm_delete', scope: document.class.to_s.underscore),
title: t('document.actions.delete'),
method: :delete,
rel: "tooltip",
class: "btn with_tooltip" %>
<% end %>


<!--Favorite-->
<% unless document.post_activity.nil? %>
<%= link_like(document.post_activity, {:size => :big, :class=>'btn', :title =>t('excursion.actions.favorite')})%>
Expand All @@ -63,43 +87,48 @@
<%= render partial: 'categories/category_modal_viewer', :locals => {:remote=> true, :item => resource} %>
<button id="AddCategory" role="button" class="categorize_select btn with_tooltip" data-toggle="modal" data-target="#categories_viewer_modal" title="<%=t('category.modalLabel')%>" aria-hidden="true" ><i class="fa fa-th-large"></i></button>
<%end%>

</div>

<ul class="nav nav-tabs">
<li class="<%= document_details_tab_class document, :info %>">
<%= link_to (raw("<i class='fa fa-align-left'></i> <span class='hidden-xs'>")) + t('document.details.info') + raw("</span>"), '#document-info', 'data-toggle' => 'tab' %>
<ul class="nav nav-tabs">
<li class="<%= document_details_tab_class document, :info %>">
<%= link_to (raw("<i class='fa fa-align-left'></i> <span class='hidden-xs'>")) + t('document.details.info') + raw("</span>"), '#document-info', 'data-toggle' => 'tab', 'tabTitle' => 'description' %>
</li>

<% if can? :update, document %>
<li class="<%= document_details_tab_class document, :edit %>">
<%= link_to (raw("<i class='fa fa-edit'></i> <span class='hidden-xs'>")) + t('document.actions.edit')+ raw("</span>"), '#document-edit', 'data-toggle' => 'tab', 'tabTitle' => 'edit' %>
</li>
<% end %>
<% if can? :update, document %>
<li class="<%= document_details_tab_class document, :edit %>">
<%= link_to (raw("<i class='fa fa-edit'></i> <span class='hidden-xs'>")) + t('document.actions.edit')+ raw("</span>"), '#document-edit', 'data-toggle' => 'tab' %>
</li>
<% end %>
<% if canBeEmbeded %>
<li class="<%= document_details_tab_class document, :embed %>">
<%= link_to (raw("<i class='fa fa-code'></i> <span class='hidden-xs'>")) + t('excursion.actions.embed')+ raw("</span>"), '#document-embed', 'data-toggle' => 'tab' %>
</li>
<%end%>
<%if canBeDownloaded %>
<li class="<%= document_details_tab_class document, :download %>">
<%= link_to (raw("<i class='fa fa-download'></i> <span class='hidden-xs'>")) + t('document.actions.download')+ raw("</span>"), '#document-download', 'data-toggle' => 'tab' %>
</li>
<% end %>

<li>
<a href="#tab3" data-toggle="tab">
<i class="fa fa-flag"></i>
<span class="hidden-xs">
<%=t('excursion.actions.spam')%>
</span>
</a>
<% if canBeEmbeded %>
<li class="<%= document_details_tab_class document, :embed %>">
<%= link_to (raw("<i class='fa fa-code'></i> <span class='hidden-xs'>")) + t('excursion.actions.embed')+ raw("</span>"), '#document-embed', 'data-toggle' => 'tab', 'tabTitle' => 'embed' %>
</li>
<% end %>
<%= render partial: 'help/help_show_resource' %>
</ul>
<% if canBeShared %>
<li class="<%= document_details_tab_class document, :share %>">
<%= link_to (raw("<i class='fa fa-share'></i> <span class='hidden-xs'>")) + t('excursion.actions.share')+ raw("</span>"), '#document-share', 'data-toggle' => 'tab', 'tabTitle' => 'share' %>
</li>
<% end %>
<% if canBeDownloaded %>
<li class="<%= document_details_tab_class document, :download %>">
<%= link_to (raw("<i class='fa fa-download'></i> <span class='hidden-xs'>")) + t('document.actions.download')+ raw("</span>"), '#document-download', 'data-toggle' => 'tab', 'tabTitle' => 'download' %>
</li>
<% end %>

<li>
<a href="#tab3" tabTitle='flag' data-toggle="tab">
<i class="fa fa-flag"></i>
<span class="hidden-xs">
<%=t('excursion.actions.spam')%>
</span>
</a>
</li>

<%= render partial: 'help/help_show_resource' %>
</ul>


<h1><%= document.title %></h1>
Expand Down Expand Up @@ -138,6 +167,25 @@
</div>
<% end %>
<% if canBeShared %>
<% shortURL = document.getUrl %>
<div class="tab-pane contentShare" id="document-share">
<div class="form-group">
<div class="input-group">
<input class="form-control" readonly="true" id="input_with_shorturl" type="text" value="<%=shortURL%>"/>
<div class="input-group-addon">
<div data-toggle="tooltip" data-placement="right" title="<%=t('copy_to_clip')%>">
<button class="btn" id="btn_copy_share" href="#">
<i class="fa fa-copy "></i>
</button>
</div>
</div>
</div>
</div>
<%= render :partial=>'shareon/share', :locals=>{:url=>shortURL, :title => document.title, :name => (user_signed_in? ? current_subject.name : '')} %>
</div>
<% end %>
<%if canBeDownloaded %>
<div class="tab-pane <%= document_details_tab_class document, :download %>" id="document-download">
<div class="toggler">
Expand Down
41 changes: 3 additions & 38 deletions app/views/events/_event-tool-tab.html.erb
Expand Up @@ -125,24 +125,8 @@
</li>
</ul>
</div>
<!--vistas-->
<!--div class="viewsAndCount">
<%#= render partial: 'objects/counters', locals: { object: @event } %>
<div class="views">
<%= @event.visit_count.to_s %>
<span>
<%#=t('follow.views')%>
</span>
</div>
<div class="like">
<div class="count"><%= @event.post_activity.likes.count.to_s %></div>
<%= link_like(@event.post_activity) %>
</div>
</div-->

<h2>
<%= @event.title %>
</h2>
<h2><%= @event.title %></h2>

<div class="tab-content">
<div class="tab-pane <%= document_details_tab_class document, :info %>" id="document-info">
Expand Down Expand Up @@ -173,30 +157,11 @@

<!-- tab3 / share -->
<div class="tab-pane contentShare" id="tab3">

<div class="form-group">
<% shortURL = short_url (request.env['HTTP_HOST'].sub(/^(m|www)\./, '') + event_path(@event)) %>
<% shortURL = @event.getUrl %>
<input class="form-control" id="input_with_shorturl" type="text" value="<%= shortURL %>"/>
<!-- <div class="input-group-addon">
<button id="btn_copy_share" href="#" data-toggle="tooltip" data-placement="right" title="<%= t('copy_to_clip') %>">
<i class="fa fa-copy"></i>
</button>
</div> -->
</div>
<div class="social_toolbar_excursion">
<div class="social">
<%= render :partial => 'shareon/twitter', :locals => {:url => shortURL, :counturl => (request.protocol + request.env['HTTP_HOST'].sub(/^(m|www)\./, '') + event_path(@event))} %>
</div>
<div class="social">
<%= render :partial => 'shareon/facebook', :locals => {:url => shortURL} %>
</div>
<div class="social">
<%= render :partial => 'shareon/gplus', :locals => {:url => shortURL} %>
</div>
<div class="social">
<%= render :partial => 'shareon/email', :locals => {:url => shortURL, :title => @event.title, :name => (user_signed_in? ? current_subject.name : '')} %>
</div>
</div>
<%= render :partial=>'shareon/share', :locals=>{:url=>shortURL, :title => @event.title, :name => (user_signed_in? ? current_subject.name : '')} %>
</div>


Expand Down
21 changes: 2 additions & 19 deletions app/views/excursions/_excursion-tool-tab.html.erb
Expand Up @@ -8,7 +8,7 @@
var embedEvents = false;
var shareEvents = false;

$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e){
// e.target // activated tab
// e.relatedTarget // previous tab
var loadedTab = $(e.target).attr("tabTitle");
Expand Down Expand Up @@ -238,7 +238,6 @@
<div class="tab-pane contentShare" id="tab3">
<div class="form-group">
<div class="input-group">

<input class="form-control" readonly="true" id="input_with_shorturl" type="text" value="<%=shortURL%>"/>
<div class="input-group-addon">
<div data-toggle="tooltip" data-placement="right" title="<%=t('copy_to_clip')%>">
Expand All @@ -249,23 +248,7 @@
</div>
</div>
</div>
<div class="social_toolbar_excursion">
<div class="social_toolbar_excursion">
<div class="social">
<%= render :partial=>'shareon/email', :locals=>{:url=>shortURL, :title => @excursion.title, :name => (user_signed_in? ? current_subject.name : '')} %>
</div>
<div class="social">
<%= render :partial=>'shareon/twitter', :locals=>{:url=>shortURL, :counturl=>(request.protocol + request.env['HTTP_HOST'].sub(/^(m|www)\./, '') + excursion_path(@excursion) )} %>
</div>
<div class="social">
<%= render :partial=>'shareon/facebook', :locals=>{:url=>shortURL} %>
</div>
<div class="social">
<%= render :partial=>'shareon/gplus', :locals=>{:url=>shortURL} %>
</div>

</div>
</div>
<%= render :partial=>'shareon/share', :locals=>{:url=>shortURL, :title => @excursion.title, :name => (user_signed_in? ? current_subject.name : '')} %>
</div>

<% if can?(:download_source, @excursion) %>
Expand Down
2 changes: 1 addition & 1 deletion app/views/excursions/show.html.erb
@@ -1,7 +1,7 @@
<%content_for :title do %><%= @excursion.title %> - <%= !@excursion.author.nil? ? @excursion.author.name : "" %><% end %>
<%content_for :description do %><%= t("site.meta_desc.excursion")+@excursion.title + ". " + (@excursion.description ? @excursion.description : "") %><% end %>
<%content_for :keywords do %><%= @excursion.tag_list %><% end %>
<% shortURL = request.protocol + request.env['HTTP_HOST'].sub(/^(m|www)\./, '') + excursion_path(@excursion) %>
<% shortURL = @excursion.getUrl %>
<%content_for :og_image do %><%= Embed.checkUrlProtocol(@excursion.thumbnail_url,request.protocol) || request.protocol + request.env['HTTP_HOST'] + "/assets/logos/original/excursion-vish.png" %><% end %>
<%content_for :canonical do%><%=polymorphic_url(@excursion, :locale => params[:locale])%><%end%>
<%content_for :alternate_urls do%><%=raw alternate_urls(polymorphic_url(@excursion), @excursion)%><%end%>
Expand Down
5 changes: 2 additions & 3 deletions app/views/shareon/_email.html.erb
@@ -1,4 +1,3 @@
<a class="btn btn-xs btn-secundary" href="mailto:?subject=<%= t('excursion.invite.email.subject', :url=> Vish::Application.config.APP_CONFIG["domain"], :title => CGI::escape(title || "")) %>&amp;body=<%= t('excursion.invite.email.body', { :url => url, :name => CGI::escape(name) }) %>" title="<%=t('sharing.email')%>">
<i class="fa fa-envelope"></i><%=t('excursion.actions.send_email') %>

<a class="btn btn-xs btn-secundary" href="mailto:?subject=<%= t('sharing.email.subject', :url=> Vish::Application.config.APP_CONFIG["domain"], :title => url_encode(title || "")) %>&amp;body=<%= t('sharing.email.body', { :url => url, :name => url_encode(name) }) %>" title="<%=t('sharing.email.title')%>">
<i class="fa fa-envelope"></i><%=t('sharing.email.action') %>
</a>
16 changes: 16 additions & 0 deletions app/views/shareon/_share.html.erb
@@ -0,0 +1,16 @@
<div class="social_toolbar_resource">
<div class="social_toolbar_resource">
<div class="social social_email">
<%= render :partial=>'shareon/email', :locals=>{:url=>url, :title => title, :name => name} %>
</div>
<div class="social social_twitter">
<%= render :partial=>'shareon/twitter', :locals=>{:url=>url, :counturl=>url} %>
</div>
<div class="social social_facebook">
<%= render :partial=>'shareon/facebook', :locals=>{:url=>url} %>
</div>
<div class="social social_gplus">
<%= render :partial=>'shareon/gplus', :locals=>{:url=>url} %>
</div>
</div>
</div>

0 comments on commit c18eca6

Please sign in to comment.