Sha256: 6837931e9c09046a87ca316d247c3c79fd4cca26e2e5972333c949aee464f1d5
Contents?: true
Size: 1.72 KB
Versions: 9
Compression:
Stored size: 1.72 KB
Contents
// ======================================================================== // SproutCore // copyright 2006-2008 Sprout Systems, Inc. // ======================================================================== require('Core') ; /** This object can generate HTML DOM elements from a hash-based description of the nodes. See the NodeDescriptor wiki page for complete docs. See https://wiki.sproutit.com/engineering/show/NodeDescriptor @deprecated */ SC.NodeDescriptor = { create: function(descriptor, opts) { if (!opts) opts = {} ; // collect info from descriptor var tag = opts.tag || descriptor.tag || 'div' ; var className = opts.cssClass || descriptor.cssClass ; var elementId = opts.id || descriptor.id ; var style = opts.style || descriptor.style ; var innerHTML = opts.innerHTML || descriptor.innerHTML ; if (!innerHTML) { var childNodes = opts.childNodes || descriptor.childNodes ; } // create element var ret = $(document.createElement(tag)) ; if (className) ret.className = className ; if (elementId) ret.id = elementId ; if (style) { for (var name in style) element.style[name.camelize()] = style[name]; } // apply extra attributes for(var attr in descriptor) { if (this.ignoredProperties.indexOf(attr) == -1) { ret.setAttribute(attr,descriptor[attr]) ; } } // build child nodes, if they exist. if (innerHTML) { ret.innerHTML = innerHTML ; } else if (childNodes) { var that = this ; childNodes.each(function(desc) { ret.appendChild(that.create(desc)) ; }) ; } return ret ; }, ignoredProperties: ['tag','cssClass','id','style','childNodes','innerHTML'] }
Version data entries
9 entries across 9 versions & 1 rubygems