Now the alert action command fields can have a HTML wysiwyg editor
This commit is contained in:
parent
031cb3a3a0
commit
a3783f70e1
|
@ -65,8 +65,12 @@ if (is_ajax ()) {
|
|||
|
||||
$fields_rows = array();
|
||||
for ($i = 1; $i <= 10; $i++) {
|
||||
if (!empty($fields_descriptions[$i - 1])) {
|
||||
$fdesc = $fields_descriptions[$i - 1] .
|
||||
|
||||
$field_description = $fields_descriptions[$i - 1];
|
||||
$field_value = $fields_values[$i - 1];
|
||||
|
||||
if (!empty($field_description)) {
|
||||
$fdesc = $field_description .
|
||||
' <br><span style="font-size:xx-small; font-weight:normal;">' . sprintf(__('Field %s'), $i) . '</span>';
|
||||
}
|
||||
else {
|
||||
|
@ -79,23 +83,54 @@ if (is_ajax ()) {
|
|||
}
|
||||
}
|
||||
|
||||
if (!empty($fields_values[$i-1])) {
|
||||
$fields_value_select = array();
|
||||
$fv = $fields_values[$i-1];
|
||||
$fv = explode(';', $fv);
|
||||
if (!empty($field_value)) {
|
||||
$field_value = io_safe_output($field_value);
|
||||
// HTML type
|
||||
if (preg_match ("/^_html_editor_$/i", $field_value)) {
|
||||
|
||||
if (empty($fv)) {
|
||||
$fv = array();
|
||||
$editor_type_chkbx = "<div style=\"padding: 4px 0px;\"><b><small>";
|
||||
$editor_type_chkbx .= __('Basic') . " ";
|
||||
$editor_type_chkbx .= html_print_radio_button_extended ('editor_type_value_'.$i, 0, '', false, false, "removeTinyMCE('textarea_field".$i."_value')", '', true);
|
||||
$editor_type_chkbx .= " ";
|
||||
$editor_type_chkbx .= __('Advanced') . " ";
|
||||
$editor_type_chkbx .= html_print_radio_button_extended ('editor_type_value_'.$i, 0, '', true, false, "addTinyMCE('textarea_field".$i."_value')", '', true);
|
||||
$editor_type_chkbx .= "</small></b></div>";
|
||||
$ffield = $editor_type_chkbx;
|
||||
$ffield .= html_print_textarea ('field'.$i.'_value', 1, 1, '', 'class="fields"', true);
|
||||
|
||||
$editor_type_chkbx = "<div style=\"padding: 4px 0px;\"><b><small>";
|
||||
$editor_type_chkbx .= __('Basic') . " ";
|
||||
$editor_type_chkbx .= html_print_radio_button_extended ('editor_type_recovery_value_'.$i, 0, '', false, false, "removeTinyMCE('textarea_field".$i."_recovery_value')", '', true);
|
||||
$editor_type_chkbx .= " ";
|
||||
$editor_type_chkbx .= __('Advanced') . " ";
|
||||
$editor_type_chkbx .= html_print_radio_button_extended ('editor_type_recovery_value_'.$i, 0, '', true, false, "addTinyMCE('textarea_field".$i."_recovery_value')", '', true);
|
||||
$editor_type_chkbx .= "</small></b></div>";
|
||||
$rfield = $editor_type_chkbx;
|
||||
$rfield .= html_print_textarea ('field'.$i.'_recovery_value', 1, 1, '', 'class="fields_recovery"', true);
|
||||
}
|
||||
// Select type
|
||||
else {
|
||||
$fields_value_select = array();
|
||||
$fv = explode(';', $field_value);
|
||||
|
||||
if (!empty($fv)) {
|
||||
foreach ($fv as $fv_option) {
|
||||
$fv_option = explode(',', $fv_option);
|
||||
|
||||
if (empty($fv_option))
|
||||
continue;
|
||||
|
||||
if (!isset($fv_option[1]))
|
||||
$fv_option[1] = $fv_option[0];
|
||||
|
||||
$fields_value_select[$fv_option[0]] = $fv_option[1];
|
||||
}
|
||||
}
|
||||
|
||||
$ffield = html_print_select($fields_value_select, 'field'.$i.'_value', '', '', '', 0, true, false, false);
|
||||
$rfield = html_print_select($fields_value_select, 'field'.$i.'_recovery_value', '', '', '', 0, true, false, false);
|
||||
}
|
||||
}
|
||||
else {
|
||||
$ffield = html_print_textarea ('field'.$i.'_value', 1, 1, '', 'style="min-height:40px" class="fields"', true);
|
||||
$rfield = html_print_textarea ('field'.$i.'_recovery_value', 1, 1, '', 'style="min-height:40px" class="fields_recovery"', true);
|
||||
|
|
|
@ -199,6 +199,7 @@ echo '</form>';
|
|||
enterprise_hook('close_meta_frame');
|
||||
|
||||
ui_require_javascript_file ('pandora_alerts');
|
||||
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
|
||||
?>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
@ -239,11 +240,17 @@ $(document).ready (function () {
|
|||
command_description = js_html_entity_decode (data["description"]);
|
||||
render_command_description(command_description);
|
||||
|
||||
|
||||
for (i = 1; i <= 10; i++) {
|
||||
var old_value = '';
|
||||
var old_recovery_value = '';
|
||||
var field_row = data["fields_rows"][i];
|
||||
var $table_macros_field = $('#table_macros-field' + i);
|
||||
|
||||
// If the row is empty, hide it
|
||||
if (field_row == '') {
|
||||
$table_macros_field.hide();
|
||||
continue;
|
||||
}
|
||||
|
||||
// Only keep the value if is provided from hidden (first time)
|
||||
if (($("[name=field" + i + "_value]").attr('id'))
|
||||
|
@ -256,30 +263,42 @@ $(document).ready (function () {
|
|||
old_recovery_value = $("[name=field" + i + "_recovery_value]").val();
|
||||
}
|
||||
|
||||
// If the row is empty, hide de row
|
||||
if (field_row == '') {
|
||||
$('#table_macros-field' + i).hide();
|
||||
}
|
||||
else {
|
||||
$('#table_macros-field' + i).replaceWith(field_row);
|
||||
// Replace the old column with the new
|
||||
$table_macros_field.replaceWith(field_row);
|
||||
|
||||
$("[name=field" + i + "_value]").val(old_value);
|
||||
$("[name=field" + i + "_recovery_value]").val(old_recovery_value);
|
||||
|
||||
|
||||
// Add help hint only in first field
|
||||
if (i == 1) {
|
||||
var td_content = $('#table_macros-field' + i)
|
||||
.find('td').eq(0);
|
||||
var td_content = $table_macros_field.find('td').eq(0);
|
||||
|
||||
$(td_content)
|
||||
.html(
|
||||
$(td_content).html() + $('#help_alert_macros_hint').html());
|
||||
}
|
||||
|
||||
$('#table_macros-field' + i).show();
|
||||
}
|
||||
$table_macros_field.show();
|
||||
}
|
||||
|
||||
tinyMCE.init({
|
||||
selector: 'textarea.tiny-mce-editor',
|
||||
theme : "advanced",
|
||||
plugins : "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable",
|
||||
theme_advanced_buttons1 : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsize,select",
|
||||
theme_advanced_buttons2 : "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor",
|
||||
theme_advanced_buttons3 : "",
|
||||
theme_advanced_toolbar_location : "top",
|
||||
theme_advanced_toolbar_align : "left",
|
||||
theme_advanced_resizing : true,
|
||||
theme_advanced_statusbar_location : "bottom",
|
||||
force_p_newlines : false,
|
||||
forced_root_block : '',
|
||||
inline_styles : true,
|
||||
valid_children : "+body[style]",
|
||||
element_format : "html"
|
||||
});
|
||||
|
||||
render_command_preview(original_command);
|
||||
render_command_recovery_preview(original_command);
|
||||
|
||||
|
@ -292,10 +311,7 @@ $(document).ready (function () {
|
|||
},
|
||||
"json"
|
||||
);
|
||||
});
|
||||
|
||||
// Charge the fields of the command
|
||||
$("#id_command").trigger('change');
|
||||
}).change();
|
||||
});
|
||||
|
||||
</script>
|
||||
|
|
|
@ -14,3 +14,6 @@ value1,tag1;value2,tag2;value3,tag3
|
|||
Example:
|
||||
<br><br>
|
||||
1,Number one;2,Number two;3,Number three;4,Number four
|
||||
|
||||
<br><br>
|
||||
Also is possible to configure the field as a HTML editor by introducing the value <i>_html_editor_</i>.
|
|
@ -5,12 +5,15 @@
|
|||
?>
|
||||
<h1>Valores de los campos</h1>
|
||||
|
||||
Para limitar los valores posibles de un campo, se puede definir una lista de valor/etiqueta. Si esta lista es definida, el campo sera un combo de seleccion.
|
||||
Para limitar los valores posibles de un campo, se puede definir una lista de valor/etiqueta. Si esta lista es definida, el campo será un combo de selección.
|
||||
<br><br>
|
||||
El formato sera el siguiente:
|
||||
El formato será el siguiente:
|
||||
<br><br>
|
||||
valor1,etiqueta1;valor2,etiqueta2;valor3,etiqueta3
|
||||
<br><br>
|
||||
Ejemplo:
|
||||
<br><br>
|
||||
1,Numero uno;2,Numero dos;3,Numero tres;4,Numero cuatro
|
||||
1,Número uno;2,Número dos;3,Número tres;4,Número cuatro
|
||||
|
||||
<br><br><br>
|
||||
También es posible indicar que el campo debe ser un editor de HTML, para lo cual hay que introducir el valor <i>_html_editor_</i>.
|
Loading…
Reference in New Issue