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

📄 csvstore.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.CsvStore");dojo.require("dojo.data.core.RemoteStore");dojo.require("dojo.lang.assert");dojo.declare("dojo.data.CsvStore", dojo.data.core.RemoteStore, {_setupQueryRequest:function (result, requestKw) {	var serverQueryUrl = this._serverQueryUrl ? this._serverQueryUrl : "";	var queryUrl = result.query ? result.query : "";	requestKw.url = serverQueryUrl + queryUrl;	requestKw.method = "get";}, _resultToQueryData:function (serverResponseData) {	var csvFileContentString = serverResponseData;	var arrayOfArrays = this._getArrayOfArraysFromCsvFileContents(csvFileContentString);	var arrayOfObjects = this._getArrayOfObjectsFromArrayOfArrays(arrayOfArrays);	var remoteStoreData = this._getRemoteStoreDataFromArrayOfObjects(arrayOfObjects);	return remoteStoreData;}, _setupSaveRequest:function (saveKeywordArgs, requestKw) {}, _getArrayOfArraysFromCsvFileContents:function (csvFileContents) {	dojo.lang.assertType(csvFileContents, String);	var lineEndingCharacters = new RegExp("\r\n|\n|\r");	var leadingWhiteSpaceCharacters = new RegExp("^\\s+", "g");	var trailingWhiteSpaceCharacters = new RegExp("\\s+$", "g");	var doubleQuotes = new RegExp("\"\"", "g");	var arrayOfOutputRecords = [];	var arrayOfInputLines = csvFileContents.split(lineEndingCharacters);	for (var i in arrayOfInputLines) {		var singleLine = arrayOfInputLines[i];		if (singleLine.length > 0) {			var listOfFields = singleLine.split(",");			var j = 0;			while (j < listOfFields.length) {				var space_field_space = listOfFields[j];				var field_space = space_field_space.replace(leadingWhiteSpaceCharacters, "");				var field = field_space.replace(trailingWhiteSpaceCharacters, "");				var firstChar = field.charAt(0);				var lastChar = field.charAt(field.length - 1);				var secondToLastChar = field.charAt(field.length - 2);				var thirdToLastChar = field.charAt(field.length - 3);				if ((firstChar == "\"") && ((lastChar != "\"") || ((lastChar == "\"") && (secondToLastChar == "\"") && (thirdToLastChar != "\"")))) {					if (j + 1 === listOfFields.length) {						return null;					}					var nextField = listOfFields[j + 1];					listOfFields[j] = field_space + "," + nextField;					listOfFields.splice(j + 1, 1);				} else {					if ((firstChar == "\"") && (lastChar == "\"")) {						field = field.slice(1, (field.length - 1));						field = field.replace(doubleQuotes, "\"");					}					listOfFields[j] = field;					j += 1;				}			}			arrayOfOutputRecords.push(listOfFields);		}	}	return arrayOfOutputRecords;}, _getArrayOfObjectsFromArrayOfArrays:function (arrayOfArrays) {	dojo.lang.assertType(arrayOfArrays, Array);	var arrayOfItems = [];	if (arrayOfArrays.length > 1) {		var arrayOfKeys = arrayOfArrays[0];		for (var i = 1; i < arrayOfArrays.length; ++i) {			var row = arrayOfArrays[i];			var item = {};			for (var j in row) {				var value = row[j];				var key = arrayOfKeys[j];				item[key] = value;			}			arrayOfItems.push(item);		}	}	return arrayOfItems;}, _getRemoteStoreDataFromArrayOfObjects:function (arrayOfObjects) {	dojo.lang.assertType(arrayOfObjects, Array);	var output = {};	for (var i = 0; i < arrayOfObjects.length; ++i) {		var object = arrayOfObjects[i];		for (var key in object) {			var value = object[key];			object[key] = [value];		}		output[i] = object;	}	return output;}, newItem:function (attributes, keywordArgs) {	dojo.unimplemented("dojo.data.CsvStore.newItem");}, deleteItem:function (item) {	dojo.unimplemented("dojo.data.CsvStore.deleteItem");}, setValues:function (item, attribute, values) {	dojo.unimplemented("dojo.data.CsvStore.setValues");}, set:function (item, attribute, value) {	dojo.unimplemented("dojo.data.CsvStore.set");}, unsetAttribute:function (item, attribute) {	dojo.unimplemented("dojo.data.CsvStore.unsetAttribute");}, save:function (keywordArgs) {	dojo.unimplemented("dojo.data.CsvStore.save");}, revert:function () {	dojo.unimplemented("dojo.data.CsvStore.revert");}, isDirty:function (item) {	dojo.unimplemented("dojo.data.CsvStore.isDirty");}});

⌨️ 快捷键说明

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