littleshop/LittleShop/wwwroot/lib/handsontable/languages/ar-AR.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.9 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 _="object"==typeof exports?T(require("handsontable")):T(E.Handsontable);for(var N in _)("object"==typeof exports?exports:E)[N]=_[N]}}("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}},_={};function N(E){var O=_[E];if(void 0!==O)return O.exports;var I=_[E]={exports:{}};return T[E](I,I.exports,N),I.exports}var O={};return(()=>{"use strict";var E=N(436)(N(330));const T=E.default.languages.dictionaryKeys,_={languageCode:"ar-AR",languageDirection:"rtl",[T.CONTEXTMENU_ITEMS_NO_ITEMS]:"لا توجد خيارات متوفرة",[T.CONTEXTMENU_ITEMS_ROW_ABOVE]:"إدراج صف للأعلى",[T.CONTEXTMENU_ITEMS_ROW_BELOW]:"إدراج صف للأسفل",[T.CONTEXTMENU_ITEMS_INSERT_LEFT]:"إدراج عمود لليسار",[T.CONTEXTMENU_ITEMS_INSERT_RIGHT]:"إدراج عمود لليمين",[T.CONTEXTMENU_ITEMS_REMOVE_ROW]:["احدف الصف","احذف الصفوف"],[T.CONTEXTMENU_ITEMS_REMOVE_COLUMN]:["احدف العمود","احدف الأعمدة"],[T.CONTEXTMENU_ITEMS_UNDO]:"تراجع",[T.CONTEXTMENU_ITEMS_REDO]:"إلغاء التراجع",[T.CONTEXTMENU_ITEMS_READ_ONLY]:"للقراءة فقط",[T.CONTEXTMENU_ITEMS_CLEAR_COLUMN]:"افرغ العمود",[T.CONTEXTMENU_ITEMS_ALIGNMENT]:"المحاذاة",[T.CONTEXTMENU_ITEMS_ALIGNMENT_LEFT]:"يسار",[T.CONTEXTMENU_ITEMS_ALIGNMENT_CENTER]:"وسط",[T.CONTEXTMENU_ITEMS_ALIGNMENT_RIGHT]:"يمين",[T.CONTEXTMENU_ITEMS_ALIGNMENT_JUSTIFY]:"بالتساوي",[T.CONTEXTMENU_ITEMS_ALIGNMENT_TOP]:"أعلى",[T.CONTEXTMENU_ITEMS_ALIGNMENT_MIDDLE]:"متوسط",[T.CONTEXTMENU_ITEMS_ALIGNMENT_BOTTOM]:"أسفل",[T.CONTEXTMENU_ITEMS_FREEZE_COLUMN]:"تجميد العمود",[T.CONTEXTMENU_ITEMS_UNFREEZE_COLUMN]:"إلغاء تجميد العمود",[T.CONTEXTMENU_ITEMS_BORDERS]:"الحدود",[T.CONTEXTMENU_ITEMS_BORDERS_TOP]:"أعلى",[T.CONTEXTMENU_ITEMS_BORDERS_RIGHT]:"يمين",[T.CONTEXTMENU_ITEMS_BORDERS_BOTTOM]:"أسفل",[T.CONTEXTMENU_ITEMS_BORDERS_LEFT]:"يسار",[T.CONTEXTMENU_ITEMS_REMOVE_BORDERS]:"أحذف الحد(ود)",[T.CONTEXTMENU_ITEMS_ADD_COMMENT]:"أضف تعليقاً",[T.CONTEXTMENU_ITEMS_EDIT_COMMENT]:"تعديل التعليق",[T.CONTEXTMENU_ITEMS_REMOVE_COMMENT]:"احذف التعليق",[T.CONTEXTMENU_ITEMS_READ_ONLY_COMMENT]:"تعليق للقراءة فقط",[T.CONTEXTMENU_ITEMS_MERGE_CELLS]:"ادمج الخلايا",[T.CONTEXTMENU_ITEMS_UNMERGE_CELLS]:"إلغاء دمج الخلايا",[T.CONTEXTMENU_ITEMS_COPY]:"نسخ",[T.CONTEXTMENU_ITEMS_CUT]:"قص",[T.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]:"أدخل صفاً فرعياً",[T.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]:"افصل عن الصف الأصلي",[T.CONTEXTMENU_ITEMS_HIDE_COLUMN]:["إخفاء العمود","إخفاء الأعمدة"],[T.CONTEXTMENU_ITEMS_SHOW_COLUMN]:["إظهار العمود","إظهار الأعمدة"],[T.CONTEXTMENU_ITEMS_HIDE_ROW]:["إخفاء السطر","إخفاء السطور"],[T.CONTEXTMENU_ITEMS_SHOW_ROW]:["إظهار السطر","إظهار السطور"],[T.FILTERS_CONDITIONS_NONE]:"بلا",[T.FILTERS_CONDITIONS_EMPTY]:"فارغ",[T.FILTERS_CONDITIONS_NOT_EMPTY]:"غير فارغ",[T.FILTERS_CONDITIONS_EQUAL]:"يساوي",[T.FILTERS_CONDITIONS_NOT_EQUAL]:"لا يساوي",[T.FILTERS_CONDITIONS_BEGINS_WITH]:"يبداً بـ",[T.FILTERS_CONDITIONS_ENDS_WITH]:"ينتهي بـ",[T.FILTERS_CONDITIONS_CONTAINS]:"يحتوي",[T.FILTERS_CONDITIONS_NOT_CONTAIN]:"لا يحتوي",[T.FILTERS_CONDITIONS_GREATER_THAN]:"أكبر من",[T.FILTERS_CONDITIONS_GREATER_THAN_OR_EQUAL]:"أكبر أو يساوي",[T.FILTERS_CONDITIONS_LESS_THAN]:"أصغر",[T.FILTERS_CONDITIONS_LESS_THAN_OR_EQUAL]:"أصغر أو يساوي",[T.FILTERS_CONDITIONS_BETWEEN]:"بين",[T.FILTERS_CONDITIONS_NOT_BETWEEN]:"خارج المجال",[T.FILTERS_CONDITIONS_AFTER]:"بعد",[T.FILTERS_CONDITIONS_BEFORE]:"قبل",[T.FILTERS_CONDITIONS_TODAY]:"اليوم",[T.FILTERS_CONDITIONS_TOMORROW]:"غداً",[T.FILTERS_CONDITIONS_YESTERDAY]:"البارحة",[T.FILTERS_VALUES_BLANK_CELLS]:"خلايا فارغة",[T.FILTERS_DIVS_FILTER_BY_CONDITION]:"تصفية حسب الشرط",[T.FILTERS_DIVS_FILTER_BY_VALUE]:"تصفية حسب القيمة",[T.FILTERS_LABELS_CONJUNCTION]:"و",[T.FILTERS_LABELS_DISJUNCTION]:"أو",[T.FILTERS_BUTTONS_SELECT_ALL]:"اختيار الكل",[T.FILTERS_BUTTONS_CLEAR]:"إلغاء",[T.FILTERS_BUTTONS_OK]:"موافق",[T.FILTERS_BUTTONS_CANCEL]:"إلغاء",[T.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]:"البحث",[T.FILTERS_BUTTONS_PLACEHOLDER_VALUE]:"القيمة",[T.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]:"القيمة الثانية"};E.default.languages.registerLanguageDictionary(_)})(),O=O.___})()));