Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F117752984
csv_export.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
3 KB
Referenced Files
None
Subscribers
None
csv_export.js
View Options
/**
* Client script for the csv_export plugin
*
* @author Aleksander Machniak <machniak@kolabsys.com>
*
* @licstart The following is the entire license notice for the
* JavaScript code in this file.
*
* Copyright (C) 2011-2016, Kolab Systems AG <contact@kolabsys.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @licend The above is the entire license notice
* for the JavaScript code in this file.
*/
if
(
window
.
rcmail
)
{
rcmail
.
addEventListener
(
'beforeexport'
,
function
(
e
)
{
return
csv_export_dialog
(
e
,
'export'
);
})
.
addEventListener
(
'beforeexport-selected'
,
function
(
e
)
{
return
csv_export_dialog
(
e
,
'export-selected'
);
});
}
// Display dialog with format selection
function
csv_export_dialog
(
event
,
action
)
{
// goto the default export if vcard format was selected
if
(
rcmail
.
env
.
csv_export_bypass
)
{
return
;
}
var
close_fn
=
function
()
{
$
(
this
).
remove
();
};
rcmail
.
show_popup_dialog
(
csv_export_dialog_body
(),
rcmail
.
get_label
(
'csv_export.title'
),
[{
text
:
rcmail
.
get_label
(
'export'
),
'class'
:
'mainaction'
,
click
:
function
()
{
$
(
this
).
remove
();
csv_export_dialog_action
(
$
(
'input:checked'
,
this
).
val
(),
action
);
}
},
{
text
:
rcmail
.
get_label
(
'cancel'
),
click
:
close_fn
}],
{
close
:
close_fn
}
);
return
false
;
}
// Build dialog body
function
csv_export_dialog_body
()
{
return
[
$
(
'<div>'
).
text
(
rcmail
.
get_label
(
'csv_export.text'
)),
$
(
'<input>'
).
attr
({
type
:
'radio'
,
name
:
'format'
,
value
:
'vcf'
,
id
:
'csv_format_vcf'
})
.
prop
(
'checked'
,
true
),
$
(
'<label>'
).
text
(
rcmail
.
get_label
(
'csv_export.vcf'
)).
attr
({
'for'
:
'csv_format_vcf'
,
style
:
'vertical-align: middle'
}),
$
(
'<br>'
),
$
(
'<input>'
).
attr
({
type
:
'radio'
,
name
:
'format'
,
value
:
'csv'
,
id
:
'csv_format_csv'
}),
$
(
'<label>'
).
text
(
rcmail
.
get_label
(
'csv_export.csv'
)).
attr
({
'for'
:
'csv_format_csv'
,
style
:
'vertical-align: middle'
}),
];
}
// Execute export action
function
csv_export_dialog_action
(
format
,
action
)
{
if
(
!
rcmail
.
contact_list
.
rowcount
)
{
return
;
}
// bypass the dialog and execute default export
if
(
format
!=
'csv'
)
{
rcmail
.
env
.
csv_export_bypass
=
true
;
rcmail
.
command
(
action
);
rcmail
.
env
.
csv_export_bypass
=
false
;
return
;
}
var
params
=
{
_source
:
rcmail
.
env
.
source
,
_gid
:
rcmail
.
env
.
group
,
_format
:
'csv'
};
if
(
action
==
'export'
)
{
params
.
_search
=
rcmail
.
env
.
search_request
;
}
else
{
// 'export-selected'
params
.
_cid
=
rcmail
.
contact_list
.
get_selection
().
join
(
','
);
}
rcmail
.
goto_url
(
'export'
,
params
);
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Apr 4, 4:56 AM (1 d, 18 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
5a/63/0b30174418d0896e5ad3b68c5acc
Default Alt Text
csv_export.js (3 KB)
Attached To
Mode
rRPK roundcubemail-plugins-kolab
Attached
Detach File
Event Timeline