8 Commits

Author SHA1 Message Date
Micha
196db8febb WIP: ES6 module conversion and webpack refactoring
- Convert all IIFE modules to ES6 modules with attach functions
- Split webpack configs: lib build vs demo build
- Add UMD wrapper for auto-initialization with jQuery
- Update package.json with sequential build scripts
- Clean up legacy dist files and reorganize demo structure

Status: jQuery timing issues remain - attach functions not accessible
Next: Debug UMD factory execution and jQuery parameter passing
2025-07-31 14:38:37 +02:00
Micha
09358eaaf6 v25.0.7: Fix distribution file dependencies and production click handler issues
## Major Fix - Production Distribution Dependencies
- Fix missing click handlers in production by ensuring proper dependency management
- Add select2 to Gruntfile.js common inputs to include it in built distribution
- Resolve 'this.$input.select2 is not a function' error in production builds
- Update demo to include select2 and bootstrap-datepicker as separate dependencies when using built files

## Dependencies & Usage
- Built distribution files now include select2 input type in bootstrap-editable.min.js
- Users must include select2 and bootstrap-datepicker separately when using built files:
  - import 'select2' and 'select2/dist/css/select2.min.css'
  - import 'bootstrap-datepicker' and 'bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css'
- This matches standard JavaScript library dependency patterns

## Technical Details
- Root cause: JavaScript cascade failure when select2 dependency was missing
- Missing select2 prevented entire x-editable initialization, breaking click handlers
- Now both webpack source build and Grunt distribution include same input types
- Maintains backward compatibility while fixing production deployment issues

## Fixes Production Issues
-  Click handlers now properly attach in production
-  Form submission logic works correctly
-  All input types functional (text, select, select2, date, etc.)
-  Proper event binding and library initialization
-  No more 'Unknown type: select2' errors
2025-07-29 16:11:16 +02:00
Micha
1ae5282bc7 v25.0.6: Fix bootstrap-datepicker and select2 integration for Bootstrap 5
Major improvements and fixes:

## Bootstrap-datepicker Integration
- Fix DPGlobal undefined error in date input
- Remove conflicting bdatepicker alias that was causing noConflict errors
- Add graceful error handling for missing bootstrap-datepicker dependency
- Implement proper initialization sequence for DPGlobal API
- Position datepicker above input with improved UX styling

## Select2 Integration & Compatibility
- Fix select2 integration with Select2 v4.1.0-rc.0
- Resolve issue where select2:select event fired but value didn't update
- Add event handler to manually update select2 value on selection
- Fix webpack build inconsistency between demo and standalone builds
- Remove redundant npm dependencies from demo (bootstrap-datepicker, select2)
- Implement proper Select2 v4 API usage for value setting

## Build System Improvements
- Fix webpack configuration to properly handle CSS imports
- Remove CSS file copying for npm dependencies, use webpack imports instead
- Ensure consistent input type registration across all build targets
- Clean up build output and remove debugging code

## Demo & Testing
- Update demo to use webpack source build for consistency
- Add comprehensive error handling and user feedback
- Clean up all debugging console output
- Improve demo page descriptions and usability

## Technical Fixes
- Fix 'Unknown type: select2' error in demo build
- Resolve value change detection preventing save operations
- Implement savenochange option for better UX
- Remove deprecated jQuery UI conflicts and aliases
- Update to modern webpack and build practices
2025-07-29 13:36:06 +02:00
Micha
f2a298f73a Bundle select2 as npm dependency instead of local files
- Added select2 as npm dependency
- Removed local select2 library files to eliminate duplication
- Updated webpack config to copy select2.css to dist folder
- Added global jQuery attachment fix for select2
- Updated README to reflect bundled dependency approach
- Enabled select2 demo functionality
2025-07-28 13:14:59 +02:00
Micha
dda7550181 Fix select2 library dependency checks
- Added safety checks for select2 library availability
- Prevents TypeError when select2 library not loaded
- Falls back to regular input behavior when select2 unavailable
- Fixed getSeparator function to handle missing select2 defaults
2025-07-28 12:54:17 +02:00
Micha
9d84a1f21d Restore select2 input functionality after Bootstrap 5 cleanup
- Restored select2 input type from earlier commit d4adf5e^
- Added select2 import to bootstrap5-editable.js bundle
- Updated demo with select2 example (requires select2 library)
- Enhanced README.md with comprehensive select2 documentation
- Includes support for static sources, AJAX sources, and advanced configuration
- Select2 library must be included separately (not bundled)
2025-07-28 12:48:43 +02:00
Micha
6ea537cd55 Fix datepicker workflow to match legacy behavior
- Implement proper button hiding/showing workflow for datepicker inputs
- Buttons now hidden initially when datepicker opens
- Buttons appear only after date selection, not immediately
- Datepicker closes automatically after date selection
- Enhanced CSS specificity for reliable button control
- Robust fallback methods for datepicker closing
- Update to version 25.0.5
2025-07-27 16:40:58 +02:00
Micha
9524a8acf8 Reorganize project structure and finalize Bootstrap 5 cleanup
- Create demo folder and move test files with proper naming
- Rename test.html/js/php to demo/index.html/demo.js/demo.php
- Update Gruntfile.js to Bootstrap 5 only configuration
- Clean up package.json dependencies (remove unused webpack/popper.js)
- Remove non-Bootstrap 5 dist directories
- Update webpack config to use demo files
- Fix demo paths and ensure fully functional demo
2025-07-27 14:08:17 +02:00