diff --git a/frappe/public/js/frappe/form/controls/autocomplete.js b/frappe/public/js/frappe/form/controls/autocomplete.js index 648833e3c4..1bc0ffeb8a 100644 --- a/frappe/public/js/frappe/form/controls/autocomplete.js +++ b/frappe/public/js/frappe/form/controls/autocomplete.js @@ -1,7 +1,7 @@ import Awesomplete from 'awesomplete'; frappe.ui.form.ControlAutocomplete = class ControlAutoComplete extends frappe.ui.form.ControlData { - trigger_change_on_input_event = false + static trigger_change_on_input_event = false make_input() { super.make_input(); this.setup_awesomplete(); diff --git a/frappe/public/js/frappe/form/controls/base_input.js b/frappe/public/js/frappe/form/controls/base_input.js index c61f87c1eb..b7fe61b385 100644 --- a/frappe/public/js/frappe/form/controls/base_input.js +++ b/frappe/public/js/frappe/form/controls/base_input.js @@ -1,5 +1,5 @@ frappe.ui.form.ControlInput = class ControlInput extends frappe.ui.form.Control { - horizontal = true + static horizontal = true make() { // parent element super.make(); @@ -45,7 +45,7 @@ frappe.ui.form.ControlInput = class ControlInput extends frappe.ui.form.Control } } set_max_width() { - if(this.horizontal) { + if(this.constructor.horizontal) { this.$wrapper.addClass("input-max-width"); } } diff --git a/frappe/public/js/frappe/form/controls/check.js b/frappe/public/js/frappe/form/controls/check.js index e3790cdd73..658ef640a9 100644 --- a/frappe/public/js/frappe/form/controls/check.js +++ b/frappe/public/js/frappe/form/controls/check.js @@ -1,5 +1,6 @@ frappe.ui.form.ControlCheck = class ControlCheck extends frappe.ui.form.ControlData { - input_type = "checkbox" + static html_element = "input" + static input_type = "checkbox" make_wrapper() { this.$wrapper = $(`
diff --git a/frappe/public/js/frappe/form/controls/data.js b/frappe/public/js/frappe/form/controls/data.js index 772c8fb804..977789fc1b 100644 --- a/frappe/public/js/frappe/form/controls/data.js +++ b/frappe/public/js/frappe/form/controls/data.js @@ -1,14 +1,16 @@ frappe.provide('frappe.phone_call'); frappe.ui.form.ControlData = class ControlData extends frappe.ui.form.ControlInput { - html_element = "input"; - input_type = "text"; - trigger_change_on_input_event = true; + static html_element = "input"; + static input_type = "text"; + static trigger_change_on_input_event = true; make_input() { if(this.$input) return; - this.$input = $("<"+ this.html_element +">") - .attr("type", this.input_type) + let { html_element, input_type } = this.constructor; + + this.$input = $("<"+ html_element +">") + .attr("type", input_type) .attr("autocomplete", "off") .addClass("input-with-feedback form-control") .prependTo(this.input_area); @@ -120,7 +122,7 @@ frappe.ui.form.ControlData = class ControlData extends frappe.ui.form.ControlInp } }; this.$input.on("change", change_handler); - if (this.trigger_change_on_input_event) { + if (this.constructor.trigger_change_on_input_event) { // debounce to avoid repeated validations on value change this.$input.on("input", frappe.utils.debounce(change_handler, 500)); } diff --git a/frappe/public/js/frappe/form/controls/date.js b/frappe/public/js/frappe/form/controls/date.js index d589a7da56..1f5f6f5f25 100644 --- a/frappe/public/js/frappe/form/controls/date.js +++ b/frappe/public/js/frappe/form/controls/date.js @@ -1,5 +1,5 @@ frappe.ui.form.ControlDate = class ControlDate extends frappe.ui.form.ControlData { - trigger_change_on_input_event = false + static trigger_change_on_input_event = false make_input() { super.make_input(); this.make_picker(); diff --git a/frappe/public/js/frappe/form/controls/geolocation.js b/frappe/public/js/frappe/form/controls/geolocation.js index 9c9729946b..080a1cbb48 100644 --- a/frappe/public/js/frappe/form/controls/geolocation.js +++ b/frappe/public/js/frappe/form/controls/geolocation.js @@ -1,7 +1,7 @@ frappe.provide('frappe.utils.utils'); frappe.ui.form.ControlGeolocation = class ControlGeolocation extends frappe.ui.form.ControlData { - horizontal = false + static horizontal = false make_wrapper() { // Create the elements for map area diff --git a/frappe/public/js/frappe/form/controls/html_editor.js b/frappe/public/js/frappe/form/controls/html_editor.js index 75a6774330..7d43112e6a 100644 --- a/frappe/public/js/frappe/form/controls/html_editor.js +++ b/frappe/public/js/frappe/form/controls/html_editor.js @@ -1,5 +1,5 @@ frappe.ui.form.ControlHTMLEditor = class ControlHTMLEditor extends frappe.ui.form.ControlMarkdownEditor { - editor_class = 'html'; + static editor_class = 'html'; set_language() { this.df.options = 'HTML'; super.set_language(); diff --git a/frappe/public/js/frappe/form/controls/int.js b/frappe/public/js/frappe/form/controls/int.js index d28282d97e..12652bf86e 100644 --- a/frappe/public/js/frappe/form/controls/int.js +++ b/frappe/public/js/frappe/form/controls/int.js @@ -1,5 +1,5 @@ frappe.ui.form.ControlInt = class ControlInt extends frappe.ui.form.ControlData { - trigger_change_on_input_event = false + static trigger_change_on_input_event = false make () { super.make(); // $(this.label_area).addClass('pull-right'); diff --git a/frappe/public/js/frappe/form/controls/link.js b/frappe/public/js/frappe/form/controls/link.js index 582d2782fe..43bd7443ab 100644 --- a/frappe/public/js/frappe/form/controls/link.js +++ b/frappe/public/js/frappe/form/controls/link.js @@ -9,7 +9,7 @@ import Awesomplete from 'awesomplete'; frappe.ui.form.recent_link_validations = {}; frappe.ui.form.ControlLink = class ControlLink extends frappe.ui.form.ControlData { - trigger_change_on_input_event = false + static trigger_change_on_input_event = false make_input() { var me = this; $(`