Changeset ac9ba448 in github


Ignore:
Timestamp:
Dec 5, 2011 7:29:55 AM (18 months ago)
Author:
thomascube <thomas@…>
Branches:
master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.8
Children:
8bbc620
Parents:
9b28484
Message:

Replace prompt() with jQuery UI dialog (#1485135)

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • CHANGELOG

    re8d9073 rac9ba448  
    22=========================== 
    33 
     4- Replace prompt() with jQuery UI dialog (#1485135) 
    45- Fix navigation in messages search results 
    56- Improved handling of some malformed values encoded with quoted-printable (#1488232) 
  • program/js/app.js

    re8d9073 rac9ba448  
    908908          break; 
    909909 
    910         if (!this.check_compose_input()) 
     910        if (!props.nocheck && !this.check_compose_input(command)) 
    911911          break; 
    912912 
     
    29612961 
    29622962  // checks the input fields before sending a message 
    2963   this.check_compose_input = function() 
     2963  this.check_compose_input = function(cmd) 
    29642964  { 
    29652965    // check input fields 
     
    29962996    // display localized warning for missing subject 
    29972997    if (input_subject.val() == '') { 
    2998       var subject = prompt(this.get_label('nosubjectwarning'), this.get_label('nosubject')); 
    2999  
    3000       // user hit cancel, so don't send 
    3001       if (!subject && subject !== '') { 
     2998      var myprompt = $('<div class="prompt">').html('<div class="message">' + this.get_label('nosubjectwarning') + '</div>').appendTo(document.body); 
     2999      var prompt_value = $('<input>').attr('type', 'text').attr('size', 30).appendTo(myprompt).val(this.get_label('nosubject')); 
     3000 
     3001      var buttons = {}; 
     3002      buttons[this.get_label('cancel')] = function(){ 
    30023003        input_subject.focus(); 
    3003         return false; 
    3004       } 
    3005       else 
    3006         input_subject.val((subject ? subject : this.get_label('nosubject'))); 
     3004        $(this).dialog('close'); 
     3005      }; 
     3006      buttons[this.get_label('sendmessage')] = function(){ 
     3007        input_subject.val(prompt_value.val()); 
     3008        $(this).dialog('close'); 
     3009        ref.command(cmd, { nocheck:true });  // repeat command which triggered this 
     3010      }; 
     3011 
     3012      myprompt.dialog({ 
     3013        modal: true, 
     3014        resizable: false, 
     3015        buttons: buttons, 
     3016        close: function(event, ui) { $(this).remove() } 
     3017      }); 
     3018      prompt_value.select(); 
     3019      return false; 
    30073020    } 
    30083021 
  • program/steps/mail/compose.inc

    r4360276 rac9ba448  
    125125    'nobodywarning', 'notsentwarning', 'notuploadedwarning', 'savingmessage', 'sendingmessage',  
    126126    'messagesaved', 'converting', 'editorwarning', 'searching', 'uploading', 'uploadingmany', 
    127     'fileuploaderror'); 
     127    'fileuploaderror', 'sendmessage'); 
    128128 
    129129$OUTPUT->set_env('compose_id', $COMPOSE['id']); 
     
    139139$OUTPUT->set_env('top_posting', $RCMAIL->config->get('top_posting', false)); 
    140140$OUTPUT->set_env('recipients_separator', trim($RCMAIL->config->get('recipients_separator', ','))); 
     141 
     142// use jquery UI for showing prompt() dialogs 
     143$RCMAIL->plugins->load_plugin('jqueryui'); 
    141144 
    142145// get reference message and set compose mode 
Note: See TracChangeset for help on using the changeset viewer.