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 / Define Access Levels.js < prev    next >
Encoding:
JavaScript  |  2003-09-05  |  3.1 KB  |  107 lines

  1. // Copyright 2000, 2001, 2002, 2003 Macromedia, Inc. All rights reserved.
  2.  
  3. //****************** GLOBALS VARS ********************
  4.  
  5. var TEXT_ACCESSLEVEL;
  6. var LIST_ACCESSLEVELS;
  7.  
  8. //********************** API **************************
  9.  
  10. function commandButtons() {
  11.   return new Array(MM.BTN_OK,"okClicked()",MM.BTN_Cancel,"window.close()",MM.BTN_Help,"displayHelp()");
  12. }
  13.  
  14. //***************** LOCAL FUNCTIONS  ******************
  15.  
  16. function initializeUI() {
  17.   MM.retVal = "";
  18.   TEXT_ACCESSLEVEL = findObject("textAccessLevel");
  19.   LIST_ACCESSLEVELS = new ListControl("listAccessLevels");
  20.   LIST_ACCESSLEVELS.setAll(getAccessLevelsFromNotes());
  21.   onChangeAccessLevels();
  22. }
  23.  
  24. function okClicked(){
  25.   MM.retVal = "OK";
  26.   deleteBlankLevel();
  27.   putAccessLevelsToNotes(LIST_ACCESSLEVELS.get("all"));
  28.   window.close();
  29. }
  30.  
  31. function onClickAddAccessLevel() {
  32.   deleteBlankLevel();
  33.   TEXT_ACCESSLEVEL.value = getUniqueAccessLevelName();
  34.   LIST_ACCESSLEVELS.append(TEXT_ACCESSLEVEL.value);
  35.   TEXT_ACCESSLEVEL.focus();
  36.   TEXT_ACCESSLEVEL.select();
  37. }
  38.  
  39. function onClickDeleteAccessLevel() {
  40.   LIST_ACCESSLEVELS.del();
  41.   TEXT_ACCESSLEVEL.value = LIST_ACCESSLEVELS.get();
  42.   TEXT_ACCESSLEVEL.focus();
  43.   TEXT_ACCESSLEVEL.select();
  44. }
  45.  
  46. function onChangeAccessLevels() {
  47.   TEXT_ACCESSLEVEL.value = LIST_ACCESSLEVELS.get();
  48.   TEXT_ACCESSLEVEL.focus();
  49.   TEXT_ACCESSLEVEL.select();
  50. }
  51.  
  52. function onBlurAccessLevel() {
  53.   var level = Trim(TEXT_ACCESSLEVEL.value);
  54.   if (level.length > 0) {
  55.     if (LIST_ACCESSLEVELS.get('all').length == 0) {
  56.       LIST_ACCESSLEVELS.append(level);
  57.     } else {
  58.       // if this access level is the same as the selected one do nothing
  59.       if (LIST_ACCESSLEVELS.get() != level) {
  60.         var idx=findAccessLevelIndex(level);
  61.         if (idx < 0) {
  62.           LIST_ACCESSLEVELS.set(level);
  63.         } else {
  64.           LIST_ACCESSLEVELS.setIndex(idx);
  65.         }
  66.       }
  67.     }
  68.   }
  69. }
  70.  
  71. //**************** SUPPORT FUNCTIONS  ******************
  72.  
  73. function findAccessLevelIndex(level) {
  74.   var retIndex=-1;
  75.   var listAccessLevels = LIST_ACCESSLEVELS.get("all");
  76.   for (i=0; i<listAccessLevels.length; i++) {
  77.     if (listAccessLevels[i] == level) {
  78.       retIndex=i;
  79.       break;
  80.     }
  81.   }
  82.   return retIndex;
  83. }
  84.  
  85. function getUniqueAccessLevelName() {
  86. /*  Removed to try to make it look more like design notes dialog.
  87.   var proposedAccessLevel = "Access Level";
  88.   if (findAccessLevelIndex(proposedAccessLevel) >= 0) {
  89.     var accessLevelTemplate = proposedAccessLevel + " @@accessLevelNumber@@";
  90.     for (i=1; i<999; i++) {  // 999 is to prevent an infinite loop
  91.       proposedAccessLevel = accessLevelTemplate.replace(/@@accessLevelNumber@@/, i.toString());
  92.       if (findAccessLevelIndex(proposedAccessLevel) < 0) {
  93.         break;
  94.   } } }
  95.   return proposedAccessLevel;  
  96. */
  97.   return "";
  98. }
  99.  
  100. function deleteBlankLevel() {
  101.   var listAccessLevels = LIST_ACCESSLEVELS.get("all");
  102.   if (listAccessLevels[listAccessLevels.length -1] == "") {
  103.     listAccessLevels.splice(listAccessLevels.length -1);
  104.     LIST_ACCESSLEVELS.setAll(listAccessLevels);
  105.   }
  106. }
  107.