New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

handsontable-helpers

Package Overview
Dependencies
Maintainers
1
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

handsontable-helpers - npm Package Compare versions

Comparing version 1.0.4 to 1.0.5

176

handsontable.helpers.js
/**
* TODO
*
* work changes simple, return changes obj
* do not work with number as integer, work as text
* collect columns for objArr
* Handsontable helper functions
* artbels @ 2016
*
*
*/

@@ -21,3 +17,3 @@

"string": "text",
"number": "numeric",
"number": "text", //handsontable numeric is only integers
"boolean": "checkbox",

@@ -29,13 +25,31 @@ "object": "text",

HH.draw = function(objArr, parent) {
HH.draw = function(objArr, params) {
parent = parent || document.querySelector("#hot") || document.body;
if(typeof params == "string") params = {
parent: document.querySelector(params)
};
hot = new Handsontable(parent, {
columns: HH.getColumns(objArr),
if(typeof hot != "undefined") hot.destroy();
params = params || {};
params.parent = params.parent || document.querySelector("#ht") || document.body;
params.contextMenu = (typeof params.contextMenu == "boolean") ? params.contextMenu : true;
var columns = HH.getColumns(objArr, params.cols);
if(params.readOnly) columns = columns.map(function (a) {
a.readOnly = true;
return a;
});
hot = new Handsontable(params.parent, {
data: HH.stringifyArrObj(objArr),
colHeaders: true,
columns: columns,
colHeaders: columns.map(function (a) {
return a.data;
}),
manualColumnResize: true,
columnSorting: true,
contextMenu: true
contextMenu: params.contextMenu
});

@@ -45,17 +59,2 @@ };

HH.updateIdArr = function(data, colHeaders) {
var idArr = [];
for (var i = 0; i < data.length; i++) {
var item = data[i];
for (var j = 0; j < colHeaders.length; j++) {
var col = colHeaders[j];
if (col == "_id") {
idArr.push(item[j]);
}
}
}
return idArr;
};
HH.setColType = function(prop, jsType) {

@@ -75,5 +74,6 @@

HH.getColumns = function(objArr) {
HH.getColumns = function(objArr, cols) {
var props = {};
var columns = [];
var col;

@@ -92,5 +92,15 @@ for (var i = 0; i < objArr.length; i++) {

for (var prop in props) {
var col = HH.setColType(prop, props[prop]);
columns.push(col);
if(cols) {
for (var j = 0; j < cols.length; j++) {
var colName = cols[j];
if(props[colName]) {
col = HH.setColType(colName, props[colName]);
columns.push(col);
}
}
} else {
for (var prop in props) {
col = HH.setColType(prop, props[prop]);
columns.push(col);
}
}

@@ -102,31 +112,15 @@

HH.buildSchema = function(arr) {
var props = {};
var o = {
columns: [],
colHeaders: [],
idArr: []
};
for (var i = 0; i < arr.length; i++) {
var row = arr[i];
o.idArr.push(row._id);
for (var key in row) {
var val = row[key];
var jsType = typeof val;
if(jsType == "string") {
if(HH.reJsStrData.test(val)) jsType = "date";
HH.updateIdArr = function(data, colHeaders) {
var idArr = [];
for (var i = 0; i < data.length; i++) {
var item = data[i];
for (var j = 0; j < colHeaders.length; j++) {
var col = colHeaders[j];
if (col == "_id") {
idArr.push(item[j]);
break;
}
if (!props[key]) props[key] = jsType;
}
}
for (var prop in props) {
var col = HH.setColType(prop, props[prop]);
o.columns.push(col);
o.colHeaders.push(prop);
}
return o;
return idArr;
};

@@ -181,6 +175,3 @@

var o = {
new: {},
upd: {}
};
var changesArr = [];

@@ -190,33 +181,16 @@ for (var i = 0; i < changes.length; i++) {

var oldValue = change[2];
var newValue = change[3];
var changed = (oldValue != newValue);
var o = {
oldValue: change[2],
newValue: change[3]
};
var changed = (o.oldValue != o.newValue);
if (!changed) continue;
var rowNum = Number(change[0]);
var field = change[1];
var fieldType;
for (var t = 0; t < columns.length; t++) {
var col = columns[t];
if (col.data == field) fieldType = col.jsType;
}
var setId = (field === "_id");
if (setId) continue;
var docId = arr[rowNum]._id;
if (docId) {
o.upd[rowNum] = o.upd[rowNum] || {};
o.upd[rowNum][field] = HH.setDataType(newValue, fieldType);
} else {
o.new[rowNum] = o.new[rowNum] || {};
o.new[rowNum][field] = HH.setDataType(newValue, fieldType);
}
o.rowNum = Number(change[0]);
o.field = change[1];
changesArr.push(o);
}
o.newArr = Object.keys(o.new);
o.updArr = Object.keys(o.upd);
return o;
return changesArr;
};

@@ -286,15 +260,2 @@

HH.buildParseSchema = function(columns, colHeaders) {
var schemeObj = {};
for (var i = 0; i < columns.length; i++) {
var item = columns[i];
schemeObj[colHeaders[i]] = {
type: item.jsType
};
}
return schemeObj;
};
HH.stringifyArrObj = function(arr) {

@@ -318,2 +279,15 @@

HH.buildParseSchema = function(columns, colHeaders) {
var schemeObj = {};
for (var i = 0; i < columns.length; i++) {
var item = columns[i];
schemeObj[colHeaders[i]] = {
type: item.jsType
};
}
return schemeObj;
};
})();
{
"name": "handsontable-helpers",
"version": "1.0.4",
"_args": [
[
"handsontable-helpers@1.0.4",
"C:\\Users\\Art\\Dropbox\\Development\\geoclog"
]
],
"_from": "handsontable-helpers@1.0.4",
"_id": "handsontable-helpers@1.0.4",
"_inCache": true,
"_installable": true,
"_location": "/handsontable-helpers",
"_nodeVersion": "4.4.2",
"_npmOperationalInternal": {
"host": "packages-12-west.internal.npmjs.com",
"tmp": "tmp/handsontable-helpers-1.0.4.tgz_1470503509013_0.672645550686866"
},
"_npmUser": {
"email": "Artbels@gmail.com",
"name": "artbels"
},
"_npmVersion": "3.8.6",
"_phantomChildren": {},
"_requested": {
"name": "handsontable-helpers",
"raw": "handsontable-helpers@1.0.4",
"rawSpec": "1.0.4",
"scope": null,
"spec": "1.0.4",
"type": "version"
},
"_requiredBy": [
"/"
],
"_shasum": "74573df5f91af312f3eba18163a8b082af709273",
"_shrinkwrap": null,
"_spec": "handsontable-helpers@1.0.4",
"_where": "C:\\Users\\Art\\Dropbox\\Development\\geoclog",
"author": {
"name": "artbels"
},
"bugs": {
"url": "https://github.com/artbels/handsontable-helpers/issues"
},
"dependencies": {},
"description": "",
"devDependencies": {},
"directories": {},
"dist": {
"shasum": "74573df5f91af312f3eba18163a8b082af709273",
"tarball": "https://registry.npmjs.org/handsontable-helpers/-/handsontable-helpers-1.0.4.tgz"
},
"gitHead": "64240158b85a9b1bea13a8b4aa86a5465a86b6ce",
"homepage": "https://github.com/artbels/handsontable-helpers#readme",
"license": "ISC",
"main": "handsontable.helpers.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"maintainers": [
{
"email": "Artbels@gmail.com",
"name": "artbels"
}
],
"name": "handsontable-helpers",
"optionalDependencies": {},
"readme": "ERROR: No README data found!",
"repository": {

@@ -13,8 +70,6 @@ "type": "git",

},
"author": "artbels",
"license": "ISC",
"bugs": {
"url": "https://github.com/artbels/handsontable-helpers/issues"
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"homepage": "https://github.com/artbels/handsontable-helpers#readme"
"version": "1.0.5"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc