.sort() - дополнительные аргументы?
Описание ситуации и проблемы: Есть самописный компонент grid. Отдельно передаются fields и items вида:
cms3.richGrid.create({
id: 'richGrid8',
container: 'div#workspace',
fields: {
"id":{
"default":null,
"label":"ID",
"type":"primary"
},
"name": {
"default":"",
"label":"Название",
"type":"string"
}
},
items: [{
"id":"25",
"name":"kint"
},{
"id":"28",
"name":"test"
},{
"id":"1",
"name":"database"
}],
});
Затем, при инициализации грида, для каждого field создается объект соответствующего типа, который дополняется пользовательскими данными:
var $ = jQuery;
var grid = this;
$.each(this.fields, function(fieldId, userField){
field.id = fieldId;
grid.fields[fieldId] = grid.fieldTypes[userField.type].create(userField);
});
Grid существует и полноценно работает на this, имя ссылки на объект неизвестно и, как в данном случае, ее вообще может и не быть. Возникла проблема с сортировкой. У каждого fieldType и как следствие field может быть своя функция сортировки, потому функция передается вот так: var field = this.getSortField(); this.items.sort(field.sort); Проблема в том, что метод field.sort вызывается статически, в отрыве от объекта, а для сортировки нужны и другие данные, как минимум field.id. Не придумал ничего, подскажите что-нибудь? :) |
Еще актуально, нужна помощь.
|
| Часовой пояс GMT +3, время: 15:56. |