Replaces JSON textarea with professional Excel-like spreadsheet interface for managing product variant properties. Features: - Handsontable 14.6.1 spreadsheet component - Property presets (Size, Color, Material, Storage, Custom) - Inline cell editing with Tab/Enter navigation - Context menu for add/remove rows and columns - Keyboard shortcuts (Ctrl+D delete, Ctrl+Enter save, Ctrl+Z undo) - Mobile touch gestures (swipe to delete rows) - Automatic JSON serialization on form submit - Form validation before saving - Comprehensive user guide documentation Files Changed: - LittleShop/package.json: NPM package management setup - LittleShop/wwwroot/js/variant-editor.js: 400-line spreadsheet editor module - LittleShop/wwwroot/lib/handsontable/: Handsontable library (Community Edition) - LittleShop/wwwroot/lib/hammerjs/: Hammer.js touch gesture library - LittleShop/Areas/Admin/Views/VariantCollections/Edit.cshtml: Spreadsheet UI integration - VARIANT_COLLECTIONS_USER_GUIDE.md: Complete user guide (18+ pages) Technical Details: - Excel-like editing experience (no more manual JSON editing) - Mobile-first responsive design - Browser compatibility: Chrome 90+, Firefox 88+, Edge 90+, Safari 14+ - Touch-optimized for mobile administration - Automatic data validation and error handling
58 lines
1.3 KiB
JSON
58 lines
1.3 KiB
JSON
{
|
|
"name": "hammerjs",
|
|
"title": "Hammer.JS",
|
|
"description": "A javascript library for multi-touch gestures",
|
|
"version": "2.0.8",
|
|
"homepage": "http://hammerjs.github.io/",
|
|
"license": "MIT",
|
|
"keywords": [
|
|
"touch",
|
|
"gestures"
|
|
],
|
|
"author": {
|
|
"name": "Jorik Tangelder",
|
|
"email": "j.tangelder@gmail.com"
|
|
},
|
|
"contributors": [
|
|
{
|
|
"name": "Alexander Schmitz",
|
|
"email": "arschmitz@gmail.com"
|
|
},
|
|
{
|
|
"name": "Chris Thoburn",
|
|
"email": ""
|
|
}
|
|
],
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git://github.com/hammerjs/hammer.js.git"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/hammerjs/hammer.js/issues"
|
|
},
|
|
"dependencies": {},
|
|
"devDependencies": {
|
|
"changelogplease": "^1.2.0",
|
|
"git-tags": "^0.2.4",
|
|
"grunt": "0.4.x",
|
|
"grunt-banner": "^0.2.3",
|
|
"grunt-contrib-concat": "0.4.x",
|
|
"grunt-contrib-connect": "0.7.x",
|
|
"grunt-contrib-jshint": "0.10.x",
|
|
"grunt-contrib-qunit": "^0.5.1",
|
|
"grunt-contrib-uglify": "0.7.x",
|
|
"grunt-contrib-watch": "0.6.x",
|
|
"grunt-jscs": "^0.8.0",
|
|
"grunt-string-replace": "^0.2.7",
|
|
"hammer-simulator": "git://github.com/hammerjs/simulator#master",
|
|
"jquery-hammerjs": "2.0.x"
|
|
},
|
|
"main": "hammer.js",
|
|
"engines": {
|
|
"node": ">=0.8.0"
|
|
},
|
|
"scripts": {
|
|
"test": "grunt test"
|
|
}
|
|
}
|