​Hi Dave,

On Tue, Nov 21, 2017 at 10:53 PM, Dave Page <dp...@pgadmin.org> wrote:

> Hi
>
> On Tue, Nov 21, 2017 at 1:17 PM, Murtuza Zabuawala <
> murtuza.zabuaw...@enterprisedb.com> wrote:
>
>> Hi Dave,
>>
>> PFA updated patch.
>>
>> On Tue, Nov 21, 2017 at 4:16 PM, Dave Page <dp...@pgadmin.org> wrote:
>>
>>> HI
>>>
>>> On Tue, Nov 21, 2017 at 6:16 AM, Murtuza Zabuawala <
>>> murtuza.zabuaw...@enterprisedb.com> wrote:
>>>
>>>> Hi Dave,
>>>>
>>>> PFA updated patch with custom tristate boolean editor for SlickGrid to
>>>> make it compatible with Qt runtime.
>>>> I have tested it web mode & also modified the feature test accordingly.
>>>>
>>>> Also thanks to Neel for testing the patch with latest runtime code.
>>>>
>>>
>>> Cool - so a few thoughts...
>>>
>>> - Can we make the null symbol a question mark?
>>>
>> ​instead of question mark we will make square
>> gray color
>> ​.​
>>
>
> Sorry - I just realised this is not good from an accessibility perspective
> as users may not be able to distinguish between the white and gray in-fill.
> I've made it include a ? as well.
>
​
I have enhanced the the visibility of '?'
little bit
​more​
, attaching the patch if you prefer it that way. ​



>
>
>>
>>> - I think the feature tests should be enhanced to ensure we verify the
>>> clickthrough sequence of the new control. I don't think we need a new test
>>> - maybe just an enhancement to the existing editor test?
>>>
>> ​Done​
>>
>>
>
> Thanks - patch applied.
>
>
>>
>>> - With a table of the definition shown below, if I add a row with a
>>> default value for the ID, and false, true, null and hit save, then
>>> immediately (without refreshing) try to change the first boolean value to
>>> true and hit save, then I get the following error:
>>>
>>> UPDATE public.bools SET
>>> b1 = %(b1)s::boolean WHERE
>>> ;
>>> 2017-11-21 10:34:57,378: ERROR pgadmin:
>>> Failed to execute query (execute_void) for the server #1 - DB:postgres
>>> (Query-id: 4249364):
>>> Error Message:ERROR:  syntax error at or near ";"
>>> LINE 3: ;
>>>
>>>
>>> Table:
>>>
>>> CREATE TABLE public.bools
>>> (
>>>     id integer NOT NULL DEFAULT nextval('bools_id_seq'::regclass),
>>>     b1 boolean,
>>>     b2 boolean,
>>>     b3 boolean,
>>>     CONSTRAINT bools_pkey PRIMARY KEY (id)
>>> )
>>>
>>> ​This issue is not related to given editor changes.
>> I have opened the separate ticket for the issue
>> https://redmine.postgresql.org/issues/2886
>>
>
> OK, thanks.
>
​Also attached patch for RM#2886, the issue was due to incorrect
conditional logic, As per the current implementation the newly added row
should gets disabled if it is saved with default primary key value until
gird reloaded with actual PK for updation but due to
 incorrect condition
​ it was enable​ in this case.

>
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
diff --git a/web/pgadmin/static/css/bootstrap.overrides.css 
b/web/pgadmin/static/css/bootstrap.overrides.css
index fcc030d..b894021 100755
--- a/web/pgadmin/static/css/bootstrap.overrides.css
+++ b/web/pgadmin/static/css/bootstrap.overrides.css
@@ -1404,20 +1404,21 @@ body {
 .multi-checkbox .check {
   display: inline-block;
   vertical-align: top;
-  width: 15px;
-  height: 15px;
+  width: 16px;
+  height: 16px;
   border: 1px solid #333;
   margin: 3px;
   text-align: center;
-  line-height: 15px;
+  line-height: 16px;
 }
 
+.multi-checkbox .check.checked,
 .multi-checkbox .check.unchecked {
   background: #fff;
 }
 
 .multi-checkbox .check.partial {
-  background: #cccccc;
+  background: #e8e8e8;
 }
 
 .multi-checkbox .check.checked:after {
@@ -1425,5 +1426,5 @@ body {
 }
 
 .multi-checkbox .check.partial:after {
-  content: "\fe56";
+  content: "\003F";
 }
diff --git a/web/pgadmin/tools/sqleditor/static/js/sqleditor.js 
b/web/pgadmin/tools/sqleditor/static/js/sqleditor.js
index 9a0c3de..ba0ce67 100644
--- a/web/pgadmin/tools/sqleditor/static/js/sqleditor.js
+++ b/web/pgadmin/tools/sqleditor/static/js/sqleditor.js
@@ -668,12 +668,14 @@ define('tools.querytool', [
             }
           }
         }
+
         // Disable rows having default values
         if (!_.isUndefined(self.handler.rows_to_disable) &&
-          _.indexOf(self.handler.rows_to_disable, i) !== -1
-        ) {
+            self.handler.rows_to_disable.length > 0 &&
+            _.indexOf(self.handler.rows_to_disable, i) !== -1) {
           cssClass += ' disabled_row';
         }
+
         return {'cssClasses': cssClass};
       };
 
@@ -825,16 +827,17 @@ define('tools.querytool', [
         // so that cell edit is enabled for that row.
         var grid = args.grid,
           row_data = grid.getDataItem(args.row),
-          is_primary_key = _.all(
-            _.values(
-              _.pick(
-                row_data, self.primary_keys
-              )
-            ),
-            function (val) {
-              return val != undefined
-            }
-          );
+          is_primary_key = self.primary_keys &&
+            _.all(
+              _.values(
+                _.pick(
+                  row_data, self.primary_keys
+                )
+              ),
+              function (val) {
+                return val != undefined
+              }
+            );
 
         // temp_new_rows is available only for view data.
         if (is_primary_key && self.handler.temp_new_rows) {

Reply via email to