diff --git a/frappe/public/js/frappe/form/controls/data.js b/frappe/public/js/frappe/form/controls/data.js
index 772c8fb804..e7e8cf6267 100644
--- a/frappe/public/js/frappe/form/controls/data.js
+++ b/frappe/public/js/frappe/form/controls/data.js
@@ -1,9 +1,13 @@
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;
+ constructor(opts) {
+ opts.html_element = "input";
+ opts.input_type = "text";
+ opts.trigger_change_on_input_event = true;
+ super(opts);
+ }
+
make_input() {
if(this.$input) return;
diff --git a/frappe/public/js/frappe/form/controls/date.js b/frappe/public/js/frappe/form/controls/date.js
index d589a7da56..5e246b0315 100644
--- a/frappe/public/js/frappe/form/controls/date.js
+++ b/frappe/public/js/frappe/form/controls/date.js
@@ -1,5 +1,9 @@
frappe.ui.form.ControlDate = class ControlDate extends frappe.ui.form.ControlData {
- trigger_change_on_input_event = false
+ constructor(opts) {
+ opts.trigger_change_on_input_event = false;
+ super(opts);
+ }
+
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..16bd4a5375 100644
--- a/frappe/public/js/frappe/form/controls/geolocation.js
+++ b/frappe/public/js/frappe/form/controls/geolocation.js
@@ -1,7 +1,10 @@
frappe.provide('frappe.utils.utils');
frappe.ui.form.ControlGeolocation = class ControlGeolocation extends frappe.ui.form.ControlData {
- horizontal = false
+ constructor(opts) {
+ opts.horizontal = false;
+ super(opts);
+ }
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..e50610cf09 100644
--- a/frappe/public/js/frappe/form/controls/html_editor.js
+++ b/frappe/public/js/frappe/form/controls/html_editor.js
@@ -1,5 +1,8 @@
frappe.ui.form.ControlHTMLEditor = class ControlHTMLEditor extends frappe.ui.form.ControlMarkdownEditor {
- editor_class = 'html';
+ constructor(opts) {
+ opts.editor_class = 'html';
+ super(opts);
+ }
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..9c5e0e8baa 100644
--- a/frappe/public/js/frappe/form/controls/int.js
+++ b/frappe/public/js/frappe/form/controls/int.js
@@ -1,5 +1,9 @@
frappe.ui.form.ControlInt = class ControlInt extends frappe.ui.form.ControlData {
- trigger_change_on_input_event = false
+ constructor(opts) {
+ opts.trigger_change_on_input_event = false;
+ super(opts);
+ }
+
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..42373add07 100644
--- a/frappe/public/js/frappe/form/controls/link.js
+++ b/frappe/public/js/frappe/form/controls/link.js
@@ -9,7 +9,11 @@ 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
+ constructor(opts) {
+ opts.trigger_change_on_input_event = false;
+ super(opts);
+ }
+
make_input() {
var me = this;
$(`
diff --git a/frappe/public/js/frappe/form/controls/markdown_editor.js b/frappe/public/js/frappe/form/controls/markdown_editor.js
index 0756c78134..53a888597d 100644
--- a/frappe/public/js/frappe/form/controls/markdown_editor.js
+++ b/frappe/public/js/frappe/form/controls/markdown_editor.js
@@ -1,5 +1,9 @@
frappe.ui.form.ControlMarkdownEditor = class ControlMarkdownEditor extends frappe.ui.form.ControlCode {
- editor_class = 'markdown'
+ constructor(opts) {
+ opts.editor_class = 'markdown';
+ super(opts);
+ }
+
make_ace_editor() {
super.make_ace_editor();
diff --git a/frappe/public/js/frappe/form/controls/multiselect_list.js b/frappe/public/js/frappe/form/controls/multiselect_list.js
index 716134d3e8..987d9264ba 100644
--- a/frappe/public/js/frappe/form/controls/multiselect_list.js
+++ b/frappe/public/js/frappe/form/controls/multiselect_list.js
@@ -1,5 +1,9 @@
frappe.ui.form.ControlMultiSelectList = class ControlMultiSelectList extends frappe.ui.form.ControlData {
- trigger_change_on_input_event = false
+ constructor(opts) {
+ opts.trigger_change_on_input_event = false;
+ super(opts);
+ }
+
make_input() {
let template = `
diff --git a/frappe/public/js/frappe/form/controls/password.js b/frappe/public/js/frappe/form/controls/password.js
index cc1a254f93..493975eba9 100644
--- a/frappe/public/js/frappe/form/controls/password.js
+++ b/frappe/public/js/frappe/form/controls/password.js
@@ -1,5 +1,9 @@
frappe.ui.form.ControlPassword = class ControlPassword extends frappe.ui.form.ControlData {
- input_type = "password"
+ constructor(opts) {
+ opts.input_type = "password";
+ super(opts);
+ }
+
make() {
super.make();
}
diff --git a/frappe/public/js/frappe/form/controls/select.js b/frappe/public/js/frappe/form/controls/select.js
index 05a64dfc0b..0324e5ccd9 100644
--- a/frappe/public/js/frappe/form/controls/select.js
+++ b/frappe/public/js/frappe/form/controls/select.js
@@ -1,5 +1,9 @@
frappe.ui.form.ControlSelect = class ControlSelect extends frappe.ui.form.ControlData {
- html_element = 'select';
+ constructor(opts) {
+ opts.html_element = 'select';
+ super(opts);
+ }
+
make_input() {
super.make_input();
diff --git a/frappe/public/js/frappe/form/controls/signature.js b/frappe/public/js/frappe/form/controls/signature.js
index 5d2816b160..1ae9fb82e5 100644
--- a/frappe/public/js/frappe/form/controls/signature.js
+++ b/frappe/public/js/frappe/form/controls/signature.js
@@ -1,6 +1,10 @@
frappe.ui.form.ControlSignature = class ControlSignature extends frappe.ui.form.ControlData {
- saving = false
- loading = false
+ constructor(opts) {
+ opts.saving = false;
+ opts.loading = false;
+ super(opts);
+ }
+
make() {
var me = this;
super.make();
diff --git a/frappe/public/js/frappe/form/controls/text.js b/frappe/public/js/frappe/form/controls/text.js
index d67833e528..98cba10785 100644
--- a/frappe/public/js/frappe/form/controls/text.js
+++ b/frappe/public/js/frappe/form/controls/text.js
@@ -1,6 +1,10 @@
frappe.ui.form.ControlText = class ControlText extends frappe.ui.form.ControlData {
- html_element = "textarea"
- horizontal = false
+ constructor(opts) {
+ opts.html_element = "textarea";
+ opts.horizontal = false;
+ super(opts);
+ }
+
make_wrapper() {
super.make_wrapper();
this.$wrapper.find(".like-disabled-input").addClass("for-description");