diff --git a/demos/basic.html b/demos/basic.html index 023d2a61..f4d17c0f 100755 --- a/demos/basic.html +++ b/demos/basic.html @@ -22,6 +22,7 @@ +

Basic Scenario

@@ -44,11 +45,12 @@

Basic Scenario

deleteConfirm: "Do you really want to delete the client?", controller: db, fields: [ - { name: "Name", type: "text", width: 150 }, - { name: "Age", type: "number", width: 50 }, - { name: "Address", type: "text", width: 200 }, - { name: "Country", type: "select", items: db.countries, valueField: "Id", textField: "Name" }, - { name: "Married", type: "checkbox", title: "Is Married", sorting: false }, + { name: "Name", type: "text", width: 150, id:"id_name" }, + { name: "Data", type: "textarea", width: 150, id:"id_data" }, + { name: "Age", type: "number", width: 50 ,id:"id_age"}, + { name: "Address", type: "text", width: 200 , id:"id_address" }, + { name: "Country", type: "select", items: db.countries, valueField: "Id", textField: "Name" ,id:"id_country"}, + { name: "Married", type: "checkbox", title: "Is Married", sorting: false, id:"id_married" }, { type: "control" } ] }); diff --git a/demos/db.js b/demos/db.js index 07ef1eef..107cb5ac 100644 --- a/demos/db.js +++ b/demos/db.js @@ -42,171 +42,195 @@ db.clients = [ { "Name": "Otto Clay", - "Age": 61, + "Age": 61, "Country": 6, "Address": "Ap #897-1459 Quam Avenue", - "Married": false + "Married": false, + "Data": "Excellent developer" }, { "Name": "Connor Johnston", "Age": 73, "Country": 7, "Address": "Ap #370-4647 Dis Av.", - "Married": false + "Married": false, + "Data": "Excellent developer" }, { "Name": "Lacey Hess", "Age": 29, "Country": 7, "Address": "Ap #365-8835 Integer St.", - "Married": false + "Married": false, + "Data": "Excellent developer" }, { "Name": "Timothy Henson", "Age": 78, "Country": 1, "Address": "911-5143 Luctus Ave", - "Married": false + "Married": false, + "Data": "Excellent developer" }, { "Name": "Ramona Benton", "Age": 43, "Country": 5, "Address": "Ap #614-689 Vehicula Street", - "Married": true + "Married": true, + "Data": "Excellent developer" }, { "Name": "Ezra Tillman", "Age": 51, "Country": 1, "Address": "P.O. Box 738, 7583 Quisque St.", - "Married": true + "Married": true, + "Data": "Excellent developer" }, { "Name": "Dante Carter", "Age": 59, "Country": 1, "Address": "P.O. Box 976, 6316 Lorem, St.", - "Married": false + "Married": false, + "Data": "Excellent developer" }, { "Name": "Christopher Mcclure", "Age": 58, "Country": 1, "Address": "847-4303 Dictum Av.", - "Married": true + "Married": true, + "Data": "Excellent developer" }, { "Name": "Ruby Rocha", "Age": 62, "Country": 2, "Address": "5212 Sagittis Ave", - "Married": false + "Married": false, + "Data": "Excellent developer" }, { "Name": "Imelda Hardin", "Age": 39, "Country": 5, "Address": "719-7009 Auctor Av.", - "Married": false + "Married": false, + "Data": "Excellent developer" }, { "Name": "Jonah Johns", "Age": 28, "Country": 5, "Address": "P.O. Box 939, 9310 A Ave", - "Married": false + "Married": false, + "Data": "Excellent developer" }, { "Name": "Herman Rosa", "Age": 49, "Country": 7, "Address": "718-7162 Molestie Av.", - "Married": true + "Married": true, + "Data": "Excellent developer" }, { "Name": "Arthur Gay", "Age": 20, "Country": 7, "Address": "5497 Neque Street", - "Married": false + "Married": false, + "Data": "Excellent developer" }, { "Name": "Xena Wilkerson", "Age": 63, "Country": 1, "Address": "Ap #303-6974 Proin Street", - "Married": true + "Married": true, + "Data": "Excellent developer" }, { "Name": "Lilah Atkins", "Age": 33, "Country": 5, "Address": "622-8602 Gravida Ave", - "Married": true + "Married": true, + "Data": "Excellent developer" }, { "Name": "Malik Shepard", "Age": 59, "Country": 1, "Address": "967-5176 Tincidunt Av.", - "Married": false + "Married": false, + "Data": "Excellent developer" }, { "Name": "Keely Silva", "Age": 24, "Country": 1, "Address": "P.O. Box 153, 8995 Praesent Ave", - "Married": false + "Married": false, + "Data": "Excellent developer" }, { "Name": "Hunter Pate", "Age": 73, "Country": 7, "Address": "P.O. Box 771, 7599 Ante, Road", - "Married": false + "Married": false, + "Data": "Excellent developer" }, { "Name": "Mikayla Roach", "Age": 55, "Country": 5, "Address": "Ap #438-9886 Donec Rd.", - "Married": true + "Married": true, + "Data": "Excellent developer" }, { "Name": "Upton Joseph", "Age": 48, "Country": 4, "Address": "Ap #896-7592 Habitant St.", - "Married": true + "Married": true, + "Data": "Excellent developer" }, { "Name": "Jeanette Pate", "Age": 59, "Country": 2, "Address": "P.O. Box 177, 7584 Amet, St.", - "Married": false + "Married": false, + "Data": "Excellent developer" }, { "Name": "Kaden Hernandez", "Age": 79, "Country": 3, "Address": "366 Ut St.", - "Married": true + "Married": true, + "Data": "Excellent developer" }, { "Name": "Kenyon Stevens", "Age": 20, "Country": 3, "Address": "P.O. Box 704, 4580 Gravida Rd.", - "Married": false + "Married": false, + "Data": "Excellent developer" }, { "Name": "Jerome Harper", "Age": 31, "Country": 5, "Address": "2464 Porttitor Road", - "Married": false + "Married": false, + "Data": "Excellent developer" }, { "Name": "Jelani Patel", diff --git a/src/fields/jsgrid.field.checkbox.js b/src/fields/jsgrid.field.checkbox.js index 584b7f16..ec8fdd73 100755 --- a/src/fields/jsgrid.field.checkbox.js +++ b/src/fields/jsgrid.field.checkbox.js @@ -24,7 +24,7 @@ return ""; var grid = this._grid, - $result = this.filterControl = this._createCheckbox(); + $result = this.filterControl = this._createCheckbox( (typeof(this.id) !== "undefined")?this.id+"_filter":""); $result.prop({ readOnly: true, @@ -61,14 +61,14 @@ if(!this.inserting) return ""; - return this.insertControl = this._createCheckbox(); + return this.insertControl = this._createCheckbox((typeof(this.id) !== "undefined")?this.id+"_insert":""); }, editTemplate: function(value) { if(!this.editing) return this.itemTemplate.apply(this, arguments); - var $result = this.editControl = this._createCheckbox(); + var $result = this.editControl = this._createCheckbox((typeof(this.id) !== "undefined")?this.id+"_edit":""); $result.prop("checked", value); return $result; }, @@ -87,8 +87,15 @@ return this.editControl.is(":checked"); }, - _createCheckbox: function() { - return $("").attr("type", "checkbox"); + _createCheckbox: function(unId = "") { + + var customField = $("").attr("type", "checkbox"); + + if(unId !== "") + customField.attr("id",unId); + + return customField; + } }); diff --git a/src/fields/jsgrid.field.number.js b/src/fields/jsgrid.field.number.js index e358a86a..663111ec 100755 --- a/src/fields/jsgrid.field.number.js +++ b/src/fields/jsgrid.field.number.js @@ -30,9 +30,17 @@ : undefined; }, - _createTextBox: function() { - return $("").attr("type", "number") - .prop("readonly", !!this.readOnly); + _createTextBox: function(unId="") { + + + var customField = $("").attr("type", "number") + .prop("readonly", !!this.readOnly); + + if(unId !== "") + customField.attr("id",unId); + + return customField; + } }); diff --git a/src/fields/jsgrid.field.select.js b/src/fields/jsgrid.field.select.js index b2e5d345..3dad667b 100755 --- a/src/fields/jsgrid.field.select.js +++ b/src/fields/jsgrid.field.select.js @@ -50,7 +50,7 @@ return ""; var grid = this._grid, - $result = this.filterControl = this._createSelect(); + $result = this.filterControl = this._createSelect(typeof(this.id) !== "undefined"?this.id+"_filter":""); if(this.autosearch) { $result.on("change", function(e) { @@ -65,14 +65,14 @@ if(!this.inserting) return ""; - return this.insertControl = this._createSelect(); + return this.insertControl = this._createSelect(typeof(this.id) !== "undefined"?this.id+"_insert":""); }, editTemplate: function(value) { if(!this.editing) return this.itemTemplate.apply(this, arguments); - var $result = this.editControl = this._createSelect(); + var $result = this.editControl = this._createSelect(typeof(this.id) !== "undefined"?this.id+"_edit":""); (value !== undefined) && $result.val(value); return $result; }, @@ -92,7 +92,8 @@ return this.valueType === numberValueType ? parseInt(val || 0, 10) : val; }, - _createSelect: function() { + _createSelect: function(unId = "" ) { + var $result = $("").attr("type", "text") - .prop("readonly", !!this.readOnly); + _createTextBox: function( unId = "" ) { + + var customField = $("").attr("type", "text").prop("readonly", !!this.readOnly); + + if(unId !== "") + customField.attr("id",unId); + + return customField; } }); diff --git a/src/fields/jsgrid.field.textarea.js b/src/fields/jsgrid.field.textarea.js index 1715d80f..c53d9faa 100755 --- a/src/fields/jsgrid.field.textarea.js +++ b/src/fields/jsgrid.field.textarea.js @@ -12,20 +12,28 @@ if(!this.inserting) return ""; - return this.insertControl = this._createTextArea(); + return this.insertControl = this._createTextArea(typeof(this.id) !== "undefined"?this.id+"_insert":""); }, editTemplate: function(value) { if(!this.editing) return this.itemTemplate.apply(this, arguments); - var $result = this.editControl = this._createTextArea(); + var $result = this.editControl = this._createTextArea(typeof(this.id) !== "undefined"?this.id+"_edit":""); $result.val(value); return $result; }, - _createTextArea: function() { - return $("