ginebra2/chrome/bedrockchrome/bookmarkview.superpage/bookmarkDialog.js
changeset 15 73c48011b8c7
parent 6 1c3b8676e58c
equal deleted inserted replaced
13:491a1d15372f 15:73c48011b8c7
     1 var _dailogFlag = 0;
     1 var _dailogFlag = 0;
     2 var _OriginalTitle = 0;
     2 var _OriginalTitle = 0;
     3 
     3 
       
     4 document.getElementsByClassName = function(class_name) {
       
     5     var docList = this.all || this.getElementsByTagName('*');
       
     6     var matchArray = new Array();
       
     7 
       
     8     /*Create a regular expression object for class*/
       
     9     var re = new RegExp("(?:^|\\s)"+class_name+"(?:\\s|$)");
       
    10     for (var i = 0; i < docList.length; i++) {
       
    11         if (re.test(docList[i].className) ) {
       
    12             matchArray[matchArray.length] = docList[i];
       
    13         }
       
    14     }
       
    15 
       
    16 	return matchArray;
       
    17 }
       
    18 
     4 function bookmarkDialog()
    19 function bookmarkDialog()
     5 {
    20 {
     6    this.write = writeBookmarkDialog;
    21     this.write = writeBookmarkDialog;
     7 
    22 
     8    // do setup
    23     // do setup
     9     this.write();
    24     this.write();
       
    25 
       
    26     if (app.serviceFramework() == "mobility_service_framework")
       
    27     {
       
    28         document.getElementsByClassName("bookmarkCheckboxTextLabel")[0].style.display = "inline";
       
    29     }
       
    30     
    10 }
    31 }
    11 
    32 
    12 function writeBookmarkDialog()
    33 function writeBookmarkDialog()
    13 {
    34 {
    14     var html =
    35     var html =
    15                '<div class="top"></div>'+
    36                '<div class="top"></div>'+
    16                 '<div class="body">'+
    37                 '<div class="body">'+
    17                    '<div class="bookmarkTextLabel" id="bookmarkDialogTitle">Add Bookmark</div>'+
    38                    '<div class="bookmarkTextLabel" id="bookmarkDialogTitle">Add Bookmark</div>'+
    18                    '<div class="GinebraSnippet" id="BookmarkDialogTitleId" data-GinebraNativeClass="TextEditSnippet" data-GinebraVisible="true"></div>'+ 
    39                    '<div class="GinebraSnippet" id="BookmarkDialogTitleId" data-GinebraNativeClass="TextEditSnippet" data-GinebraVisible="true"></div>'+ 
    19                    '<div class="GinebraSnippet" id="BookmarkDialogUrlId" data-GinebraNativeClass="TextEditSnippet" data-GinebraVisible="true"></div>'+
    40                    '<div class="GinebraSnippet" id="BookmarkDialogUrlId" data-GinebraNativeClass="TextEditSnippet" data-GinebraVisible="true"></div>'+
       
    41                    '<div class="bookmarkCheckboxTextLabel"><input type="checkbox" id="bookmarkCheckboxId"/>Add shortcut to home screen</div>'+
       
    42                    '<div><input type="hidden" id="BookmarkDialogBookmarkId" name="BookmarkDialogBookmarkId" value=""/></div>'+
    20                    '<div class="controls">' +
    43                    '<div class="controls">' +
    21                       '<div type="button"  onmouseup="bookmarkOperation();" class="bookmarkDoneButton"></div>'+     
    44                       '<div type="button"  onmouseup="bookmarkOperation();" class="bookmarkDoneButton"></div>'+     
    22                        '<div type="button" onmouseup="bookmarkDialogIdHide();" class="bookmarkCancelButton"></div>'+  
    45                        '<div type="button" onmouseup="bookmarkDialogIdHide();" class="bookmarkCancelButton"></div>'+  
    23                     '</div>'+ /*controls*/
    46                     '</div>'+ /*controls*/
    24                 '</div>'+  /*body*/
    47                 '</div>'+  /*body*/
    28 
    51 
    29 function bookmarkDialogIdHide(){
    52 function bookmarkDialogIdHide(){
    30     window.snippets.BookmarkDialogId.hide();
    53     window.snippets.BookmarkDialogId.hide();
    31     snippets.BookmarkViewToolbarId.enabled = true;
    54     snippets.BookmarkViewToolbarId.enabled = true;
    32     snippets.WebViewToolbarId.enabled = true;
    55     snippets.WebViewToolbarId.enabled = true;
       
    56     
       
    57     if (app.serviceFramework() == "mobility_service_framework") 
       
    58     {
       
    59         if (document.getElementById("bookmarkCheckboxId").checked)
       
    60         {
       
    61             document.getElementById("bookmarkCheckboxId").checked = false;
       
    62         }
       
    63     }    
    33 }
    64 }
    34 
    65 
    35 function launchBookmarkDialog(bmtitle, bmurl, dialogFlag)
    66 function launchBookmarkDialog(bmtitle, bmurl, bmid, dialogFlag)
    36 {
    67 {
    37     try{
    68     try{
    38         snippets.BookmarkViewToolbarId.enabled = false;
    69         snippets.BookmarkViewToolbarId.enabled = false;
    39         snippets.WebViewToolbarId.enabled = false;
    70         snippets.WebViewToolbarId.enabled = false;
    40 
    71 
    41         if (dialogFlag == 0) {
    72         if (dialogFlag == 0) {
    42                 var dlgTitle = document.getElementById("bookmarkDialogTitle");
    73             if (app.serviceFramework() == "mobility_service_framework")
    43                   dlgTitle.firstChild.nodeValue= window.localeDelegate.translateText("txt_browser_input_dial_add_bm");                 
    74             {
    44            }
    75                 document.getElementsByClassName("bookmarkCheckboxTextLabel")[0].style.display = "inline"; 
    45            else if (dialogFlag == 1) {
    76             }
    46                 var dlgTitle = document.getElementById("bookmarkDialogTitle");
    77             var dlgTitle = document.getElementById("bookmarkDialogTitle");
    47                 dlgTitle.firstChild.nodeValue= window.localeDelegate.translateText("txt_browser_input_dial_edit_bm");
    78             dlgTitle.firstChild.nodeValue= window.localeDelegate.translateText("txt_browser_input_dial_add_bm");
    48            }
    79             var chkboxTitle = document.getElementsByClassName("bookmarkCheckboxTextLabel")[0];
    49 
    80             chkboxTitle.firstChild.nodeValue= window.localeDelegate.translateText("txt_browser_bookmarks_also_add_to_home_screen");
       
    81         }
       
    82         else if (dialogFlag == 1) {
       
    83              document.getElementsByClassName("bookmarkCheckboxTextLabel")[0].style.display = "none";
       
    84              var dlgTitle = document.getElementById("bookmarkDialogTitle");
       
    85              dlgTitle.firstChild.nodeValue= window.localeDelegate.translateText("txt_browser_input_dial_edit_bm");
       
    86         }
       
    87        
    50         _dailogFlag = dialogFlag;
    88         _dailogFlag = dialogFlag;
    51         _OriginalTitle = bmtitle;
    89         _OriginalTitle = bmtitle;
    52         window.snippets.BookmarkDialogTitleId.lostFocus.connect(titleFieldLostFocus);
    90         window.snippets.BookmarkDialogTitleId.lostFocus.connect(titleFieldLostFocus);
    53         window.snippets.BookmarkDialogUrlId.lostFocus.connect(urlFieldLostFocus);
    91         window.snippets.BookmarkDialogUrlId.lostFocus.connect(urlFieldLostFocus);
    54         window.snippets.BookmarkDialogTitleId.gainedFocus.connect(titleFieldGainedFocus);
    92         window.snippets.BookmarkDialogTitleId.gainedFocus.connect(titleFieldGainedFocus);
    64             window.snippets.BookmarkDialogTitleId.text = bmtitle;    
   102             window.snippets.BookmarkDialogTitleId.text = bmtitle;    
    65   
   103   
    66         if (bmurl == "")
   104         if (bmurl == "")
    67             window.snippets.BookmarkDialogUrlId.text = "Url";
   105             window.snippets.BookmarkDialogUrlId.text = "Url";
    68         else
   106         else
    69            window.snippets.BookmarkDialogUrlId.text = bmurl; 
   107            window.snippets.BookmarkDialogUrlId.text = bmurl;
       
   108         document.getElementById('BookmarkDialogBookmarkId').value = bmid;
    70 
   109 
    71         window.snippets.BookmarkDialogId.show(false);
   110         window.snippets.BookmarkDialogId.show(false);
    72 
   111 
    73         window.snippets.BookmarkDialogTitleId.selectAll();
   112         window.snippets.BookmarkDialogTitleId.selectAll();
    74         
   113         
    75        }catch(e){ alert(e); }
   114        }catch(e){ alert(e); }
    76 
   115 
    77 }
   116 }
    78 
       
    79 
   117 
    80 function bookmarkOperation()
   118 function bookmarkOperation()
    81 {
   119 {
    82     snippets.BookmarkViewToolbarId.enabled = true;
   120     snippets.BookmarkViewToolbarId.enabled = true;
    83     snippets.WebViewToolbarId.enabled = true;
   121     snippets.WebViewToolbarId.enabled = true;
    85     var bmtitle = window.snippets.BookmarkDialogTitleId.text;
   123     var bmtitle = window.snippets.BookmarkDialogTitleId.text;
    86     var bmurl = window.snippets.BookmarkDialogUrlId.text;
   124     var bmurl = window.snippets.BookmarkDialogUrlId.text;
    87     //Hide the dialog
   125     //Hide the dialog
    88     window.snippets.BookmarkDialogId.hide();
   126     window.snippets.BookmarkDialogId.hide();
    89     //Update the database
   127     //Update the database
    90     var errCode;
   128     var errCode = 0;
    91 
   129 
    92     if (_dailogFlag == 0)
   130     if (_dailogFlag == 0) {
    93        errCode = window.bookmarksManager.addBookmark(bmtitle,bmurl);
   131         var bmid = window.bookmarksController.addBookmark(bmtitle,bmurl);
    94     else if (_dailogFlag == 1)
   132         if (bmid < 0) {
    95        errCode = window.bookmarksManager.modifyBookmark(_OriginalTitle,bmtitle,bmurl);
   133             alert("Unknown error adding bookmark");
    96     
   134             return;
       
   135         }
       
   136         if (app.serviceFramework() == "mobility_service_framework") 
       
   137         {
       
   138             if (document.getElementById("bookmarkCheckboxId").checked)
       
   139             {
       
   140                 errCode = window.hsBookmarkPublishClient.addWidget(bmtitle, bmurl);
       
   141                 document.getElementById("bookmarkCheckboxId").checked = false;
       
   142             }
       
   143         } 
       
   144     }
       
   145     else if (_dailogFlag == 1) {
       
   146         var bmid = document.getElementById('BookmarkDialogBookmarkId').value;
       
   147         errCode = window.bookmarksController.modifyBookmark(bmid,bmtitle,bmurl);
       
   148     }
    97     
   149     
    98     if (errCode == -3){
   150     if (errCode == -3){
    99 	     alert("Bookmark Url Is Empty");
   151 	     alert("Bookmark Url Is Empty");
   100 	     return;
   152 	     return;
   101     }
   153     }
   131 {
   183 {
   132     window.snippets.BookmarkDialogTitleId.unselect();
   184     window.snippets.BookmarkDialogTitleId.unselect();
   133 }
   185 }
   134 
   186 
   135 
   187 
   136 function showBookmarkEditDialog(bmtitle,bmurl) {
   188 function showBookmarkEditDialog(bmtitle,bmurl,id) {
   137     launchBookmarkDialog(bmtitle,bmurl,1);
   189     launchBookmarkDialog(bmtitle,bmurl,id,1);
   138 }
   190 }