Another update to the grids wizard feature

This commit is contained in:
Gustavo Cruz
2012-12-05 18:07:10 -04:00
parent b936900f2a
commit d45c6bbd73
8 changed files with 109 additions and 139 deletions

View File

@@ -62,5 +62,6 @@ function closePluginPopup(){
function updateEditorContent(serializedHTML){
tinyMCE.activeEditor.execCommand('mceInsertContent', false, serializedHTML);
closePluginPopup();
}

View File

@@ -19,26 +19,26 @@ and open the template in the editor.
left: 45%;
margin-left: -70px;
}
#container {
.container {
display: table;
}
#row {
.row {
display: table-row;
}
#left, #right, #middle, .gridCell {
.left, .right, .middle, .gridCell {
display: table-cell;
}
</style>
</head>
<body>
<div id="container">
<div id="row">
<div id="left">
<div class="container">
<div class="row">
<div class="left">
Chose a grid
</div>
<div id="middle">
<div class="middle">
<div id="gridDropdown">
<select id="gridList">
@@ -46,11 +46,11 @@ and open the template in the editor.
</div>
</div>
</div>
<div id="row">
<div id="left">
<div class="row">
<div class="left">
Prefix
</div>
<div id="middle">
<div class="middle">
<div id="prefixDropdown">
<select name="prefixList" id="prefixList">
<option value="@#">@#</option>
@@ -59,36 +59,25 @@ and open the template in the editor.
</div>
</div>
</div>
<div id="row">
<div id="left">
</div>
<div id="middle">
<div id="borderCheckBox">
<input type="checkbox"> Border
<div class="row">
<div class="middle">
<input type="checkbox" id="borderCheckbox"> Border
</div>
</div>
</div>
<div id="row">
<div id="left">
</div>
<div id="middle">
<div id="headersCheckBox">
<input type="checkbox"> Headers
</div>
<div class="row">
<div class="middle">
<input type="checkbox" id="headersCheckbox"> Headers
</div>
</div>
</div>
<center>
<table id="listContainer" border="1" cellspacing="0" cellpadding="3">
</table>
<div id="container">
<div id="row">
<div id="left">
<div class="container">
<div class="row">
<div class="left">
</div>
<div id="middle">
<div class="middle">
<button id="addButton" style="width: 100px">
Add
</button>
@@ -96,10 +85,9 @@ and open the template in the editor.
Cancel
</button>
</div>
<div id="right">
<div class="right">
</div>
</div>
</div>
</center>
</body>
</html>

View File

@@ -1,64 +1,40 @@
$(document).ready(function () {
var getGridList = function(){
var responseData
responseData = '[{"id":"grid_01","name":"grid_01"},{"id":"grid_02","name":"grid_02"}]';
/*$.ajax({
url : "/processes/processes_Ajax",
// responseData = '[{"id":"grid_01","name":"grid_01"},{"id":"grid_02","name":"grid_02"}]';
var url = tinyMCE.activeEditor.domainURL+"processes/processes_Ajax";
responseData = $.ajax({
url : url,
type: "POST",
data: {action : 'getDynagridList', PRO_UID: tinyMCE.activeEditor.processID},
dataType: "html",
success: function (data) {
$.each(data, function(index, element) {
$('#listContainer').append($('<div class="gridCell">', {
text: element.name
}));
});
},
failure: function(){
// responseData = '[{"id":"1","name":"grid_01"},{"id":"2","name":"grid_02"}]';
}
});*/
data: {action : 'getGridList', PRO_UID: tinyMCE.activeEditor.processID},
async: false,
dataType: "json"
}).responseText;
responseData = eval("(" +responseData+ ")");
return responseData;
}
var getGridFieldList = function(gridUid){
var responseData
if (gridUid=='1'||gridUid==1){
responseData = eval ('([{"id":"1","name":"field01"},{"id":"2","name":"field02"}])');
} else {
responseData = eval ('([{"id":"3","name":"field03"},{"id":"4","name":"field04"}])');
}
/*$.ajax({
url: "/processes/processes_Ajax",
var responseData = $.ajax({
url : tinyMCE.activeEditor.domainURL+"processes/processes_Ajax",
type: "POST",
data: {action : 'getGridFieldList', PRO_UID: tinyMCE.activeEditor.processID, DYN_UID: gridUid},
data: {action : 'getVariableGrid', PRO_UID: tinyMCE.activeEditor.processID, DYN_UID: gridUid},
dataType: "json",
success: function (data) {
$.each(responseData, function(index, element) {
$('#listContainer').append($('<div class="gridCell">', {
text: element.name
}));
});
}
});*/
async:false
}).responseText;
responseData = eval("("+responseData+")");
$('#listContainer').html('');
var divHeader = '<tr>';
var divCell = '<tr>';
$.each(responseData, function(index, element){
divHeader += "<td><input type='checkbox' class='headerField' name='headerField' value='"+element.name+"'/><input type='text' style='width:100px;' name='dynafield' class='dynaField' value='"+element.name+"' id='"+element.name+"'></td>";
divCell += "<td align='center'><input type='hidden' id='field_"+element.name+"' value='"+element.name+"'>"+element.name+"</td>";
divHeader += "<td><input type='checkbox' class='headerField' name='headerField' value='"+element+"'/><input type='text' style='width:80px;' name='dynafield' class='dynaField' value='"+element+"' id='"+element+"'></td>";
divCell += "<td align='center'><input type='hidden' id='field_"+element+"' value='"+element+"'>"+element+"</td>";
});
divHeader += "</tr>";
divCell += "</tr>";
divHeader += '</tr>';
divCell += '</tr>';
$('#listContainer').append(divHeader+divCell);
}
};
var generateListValues = function(){
var list = getGridList();
@@ -74,8 +50,8 @@
for(i=0; i<list.length; i++)
{
option = document.createElement("OPTION");
option.value = list[i].id;
option.text = list[i].name;
option.value = list[i].sXmlForm;
option.text = list[i].sName;
combo.add(option);
}
} else {
@@ -101,11 +77,12 @@
});
headerCode += "</tr>";
fieldCode += "</tr>";
gridCode += fieldCode+"<!--@<"+gridName+"-->";
if ($("#headersCheckbox").attr("checked")!="checked"){
headerCode = '';
}
gridCode += headerCode+fieldCode+"<!--@<"+gridName+"-->";
tableCode += gridCode+"</table>"
updateEditorContent (tableCode);
closePluginPopup();
}
$('#gridList').change(function(){

View File

@@ -3,6 +3,7 @@
**/
(function(){
tinyMCE.baseURL = "/js/tinymce/jscripts/tiny_mce";
var strPluginURL;
tinymce.create('tinymce.plugins.pmVariablePickerPlugin', {
init: function(ed, url)

View File

@@ -76,8 +76,8 @@ class XmlForm_Field_WYSIWYG_EDITOR extends XmlForm_Field
*/
public function attachEvents ($element)
{
$editorDefinition = 'tinyMCE.baseURL = "/js/tinymce/jscripts/tiny_mce"; ';
$editorDefinition .= 'var domainURL = "/sys'.SYS_SYS.'/'.SYS_LANG.'/'.SYS_SKIN.'/"';
switch ($this->editorType){
case 'EMAIL_TEMPLATE':
@@ -96,6 +96,8 @@ class XmlForm_Field_WYSIWYG_EDITOR extends XmlForm_Field
theme_advanced_buttons2 : "tablecontrols,|,undo,redo,|,link,unlink,image,|,forecolor,backcolor,|,hr,removeformat,visualaid,|,sub,sup,|,ltr,rtl,|,code",
oninit: function (){
tinyMCE.activeEditor.processID = formProcessID;
tinyMCE.activeEditor.domainURL = domainURL;
},
onchange_callback: function(inst) {
if(inst.isDirty()) {
@@ -128,6 +130,7 @@ class XmlForm_Field_WYSIWYG_EDITOR extends XmlForm_Field
theme_advanced_buttons2 : "tablecontrols,|,undo,redo,|,link,unlink,image,|,forecolor,backcolor,|,hr,removeformat,visualaid,|,sub,sup,|,ltr,rtl,|,code",
oninit: function () {
tinyMCE.activeEditor.processID = formProcessID;
tinyMCE.activeEditor.domainURL = domainURL;
},
onchange_callback: function(inst) {
if(inst.isDirty()) {