⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dhtml.js

📁 数据仓库建设参考
💻 JS
📖 第 1 页 / 共 4 页
字号:
/* Copyright (C) 1996-2002 MicroStrategy Incorporated, All rights reserved. Confidential. */
var calendarScript = false;
var advancedDrillScript = false;
var adminOptionsScript = false;
var columnWidthsGGScript = false;
var colHandlesSetScript = false;
var outlineModeGGScript = false;
var lockSetScript = false;
var formatEditorScript = false;
var filterScript = false;
var promptFunctionsScript = false;
var menuScript = false;
var incrementalFetchCheckBoxesScript = false;

var bFirstMetric = false;
var sURL = '';
var bDesignMode = false;
var lIndex = 0;
var sMsgID = '';
var sView = '';
var bAdvancedEdit = false;
var flg_RTitle = 1;
var flg_QLinks = 2;
var flg_FTBar = 4;
var flg_Filt = 8;
var flg_PAxis = 16;
var flg_RTBar = 32;
var flg_SRTEditor = 64;
var flg_DRLEditor = 128;
var flg_FSELEditor = 256;
var flg_FRMEditor = 512;
var flg_FMATEditor = 1024;
var flg_SUBEditor = 2058;
var flg_Email = 4096;
var flg_Send = 8192;
var flg_ObjBr = 16384;
var flg_Grid = 32768;
var flg_IncFetch = 65536;

var aEditorButton = new Array();
aEditorButton[1] = '';
aEditorButton[2] = 0;

var aTemplateElements = new Array();
var lPropertyAlias = 0;
var lPropertyKey = 0;
var lPropertyType = 0;
var lPropertyDerivedMetric = 0;
var lPropertyFormula = 0;
var lPropertyPosition = 0;
var sNewMetric = '';
var DssXmlTemplateMetrics = '';
var logClientStopTimer = false;
var logClient = false;
var sTreeName = 'tree1';

//prompt anchor
var currentPin = '-1';


//**DHTMLJSPAPI

var initializeCalls = "";

//**DHTMLAPI

var bIsIE4 = (document.all) ? true : false;     // IE 4+
var bIsW3C = (document.getElementById && !bIsIE4) ? true : false;       // N6
var bIsNN4 = (document.layers) ? true : false;  // NC4

// Mouse screen coordinates.
var lMouseX = 0;
var lMouseY = 0;

// bIsDHTML capable browser for degradability
var bIsDHTML = (bIsIE4 || bIsW3C || bIsNN4) ? true : false;


//This is done to support the insertAdjacentElement, insertAdjacentHTML and insertAdjacentText calls in netscape browsers
if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement){

    HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode)
    {
        switch (where){
        case 'beforeBegin':
            this.parentNode.insertBefore(parsedNode,this)
            break;
        case 'afterBegin':
            this.insertBefore(parsedNode,this.firstChild);
            break;
        case 'beforeEnd':
            this.appendChild(parsedNode);
            break;
        case 'afterEnd':
            if (this.nextSibling)
              this.parentNode.insertBefore(parsedNode,this.nextSibling);
            else this.parentNode.appendChild(parsedNode);
              break;
        }
    }

    HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr)
    {
        var r = this.ownerDocument.createRange();
        r.setStartBefore(this);
        var parsedHTML = r.createContextualFragment(htmlStr);
        this.insertAdjacentElement(where,parsedHTML)
    }


    HTMLElement.prototype.insertAdjacentText = function(where,txtStr)
    {
        var parsedText = document.createTextNode(txtStr)
        this.insertAdjacentElement(where,parsedText)
    }

}


function elementClick(e) {
//*********************************************************************************************
//Purpose: Handle all click events on the page.
//Inputs:  e - the netscape event object
//Outputs: None.
//*********************************************************************************************

  // If the browser is N6 and the event object did not
  // come through then exit the function.
  if (bIsW3C && !e)
    return false;

  // Get the integer representation of the button clicked.  Add 1 to netscape 6.1
  var iButton = (bIsIE4) ? event.button : e.button + 1;

  // If the button was the left button then call the leftClick function.
  if (iButton == 1)
    return leftClick(e);
}

function rightClick(e) {
//*********************************************************************************************
//Purpose: Call the appropriate right click function.
//Inputs:  e - the Netscape event object.
//Outputs: None.
//*********************************************************************************************

  // Get the event target element.
  var oTarget = getEventTarget(e);
  oTarget = findTarget(oTarget, 'CX');

  // If the target object supports context menus then call the
  // context menu formula.
  if (oTarget) {
    // Attach the upClick event to the mouse up event to cancel
    // the next mouse up event.
    document.onmouseup = upClick;
    // Call the display context menu function.
    return displayContextMenu(oTarget.getAttribute('CX'), eval(oTarget.getAttribute('CXID')), oTarget.getAttribute('CXID'), oTarget.getAttribute('D1'), e);
  }

  // Otherwise, return true.
  return true;
}

function leftClick(e) {
//*********************************************************************************************
//Purpose: Call the appropriate left click function.
//Inputs:  e - the Netscape event object.
//Outputs: None.
//*********************************************************************************************

  // Get the event target element.
  var oTarget = getEventTarget(e);
  oTarget = findTarget(oTarget, 'DG');

  // If the target element is draggable then call drag function.
  if (oTarget) {
    startDrag(e, oTarget);
    return false;
  }

  // Otherwise, return true.
  return true;
}

function navigateLink(e) {
//*********************************************************************************************
//Purpose: Check to see if the item clicked is a simulated link.  If so,
//        then navigate to the target link.
//Inputs:  e - Navigator event object.
//Outputs: None.
//*********************************************************************************************
  // Exit if the event object is corrupted.

  if (bIsW3C && !e)
    return false;

  // Release the mouse move and mouse up events.
  document.onmousemove = null;
  document.onmouseup = null;

  // If the clicked element is a simulated link then navigate to the
  // target page.
  if (oBeingDragged.getAttribute('SL'))
    eval(oBeingDragged.getAttribute('SL'));

  oBeingDragged = null;
  return false;
}

function Init() {
//*********************************************************************************************
//Purpose: This function gets called by the document onload event
//        and associates the appropriate event handlers.
//Inputs:   None.
//Outputs: None.
//*********************************************************************************************
  document.onmousedown = elementClick;
  document.oncontextmenu = rightClick;

  dragInit();                 // Drag and drop initialization routine.
  //initialise();

  if(logClientStopTimer) {
    stopTimer(logClientName);
  }

  if(logClient) {
    logClientTimes(currentUrlObjectID, currentFullURL);
  }

}

function returnFormField(oForm, sField){
    var col = null;
    var elem = null;
    col = oForm.elements;
    for (var i=0; i<col.length; i++){
        elem = col[i];
        if (elem.id == sField) {
            return elem;
        }
    }
    return elem;
}


function submitFormSpecial(sFormName, aFields, aFieldValues) {
    var oField = null;
    var bFailed = false;

    var oForm = getObj(sFormName);

    for (i=0; i<aFields.length; i++) {
      // For each one of the fields, look for it on the form
      oField = returnFormField(oForm, aFields[i]);
      if (oField) {
        //alert(aFields[i] + " = " + aFieldValues[i]);
        oField.value = aFieldValues[i];
      }
      else
        bFailed = true;
    }

    if (!bFailed) {
      submitForm(oForm);
    }
}


function submitFormValues(sFormName, aFields, aFieldValues) {
//*********************************************************************************************
//Purpose: Changes the value of a supplied field and submits the form
//Inputs:   sFormName, sFieldName, sFieldValue
//Outputs: None.
//*********************************************************************************************
  var oField = null;
  var bFailed = false;

  var oForm = getObj(sFormName);

  synchForm(oForm);
  for (i=0; i<aFields.length; i++) {
    oField = getObj(aFields[i]);
    if (oField) {
      oField.value = aFieldValues[i];
    }
    else
      bFailed = true;
  }

  if (!bFailed) {
    submitForm(oForm);
  }
}

function updatefbNameFormula() {
//*********************************************************************************************
//Purpose: Updates the definition text box in formula editor
//Inputs:   None.
//Outputs: None.
//*********************************************************************************************
  var oTemplateElement = getObj('fbTemplateElement');
  var oName = getObj('fbName');
  var oFormula = getObj('fbFormula');
  var oFormulaSpn = getObj('spnfbFormula');
  oFormula.value = aTemplateElements[parseInt(oTemplateElement.value)][lPropertyFormula];
  if ((parseInt(oTemplateElement.value) == 0) && (aTemplateElements[parseInt(oTemplateElement.value)][lPropertyKey] == ''))
    oName.value = sNewMetric;
  else {
  	//var reg = new RegExp("</SCRIPT>");
  	var alias = aTemplateElements[parseInt(oTemplateElement.value)][lPropertyAlias];
    //if (alias.toUpperCase().search(reg) != -1) {
    //	alias = alias.substr(4, alias.length-7);
   	//}
   	oName.value = alias;
  }

  if (aTemplateElements[parseInt(oTemplateElement.value)][lPropertyDerivedMetric] == 'false') {
    oFormula.readOnly = true;
    oFormulaSpn.setAttribute('TG', 'FALSE');
  }
  else {
    oFormula.readOnly = false;
    oFormulaSpn.setAttribute('TG', 'TRUE');
  }
}

function toggleCheck(oCheck, useDefault) {
//*********************************************************************************************
//Purpose: Toggles check box image status.
//Inputs:   Check box image.
//Outputs: None.
// ** UPDATED FOR GG IMPLEMENTATION **
//*********************************************************************************************
  var chkState = oCheck.getAttribute("CV");
  var oHidden = getObj(oCheck.getAttribute("CL"));
  chkState--;
  if (chkState < -2)
    chkState = 0;
  switch (chkState) {
    case -1:
      oCheck.src = sImgFolder + 'check_on.gif';
      break;
    case 0:
      oCheck.src = sImgFolder + 'check_off.gif';
      break;
    case -2:
      if (useDefault) {
          oCheck.src = sImgFolder + 'Check_conflict.gif';
      } else {
          // There's no default, so from On it will change to Off
          chkState = 0;
          oCheck.src = sImgFolder + 'check_off.gif';
      }
      break;
  }
  oCheck.setAttribute("CV", chkState);
    oHidden.value = chkState;
}

function synchForm(oForm) {
//*************************************************
//Purpose:
//*************************************************
  var sField = '';
  var ocHidden = oForm.getElementsByTagName('INPUT');
  for (i = 0; i < ocHidden.length; i++) {
    sField = ocHidden[i].name;
    sField = sField.toUpperCase();
    switch (sField) {
      case 'INDEX':
        ocHidden[i].value = lStateID;
        break;
      case 'MSGID':
        ocHidden[i].value = sMsgID;
        break;
      case 'VIEW':
        ocHidden[i].value = sView;
        break;
    }
  }
  return true;
}

//**DHTMLAPI

function getObj(vObject) {
//*********************************************************************************************
//Purpose: Return an object reference
//Inputs:  vObject - object name or object reference
//Outputs: object reference.
//*********************************************************************************************

    if (typeof vObject == 'string') {
        if (bIsIE4)
            return eval("document.all." + vObject);
        else if (bIsW3C)
            return document.getElementById(vObject);
        else
            if (document.layers[vObject])
                return document.layers[vObject];
            else
                return eval("document." + vObject);
    }
    else {
        return vObject;
    }
}

function getObjects(vObject) {
//*********************************************************************************************
//Purpose: Return an object reference

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -