home *** CD-ROM | disk | FTP | other *** search
/ Practical Internet Web Designer 86 / PIWD86.iso / pc / contents / dreamweaver / software / dwmx2004.exe / Disk1 / data1.cab / Configuration_En / Commands / ProxyChooser.js < prev    next >
Encoding:
JavaScript  |  2003-09-05  |  4.2 KB  |  187 lines

  1. // Copyright 2001, 2002, 2003 Macromedia, Inc. All rights reserved.
  2.  
  3. //*************** GLOBALS VARS *****************
  4.  
  5. var PROP_TYPE = "Proxy";
  6. var CLASSNAME;
  7. var INTROSPECTORLIST;
  8. var isFile = false;
  9. var helpDoc = MM.HELP_wsProxyGenUsingIntrospector;
  10.  
  11. function commandButtons(){
  12.     return new Array(MM.BTN_OK, "okClicked()",
  13.                      MM.BTN_Cancel, "cancelClicked()",
  14.                      MM.BTN_Help, "displayHelp()" );
  15. }
  16.  
  17. var helpDoc = MM.HELP_ssProxyChooser;
  18.                                                                 
  19. //******************* API **********************
  20.  
  21. function cancelClicked()
  22. {
  23.      window.close();
  24. }
  25.  
  26. function okClicked()
  27. {
  28.     var errMessage;
  29.     // set the busy cursor...
  30.     MM.setBusyCursor();  
  31.      
  32.     if (!CLASSNAME.value)
  33.     {
  34.         errMessage = MM.MSG_ProxyChooserClassNameMissing;
  35.         MM.clearBusyCursor();              
  36.         alert(errMessage);
  37.         return;
  38.     }
  39.     var ProxyObj = INTROSPECTORLIST.getValue(INTROSPECTORLIST.getIndex()); 
  40.     if (ProxyObj)
  41.     {
  42.         addProxyChooserEntry(ProxyObj, CLASSNAME.value, isFile);
  43.         dw.serverComponentsPalette.refresh();
  44.         window.close();
  45.     }
  46.     else
  47.     {
  48.         errMessage = MM.MSG_IntrospectorNameMissing;
  49.         MM.clearBusyCursor();      
  50.         alert(errMessage);
  51.     }
  52. }
  53.  
  54.  
  55. //***************** LOCAL FUNCTIONS  ******************
  56.  
  57.  
  58. function checkEnableClass()
  59. {
  60.     var ProxyObj = INTROSPECTORLIST.getValue(INTROSPECTORLIST.getIndex()); 
  61.     if (ProxyObj)
  62.     {
  63.         CLASSNAME.removeAttribute("disabled");
  64.         SetClassesLabel(ProxyObj);
  65.     }
  66.     else
  67.     {
  68.         CLASSNAME.setAttribute("disabled","true");
  69.     }
  70. }
  71.  
  72. function initializeUI() 
  73. {
  74.     CLASSNAME            = dwscripts.findDOMObject("Class");
  75.     INTROSPECTORLIST    = new ListControl("introspectorslist");
  76.  
  77.     //Get the list of introspector from Introspectors folder.
  78.     var introspectorObjs = getIntrospectorList();
  79.     var serverModel = dw.getDocumentDOM().serverModel;
  80.     var serverModelName = serverModel.getDisplayName();
  81.     //if the server model for document is not set
  82.     //look for the document type in the site.
  83.     if (serverModelName.length == 0)
  84.     {
  85.         serverModelName = site.getServerDisplayNameForSite();
  86.     }
  87.  
  88.     for (var i=0 ; i < introspectorObjs.length ; i++)
  89.     {
  90.         var aObject = introspectorObjs[i];
  91.         var serverModels = aObject.serverModels;
  92.         for (var j=0; j < serverModels.length ; j++)
  93.         {
  94.             if (serverModels[j]==serverModelName)
  95.             {
  96.                 INTROSPECTORLIST.add(aObject.name,aObject);
  97.                 break;
  98.             }
  99.         }
  100.     }
  101.     INTROSPECTORLIST.setIndex(0);
  102.     var ProxyObj = INTROSPECTORLIST.getValue(INTROSPECTORLIST.getIndex()); 
  103.     if (!ProxyObj)
  104.     {
  105.         CLASSNAME.setAttribute("disabled","true");
  106.     }
  107.     else
  108.     {
  109.         SetClassesLabel(ProxyObj);
  110.     }
  111. }
  112.  
  113. function SetClassesLabel(ProxyObj)
  114. {
  115.     if(!ProxyObj)
  116.     {
  117.         return;
  118.     }
  119.     var aLabel = findObject("ClassesLabel");
  120.     if(!aLabel)
  121.     {
  122.         return;
  123.     }
  124.  
  125.     // TODO: make this code abstract rather than special case!
  126.     aName = ProxyObj.name;
  127.     if(aName.indexOf(".NET") != -1)
  128.     {
  129.         aLabel.innerHTML = MM.LocationProxyClass;
  130.     }
  131.     else
  132.     {
  133.         aLabel.innerHTML = MM.FolderProxyClass;
  134.     }
  135. }
  136.  
  137. function GetClass()
  138. {
  139.     // TODO: make this code abstract rather than special case!
  140.     var ProxyObj = INTROSPECTORLIST.getValue(INTROSPECTORLIST.getIndex());
  141.     aName = ProxyObj.name;
  142.     var className = null;
  143.     if(aName.indexOf(".NET") != -1)
  144.     {
  145.         var theFilter = new Array("DLL (*.dll)|*.dll|DLL|");
  146.         className = dw.browseForFileURL("open", MM.LABEL_ProxyGetClassName, false, false, theFilter);
  147.         isFile = true;
  148.     }
  149.     else
  150.     {
  151.         className = dw.browseForFolderURL(MM.MSG_ProxyChooseFolder);
  152.         isFile = false;
  153.     }
  154.     if(className && className.length)
  155.     {
  156.         CLASSNAME.value =  MMNotes.localURLToFilePath(className);
  157.     }
  158.  
  159. //    var extIndex        = CLASSNAME.value.lastIndexOf(".");
  160. //    if (extIndex != -1)
  161. //    {
  162. //        var extension = CLASSNAME.value.substring(extIndex);
  163. //        for (var i=0; i < INTROSPECTORLIST.getLen() ; i++)
  164. //        {
  165. //            var introObj= INTROSPECTORLIST.getValue(i);
  166. //            if (introObj && (introObj.extension == extension))
  167. //            {
  168. //                var extArray = introObj.extensions;
  169. //                if(extArray.length)
  170. //                {
  171. //                    for(var j = 0; j < extArray.length; j++)
  172. //                    {
  173. //                        var introspectorExt = extArray[j];
  174. //                        if(introspectorExt && introspectorExt == extension)
  175. //                        {
  176. //                            //select the entry in the drop down.
  177. //                            INTROSPECTORLIST.setIndex(i);
  178. //                            break;
  179. //                        }                      
  180. //                    }
  181. //                }
  182. //            }
  183. //        }
  184. //    }
  185. }
  186.  
  187.