littleshop/LittleShop/wwwroot/lib/handsontable/languages/nl-NL.min.js
sysadmin 76efba55bd feat: Phase 2.5 - Variant Collections Spreadsheet Editor
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
2025-11-13 19:40:06 +00:00

1 line
4.8 KiB
JavaScript

!function(E,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e(require("handsontable"));else if("function"==typeof define&&define.amd)define(["handsontable"],e);else{var T="object"==typeof exports?e(require("handsontable")):e(E.Handsontable);for(var _ in T)("object"==typeof exports?exports:E)[_]=T[_]}}("undefined"!=typeof self?self:this,(E=>(()=>{var e={330:e=>{"use strict";e.exports=E},436:E=>{E.exports=function(E){return E&&E.__esModule?E:{default:E}},E.exports.__esModule=!0,E.exports.default=E.exports}},T={};function _(E){var N=T[E];if(void 0!==N)return N.exports;var O=T[E]={exports:{}};return e[E](O,O.exports,_),O.exports}var N={};return(()=>{"use strict";var E=_(436)(_(330));const e=E.default.languages.dictionaryKeys,T={languageCode:"nl-NL",[e.CONTEXTMENU_ITEMS_ROW_ABOVE]:"Rij boven invoegen",[e.CONTEXTMENU_ITEMS_ROW_BELOW]:"Rij onder invoegen",[e.CONTEXTMENU_ITEMS_INSERT_LEFT]:"Kolom links invoegen",[e.CONTEXTMENU_ITEMS_INSERT_RIGHT]:"Kolom rechts invoegen",[e.CONTEXTMENU_ITEMS_REMOVE_ROW]:["Rij verwijderen","Rijen verwijderen"],[e.CONTEXTMENU_ITEMS_REMOVE_COLUMN]:["Kolom verwijderen","Kolommen verwijderen"],[e.CONTEXTMENU_ITEMS_UNDO]:"Ongedaan maken",[e.CONTEXTMENU_ITEMS_REDO]:"Opnieuw uitvoeren",[e.CONTEXTMENU_ITEMS_READ_ONLY]:"Alleen lezen",[e.CONTEXTMENU_ITEMS_CLEAR_COLUMN]:"Kolom leegmaken",[e.CONTEXTMENU_ITEMS_ALIGNMENT]:"Uitlijning",[e.CONTEXTMENU_ITEMS_ALIGNMENT_LEFT]:"Links",[e.CONTEXTMENU_ITEMS_ALIGNMENT_CENTER]:"Gecentreerd",[e.CONTEXTMENU_ITEMS_ALIGNMENT_RIGHT]:"Rechts",[e.CONTEXTMENU_ITEMS_ALIGNMENT_JUSTIFY]:"Uitvullen",[e.CONTEXTMENU_ITEMS_ALIGNMENT_TOP]:"Boven",[e.CONTEXTMENU_ITEMS_ALIGNMENT_MIDDLE]:"Midden",[e.CONTEXTMENU_ITEMS_ALIGNMENT_BOTTOM]:"Onder",[e.CONTEXTMENU_ITEMS_FREEZE_COLUMN]:"Kolom blokkeren",[e.CONTEXTMENU_ITEMS_UNFREEZE_COLUMN]:"Kolom blokkering opheffen",[e.CONTEXTMENU_ITEMS_BORDERS]:"Randen",[e.CONTEXTMENU_ITEMS_BORDERS_TOP]:"Boven",[e.CONTEXTMENU_ITEMS_BORDERS_RIGHT]:"Rechts",[e.CONTEXTMENU_ITEMS_BORDERS_BOTTOM]:"Onder",[e.CONTEXTMENU_ITEMS_BORDERS_LEFT]:"Links",[e.CONTEXTMENU_ITEMS_REMOVE_BORDERS]:"Rand(en) verwijderen",[e.CONTEXTMENU_ITEMS_ADD_COMMENT]:"Opmerking toevoegen",[e.CONTEXTMENU_ITEMS_EDIT_COMMENT]:"Opmerking bewerken",[e.CONTEXTMENU_ITEMS_REMOVE_COMMENT]:"Opmerking verwijderen",[e.CONTEXTMENU_ITEMS_READ_ONLY_COMMENT]:"Opmerking Alleen-lezen",[e.CONTEXTMENU_ITEMS_MERGE_CELLS]:"Cellen samenvoegen",[e.CONTEXTMENU_ITEMS_UNMERGE_CELLS]:"Samenvoeging van cellen opheffen",[e.CONTEXTMENU_ITEMS_COPY]:"Kopiëren",[e.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]:["Kopiëren met koptekst","Kopiëren met kopteksten"],[e.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]:["Kopiëren met groepskoptekst","Kopiëren met groepskopteksten"],[e.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]:["Kopiëren koptekst","Kopiëren kopteksten"],[e.CONTEXTMENU_ITEMS_CUT]:"Knippen",[e.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]:"Geneste rij invoegen",[e.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]:"Geneste rij ontkoppelen",[e.CONTEXTMENU_ITEMS_HIDE_COLUMN]:["Kolom verbergen","Kolommen verbergen"],[e.CONTEXTMENU_ITEMS_SHOW_COLUMN]:["Kolom zichbaar maken","Kolommen zichtbaar maken"],[e.CONTEXTMENU_ITEMS_HIDE_ROW]:["Rij verbergen","Rijen verbergen"],[e.CONTEXTMENU_ITEMS_SHOW_ROW]:["Rij zichtbaar maken","Rijen zichtbaar maken"],[e.FILTERS_CONDITIONS_NONE]:"Geen",[e.FILTERS_CONDITIONS_EMPTY]:"Is leeg",[e.FILTERS_CONDITIONS_NOT_EMPTY]:"Is niet leeg",[e.FILTERS_CONDITIONS_EQUAL]:"Is gelijk aan",[e.FILTERS_CONDITIONS_NOT_EQUAL]:"Is niet gelijk aan",[e.FILTERS_CONDITIONS_BEGINS_WITH]:"Begint met",[e.FILTERS_CONDITIONS_ENDS_WITH]:"Eindigt op",[e.FILTERS_CONDITIONS_CONTAINS]:"Bevat",[e.FILTERS_CONDITIONS_NOT_CONTAIN]:"Bevat niet",[e.FILTERS_CONDITIONS_GREATER_THAN]:"Is groter",[e.FILTERS_CONDITIONS_GREATER_THAN_OR_EQUAL]:"Is groter of gelijk aan",[e.FILTERS_CONDITIONS_LESS_THAN]:"Is kleiner dan",[e.FILTERS_CONDITIONS_LESS_THAN_OR_EQUAL]:"Is kleiner dan of gelijk aan",[e.FILTERS_CONDITIONS_BETWEEN]:"Is tussen",[e.FILTERS_CONDITIONS_NOT_BETWEEN]:"Ligt niet tussen",[e.FILTERS_CONDITIONS_AFTER]:"Na",[e.FILTERS_CONDITIONS_BEFORE]:"Voor",[e.FILTERS_CONDITIONS_TODAY]:"Vandaag",[e.FILTERS_CONDITIONS_TOMORROW]:"Morgen",[e.FILTERS_CONDITIONS_YESTERDAY]:"Gisteren",[e.FILTERS_VALUES_BLANK_CELLS]:"Cellen leegmaken",[e.FILTERS_DIVS_FILTER_BY_CONDITION]:"Filteren op conditie",[e.FILTERS_DIVS_FILTER_BY_VALUE]:"Filteren op waarde",[e.FILTERS_LABELS_CONJUNCTION]:"En",[e.FILTERS_LABELS_DISJUNCTION]:"Of",[e.FILTERS_BUTTONS_SELECT_ALL]:"Alles selecteren",[e.FILTERS_BUTTONS_CLEAR]:"Leeg maken",[e.FILTERS_BUTTONS_OK]:"OK",[e.FILTERS_BUTTONS_CANCEL]:"Annuleren",[e.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]:"Zoeken",[e.FILTERS_BUTTONS_PLACEHOLDER_VALUE]:"Waarde",[e.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]:"Tweede waarde"};E.default.languages.registerLanguageDictionary(T)})(),N=N.___})()));