ExtJS рдкрд░ рдПрдХ рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдмрдирд╛рдирд╛ред рдПрдХреНрд╕рдЯреАрдЬреЗрдПрд╕ 4 рдХреЗ рд╕рд╛рде рдкрд╣рд▓реА рдФрд░ рдЖрдЦрд┐рд░реА рд╕рдорд╕реНрдпрд╛

рд▓рдЧрд╛рддрд╛рд░ рдмрджрд▓рддреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдФрд░ рддрдВрдЧ рд╕рдордп рд╕реАрдорд╛ рдиреЗ рд╣рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреАрдЬреЗрдПрд╕ 4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред

рдПрдХреНрд╕рдЯреАрдЬреЗрдПрд╕ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдЬреЛ рд╣рдордиреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдФрд░ рдПрдХреНрд╕рдЯреАрдЬреЗрдПрд╕ рдХреА рддреИрдпрд╛рд░реА рдореЗрдВ рд╣рдореЗрдВ рдЬреЛ рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ, рд╡рд╣ рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рдЕрдзрд┐рдХ рдерд╛ред

рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдПрдХреНрд╕рдЯреАрдЬреЗрдПрд╕ 4 рд▓реЗрд╡рд▓ рдмреЗрд╕рд┐рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рд▓реЗрдЦ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд▓реЗрдЦ http://css.dzone.com/articles/how-use-extjs-4-jquery рд╕реЗ рдмрд╣реБрдд рдкреНрд░рд╕рдиреНрди рдерд╛ред рд▓реЗрдХрд┐рди ExtJS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ (рдпрд╛ рдмрдирд╛рдиреЗ) рдкрд░ рдЧрдВрднреАрд░ "рдЧреИрд░-рдирдХрдж" рд▓реЗрдЦ рдХрдИ рдирд╣реАрдВ рд╣реИрдВред

рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдПрдХреНрд╕рдЯреАрдЬреЗрдПрд╕ рдкреИрдЪ рд▓реИрдм рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ рдкрд╣рд▓рд╛ рд▓реЗрдЦ рд╕реБрдиреЗрдВ ... рдЦреИрд░, рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдЬрд┐рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ред рдиреЗрдЯрд╡рд░реНрдХ ... рдереЛрдбрд╝рд╛ рдмрд╣реБрддред



рдлрд╝реАрдб рдХреЗ рд▓рд┐рдП, Ext.dpan.SGore рдХреЗ рд╕рд╛рде Ext.panel.Grid рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рдЖрдк рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпреЗ рдореВрд▓рднреВрдд рдЪреАрдЬреЗрдВ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХреНрд╕рдЯреАрдЬреЗрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪреБрдирд╛ред

рдХреНрдпреЛрдВ рдЧреНрд░рд┐рдб , рдФрд░ dataView рдирд╣реАрдВ (рдмрд╛рдж рдореЗрдВ рдлрд╛рдЗрдирд▓ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдЧреНрд░рд┐рдб рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛)ред рдЧреНрд░рд┐рдб рдХреЛ рдбреЗрдЯрд╛ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдп рдореЛрдб рдкрд╕рдВрдж рдЖрдпрд╛, "рдЕрдВрддрд╣реАрди" рд╕реНрдХреНрд░реЙрд▓ред рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдЕрд╡рд╕рд░реЛрдВ рдХреА рдЦреБрд╢реА рдмрд╕ рднрд╛рд░реА рдереАред

Ext.data.Store


рдбреЗрдЯрд╛ рдХреЙрд▓ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдЖрддрд╛ рд╣реИ, рдлрд┐рд░ рдЗрд╕реЗ рд╕реНрдЯреЛрд░ рдХреНрд▓рд╛рд╕ рдХреЗ рд▓реЛрдбрдбреЗрдЯрд╛ рд╡рд┐рдзрд┐ рдореЗрдВ рдХрдЪреНрдЪреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЕрдкрдиреЗ рдПрдкреАрдЖрдИ рдХреА рд╡рдЬрд╣ рд╕реЗ рд╕реНрдЯреЛрд░ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдкрд░рджреЗ рдХреЗ рдкреАрдЫреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдлреЛрд░рд╕реНрдХреНрдпреВ ред

var myStore = Ext.create('Ext.data.Store', { model: 'Post', filterOnLoad: true, idProperty: 'id', filters: new Ext.util.Filter({ filterFn: function (item) { return item.get("status") > 0; } }) }); тАж API.Events.get().done(function(posts){ myStore.loadData(posts); }); 

рдкреЛрд╕реНрдЯ рдореЙрдбрд▓ Ext.data.Model рд╡рд░реНрдЧ рдХрд╛ рд╡рдВрд╢рдЬ рд╣реИред

 Ext.define('Post', { extend: 'Ext.data.Model', idProperty: 'id', constructor: function (raw) { return this.callParent([this.prepare(raw), raw[this.idProperty]]); }, prepare: function (raw) { тАж } }); 

рдкреЛрд╕реНрдЯ рдореЙрдбрд▓ рдореЗрдВ, рддреИрдпрд╛рд░ рд╡рд┐рдзрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдЪреНрдЪрд╛ рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореВрд▓ рд╡рд░реНрдЧ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдореЗрдВ, рдбреЗрдЯрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрд╕рд╛рдзрд┐рдд рд░реВрдк рдореЗрдВ рдЖрддрд╛ рд╣реИред

рддреИрдпрд╛рд░ рд╡рд┐рдзрд┐ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ:
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдкреЛрд╕реНрдЯ рдбреЗрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рддрдХ рдкреЛрд╕реНрдЯ рдбреЗрдЯ рдбрд╛рд▓рдирд╛

 this.data = new Date(this.data); 

... рдЯрд╛рдЗрдкрдЖрдИрдбреА рд╕реЗ рдкрддреНрд░рд╛рдЪрд╛рд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╣реИрд╢ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреЛрд╕реНрдЯ рдирд╛рдо рдХрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

 this.typeName = Dict.post.types[this.typeId]; 

рдФрд░ рдЗрд╕реА рддрд░рд╣ ...

рд╕реНрдЯреЛрд░ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдореЙрдбрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рд▓реЛрдбрдбреЗрдЯрд╛ рд╡рд┐рдзрд┐ рдпрд╣ рдЬрд╛рдВрдЪрддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдбреЗрдЯрд╛ рдЕрднреА рднреА рдХрдЪреНрдЪрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдореЙрдбрд▓ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЗрд╕реЗ рд╣рдореЗрдВ рд▓рд┐рдЦреЗрдВ, рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рд░рдгреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд╕рд╛рдеред

рд╕реБрдЦрдж рдЙрдкрдпреЛрдЧрд┐рддрд╛ # 1


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд▓реЛрдбрдбрд╛рдЯрд╛ рдХрдЪреНрдЪреА рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддрддреНрдХрд╛рд▓ рдореЙрдбрд▓ рджреЛрдиреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред

рдлрд╝реАрдЪрд░ # 1


рд▓реЛрдбрдбреИрдЯрд╛ рдореЗрдВ рдХрд┐рд╕реА рдПрдХрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА, рд╡рд┐рдзрд┐ рдХреЗрд╡рд▓ рдПрдХ рд╕рд░рдгреА рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреА рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рддрддреНрд╡ рд╕реЗ рднреАред

рдлрд╝реАрдЪрд░ # 2


рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд▓реЛрдб рдбреЗрдЯрд╛ рдХреЛ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдХрдЪреНрдЪрд╛ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдХрд╛ рдПрдХ рд╕рд░рдгреА рдмрди рдЬрд╛рдПрдЧрд╛ред

 API.Events.get().done(function(posts){ //posts is array of objects myStore.loadData(posts); //posts is array of Models }); 

рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореВрд▓ рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ Ext.Array.clone () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдзрд┐ рдЧрд╣рд░реА рдХреНрд▓реЛрдирд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдЬреИрд╕реЗ jQuery.extend ред

рд╕рдорд╕реНрдпрд╛ # 1


рд▓реЛрдбрдбреЗрдЯрд╛ рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдПрдкреЗрдВрдб рд╣реИ (рд╕реНрдЯреЛрд░ рдореЗрдВ рдореМрдЬреВрджрд╛ рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЬреЛрдбрд╝реЗрдВ, рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЭреВрдареЗ) ред рдпрд╛рдиреА рдирдП рдкреЛрд╕реНрдЯ рд╕рд░реНрд╡рд░ рд╕реЗ рдЖрддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдореМрдЬреВрджрд╛ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред

рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрдЯреЛрд░ рд▓реЛрдб рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (filterOnLoad = true)

рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

рд╕реНрдЯреЛрд░ рд╕рднреА рд░рд┐рдХреЙрд░реНрдб рдХреЛ рджреЛ рд╕рдВрдЧреНрд░рд╣реЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдореБрдЦреНрдп рдПрдХ рдбреЗрдЯрд╛ рд╣реИ , рдФрд░ рдПрдХ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╕реНрдиреИрдкрд╢реЙрдЯ рд╣реИ ред рд╕реНрдЯреЛрд░ рдореЗрдВ рдХреБрдВрдЬреА "рдлрд╝рд┐рд▓реНрдЯрд░рдСрдирд▓реЛрдб: рдЯреНрд░реВ" рд╕реНрдЯреЛрд░ рдХреЛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдкрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдХреЗ рдЖрдВрддрд░рд┐рдХ рднрдВрдбрд╛рд░рдг рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдП рдЧрдП рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЛ рддреНрдпрд╛рдЧрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИред

рд╕реНрдЯреЛрд░ рдФрд░ рд▓реЛрдбрдбрд╛рдЯрд╛ рд╡рд┐рдзрд┐ рдореЗрдВ рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИред

Ext-all-debug.js рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ ( рд▓реЛрдбрд░рдХрд╛рд░реНрдб рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓реЛрдбрдбреЗрдЯрд╛ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ... рдФрд░ рдЕрдзрд┐рдХ)

 loadRecords: function(records, options) { тАж if (!options.addRecords) { delete me.snapshot; me.clearData(); } me.data.addAll(records); тАж } 

рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╣рд┐рдд рд╣реИ, рд╡рд┐рдХрд▓реНрдк ред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд┐рдХрд▓реНрдк рд╕рд╣реА рд╣реИ , рд╕реНрдиреИрдкрд╢реЙрдЯ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ, рдбреЗрдЯрд╛ рдХреЗрд╡рд▓ рдореБрдЦреНрдп рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдЖрддрд╛ рд╣реИред

 API.Posts.get().done(function(posts){ myStore.loadData(posts); //posts.length 8, filtered 2 entries }); тАж API.Posts.get().done(function(posts){ myStore.loadData(posts, true); //posts.length 10, filtered all entries }); 

рдкрд╣рд▓реЗ рдмреВрдЯ рдореЗрдВ рдХреЗрд╡рд▓ 2 рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рд╣реБрдИрдВ, рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ рдпрд╣ рд╕рдм рд╣реИред

me.data рдореЗрдВ 2 + 10 рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рд╣реИрдВ, рдФрд░ me.snapshot рдХреЗрд╡рд▓ 8, рдХреНрдпреЛрдВрдХрд┐ рджреВрд╕рд░реЗ рдХреЙрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдЫрд┐рдкреЗ рд╣реБрдП рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реБрдЖред

рд╣рдорд╛рд░реЗ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдкреБрд░рд╛рдиреЗ рдлрд╝рд┐рд▓реНрдЯрд░реЛрдВ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдФрд░ рдирдП рд▓реЛрдЧреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЖрдк рдХреЗрд╡рд▓ рдлрд╝рд┐рд▓реНрдЯрд░ (рдЬреЛ рдмрд╣реБрдд, рдмрд╣реБрдд рд╣реА рдЕрдЬреАрдм рд╣реИрдВ) рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдорд┐рд╕реНрдЯреЙрд░ .clearFilter () рд╡рд┐рдзрд┐ рдкрд┐рдЫрд▓реЗ 10 рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдорд╛рд░рддреА рд╣реИ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ 8 рд░рд┐рдХреЙрд░реНрдб рд╣реИрдВред

рдирд┐рд░реНрдгрдп


 loadRecords: function(records, options) { тАж if (!options.addRecords) { delete me.snapshot; me.clearData(); } me.data.addAll(records); //add records in snapshot too. if (options.addRecords && me.snapshot) { me.snapshot.addAll(records) } тАж } 

рд╕рдорд╕реНрдпрд╛ # 2


IdProperty рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕рдХреЗ рдЗрдЪреНрдЫрд┐рдд рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

IdProperty рдлрд╝реАрд▓реНрдб рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреЗрдЯрд╛ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдИрдбреА рдХреБрдВрдЬреА рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рднрдВрдбрд╛рд░ рдореЗрдВ рдирдП рдкрджреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдХреЛрдИ рдкреЛрд╕реНрдЯ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕рдореЗрдВ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ, рд╣рдореЗрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЗрд╕ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред IdProperty = "id" рдХреБрдВрдЬреА рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдкреЗрдВрдб рдореЛрдб рдореЗрдВ рд▓реЛрдбрдбрд╛рдЯрд╛ рд╡рд┐рдзрд┐ рдХреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдбреЗрдЯрд╛ рдорд░реНрдЬрд┐рдВрдЧ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рд╕реНрд░реЛрдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдлрд╡рд╛рд╣ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдРрд╕реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╕ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Me.data.addAll (рд░рд┐рдХреЙрд░реНрдбреНрд╕) рд╡рд┐рдзрд┐ рди рдХреЗрд╡рд▓ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИред рдЖрдкрдХреЛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдЙрд╕реА рд▓реЛрдбрд░рдХрд╛рд░реНрдб рд╡рд┐рдзрд┐ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдирд┐рд░реНрдгрдп


 loadRecords: function(records, options) { тАж if (!options.addRecords) { delete me.snapshot; me.clearData(); } me.data.addAll(records); if (this.idProperty) { var indexRecord = {}; for (i = 0; i < length; i++) { indexRecord[records[i].data[this.idProperty]] = records[i]; } me.data.addAll(indexRecord); if (options.addRecords && me.snapshot) { me.snapshot.addAll(indexRecord); } records = []; for (key in indexRecord) { records.push(indexRecord[key]); } length = records.length; } else { me.data.addAll(records); if (options.addRecords && me.snapshot) { me.snapshot.addAll(records); } } тАж } 

рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдИрдбреА рдорд╛рди рд╣реИрдВ, рдФрд░ рд╣рдо рдирдП рдбреЗрдЯрд╛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ ...

PS рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдЖрдкрдХреЗ рд╕рдВрдкрд╛рджрди рдХреЗ рд╕рд╛рде рд╕реНрд░реЛрдд рдореЗрдВ рдХреНрд░реЙрд▓рд┐рдВрдЧ рдЦрд░рд╛рдм рд╣реИ, Ext.override рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдкрдХреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╕рдордп рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рдЖрдк рдмрд╕ рдЕрдкрдиреА рдкреИрдЪ рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЖрдк рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкреБрд░рд╛рдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкреИрдЪ рд╕реЗ рдЕрдкрдирд╛ рд╕рдорд╛рдзрд╛рди рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВред

рдХреНрд╖рд┐рддрд┐рдЬ рдкрд░ рдЕрдкрдиреА рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рд╕рд╛рде рд╕реНрдЯреЛрд░ рдХреЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╕рдорд╕реНрдпрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдХрдИ рдкреНрд░рд╕реНрддреБрддрд┐рдпрд╛рдВ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рдХрд░реЗрдВред

рдЖрд╡реЗрджрди рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд╢рд╛рдпрдж рдХреБрдЫ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдорд╕реНрдпрд╛рдПрдВ рдФрд░ рдЙрдирдХреЗ рд╕рдорд╛рдзрд╛рди рд╣реИрдВред

Source: https://habr.com/ru/post/In129080/


All Articles