<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>The source code</title> <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" /> <script type="text/javascript" src="../resources/prettify/prettify.js"></script> <style type="text/css"> .highlight { display: block; background-color: #ddd; } </style> <script type="text/javascript"> function highlight() { document.getElementById(location.hash.replace(/#/, "")).className = "highlight"; } </script> </head> <body onload="prettyPrint(); highlight();"> <pre class="prettyprint lang-js"><span id='Ext-layout-ClassList'>/** </span> * This class provides a DOM ClassList API to buffer access to an element's class. * Instances of this class are created by {@link Ext.layout.ContextItem#getClassList}. */ Ext.define('Ext.layout.ClassList', (function () { var splitWords = Ext.String.splitWords, toMap = Ext.Array.toMap; return { dirty: false, constructor: function (owner) { this.owner = owner; this.map = toMap(this.classes = splitWords(owner.el.className)); }, <span id='Ext-layout-ClassList-method-add'> /** </span> * Adds a single class to the class list. */ add: function (cls) { var me = this; if (!me.map[cls]) { me.map[cls] = true; me.classes.push(cls); if (!me.dirty) { me.dirty = true; me.owner.markDirty(); } } }, <span id='Ext-layout-ClassList-method-addMany'> /** </span> * Adds one or more classes in an array or space-delimited string to the class list. */ addMany: function (classes) { Ext.each(splitWords(classes), this.add, this); }, contains: function (cls) { return this.map[cls]; }, flush: function () { this.owner.el.className = this.classes.join(' '); this.dirty = false; }, <span id='Ext-layout-ClassList-method-remove'> /** </span> * Removes a single class from the class list. */ remove: function (cls) { var me = this; if (me.map[cls]) { delete me.map[cls]; me.classes = Ext.Array.filter(me.classes, function (c) { return c != cls; }); if (!me.dirty) { me.dirty = true; me.owner.markDirty(); } } }, <span id='Ext-layout-ClassList-method-removeMany'> /** </span> * Removes one or more classes in an array or space-delimited string from the class * list. */ removeMany: function (classes) { var me = this, remove = toMap(splitWords(classes)); me.classes = Ext.Array.filter(me.classes, function (c) { if (!remove[c]) { return true; } delete me.map[c]; if (!me.dirty) { me.dirty = true; me.owner.markDirty(); } return false; }); } }; }())); </pre> </body> </html>