.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, время: 12:44. |