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

📄 itemfilewritestore.js

📁 这是一个ajax的例子大家好好的看看就是一个鱼眼的效果
💻 JS
📖 第 1 页 / 共 4 页
字号:
					doh.assertTrue(attribute == "capital");					doh.assertTrue(oldValue == "Cairo");					doh.assertTrue(newValue == "New Cairo");					deferred.callback(true);					dojo.disconnect(connectHandle);				}				connectHandle = dojo.connect(store, "onSet", setValueHandler);				store.setValue(egypt, "capital", "New Cairo");			}			store.fetchItemByIdentity({identity:"eg", onItem:onItem, onError:onError});		},		function testNotificationAPI_onNew(){			//	summary: 			//		Simple test of the onNew API			//	description:			//		Simple test of the onNew API			var store = new dojo.data.ItemFileWriteStore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));			var deferred = new doh.Deferred();			var connectHandle = null;			function newItemHandler(item){				doh.assertTrue(store.isItem(item));				doh.assertTrue(store.getValue(item, "name") == "Canada");				deferred.callback(true);				dojo.disconnect(connectHandle);			}			connectHandle = dojo.connect(store, "onNew", newItemHandler);			var canada = store.newItem({name:"Canada", abbr:"ca", capital:"Ottawa"});		},		function testNotificationAPI_onDelete(){			//	summary: 			//		Simple test of the onDelete API			//	description:			//		Simple test of the onDelete API			var store = new dojo.data.ItemFileWriteStore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));			var deferred = new doh.Deferred();			function onError(error){				deferred.errback(error);			}			function onItem(fetchedItem){				var egypt = fetchedItem;				var connectHandle = null;				function deleteItemHandler(item){					doh.assertTrue(store.isItem(item) == false);					doh.assertTrue(item == egypt);					deferred.callback(true);					dojo.disconnect(connectHandle);				}				connectHandle = dojo.connect(store, "onDelete", deleteItemHandler);				store.deleteItem(egypt);			}			store.fetchItemByIdentity({identity:"eg", onItem:onItem, onError:onError});		},		function testReadAPI_functionConformanceToo(){			//	summary: 			//		Simple test read API conformance.  Checks to see all declared functions are actual functions on the instances.			//	description:			//		Simple test read API conformance.  Checks to see all declared functions are actual functions on the instances.			var testStore = new dojo.data.ItemFileWriteStore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));			var readApi = new dojo.data.api.Read();			var passed = true;			for(var functionName in readApi){				var member = readApi[functionName];				//Check that all the 'Read' defined functions exist on the test store.				if(typeof member === "function"){					var testStoreMember = testStore[functionName];					if(!(typeof testStoreMember === "function")){						passed = false;						break;					}				}			}			doh.assertTrue(passed);		},		function testWriteAPI_functionConformance(){			//	summary: 			//		Simple test write API conformance.  Checks to see all declared functions are actual functions on the instances.			//	description:			//		Simple test write API conformance.  Checks to see all declared functions are actual functions on the instances.			var testStore = new dojo.data.ItemFileWriteStore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));			var writeApi = new dojo.data.api.Write();			var passed = true;			for(var functionName in writeApi){				var member = writeApi[functionName];				//Check that all the 'Write' defined functions exist on the test store.				if(typeof member === "function"){					var testStoreMember = testStore[functionName];					if(!(typeof testStoreMember === "function")){						passed = false;						break;					}				}			}			doh.assertTrue(passed);		},		function testNotificationAPI_functionConformance(){			//	summary: 			//		Simple test Notification API conformance.  Checks to see all declared functions are actual functions on the instances.			//	description:			//		Simple test Notification API conformance.  Checks to see all declared functions are actual functions on the instances.			var testStore = new dojo.data.ItemFileWriteStore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));			var api = new dojo.data.api.Notification();			var passed = true;			for(var functionName in api){				var member = api[functionName];				//Check that all the 'Write' defined functions exist on the test store.				if(typeof member === "function"){					var testStoreMember = testStore[functionName];					if(!(typeof testStoreMember === "function")){						passed = false;						break;					}				}			}			doh.assertTrue(passed);		},		function testIdentityAPI_noIdentifierSpecified(){			//	summary: 			//		Test for bug #3873. Given a datafile that does not specify an			//		identifier, make sure ItemFileWriteStore auto-creates identities 			//		that are unique even after calls to deleteItem() and newItem()			var args = {data: {				label:"name",				items:[					{name:'Ecuador', capital:'Quito'},					{name:'Egypt', capital:'Cairo'},					{name:'El Salvador', capital:'San Salvador'},					{name:'Equatorial Guinea', capital:'Malabo'},					{name:'Eritrea', capital:'Asmara'},					{name:'Estonia', capital:'Tallinn'},					{name:'Ethiopia', capital:'Addis Ababa'}				]			} }; 			var store = new dojo.data.ItemFileWriteStore(args);			var deferred = new doh.Deferred();						var onError = function(error, request){				deferred.errback(error);			}			var onComplete = function(items, request){				doh.assertEqual(7, items.length);								var lastItem = items[(items.length - 1)];				var idOfLastItem = store.getIdentity(lastItem);				store.deleteItem(lastItem);				store.newItem({name:'Canada', capital:'Ottawa'});								var onCompleteAgain = function(itemsAgain, requestAgain){					doh.assertEqual(7, itemsAgain.length);					var identitiesInUse = {};					for(var i = 0; i < itemsAgain.length; ++i){						var item = itemsAgain[i];						var id = store.getIdentity(item);						if(identitiesInUse.hasOwnProperty(id)){							// there should not already be an entry for this id							doh.assertTrue(false);						}else{							// we want to add the entry now							identitiesInUse[id] = item;						}					}					deferred.callback(true);				}				store.fetch({onComplete:onCompleteAgain, onError:onError});			}						store.fetch({onComplete:onComplete, onError:onError});			return deferred;		},		function testIdentityAPI_noIdentifierSpecified_revert(){			//	summary: 			//		Test for bug #4691  Given a datafile that does not specify an			//		identifier, make sure ItemFileWriteStore auto-creates identities 			//		that are unique even after calls to deleteItem() and newItem()			var args = {data: {				label:"name",				items:[					{name:'Ecuador', capital:'Quito'},					{name:'Egypt', capital:'Cairo'},					{name:'El Salvador', capital:'San Salvador'},					{name:'Equatorial Guinea', capital:'Malabo'},					{name:'Eritrea', capital:'Asmara'},					{name:'Estonia', capital:'Tallinn'},					{name:'Ethiopia', capital:'Addis Ababa'}				]			} }; 			var store = new dojo.data.ItemFileWriteStore(args);			var deferred = new doh.Deferred();						var onError = function(error, request){				deferred.errback(error);			}			var onComplete = function(items, request){				doh.assertEqual(7, items.length);								var lastItem = items[(items.length - 1)];				var idOfLastItem = store.getIdentity(lastItem);				store.deleteItem(lastItem);				store.newItem({name:'Canada', capital:'Ottawa'});								var onCompleteAgain = function(itemsAgain, requestAgain){					doh.assertEqual(7, itemsAgain.length);					var identitiesInUse = {};					for(var i = 0; i < itemsAgain.length; ++i){						var item = itemsAgain[i];						var id = store.getIdentity(item);						if(identitiesInUse.hasOwnProperty(id)){							// there should not already be an entry for this id							doh.assertTrue(false);						}else{							// we want to add the entry now							identitiesInUse[id] = item;						}					}					//Last test, revert everything and check item sizes.					store.revert();					//Now call fetch again and verify store state.					var revertComplete = function(itemsReverted, request){						doh.assertEqual(7, itemsReverted.length);						deferred.callback(true);					}					store.fetch({onComplete:revertComplete, onError:onError});				}				store.fetch({onComplete:onCompleteAgain, onError:onError});			}			store.fetch({onComplete:onComplete, onError:onError});			return deferred;		},		function testReferenceIntegrity_checkReferences(){			//	summary: 			//		Simple test to verify the references were properly resolved.			//	description:			//		Simple test to verify the references were properly resolved.					var store = new dojo.data.ItemFileWriteStore(tests.data.ItemFileWriteStore.getTestData("reference_integrity"));			var deferred = new doh.Deferred();			function onError(error, request){				deferred.errback(error);			}			function onComplete(items, request){				var item10 = null;				var item1  = null;				var item3  = null;				var item5  = null;				for (var i = 0; i < items.length; i++) {					var ident = store.getIdentity(items[i]);					if (ident === 10) {						item10 = items[i];					}else if (ident === 1) {						item1 = items[i];					}else if (ident === 3) {						item3 = items[i];					}else if (ident === 5) {						item5 = items[i];					}				}				var friends = store.getValues(item10, "friends");				doh.assertTrue(friends !== null);				doh.assertTrue(friends !== undefined);				doh.assertTrue(store.isItem(item10));				doh.assertTrue(store.isItem(item1));				doh.assertTrue(store.isItem(item3));				doh.assertTrue(store.isItem(item5));				var found = 0;				try{					for (var i = 0; i < friends.length; i++) {						if (i === 0) {							doh.assertTrue(store.isItem(friends[i]));							doh.assertEqual(friends[i], item1);							doh.assertEqual(store.getIdentity(friends[i]), 1);							found++;						}else if (i === 1) {							doh.assertTrue(store.isItem(friends[i]));							doh.assertEqual(friends[i], item3);							doh.assertEqual(store.getIdentity(friends[i]), 3);							found++;						}else if (i === 2) {							doh.assertTrue(store.isItem(friends[i]));							doh.assertEqual(friends[i], item5);							doh.assertEqual(store.getIdentity(friends[i]), 5);							found++;						}					}				}catch(e){					doh.errback(e);				}				doh.assertEqual(3, found);				deferred.callback(true);			}			store.fetch({onError: onError, onComplete: onComplete});			return deferred;		},		function testReferenceIntegrity_deleteReferencedItem(){			//	summary: 			//		Simple test to verify the references were properly deleted.			//	description:			//		Simple test to verify the references were properly deleted.					var store = new dojo.data.ItemFileWriteStore(tests.data.ItemFileWriteStore.getTestData("reference_integrity"));			var deferred = new doh.Deferred();			var passed = true;			function onError(error, request){				deferred.errback(error);			}			function onItem(item, request){				try{					console.log("Before delete map state is: " + dojo.toJson(item[store._reverseRefMap]));					store.deleteItem(item);					console.log("After delete map state is: " + dojo.toJson(item[store._reverseRefMap]));					function verifyRefDelete(items, request){						var passed = true;						for(var i = 0; i < items.length; i++){							var curItem = items[i];							var attributes = store.getAttributes(curItem);							for(var j = 0; j < attributes.length; j++){								var values = store.getValues(curItem, attributes[j]);								var badRef = false;								for(var k = 0; k < values.length; k++){									var value = values[k];									try{										var id = store.getIdentity(value);										if(id == 10){											badRef = true;											break;										}									}catch(e){/*Not an item, even a dead one, just eat it.*/}								}								if(badRef){									deferred.errback(new Error("Found a reference remaining to a deleted item.  Failure."));									passed = false;									break;								}							}						}						if(passed){							deferred.callback(true);						}					}					store.fetch({onComplete: verifyRefDelete, onError: onError});				}catch(error){					deferred.errback(error);

⌨️ 快捷键说明

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