123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- (function(jsGrid, $, undefined) {
- function Field(config) {
- $.extend(true, this, config);
- this.sortingFunc = this._getSortingFunc();
- }
- Field.prototype = {
- name: "",
- title: null,
- css: "",
- align: "",
- width: 100,
- visible: true,
- filtering: true,
- inserting: true,
- editing: true,
- sorting: true,
- sorter: "string", // name of SortStrategy or function to compare elements
- headerTemplate: function() {
- return (this.title === undefined || this.title === null) ? this.name : this.title;
- },
- itemTemplate: function(value, item) {
- return value;
- },
- filterTemplate: function() {
- return "";
- },
- insertTemplate: function() {
- return "";
- },
- editTemplate: function(value, item) {
- this._value = value;
- return this.itemTemplate(value, item);
- },
- filterValue: function() {
- return "";
- },
- insertValue: function() {
- return "";
- },
- editValue: function() {
- return this._value;
- },
- _getSortingFunc: function() {
- var sorter = this.sorter;
- if($.isFunction(sorter)) {
- return sorter;
- }
- if(typeof sorter === "string") {
- return jsGrid.sortStrategies[sorter];
- }
- throw Error("wrong sorter for the field \"" + this.name + "\"!");
- }
- };
- jsGrid.Field = Field;
- }(jsGrid, jQuery));
|