3 Commits

Author SHA1 Message Date
Micha
68a5cefd46 added a datepicker fix 2025-11-04 16:36:24 +01:00
Micha
51aaa130b7 added a datepicker fix 2025-11-04 16:11:53 +01:00
Micha
71ee0d9b72 added a datepicker fix 2025-11-04 16:05:37 +01:00
18 changed files with 297 additions and 157 deletions

View File

@@ -1,5 +1,5 @@
/*! X-editable-bootstrap5 - v1.5.4
* A maintained fork of x-editable for Bootstrap 5 support.
/*! X-editable-bootstrap5 - v1.5.7
* A fork of x-editable for Bootstrap 5 support.
* https://git.24unix.net/tracer/x-editable
* Copyright (c) 2025 Micha Espey; Licensed MIT */
.editableform {

View File

@@ -1,5 +1,5 @@
/*! X-editable-bootstrap5 - v1.5.4
* A maintained fork of x-editable for Bootstrap 5 support.
/*! X-editable-bootstrap5 - v1.5.7
* A fork of x-editable for Bootstrap 5 support.
* https://git.24unix.net/tracer/x-editable
* Copyright (c) 2025 Micha Espey; Licensed MIT */
/**
@@ -3885,7 +3885,13 @@ $(function(){
input2value: function() {
var val = this.$input.val();
// For Select2 v4.x, ensure we get the actual selected value
// --- Handle Bootstrap Datepicker ---
var dp = this.$input.data('datepicker');
if (dp && typeof dp.getFormattedDate === 'function') {
val = dp.getFormattedDate(this.options.format || 'yyyy-mm-dd');
}
// --- Handle Select2 v4.x ---
if (this.$input.data('select2')) {
var selectedData = this.$input.select2('data');
if (selectedData && selectedData.length > 0) {
@@ -4993,8 +4999,20 @@ $(function(){
},
value2html: function(value, element) {
var text = value ? this.dpg.formatDate(value, this.parsedViewFormat, this.options.datepicker.language) : '';
Date.superclass.value2html.call(this, text, element);
let text = '';
if (value) {
if (typeof value === 'string') {
text = value;
} else if (value instanceof Date && typeof value.getUTCDate === 'function') {
text = this.dpg.formatDate(value, this.parsedFormat, this.options.datepicker.language);
}
}
// direct fallback: set text without using editableutils
if (element) {
element.textContent = text;
}
},
html2value: function(html) {
@@ -5002,7 +5020,17 @@ $(function(){
},
value2str: function(value) {
return value ? this.dpg.formatDate(value, this.parsedFormat, this.options.datepicker.language) : '';
if (!value) {
return '';
}
// If value is already a string (like "2025-11-27"), just return it.
if (typeof value === 'string') {
return value;
}
// Otherwise, assume it's a Date object and format it.
return this.dpg.formatDate(value, this.parsedFormat, this.options.datepicker.language);
},
str2value: function(str) {
@@ -5018,7 +5046,11 @@ $(function(){
},
input2value: function() {
return this.$input.data('datepicker').date;
const dp = this.$input.data('datepicker');
if (dp && typeof dp.getFormattedDate === 'function') {
return dp.getFormattedDate(this.options.format || 'yyyy-mm-dd');
}
return this.$input.val();
},
activate: function() {

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
/*! X-editable-bootstrap5 - v1.5.4
* A maintained fork of x-editable for Bootstrap 5 support.
/*! X-editable-bootstrap5 - v1.5.7
* A fork of x-editable for Bootstrap 5 support.
* https://git.24unix.net/tracer/x-editable
* Copyright (c) 2025 Micha Espey; Licensed MIT */
.editableform {

View File

@@ -1,5 +1,5 @@
/*! X-editable-bootstrap5 - v1.5.4
* A maintained fork of x-editable for Bootstrap 5 support.
/*! X-editable-bootstrap5 - v1.5.7
* A fork of x-editable for Bootstrap 5 support.
* https://git.24unix.net/tracer/x-editable
* Copyright (c) 2025 Micha Espey; Licensed MIT */
/**
@@ -3885,7 +3885,13 @@ $(function(){
input2value: function() {
var val = this.$input.val();
// For Select2 v4.x, ensure we get the actual selected value
// --- Handle Bootstrap Datepicker ---
var dp = this.$input.data('datepicker');
if (dp && typeof dp.getFormattedDate === 'function') {
val = dp.getFormattedDate(this.options.format || 'yyyy-mm-dd');
}
// --- Handle Select2 v4.x ---
if (this.$input.data('select2')) {
var selectedData = this.$input.select2('data');
if (selectedData && selectedData.length > 0) {
@@ -5061,8 +5067,20 @@ $(function(){
},
value2html: function(value, element) {
var text = value ? this.dpg.formatDate(value, this.parsedViewFormat, this.options.datepicker.language) : '';
Date.superclass.value2html.call(this, text, element);
let text = '';
if (value) {
if (typeof value === 'string') {
text = value;
} else if (value instanceof Date && typeof value.getUTCDate === 'function') {
text = this.dpg.formatDate(value, this.parsedFormat, this.options.datepicker.language);
}
}
// direct fallback: set text without using editableutils
if (element) {
element.textContent = text;
}
},
html2value: function(html) {
@@ -5070,7 +5088,17 @@ $(function(){
},
value2str: function(value) {
return value ? this.dpg.formatDate(value, this.parsedFormat, this.options.datepicker.language) : '';
if (!value) {
return '';
}
// If value is already a string (like "2025-11-27"), just return it.
if (typeof value === 'string') {
return value;
}
// Otherwise, assume it's a Date object and format it.
return this.dpg.formatDate(value, this.parsedFormat, this.options.datepicker.language);
},
str2value: function(str) {
@@ -5086,7 +5114,11 @@ $(function(){
},
input2value: function() {
return this.$input.data('datepicker').date;
const dp = this.$input.data('datepicker');
if (dp && typeof dp.getFormattedDate === 'function') {
return dp.getFormattedDate(this.options.format || 'yyyy-mm-dd');
}
return this.$input.val();
},
activate: function() {

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
/*! X-editable-bootstrap5 - v1.5.4
* A maintained fork of x-editable for Bootstrap 5 support.
/*! X-editable-bootstrap5 - v1.5.7
* A fork of x-editable for Bootstrap 5 support.
* https://git.24unix.net/tracer/x-editable
* Copyright (c) 2025 Micha Espey; Licensed MIT */
.editableform {

View File

@@ -1,5 +1,5 @@
/*! X-editable-bootstrap5 - v1.5.4
* A maintained fork of x-editable for Bootstrap 5 support.
/*! X-editable-bootstrap5 - v1.5.7
* A fork of x-editable for Bootstrap 5 support.
* https://git.24unix.net/tracer/x-editable
* Copyright (c) 2025 Micha Espey; Licensed MIT */
/**
@@ -3885,7 +3885,13 @@ $(function(){
input2value: function() {
var val = this.$input.val();
// For Select2 v4.x, ensure we get the actual selected value
// --- Handle Bootstrap Datepicker ---
var dp = this.$input.data('datepicker');
if (dp && typeof dp.getFormattedDate === 'function') {
val = dp.getFormattedDate(this.options.format || 'yyyy-mm-dd');
}
// --- Handle Select2 v4.x ---
if (this.$input.data('select2')) {
var selectedData = this.$input.select2('data');
if (selectedData && selectedData.length > 0) {
@@ -4927,8 +4933,20 @@ $(function(){
},
value2html: function(value, element) {
var text = value ? this.dpg.formatDate(value, this.parsedViewFormat, this.options.datepicker.language) : '';
Date.superclass.value2html.call(this, text, element);
let text = '';
if (value) {
if (typeof value === 'string') {
text = value;
} else if (value instanceof Date && typeof value.getUTCDate === 'function') {
text = this.dpg.formatDate(value, this.parsedFormat, this.options.datepicker.language);
}
}
// direct fallback: set text without using editableutils
if (element) {
element.textContent = text;
}
},
html2value: function(html) {
@@ -4936,7 +4954,17 @@ $(function(){
},
value2str: function(value) {
return value ? this.dpg.formatDate(value, this.parsedFormat, this.options.datepicker.language) : '';
if (!value) {
return '';
}
// If value is already a string (like "2025-11-27"), just return it.
if (typeof value === 'string') {
return value;
}
// Otherwise, assume it's a Date object and format it.
return this.dpg.formatDate(value, this.parsedFormat, this.options.datepicker.language);
},
str2value: function(str) {
@@ -4952,7 +4980,11 @@ $(function(){
},
input2value: function() {
return this.$input.data('datepicker').date;
const dp = this.$input.data('datepicker');
if (dp && typeof dp.getFormattedDate === 'function') {
return dp.getFormattedDate(this.options.format || 'yyyy-mm-dd');
}
return this.$input.val();
},
activate: function() {

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
/*! X-editable-bootstrap5 - v1.5.4
* A maintained fork of x-editable for Bootstrap 5 support.
/*! X-editable-bootstrap5 - v1.5.7
* A fork of x-editable for Bootstrap 5 support.
* https://git.24unix.net/tracer/x-editable
* Copyright (c) 2025 Micha Espey; Licensed MIT */
.editableform {

View File

@@ -1,5 +1,5 @@
/*! X-editable-bootstrap5 - v1.5.4
* A maintained fork of x-editable for Bootstrap 5 support.
/*! X-editable-bootstrap5 - v1.5.7
* A fork of x-editable for Bootstrap 5 support.
* https://git.24unix.net/tracer/x-editable
* Copyright (c) 2025 Micha Espey; Licensed MIT */
/**
@@ -3885,7 +3885,13 @@ $(function(){
input2value: function() {
var val = this.$input.val();
// For Select2 v4.x, ensure we get the actual selected value
// --- Handle Bootstrap Datepicker ---
var dp = this.$input.data('datepicker');
if (dp && typeof dp.getFormattedDate === 'function') {
val = dp.getFormattedDate(this.options.format || 'yyyy-mm-dd');
}
// --- Handle Select2 v4.x ---
if (this.$input.data('select2')) {
var selectedData = this.$input.select2('data');
if (selectedData && selectedData.length > 0) {

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
/*! X-editable-bootstrap5 - v1.5.4
* A maintained fork of x-editable for Bootstrap 5 support.
/*! X-editable-bootstrap5 - v1.5.7
* A fork of x-editable for Bootstrap 5 support.
* https://git.24unix.net/tracer/x-editable
* Copyright (c) 2025 Micha Espey; Licensed MIT */
.editableform {

View File

@@ -1,5 +1,5 @@
/*! X-editable-bootstrap5 - v1.5.4
* A maintained fork of x-editable for Bootstrap 5 support.
/*! X-editable-bootstrap5 - v1.5.7
* A fork of x-editable for Bootstrap 5 support.
* https://git.24unix.net/tracer/x-editable
* Copyright (c) 2025 Micha Espey; Licensed MIT */
/**
@@ -3885,7 +3885,13 @@ $(function(){
input2value: function() {
var val = this.$input.val();
// For Select2 v4.x, ensure we get the actual selected value
// --- Handle Bootstrap Datepicker ---
var dp = this.$input.data('datepicker');
if (dp && typeof dp.getFormattedDate === 'function') {
val = dp.getFormattedDate(this.options.format || 'yyyy-mm-dd');
}
// --- Handle Select2 v4.x ---
if (this.$input.data('select2')) {
var selectedData = this.$input.select2('data');
if (selectedData && selectedData.length > 0) {

File diff suppressed because one or more lines are too long

View File

@@ -1,8 +1,8 @@
{
"name": "x-editable-bootstrap5",
"title": "X-editable-bootstrap5",
"description": "A maintained fork of x-editable for Bootstrap 5 support.",
"version": "1.5.4",
"description": "A fork of x-editable for Bootstrap 5 support.",
"version": "1.5.7",
"homepage": "https://git.24unix.net/tracer/x-editable",
"author": {
"name": "Micha Espey",

View File

@@ -90,8 +90,20 @@ $(function(){
},
value2html: function(value, element) {
var text = value ? this.dpg.formatDate(value, this.parsedViewFormat, this.options.datepicker.language) : '';
Date.superclass.value2html.call(this, text, element);
let text = '';
if (value) {
if (typeof value === 'string') {
text = value;
} else if (value instanceof Date && typeof value.getUTCDate === 'function') {
text = this.dpg.formatDate(value, this.parsedFormat, this.options.datepicker.language);
}
}
// direct fallback: set text without using editableutils
if (element) {
element.textContent = text;
}
},
html2value: function(html) {
@@ -99,7 +111,17 @@ $(function(){
},
value2str: function(value) {
return value ? this.dpg.formatDate(value, this.parsedFormat, this.options.datepicker.language) : '';
if (!value) {
return '';
}
// If value is already a string (like "2025-11-27"), just return it.
if (typeof value === 'string') {
return value;
}
// Otherwise, assume it's a Date object and format it.
return this.dpg.formatDate(value, this.parsedFormat, this.options.datepicker.language);
},
str2value: function(str) {
@@ -115,7 +137,11 @@ $(function(){
},
input2value: function() {
return this.$input.data('datepicker').date;
const dp = this.$input.data('datepicker');
if (dp && typeof dp.getFormattedDate === 'function') {
return dp.getFormattedDate(this.options.format || 'yyyy-mm-dd');
}
return this.$input.val();
},
activate: function() {

View File

@@ -284,7 +284,13 @@ $(function(){
input2value: function() {
var val = this.$input.val();
// For Select2 v4.x, ensure we get the actual selected value
// --- Handle Bootstrap Datepicker ---
var dp = this.$input.data('datepicker');
if (dp && typeof dp.getFormattedDate === 'function') {
val = dp.getFormattedDate(this.options.format || 'yyyy-mm-dd');
}
// --- Handle Select2 v4.x ---
if (this.$input.data('select2')) {
var selectedData = this.$input.select2('data');
if (selectedData && selectedData.length > 0) {