From 1f7217d61357a33635f274c8f2049fa535a7f892 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Sat, 20 Jul 2019 13:05:30 +0100 Subject: [PATCH 01/16] Pass translations to form --- behaviors/indexdatabasetableoperations/partials/_tab.htm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/behaviors/indexdatabasetableoperations/partials/_tab.htm b/behaviors/indexdatabasetableoperations/partials/_tab.htm index 4d690a00..2cb010c3 100644 --- a/behaviors/indexdatabasetableoperations/partials/_tab.htm +++ b/behaviors/indexdatabasetableoperations/partials/_tab.htm @@ -4,12 +4,14 @@ 'data-window-close-confirm' => e(trans('backend::lang.form.confirm_tab_close')), 'data-entity' => 'database', 'onsubmit' => 'return false', + 'data-lang-add-id' => e(trans('rainlab.builder::lang.database.btn_add_id')), 'data-lang-add-timestamps' => e(trans('rainlab.builder::lang.database.btn_add_timestamps')), 'data-lang-add-soft-delete' => e(trans('rainlab.builder::lang.database.btn_add_soft_deleting')), + 'data-lang-id-exists' => e(trans('rainlab.builder::lang.database.id_exists')), 'data-lang-timestamps-exist' => e(trans('rainlab.builder::lang.database.timestamps_exist')), 'data-lang-soft-deleting-exist' => e(trans('rainlab.builder::lang.database.soft_deleting_exist')), ]) ?> render() ?> - \ No newline at end of file + From 904c599aab4ea20600170580a5da6876dd0b067b Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Sat, 20 Jul 2019 13:09:01 +0100 Subject: [PATCH 02/16] Add translations --- lang/en/lang.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lang/en/lang.php b/lang/en/lang.php index 597a2488..174e9ad3 100644 --- a/lang/en/lang.php +++ b/lang/en/lang.php @@ -57,8 +57,10 @@ 'tab_new_table' => 'New table', 'btn_add_column' => 'Add column', 'btn_delete_column' => 'Delete column', + 'btn_add_id' => 'Add ID', 'btn_add_timestamps' => 'Add timestamps', 'btn_add_soft_deleting' => 'Add soft deleting support', + 'id_exists' => 'id column already exists in the table.', 'timestamps_exist' => 'created_at and deleted_at columns already exist in the table.', 'soft_deleting_exist' => 'deleted_at column already exists in the table.', 'confirm_delete' => 'Delete the table?', From c0babf7f8c749ca383c06d0ea3cd304e24bf1ea0 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Sat, 20 Jul 2019 13:36:19 +0100 Subject: [PATCH 03/16] Implement functionality --- .../js/builder.index.entity.databasetable.js | 53 ++++++++++++++++++- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/assets/js/builder.index.entity.databasetable.js b/assets/js/builder.index.entity.databasetable.js index a2afaa40..e46b80ef 100644 --- a/assets/js/builder.index.entity.databasetable.js +++ b/assets/js/builder.index.entity.databasetable.js @@ -86,6 +86,15 @@ this.unmodifyTab($masterTabPane) } + DatabaseTable.prototype.cmdAddId = function(ev) { + var $target = $(ev.currentTarget), + added = this.addIdColumn($target) + + if (!added) { + alert($target.closest('form').attr('data-lang-id-exists')) + } + } + DatabaseTable.prototype.cmdAddTimestamps = function(ev) { var $target = $(ev.currentTarget), added = this.addTimeStampColumns($target, ['created_at', 'updated_at']) @@ -159,8 +168,12 @@ var $masterTabPane = this.getMasterTabsActivePane(), $form = $masterTabPane.find('form'), $toolbar = $masterTabPane.find('div[data-control=table] div.toolbar'), - $button = $('') + $button = $('') + $button.text($form.attr('data-lang-add-id')); + $toolbar.append($button) + + $button = $('') $button.text($form.attr('data-lang-add-timestamps')); $toolbar.append($button) @@ -257,6 +270,42 @@ return result } + DatabaseTable.prototype.addIdColumn = function($target) { + var existingColumns = this.getColumnNames($target), + added = false + + if ($.inArray('id', existingColumns) == -1) { + var tableObj = this.getTableControlObject($target), + currentData = this.getTableData($target), + rowData = { + name: 'id', + type: 'integer', + unsigned: true, + auto_increment: true, + primary_key: true, + } + + if (currentData.length-1) { + tableObj.addRecord('bottom', true) + } + + tableObj.setRowValues(currentData.length-1, rowData) + + // Forces the table to apply values + // from the data source + tableObj.addRecord('bottom', false) + tableObj.deleteRecord() + + added = true + } + + if (added) { + $target.trigger('change') + } + + return added + } + DatabaseTable.prototype.addTimeStampColumns = function($target, columns) { var existingColumns = this.getColumnNames($target), @@ -311,4 +360,4 @@ $.oc.builder.entityControllers.databaseTable = DatabaseTable; -}(window.jQuery); \ No newline at end of file +}(window.jQuery); From fda1a6464abf3dd890bd39abd476688b4891f595 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Sat, 20 Jul 2019 13:37:10 +0100 Subject: [PATCH 04/16] Build JS for this functionality --- assets/js/build-min.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/assets/js/build-min.js b/assets/js/build-min.js index 7dfa37df..2af2c51b 100644 --- a/assets/js/build-min.js +++ b/assets/js/build-min.js @@ -119,6 +119,8 @@ DatabaseTable.prototype.cmdDeleteTable=function(ev){var $target=$(ev.currentTarg $.oc.confirm($target.data('confirm'),this.proxy(this.deleteConfirmed))} DatabaseTable.prototype.cmdUnModifyForm=function(){var $masterTabPane=this.getMasterTabsActivePane() this.unmodifyTab($masterTabPane)} +DatabaseTable.prototype.cmdAddId=function(ev){var $target=$(ev.currentTarget),added=this.addIdColumn($target) +if(!added){alert($target.closest('form').attr('data-lang-id-exists'))}} DatabaseTable.prototype.cmdAddTimestamps=function(ev){var $target=$(ev.currentTarget),added=this.addTimeStampColumns($target,['created_at','updated_at']) if(!added){alert($target.closest('form').attr('data-lang-timestamps-exist'))}} DatabaseTable.prototype.cmdAddSoftDelete=function(ev){var $target=$(ev.currentTarget),added=this.addTimeStampColumns($target,['deleted_at']) @@ -135,7 +137,9 @@ if(column=='allow_null'&&value){updatedRow.primary_key=0} if(column=='primary_key'&&!value){updatedRow.auto_increment=0} $target.table('setRowValues',rowIndex,updatedRow)} DatabaseTable.prototype.onTableLoaded=function(){$(document).trigger('render') -var $masterTabPane=this.getMasterTabsActivePane(),$form=$masterTabPane.find('form'),$toolbar=$masterTabPane.find('div[data-control=table] div.toolbar'),$button=$('') +var $masterTabPane=this.getMasterTabsActivePane(),$form=$masterTabPane.find('form'),$toolbar=$masterTabPane.find('div[data-control=table] div.toolbar'),$button=$('') +$button.text($form.attr('data-lang-add-id'));$toolbar.append($button) +$button=$('') $button.text($form.attr('data-lang-add-timestamps'));$toolbar.append($button) $button=$('') $button.text($form.attr('data-lang-add-soft-delete'));$toolbar.append($button)} @@ -167,6 +171,15 @@ tableObj.unfocusTable() var data=this.getTableData($target),result=[] for(var index in data){if(data[index].name!==undefined){result.push($.trim(data[index].name))}} return result} +DatabaseTable.prototype.addIdColumn=function($target){var existingColumns=this.getColumnNames($target),added=false +if($.inArray('id',existingColumns)==-1){var tableObj=this.getTableControlObject($target),currentData=this.getTableData($target),rowData={name:'id',type:'integer',unsigned:true,auto_increment:true,primary_key:true,} +if(currentData.length-1){tableObj.addRecord('bottom',true)} +tableObj.setRowValues(currentData.length-1,rowData) +tableObj.addRecord('bottom',false) +tableObj.deleteRecord() +added=true} +if(added){$target.trigger('change')} +return added} DatabaseTable.prototype.addTimeStampColumns=function($target,columns) {var existingColumns=this.getColumnNames($target),added=false for(var index in columns){var column=columns[index] @@ -810,4 +823,4 @@ return $input.val()} LocalizationProcessor.prototype.removeLocalizationInput=function(){if(!this.localizationInput){return} this.localizationInput.dispose() this.localizationInput=null} -$.oc.table.processor.builderLocalization=LocalizationProcessor;}(window.jQuery); \ No newline at end of file +$.oc.table.processor.builderLocalization=LocalizationProcessor;}(window.jQuery); From e038db0534ee574aeac66027e8bee1ddf158bc43 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Sat, 20 Jul 2019 14:14:28 +0100 Subject: [PATCH 05/16] 1.0.26: Added migration editor button to add an 'id' column to a table. --- updates/version.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/updates/version.yaml b/updates/version.yaml index 6131bcb1..f2c8c089 100644 --- a/updates/version.yaml +++ b/updates/version.yaml @@ -23,3 +23,4 @@ 1.0.23: Added support for balloon-selector field type, added Brazilian Portuguese translation, fixed some bugs 1.0.24: Added support for tag list field type, added read only toggle for fields. Prevent plugins from using reserved PHP keywords for class names and namespaces 1.0.25: Allow editing of migration code in the "Migration" popup when saving changes in the database editor. +1.0.26: Added migration editor button to add an 'id' column to a table. From 8f34df4633779511e9de4f388dc8ff2c4747080c Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Sun, 21 Jul 2019 06:51:41 +0100 Subject: [PATCH 06/16] Remove version change --- updates/version.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/updates/version.yaml b/updates/version.yaml index f2c8c089..6131bcb1 100644 --- a/updates/version.yaml +++ b/updates/version.yaml @@ -23,4 +23,3 @@ 1.0.23: Added support for balloon-selector field type, added Brazilian Portuguese translation, fixed some bugs 1.0.24: Added support for tag list field type, added read only toggle for fields. Prevent plugins from using reserved PHP keywords for class names and namespaces 1.0.25: Allow editing of migration code in the "Migration" popup when saving changes in the database editor. -1.0.26: Added migration editor button to add an 'id' column to a table. From 893e0d2624bba1714e3b68ebdeb677b04f88a31e Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Sun, 21 Jul 2019 06:52:07 +0100 Subject: [PATCH 07/16] Capitalise --- lang/en/lang.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/en/lang.php b/lang/en/lang.php index 174e9ad3..92c566cf 100644 --- a/lang/en/lang.php +++ b/lang/en/lang.php @@ -60,7 +60,7 @@ 'btn_add_id' => 'Add ID', 'btn_add_timestamps' => 'Add timestamps', 'btn_add_soft_deleting' => 'Add soft deleting support', - 'id_exists' => 'id column already exists in the table.', + 'id_exists' => 'ID column already exists in the table.', 'timestamps_exist' => 'created_at and deleted_at columns already exist in the table.', 'soft_deleting_exist' => 'deleted_at column already exists in the table.', 'confirm_delete' => 'Delete the table?', From 1ac9d15ecbf3cd25308fe5ed14dbc174ddcf1c5f Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Sun, 21 Jul 2019 06:52:50 +0100 Subject: [PATCH 08/16] Add spaces #1 Co-Authored-By: Ben Thomson --- assets/js/builder.index.entity.databasetable.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/js/builder.index.entity.databasetable.js b/assets/js/builder.index.entity.databasetable.js index e46b80ef..37453742 100644 --- a/assets/js/builder.index.entity.databasetable.js +++ b/assets/js/builder.index.entity.databasetable.js @@ -289,7 +289,7 @@ tableObj.addRecord('bottom', true) } - tableObj.setRowValues(currentData.length-1, rowData) + tableObj.setRowValues(currentData.length - 1, rowData) // Forces the table to apply values // from the data source From afb91e4d91d76439969bd365de419a6cb56bcfb1 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Sun, 21 Jul 2019 06:53:05 +0100 Subject: [PATCH 09/16] Add spaces #2 Co-Authored-By: Ben Thomson --- assets/js/builder.index.entity.databasetable.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/js/builder.index.entity.databasetable.js b/assets/js/builder.index.entity.databasetable.js index 37453742..b6afa5de 100644 --- a/assets/js/builder.index.entity.databasetable.js +++ b/assets/js/builder.index.entity.databasetable.js @@ -285,7 +285,7 @@ primary_key: true, } - if (currentData.length-1) { + if (currentData.length - 1) { tableObj.addRecord('bottom', true) } From a24deadde78709dbdb1f753c1752011931eef17e Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Sun, 21 Jul 2019 07:02:53 +0100 Subject: [PATCH 10/16] Update builder.index.entity.databasetable.js --- .../js/builder.index.entity.databasetable.js | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/assets/js/builder.index.entity.databasetable.js b/assets/js/builder.index.entity.databasetable.js index b6afa5de..72c2e3dc 100644 --- a/assets/js/builder.index.entity.databasetable.js +++ b/assets/js/builder.index.entity.databasetable.js @@ -86,7 +86,7 @@ this.unmodifyTab($masterTabPane) } - DatabaseTable.prototype.cmdAddId = function(ev) { + DatabaseTable.prototype.cmdAddIdColumn = function(ev) { var $target = $(ev.currentTarget), added = this.addIdColumn($target) @@ -168,18 +168,18 @@ var $masterTabPane = this.getMasterTabsActivePane(), $form = $masterTabPane.find('form'), $toolbar = $masterTabPane.find('div[data-control=table] div.toolbar'), - $button = $('') + $addIdButton = $(''), + $addTimestampsButton = $(''), + $addSoftDeleteButton = $('') - $button.text($form.attr('data-lang-add-id')); - $toolbar.append($button) + $addIdButton.text($form.attr('data-lang-add-id')); + $toolbar.append($addIdButton) - $button = $('') - $button.text($form.attr('data-lang-add-timestamps')); - $toolbar.append($button) + $addTimestampsButton.text($form.attr('data-lang-add-timestamps')); + $toolbar.append($addTimestampsButton) - $button = $('') - $button.text($form.attr('data-lang-add-soft-delete')); - $toolbar.append($button) + $addSoftDeleteButton.text($form.attr('data-lang-add-soft-delete')); + $toolbar.append($addSoftDeleteButton) } // INTERNAL METHODS @@ -274,7 +274,7 @@ var existingColumns = this.getColumnNames($target), added = false - if ($.inArray('id', existingColumns) == -1) { + if (existingColumns.indexOf('id') == -1) { var tableObj = this.getTableControlObject($target), currentData = this.getTableData($target), rowData = { @@ -314,7 +314,7 @@ for (var index in columns) { var column = columns[index] - if ($.inArray(column, existingColumns) == -1) { + if (existingColumns.indexOf(column) == -1) { this.addTimeStampColumn($target, column) added = true } @@ -338,7 +338,7 @@ } tableObj.addRecord('bottom', true) - tableObj.setRowValues(currentData.length-1, rowData) + tableObj.setRowValues(currentData.length - 1, rowData) // Forces the table to apply values // from the data source From e23350feb6c4119831597bba91441f0cb5009c08 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Sun, 21 Jul 2019 07:03:03 +0100 Subject: [PATCH 11/16] Update build-min.js --- assets/js/build-min.js | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/assets/js/build-min.js b/assets/js/build-min.js index 2af2c51b..ec62a6a4 100644 --- a/assets/js/build-min.js +++ b/assets/js/build-min.js @@ -119,7 +119,7 @@ DatabaseTable.prototype.cmdDeleteTable=function(ev){var $target=$(ev.currentTarg $.oc.confirm($target.data('confirm'),this.proxy(this.deleteConfirmed))} DatabaseTable.prototype.cmdUnModifyForm=function(){var $masterTabPane=this.getMasterTabsActivePane() this.unmodifyTab($masterTabPane)} -DatabaseTable.prototype.cmdAddId=function(ev){var $target=$(ev.currentTarget),added=this.addIdColumn($target) +DatabaseTable.prototype.cmdAddIdColumn=function(ev){var $target=$(ev.currentTarget),added=this.addIdColumn($target) if(!added){alert($target.closest('form').attr('data-lang-id-exists'))}} DatabaseTable.prototype.cmdAddTimestamps=function(ev){var $target=$(ev.currentTarget),added=this.addTimeStampColumns($target,['created_at','updated_at']) if(!added){alert($target.closest('form').attr('data-lang-timestamps-exist'))}} @@ -137,12 +137,10 @@ if(column=='allow_null'&&value){updatedRow.primary_key=0} if(column=='primary_key'&&!value){updatedRow.auto_increment=0} $target.table('setRowValues',rowIndex,updatedRow)} DatabaseTable.prototype.onTableLoaded=function(){$(document).trigger('render') -var $masterTabPane=this.getMasterTabsActivePane(),$form=$masterTabPane.find('form'),$toolbar=$masterTabPane.find('div[data-control=table] div.toolbar'),$button=$('') -$button.text($form.attr('data-lang-add-id'));$toolbar.append($button) -$button=$('') -$button.text($form.attr('data-lang-add-timestamps'));$toolbar.append($button) -$button=$('') -$button.text($form.attr('data-lang-add-soft-delete'));$toolbar.append($button)} +var $masterTabPane=this.getMasterTabsActivePane(),$form=$masterTabPane.find('form'),$toolbar=$masterTabPane.find('div[data-control=table] div.toolbar'),$addIdButton=$(''),$addTimestampsButton=$(''),$addSoftDeleteButton=$('') +$addIdButton.text($form.attr('data-lang-add-id'));$toolbar.append($addIdButton) +$addTimestampsButton.text($form.attr('data-lang-add-timestamps'));$toolbar.append($addTimestampsButton) +$addSoftDeleteButton.text($form.attr('data-lang-add-soft-delete'));$toolbar.append($addSoftDeleteButton)} DatabaseTable.prototype.registerHandlers=function(){this.indexController.$masterTabs.on('oc.tableCellChanged',this.proxy(this.onTableCellChanged))} DatabaseTable.prototype.validateTable=function($target){var tableObj=this.getTableControlObject($target) tableObj.unfocusTable() @@ -172,7 +170,7 @@ var data=this.getTableData($target),result=[] for(var index in data){if(data[index].name!==undefined){result.push($.trim(data[index].name))}} return result} DatabaseTable.prototype.addIdColumn=function($target){var existingColumns=this.getColumnNames($target),added=false -if($.inArray('id',existingColumns)==-1){var tableObj=this.getTableControlObject($target),currentData=this.getTableData($target),rowData={name:'id',type:'integer',unsigned:true,auto_increment:true,primary_key:true,} +if(existingColumns.indexOf('id')==-1){var tableObj=this.getTableControlObject($target),currentData=this.getTableData($target),rowData={name:'id',type:'integer',unsigned:true,auto_increment:true,primary_key:true,} if(currentData.length-1){tableObj.addRecord('bottom',true)} tableObj.setRowValues(currentData.length-1,rowData) tableObj.addRecord('bottom',false) @@ -183,7 +181,7 @@ return added} DatabaseTable.prototype.addTimeStampColumns=function($target,columns) {var existingColumns=this.getColumnNames($target),added=false for(var index in columns){var column=columns[index] -if($.inArray(column,existingColumns)==-1){this.addTimeStampColumn($target,column) +if(existingColumns.indexOf(column)==-1){this.addTimeStampColumn($target,column) added=true}} if(added){$target.trigger('change')} return added} From 5cafc498bfb4f848c426ed73708b7dc25400b792 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Tue, 23 Jul 2019 18:01:05 +0100 Subject: [PATCH 12/16] Check first row contents --- assets/js/builder.index.entity.databasetable.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/js/builder.index.entity.databasetable.js b/assets/js/builder.index.entity.databasetable.js index 72c2e3dc..d60208cc 100644 --- a/assets/js/builder.index.entity.databasetable.js +++ b/assets/js/builder.index.entity.databasetable.js @@ -285,7 +285,7 @@ primary_key: true, } - if (currentData.length - 1) { + if (currentData.length - 1 || currentData[0].name || currentData[0].type || currentData[0].length || currentData[0].unsigned || currentData[0].nullable || currentData[0].auto_increment || currentData[0].primary_key || currentData[0].default) { tableObj.addRecord('bottom', true) } From 3fbd6cfc8299c6e5acd69081dfedeb1d62f6cb8d Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Tue, 23 Jul 2019 18:01:30 +0100 Subject: [PATCH 13/16] Check first row contents (compile) --- assets/js/build-min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/js/build-min.js b/assets/js/build-min.js index ec62a6a4..22f0de28 100644 --- a/assets/js/build-min.js +++ b/assets/js/build-min.js @@ -171,7 +171,7 @@ for(var index in data){if(data[index].name!==undefined){result.push($.trim(data[ return result} DatabaseTable.prototype.addIdColumn=function($target){var existingColumns=this.getColumnNames($target),added=false if(existingColumns.indexOf('id')==-1){var tableObj=this.getTableControlObject($target),currentData=this.getTableData($target),rowData={name:'id',type:'integer',unsigned:true,auto_increment:true,primary_key:true,} -if(currentData.length-1){tableObj.addRecord('bottom',true)} +console.log(currentData);if(currentData.length-1||currentData[0].name||currentData[0].type||currentData[0].length||currentData[0].unsigned||currentData[0].nullable||currentData[0].auto_increment||currentData[0].primary_key||currentData[0].default){tableObj.addRecord('bottom',true)} tableObj.setRowValues(currentData.length-1,rowData) tableObj.addRecord('bottom',false) tableObj.deleteRecord() From a8a3cac178af7ef74e9458b33b18a33de3ab115d Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Wed, 24 Jul 2019 09:19:27 +0100 Subject: [PATCH 14/16] Recompile --- assets/js/build-min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/js/build-min.js b/assets/js/build-min.js index 22f0de28..3bb9535b 100644 --- a/assets/js/build-min.js +++ b/assets/js/build-min.js @@ -171,7 +171,7 @@ for(var index in data){if(data[index].name!==undefined){result.push($.trim(data[ return result} DatabaseTable.prototype.addIdColumn=function($target){var existingColumns=this.getColumnNames($target),added=false if(existingColumns.indexOf('id')==-1){var tableObj=this.getTableControlObject($target),currentData=this.getTableData($target),rowData={name:'id',type:'integer',unsigned:true,auto_increment:true,primary_key:true,} -console.log(currentData);if(currentData.length-1||currentData[0].name||currentData[0].type||currentData[0].length||currentData[0].unsigned||currentData[0].nullable||currentData[0].auto_increment||currentData[0].primary_key||currentData[0].default){tableObj.addRecord('bottom',true)} +if(currentData.length-1||currentData[0].name||currentData[0].type||currentData[0].length||currentData[0].unsigned||currentData[0].nullable||currentData[0].auto_increment||currentData[0].primary_key||currentData[0].default){tableObj.addRecord('bottom',true)} tableObj.setRowValues(currentData.length-1,rowData) tableObj.addRecord('bottom',false) tableObj.deleteRecord() From 99680d4ef7f7fb03f95dacbed5a1aaaea70887b7 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Fri, 26 Jul 2019 06:04:38 +0100 Subject: [PATCH 15/16] == to === --- assets/js/builder.index.entity.databasetable.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/js/builder.index.entity.databasetable.js b/assets/js/builder.index.entity.databasetable.js index d60208cc..9b9e3b2a 100644 --- a/assets/js/builder.index.entity.databasetable.js +++ b/assets/js/builder.index.entity.databasetable.js @@ -274,7 +274,7 @@ var existingColumns = this.getColumnNames($target), added = false - if (existingColumns.indexOf('id') == -1) { + if (existingColumns.indexOf('id') === -1) { var tableObj = this.getTableControlObject($target), currentData = this.getTableData($target), rowData = { @@ -314,7 +314,7 @@ for (var index in columns) { var column = columns[index] - if (existingColumns.indexOf(column) == -1) { + if (existingColumns.indexOf(column) === -1) { this.addTimeStampColumn($target, column) added = true } From 41265af7b49c31f143c6273ae987c11721dc7b11 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Fri, 26 Jul 2019 06:05:33 +0100 Subject: [PATCH 16/16] compile == to === --- assets/js/build-min.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/js/build-min.js b/assets/js/build-min.js index 3bb9535b..f46def49 100644 --- a/assets/js/build-min.js +++ b/assets/js/build-min.js @@ -170,7 +170,7 @@ var data=this.getTableData($target),result=[] for(var index in data){if(data[index].name!==undefined){result.push($.trim(data[index].name))}} return result} DatabaseTable.prototype.addIdColumn=function($target){var existingColumns=this.getColumnNames($target),added=false -if(existingColumns.indexOf('id')==-1){var tableObj=this.getTableControlObject($target),currentData=this.getTableData($target),rowData={name:'id',type:'integer',unsigned:true,auto_increment:true,primary_key:true,} +if(existingColumns.indexOf('id')===-1){var tableObj=this.getTableControlObject($target),currentData=this.getTableData($target),rowData={name:'id',type:'integer',unsigned:true,auto_increment:true,primary_key:true,} if(currentData.length-1||currentData[0].name||currentData[0].type||currentData[0].length||currentData[0].unsigned||currentData[0].nullable||currentData[0].auto_increment||currentData[0].primary_key||currentData[0].default){tableObj.addRecord('bottom',true)} tableObj.setRowValues(currentData.length-1,rowData) tableObj.addRecord('bottom',false) @@ -181,7 +181,7 @@ return added} DatabaseTable.prototype.addTimeStampColumns=function($target,columns) {var existingColumns=this.getColumnNames($target),added=false for(var index in columns){var column=columns[index] -if(existingColumns.indexOf(column)==-1){this.addTimeStampColumn($target,column) +if(existingColumns.indexOf(column)===-1){this.addTimeStampColumn($target,column) added=true}} if(added){$target.trigger('change')} return added}