changeset 41ebb700348d in sao:default
details: https://hg.tryton.org/sao?cmd=changeset;node=41ebb700348d
description:
        Do not monkey patch datetimepicker if not loaded

        The tests does not load graphical libraries so datetimepicker can not be
        loaded.
        issue9455
diffstat:

 src/sao.js |  58 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 30 insertions(+), 28 deletions(-)

diffs (70 lines):

diff -r ebf7626f0631 -r 41ebb700348d src/sao.js
--- a/src/sao.js        Sat Sep 12 09:58:20 2020 +0200
+++ b/src/sao.js        Sat Sep 12 10:41:34 2020 +0200
@@ -1147,36 +1147,38 @@
         .next('.modal-backdrop.in').removeClass('hidden');
     }
 
-    // XXX: use Popper to place popup
-    // cherry picked from tempusdominus-core.js
-    $.fn.datetimepicker.prototype.constructor.Constructor.prototype._place = 
function _place(e) {
-        var self = (e && e.data && e.data.picker) || this;
-        if (self._options.sideBySide) {
-            self._element.append(self.widget);
-            return;
-        }
-        if (self._options.widgetParent) {
-            self._options.widgetParent.append(self.widget);
-        } else if (self._element.is('input')) {
-            self._element.after(self.widget).parent();
-        } else {
-            self._element.children().first().after(self.widget);
-        }
+    if ($.fn.datetimepicker) {
+        // XXX: use Popper to place popup
+        // cherry picked from tempusdominus-core.js
+        $.fn.datetimepicker.prototype.constructor.Constructor.prototype._place 
= function _place(e) {
+            var self = (e && e.data && e.data.picker) || this;
+            if (self._options.sideBySide) {
+                self._element.append(self.widget);
+                return;
+            }
+            if (self._options.widgetParent) {
+                self._options.widgetParent.append(self.widget);
+            } else if (self._element.is('input')) {
+                self._element.after(self.widget).parent();
+            } else {
+                self._element.children().first().after(self.widget);
+            }
 
-        var reference = self.component[0];
+            var reference = self.component[0];
 
-        if (!reference) {
-            reference = self._element;
-        }
+            if (!reference) {
+                reference = self._element;
+            }
 
-        // ReSharper disable once ConstructorCallNotUsed
-        new Popper(reference, self.widget[0], {
-            placement: 'bottom-start'
-        });
-    };
+            // ReSharper disable once ConstructorCallNotUsed
+            new Popper(reference, self.widget[0], {
+                placement: 'bottom-start'
+            });
+        };
 
-    // XXX: Ensure to always return a date
-    
$.fn.datetimepicker.prototype.constructor.Constructor.prototype._getLastPickedDate
 = function _getLastPickedDate() {
-        return this._dates[this._getLastPickedDateIndex()] || this.getMoment();
-    };
+        // XXX: Ensure to always return a date
+        
$.fn.datetimepicker.prototype.constructor.Constructor.prototype._getLastPickedDate
 = function _getLastPickedDate() {
+            return this._dates[this._getLastPickedDateIndex()] || 
this.getMoment();
+        };
+    }
 }());

Reply via email to