Hi,

PFA patch for backgrid passwordCell


Usage:

schema: [{
  id: 'pass', label: '{{ _('New Password') }}',
  cell: 'password'
}]



-- 
*Harshal Dhumal*
*Software Engineer *



EenterpriseDB <http://www.enterprisedb.com>
diff --git a/web/pgadmin/static/css/overrides.css b/web/pgadmin/static/css/overrides.css
index 55d83e0..8e5c3f4 100755
--- a/web/pgadmin/static/css/overrides.css
+++ b/web/pgadmin/static/css/overrides.css
@@ -1232,3 +1232,26 @@ form[name="change_password_form"] .help-block {
     visibility: hidden;
   }
 }
+
+.backgrid .string-cell.editor input[type=password] {
+  text-align: left;
+}
+
+.backgrid td.editor input[type=password] {
+  display: block;
+  width: 100%;
+  height: 100%;
+  padding: 0 5px;
+  margin: 0;
+  background-color: transparent;
+  border: 0;
+  outline: 0;
+  -webkit-box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+  -webkit-appearance: none;
+     -moz-appearance: none;
+}
\ No newline at end of file
diff --git a/web/pgadmin/static/js/backgrid/backgrid.pgadmin.js b/web/pgadmin/static/js/backgrid/backgrid.pgadmin.js
index 5197f15..6df3aa3 100644
--- a/web/pgadmin/static/js/backgrid/backgrid.pgadmin.js
+++ b/web/pgadmin/static/js/backgrid/backgrid.pgadmin.js
@@ -845,6 +845,45 @@
       }
     });
 
+  /**
+   Formatter for PasswordCell.
+
+   @class Backgrid.PasswordFormatter
+   @extends Backgrid.CellFormatter
+   @constructor
+  */
+  var PasswordFormatter = Backgrid.PasswordFormatter = function () {};
+  PasswordFormatter.prototype = new Backgrid.CellFormatter();
+  _.extend(PasswordFormatter.prototype, {
+    fromRaw: function (rawValue, model) {
+
+      if (_.isUndefined(rawValue) || _.isNull(rawValue)) return '';
+
+      var pass = '';
+      for(var i = 0; i < rawValue.length; i++) {
+        pass += '*';
+      }
+      return pass;
+    }
+  });
+
+  var PasswordCell = Backgrid.Extension.PasswordCell  = Backgrid.StringCell.extend({
+
+    formatter: PasswordFormatter,
+
+    editor: Backgrid.InputCellEditor.extend({
+      attributes: {
+        type: "password"
+      },
+
+      render: function () {
+        var model = this.model;
+        this.$el.val(model.get(this.column.get("name")));
+        return this;
+      }
+    })
+  });
+
   return Backgrid;
 
 }));
-- 
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers

Reply via email to