tiny mce fix

This commit is contained in:
Harry Bomrah 2012-09-19 17:59:17 +08:00
parent a32027b64b
commit b6c06c6d4f
5 changed files with 124 additions and 89 deletions

View File

@ -1,5 +1,5 @@
<%#= encoding: utf-8 %>
$(document).on('click', '#ajax_form_submit', function(){
// $(document).on('click', '#ajax_form_submit', function(){
// $('#ajaxForm').ajaxSubmit({
// beforeSubmit: function(a,f,o) {
// o.dataType = 'script';
@ -20,92 +20,102 @@ $(document).on('click', '#ajax_form_submit', function(){
// });
var o = {
// dataType: 'script',
dataType: 'html',
url:$("#ajaxForm").attr("action"),
beforeSubmit: function(){
var sub = true;
$("span.error").remove();
$("#dyn_error").empty();
$("#ajaxForm input").each(function(){
if($(this).val() == ""){
$("<span class='error'> *</span>").insertAfter($(this));
sub = false;
}
})
if(!sub){
$("#dyn_error").text("Cannot be empty.");
$("#dyn_error").text("<%= I18n.t('cant_empty_star') %>");
return false;
}
},
success: function(response,status,xhr){
if(typeof tinyMCEPopup != "undefined"){
var x = response.split("#");
var returnurl = x[0],
returntitle = x[1],
returndescription = x[2];
var win = tinyMCEPopup.getWindowArg("window");
win.document.getElementById(tinyMCEPopup.getWindowArg("input")).value = returnurl;
win.document.getElementById(tinyMCEPopup.getWindowArg("alt")).value = returndescription;
win.document.getElementById(tinyMCEPopup.getWindowArg("title")).value = returntitle;
if (typeof(win.ImageDialog) != "undefined") {
// we are, so update image dimensions...
if (win.ImageDialog.getImageData)
win.ImageDialog.getImageData();
// ... and preview if necessary
if (win.ImageDialog.showPreviewImage)
win.ImageDialog.showPreviewImage(returnurl);
}
tinyMCEPopup.close();
}else{
//incase if we want to do something for quick edit file upload
// var modalvalues = "";
// var r = "";
// if(rcom.getInternetExplorerVersion() > -1){
// r = "<tr><td>" + response + "</td></tr>";
// r = r.replace("**","</td><td>");
// r = r.replace("**","</td><td>");
// r = $(r);
// modalvalues = r.find("span").attr("data-content").split("#");
// r.attr("id",r.find("span").attr("for"));
// var table=document.getElementById(modalvalues[0]);
// //var tbody = table.getElementsByTagName("tbody");
// var row = table.insertRow(table.rows.length-1);
// var c1 = row.insertCell(0),
// c2 = row.insertCell(1),
// c3 = row.insertCell(2);
// c1.innerHTML = r.find("td").eq(0).html();
// c2.innerHTML = r.find("td").eq(1).html();
// c3.innerHTML = r.find("td").eq(2).html();
// var trow = $("#bulletin_files tfoot").find("tr").eq(0);
// $("#bulletin_files tbody").append(trow);
// }else{
// response = response.replace("**","");
// response = response.replace("**","");
// r = $(response);
// modalvalues = r.find("span").attr("data-content").split("#");
// $('#' + modalvalues[0]+ ' tbody').append(r);
// var o = {
// // dataType: 'script',
// dataType: 'html',
// url:$("#ajaxForm").attr("action"),
// beforeSubmit: function(){
// var sub = true;
// $("span.error").remove();
// $("#dyn_error").empty();
// $("#ajaxForm input").each(function(){
// if($(this).val() == ""){
// $("<span class='error'> *</span>").insertAfter($(this));
// sub = false;
// }
// console.log(modalvalues[1]);
// $("#"+modalvalues[1]).modal('hide');
//$('#bulletin_files tbody').append(r);
//$(response).fadeIn();
}
// })
// if(!sub){
// $("#dyn_error").text("Cannot be empty.");
// $("#dyn_error").text("<%= I18n.t('cant_empty_star') %>");
// return false;
// }
// },
// success: function(response,status,xhr){
// if(typeof tinyMCEPopup != "undefined"){
// var x = response.split("#");
// var returnurl = x[0],
// returntitle = x[1],
// returndescription = x[2];
// var win = tinyMCEPopup.getWindowArg("window");
// win.document.getElementById(tinyMCEPopup.getWindowArg("input")).value = returnurl;
// win.document.getElementById(tinyMCEPopup.getWindowArg("alt")).value = returndescription;
// win.document.getElementById(tinyMCEPopup.getWindowArg("title")).value = returntitle;
// if (typeof(win.ImageDialog) != "undefined") {
// // we are, so update image dimensions...
// if (win.ImageDialog.getImageData)
// win.ImageDialog.getImageData();
// // ... and preview if necessary
// if (win.ImageDialog.showPreviewImage)
// win.ImageDialog.showPreviewImage(returnurl);
// }
// tinyMCEPopup.close();
// }else{
// //incase if we want to do something for quick edit file upload
// // var modalvalues = "";
// // var r = "";
// // if(rcom.getInternetExplorerVersion() > -1){
// // r = "<tr><td>" + response + "</td></tr>";
// // r = r.replace("**","</td><td>");
// // r = r.replace("**","</td><td>");
// // r = $(r);
// // modalvalues = r.find("span").attr("data-content").split("#");
// // r.attr("id",r.find("span").attr("for"));
// // var table=document.getElementById(modalvalues[0]);
// // //var tbody = table.getElementsByTagName("tbody");
// // var row = table.insertRow(table.rows.length-1);
// // var c1 = row.insertCell(0),
// // c2 = row.insertCell(1),
// // c3 = row.insertCell(2);
// // c1.innerHTML = r.find("td").eq(0).html();
// // c2.innerHTML = r.find("td").eq(1).html();
// // c3.innerHTML = r.find("td").eq(2).html();
// // var trow = $("#bulletin_files tfoot").find("tr").eq(0);
// // $("#bulletin_files tbody").append(trow);
// // }else{
// // response = response.replace("**","");
// // response = response.replace("**","");
// // r = $(response);
// // modalvalues = r.find("span").attr("data-content").split("#");
// // $('#' + modalvalues[0]+ ' tbody').append(r);
// // }
// // console.log(modalvalues[1]);
// // $("#"+modalvalues[1]).modal('hide');
// //$('#bulletin_files tbody').append(r);
// //$(response).fadeIn();
// }
// },
// error:function(){
// alert("error");
// }
// }
// if (o.dataType == 'script') {
// o.url = o.url.split('?'); // split on GET params
// if (o.url[0].substr(-3) != '.js') o.url[0] += '.js'; // force rails to respond to respond to the request with :format = js
// o.url = o.url.join('?'); // join on GET params
// }
// $('#ajaxForm').ajaxSubmit(o);
// });
$('#ajaxForm').ajaxForm({
beforeSubmit: function(a,f,o) {
o.dataType = 'script';
},
error:function(){
alert("error");
}
}
success: function(data) {
if (o.dataType == 'script') {
o.url = o.url.split('?'); // split on GET params
if (o.url[0].substr(-3) != '.js') o.url[0] += '.js'; // force rails to respond to respond to the request with :format = js
o.url = o.url.join('?'); // join on GET params
}
$('#ajaxForm').ajaxSubmit(o);
});

View File

@ -1 +1,25 @@
<%= @asset.data.url %>#<%= show_all_fields(@asset, 'title') %>#<%= show_all_fields(@asset, 'description') %>
<% if !request.xhr? %>
<textarea>
<% end %>
var returnurl = "<%= @asset.data.url %>";
var returntitle = "<%= show_all_fields(@asset, 'title') %>";
var returndescription = "<%= show_all_fields(@asset, 'description') %>";
var win = tinyMCEPopup.getWindowArg("window");
win.document.getElementById(tinyMCEPopup.getWindowArg("input")).value = returnurl;
if(win.document.getElementById(tinyMCEPopup.getWindowArg("alt")))
win.document.getElementById(tinyMCEPopup.getWindowArg("alt")).value = returndescription;
win.document.getElementById(tinyMCEPopup.getWindowArg("title")).value = returntitle;
if (typeof(win.ImageDialog) != "undefined") {
// we are, so update image dimensions...
if (win.ImageDialog.getImageData)
win.ImageDialog.getImageData();
// ... and preview if necessary
if (win.ImageDialog.showPreviewImage)
win.ImageDialog.showPreviewImage(returnurl);
}
tinyMCEPopup.close();
<% if !request.xhr? %>
</textarea>
<% end %>

View File

@ -54,7 +54,8 @@
</div>
<div style="position: absolute; width: 100%; bottom: 0;">
<div class="modal-footer">
<a id='ajax_form_submit' class="btn btn-primary"><%= t(:create) %></a>
<!-- <a id='ajax_form_submit' class="btn btn-primary"><#%= t(:create) %></a> -->
<input type="submit" value="<%= t(:create) %>" class="btn btn-primary" />
</div>
</div>

View File

@ -8,7 +8,7 @@ defaults: &defaults
development:
<<: *defaults
database: i18n_var
database: prototype_r4_ldap0229
test:
<<: *defaults