parent
a2f70e2dc0
commit
f007d01983
2 changed files with 12 additions and 48 deletions
|
@ -39,9 +39,18 @@ function kolab_zpush_config()
|
||||||
rcmail.addEventListener('plugin.zpush_data_ready', device_data_ready);
|
rcmail.addEventListener('plugin.zpush_data_ready', device_data_ready);
|
||||||
rcmail.addEventListener('plugin.zpush_save_complete', save_complete);
|
rcmail.addEventListener('plugin.zpush_save_complete', save_complete);
|
||||||
|
|
||||||
$('input.subscription').change(function(e){ $('#'+this.id+'_alarm').prop('disabled', !this.checked); });
|
$('input.alarm').change(function(e){ if (this.checked) $('#'+this.id.replace(/_alarm/, '')).prop('checked', this.checked); });
|
||||||
|
$('input.subscription').change(function(e){ if (!this.checked) $('#'+this.id+'_alarm').prop('checked', false); });
|
||||||
$(window).bind('resize', resize_ui);
|
$(window).bind('resize', resize_ui);
|
||||||
|
|
||||||
|
$('.subscriptionblock thead td.subscription img, .subscriptionblock thead td.alarm img').click(function(e){
|
||||||
|
var $this = $(this);
|
||||||
|
var classname = $this.parent().get(0).className;
|
||||||
|
var check = !($this.data('checked') || false);
|
||||||
|
$this.css('cursor', 'pointer').data('checked', check)
|
||||||
|
.closest('table').find('input.'+classname).prop('checked', check).change();
|
||||||
|
});
|
||||||
|
|
||||||
// select the one and only device from list
|
// select the one and only device from list
|
||||||
if (rcmail.env.devicecount == 1) {
|
if (rcmail.env.devicecount == 1) {
|
||||||
for (var imei in rcmail.env.devices)
|
for (var imei in rcmail.env.devices)
|
||||||
|
|
|
@ -125,7 +125,7 @@ class kolab_zpush_ui
|
||||||
$table->add_header('foldername', $this->config->gettext('folder'));
|
$table->add_header('foldername', $this->config->gettext('folder'));
|
||||||
|
|
||||||
$checkbox_sync = new html_checkbox(array('name' => 'subscribed[]', 'class' => 'subscription'));
|
$checkbox_sync = new html_checkbox(array('name' => 'subscribed[]', 'class' => 'subscription'));
|
||||||
$checkbox_alarm = new html_checkbox(array('name' => 'alarm[]', 'class' => 'alarm', 'disabled' => true));
|
$checkbox_alarm = new html_checkbox(array('name' => 'alarm[]', 'class' => 'alarm'));
|
||||||
|
|
||||||
$names = array();
|
$names = array();
|
||||||
foreach ($a_folders as $folder) {
|
foreach ($a_folders as $folder) {
|
||||||
|
@ -168,49 +168,4 @@ class kolab_zpush_ui
|
||||||
return $table->show();
|
return $table->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Recursively compose folders table
|
|
||||||
*/
|
|
||||||
private function render_folders($a_folders, $table, $level = 0)
|
|
||||||
{
|
|
||||||
$idx = 0;
|
|
||||||
$checkbox_sync = new html_checkbox(array('name' => 'subscribed[]', 'class' => 'subscription'));
|
|
||||||
$checkbox_alarm = new html_checkbox(array('name' => 'alarm[]', 'class' => 'alarm', 'disabled' => true));
|
|
||||||
$folders_meta = $this->config->folders_meta();
|
|
||||||
|
|
||||||
foreach ($a_folders as $key => $folder) {
|
|
||||||
$classes = array('mailbox');
|
|
||||||
|
|
||||||
if ($folder_class = rcmail_folder_classname($folder['id'])) {
|
|
||||||
$foldername = rcube_label($folder_class);
|
|
||||||
$classes[] = $folder_class;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
$foldername = $folder['name'];
|
|
||||||
|
|
||||||
// visualize folder type
|
|
||||||
if ($type = $folders_meta[$folder['id']]['TYPE'])
|
|
||||||
$classes[] = $type;
|
|
||||||
|
|
||||||
if ($folder['virtual'])
|
|
||||||
$classes[] = 'virtual';
|
|
||||||
|
|
||||||
$folder_id = 'rcmf' . html_identifier($folder['id']);
|
|
||||||
$padding = str_repeat(' ', $level);
|
|
||||||
|
|
||||||
$table->add_row(array('class' => (($level+1) * $idx++) % 2 == 0 ? 'even' : 'odd'));
|
|
||||||
$table->add(join(' ', $classes), html::label($folder_id, $padding . Q($foldername)));
|
|
||||||
$table->add('subscription', $folder['virtual'] ? '' : $checkbox_sync->show('', array('value' => $folder['id'], 'id' => $folder_id)));
|
|
||||||
|
|
||||||
if (($type == 'event' || $type == 'task') && !$folder['virtual'])
|
|
||||||
$table->add('alarm', $checkbox_alarm->show('', array('value' => $folder['id'], 'id' => $folder_id.'_alarm')));
|
|
||||||
else
|
|
||||||
$table->add('alarm', '');
|
|
||||||
|
|
||||||
if (!empty($folder['folders']))
|
|
||||||
$this->render_folders($folder['folders'], $table, $level+1);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue