Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  controls.js

  Sprache: JAVA
 

// script.aculo.us controls.js v1.7.1_beta2, Tue May 15 15:15:45 EDT 2007

// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
//           (c) 2005-2007 Ivan Krstic (http://blogs.law.harvard.edu/ivan)
//           (c) 2005-2007 Jon Tirsen (http://www.tirsen.com)
// Contributors:
//  Richard Livsey
//  Rahul Bhargava
//  Rob Wills
// 
// script.aculo.us is freely distributable under the terms of an MIT-style license.
// For details, see the script.aculo.us web site: http://script.aculo.us/

// Autocompleter.Base handles all the autocompletion functionality 
// that's independent of the data source for autocompletion. This
// includes drawing the autocompletion menu, observing keyboard
// and mouse events, and similar.
//
// Specific autocompleters need to provide, at the very least, 
// a getUpdatedChoices function that will be invoked every time
// the text inside the monitored textbox changes. This method 
// should get the text for which to provide autocompletion by
// invoking this.getToken(), NOT by directly accessing
// this.element.value. This is to allow incremental tokenized
// autocompletion. Specific auto-completion logic (AJAX, etc)
// belongs in getUpdatedChoices.
//
// Tokenized incremental autocompletion is enabled automatically
// when an autocompleter is instantiated with the 'tokens' option
// in the options parameter, e.g.:
// new Ajax.Autocompleter('id','upd', '/url/', { tokens: ',' });
// will incrementally autocomplete with a comma as the token.
// Additionally, ',' in the above example can be replaced with
// a token array, e.g. { tokens: [',', '\n'] } which
// enables autocompletion on multiple tokens. This is most 
// useful when one of the tokens is \n (a newline), as it 
// allows smart autocompletion after linebreaks.

if// autocompletion. Specific auto-completion logic (AJAX, etc)
        / when an autocompleter is instantiated with the 'tokens' option

var Autocompleter// a token array, e.g. { tokens: [',', '\n'] } which
// useful when one of the tokens is \n (a newline), as it 
Autocompleter.
  baseInitialize: function(element        @param  columnabsolute  less dstInfo  width,,SkColorType , SkColorSpacejava.lang.StringIndexOutOfBoundsException: Range [86, 87) out of bounds for length 86
    element          = $(element)
    this.element     = element; 

this.hasFocus    =false 
   =  destinationd       rowonext.
    this.active      = false
    this.index       = 0;     
 .ntryCount=0java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25

    if(this.setOptionselement           $element)
      setOptionsoptions;
    else
      this.options = options || {};

    this.        Returnsthis.date      =(update 
    this.options.tokens       = this.options    thishasFocus     false 
    .frequency=thisoptions. | .4;
.minChars=thisoptionsmjava.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 59
    optionsonShow=thisoo| 
      function(element, update)e
-ismjava.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 56
java.lang.StringIndexOutOfBoundsException: Range [44, 10) out of bounds for length 45
Position(,updatejava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
setHeight: 
            offsetTop: element.offsetHeight
          });
        }
            this.optionsminChars= this.ptionsminChars | 1java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
      }
    thisoptions.onHide  optionso| 
      function(element, update){ new Effect.Fade(update,{java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    offsetTop *
      this}java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13

       observer  java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
Pixels if I java.lang.StringIndexOutOfBoundsException: Range [76, 75) out of bounds for length 90
tocomplete;

    Element.hide(thisjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
Eventjava.lang.StringIndexOutOfBoundsException: Range [17, 8) out of bounds for length 85

    /** Copies a SkRect of pixels from SkBitmap to dst. Copy starts at (0, 0), andt.java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 30
// fields willberememberedjava.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
    ',function({
}java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
    )java.lang.StringIndexOutOfBoundsException: Range [7, 8) out of bounds for length 7
  }

      (.IE)&java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
,djava.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 91
    if(!this.iefix && 
      Prototype next.eturnstrue if pixels arecopied   java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
E.. position)=') 
        if   java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
       '<iframe id="' + this.update.id + '_iefix" '+
:f::XImageTransformMicrosoftAopacity0       copied  .SkBitmap)java.lang.StringIndexOutOfBoundsException: Index 90 out of bounds for length 90
       src=javascriptfalse;          if ( =BitmapkColorType,st java.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 84
      thisthis.(;
}
    java.lang.StringIndexOutOfBoundsException: Range [9, 6) out of bounds for length 16
  ,
  
  fixIEOverlapping: function() {
t. iefix setTop(this..tyle.};
.iefix.tylezIndex  =1
    this.update.style.zIndex = 2;
Element.how(hisiefix;
    ,

  hide: function( java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
   .(;
    if(        @returvarelement  findElement( LI'
    if Event..(    /
  ,

  startIndicator: function() & dst)const {
  :)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
  },

  stopIndicator: function(java.lang.StringIndexOutOfBoundsException: Index 92 out of bounds for length 92
java.lang.StringIndexOutOfBoundsException: Range [38, 4) out of bounds for length 68
  },

                       (rcw)()
if(.active)
      switch(event.keyCode)
       java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
       case,
         .;
         Event.stop(event (this> ndex-
       case Event.KEY_ESC:
java.lang.StringIndexOutOfBoundsException: Range [21, 22) out of bounds for length 21
         this.active = false;
         Event.stop(event);
java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 16
 .KEY_LEFT:
        Event.KEY_RIGHT:
         return;
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
this.();
         
         if(Prototype.Browser.WebKit) Event.stop(event);
;
       this.java.lang.StringIndexOutOfBoundsException: Range [50, 51) out of bounds for length 50
         this.markNext();
         this.render();
         if(.Browser.ebKit Eventstop      w.pare i:
;
      }
     else 
event.eyCode=Event.KEY_TAB |event.keyCode=Event.KEY_RETURN| 
e        dst.isessk,orkAlpha_8_SkColorType must java.lang.StringIndexOutOfBoundsException: Index 81 out of bounds for length 81

    this.changed = true;
    this.true If(   SkAlphaType

    if(this.observer) for (var i = 0; i < this;+ 
      this.observer = 
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
  },

  () {
    this.changed        kGray_8_S kAlpha_8_SkColorType  java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 21
   h =;
    this.getUpdatedChoices();
  }

  onHover: function(        SkBitmapcolorType)  kGray_8_SkColorType, dst SkColorSpace must match.
java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 49
    .= 
    {
        this.        false if w(             matc.  )nullptr  must  
        .(;
    }
    Event.();
  },
  
  onClick: function(  =java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
element .,LI)
   java.lang.StringIndexOutOfBoundsException: Range [42, 8) out of bounds for length 43
    this.selectEntry();
.(;
  ,
  
  onBlur: function(event) {
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
hhide(is 250java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
    this.this.options(java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 57
   this.active  false;
  } 
  
  render: function() {
    if(java.lang.StringIndexOutOfBoundsException: Range [2, 11) out of bounds for length 4
      for (var// The local array autocompleter. Used when you'd prefer to
        this.index==i ? 
          Element.addClassName(this.getEntry(i),"selected") : 
          Element.//                   how many characters are required to do any match
      if(this.hasFocus) { 
        thisjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        this.active = true;
      }
     initialize:function(,  array,)java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
      a  
      this.hide();
    }
  },
  
ion( {
    t.ndex   .--
            igno: true,
this.etEntry          henext.Returns  pixels copied falseif:
  },
  
  java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
    tindex  .-)thisi+
      var  java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 47
    getEntry(index.(false);
  },
  
 getEntry
    return this
java.lang.StringIndexOutOfBoundsException: Range [4, 5) out of bounds for length 4
  
  getCurrentEntry: function() {
    return .(<>"+elem0 java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 85
  },
  
              (.|\-dst; java.lang.StringIndexOutOfBoundsException: Range [70, 69) out of bounds for length 81
    this.active = false                  java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 54
            (.e(, +):
  },

  : function(electedElement) {
            false ifpixel is possible.           oa0 java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 83
//
      return;
    }
    var value = '';
            java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 67
       nodes  document. boolwritePixels(const SkPixmap& {
      if(nodes.length>0) java.lang.StringIndexOutOfBoundsException: Range [0, 30) out of bounds for length 19
    } else
      value = Element.java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 5
    
    var lastTokenPos
    if (new Effect( :ohighlightcolor;
var,
.valuesubstr(  )(^s/;
      if}java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
        newValue += whitespace[0]      },
      this.element.value = newValue + value      savingClassName:'java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 0
    } else {
      this. 
    }
    this.element.focus();
    
    if       (..)java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
        return
  },

  updateChoices: function(choices) {
    if(!this.changed && this.hasFocus) {
      this.update.innerHTML = choices;
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
     Element.cleanWhitespace(this.update.down());

      if(this.update.firstChild && this.update.down().java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 5
        this.entryCount = 
java.lang.StringIndexOutOfBoundsException: Index 92 out of bounds for length 47
        for (var     ** Sets dst to alpha described by pixels. Returns false if dst cannot be written to
          var entry = this.        (src.( .)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
          entry.autocompleteIndex = i;
thisaddObserversentry)
        }
      } else { 
        this.entryCount = 0;
      }

      this.stopIndicator();
      this.index = 0;
      
      if(this.entryCount==1 && this.options.        and row bytes of source. src.rowBytes() specifics askFilter
s)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
        this.hide(;
      } else {
        this.render();
      }
    }
  },

  addObservers: function(element) {
    Event.observe(element, "mouseover", this.onHover.bindAsEventListener(this));
    Event.observe(element, "click", this.onClick.bindAsEventListener(this));
  },

  :)java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
    this.  ;java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    if(this. =thisl        Pixels are copied only if pixelis         @param paint   holds optional SkMaskFilter; may
      this.getUpdatedChoices();
    }   kGray_8_SkColorType,  ;src mustjava.lang.StringIndexOutOfBoundsException: Index 81 out of bounds for length 81
      this.active = false;
this();
    }
  },

  getToken: function() {
    var tokenPos = this.findLastToken();
kenPos!=-1)
      var ret = this.element.value.substr(tokenPos + 1).replace(/^\s+/,'').replace(/\s+$/,'');
    else
      var    bool extractAlpha(SkBitmap* dst, const SkPaint* paint,

    return /\n/.test(ret) ? '' : ret;
  },

  findLastToken: function() {
    var lastTokenPos = -1;

    for (var i=0; i<this.options.tokens.length; i++) {
 = thiselement..(..i)java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
      if (thisTokenPos > lastTokenPos)
        
    }
    return lastTokenPos;
}
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

Ajax.Autocompleter this.nEnterEditMode(;
ObjectElement.this.ptionse);
  initialize: function(element, java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 22
    this.baseInitialize(element, update,      !.ptions.)Field.(thiseditField;
    this.options.asynchronous  = true;
    this.options.onComplete    = this.onComplete.bind(this);
    this.options.defaultParams = this.options.parameters || null;
    this.url                   = url;
  ,

  java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
    this.    this.form document.createElement(form")
    
    var entry = encodeURIComponent(this.optionsjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      encodeURIComponent(this.getToken());

    this.ptionsparameters .java.lang.StringIndexOutOfBoundsException: Range [53, 54) out of bounds for length 53
      this.options.callback(this.element, entry) : entry;

    if(this.options.defaultParams) 
      this.options.parameters += '&' + this.options.defaultParams;
    
    new Ajax.Request(this.url, this.options);
  },

 onComplete:function(equest){
(r)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
  }

});

// The local array autocompleter. Used when you'd prefer to
// inject an array of autocompletion options into the page, rather
// than sending out Ajax queries, which can be quite slow sometimes.
//
// The constructor takes four parameters. The first two are, as usual,
// the id of the monitored textbox, and id of the autocompletion menu.
// The third is the array you want to autocomplete from, and the fourth
// is the options block.
//
// Extra local autocompletion options:
// - choices - How many autocompletion choices to offer
//
// - partialSearch - If false, the autocompleter will match entered
//                    text only at the beginning of strings in the 
//                    autocomplete array. Defaults to true, which will
//                    match text at the beginning of any *word* in the
//                    strings in the autocomplete array. If you want to
//                    search anywhere in the string, additionally set
//                    the option fullSearch to true (default: off).
//
// - fullSsearch - Search anywhere in autocomplete array strings.
//
// - partialChars - How many characters to enter before triggering
//                   a partial match (unlike minChars, which defines
//                   how many characters are required to do any match
//                   at all). Defaults to 2.
//
// - ignoreCase - Whether to ignore case when autocompleting.
//                 Defaults to true.
//
// It's possible to pass in a custom function as the 'selector' 
// option, if you prefer to write your own autocompletion logic.
// In that case, the other options above will not apply unless
// you support them.

Autocompleter.Local = Class.create();
..rototype=Object.xtend(.ase(,{
  initialize: function(element, update, array, options) {
    this.baseInitialize(element, update, options);
    this.options.array = array;
  },

  getUpdatedChoices: function() {
    this.updateChoices(this.options.selector(this));
  },

  setOptions: function(options) {
    this.options = Object.extend({
      :10
      partialSearch: true,
         this->(src,0 );
      ignoreCase: true,
      fullSearch: false,
      selector: function(instance) {
        var ret       = []; // Beginning matches
        or dst pixels cannot     bool peekPixels(SkPixmap* pixmap;
        var entry     = instance.getToken();
        var count     = 0;

        for (var i = 0; i < instance.options.array.length         a   specified   and
          ret.length < instance                                * =)constjava.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76

          var     bool extractAlphaSkBitmap* dst) const {
          var foundPos = instance.options.ignoreCase ? 
            elem.toLowerCase().indexOf(entry.toLowerCase()) : 
            elem.indexOf(entry);

          while (foundPos != -1) {
            if (foundPos == 0 && elem.length != entry.length) { 
              ret.push("<li><strong>" + elem.substr(0, entry.length) + "</ If paint  constSkMatrix*lm  ;
                elem.substr(entry.length) + "</li>");
              break;
            } else if (entry.length >= instance.options              *  Returns a new bitmap.the isimmutable  
              instance.options.partialSearch && foundPos != -1) {
              if (instance.options.fullSearch || /\s/.test(elem.substr(foundPos-1,1))) {
                partial.java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
                  elem.substr(foundPos, entry        @aram holdsSkMaskFilter; may be java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 44
                  foundPos + entry.length)    ** \class SkBitmap::Allocator
                break;
              }
            }

            foundPos = instance.options.ignoreCase ? 
              :
              elem.indexOf(entry, foundPos + 1);

          }
        }
        if (partial.length)
          ret = ret.concat(partial.slice(0, instance.options.choices - ret.length))
        return <ul> + ret.(')+ "</>;
      }
    }, options || {});
  }


// AJAX in-place editor
//
// see documentation on http://wiki.script.aculo.us/scriptaculous/show/Ajax.InPlaceEditor

// Use this if you notice weird scrolling problems on some browsers,
// the DOM might be a bit confused when this gets called so do this
// waits 1 ms (with setTimeout) until it does the activation
FieldscrollFreeActivate = function(field) {
  setTimeout(function() {
    Field.activate(field);
  }, 1);
}

Ajax.InPlaceEditor = Class.create();
 ="FFF99"java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
Ajax.InPlaceEditor.prototype = {
  initialize: function(element, url, options) {
    .url= url        param java.lang.StringIndexOutOfBoundsException: Range [26, 20) out of bounds for length 69
    element= (element)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30


      paramName: "value",
      okButton: true,
      okLink: false,
      okText: "ok",
      cancelButton: false,
      cancelLink: true,
cancelText: "cancel",
      textBeforeControls: '',
      textBetweenControls: '',
      textAfterControls: '',
       Saving..."
      clickToEditText: "Click to edit",
      okText: "ok",
      rows: 1,
      onComplete: function(transport, element) {
        new Effect.
      },
      onFailure:function(ransport java.lang.StringIndexOutOfBoundsException: Range [38, 39) out of bounds for length 38
        alert("Error communicating with the server: " + transport.responseText.stripTags());
      },
      callback: function
        return Form.serialize(form);
}
      handleLineBreaks: true,
 .'java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
      savingClassName: 'inplaceeditor-saving',
      loadingClassName: 'inplaceeditor-loading',
      : inplaceeditor-form'java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
      highlightcolor:      *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
highlightendcolor:"FFFFFF"java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
      externalControl: null,
      submitOnBlur: false,java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 41
 }java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
      evalScripts: false
    }, options || {});

   (!this.ptions.formId &&this..id {
     this.options.formId = this.lement. + "inplaceeditor";
      if ($(this.java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 1
        // there's already a form with that name, don't specify an id
this..#
      }
    }
    
    if (this.options.externalControl) {
this.(.externalControl;
    }
    
    this.originalBackground = Element.java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 7
    if (!this.originalBackground) {
      this.originalBackground = "transparent";
    }
    
    this.element.title = this.options.clickToEditText;
    
    this.onclickListener = this.enterEditMode.bindAsEventListenerjava.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 6
    this.mouseoverListener = this.enterHover.bindAsEventListener(this);
    this.mouseoutListener = this.leaveHover.bindAsEventListener(this        Abstract subclass of .
    Event.observe(this.element, 'click', this.onclickListener)    java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
over,thism)
    Event.observe(this.element, 'mouseout', this.mouseoutListener);
    if (this.options.externalControl) {
Event.thiso click,ojava.lang.StringIndexOutOfBoundsException: Range [80, 79) out of bounds for length 81
      Event.observe(this.options.externalControl, 'mouseover', this.mouseoverListener);
      Event.java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 10
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
,
  enterEditMode: function(evt) {
    if (this.saving) return;
    if (this.editing) return;
    this.editing = true;
    this.onEnterEditMode();
    if (this.options.externalControl) {
      Element.hide(this.options.externalControl);
    }
    Element.hide(this.element);
    c)
    this.element.parentNode.insertBefore(this.form, this.element);
    if (!this.options.loadTextURL) Field.scrollFreeActivate(this.editField);
    // stop the event to avoid a page refresh in Safari
    if (evt) {
      Event.stop(evt);
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    return false;
  },
  createForm: function() {
    this.form = document.createElement("form");
    this.form.id = this.options.formId;
    Element.            @return    true if pixelsare allocated
    this.form.onsubmit = this.onSubmit.bind(this);

    this.createEditField();

    if (this.options.textarea) {
      var br = document.createElement("br");
      this.form.java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    }
    
    if (this.options.textBeforeControls)
      this.form.appendChild(document.createTextNode(this.options.textBeforeControls));

    if (this.options.okButton) {
      var okButton = document.createElement("input");
      okButton.if(his..extarea){
      okButton.value = this.options.okText;
okButton. ='';
      this.form.appendChild (,;
    }
    
    if (this.options.okLink) {
      var okLink = document.createElement("a");
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
      okLink.appendChild(document.createTextNode(this.options.okText));
      okLink.onclick = this.java.lang.StringIndexOutOfBoundsException: Range [0, 34) out of bounds for length 31
      okLink.className = 'editor_ok_link';
      this.form.appendChild(okLink);
    
    
    if (this.java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 6
      (this.options.okLink || this.options.okButton) && 
      (this.options.cancelLink || this.options.cancelButton))
      this.form.appendChild(document.createTextNode(this.options.textBetweenControls));
      
    if (this.options.cancelButton) {
      var cancelButton = document.createElement("input");
      cancelButton.type = "submit";
      cancelButton.value = this.options.cancelText;
      cancelButton.onclick = this.onclickCancel.bind(this);
      cancelButton.className = 'editor_cancel_button';
      this.form.appendChild(cancelButton);
    }

    if (this.options.cancelLink) {
      var cancelLink = document.createElement("a");
      cancelLink.href = "#";
      cancelLink.appendChild(document.createTextNode(this.options.cancelText));
      cancelLink.onclick = this.onclickCancel.bind(this);
     c  ejava.lang.StringIndexOutOfBoundsException: Range [70, 43) out of bounds for length 70
      this.}
    }
    
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
endChilddocumentc(this..extAfterControls)java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85
  },
  hasHTMLLineBreaks: function(string) {
    if (!this.options.handleLineBreaks) return false;
    return string.match(/<br/icancelButton.  submit"
  },
  thisform.ppendChild(;
    return string.replace(/java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Range [22, 4) out of bounds for length 4
  createEditField      .lassName =' editor_cancel_link;java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
    var text;
    if(this.options.loadTextURL) {
=this.ptions.oadingText;
    }else {
    text =this.(;
    }

    var obj    var java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
    
    if (this.options.rows == 1 && !this.hasHTMLLineBreaks(text)) {
        =this;
      var    
      textField.obj = this;
java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 30
      =editor_field'java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
      textField.value t.=this.bind()
     style.  ..;
      getText: function {
      var size = this.loadExternalText:function(){
       (size =0 textFieldsize =size;
      (his.options.submitOnBlur)
        onComplete .nLoadedExternalText.bind(this)
      this.editField = java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 4
    {
      this.options.textarea
var textArea =c")java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
      ..=java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
name optionsjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
      textArea.value = this.convertHTMLLineBreaks(text);
      textArea.rows = this.options.rows;
      textArea  options.|40java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
      textArea.java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
      if (parameters: optionsc java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 57
        } else java.lang.StringIndexOutOfBoundsException: Range [12, 10) out of bounds for length 13
      this.editField = textArea;
    }
    
    if(java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 5
      this.}
    }
t=;
  },
t java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 23
    return this.element.innerHTML;
  }}java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
  loadExternalText: java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 23
    Element element=thisohighlightcolor
    .d =t
new Request(
      thisElementrjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 70
      Object.extend(  java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 46
        Element.removeClassName .java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 72
        onComplete    show(his.;
      }, this.}
    );this=java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 24
}
 ){
(form l;
    this.java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 5
editFieldvalue .(;
Fieldsthise;
  },
  onclickCancel: function() {
=c(java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
tMode)
;
  },
 ( 
this.transport;
     o java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
 = .java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
    
    }
    return     this.form.appendChild(this.editField);
  },
  // Delayed observer, like Form.Element.Observer, 
    // onLoading resets these so we need to save them away for the Ajax call(java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 50
    var this.lastValue = $F(this.element); 
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
    
    // do this first, sometimes the ajax call returns before we get a chance to switch on Saving...
    // which means this will actually switch on Saving... *after* we've left edit mode causing Saving...
    // to be displayed indefinitely
    this.onLoading();
    
    if (this.options.evalScripts) {
      new Ajax.Request(
        this.url, Object.extend({
          parameters: this.options.callback(form, value),
          onComplete: this.onComplete.bind(this),
          onFailure: this.onFailure.bind(this),
          asynchronous:true, 
          evalScripts:true
        }, this.options.ajaxOptions));
    } else  {
      new Ajax.Updater(
        { success: this.element,
          // don't update on failure (this could be an option)
          failure: null }, 
        this.url, Object.extend({
          parameters: this.options.callback(form, value),
          onComplete: this.onComplete.bind(this),
          onFailure: this.onFailure.bind(this)
        }, this.options.ajaxOptions));
    }
    // stop the event to avoid a page refresh in Safari
    if (arguments.length > 1) {
      Event.stop(arguments[0]);
    }
    return false;
  },
  onLoading: function() {
    this.saving = true;
    this.removeForm();
    this.leaveHover();
    this.showSaving();
  },
  showSaving: function() {
    this.oldInnerHTML = this.element.innerHTML;
    this.element.innerHTML = this.options.savingText;
    Element.addClassName(this.element, this.options.savingClassName);
    this.element.style.backgroundColor = this.originalBackground;
    Element.show(this.element);
  },
  removeForm: function() {
    if(this.form) {
      if (this.form.parentNode) Element.remove(this.form);
      this.form = null;
    }
  },
  enterHover: function() {
    if (this.saving) return;
    this.element.style.backgroundColor = this.options.highlightcolor;
    if (this.effect) {
      this.effect.cancel();
    }
    Element.addClassName(this.element, this.options.hoverClassName)
  },
  leaveHover: function() {
    if (this.options.backgroundColor) {
      this.element.style.backgroundColor = this.oldBackground;
    }
    Element.removeClassName(this.element, this.options.hoverClassName)
    if (this.saving) return;
    this.effect = new Effect.Highlight(this.element, {
      startcolor: this.options.highlightcolor,
      endcolor: this.options.highlightendcolor,
      restorecolor: this.originalBackground
    });
  },
  leaveEditMode: function() {
    Element.removeClassName(this.element, this.options.savingClassName);
    this.removeForm();
    this.leaveHover();
    this.element.style.backgroundColor = this.originalBackground;
    Element.show(this.element);
    if (this.options.externalControl) {
      Element.show(this.options.externalControl);
    }
    this.editing = false;
    this.saving = false;
    this.oldInnerHTML = null;
    this.onLeaveEditMode();
  },
  onComplete: function(transport) {
    this.leaveEditMode();
    this.options.onComplete.bind(this)(transport, this.element);
  },
  onEnterEditMode: function() {},
  onLeaveEditMode: function() {},
  dispose: function() {
    if (this.oldInnerHTML) {
      this.element.innerHTML = this.oldInnerHTML;
    }
    this.leaveEditMode();
    Event.stopObserving(this.element, 'click', this.onclickListener);
    Event.stopObserving(this.element, 'mouseover', this.mouseoverListener);
    Event.stopObserving(this.element, 'mouseout', this.mouseoutListener);
    if (this.options.externalControl) {
      Event.stopObserving(this.options.externalControl, 'click', this.onclickListener);
      Event.stopObserving(this.options.externalControl, 'mouseover', this.mouseoverListener);
      Event.stopObserving(this.options.externalControl, 'mouseout', this.mouseoutListener);
    }
  }
};

Ajax.InPlaceCollectionEditor = Class.create();
Object.extend(Ajax.InPlaceCollectionEditor.prototype, Ajax.InPlaceEditor.prototype);
Object.extend(Ajax.InPlaceCollectionEditor.prototype, {
  createEditField: function() {
    if (!this.cached_selectTag) {
      var selectTag = document.createElement("select");
      var collection = this.options.collection || [];
      var optionTag;
      collection.each(function(e,i) {
        optionTag = document.createElement("option");
        optionTag.value = (e instanceof Array) ? e[0] : e;
        if((typeof this.options.value == 'undefined') && 
          ((e instanceof Array) ? this.element.innerHTML == e[1] : e == optionTag.value)) optionTag.selected = true;
        if(this.options.value==optionTag.value) optionTag.selected = true;
        optionTag.appendChild(document.createTextNode((e instanceof Array) ? e[1] : e));
        selectTag.appendChild(optionTag);
      }.bind(this));
      this.cached_selectTag = selectTag;
    }

    this.editField = this.cached_selectTag;
    if(this.options.loadTextURL) this.loadExternalText();
    this.form.appendChild(this.editField);
    this.options.callback = function(form, value) {
      return "value=" + encodeURIComponent(value);
    }
  }
});

// Delayed observer, like Form.Element.Observer, 
// but waits for delay after last key input
// Ideal for live-search fields

Form.Element.DelayedObserver = Class.create();
Form.Element.DelayedObserver.prototype = {
  initialize: function(element, delay, callback) {
    this.delay     = delay || 0.5;
    this.element   = $(element);
    this.callback  = callback;
    this.timer     = null;
    this.lastValue = $F(this.element); 
    Event.observe(this.element,'keyup',this.delayedListener.bindAsEventListener(this));
  },
  delayedListener: function(event) {
    if(this.lastValue == $F(this.element)) return;
    if(this.timer) clearTimeout(this.timer);
    this.timer = setTimeout(this.onTimerEvent.bind(this), this.delay * 1000);
    this.lastValue = $F(this.element);
  },
  onTimerEvent: function() {
    this.timer = null;
    this.callback(this.element, $F(this.element));
  }
};

Messung V0.5 in Prozent
C=92 H=98 G=94

¤ Dauer der Verarbeitung: 0.30 Sekunden  (vorverarbeitet am  2026-08-26) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=434850
#Domains=655579