| author | Production Moz <dev@sopinspace.com> |
| Wed, 04 Sep 2013 22:11:01 +0200 | |
| changeset 529 | 5eeed336b992 |
| parent 467 | 47f54d0c46dd |
| child 565 | 95a5c06c4008 |
| permissions | -rw-r--r-- |
| 0 | 1 |
//http://jqueryui.com/demos/dialog/modal-form.html |
2 |
||
3 |
// TODO ? : get from the server |
|
4 |
// extension : label |
|
5 |
gFormats = [{'actions':['print'], 'extension':'html', 'label': gettext('print from the browser')}, |
|
6 |
{'actions':['export'], 'extension':'html', 'label': gettext('download html file (.html)')}, |
|
|
453
1d314f629611
Added export to XML for re-import (nb. without attachements).
gibus
parents:
444
diff
changeset
|
7 |
{'actions':['export'], 'extension':'markdown', 'label': gettext('download markdown file (.mkd)')}, |
|
1d314f629611
Added export to XML for re-import (nb. without attachements).
gibus
parents:
444
diff
changeset
|
8 |
{'actions':['print'], 'extension':'pdf', 'label': gettext('print in PDF format')}, |
|
1d314f629611
Added export to XML for re-import (nb. without attachements).
gibus
parents:
444
diff
changeset
|
9 |
{'actions':['export'], 'extension':'pdf', 'label': gettext('download portable object format file (.pdf)')}, |
|
1d314f629611
Added export to XML for re-import (nb. without attachements).
gibus
parents:
444
diff
changeset
|
10 |
{'actions':['export'], 'extension':'latex', 'label': gettext('download latex file (.tex)')}, |
|
1d314f629611
Added export to XML for re-import (nb. without attachements).
gibus
parents:
444
diff
changeset
|
11 |
{'actions':['export'], 'extension':'odt', 'label': gettext('download open document file (.odt)')}, |
|
1d314f629611
Added export to XML for re-import (nb. without attachements).
gibus
parents:
444
diff
changeset
|
12 |
{'actions':['export'], 'extension':'doc', 'label': gettext('download microsoft word file (.doc)')}, |
|
467
47f54d0c46dd
Stupid IE counts extra element in array when ending by a comma.
gibus
parents:
455
diff
changeset
|
13 |
{'actions':['export'], 'extension':'docx', 'label': gettext('download microsoft word 2007 file (.docx)')} |
| 454 | 14 |
]; |
| 0 | 15 |
|
|
444
9246b0057a75
Exports to epub only with pandoc 1.9 and upper versions.
gibus
parents:
443
diff
changeset
|
16 |
var pandoc_version_ary = sv_pandoc_version.split('.'); |
|
9246b0057a75
Exports to epub only with pandoc 1.9 and upper versions.
gibus
parents:
443
diff
changeset
|
17 |
if (parseInt(pandoc_version_ary[0]) > 1 || (parseInt(pandoc_version_ary[0]) == 1 && parseInt(pandoc_version_ary[1]) > 8)) { |
|
453
1d314f629611
Added export to XML for re-import (nb. without attachements).
gibus
parents:
444
diff
changeset
|
18 |
gFormats.push({'actions':['export'], 'extension':'epub', 'label': gettext('download ebook (.epub)')}); |
|
444
9246b0057a75
Exports to epub only with pandoc 1.9 and upper versions.
gibus
parents:
443
diff
changeset
|
19 |
} |
| 0 | 20 |
|
| 454 | 21 |
gFormats.push({'actions':['export'], 'extension':'xml', 'label': gettext('download XML file for re-importing text and comments')}); |
22 |
||
|
190
faf3a87a7d73
minor FIX : export dialog : wrong 'choose file format' label
rbernard
parents:
0
diff
changeset
|
23 |
gActions = {'print':{'dialogTitle':gettext('Print text'), 'chooseFormatLabel':gettext('How do you want to print?'), 'defaultMethod':'pdf', 'defaultWithColors':"no", 'defaultWhichComments':'all'}, |
| 341 | 24 |
'export':{'dialogTitle':gettext('Export text'), 'chooseFormatLabel':gettext('Choose file format'), 'defaultMethod':'pdf', 'defaultWithColors':"no", 'defaultWhichComments':'all'}} ; |
| 0 | 25 |
gCurrentAction = null ; |
| 341 | 26 |
|
| 0 | 27 |
_populateMethod = function(withColors) { |
| 341 | 28 |
var val = $("#p_method").val(); |
29 |
|
|
30 |
$("#p_method").html(""); |
|
31 |
|
|
32 |
for (var i = 0, ilen = gFormats.length ; i < ilen ; i++) { |
|
33 |
var actions = gFormats[i]['actions'] ; |
|
34 |
for (var j = 0, jlen = gFormats.length ; j < jlen ; j++) { |
|
35 |
if (actions[j] == gCurrentAction) |
|
36 |
$("<option value='" + gFormats[i]['extension'] + "'>" + gFormats[i]['label'] + "</option>").appendTo("#p_method"); |
|
37 |
} |
|
38 |
} |
|
39 |
if (val) |
|
40 |
$("#p_method").val(val); |
|
41 |
else |
|
42 |
$("#p_method").val(gActions[gCurrentAction]['defaultMethod']); |
|
43 |
|
|
| 0 | 44 |
} ; |
45 |
||
46 |
_populateMarkersColorsChoice = function(withColors) { |
|
| 341 | 47 |
var val = $("#p_color").val(); |
48 |
|
|
49 |
$("#p_color").html(""); |
|
50 |
|
|
51 |
$("<option value='0'>" + gettext("using markers only, no background colors") + "</option>").appendTo("#p_color"); |
|
52 |
$("<option value='1'>" + gettext("using markers and background colors") + "</option>").appendTo("#p_color"); |
|
| 0 | 53 |
|
| 341 | 54 |
if (val) |
55 |
$("#p_color").val(val); |
|
56 |
else |
|
57 |
$("#p_color").val(gActions[gCurrentAction]['defaultWithColors']); |
|
| 0 | 58 |
} ; |
59 |
||
60 |
_populateWhichComments = function() { |
|
| 341 | 61 |
var val = $("#p_comments").val(); |
| 0 | 62 |
|
| 341 | 63 |
$("#p_comments").html(""); |
64 |
var all = interpolate(gettext("all (%(nb_comments)s)"), {'nb_comments':frames['text_view_comments'].gDb.getCommentsNb(true)}, true) ; |
|
65 |
var currents = interpolate(gettext("current filtered ones (%(nb_comments)s)"), {'nb_comments':frames['text_view_comments'].gDb.getCommentsNb(false)}, true) ; |
|
66 |
$("<option value='all' >" + all +"</option>").appendTo($("#p_comments")) ; |
|
67 |
$("<option value='none' >" + gettext("none (0)") + "</option>").appendTo($("#p_comments")) ; |
|
68 |
$("<option value='filtered' >" + currents + "</option>").appendTo($("#p_comments")) ; |
|
69 |
|
|
70 |
if (val) |
|
71 |
$("#p_comments").val(val); |
|
72 |
else |
|
73 |
$("#p_comments").val(gActions[gCurrentAction]['defaultWhichComments']); |
|
| 0 | 74 |
} ; |
75 |
||
76 |
_manageMarkersColorsChoice = function() { |
|
| 341 | 77 |
var method = $("#p_method").val(); |
78 |
var which = $("#p_comments").val(); |
|
| 454 | 79 |
var all = frames['text_view_comments'].gDb.getCommentsNb(true); |
80 |
var currents = frames['text_view_comments'].gDb.getCommentsNb(false); |
|
81 |
var nb_comments = (which == 'all') ? all : currents; |
|
| 341 | 82 |
|
83 |
var disableMarkersColorsChoice ; |
|
84 |
if (gCurrentAction == 'print') |
|
| 454 | 85 |
disableMarkersColorsChoice = ((nb_comments == 0) || (which == 'none')); |
| 341 | 86 |
if (gCurrentAction == 'export') |
|
455
33c7e20efcb7
Added export of attachements as inline b64 images for appropriate formats.
gibus
parents:
454
diff
changeset
|
87 |
// No colors for: |
|
33c7e20efcb7
Added export of attachements as inline b64 images for appropriate formats.
gibus
parents:
454
diff
changeset
|
88 |
// 1. no comments |
|
33c7e20efcb7
Added export of attachements as inline b64 images for appropriate formats.
gibus
parents:
454
diff
changeset
|
89 |
// 2. pandoc generated formats (markdown, latex, epub) |
|
33c7e20efcb7
Added export of attachements as inline b64 images for appropriate formats.
gibus
parents:
454
diff
changeset
|
90 |
// 3. odt and doc, for some reasons abiword cannot export background-color for these formats |
|
33c7e20efcb7
Added export of attachements as inline b64 images for appropriate formats.
gibus
parents:
454
diff
changeset
|
91 |
// 4. XML export (used for re-import) |
|
33c7e20efcb7
Added export of attachements as inline b64 images for appropriate formats.
gibus
parents:
454
diff
changeset
|
92 |
disableMarkersColorsChoice = ((nb_comments == 0) || (which == 'none') || (method == 'markdown') || (method == 'latex') || (method == 'epub') || (method == 'odt') || (method == 'doc') || (method == 'xml')) ; |
| 341 | 93 |
|
94 |
if (disableMarkersColorsChoice) |
|
95 |
$("#p_color").val('no'); |
|
| 0 | 96 |
|
| 341 | 97 |
$("#p_color").attr("disabled", disableMarkersColorsChoice); |
98 |
|
|
| 0 | 99 |
} ; |
100 |
||
101 |
_initPrintDialog = function() { |
|
| 341 | 102 |
$('#p_comments').add($('#p_method')).change(function() { |
103 |
_manageMarkersColorsChoice() ; |
|
104 |
_prepareOpenInNewWindow() ; |
|
105 |
}) ; |
|
| 0 | 106 |
|
| 341 | 107 |
var buttons = {} ; |
108 |
buttons[gettext('Go !')] = function() { |
|
109 |
var whichComments = $("#p_comments").val() ; |
|
110 |
var withColor = $("#p_color").val() ; |
|
111 |
var format = $("#p_method").val() ; |
|
112 |
var download = (gCurrentAction == "export") ? "1" : (format == "html") ? "0" : "1" ; |
|
113 |
var targetUrl = $("#print_export_form").attr('target_action').replace(/FoRmAt/,format).replace(/DoWnLoAd/, download).replace(/WhIcHCoMmEnT/, whichComments).replace(/WiThCoLoR/, withColor) ; |
|
114 |
$("#print_export_form").attr('action', targetUrl) ; |
|
115 |
|
|
116 |
document['print_export_form'].submit(); |
|
117 |
$(this).dialog('close'); |
|
118 |
} ; |
|
119 |
buttons[gettext('Cancel')] = function() { |
|
120 |
$(this).dialog('close'); |
|
121 |
} ; |
|
| 0 | 122 |
|
| 341 | 123 |
|
124 |
$("#dialog_print_export").dialog({ |
|
125 |
bgiframe: true, |
|
126 |
autoOpen: false, |
|
| 454 | 127 |
width: 500, |
| 341 | 128 |
/* height: 300, |
129 |
autoResize: false,*/ |
|
130 |
modal: true, |
|
131 |
buttons: buttons, |
|
132 |
close: function() { |
|
133 |
; // empty |
|
134 |
} |
|
135 |
}); |
|
| 0 | 136 |
} |
137 |
||
138 |
openPrintDialog = function() { |
|
| 341 | 139 |
_openPrintExportDialog('print') ; |
| 0 | 140 |
} |
141 |
||
142 |
openExportDialog = function() { |
|
| 341 | 143 |
_openPrintExportDialog('export') ; |
| 0 | 144 |
} |
145 |
||
146 |
_prepareOpenInNewWindow = function() { |
|
| 341 | 147 |
var method = $("#p_method").val(); |
148 |
if ((method == "html") && (gCurrentAction == 'print')) |
|
149 |
$("#print_export_form").attr("target", "_blank") ; |
|
150 |
else |
|
151 |
$("#print_export_form").removeAttr("target") ; |
|
| 0 | 152 |
} |
153 |
||
154 |
_openPrintExportDialog = function(action) { |
|
| 341 | 155 |
gCurrentAction = action ; |
156 |
$("#ui-dialog-title-dialog_print_export").html(gActions[gCurrentAction]['dialogTitle']) ; |
|
157 |
$("#how").html(gActions[gCurrentAction]['chooseFormatLabel']) ; |
|
158 |
$("#print_export_action").val(action) ; // TODO check this still usefull |
|
159 |
|
|
160 |
|
|
161 |
_populateWhichComments() ; |
|
162 |
_populateMarkersColorsChoice() ; |
|
163 |
_populateMethod() ; |
|
164 |
|
|
165 |
_manageMarkersColorsChoice() ; |
|
166 |
_prepareOpenInNewWindow() ; |
|
| 0 | 167 |
|
| 341 | 168 |
$('#dialog_print_export').dialog('open'); |
| 0 | 169 |
} |
170 |
||
| 341 | 171 |
/* |
172 |
tips.text(t).effect("highlight",{},1500); |
|
173 |
*/ |