Denis K 8 роки тому
батько
коміт
b635566bef

Різницю між файлами не показано, бо вона завелика
+ 0 - 0
jet/static/jet/js/build/bundle.min.js


+ 39 - 16
jet/static/jet/js/src/features/date-time-widgets.js

@@ -32,6 +32,26 @@ DateTimeWidgets.prototype = {
 
             $dateField.nextAll('br').first().remove();
         });
+
+        $('.form-row .vDateField').each(function () {
+            var $dateField = $(this);
+            var $dateButton = $('<span>').addClass('icon-calendar');
+            $('<a>')
+                .attr('href', '#')
+                .addClass('vDateField-link')
+                .append($dateButton)
+                .insertAfter($dateField);
+        });
+
+        $('.form-row .vTimeField').each(function () {
+            var $timeField = $(this);
+            var $timeButton = $('<span>').addClass('icon-clock');
+            $('<a>')
+                .attr('href', '#')
+                .addClass('vTimeField-link')
+                .append($timeButton)
+                .insertAfter($timeField);
+        });
     },
     djangoDateTimeFormatToJs: function(format) {
         return format.toLowerCase().replace(/%\w/g, function(format) {
@@ -39,17 +59,14 @@ DateTimeWidgets.prototype = {
             return format + format;
         });
     },
-    initDateWidgets: function() {
+    initDateWidgets: function($container) {
+        $container = $container || $(document);
+
         var self = this;
 
-        $('.form-row .vDateField').each(function () {
+        $container.find('.form-row .vDateField').each(function () {
             var $dateField = $(this);
-            var $dateButton = $('<span>').addClass('icon-calendar');
-            var $dateLink = $('<a>')
-                .attr('href', '#')
-                .addClass('vDateField-link')
-                .append($dateButton)
-                .insertAfter($dateField);
+            var $dateLink = $dateField.next('.vDateField-link');
 
             $dateField.datepicker({
                 dateFormat: self.djangoDateTimeFormatToJs(DATE_FORMAT),
@@ -75,15 +92,12 @@ DateTimeWidgets.prototype = {
             this._selectDate(id);
         };
     },
-    initTimeWidgets: function() {
-        $('.form-row .vTimeField').each(function () {
+    initTimeWidgets: function($container) {
+        $container = $container || $(document);
+
+        $container.find('.form-row .vTimeField').each(function () {
             var $timeField = $(this);
-            var $timeButton = $('<span>').addClass('icon-clock');
-            var $timeLink = $('<a>')
-                .attr('href', '#')
-                .addClass('vTimeField-link')
-                .append($timeButton)
-                .insertAfter($timeField);
+            var $timeLink = $timeField.next('.vTimeField-link');
 
             $timeField.timepicker({
                 showPeriodLabels: false,
@@ -107,6 +121,15 @@ DateTimeWidgets.prototype = {
             this.updateDatetimeLayout();
             this.initDateWidgets();
             this.initTimeWidgets();
+
+            var self = this;
+
+            $('.inline-group').on('inline-group-row:added', function(e, $inlineItem) {
+                $inlineItem.find('.hasDatepicker').removeClass('hasDatepicker');
+                $inlineItem.find('.hasTimepicker').removeClass('hasTimepicker');
+                self.initDateWidgets($inlineItem);
+                self.initTimeWidgets($inlineItem);
+            });
         } catch (e) {
             console.error(e, e.stack);
         }

+ 1 - 1
jet/static/jet/js/src/features/inlines.js

@@ -7,7 +7,7 @@ var Inline = function($inline) {
 
 Inline.prototype = {
     initAddRow: function($inline) {
-        $inline.find('.add-row a').on('click', function() {
+        $inline.on('click', '.add-row a', function() {
             var $inlineItem = $inline.find('.inline-related:not(.empty-form)').last();
             $inline.trigger('inline-group-row:added', [$inlineItem]);
         });

Деякі файли не було показано, через те що забагато файлів було змінено