lib/packages/core.js
function(config) {

		var parent_config,
			parent_widget_name;

		if ('extends' in config) {

			parent_widget_name = config['extends'];
			// returns already extended configs
			parent_config = Lava.getWidgetConfig(parent_widget_name);

			for (var name in parent_config) {

				if (this._exceptions.indexOf(name) == -1) {

					if (!(name in config)) {

						config[name] = parent_config[name];

					} else if (name in this._widget_config_merged_properties) {

						this[this._widget_config_merged_properties[name]](config, parent_config, name, parent_widget_name);

					}

				}

			}

			// delay merging of storage until storage_schema is merged
			if ('storage' in parent_config) {
				if (!('storage' in config)) {
					config['storage'] = parent_config['storage'];
				} else {
					this._mergeStorage(config, parent_config, 'storage', parent_widget_name);
				}
			}

		}

		if (Lava.schema.RESOURCES_ENABLED) {
			this._extendResources(config, parent_config);
		}

		if (config.real_class && !('class_locator' in config)) {

			config['class'] = Lava.ClassManager.hasConstructor(config.real_class)
				? config.real_class
				: 'Lava.widget.' + config.real_class;

		} else {

			config['class'] = null;

		}

		config.is_extended = true;

	}
function(config) {

		var parent_config,
			parent_widget_name;

		if ('extends' in config) {

			parent_widget_name = config['extends'];
			// returns already extended configs
			parent_config = Lava.getWidgetConfig(parent_widget_name);

			for (var name in parent_config) {

				if (this._exceptions.indexOf(name) == -1) {

					if (!(name in config)) {

						config[name] = parent_config[name];

					} else if (name in this._widget_config_merged_properties) {

						this[this._widget_config_merged_properties[name]](config, parent_config, name, parent_widget_name);

					}

				}

			}

			// delay merging of storage until storage_schema is merged
			if ('storage' in parent_config) {
				if (!('storage' in config)) {
					config['storage'] = parent_config['storage'];
				} else {
					this._mergeStorage(config, parent_config, 'storage', parent_widget_name);
				}
			}

		}

		if (Lava.schema.RESOURCES_ENABLED) {
			this._extendResources(config, parent_config);
		}

		if (config.real_class && !('class_locator' in config)) {

			config['class'] = Lava.ClassManager.hasConstructor(config.real_class)
				? config.real_class
				: 'Lava.widget.' + config.real_class;

		} else {

			config['class'] = null;

		}

		config.is_extended = true;

	}
function ( config ) { var parent_config , parent_widget_name ; if ( 'extends' in config ) { parent_widget_name = config [ 'extends' ] ; // returns already extended configs parent_config = Lava . getWidgetConfig ( parent_widget_name ) ; for ( var name in parent_config ) { if ( this . _exceptions . indexOf ( name ) == - 1 ) { if ( ! ( name in config ) ) { config [ name ] = parent_config [ name ] ; } else if ( name in this . _widget_config_merged_properties ) { this [ this . _widget_config_merged_properties [ name ] ] ( config , parent_config , name , parent_widget_name ) ; } } } // delay merging of storage until storage_schema is merged if ( 'storage' in parent_config ) { if ( ! ( 'storage' in config ) ) { config [ 'storage' ] = parent_config [ 'storage' ] ; } else { this . _mergeStorage ( config , parent_config , 'storage' , parent_widget_name ) ; } } } if ( Lava . schema . RESOURCES_ENABLED ) { this . _extendResources ( config , parent_config ) ; } if ( config . real_class && ! ( 'class_locator' in config ) ) { config [ 'class' ] = Lava . ClassManager . hasConstructor ( config . real_class ) ? config . real_class : 'Lava.widget.' + config . real_class ; } else { config [ 'class' ] = null ; } config . is_extended = true ; }
Extend raw widget config
@param {_cWidget} config
Extend raw widget config