Re: [pgadmin-hackers] [pgAdmin4] [PATCH] History Tab rewrite in React

2017-05-31 Thread Matthew Kleiman
Hey Surinder,

Is it possible to run the task listed above by configuring them in
> "scripts" in package.json file and running concurrently ?


That would be cleaner than what we proposed. We could use the yarn run
 feature to do just what you are
suggesting. It works the same as in npm.
Something like the following:
In package.json -
"scripts": {
  "linter": "eslint pgadmin/static/jsx/**/*.jsx
pgadmin/static/js/selection/*.js regression/javascript/**/*.jsx
regression/javascript/**/*.js *.js"
}

To call it on the command line -
yarn run linter

- Matt

On Wed, May 31, 2017 at 12:35 AM, Surinder Kumar <
surinder.ku...@enterprisedb.com> wrote:

> On Wed, May 31, 2017 at 12:01 AM, Joao Pedro De Almeida Pereira <
> jdealmeidapere...@pivotal.io> wrote:
>
>> The motivation is simple - we want a solution that works for the whole
>>> app, can handle debug vs. release execution, pluggable modules, and
>>> installations in read-only directories.
>>
>> With the current configuration of Grunt, all the requirements you mention
>> are available.
>> The tasks on Grunt should only be run under development or before we are
>> creating the installer.
>>
>
>
>> The installer should pick up only the bundled Javascript and should
>> install it in the correct folders, this way there is no need to rewrite or
>> process files in read-only directories of the end user machine.
>>
>> Per the other thread on the subject (that Joao suggested continuing
>>> discussion on), Surinder is currently looking into flask-webpack. I
>>> spent some time playing with grunt and some other options last week.
>>
>> We should continue the discussion about flask-webpack or Grunt or any
>> other Build system in the other thread, but we need to have some decision
>> because this patch needs a build system.
>> If we remove Grunt from this patch we will need to execute the following
>> command every time the application run:
>>
>> yarn run eslint pgadmin/static/jsx/**/*.jsx pgadmin/static/js/selection/*.js
>> regression/javascript/**/*.jsx regression/javascript/**/*.js *.js && yarn
>> run webpack -- --config webpack.config.js && python web/pgAdmin4
>>
>> And to run the jasmine tests:
>>
>> yarn run eslint pgadmin/static/jsx/**/*.jsx pgadmin/static/js/selection/*.js
>> regression/javascript/**/*.jsx regression/javascript/**/*.js *.js && yarn
>> run karma start
>>
>> And to run the feature tests:
>>
>> yarn run eslint pgadmin/static/jsx/**/*.jsx pgadmin/static/js/selection/*.js
>> regression/javascript/**/*.jsx regression/javascript/**/*.js *.js && yarn
>> run webpack -- --config webpack.config.js && python runtests.py
>>
>> Is this a solution that is acceptable?
>>
>
> As per my knowledge, Grunt can run the tasks and bundle the JS and CSS
> files (using r.js which is not preferred). But Webpack can not do both. It
> can only bundle files, it has to be used with either Grunt or Gulp to
> execute tasks.
>
> Is it possible to run the task listed above by configuring them in
> "scripts" in package.json file and running concurrently ?
>
> scripts: {
>  "task-name1": "yarn run eslint filename",
> ​ ​
> "task-name2": "yarn run karma start", so on...
> }
>
> and run them using following command:
> npm run task-name1
>
>
>>
>> However; this patch is supposed to be about the history tab rewrite.
>>> Whatever solution we use for webpacking/transpiling/linting/minifying
>>> etc, it should be a standalone change as it's decidedly non-trivial.
>>
>> We split this patch into 2 different commits:
>> 1 - Add React and all the tools needed to work with it, this includes
>> Grunt, Webpack and ESLint
>> 2 - Change the history tab
>>
>> Do you want a single commit for each of the following?
>>   React (just adds the React library via yarn)
>>   Webpack (adds Webpack library via yarn and creates the
>> webpack.config.js)
>>   ESLint (adds ESLint library via yarn, creates .eslintrc config file,
>> and corrects all lint errors that previously existed)
>>   Grunt (adds Grunt library via yarn and creates Gruntfile.js config,
>> creating a pipeline of the previous three libraries/tasks)
>>   Our change to History
>>
>> Thanks
>> Joao & Matt
>>
>> On Tue, May 30, 2017 at 10:10 AM, Dave Page  wrote:
>>
>>> Hi
>>>
>>> On Tue, May 30, 2017 at 2:47 PM, Matthew Kleiman 
>>> wrote:
>>> > Hi Dave,
>>> >
>>> > We are currently using the Grunt taskrunner to run the following tasks:
>>> >
>>> > lint the javascript code
>>> > start javascript tests
>>> > invoke webpack to transpile and bundle js and jsx files
>>> > minify javascript
>>> >
>>> > In order to remove Grunt from the application, we will need some other
>>> tool
>>> > to execute these listed tasks.
>>> >
>>> > There are other tools available, like Gulp.js, that we could use
>>> instead of
>>> > Grunt. We would like to understand your motivation for removing Grunt
>>> so we
>>> > can find a better solution.
>>>
>>> The motivation is simple - we want a solution that works for the whole
>>> app

Re: [pgadmin-hackers] [Design update] Style guide for pgAdmin4

2017-05-31 Thread Shirley Wang
On Wed, May 31, 2017 at 11:55 AM Dave Page  wrote:

> On Wed, May 31, 2017 at 2:27 PM, Shirley Wang  wrote:
>
>>
>>> When you say "icon" here, are you talking about the combo box arrow, or
>>> icons on the items themselves? The latter are often useful if you have
>>> items of different types in the same list.
>>>
>>> I think we should have the combo box arrow, to show the user they don't
>>> have to type if they don't want to.
>>>
>>
>> I'm talking about the combo box arrow. I think that's fine, but in that
>> case users shouldn't be able type, they should only be able to select from
>> a group of options, like this:
>>
>> [image: options.png]
>> From what I understand, the text field where a user can type in is for
>> searching through options available to them. If we know that people tend to
>> search by typing more than scrolling, we should use the precedent for type
>> ahead dropdowns .
>>
>
> We are using a much older precedent - one used in Windows for 20+ years
> (possibly other OSs too).
>
> Remember that some of these combo boxes contain values that are specific
> to the database object - the user may not know what to start typing, so the
> arrow gives them a hint that they can get a list by clicking - or they can
> type.
>
> The real difference here is that we also include the x to allow the box to
> be cleared, where Windows would add a blank option as the first thing in
> the list typically.
>
>
I see. It feels like we're at a standstill as to which precedent to use and
neither of us is wrong. This might be a good candidate for user testing. We
can see how people are using the x as well as learn more about typing /
selecting an option behavior.

I believe there are some dropdowns in the partition design we can use to
test. If it doesn't make sense there, I'm fine putting this in the back
burner until there is a good workflow to test it.


[pgadmin-hackers] Style guide live website - looking for feedback

2017-05-31 Thread Shirley Wang
Hi all,

We've started compiling some of the agreed upon styles into a site that is
accessible for all developers.

Link to the site: http://pgadmin4-styleguide.cfapps.io/index.html

As of now, we have colors, type, and alerts documented. Other styles will
be added and where the style guide lives will change sometime in the future.

I'm currently looking for feedback on a few things:
1. how it's structured - does the navigation make sense?
2. the info provided on each page - are you as a developer able to find the
info you need? is there anything missing?
3. usage - what will make this easier for you to use?

Thanks!

Here's the thread for style guide conversation:
https://www.postgresql.org/message-id/flat/CAPG3WN4-KTS0p6rRPxpXNqY8az%2BSw8NQHfjx%2BRFYc8ZqB_00TQ%40mail.gmail.com#capg3wn4-kts0p6rrpxpxnqy8az+sw8nqhfjx+rfyc8zqb_0...@mail.gmail.com


[pgadmin-hackers] Build failed in Jenkins: pgadmin4-master-python34 #127

2017-05-31 Thread pgAdmin 4 Jenkins
See 


Changes:

[Dave Page] Fix permissions on some files.

--
[...truncated 254.48 KB...]
runTest 
(pgadmin.browser.server_groups.servers.databases.schemas.tests.test_schema_get.SchemaGetTestCase)
Check Schema Node URL ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.schemas.tests.test_schema_put.SchemaPutTestCase)
Check Schema Node URL ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.schemas.types.tests.test_types_add.TypesAddTestCase)
Add type under schema node ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.schemas.types.tests.test_types_delete.TypesDeleteTestCase)
Delete type under schema node ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.schemas.types.tests.test_types_get.TypesGetTestCase)
Get type under schema node ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.schemas.types.tests.test_types_put.TypesUpdateTestCase)
Update type under schema node ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.schemas.views.tests.test_views_add.ViewsAddTestCase)
Add view under schema node ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.schemas.views.tests.test_views_add.ViewsAddTestCase)
Add materialized view under schema node ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.schemas.views.tests.test_views_delete.ViewsDeleteTestCase)
Delete view under schema node ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.schemas.views.tests.test_views_delete.ViewsDeleteTestCase)
Delete materialized view under schema node ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.schemas.views.tests.test_views_get.ViewsGetTestCase)
Get view under schema node ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.schemas.views.tests.test_views_get.ViewsGetTestCase)
Get materialized view under schema node ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.schemas.views.tests.test_views_put.ViewsUpdateTestCase)
Update view under schema node ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.schemas.views.tests.test_views_put.ViewsUpdateTestCase)
Update materialized view under schema node ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.tests.test_db_add.DatabaseAddTestCase)
Check Databases Node URL ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.tests.test_db_delete.DatabaseDeleteTestCase)
Check Databases Node URL ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.tests.test_db_get.DatabasesGetTestCase)
Check Databases Node URL ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.tests.test_db_put.DatabasesUpdateTestCase)
Check Databases Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.resource_groups.tests.test_resource_groups_add.ResourceGroupsAddTestCase)
Add resource groups ... ok
runTest 
(pgadmin.browser.server_groups.servers.resource_groups.tests.test_resource_groups_delete.ResourceGroupsDeleteTestCase)
Delete resource groups ... ok
runTest 
(pgadmin.browser.server_groups.servers.resource_groups.tests.test_resource_groups_put.ResourceGroupsPutTestCase)
Put resource groups ... ok
runTest 
(pgadmin.browser.server_groups.servers.resource_groups.tests.tests_resource_groups_get.ResourceGroupsGetTestCase)
Get resource groups ... ok
runTest 
(pgadmin.browser.server_groups.servers.roles.tests.test_role_add.LoginRoleAddTestCase)
Check Role Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.roles.tests.test_role_delete.LoginRoleDeleteTestCase)
Check Role Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.roles.tests.test_role_get.LoginRoleGetTestCase)
Check Role Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.roles.tests.test_role_put.LoginRolePutTestCase)
Check Role Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.tablespaces.tests.test_tbspc_add.TableSpaceAddTestCase)
Check Tablespace Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.tablespaces.tests.test_tbspc_delete.TableSpaceDeleteTestCase)
Check Tablespace Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.tablespaces.tests.test_tbspc_get.TablespaceGetTestCase)
Check Tablespace Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.tablespaces.tests.test_tbspc_put.TableSpaceUpdateTestCase)
Check Tablespace Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.tests.test_check_recovery.TestCheckRecovery)
Test for check recovery ... ok
runTest 
(pgadmin.browser.server_groups.servers.tests.test_dependencies_sql.TestDependenciesSql)
Test dependencies SQL file ... ok
runTest 
(pgadmin.browser.server_groups.servers.tests.test_dependents_sql.TestDependentsSql)
Test dependencies SQL file ... ok
runTest 
(pgadmin.browser.server_groups.servers.tests.test_role_dependencies_sql.TestRoleDependenciesSql)
Test Role Dependencies SQL

[pgadmin-hackers] Jenkins build is back to normal : pgadmin4-master-python27 #137

2017-05-31 Thread pgAdmin 4 Jenkins
See 




-- 
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers


Re: [pgadmin-hackers] [Design update] Style guide for pgAdmin4

2017-05-31 Thread Dave Page
On Wed, May 31, 2017 at 2:27 PM, Shirley Wang  wrote:

>
>> When you say "icon" here, are you talking about the combo box arrow, or
>> icons on the items themselves? The latter are often useful if you have
>> items of different types in the same list.
>>
>> I think we should have the combo box arrow, to show the user they don't
>> have to type if they don't want to.
>>
>
> I'm talking about the combo box arrow. I think that's fine, but in that
> case users shouldn't be able type, they should only be able to select from
> a group of options, like this:
>
> [image: options.png]
> From what I understand, the text field where a user can type in is for
> searching through options available to them. If we know that people tend to
> search by typing more than scrolling, we should use the precedent for type
> ahead dropdowns .
>

We are using a much older precedent - one used in Windows for 20+ years
(possibly other OSs too).

Remember that some of these combo boxes contain values that are specific to
the database object - the user may not know what to start typing, so the
arrow gives them a hint that they can get a list by clicking - or they can
type.

The real difference here is that we also include the x to allow the box to
be cleared, where Windows would add a blank option as the first thing in
the list typically.


>
> If people don't typically type to search or there are usually only a few
> options, it can just be a dropdown.
>



-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


[pgadmin-hackers] pgAdmin 4 commit: Fix permissions on some files.

2017-05-31 Thread Dave Page
Fix permissions on some files.

Branch
--
master

Details
---
https://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdiff;h=1b23a7912ac5e363af9c142efea2f63ced398d3f

Modified Files
--
docs/en_US/images/query_execute_section.png | Bin
docs/en_US/images/query_output_explain.png  | Bin
docs/en_US/images/query_tool.png| Bin
docs/en_US/maintenance_dialog.rst   |   0
docs/en_US/restore_dialog.rst   |   0
5 files changed, 0 insertions(+), 0 deletions(-)


-- 
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers


[pgadmin-hackers] [pgAdmin4][PATCH] To fix the issue in index or exclusion contrarians node

2017-05-31 Thread Murtuza Zabuawala
Hi,

PFA patch to fix the issue in index or exclusion contrarians node where it
was throwing "can't execute an empty query" error due to incorrect
validation logic for edit mode.
RM#2113

--
Regards,
Murtuza Zabuawala
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
diff --git 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/exclusion_constraint/templates/exclusion_constraint/js/exclusion_constraint.js
 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/exclusion_constraint/templates/exclusion_constraint/js/exclusion_constraint.js
index eee9ad2..5972c51 100644
--- 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/exclusion_constraint/templates/exclusion_constraint/js/exclusion_constraint.js
+++ 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/exclusion_constraint/templates/exclusion_constraint/js/exclusion_constraint.js
@@ -24,7 +24,22 @@ function($, _, S, pgAdmin, pgBrowser, Alertify) {
   },{
 id: 'oper_class', label:'{{ _('Operator class') }}', type:'text',
 node: 'table', url: 'get_oper_class', first_empty: true,
-editable: true,
+editable: function(m) {
+  if (m instanceof Backbone.Collection) {
+return true;
+  } else if ((_.has(m.collection, 'handler') &&
+!_.isUndefined(m.collection.handler) &&
+!_.isUndefined(m.collection.handler.get('oid' {
+return false;
+  } else if (_.has(m.collection, 'handler') &&
+!_.isUndefined(m.collection.handler) &&
+!_.isUndefined(m.collection.handler.get('amname')) &&
+m.collection.handler.get('amname') != 'btree') {
+// Disable if access method is not btree
+return false;
+  }
+  return true;
+},
 select2: {
   allowClear: true, width: 'style', tags: true,
   placeholder: '{{ _("Select the operator class") }}'
@@ -65,6 +80,7 @@ function($, _, S, pgAdmin, pgBrowser, Alertify) {
   url: full_url,
   success: function(res) {
 data = res.data;
+self.column.set('options', data);
   },
   error: function() {
 eventHandler.trigger('pgadmin:view:fetch:error', m, 
self.column);
@@ -72,18 +88,6 @@ function($, _, S, pgAdmin, pgBrowser, Alertify) {
 });
 eventHandler.trigger('pgadmin:view:fetched', m, self.column);
   }
-  /*
-   * Transform the data
-   */
-  transform = self.column.get('transform') || 
self.defaults.transform;
-  if (transform && _.isFunction(transform)) {
-// We will transform the data later, when rendering.
-// It will allow us to generate different data based on the
-// dependencies.
-self.column.set('options', transform.bind(self, data));
-  } else {
-self.column.set('options', data);
-  }
 } else {
   self.column.set('options', []);
 }
@@ -94,49 +98,42 @@ function($, _, S, pgAdmin, pgBrowser, Alertify) {
 options: {
   onText: 'ASC',
   offText: 'DESC',
-},editable: function(m) {
+},
+editable: function(m) {
   if (m instanceof Backbone.Collection) {
 return true;
-  }
-  else {
-if (m.top.get('amname') === 'btree') {
-  m.set('is_sort_nulls_applicable', true);
-  return true;
-}
-m.set('is_sort_nulls_applicable', false);
-return false;
-  }
-  if ((_.has(m.collection, 'handler') &&
+  } else if ((_.has(m.collection, 'handler') &&
 !_.isUndefined(m.collection.handler) &&
 !_.isUndefined(m.collection.handler.get('oid' {
 return false;
+  } else if (m.top.get('amname') === 'btree') {
+m.set('is_sort_nulls_applicable', true);
+return true;
+  } else {
+m.set('is_sort_nulls_applicable', false);
+return false;
   }
-  return true;
 }
   },{
 id: 'nulls_order', label:'{{ _('NULLs order') }}', type:"switch",
 options: {
   onText: 'FIRST',
   offText: 'LAST',
-},editable: function(m) {
+},
+editable: function(m) {
   if (m instanceof Backbone.Collection) {
 return true;
-  }
-  else {
-if (m.top.get('amname') === 'btree') {
+  } else if ((_.has(m.collection, 'handler') &&
+!_.isUndefined(m.collection.handler) &&
+!_.isUndefined(m.collection.handler.get('oid'

[pgadmin-hackers] [pgAdmin4][Patch]: Fixed RM #2425 : Can't delete rows when using composite primary key

2017-05-31 Thread Khushboo Vashi
Hi,

Please find the attached patch to fix RM #2425 :  Can't delete rows when
using composite primary key.

The grid selection checking for Primary key does not honour the composite
key which has been fixed.

Thanks,
Khushboo
diff --git a/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js b/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js
index 7d51193..fc578b7 100644
--- a/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js
+++ b/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js
@@ -726,14 +726,18 @@ define(
 
  // Clear selection model if row primary keys is set to default
  var row_data = _.clone(collection[selected_rows_list[count]]),
-   is_primary_key = _.has(row_data, primary_key_list) &&
-  row_data[0] != undefined ? true : false;
-
- if (primary_key_list.length &&
- !is_primary_key && !is_new_row
- ) {
-   this.selection.setSelectedRows([]);
-   selected_rows_list = [];
+   is_primary_key = true;
+
+ // Primary key validation
+ _.each(primary_key_list, function(pk) {
+   if (!(_.has(row_data, pk)) || row_data[pk] == undefined) {
+ is_primary_key = false;
+   }
+ })
+
+ if (primary_key_list.length && !is_primary_key && !is_new_row) {
+ this.selection.setSelectedRows([]);
+ selected_rows_list = [];
  }
}
 

-- 
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers


Re: [pgadmin-hackers] [pgadmin-support] pgAdmin4 and boolean columns

2017-05-31 Thread Dave Page
Yeah, this problem annoyed me last week. It seems the checkbox value
doesn't cycle consistently; it should always go false -> true -> null ->
..., but I think what it was doing was current value -> false -> true ->
null or similar, so it could take 3 clicks to get to null.

(the ordering above may be wrong, but you get the point I hope).

Please fix :-)

On Wed, May 31, 2017 at 10:25 AM, Surinder Kumar <
surinder.ku...@enterprisedb.com> wrote:

> Adding pgadmin-hackers
>
> On Wed, May 31, 2017 at 2:43 PM, Nigel Tucker <
> ni...@specialisedstructures.co.nz> wrote:
>
>> Hi Surindar – nice to talk!
>>
>>
>>
>> Yep – I’m running 1.5 at present – the issue RM2218 sounds similar but
>> isn’t actually the same – my issue was related to the number of times you
>> have to select the Boolean cell to make it change. For instance if you
>> select it three times rather than four it reverts to null.
>>
>>
>>
>> I just assume the intended action is that it starts as a default (maybe
>> null); a single mouse click changes it to false, and a further mouse click
>> change it to true, and then repeated mouse clicks toggle round the  three
>> options – if of course null is a possible default for that cell.
>>
>>
>>
>> If the cell is NOT NULL by definition, the default should be false and it
>> will just toggle between true and false.
>>
>>
>>
>> Cheers
>>
>>
>>
>> Nigel
>>
>>
>>
>>
>>
>>
>>
>> *Dr Nigel Tucker*
>>
>> System Architect
>>
>> Specialised Structures NZ
>>
>> Telephone Direct (NZ) +64 (0) 3 482 2473 <+64%203-482%202473>
>>
>>
>>
>> [image: SS with Custom]
>>
>>
>>
>> *From:* pgadmin-support-ow...@postgresql.org [mailto:
>> pgadmin-support-ow...@postgresql.org] *On Behalf Of *Surinder Kumar
>> *Sent:* Wednesday, 31 May 2017 6:13 PM
>> *To:* Nigel Tucker
>> *Cc:* pgAdmin Support
>> *Subject:* Re: [pgadmin-support] pgAdmin4 and boolean columns
>>
>>
>>
>> Hi Nigel,
>>
>>
>>
>> ​Already a similar issue RM2218
>>  logged which is resolved.
>>
>>
>>
>> Also, which version of pgAdmin4 you are using ?
>>
>>
>>
>> On Wed, May 31, 2017 at 3:00 AM, Nigel Tucker <
>> ni...@specialisedstructures.co.nz> wrote:
>>
>> Hi,
>>
>>
>>
>> pgAdmin4 has difficulty with setting or changing Boolean check boxes in
>> Windows 10.
>>
>>
>>
>> Double clicking on a Boolean cell initially null converts the display to
>> an empty box, which on leaving that cell displays ‘false’.
>>
>> If you return to the box and click once on it, it switches to a ticked
>> box – which on leaving the cell shows ‘null’.
>>
>> If however you double click on the cell, it converts to a ticked box
>> which on leaving the cell shows true.
>>
>>
>>
>> So – the mechanism for converting a Boolean cell from true to false
>> requires five button presses, and from false to true requires four button
>> presses. This has to be excessive and makes direct editing any number of
>> rows a real pain.
>>
>>
>>
>> Cheers
>>
>>
>>
>> Nigel
>>
>>
>>
>> *Dr Nigel Tucker*
>>
>> System Architect
>>
>> Specialised Structures NZ
>>
>> Telephone Direct (NZ) +64 (0) 3 482 2473 <+64%203-482%202473>
>>
>>
>>
>> [image: SS with Custom]
>>
>>
>>
>>
>>
>
>


-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Re: [pgadmin-hackers] [pgadmin-support] pgAdmin4 and boolean columns

2017-05-31 Thread Surinder Kumar
Adding pgadmin-hackers

On Wed, May 31, 2017 at 2:43 PM, Nigel Tucker  wrote:

> Hi Surindar – nice to talk!
>
>
>
> Yep – I’m running 1.5 at present – the issue RM2218 sounds similar but
> isn’t actually the same – my issue was related to the number of times you
> have to select the Boolean cell to make it change. For instance if you
> select it three times rather than four it reverts to null.
>
>
>
> I just assume the intended action is that it starts as a default (maybe
> null); a single mouse click changes it to false, and a further mouse click
> change it to true, and then repeated mouse clicks toggle round the  three
> options – if of course null is a possible default for that cell.
>
>
>
> If the cell is NOT NULL by definition, the default should be false and it
> will just toggle between true and false.
>
>
>
> Cheers
>
>
>
> Nigel
>
>
>
>
>
>
>
> *Dr Nigel Tucker*
>
> System Architect
>
> Specialised Structures NZ
>
> Telephone Direct (NZ) +64 (0) 3 482 2473
>
>
>
> [image: SS with Custom]
>
>
>
> *From:* pgadmin-support-ow...@postgresql.org [mailto:
> pgadmin-support-ow...@postgresql.org] *On Behalf Of *Surinder Kumar
> *Sent:* Wednesday, 31 May 2017 6:13 PM
> *To:* Nigel Tucker
> *Cc:* pgAdmin Support
> *Subject:* Re: [pgadmin-support] pgAdmin4 and boolean columns
>
>
>
> Hi Nigel,
>
>
>
> ​Already a similar issue RM2218
>  logged which is resolved.
>
>
>
> Also, which version of pgAdmin4 you are using ?
>
>
>
> On Wed, May 31, 2017 at 3:00 AM, Nigel Tucker <
> ni...@specialisedstructures.co.nz> wrote:
>
> Hi,
>
>
>
> pgAdmin4 has difficulty with setting or changing Boolean check boxes in
> Windows 10.
>
>
>
> Double clicking on a Boolean cell initially null converts the display to
> an empty box, which on leaving that cell displays ‘false’.
>
> If you return to the box and click once on it, it switches to a ticked box
> – which on leaving the cell shows ‘null’.
>
> If however you double click on the cell, it converts to a ticked box which
> on leaving the cell shows true.
>
>
>
> So – the mechanism for converting a Boolean cell from true to false
> requires five button presses, and from false to true requires four button
> presses. This has to be excessive and makes direct editing any number of
> rows a real pain.
>
>
>
> Cheers
>
>
>
> Nigel
>
>
>
> *Dr Nigel Tucker*
>
> System Architect
>
> Specialised Structures NZ
>
> Telephone Direct (NZ) +64 (0) 3 482 2473
>
>
>
> [image: SS with Custom]
>
>
>
>
>