From 438a5598970b4a8e554c2935bbc3a5f92760c80f Mon Sep 17 00:00:00 2001 From: Katharina Bogad Date: Thu, 24 Jun 2021 00:09:17 +0200 Subject: [PATCH] Fix scoped jQuery proxy in components --- js/components/BasePicker.js | 2 +- js/components/barcodescanner.js | 2 +- js/components/batterycard.js | 2 +- js/components/calendarcard.js | 2 +- js/components/chorecard.js | 2 +- js/components/datetimepicker.js | 2 +- js/components/numberpicker.js | 2 +- js/components/productamountpicker.js | 2 +- js/components/productcard.js | 2 +- js/components/userfieldsform.js | 13 +++++++------ views/components/datetimepicker.blade.php | 2 +- 11 files changed, 17 insertions(+), 16 deletions(-) diff --git a/js/components/BasePicker.js b/js/components/BasePicker.js index 53faba76..dd01ed3a 100644 --- a/js/components/BasePicker.js +++ b/js/components/BasePicker.js @@ -7,7 +7,7 @@ class BasePicker this.scopeSelector = scopeSelector; this.scope = scopeSelector != null ? $(scopeSelector) : $(document); - this.$ = scopeSelector != null ? $(scopeSelector).find : $; + this.$ = scopeSelector != null ? (selector) => this.scope.find(selector) : $; this.picker = null; this.input_element = null; diff --git a/js/components/barcodescanner.js b/js/components/barcodescanner.js index 79cbb8c0..6f821bea 100644 --- a/js/components/barcodescanner.js +++ b/js/components/barcodescanner.js @@ -8,7 +8,7 @@ class barcodescanner this.scopeSelector = scopeSelector; this.scope = scopeSelector != null ? $(scopeSelector) : $(document); - this.$ = scopeSelector != null ? $(scopeSelector).find : $; + this.$ = scopeSelector != null ? (selector) => this.scope.find(selector) : $; // init component this.LiveVideoSizeAdjusted = false; diff --git a/js/components/batterycard.js b/js/components/batterycard.js index 24a68aff..e1867e88 100644 --- a/js/components/batterycard.js +++ b/js/components/batterycard.js @@ -9,7 +9,7 @@ class batterycard this.scopeSelector = scopeSelector; this.scope = scopeSelector != null ? $(scopeSelector) : $(document); - this.$ = scopeSelector != null ? $(scopeSelector).find : $; + this.$ = scopeSelector != null ? (selector) => this.scope.find(selector) : $; } Refresh(batteryId) diff --git a/js/components/calendarcard.js b/js/components/calendarcard.js index e9f15739..6457d9af 100644 --- a/js/components/calendarcard.js +++ b/js/components/calendarcard.js @@ -6,7 +6,7 @@ class calendarcard this.scopeSelector = scopeSelector; this.scope = scopeSelector != null ? $(scopeSelector) : $(document); - this.$ = scopeSelector != null ? $(scopeSelector).find : $; + this.$ = scopeSelector != null ? (selector) => this.scope.find(selector) : $; this.$('#calendar').datetimepicker( { diff --git a/js/components/chorecard.js b/js/components/chorecard.js index 56e4adc4..a4eecaaa 100644 --- a/js/components/chorecard.js +++ b/js/components/chorecard.js @@ -9,7 +9,7 @@ class chorecard this.scopeSelector = scopeSelector; this.scope = scopeSelector != null ? $(scopeSelector) : $(document); - this.$ = scopeSelector != null ? $(scopeSelector).find : $; + this.$ = scopeSelector != null ? (selector) => this.scope.find(selector) : $; } Refresh(choreId) diff --git a/js/components/datetimepicker.js b/js/components/datetimepicker.js index ed990c26..dd4dcecf 100644 --- a/js/components/datetimepicker.js +++ b/js/components/datetimepicker.js @@ -9,7 +9,7 @@ class datetimepicker this.scopeSelector = scopeSelector; this.scope = scopeSelector != null ? $(scopeSelector) : $(document); - this.$ = scopeSelector != null ? $(scopeSelector).find : $; + this.$ = scopeSelector != null ? (selector) => this.scope.find(selector) : $; this.basename = basename; diff --git a/js/components/numberpicker.js b/js/components/numberpicker.js index dfd7630d..2a0a4373 100644 --- a/js/components/numberpicker.js +++ b/js/components/numberpicker.js @@ -6,7 +6,7 @@ class numberpicker this.scopeSelector = scopeSelector; this.scope = scopeSelector != null ? $(scopeSelector) : $(document); - this.$ = scopeSelector != null ? $(scopeSelector).find : $; + this.$ = scopeSelector != null ? (selector) => this.scope.find(selector) : $; var self = this; this.$(".numberpicker-down-button").unbind('click').on("click", () => self.valueDownHandler(this)); diff --git a/js/components/productamountpicker.js b/js/components/productamountpicker.js index 1cd9095f..219652c0 100644 --- a/js/components/productamountpicker.js +++ b/js/components/productamountpicker.js @@ -6,7 +6,7 @@ class productamountpicker this.scopeSelector = scopeSelector; this.scope = scopeSelector != null ? $(scopeSelector) : $(document); - this.$ = scopeSelector != null ? $(scopeSelector).find : $; + this.$ = scopeSelector != null ? (selector) => this.scope.find(selector) : $; Grocy.Use("numberpicker"); this.AllowAnyQuEnabled = false; diff --git a/js/components/productcard.js b/js/components/productcard.js index 7dce5cf0..3cb0cedb 100644 --- a/js/components/productcard.js +++ b/js/components/productcard.js @@ -10,7 +10,7 @@ class productcard this.scopeSelector = scopeSelector; this.scope = scopeSelector != null ? $(scopeSelector) : $(document); - this.$ = scopeSelector != null ? $(scopeSelector).find : $; + this.$ = scopeSelector != null ? (selector) => this.scope.find(selector) : $; this.PriceHistoryChart = null; var self = this; diff --git a/js/components/userfieldsform.js b/js/components/userfieldsform.js index 959140d0..e6b43834 100644 --- a/js/components/userfieldsform.js +++ b/js/components/userfieldsform.js @@ -11,7 +11,7 @@ class userfieldsform this.scopeSelector = scopeSelector; this.scope = scopeSelector != null ? $(scopeSelector) : $(document); - this.$ = scopeSelector != null ? $(scopeSelector).find : $; + this.$ = scopeSelector != null ? (selector) => this.scope.find(selector) : $; this.$(".userfield-link").keyup(); @@ -181,15 +181,16 @@ class userfieldsform } }); - self.$('.datetimepicker-wrapper').each(() => + var pickers = $('.datetimepicker-wrapper'); + for (let elem of pickers) { - let picker = $(this); + let picker = $(elem); var scopeId = uuid.v4(); - picker.attr('id', scopeId); + picker.prop('id', scopeId); - this.components.push(new datetimepicker(self.Grocy, "#" + scopeId)); - }); + self.components.push(new datetimepicker(self.Grocy, "#" + scopeId)); + } }, function(xhr) { diff --git a/views/components/datetimepicker.blade.php b/views/components/datetimepicker.blade.php index a3fa4741..b9aafcbe 100644 --- a/views/components/datetimepicker.blade.php +++ b/views/components/datetimepicker.blade.php @@ -12,7 +12,7 @@ @php if(empty($additionalGroupCssClasses)) { $additionalGroupCssClasses = ''; } @endphp @php if(empty($activateNumberPad)) { $activateNumberPad = false; } @endphp -