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

📄 itemfilewritestore.js

📁 这是一个ajax的例子大家好好的看看就是一个鱼眼的效果
💻 JS
📖 第 1 页 / 共 4 页
字号:
				}			}			store.fetchItemByIdentity({identity: 10, onError: onError, onItem: onItem});			return deferred;		},		function testReferenceIntegrity_deleteReferencedItemThenRevert(){			//	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{					//DO NOT EVER ACCESS THESE VARIABLES LIKE THIS!  					//THIS IS FOR TESTING INTERNAL STATE!					console.log("Map before delete:");					store._dumpReferenceMap();					var beforeDelete = dojo.toJson(item[store._reverseRefMap]);					store.deleteItem(item);					console.log("Map after delete:");					store._dumpReferenceMap();					var afterDelete = dojo.toJson(item[store._reverseRefMap]);					store.revert();					console.log("Map after revert:");					store._dumpReferenceMap();					var afterRevert = dojo.toJson(item[store._reverseRefMap]);					doh.assertTrue(afterRevert === beforeDelete);				}catch(e){					deferred.errback(e);					passed = false;				}				if(passed){					deferred.callback(true);				}			}			store.fetchItemByIdentity({identity: 10, onError: onError, onItem: onItem});			return deferred;		},		function testReferenceIntegrity_deleteMultipleItemsWithReferencesAndRevert(){			//	summary: 			//		Simple test to verify that a flow of deleting items with references and reverting does not damage the internal structure.			//		Created for tracker bug: #5743			//	description:			//		Simple test to verify that a flow of deleting items with references and reverting does not damage the internal structure.			//		Created for tracker bug: #5743					var store = new dojo.data.ItemFileWriteStore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries_references"));			var deferred = new doh.Deferred();			var passed = true;			function onError(error, request){				deferred.errback(error);				doh.assertTrue(false);			}			function onItem(item, request){				//Save off the located item, then locate another one (peer to Egypt)				doh.assertTrue(store.isItem(item));				var egypt = item;				function onItem2(item, request){					doh.assertTrue(store.isItem(item));					var nairobi = item;					//Delete them					store.deleteItem(egypt);					store.deleteItem(nairobi);					try{						//Revert, then do a fetch.  If the internals have been damaged, this will generally						//cause onError to fire instead of onComplete.						store.revert();						function onComplete(items, request){							deferred.callback(true);						}						store.fetch({query: {name: "*"}, start: 0, count: 20, onComplete: onComplete, onError: onError});					}catch(e){						deferred.errback(e)					}				}				store.fetchItemByIdentity({identity: "Nairobi", onError: onError, onItem: onItem2});			}			store.fetchItemByIdentity({identity: "Egypt", onError: onError, onItem: onItem});			return deferred;		},		function testReferenceIntegrity_removeReferenceFromAttribute(){			//	summary: 			//		Simple test to verify the reference removal updates the internal map.			//	description:			//		Simple test to verify the reference removal updates the internal map.					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);				doh.assertTrue(false);			}			function onItem(item, request){				try{					store.setValues(item, "friends", [null]);					function onItem2(item10, request){						//DO NOT EVER ACCESS THESE VARIABLES LIKE THIS!  						//THIS IS FOR TESTING INTERNAL STATE!						var refMap = item10[store._reverseRefMap];						store._dumpReferenceMap();						console.log("MAP for Item 10 is: " + dojo.toJson(refMap));						//Assert there is no reference to item 10 in item 11's attribute 'friends'.						doh.assertTrue(!refMap["11"]["friends"]);						store.setValues(item, "siblings", [0, 1, 2]);						//Assert there are no more references to 10 in 11.  Ergo, "11"  should be a 'undefined' attribute for the map of items referencing '10'..						doh.assertTrue(!refMap["11"]);						deferred.callback(true);					}					store.fetchItemByIdentity({identity: 10, onError: onError, onItem: onItem2});				}catch(e){					console.debug(e);					deferred.errback(e);					doh.assertTrue(false);				}			}			store.fetchItemByIdentity({identity: 11, onError: onError, onItem: onItem});			return deferred;		},		function testReferenceIntegrity_deleteReferencedItemNonParent(){			//	summary: 			//		Simple test to verify the references to a non-parent item was properly deleted.			//	description:			//		Simple test to verify the references to a non-parent item was 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("Reference state for item 16 is: " + dojo.toJson(item[store._reverseRefMap]));					store.deleteItem(item);					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 == 16){											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);				}			}			store.fetchItemByIdentity({identity: 16, onError: onError, onItem: onItem});			return deferred;		},		function testReferenceIntegrity_addReferenceToAttribute(){			//	summary: 			//		Simple test to verify the reference additions can happen.			//	description:			//		Simple test to verify the reference additions can happen.					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);				doh.assertTrue(false);			}			function onComplete(items, request){				doh.assertTrue(items.length > 2);				var item1 = items[0];				var item2 = items[1];				//DO NOT EVER ACCESS THESE VARIABLES LIKE THIS!  				//THIS IS FOR TESTING INTERNAL STATE!				console.log("Map state for Item 1 is: " + dojo.toJson(item1[store._reverseRefMap]));				console.log("Map state for Item 2 is: " + dojo.toJson(item2[store._reverseRefMap]));				store.setValue(item1, "siblings", item2);				//Emit the current map state for inspection.				console.log("Map state for Item 1 is: " + dojo.toJson(item1[store._reverseRefMap]));				console.log("Map state for Item 2 is: " + dojo.toJson(item2[store._reverseRefMap]));				doh.assertTrue(item2[store._reverseRefMap] != null);				//Assert there is a recorded reference to item 2 in item 1's attribute 'sibling'.				doh.assertTrue(item2[store._reverseRefMap][store.getIdentity(item1)]["siblings"]);				deferred.callback(true);			}			store.fetch({onError: onError, onComplete: onComplete});			return deferred;		},		function testReferenceIntegrity_newItemWithParentReference(){			//	summary: 			//		Simple test to verify that newItems with a parent properly record the parent's reference in the map.			//	description:			//		Simple test to verify that newItems with a parent properly record the parent's reference in the map.					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);				doh.assertTrue(false);			}			function onItem(item, request){				try{					//Create a new item and set its parent to item 10's uncle attribute.					var newItem = store.newItem({id: 17, name: "Item 17"}, {parent: item, attribute: "uncles"}); 										//DO NOT EVER ACCESS THESE VARIABLES LIKE THIS!  					//THIS IS FOR TESTING INTERNAL STATE!					//Look up the references to 17, as item 10 has one now on attribute 'uncles'					var refs = newItem[store._reverseRefMap];					//Assert there is a reference from 10 to item 17, on attribute uncle					doh.assertTrue(refs["10"]["uncles"]);					console.log("State of map of item 17 after newItem: " + dojo.toJson(refs));				}catch(e){					console.debug(e);					deferred.errback(e);					doh.assertTrue(false);					passed = false;				}				if(passed){					deferred.callback(true);				}			}			store.fetchItemByIdentity({identity: 10, onError: onError, onItem: onItem});			return deferred;		},		function testReferenceIntegrity_newItemWithReferenceToExistingItem(){			//	summary: 			//		Simple test to verify that a new item with references to existing items properly record the references in the map.			//	description:			//		Simple test to verify that a new item with references to existing items properly record the references in the map.					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);				doh.assertTrue(false);			}			function onItem(item, request){				try{					//DO NOT EVER ACCESS THESE VARIABLES LIKE THIS!  					//THIS IS FOR TESTING INTERNAL STATE!					console.log("State of reference map to item 10 before newItem: " + dojo.toJson(item[store._reverseRefMap]));										//Create a new item and set its parent to item 10's uncle attribute.					var newItem = store.newItem({id: 17, name: "Item 17", friends: [item]});										//DO NOT EVER ACCESS THESE VARIABLES LIKE THIS!  					//THIS IS FOR TESTING INTERNAL STATE!					//Look up the references to 10, as item 17 has one on friends now.					var refs = item[store._reverseRefMap];										//Assert there is a reference from 15 to item 10, on attribute friends					doh.assertTrue(refs["17"]["friends"]);					console.log("State of reference map to item 10 after newItem: " + dojo.toJson(refs));				}catch(e){					console.debug(e);					deferred.errback(e);					doh.assertTrue(false);					passed = false;				}				if(passed){					deferred.callback(true);				}			}			store.fetchItemByIdentity({identity: 10, onError: onError, onItem: onItem});			return deferred;		},		function testReferenceIntegrity_disableReferenceIntegrity(){			//	summary: 			//		Simple test to verify reference integrity can be disabled.			//	description:			//		Simple test to verify reference integrity can be disabled.					var params = tests.data.ItemFileWriteStore.getTestData("reference_integrity");			params.referenceIntegrity = false;			var store = new dojo.data.ItemFileWriteStore(params);			var deferred = new doh.Deferred();			function onError(error, request){				deferred.errback(error);				doh.assertTrue(false);			}			function onItem(item, request){				//DO NOT EVER ACCESS THESE VARIABLES LIKE THIS!  				//THIS IS FOR TESTING INTERNAL STATE!				if(item[store._reverseRefMap] === undefined){					deferred.callback(true);				}else{					deferred.errback(new Error("Disabling of reference integrity failed."));				}			}			store.fetchItemByIdentity({identity: 10, onError: onError, onItem: onItem});			return deferred;		}	]);}

⌨️ 快捷键说明

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