Sha256: 05b0506e51907ebd7ac41e7c27da439b49863140f508f8d00de1b6a934ff0831

Contents?: true

Size: 1.18 KB

Versions: 3

Compression:

Stored size: 1.18 KB

Contents

include('const.js');
/**
 * Shortcut access to uki.build, uki.Selector.find and uki.Collection constructor
 * uki('#id') is also a shortcut for search by id
 *
 * @param {String|uki.view.Base|Object|Array.<uki.view.Base>} val
 * @param {Array.<uki.view.Base>=} optional context for selector
 * @class
 * @namespace
 * @name uki
 * @return {uki.Collection}
 */
root.uki = root.uki || function(val, context) {
    if (typeof val === "string") {
	
        var m = val.match(/^#((?:[\w\u00c0-\uFFFF_-]|\\.)+)$/),
            e = m && uki._ids[m[1]];
        if (m && !context) {
            return new uki.Collection( e ? [e] : [] );
        }
        return uki.find(val, context);
		
    }
    if (val.length === undefined) val = [val];
    if (val.length > 0 && uki.isFunction(val[0].typeName)) return new uki.Collection(val);
	
    return uki.build(val);
};

/**
 * @type string
 * @field
 */
uki.version = '0.3.8';
uki.guid = 1;

/**
 * Empty function
 * @type function():boolean
 */
uki.F = function() { return false; };
uki._ids = {};

uki.registerId = function(comp) {
    uki._ids[ uki.attr(comp, 'id') ] = comp;
}; 
uki.unregisterId = function(comp) {
    uki._ids[ uki.attr(comp, 'id') ] = undefined;
};

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
uki-1.1.4 frameworks/uki/src/uki-core/uki.js
uki-1.1.3 frameworks/uki/src/uki-core/uki.js
uki-1.1.2 frameworks/uki/src/uki-core/uki.js