diff -r 000000000000 -r 40c8f766c9b8 src/cm/media/js/client/f_printDialog.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cm/media/js/client/f_printDialog.js Mon Nov 23 15:14:29 2009 +0100
@@ -0,0 +1,154 @@
+//http://jqueryui.com/demos/dialog/modal-form.html
+
+// TODO ? : get from the server
+// extension : label
+gFormats = [{'actions':['print'], 'extension':'html', 'label': gettext('print from the browser')},
+ {'actions':['export'], 'extension':'html', 'label': gettext('download html file (.html)')},
+ {'actions':['print', 'export'], 'extension':'markdown', 'label': gettext('download markdown file (.mkd)')},
+ {'actions':['print', 'export'], 'extension':'pdf', 'label': gettext('download portable object format file (.pdf)')},
+ {'actions':['print', 'export'], 'extension':'tex', 'label': gettext('download latex file (.tex)')},
+ {'actions':['print', 'export'], 'extension':'odt', 'label': gettext('download open document file (.odt)')}] ;
+
+
+gActions = {'print':{'dialogTitle':gettext('Print text'), 'defaultMethod':'pdf', 'defaultWithColors':"no", 'defaultWhichComments':'all'},
+ 'export':{'dialogTitle':gettext('Export text'), 'defaultMethod':'pdf', 'defaultWithColors':"no", 'defaultWhichComments':'all'}} ;
+gCurrentAction = null ;
+
+_populateMethod = function(withColors) {
+ var val = $("#p_method").val();
+
+ $("#p_method").html("");
+
+ for (var i = 0, ilen = gFormats.length ; i < ilen ; i++) {
+ var actions = gFormats[i]['actions'] ;
+ for (var j = 0, jlen = gFormats.length ; j < jlen ; j++) {
+ if (actions[j] == gCurrentAction)
+ $("").appendTo("#p_method");
+ }
+ }
+ if (val)
+ $("#p_method").val(val);
+ else
+ $("#p_method").val(gActions[gCurrentAction]['defaultMethod']);
+
+} ;
+
+_populateMarkersColorsChoice = function(withColors) {
+ var val = $("#p_color").val();
+
+ $("#p_color").html("");
+
+ $("").appendTo("#p_color");
+ $("").appendTo("#p_color");
+
+ if (val)
+ $("#p_color").val(val);
+ else
+ $("#p_color").val(gActions[gCurrentAction]['defaultWithColors']);
+} ;
+
+_populateWhichComments = function() {
+ var val = $("#p_comments").val();
+
+ $("#p_comments").html("");
+ var all = interpolate(gettext("all (%(nb_comments)s)"), {'nb_comments':frames['text_view_comments'].gDb.getCommentsNb(true)}, true) ;
+ var currents = interpolate(gettext("current filtered ones (%(nb_comments)s)"), {'nb_comments':frames['text_view_comments'].gDb.getCommentsNb(false)}, true) ;
+ $("").appendTo($("#p_comments")) ;
+ $("").appendTo($("#p_comments")) ;
+ $("").appendTo($("#p_comments")) ;
+
+ if (val)
+ $("#p_comments").val(val);
+ else
+ $("#p_comments").val(gActions[gCurrentAction]['defaultWhichComments']);
+} ;
+
+_manageMarkersColorsChoice = function() {
+ var method = $("#p_method").val();
+ var which = $("#p_comments").val();
+
+ var disableMarkersColorsChoice ;
+ if (gCurrentAction == 'print')
+ disableMarkersColorsChoice = ((which == 'none') || (method == 'markdown') || (method == 'html')) ;
+ if (gCurrentAction == 'export')
+ disableMarkersColorsChoice = ((which == 'none') || (method == 'markdown')) ;
+
+ if (disableMarkersColorsChoice)
+ $("#p_color").val('no');
+
+ $("#p_color").attr("disabled", disableMarkersColorsChoice);
+
+} ;
+
+_initPrintDialog = function() {
+ $('#p_comments').add($('#p_method')).change(function() {
+ _manageMarkersColorsChoice() ;
+ _prepareOpenInNewWindow() ;
+ }) ;
+
+ var buttons = {} ;
+ buttons[gettext('Go !')] = function() {
+ var whichComments = $("#p_comments").val() ;
+ var withColor = $("#p_color").val() ;
+ var format = $("#p_method").val() ;
+ var download = (gCurrentAction == "export") ? "1" : (format == "html") ? "0" : "1" ;
+ var targetUrl = $("#print_export_form").attr('target_action').replace(/FoRmAt/,format).replace(/DoWnLoAd/, download).replace(/WhIcHCoMmEnT/, whichComments).replace(/WiThCoLoR/, withColor) ;
+ $("#print_export_form").attr('action', targetUrl) ;
+
+ document['print_export_form'].submit();
+ $(this).dialog('close');
+ } ;
+ buttons[gettext('Cancel')] = function() {
+ $(this).dialog('close');
+ } ;
+
+
+ $("#dialog_print_export").dialog({
+ bgiframe: true,
+ autoOpen: false,
+ width: 450,
+/* height: 300,
+ autoResize: false,*/
+ modal: true,
+ buttons: buttons,
+ close: function() {
+ ; // empty
+ }
+ });
+}
+
+openPrintDialog = function() {
+ _openPrintExportDialog('print') ;
+}
+
+openExportDialog = function() {
+ _openPrintExportDialog('export') ;
+}
+
+_prepareOpenInNewWindow = function() {
+ var method = $("#p_method").val();
+ if ((method == "html") && (gCurrentAction == 'print'))
+ $("#print_export_form").attr("target", "_blank") ;
+ else
+ $("#print_export_form").removeAttr("target") ;
+}
+
+_openPrintExportDialog = function(action) {
+ gCurrentAction = action ;
+ $("#ui-dialog-title-dialog_print_export").html(gActions[gCurrentAction]['dialogTitle']) ;
+ $("#print_export_action").val(action) ; // TODO check this still usefull
+
+
+ _populateWhichComments() ;
+ _populateMarkersColorsChoice() ;
+ _populateMethod() ;
+
+ _manageMarkersColorsChoice() ;
+ _prepareOpenInNewWindow() ;
+
+ $('#dialog_print_export').dialog('open');
+}
+
+/*
+ tips.text(t).effect("highlight",{},1500);
+*/
\ No newline at end of file