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

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>
<div style="position: absolute; width: 100%; bottom: 0;"> <div style="position: absolute; width: 100%; bottom: 0;">
<div class="modal-footer"> <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>
</div> </div>

View File

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