if (!dojo._hasResource["dojox.wire.TextAdapter"]) { // _hasResource checks added // by build. Do not use // _hasResource directly in // your code. dojo._hasResource["dojox.wire.TextAdapter"] = true; dojo.provide("dojox.wire.TextAdapter"); dojo.require("dojox.wire.CompositeWire"); dojo.declare("dojox.wire.TextAdapter", dojox.wire.CompositeWire, { // summary: // A composite Wire for a concatenated text // description: // This class has multiple child Wires for text segment values. // Wires in 'segments' property are used to get text segments // and // values are concatenated with an optional delimiter string // specified // to 'delimiter' property. _wireClass : "dojox.wire.TextAdapter", constructor : function(/* Object */args) { // summary: // Initialize properties // description: // If array elements specified in 'segments' are not Wires, // Wires // are created from them as arguments, with 'parent' // property set // to this Wire instance. // args: // Arguments to initialize properties // segments: // An array containing child Wires for text segment values // delimiter: // A delimiter string this._initializeChildren(this.segments); if (!this.delimiter) { this.delimiter = ""; } }, _getValue : function(/* Object||Array */object) { // summary: // Return a concatenated text // description: // This method calls getValue() method of the child Wires // wuth // 'object' argument and concatenate the values with // 'delimiter' // property to return. // arg: // A root object // returns: // A concatinated text if (!object || !this.segments) { return object; // Object||Array } var text = ""; for (var i in this.segments) { var segment = this.segments[i].getValue(object); text = this._addSegment(text, segment); } return text; // String }, _setValue : function(/* Object||Array */object, /* String */value) { // summary: // Not supported throw new Error("Unsupported API: " + this._wireClass + "._setValue"); }, _addSegment : function(/* String */text, /* String */segment) { // summary: // Return a concatenated text // description: // This method add a text segment specified to 'segment' // argument // to a base text specified to 'text', with 'delimiter' // property. // text: // A base text // segment: // A text segment to add // returns: // A concatinated text if (!segment) { return text; // String } else if (!text) { return segment; // String } else { return text + this.delimiter + segment; // String } } }); }