littleshop/LittleShop/wwwroot/lib/handsontable/languages/de-DE.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.4 KiB
JavaScript

!function(E,T){if("object"==typeof exports&&"object"==typeof module)module.exports=T(require("handsontable"));else if("function"==typeof define&&define.amd)define(["handsontable"],T);else{var e="object"==typeof exports?T(require("handsontable")):T(E.Handsontable);for(var _ in e)("object"==typeof exports?exports:E)[_]=e[_]}}("undefined"!=typeof self?self:this,(E=>(()=>{var T={330:T=>{"use strict";T.exports=E},436:E=>{E.exports=function(E){return E&&E.__esModule?E:{default:E}},E.exports.__esModule=!0,E.exports.default=E.exports}},e={};function _(E){var N=e[E];if(void 0!==N)return N.exports;var O=e[E]={exports:{}};return T[E](O,O.exports,_),O.exports}var N={};return(()=>{"use strict";var E=_(436)(_(330));const T=E.default.languages.dictionaryKeys,e={languageCode:"de-DE",[T.CONTEXTMENU_ITEMS_ROW_ABOVE]:"Zeile einfügen oberhalb",[T.CONTEXTMENU_ITEMS_ROW_BELOW]:"Zeile einfügen unterhalb",[T.CONTEXTMENU_ITEMS_INSERT_LEFT]:"Spalte einfügen links",[T.CONTEXTMENU_ITEMS_INSERT_RIGHT]:"Spalte einfügen rechts",[T.CONTEXTMENU_ITEMS_REMOVE_ROW]:["Zeile löschen","Zeilen löschen"],[T.CONTEXTMENU_ITEMS_REMOVE_COLUMN]:["Spalte löschen","Spalten löschen"],[T.CONTEXTMENU_ITEMS_UNDO]:"Rückgangig",[T.CONTEXTMENU_ITEMS_REDO]:"Wiederholen",[T.CONTEXTMENU_ITEMS_READ_ONLY]:"Nur Lesezugriff",[T.CONTEXTMENU_ITEMS_CLEAR_COLUMN]:"Spalteninhalt löschen",[T.CONTEXTMENU_ITEMS_ALIGNMENT]:"Ausrichtung",[T.CONTEXTMENU_ITEMS_ALIGNMENT_LEFT]:"Linksbündig",[T.CONTEXTMENU_ITEMS_ALIGNMENT_CENTER]:"Zentriert",[T.CONTEXTMENU_ITEMS_ALIGNMENT_RIGHT]:"Rechtsbündig",[T.CONTEXTMENU_ITEMS_ALIGNMENT_JUSTIFY]:"Blocksatz",[T.CONTEXTMENU_ITEMS_ALIGNMENT_TOP]:"Oben",[T.CONTEXTMENU_ITEMS_ALIGNMENT_MIDDLE]:"Mitte",[T.CONTEXTMENU_ITEMS_ALIGNMENT_BOTTOM]:"Unten",[T.CONTEXTMENU_ITEMS_FREEZE_COLUMN]:"Spalte fixieren",[T.CONTEXTMENU_ITEMS_UNFREEZE_COLUMN]:"Spaltenfixierung aufheben",[T.CONTEXTMENU_ITEMS_BORDERS]:"Rahmen",[T.CONTEXTMENU_ITEMS_BORDERS_TOP]:"Oben",[T.CONTEXTMENU_ITEMS_BORDERS_RIGHT]:"Rechts",[T.CONTEXTMENU_ITEMS_BORDERS_BOTTOM]:"Unten",[T.CONTEXTMENU_ITEMS_BORDERS_LEFT]:"Links",[T.CONTEXTMENU_ITEMS_REMOVE_BORDERS]:"Kein Rahmen",[T.CONTEXTMENU_ITEMS_ADD_COMMENT]:"Kommentar hinzufügen",[T.CONTEXTMENU_ITEMS_EDIT_COMMENT]:"Kommentar bearbeiten",[T.CONTEXTMENU_ITEMS_REMOVE_COMMENT]:"Kommentar löschen",[T.CONTEXTMENU_ITEMS_READ_ONLY_COMMENT]:"Schreibschutz Kommentar",[T.CONTEXTMENU_ITEMS_MERGE_CELLS]:"Zellen verbinden",[T.CONTEXTMENU_ITEMS_UNMERGE_CELLS]:"Zellen teilen",[T.CONTEXTMENU_ITEMS_COPY]:"Kopieren",[T.CONTEXTMENU_ITEMS_CUT]:"Ausschneiden",[T.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]:"Nachfolgerzeile einfügen",[T.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]:"Von Vorgängerzeile abkoppeln",[T.CONTEXTMENU_ITEMS_HIDE_COLUMN]:["Spalte ausblenden","Spalten ausblenden"],[T.CONTEXTMENU_ITEMS_SHOW_COLUMN]:["Spalte einblenden","Spalten einblenden"],[T.CONTEXTMENU_ITEMS_HIDE_ROW]:["Zeile ausblenden","Zeilen ausblenden"],[T.CONTEXTMENU_ITEMS_SHOW_ROW]:["Zeile einblenden","Zeilen einblenden"],[T.FILTERS_CONDITIONS_NONE]:"Kein Filter",[T.FILTERS_CONDITIONS_EMPTY]:"Ist leer",[T.FILTERS_CONDITIONS_NOT_EMPTY]:"Ist nicht leer",[T.FILTERS_CONDITIONS_EQUAL]:"Ist gleich",[T.FILTERS_CONDITIONS_NOT_EQUAL]:"Ist ungleich",[T.FILTERS_CONDITIONS_BEGINS_WITH]:"Beginnt mit",[T.FILTERS_CONDITIONS_ENDS_WITH]:"Endet mit",[T.FILTERS_CONDITIONS_CONTAINS]:"Enthält",[T.FILTERS_CONDITIONS_NOT_CONTAIN]:"Enthält nicht",[T.FILTERS_CONDITIONS_GREATER_THAN]:"Größer als",[T.FILTERS_CONDITIONS_GREATER_THAN_OR_EQUAL]:"Größer gleich",[T.FILTERS_CONDITIONS_LESS_THAN]:"Kleiner als",[T.FILTERS_CONDITIONS_LESS_THAN_OR_EQUAL]:"Kleiner gleich",[T.FILTERS_CONDITIONS_BETWEEN]:"Zwischen",[T.FILTERS_CONDITIONS_NOT_BETWEEN]:"Außerhalb",[T.FILTERS_CONDITIONS_AFTER]:"Nach",[T.FILTERS_CONDITIONS_BEFORE]:"Vor",[T.FILTERS_CONDITIONS_TODAY]:"Heute",[T.FILTERS_CONDITIONS_TOMORROW]:"Morgen",[T.FILTERS_CONDITIONS_YESTERDAY]:"Gestern",[T.FILTERS_VALUES_BLANK_CELLS]:"Leere Zellen",[T.FILTERS_DIVS_FILTER_BY_CONDITION]:"Per Bedingung filtern",[T.FILTERS_DIVS_FILTER_BY_VALUE]:"Nach Zahlen filtern",[T.FILTERS_LABELS_CONJUNCTION]:"Und",[T.FILTERS_LABELS_DISJUNCTION]:"Oder",[T.FILTERS_BUTTONS_SELECT_ALL]:"Alles auswählen",[T.FILTERS_BUTTONS_CLEAR]:"Auswahl aufheben",[T.FILTERS_BUTTONS_OK]:"OK",[T.FILTERS_BUTTONS_CANCEL]:"Abbrechen",[T.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]:"Suchen",[T.FILTERS_BUTTONS_PLACEHOLDER_VALUE]:"Wert",[T.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]:"Alternativwert"};E.default.languages.registerLanguageDictionary(e)})(),N=N.___})()));