jRIApp - рдСрдирд▓рд╛рдЗрди рд╡реНрдпрд╛рдкрд╛рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирдпрд╛ HTML5 рдврд╛рдВрдЪрд╛

jRIApp рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдПрдХ рдФрд░ HTML5 рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ, рдЬреЛ рдЙрдирдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реАрди рдирд╣реАрдВ рд╣реИред

рдореМрдЬреВрджрд╛ рдЪреМрдЦрдЯреЗ рдЬреИрд╕реЗ рдХрд┐ angularJS рдпрд╛ emberJS рд╕реЗ рдореБрдЦреНрдп рдЕрдВрддрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдПрдХ рдбреЗрдЯрд╛ рд╕реЗрд╡рд╛ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп MVC рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рдмрдЬрд╛рдп MVVM рдбрд┐рдЬрд╝рд╛рдЗрди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЗрд╕реЗ рдПрдХ HTML5 рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, HTML рддрддреНрд╡реЛрдВ рдореЗрдВ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрд▓рдЧреНрди рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рд╣реИ, рдбреЗрдЯрд╛ (DbContext, DbSet) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдбреЗрдЯрд╛ рд╕реЗрд╡рд╛рдПрдБ рд╣реИрдВред

рдлрд╝реНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рднрд╛рдЧ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ ( рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╣реИ ), рдФрд░ рд╕рд░реНрд╡рд░ рднрд╛рдЧ C # рдореЗрдВ рд╣реИред

рдпрд╣ рд░реВрдкрд░реЗрдЦрд╛ MIT рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд GitHub рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реБрдИ рд╣реИ ред рдЗрд╕рдореЗрдВ ASP.NET MVC4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдбреЗрдореЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдкреНрд░рд▓реЗрдЦрди рд╢рд╛рдорд┐рд▓ рд╣реИред

JRIApp рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╢реИрд▓реА WCF RIA рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде Microsoft рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИред рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдореЗрдВ рдПрдХ рд╕рдорд╛рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИ - рдпреВрдирд┐рдбрд╛рдпрд░реЗрдХреНрд╢рдирд▓, рдмрд┐рдбрд╛рдпрд░реЗрдХреНрд╢рдирд▓, рдПрдХ рдбреЗрдЯрд╛ рдХрдирд╡рд░реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдмрдЯрди рдпрд╛ рд╣рд╛рдЗрдкрд░рд▓рд┐рдВрдХ рдЬреИрд╕реЗ рддрддреНрд╡реЛрдВ рдХреЛ рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

<div style="margin-top:40px;text-align:left; border:none;width:100%;height:15%"> <!----> <div style="float:left;" data-bind="{this.dataSource,to=dbSet,source=VM.productVM}" data-view="name=pager,options={sliderSize:20,hideOnSinglePage=false}"> </div> <!--  -  -   --> <div style="float:left; padding-left:10px;padding-top:10px;"> <span>Total:</span> <span data-bind="{this.value,to=totalCount,source=VM.productVM.dbSet}"></span>,   <span>Selected:</span> <span data-bind="{this.value,to=selectedCount,source=VM.productVM}"></span> </div>     <!--    --> <button style="float:right;" data-bind="{this.command,to=addNewCommand,mode=OneWay,source=VM.productVM}"> + New Product </button> </div> 


рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рднреА рдПрдХ рд╕рдорд╛рди рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛ рд╣реИ - рд╡реЗ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдлреЙрд░реНрдЪ рд▓реВрдкреНрд╕, рдЬреЛ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк HTML рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдорд╛рд░реНрдХрдЕрдк рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВред рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЗрд╕ рддрдереНрдп рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ DOM рддрддреНрд╡ рдЬрд┐рд╕рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рддрддреНрд╡ рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдмрдирд╛рддреЗ рд╕рдордп рд▓рдкреЗрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд┐рд╕реА рднреА рддрд░реНрдХ рдХреЛ HTML рддрддреНрд╡ рд╕реЗ рдмрд╛рдВрдз рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, jQuery рдкреНрд▓рдЧрдЗрди рдПрдЪрдЯреАрдПрдордПрд▓ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдХреЛ рдмрд╛рдВрдзрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдХ рдШреЛрд╖рдгрд╛рддреНрдордХ рд╢реИрд▓реА рдореЗрдВ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИред

рдПрдХ рдЫреЛрдЯреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:

 <div id="stackPanelItemTemplate" data-role="template" class="stackPanelItem" > <fieldset> <legend><span data-bind="{this.value,to=radioValue}"></span></legend> Time: <span data-bind="{this.value,to=time,converter=dateTimeConverter,converterParam='HH:mm:ss'}"></span> </fieldset> </div> 


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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рдХреБрдЫ рдореВрд▓ рдмрд╛рддреЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рддрд╛рдХрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХреА рдЬрд╛ рд╕рдХреЗред

рдврд╛рдВрдЪреЗ рдХреЗ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ:


рд╡рд╣ рдЗрддрдирд╛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдХреНрдпреЛрдВ рд╣реИ?
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╡рд╣рди рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдЖрдк рдЙрди рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрд▓рдЧреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирд╕реЗ рдЧреНрд░рд╛рд╣рдХ рд╕реВрдЪрдирд╛рдПрдБ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рдореВрд▓ рдХрд╛рд░реНрдп рдХреЛ рднреА рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЙрд╕рдХреЗ рдХрдмреНрдЬреЗ рд╕реЗ рдореБрдХреНрдд рд╕рдВрд╕рд╛рдзрди ( рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЕрдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдВрдХ ), рдФрд░ рдХрд┐рд╕реА рдШрдЯрдирд╛ рдХреА рдорджрдж рд╕реЗ рдЗрд╕рдХреЗ рд╡рд┐рдирд╛рд╢ рдХреА рдЕрдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдХреЛ рднреА рд╕реВрдЪрд┐рдд рдХрд░ рд╕рдХреЗрдВ, рдФрд░ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рд╕реВрдЪрд┐рдд рдХрд░ рд╕рдХреЗрдВред рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ ( рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗрд╡рд▓ рдЧреНрд▓реЛрдмрд▓ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рдЗрд╡реЗрдВрдЯ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддреЗ рд╣реИрдВ )ред

рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рдирд┐рд╣рд┐рдд рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдПрдХ рд╡рд┐рдзрд┐, рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИ , рдЬреЛ рдЖрдкрдХреЛ рд╡реНрдпреБрддреНрдкрдиреНрди рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рддреА рд╣реИред

рдПрдХ рдирдИ рд╡рд╕реНрддреБ рд╡рд░реНрдЧ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:

 var NewObject = RIAPP.BaseObject.extend( { // _create:function (radioValue) { this._super(); this._radioValue = radioValue; }, //   _getEventNames:function () { var base_events = this._super(); return ['radio_value_changed'].concat(base_events); }, //     _onRadioValueChanged: function(){ this.raiseEvent('radio_value_changed',{value: this.radioValue}) } }, { //   radioValue:{ set:function (v) { if (this._radioValue !== v){ this._radioValue = v; this.raisePropertyChanged('radioValue'); this._onRadioValueChanged(); } }, get:function () { return this._radioValue; } } }, function (obj) { // ,        //app -     closure scope app.registerType('custom.NewObject', obj); }); 


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдСрдмреНрдЬреЗрдХреНрдЯ рдХреНрд▓рд╛рд╕ рдХреЛ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

  var Instance = app.getType('custom.NewObject').create('radioValue1'); 


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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╕реЗ рдПрдХ, newObjMod, рд╣рдо рдХреНрд▓рд╛рд╕ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ:
  var thisModule = this; thisModule.NewObject = NewObject; 

рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ рд╣рдо рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ:
  var NewObject = app.modules.newObjMod.NewObject; 


рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдХрдХреНрд╖рд╛рдУрдВ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЖрдзрд╛рд░ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдкрд░ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП, рдмрд╛рдзреНрдпрдХрд╛рд░реА ред

рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ:



рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ, рдмрд╛рдЗрдВрдбрд┐рдВрдЧ, рдХреЛрдб рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЖрд╕рд╛рдиреА рд╕реЗ, рдпрд╣ рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреА рдПрдХ рдШреЛрд╖рдгрд╛рддреНрдордХ рдкрд░рд┐рднрд╛рд╖рд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ( рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдХреЛрдб рдореЗрдВ рдПрдХ рдмрдВрдзрди рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ )ред

HTML рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг, рдЪреБрдиреЗрдВ :

 <select size="1" style="width:220px" data-bind="{this.dataSource,to=mailDocsVM.dbSet,mode=OneWay,source=VM.sendListVM} {this.selectedValue,to=selectedDocID,mode=TwoWay,source=VM.sendListVM} {this.toolTip,to=currentItem.DESCRIPTION,mode=OneWay,source=VM.sendListVM.mailDocsVM}" data-view="options:{valuePath=MailDocID,textPath=NAME}"> 


рд╡рд┐рд╢реЗрд╖рддрд╛, рдбреЗрдЯрд╛-рдмрд╛рдЗрдВрдб, рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдореЗрдВ рд▓рдкреЗрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд░рд┐рд╕реАрд╡рд░ рдХреА рд╕рдВрдкрддреНрддрд┐ рдФрд░ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдкрде рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдЖрдк рдореЛрдб - рдореЛрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддред рдХрд┐рд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ: рд╡рдирдЯрд╛рдЗрдо (рд╕реНрд░реЛрдд рд╕реЗ рд░рд┐рд╕реАрд╡рд░ рддрдХ), рд╡рдирд╡реЗ (рд╕реНрд░реЛрдд рд╕реЗ рд░рд┐рд╕реАрд╡рд░ рддрдХ), рдФрд░ рдЯреВрд╡реЗ (рджреЛрдиреЛрдВ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ)ред рдореЛрдб, рд╡рдирд╡реЗ - рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореЛрдб рд╣реИ рдФрд░ рдЗрд╕реЗ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрдкрддреНрддрд┐ рдкрде рдФрд░ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдореЛрдб рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд╕реНрд░реЛрдд рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдмрд╛рдзреНрдпрдХрд╛рд░реА рд╕рдВрдкрддреНрддрд┐ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрд░реЛрдд рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдкрде рдХреА рдЧрдгрдирд╛ рдбреЗрдЯрд╛ рд╕рдВрджрд░реНрдн рд╕реЗ рдХреА рдЬрд╛рдПрдЧреАред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдкреВрд░реНрдг рдкрде рдХреА рдЧрдгрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдХрд╕реНрдЯрдо рджреГрд╢реНрдп рдореЙрдбрд▓ VM рдЧреБрдг рд╕реЗ рд╕рдВрд▓рдЧреНрди рд╣реЛрддреЗ рд╣реИрдВ ( рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╛рдорд╕реНрдерд╛рди рд╣реИ )ред рдЗрд╕рд▓рд┐рдП, рд╕реНрд░реЛрдд = VM.sendListVM , [рдПрдкреНрд▓реАрдХреЗрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ] .VM.sendListVM рдХреЗ рд▓рд┐рдП рдЦрдбрд╝рд╛ рд╣реИред

рдХрд╕реНрдЯрдо рд╡реНрдпреВ рдореЙрдбрд▓ рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг (рдирд┐рд░реНрдорд╛рдг) рдХрд╛ рдЙрджрд╛рд╣рд░рдг:

 //    startUp   Application RIAPP.global.UC.fn_Main = function (app) { //      app.global.defaults.imagesPath = '@Url.Content("~/Scripts/jriapp/img/")'; //  view model      VM   Application app.VM.errorVM = app.getType('custom.ErrorViewModel').create(); app.VM.sendListVM = app.getType('custom.SendListVM').create(); //        view model app.VM.sendListVM.load(); }; 


рдпрджрд┐ рд╣рдо, рдмрд╛рдзреНрдпрдХрд╛рд░реА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ, рд╕реНрд░реЛрдд рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрд░реЛрдд рдХреЗ рд▓рд┐рдП рдкрде рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЙрд╕ рдЬрдЧрд╣ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд╣рд╛рдВ рд╕реЗ рдпрд╣ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЧрдИ рдереАред рдпрджрд┐, рдмрд╕, HTML рдкреГрд╖реНрда рдкрд░, рддреЛ рд╕рдВрдкреВрд░реНрдг рдкрде рдХреА рдЧрдгрдирд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рднреА рдХреА рдЬрд╛рддреА рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рдЯреЗрдореНрдкреНрд▓реЗрдЯ ( рдбреЗрдЯрд╛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ ) рдпрд╛ рдбреЗрдЯрд╛ рдлрд╝реЙрд░реНрдо ( рдбреЗрдЯрд╛рдлрд╝реЙрд░реНрдо ) рдХреЗ рдЕрдВрджрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕реНрд░реЛрдд ( рдЬрдм рддрдХ рдХрд┐ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ) рдЯреЗрдореНрдкрд▓реЗрдЯ рдпрд╛ рдлрд╝реЙрд░реНрдо ( рдбреЗрдЯрд╛ рд╕рдВрджрд░реНрдн ) рдХреЗ рдбреЗрдЯрд╛ рд╕рдВрджрд░реНрдн рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред

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

рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЬреАрд╡рдирдЪрдХреНрд░:



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

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

рдлреНрд░реЗрдорд╡рд░реНрдХ рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдФрд░ рдПрд▓рд┐рдореЗрдВрдЯ рд╡реНрдпреВ рдПрд▓рд┐рдореЗрдВрдЯ рд╡реНрдпреВ рд╣реИрдВ (рдПрдХ рдЖрд╡рд░рдг рдЬреЛ рдбреЛрдо рдПрд▓рд┐рдореЗрдВрдЯ рд╕реЗ рдЬреБрдбрд╝реЗ рд▓реЙрдЬрд┐рдХ рдХреЗ рд╕рд╛рде, jQuery рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рдорд╛рди рд╣реИ )ред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреАрд╡рди рдЪрдХреНрд░ рдХреЗ рджреМрд░рд╛рди рдЙрдиреНрд╣реЗрдВ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдмрдирд╛рдпрд╛ рдФрд░ рд╣рдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╕рдордп, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ HTML DOM рддрддреНрд╡ рдореЗрдВ рд╕рдВрдмрджреНрдз рддрддреНрд╡ рдкреНрд░рдХрд╛рд░ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ DOM рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рддрддреНрд╡ рд╡реНрдпреВ рдХреНрд▓рд╛рд╕реЗрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ ( рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдХрд╕реНрдЯрдо рдПрд▓рд┐рдореЗрдВрдЯ рд╡реНрдпреВ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ )ред рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рддрддреНрд╡ рдЯреИрдЧ рдХреЗ рдирд╛рдо рд╕реЗ рдПрдХ рддрддреНрд╡ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдЗрдирдкреБрдЯ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП, рд╕рдВрдмрдВрдзрд┐рдд рддрддреНрд╡ рджреГрд╢реНрдп рдкреНрд░рдХрд╛рд░ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреБрдЫ рддрддреНрд╡ рджреГрд╢реНрдп рдЕрдкрдиреЗ рдирд╛рдо рд╕реЗ рдкрдВрдЬреАрдХреГрдд рд╣реИрдВ ( рдпрд╛рдиреА рдХреБрдЫ рдЯреИрдЧ рд╕реЗ рд╕рдВрдмрджреНрдз рдирд╣реАрдВ рд╣реИрдВ )ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, TabsElView, рдирд╛рдо рдЯреИрдм рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдкрдВрдЬреАрдХреГрдд, рдПрдХ BusyElView, busy_indicator рдирд╛рдо рдХреЗ рддрд╣рддред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рддрддреНрд╡ рдХрд╛ рдЪрдпрди ( рдкрд░рд┐рд╡рд░реНрддрди ) рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдбреЗрдЯрд╛-рд╡реНрдпреВ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдордиреЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдХрд┐ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдирд╛рдо рд╡рд┐рд╕реНрддрд╛рд░рдХ рдХреЗ рддрд╣рдд рдкрдВрдЬреАрдХреГрдд рдПрдХ рддрддреНрд╡ рджреГрд╢реНрдп рдмрдирд╛рдпрд╛ рдЬрд╛рдПред

 <span data-bind="{this.command,to=expanderCommand,mode=OneWay,source=VM.headerVM}" data-view="name=expander"></span> 


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рддрддреНрд╡ рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ ( рддрддреНрд╡ рджреГрд╢реНрдп рдЙрдиреНрд╣реЗрдВ рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ )ред

 <input type="text" data-bind="{this.value,to=testProperty,mode=TwoWay,source=VM.testObject1}" data-view="options:{updateOnKeyUp=true}" /> // <div data-bind="{this.dataSource,to=dbSet,source=VM.productVM}" data-view="name=pager,options={sliderSize:20,hideOnSinglePage=false}"> </div> 


рдореЙрдбреНрдпреВрд▓рд░ рд╕рдВрд░рдЪрдирд╛:



рдврд╛рдВрдЪреЗ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдо рд╣реИред
рдЧреНрд▓реЛрдмрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рд╢реАрд░реНрд╖ рдореЙрдбреНрдпреВрд▓ рд╕рдВрд░рдЪрдирд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХрд╛ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд░реНрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ, рдмрджрд▓реЗ рдореЗрдВ, рдЗрд╕рдХреЗ рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ ( рдЕрдзрд┐рдХрд╛рдВрд╢ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЙрдбреНрдпреВрд▓ ) рднреА рд╣реЛрддреЗ рд╣реИрдВред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди ( рдПрдкреНрд▓рд┐рдХреЗрд╢рди ) рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╕рдордп, рдпрд╣ рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдХреБрдВрдЬреА ( рдЬрд┐рд╕реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ) рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд ) рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
рдХрд╕реНрдЯрдо рдореЙрдбреНрдпреВрд▓ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╡реНрдпреВ рдореЙрдбрд▓ рдХрдХреНрд╖рд╛рдУрдВ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, MVVM, рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ ( DataBindings )ред

рдкрд░рд┐рдгрд╛рдо:



рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдХреБрдЫ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░реВрдкрд░реЗрдЦрд╛ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЕрдм 80 рдкреГрд╖реНрда рд╣реИрдВ рдФрд░ рдПрдХ рд▓рдШреБ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рд╡рд┐рд╖рдп рдореЗрдВ рдЗрд╕рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдкрд░рд┐рдЪрд┐рдд рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рдРрд╕реЗ рдЫреЛрдЯреЗ рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЧреАрдерд╣рдм рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рджреЗрдЦреЗрдВ рдФрд░ рдпреВрдЯреНрдпреВрдм рдкрд░ рд╡реАрдбрд┐рдпреЛ рдбреЗрдореЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреЗрдЦреЗрдВред

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

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


All Articles