From 254f926093bf91fc2347548c3b5c552986f6025a Mon Sep 17 00:00:00 2001 From: Spen Date: Thu, 24 Oct 2013 14:46:53 +0800 Subject: [PATCH] fix new ui announcement preview --- app/assets/javascripts/lib/modal-preview.js | 81 ++++++++------ app/controllers/default_widget_controller.rb | 6 +- .../shared/preview/_modal_preview.html.erb | 33 +++--- app/views/shared/preview/preview.html.erb | 7 +- .../front_end/bulletins_controller.rb | 30 ++++-- .../approvals/_modal_approve.html.erb | 101 +++++++++++------- .../back_end/approvals/_modal_list.html.erb | 2 +- .../approvals/preview_and_approve.js.erb | 3 - .../_modal_list.html.erb | 2 +- .../bulletins/_modal_preview.html.erb | 2 +- 10 files changed, 156 insertions(+), 111 deletions(-) diff --git a/app/assets/javascripts/lib/modal-preview.js b/app/assets/javascripts/lib/modal-preview.js index 475e5639..df59cd87 100644 --- a/app/assets/javascripts/lib/modal-preview.js +++ b/app/assets/javascripts/lib/modal-preview.js @@ -2,7 +2,7 @@ //Ex preview trigger: // <%= link_to "NewPreview", realtime_preview_admin_ad_banner_path(ad_banner_tab) , :class=>'preview_trigger'%> -$(document).ready(function() { +$(function() { // $(".post_preview").click(function(e){ // $("#main-wrap").after(""); // e.preventDefault(); @@ -25,21 +25,57 @@ $(document).ready(function() { // form.submit(); // //return false; // }); - $("button.post_preview").click(function(){ - var btn = document.getElementById("button_for_preview"); - var attrs = btn.attributes; - var url = attrs['url']; - // url = url.replace("url=",""); - $("form.previewable").ajaxSubmit({ - beforeSubmit: function(a,f,o){ - $("#main-wrap").after(""); - o.dataType = 'script'; - o.url = url.nodeValue; - o.type = 'post'; - },success: function(msg) { } +// /panel/announcement/back_end/bulletins/preview + $('#main-wrap').on(clickEvent, '.post_preview, .preview_trigger', function(e) { + $("#main-wrap").after(""); + if($(this).hasClass('post_preview')) { + var attrs = e.target.attributes; + var url = attrs['url']; + $("form.previewable").ajaxSubmit({ + beforeSubmit: function(a,f,o){ + o.dataType = 'script'; + o.url = url.nodeValue; + o.type = 'post'; + },success: function(msg) { + $('#show_preview .modal').modal() + $('#show_preview .modal').height(function() { + return $(window).height() * 0.7; + }); + } - }); - }) + }); + } else if($(this).hasClass('preview_trigger')) { + $.ajax({ + type: 'PUT', + url: $(this).attr("href"), + data: $(this).parents("form").serialize(), + success: function (msg) { + $('#show_preview .modal').modal(); + $('#show_preview .modal').height(function() { + return $(window).height() * 0.7; + }); + }, + error: function(){ + alert("ERROR"); + } + }); + return false; + } + }); + // $("a.preview_trigger").on('click',function(){ + // $("#main-wrap").after(""); + // $.ajax({ + // type: 'PUT', + // url:$(this).attr("href"), + // data:$(this).parents("form").serialize(), + // success: function (msg) { + // $("#"+start_modal_with_id).modal('show'); }, + // error: function(){ + // alert("ERROR"); + // } + // }); + // return false; + // }); // $("form.nccu_ajax_form").ajaxForm({ // beforeSubmit: function(a,f,o) { // // if(clicked_what.hasClass("post_preview")){ @@ -54,19 +90,4 @@ $(document).ready(function() { // // } // } // }) - - $("a.preview_trigger").on('click',function(){ - $("#main-wrap").after(""); - $.ajax({ - type: 'PUT', - url:$(this).attr("href"), - data:$(this).parents("form").serialize(), - success: function (msg) { - $("#"+start_modal_with_id).modal('show'); }, - error: function(){ - alert("ERROR"); - } - }); - return false; - }); }); \ No newline at end of file diff --git a/app/controllers/default_widget_controller.rb b/app/controllers/default_widget_controller.rb index ef3d77bf..63314529 100644 --- a/app/controllers/default_widget_controller.rb +++ b/app/controllers/default_widget_controller.rb @@ -40,9 +40,13 @@ class DefaultWidgetController< OrbitWidgetController def default_widget @search = params["search_query"].blank? ? false : true - if !params[:id].blank? + if !params[:id].blank? and !params["clicked_field_name"].blank? clicked_field_name = params["clicked_field_name"].to_sym redirect_to eval("#{@page_part.module_app.widget_fields_link_method[clicked_field_name][:method]}('#{params[:id]}', {inner: #{params[:inner] || true}})") + elsif !params[:id].blank? and params["preview"] + clicked_field_name = :title + @preview_pages = @page_part.module_app.widget_fields_link_method.find_all{|t| t[1].has_key?(:preview)}.collect{|t| t[0]} + redirect_to eval("#{@page_part.module_app.widget_fields_link_method[clicked_field_name][:method]}('#{params[:id]}', {preview: true,inner: #{params[:inner] || true},clicked_field_name: '#{@preview_pages.first.to_s}'})") else @tag_class = nil @default_widget = @page_part.module_app.get_default_widget diff --git a/app/views/shared/preview/_modal_preview.html.erb b/app/views/shared/preview/_modal_preview.html.erb index 2722d198..98f5f149 100644 --- a/app/views/shared/preview/_modal_preview.html.erb +++ b/app/views/shared/preview/_modal_preview.html.erb @@ -4,37 +4,32 @@

<%= t(:preview) %>

- +
\ No newline at end of file diff --git a/app/views/shared/preview/preview.html.erb b/app/views/shared/preview/preview.html.erb index 935824c8..dd67d2a8 100644 --- a/app/views/shared/preview/preview.html.erb +++ b/app/views/shared/preview/preview.html.erb @@ -2,11 +2,8 @@ <% end %> \ No newline at end of file diff --git a/vendor/built_in_modules/announcement/app/controllers/panel/announcement/front_end/bulletins_controller.rb b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/front_end/bulletins_controller.rb index c4ccb351..07ba9fa2 100644 --- a/vendor/built_in_modules/announcement/app/controllers/panel/announcement/front_end/bulletins_controller.rb +++ b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/front_end/bulletins_controller.rb @@ -56,20 +56,30 @@ class Panel::Announcement::FrontEnd::BulletinsController < OrbitWidgetController delayed_impressionist(@tag) if @tag end - end - + end + def show @item = Page.find(params[:page_id]) rescue nil - @bulletin = Bulletin.all.can_display.where(_id: params[:id]).first - if @bulletin and !@bulletin.disable? and !@bulletin.is_rejected - if @bulletin.enabled_for_lang(I18n.locale.to_s) - impressionist(@bulletin) - else - render :text => "
#{t('sys.can_not_display_due_to_no_context')}
".html_safe - end + if params[:preview] == "true" + preview_content else - render :nothing => true, :status => 403 + @bulletin = Bulletin.all.can_display.where(_id: params[:id]).first + if @bulletin and !@bulletin.disable? and !@bulletin.is_rejected + if @bulletin.enabled_for_lang(I18n.locale.to_s) + delayed_impressionist(@bulletin) + else + render :text => "
#{t('sys.can_not_display_due_to_no_context')}
".html_safe + end + else + render :nothing => true, :status => 403 + end end + + end + + def preview_content + @bulletin = Bulletin.find params[:id] rescue nil + @bulletin = Preview.find(params[:id]).get_virtual_object if @bulletin.nil? end end diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/approvals/_modal_approve.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/approvals/_modal_approve.html.erb index 5f51144d..802156bd 100644 --- a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/approvals/_modal_approve.html.erb +++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/approvals/_modal_approve.html.erb @@ -6,57 +6,78 @@

<%= t(:preview) %>

- + +
- - <% end -%> diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/approvals/_modal_list.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/approvals/_modal_list.html.erb index 100afd05..9daa2287 100644 --- a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/approvals/_modal_list.html.erb +++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/approvals/_modal_list.html.erb @@ -25,7 +25,7 @@ <%= t(:close) %>
- + + +