⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 item.js

📁 初学者
💻 JS
字号:
/*	Copyright (c) 2004-2006, The Dojo Foundation	All Rights Reserved.	Licensed under the Academic Free License version 2.1 or above OR the	modified BSD license. For more information on Dojo licensing, see:		http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.data.old.Item");dojo.require("dojo.data.old.Observable");dojo.require("dojo.data.old.Value");dojo.require("dojo.lang.common");dojo.require("dojo.lang.assert");dojo.data.old.Item = function (dataProvider) {	dojo.lang.assertType(dataProvider, dojo.data.old.provider.Base, {optional:true});	dojo.data.old.Observable.call(this);	this._dataProvider = dataProvider;	this._dictionaryOfAttributeValues = {};};dojo.inherits(dojo.data.old.Item, dojo.data.old.Observable);dojo.data.old.Item.compare = function (itemOne, itemTwo) {	dojo.lang.assertType(itemOne, dojo.data.old.Item);	if (!dojo.lang.isOfType(itemTwo, dojo.data.old.Item)) {		return -1;	}	var nameOne = itemOne.getName();	var nameTwo = itemTwo.getName();	if (nameOne == nameTwo) {		var attributeArrayOne = itemOne.getAttributes();		var attributeArrayTwo = itemTwo.getAttributes();		if (attributeArrayOne.length != attributeArrayTwo.length) {			if (attributeArrayOne.length > attributeArrayTwo.length) {				return 1;			} else {				return -1;			}		}		for (var i in attributeArrayOne) {			var attribute = attributeArrayOne[i];			var arrayOfValuesOne = itemOne.getValues(attribute);			var arrayOfValuesTwo = itemTwo.getValues(attribute);			dojo.lang.assert(arrayOfValuesOne && (arrayOfValuesOne.length > 0));			if (!arrayOfValuesTwo) {				return 1;			}			if (arrayOfValuesOne.length != arrayOfValuesTwo.length) {				if (arrayOfValuesOne.length > arrayOfValuesTwo.length) {					return 1;				} else {					return -1;				}			}			for (var j in arrayOfValuesOne) {				var value = arrayOfValuesOne[j];				if (!itemTwo.hasAttributeValue(value)) {					return 1;				}			}			return 0;		}	} else {		if (nameOne > nameTwo) {			return 1;		} else {			return -1;		}	}};dojo.data.old.Item.prototype.toString = function () {	var arrayOfStrings = [];	var attributes = this.getAttributes();	for (var i in attributes) {		var attribute = attributes[i];		var arrayOfValues = this.getValues(attribute);		var valueString;		if (arrayOfValues.length == 1) {			valueString = arrayOfValues[0];		} else {			valueString = "[";			valueString += arrayOfValues.join(", ");			valueString += "]";		}		arrayOfStrings.push("  " + attribute + ": " + valueString);	}	var returnString = "{ ";	returnString += arrayOfStrings.join(",\n");	returnString += " }";	return returnString;};dojo.data.old.Item.prototype.compare = function (otherItem) {	return dojo.data.old.Item.compare(this, otherItem);};dojo.data.old.Item.prototype.isEqual = function (otherItem) {	return (this.compare(otherItem) == 0);};dojo.data.old.Item.prototype.getName = function () {	return this.get("name");};dojo.data.old.Item.prototype.get = function (attributeId) {	var literalOrValueOrArray = this._dictionaryOfAttributeValues[attributeId];	if (dojo.lang.isUndefined(literalOrValueOrArray)) {		return null;	}	if (literalOrValueOrArray instanceof dojo.data.old.Value) {		return literalOrValueOrArray.getValue();	}	if (dojo.lang.isArray(literalOrValueOrArray)) {		var dojoDataValue = literalOrValueOrArray[0];		return dojoDataValue.getValue();	}	return literalOrValueOrArray;};dojo.data.old.Item.prototype.getValue = function (attributeId) {	var literalOrValueOrArray = this._dictionaryOfAttributeValues[attributeId];	if (dojo.lang.isUndefined(literalOrValueOrArray)) {		return null;	}	if (literalOrValueOrArray instanceof dojo.data.old.Value) {		return literalOrValueOrArray;	}	if (dojo.lang.isArray(literalOrValueOrArray)) {		var dojoDataValue = literalOrValueOrArray[0];		return dojoDataValue;	}	var literal = literalOrValueOrArray;	dojoDataValue = new dojo.data.old.Value(literal);	this._dictionaryOfAttributeValues[attributeId] = dojoDataValue;	return dojoDataValue;};dojo.data.old.Item.prototype.getValues = function (attributeId) {	var literalOrValueOrArray = this._dictionaryOfAttributeValues[attributeId];	if (dojo.lang.isUndefined(literalOrValueOrArray)) {		return null;	}	if (literalOrValueOrArray instanceof dojo.data.old.Value) {		var array = [literalOrValueOrArray];		this._dictionaryOfAttributeValues[attributeId] = array;		return array;	}	if (dojo.lang.isArray(literalOrValueOrArray)) {		return literalOrValueOrArray;	}	var literal = literalOrValueOrArray;	var dojoDataValue = new dojo.data.old.Value(literal);	array = [dojoDataValue];	this._dictionaryOfAttributeValues[attributeId] = array;	return array;};dojo.data.old.Item.prototype.load = function (attributeId, value) {	this._dataProvider.registerAttribute(attributeId);	var literalOrValueOrArray = this._dictionaryOfAttributeValues[attributeId];	if (dojo.lang.isUndefined(literalOrValueOrArray)) {		this._dictionaryOfAttributeValues[attributeId] = value;		return;	}	if (!(value instanceof dojo.data.old.Value)) {		value = new dojo.data.old.Value(value);	}	if (literalOrValueOrArray instanceof dojo.data.old.Value) {		var array = [literalOrValueOrArray, value];		this._dictionaryOfAttributeValues[attributeId] = array;		return;	}	if (dojo.lang.isArray(literalOrValueOrArray)) {		literalOrValueOrArray.push(value);		return;	}	var literal = literalOrValueOrArray;	var dojoDataValue = new dojo.data.old.Value(literal);	array = [dojoDataValue, value];	this._dictionaryOfAttributeValues[attributeId] = array;};dojo.data.old.Item.prototype.set = function (attributeId, value) {	this._dataProvider.registerAttribute(attributeId);	this._dictionaryOfAttributeValues[attributeId] = value;	this._dataProvider.noteChange(this, attributeId, value);};dojo.data.old.Item.prototype.setValue = function (attributeId, value) {	this.set(attributeId, value);};dojo.data.old.Item.prototype.addValue = function (attributeId, value) {	this.load(attributeId, value);	this._dataProvider.noteChange(this, attributeId, value);};dojo.data.old.Item.prototype.setValues = function (attributeId, arrayOfValues) {	dojo.lang.assertType(arrayOfValues, Array);	this._dataProvider.registerAttribute(attributeId);	var finalArray = [];	this._dictionaryOfAttributeValues[attributeId] = finalArray;	for (var i in arrayOfValues) {		var value = arrayOfValues[i];		if (!(value instanceof dojo.data.old.Value)) {			value = new dojo.data.old.Value(value);		}		finalArray.push(value);		this._dataProvider.noteChange(this, attributeId, value);	}};dojo.data.old.Item.prototype.getAttributes = function () {	var arrayOfAttributes = [];	for (var key in this._dictionaryOfAttributeValues) {		arrayOfAttributes.push(this._dataProvider.getAttribute(key));	}	return arrayOfAttributes;};dojo.data.old.Item.prototype.hasAttribute = function (attributeId) {	return (attributeId in this._dictionaryOfAttributeValues);};dojo.data.old.Item.prototype.hasAttributeValue = function (attributeId, value) {	var arrayOfValues = this.getValues(attributeId);	for (var i in arrayOfValues) {		var candidateValue = arrayOfValues[i];		if (candidateValue.isEqual(value)) {			return true;		}	}	return false;};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -