riojs 0.0.0 → 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. data/VERSION +1 -1
  2. data/install/lib/tasks/rio.rake +1 -0
  3. data/install/script/rio_server +10 -5
  4. data/lib/rio/autospec.rb +1 -0
  5. data/lib/rio/path.rb +2 -1
  6. data/lib/rio/rio_file_controller.rb +1 -1
  7. data/lib/rio/rio_on_rails.rb +3 -1
  8. data/lib/rio/rio_proxy_controller.rb +1 -1
  9. data/lib/rio/rio_push_controller.rb +2 -2
  10. data/lib/rio/rio_spec_controller.rb +1 -1
  11. data/lib/riojs.rb +2 -0
  12. data/public/javascripts/components/list_view.js +5 -2
  13. data/public/javascripts/components/toggle_button.js +1 -0
  14. data/public/javascripts/lib/application.js +8 -1
  15. data/public/javascripts/lib/boot.js +5 -0
  16. data/public/javascripts/lib/console/components/console.js +1 -1
  17. data/public/javascripts/lib/console/docs/files.html +1 -1
  18. data/public/javascripts/lib/console/docs/index.html +1 -1
  19. data/public/javascripts/lib/console/docs/symbols/Object.html +1 -1
  20. data/public/javascripts/lib/console/docs/symbols/_global_.html +1 -1
  21. data/public/javascripts/lib/console/docs/symbols/rio.Application.html +44 -1
  22. data/public/javascripts/lib/console/docs/symbols/rio.Attr.html +1 -1
  23. data/public/javascripts/lib/console/docs/symbols/rio.Binding.html +1 -1
  24. data/public/javascripts/lib/console/docs/symbols/rio.Component.html +1 -1
  25. data/public/javascripts/lib/console/docs/symbols/rio.Cookie.html +1 -1
  26. data/public/javascripts/lib/console/docs/symbols/rio.DelayedTask#initialize.html +1 -1
  27. data/public/javascripts/lib/console/docs/symbols/rio.DelayedTask.html +1 -1
  28. data/public/javascripts/lib/console/docs/symbols/rio.JsTemplate.html +1 -1
  29. data/public/javascripts/lib/console/docs/symbols/rio.Juggernaut.html +1 -1
  30. data/public/javascripts/lib/console/docs/symbols/rio.Model.html +1 -1
  31. data/public/javascripts/lib/console/docs/symbols/rio.Page.html +1 -1
  32. data/public/javascripts/lib/console/docs/symbols/rio.Utils.html +1 -1
  33. data/public/javascripts/lib/console/docs/symbols/rio.html +1 -1
  34. data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_application.js.html +217 -210
  35. data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_boot.js.html +149 -144
  36. data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_model.js.html +604 -603
  37. data/public/javascripts/lib/model.js +2 -1
  38. data/public/javascripts/specs/lib/model_spec.js +10 -0
  39. metadata +2 -2
@@ -160,149 +160,154 @@
160
160
  <span class='line'>153</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
161
161
  <span class='line'>154</span>
162
162
  <span class='line'>155</span> </span><span class="NAME">$$</span><span class="PUNC">(</span><span class="STRN">"body"</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">insert</span><span class="PUNC">(</span><span class="STRN">"&lt;div style='padding: 20px'>"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">msg</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"&lt;/div>"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
163
- <span class='line'>156</span> </span><span class="PUNC">}</span><span class="WHIT">
164
- <span class='line'>157</span> </span><span class="PUNC">}</span><span class="WHIT">
165
- <span class='line'>158</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
166
- <span class='line'>159</span>
167
- <span class='line'>160</span> </span><span class="NAME">$$</span><span class="PUNC">(</span><span class="STRN">"script"</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">script</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
168
- <span class='line'>161</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">src</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">script.src</span><span class="PUNC">;</span><span class="WHIT">
169
- <span class='line'>162</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">src.match</span><span class="PUNC">(</span><span class="REGX">/boot\.js/</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">src.indexOf</span><span class="PUNC">(</span><span class="STRN">'?'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
170
- <span class='line'>163</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">src.split</span><span class="PUNC">(</span><span class="STRN">'?'</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">split</span><span class="PUNC">(</span><span class="STRN">','</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
171
- <span class='line'>164</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.length</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">rio.boot.appName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
172
- <span class='line'>165</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.length</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">rio.boot.environment</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
173
- <span class='line'>166</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.length</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">rio.boot.bootCompressed</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"compressed"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
174
- <span class='line'>167</span> </span><span class="PUNC">}</span><span class="WHIT">
175
- <span class='line'>168</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
176
- <span class='line'>169</span>
177
- <span class='line'>170</span> </span><span class="NAME">Object.extend</span><span class="PUNC">(</span><span class="NAME">rio.environment</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">rio.environments</span><span class="PUNC">[</span><span class="NAME">rio.boot.environment</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
178
- <span class='line'>171</span> </span><span class="NAME">Object.extend</span><span class="PUNC">(</span><span class="NAME">rio.boot</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">rio.environment.boot</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
179
- <span class='line'>172</span>
180
- <span class='line'>173</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">bootOptions.noConsole</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
181
- <span class='line'>174</span> </span><span class="NAME">rio.boot.noConsole</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.environment.console</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">rio.environment.console</span><span class="PUNC">;</span><span class="WHIT">
182
- <span class='line'>175</span> </span><span class="PUNC">}</span><span class="WHIT">
183
- <span class='line'>176</span>
184
- <span class='line'>177</span> </span><span class="NAME">rio.require</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
185
- <span class='line'>178</span> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Object.extend</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
186
- <span class='line'>179</span> </span><span class="NAME">force</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
187
- <span class='line'>180</span> </span><span class="NAME">track</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT">
188
- <span class='line'>181</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
189
- <span class='line'>182</span>
190
- <span class='line'>183</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">rio.boot.loadedFiles.include</span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
191
- <span class='line'>184</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.boot.bootCompressed</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">options.force</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
192
- <span class='line'>185</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.track</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">rio.boot.loadedFiles.push</span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
193
- <span class='line'>186</span> </span><span class="NAME">document.write</span><span class="PUNC">(</span><span class="STRN">'&lt;script type="text/javascript" src="'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.noPrefix</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">rio.assetPrefix</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">rio.url</span><span class="PUNC">(</span><span class="NAME">rio.boot.root</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">fileName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'.js'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'">&lt;/script>'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
194
- <span class='line'>187</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">rio.boot.bootCompressed</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
195
- <span class='line'>188</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.boot.loadFunctions</span><span class="PUNC">[</span><span class="NAME">fileName</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
196
- <span class='line'>189</span> </span><span class="NAME">rio.boot.loadFunctions</span><span class="PUNC">[</span><span class="NAME">fileName</span><span class="PUNC">]</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
197
- <span class='line'>190</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
198
- <span class='line'>191</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">path</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.boot.root</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">fileName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">".js"</span><span class="PUNC">;</span><span class="WHIT">
199
- <span class='line'>192</span> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Ajax.Request</span><span class="PUNC">(</span><span class="NAME">rio.url</span><span class="PUNC">(</span><span class="NAME">path</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
200
- <span class='line'>193</span> </span><span class="NAME">asynchronous</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
201
- <span class='line'>194</span> </span><span class="NAME">method</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"get"</span><span class="PUNC">,</span><span class="WHIT">
202
- <span class='line'>195</span> </span><span class="NAME">evalJSON</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
203
- <span class='line'>196</span> </span><span class="NAME">evalJS</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
204
- <span class='line'>197</span> </span><span class="NAME">onSuccess</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">response</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
205
- <span class='line'>198</span> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
206
- <span class='line'>199</span> </span><span class="NAME">w.eval</span><span class="PUNC">(</span><span class="NAME">response.responseText</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
207
- <span class='line'>200</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
208
- <span class='line'>201</span> </span><span class="NAME">rio.error</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"Failed parsing file: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">path</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
209
- <span class='line'>202</span>
210
- <span class='line'>203</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">rio.app</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
211
- <span class='line'>204</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">"lib/rio_lint"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
212
- <span class='line'>205</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="STRN">"lib/rio_lint"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">track</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
213
- <span class='line'>206</span> </span><span class="PUNC">}</span><span class="WHIT">
214
- <span class='line'>207</span>
215
- <span class='line'>208</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">lintIt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
216
- <span class='line'>209</span> </span><span class="NAME">rio.RioLint.checkFileSyntax</span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
217
- <span class='line'>210</span> </span><span class="NAME">onComplete</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">errors</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
218
- <span class='line'>211</span> </span><span class="NAME">rio.boot.errors.push</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">lint</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">errors</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
219
- <span class='line'>212</span> </span><span class="PUNC">}</span><span class="WHIT">
220
- <span class='line'>213</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
221
- <span class='line'>214</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
222
- <span class='line'>215</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"lib/rio_concat"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
223
- <span class='line'>216</span> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Ajax.Request</span><span class="PUNC">(</span><span class="NAME">rio.url</span><span class="PUNC">(</span><span class="STRN">"/javascripts/lib/rio.build"</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
224
- <span class='line'>217</span> </span><span class="NAME">asynchronous</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
225
- <span class='line'>218</span> </span><span class="NAME">method</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"get"</span><span class="PUNC">,</span><span class="WHIT">
226
- <span class='line'>219</span> </span><span class="NAME">evalJSON</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
227
- <span class='line'>220</span> </span><span class="NAME">evalJS</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
228
- <span class='line'>221</span> </span><span class="NAME">onSuccess</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">response</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
229
- <span class='line'>222</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">files</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">response.responseText.split</span><span class="PUNC">(</span><span class="STRN">"\n"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
230
- <span class='line'>223</span> </span><span class="NAME">files.without</span><span class="PUNC">(</span><span class="STRN">"lib/swfobject"</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">f</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
231
- <span class='line'>224</span> </span><span class="NAME">lintIt</span><span class="PUNC">(</span><span class="NAME">f</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
232
- <span class='line'>225</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
233
- <span class='line'>226</span> </span><span class="PUNC">}</span><span class="WHIT">
234
- <span class='line'>227</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
235
- <span class='line'>228</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"apps/"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">rio.boot.appName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"_concat"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
236
- <span class='line'>229</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
237
- <span class='line'>230</span> </span><span class="NAME">rio.boot.errors.push</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">msg</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Failed parsing file: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">path</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
238
- <span class='line'>231</span> </span><span class="NAME">lintIt</span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
239
- <span class='line'>232</span> </span><span class="PUNC">}</span><span class="WHIT">
240
- <span class='line'>233</span>
241
- <span class='line'>234</span> </span><span class="PUNC">}</span><span class="WHIT">
242
- <span class='line'>235</span> </span><span class="KEYW">throw</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
243
- <span class='line'>236</span> </span><span class="PUNC">}</span><span class="WHIT">
244
- <span class='line'>237</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
245
- <span class='line'>238</span> </span><span class="NAME">onFailure</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
246
- <span class='line'>239</span> </span><span class="NAME">rio.log</span><span class="PUNC">(</span><span class="STRN">"Failed loading file: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">path</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
247
- <span class='line'>240</span> </span><span class="PUNC">}</span><span class="WHIT">
248
- <span class='line'>241</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
249
- <span class='line'>242</span> </span><span class="PUNC">}</span><span class="WHIT">
250
- <span class='line'>243</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.track</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">rio.boot.loadedFiles.push</span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
251
- <span class='line'>244</span> </span><span class="PUNC">}</span><span class="WHIT">
252
- <span class='line'>245</span> </span><span class="PUNC">}</span><span class="WHIT">
253
- <span class='line'>246</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
254
- <span class='line'>247</span>
255
- <span class='line'>248</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.boot.bootCompressed</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
256
- <span class='line'>249</span> </span><span class="COMM">// rio.require(rio.boot.appRoot + "prototype/compressed/prototype", { force: true });</span><span class="WHIT">
257
- <span class='line'>250</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.rioPath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"compressed/rio"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">force</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
258
- <span class='line'>251</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.appRoot</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"apps/compressed/"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">rio.boot.appName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">force</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
259
- <span class='line'>252</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.boot.environment</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"development"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
260
- <span class='line'>253</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.rioPath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"rio_development_concat"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">force</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
261
- <span class='line'>254</span> </span><span class="PUNC">}</span><span class="WHIT">
262
- <span class='line'>255</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
263
- <span class='line'>256</span> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
264
- <span class='line'>257</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.appRoot</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"prototype/prototype_concat"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">track</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
265
- <span class='line'>258</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.rioPath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"rio_concat"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">track</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
266
- <span class='line'>259</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.appRoot</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"apps/"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">rio.boot.appName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"_concat"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">track</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
267
- <span class='line'>260</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.appRoot</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"apps/"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">rio.boot.appName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
268
- <span class='line'>261</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
269
- <span class='line'>262</span> </span><span class="COMM">// Let the errors print on load</span><span class="WHIT">
270
- <span class='line'>263</span> </span><span class="PUNC">}</span><span class="WHIT">
271
- <span class='line'>264</span> </span><span class="PUNC">}</span><span class="WHIT">
272
- <span class='line'>265</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.environment.autoConcatCss</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
273
- <span class='line'>266</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.boot.bootCompressed</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
274
- <span class='line'>267</span> </span><span class="NAME">document.write</span><span class="PUNC">(</span><span class="STRN">'&lt;script type="text/javascript">'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'rio.Application.injectCss();'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'&lt;/script>'</span><span class="PUNC">)</span><span class="WHIT">
275
- <span class='line'>268</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
276
- <span class='line'>269</span> </span><span class="NAME">rio.Application.injectCss</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
277
- <span class='line'>270</span> </span><span class="PUNC">}</span><span class="WHIT">
278
- <span class='line'>271</span> </span><span class="PUNC">}</span><span class="WHIT">
279
- <span class='line'>272</span>
280
- <span class='line'>273</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.environment.supportSelenium</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
281
- <span class='line'>274</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.rioPath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"event.simulate"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">force</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">noPrefix</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
282
- <span class='line'>275</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.rioPath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"selenium_extensions"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">force</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">noPrefix</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
283
- <span class='line'>276</span> </span><span class="PUNC">}</span><span class="WHIT">
284
- <span class='line'>277</span>
285
- <span class='line'>278</span> </span><span class="NAME">document.observe</span><span class="PUNC">(</span><span class="STRN">'dom:loaded'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
286
- <span class='line'>279</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.environment.push</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">rio.push</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
287
- <span class='line'>280</span> </span><span class="NAME">rio.Push.boot</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
288
- <span class='line'>281</span> </span><span class="PUNC">}</span><span class="WHIT">
289
- <span class='line'>282</span>
290
- <span class='line'>283</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.preloadTemplates</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
291
- <span class='line'>284</span> </span><span class="NAME">rio.JsTemplate.preload</span><span class="PUNC">(</span><span class="STRN">"apps/"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.boot.bootCompressed</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">"compressed/"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">rio.boot.appName</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">rio.boot.appName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"_concat"</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
163
+ <span class='line'>156</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
164
+ <span class='line'>157</span>
165
+ <span class='line'>158</span> </span><span class="NAME">abort</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
166
+ <span class='line'>159</span> </span><span class="NAME">rio.boot.abortBoot</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
167
+ <span class='line'>160</span> </span><span class="PUNC">}</span><span class="WHIT">
168
+ <span class='line'>161</span> </span><span class="PUNC">}</span><span class="WHIT">
169
+ <span class='line'>162</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
170
+ <span class='line'>163</span>
171
+ <span class='line'>164</span> </span><span class="NAME">$$</span><span class="PUNC">(</span><span class="STRN">"script"</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">script</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
172
+ <span class='line'>165</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">src</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">script.src</span><span class="PUNC">;</span><span class="WHIT">
173
+ <span class='line'>166</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">src.match</span><span class="PUNC">(</span><span class="REGX">/boot\.js/</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">src.indexOf</span><span class="PUNC">(</span><span class="STRN">'?'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
174
+ <span class='line'>167</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">src.split</span><span class="PUNC">(</span><span class="STRN">'?'</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">split</span><span class="PUNC">(</span><span class="STRN">','</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
175
+ <span class='line'>168</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.length</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">rio.boot.appName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
176
+ <span class='line'>169</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.length</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">rio.boot.environment</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
177
+ <span class='line'>170</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.length</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">rio.boot.bootCompressed</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"compressed"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
178
+ <span class='line'>171</span> </span><span class="PUNC">}</span><span class="WHIT">
179
+ <span class='line'>172</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
180
+ <span class='line'>173</span>
181
+ <span class='line'>174</span> </span><span class="NAME">Object.extend</span><span class="PUNC">(</span><span class="NAME">rio.environment</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">rio.environments</span><span class="PUNC">[</span><span class="NAME">rio.boot.environment</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
182
+ <span class='line'>175</span> </span><span class="NAME">Object.extend</span><span class="PUNC">(</span><span class="NAME">rio.boot</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">rio.environment.boot</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
183
+ <span class='line'>176</span>
184
+ <span class='line'>177</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">bootOptions.noConsole</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
185
+ <span class='line'>178</span> </span><span class="NAME">rio.boot.noConsole</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.environment.console</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">rio.environment.console</span><span class="PUNC">;</span><span class="WHIT">
186
+ <span class='line'>179</span> </span><span class="PUNC">}</span><span class="WHIT">
187
+ <span class='line'>180</span>
188
+ <span class='line'>181</span> </span><span class="NAME">rio.require</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
189
+ <span class='line'>182</span> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Object.extend</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
190
+ <span class='line'>183</span> </span><span class="NAME">force</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
191
+ <span class='line'>184</span> </span><span class="NAME">track</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT">
192
+ <span class='line'>185</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
193
+ <span class='line'>186</span>
194
+ <span class='line'>187</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">rio.boot.loadedFiles.include</span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
195
+ <span class='line'>188</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.boot.bootCompressed</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">options.force</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
196
+ <span class='line'>189</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.track</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">rio.boot.loadedFiles.push</span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
197
+ <span class='line'>190</span> </span><span class="NAME">document.write</span><span class="PUNC">(</span><span class="STRN">'&lt;script type="text/javascript" src="'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.noPrefix</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">rio.assetPrefix</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">rio.url</span><span class="PUNC">(</span><span class="NAME">rio.boot.root</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">fileName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'.js'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'">&lt;/script>'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
198
+ <span class='line'>191</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">rio.boot.bootCompressed</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
199
+ <span class='line'>192</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.boot.loadFunctions</span><span class="PUNC">[</span><span class="NAME">fileName</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
200
+ <span class='line'>193</span> </span><span class="NAME">rio.boot.loadFunctions</span><span class="PUNC">[</span><span class="NAME">fileName</span><span class="PUNC">]</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
201
+ <span class='line'>194</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
202
+ <span class='line'>195</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">path</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.boot.root</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">fileName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">".js"</span><span class="PUNC">;</span><span class="WHIT">
203
+ <span class='line'>196</span> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Ajax.Request</span><span class="PUNC">(</span><span class="NAME">rio.url</span><span class="PUNC">(</span><span class="NAME">path</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
204
+ <span class='line'>197</span> </span><span class="NAME">asynchronous</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
205
+ <span class='line'>198</span> </span><span class="NAME">method</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"get"</span><span class="PUNC">,</span><span class="WHIT">
206
+ <span class='line'>199</span> </span><span class="NAME">evalJSON</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
207
+ <span class='line'>200</span> </span><span class="NAME">evalJS</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
208
+ <span class='line'>201</span> </span><span class="NAME">onSuccess</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">response</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
209
+ <span class='line'>202</span> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
210
+ <span class='line'>203</span> </span><span class="NAME">w.eval</span><span class="PUNC">(</span><span class="NAME">response.responseText</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
211
+ <span class='line'>204</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
212
+ <span class='line'>205</span> </span><span class="NAME">rio.error</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"Failed parsing file: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">path</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
213
+ <span class='line'>206</span>
214
+ <span class='line'>207</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">rio.app</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
215
+ <span class='line'>208</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">"lib/rio_lint"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
216
+ <span class='line'>209</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="STRN">"lib/rio_lint"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">track</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
217
+ <span class='line'>210</span> </span><span class="PUNC">}</span><span class="WHIT">
218
+ <span class='line'>211</span>
219
+ <span class='line'>212</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">lintIt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
220
+ <span class='line'>213</span> </span><span class="NAME">rio.RioLint.checkFileSyntax</span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
221
+ <span class='line'>214</span> </span><span class="NAME">onComplete</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">errors</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
222
+ <span class='line'>215</span> </span><span class="NAME">rio.boot.errors.push</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">lint</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">errors</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
223
+ <span class='line'>216</span> </span><span class="PUNC">}</span><span class="WHIT">
224
+ <span class='line'>217</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
225
+ <span class='line'>218</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
226
+ <span class='line'>219</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"lib/rio_concat"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
227
+ <span class='line'>220</span> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Ajax.Request</span><span class="PUNC">(</span><span class="NAME">rio.url</span><span class="PUNC">(</span><span class="STRN">"/javascripts/lib/rio.build"</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
228
+ <span class='line'>221</span> </span><span class="NAME">asynchronous</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
229
+ <span class='line'>222</span> </span><span class="NAME">method</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"get"</span><span class="PUNC">,</span><span class="WHIT">
230
+ <span class='line'>223</span> </span><span class="NAME">evalJSON</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
231
+ <span class='line'>224</span> </span><span class="NAME">evalJS</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
232
+ <span class='line'>225</span> </span><span class="NAME">onSuccess</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">response</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
233
+ <span class='line'>226</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">files</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">response.responseText.split</span><span class="PUNC">(</span><span class="STRN">"\n"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
234
+ <span class='line'>227</span> </span><span class="NAME">files.without</span><span class="PUNC">(</span><span class="STRN">"lib/swfobject"</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">f</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
235
+ <span class='line'>228</span> </span><span class="NAME">lintIt</span><span class="PUNC">(</span><span class="NAME">f</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
236
+ <span class='line'>229</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
237
+ <span class='line'>230</span> </span><span class="PUNC">}</span><span class="WHIT">
238
+ <span class='line'>231</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
239
+ <span class='line'>232</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"apps/"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">rio.boot.appName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"_concat"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
240
+ <span class='line'>233</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
241
+ <span class='line'>234</span> </span><span class="NAME">rio.boot.errors.push</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">msg</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Failed parsing file: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">path</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
242
+ <span class='line'>235</span> </span><span class="NAME">lintIt</span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
243
+ <span class='line'>236</span> </span><span class="PUNC">}</span><span class="WHIT">
244
+ <span class='line'>237</span>
245
+ <span class='line'>238</span> </span><span class="PUNC">}</span><span class="WHIT">
246
+ <span class='line'>239</span> </span><span class="KEYW">throw</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
247
+ <span class='line'>240</span> </span><span class="PUNC">}</span><span class="WHIT">
248
+ <span class='line'>241</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
249
+ <span class='line'>242</span> </span><span class="NAME">onFailure</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
250
+ <span class='line'>243</span> </span><span class="NAME">rio.log</span><span class="PUNC">(</span><span class="STRN">"Failed loading file: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">path</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
251
+ <span class='line'>244</span> </span><span class="PUNC">}</span><span class="WHIT">
252
+ <span class='line'>245</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
253
+ <span class='line'>246</span> </span><span class="PUNC">}</span><span class="WHIT">
254
+ <span class='line'>247</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.track</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">rio.boot.loadedFiles.push</span><span class="PUNC">(</span><span class="NAME">fileName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
255
+ <span class='line'>248</span> </span><span class="PUNC">}</span><span class="WHIT">
256
+ <span class='line'>249</span> </span><span class="PUNC">}</span><span class="WHIT">
257
+ <span class='line'>250</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
258
+ <span class='line'>251</span>
259
+ <span class='line'>252</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.boot.bootCompressed</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
260
+ <span class='line'>253</span> </span><span class="COMM">// rio.require(rio.boot.appRoot + "prototype/compressed/prototype", { force: true });</span><span class="WHIT">
261
+ <span class='line'>254</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.rioPath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"compressed/rio"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">force</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
262
+ <span class='line'>255</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.appRoot</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"apps/compressed/"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">rio.boot.appName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">force</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
263
+ <span class='line'>256</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.boot.environment</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"development"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
264
+ <span class='line'>257</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.rioPath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"rio_development_concat"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">force</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
265
+ <span class='line'>258</span> </span><span class="PUNC">}</span><span class="WHIT">
266
+ <span class='line'>259</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
267
+ <span class='line'>260</span> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
268
+ <span class='line'>261</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.appRoot</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"prototype/prototype_concat"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">track</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
269
+ <span class='line'>262</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.rioPath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"rio_concat"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">track</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
270
+ <span class='line'>263</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.appRoot</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"apps/"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">rio.boot.appName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"_concat"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">track</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
271
+ <span class='line'>264</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.appRoot</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"apps/"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">rio.boot.appName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
272
+ <span class='line'>265</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
273
+ <span class='line'>266</span> </span><span class="COMM">// Let the errors print on load</span><span class="WHIT">
274
+ <span class='line'>267</span> </span><span class="PUNC">}</span><span class="WHIT">
275
+ <span class='line'>268</span> </span><span class="PUNC">}</span><span class="WHIT">
276
+ <span class='line'>269</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.environment.autoConcatCss</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
277
+ <span class='line'>270</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.boot.bootCompressed</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
278
+ <span class='line'>271</span> </span><span class="NAME">document.write</span><span class="PUNC">(</span><span class="STRN">'&lt;script type="text/javascript">'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'rio.Application.injectCss();'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'&lt;/script>'</span><span class="PUNC">)</span><span class="WHIT">
279
+ <span class='line'>272</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
280
+ <span class='line'>273</span> </span><span class="NAME">rio.Application.injectCss</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
281
+ <span class='line'>274</span> </span><span class="PUNC">}</span><span class="WHIT">
282
+ <span class='line'>275</span> </span><span class="PUNC">}</span><span class="WHIT">
283
+ <span class='line'>276</span>
284
+ <span class='line'>277</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.environment.supportSelenium</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
285
+ <span class='line'>278</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.rioPath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"event.simulate"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">force</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">noPrefix</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
286
+ <span class='line'>279</span> </span><span class="NAME">rio.require</span><span class="PUNC">(</span><span class="NAME">rio.boot.rioPath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"selenium_extensions"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">force</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">noPrefix</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
287
+ <span class='line'>280</span> </span><span class="PUNC">}</span><span class="WHIT">
288
+ <span class='line'>281</span>
289
+ <span class='line'>282</span> </span><span class="NAME">document.observe</span><span class="PUNC">(</span><span class="STRN">'dom:loaded'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
290
+ <span class='line'>283</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.environment.push</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">rio.push</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
291
+ <span class='line'>284</span> </span><span class="NAME">rio.Push.boot</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
292
292
  <span class='line'>285</span> </span><span class="PUNC">}</span><span class="WHIT">
293
293
  <span class='line'>286</span>
294
- <span class='line'>287</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.environment.failOnBootError</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">rio.boot.errors.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
295
- <span class='line'>288</span> </span><span class="NAME">rio.boot.failBoot</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
296
- <span class='line'>289</span> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
297
- <span class='line'>290</span> </span><span class="PUNC">}</span><span class="WHIT">
298
- <span class='line'>291</span> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
299
- <span class='line'>292</span> </span><span class="NAME">window.initialOptions</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">window.initialOptions</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
300
- <span class='line'>293</span> </span><span class="NAME">rio.app</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">rio.apps</span><span class="PUNC">[</span><span class="NAME">rio.boot.appName.camelize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">(</span><span class="NAME">initialOptions</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
301
- <span class='line'>294</span> </span><span class="NAME">rio.app.launch</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
302
- <span class='line'>295</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
303
- <span class='line'>296</span> </span><span class="NAME">rio.boot.errors.push</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">msg</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Failed inititializing or launching application"</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
304
- <span class='line'>297</span> </span><span class="NAME">rio.boot.failBoot</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
305
- <span class='line'>298</span> </span><span class="PUNC">}</span><span class="WHIT">
306
- <span class='line'>299</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
307
- <span class='line'>300</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
308
- <span class='line'>301</span> </span></pre></body></html>
294
+ <span class='line'>287</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.preloadTemplates</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
295
+ <span class='line'>288</span> </span><span class="NAME">rio.JsTemplate.preload</span><span class="PUNC">(</span><span class="STRN">"apps/"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.boot.bootCompressed</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">"compressed/"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">rio.boot.appName</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">rio.boot.appName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"_concat"</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
296
+ <span class='line'>289</span> </span><span class="PUNC">}</span><span class="WHIT">
297
+ <span class='line'>290</span>
298
+ <span class='line'>291</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.environment.failOnBootError</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">rio.boot.errors.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
299
+ <span class='line'>292</span> </span><span class="NAME">rio.boot.failBoot</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
300
+ <span class='line'>293</span> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
301
+ <span class='line'>294</span> </span><span class="PUNC">}</span><span class="WHIT">
302
+ <span class='line'>295</span> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
303
+ <span class='line'>296</span> </span><span class="NAME">window.initialOptions</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">window.initialOptions</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
304
+ <span class='line'>297</span> </span><span class="NAME">rio.app</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">rio.apps</span><span class="PUNC">[</span><span class="NAME">rio.boot.appName.camelize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">(</span><span class="NAME">initialOptions</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
305
+ <span class='line'>298</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.boot.abortBoot</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
306
+ <span class='line'>299</span> </span><span class="NAME">rio.app.launch</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
307
+ <span class='line'>300</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
308
+ <span class='line'>301</span> </span><span class="NAME">rio.boot.errors.push</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">msg</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Failed inititializing or launching application"</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
309
+ <span class='line'>302</span> </span><span class="NAME">rio.boot.failBoot</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
310
+ <span class='line'>303</span> </span><span class="PUNC">}</span><span class="WHIT">
311
+ <span class='line'>304</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
312
+ <span class='line'>305</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
313
+ <span class='line'>306</span> </span></pre></body></html>
@@ -468,607 +468,608 @@
468
468
  <span class='line'>461</span> </span><span class="NAME">onSuccess</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">response</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
469
469
  <span class='line'>462</span> </span><span class="NAME">entity</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">model</span><span class="PUNC">(</span><span class="NAME">model._filterAndProcessJson</span><span class="PUNC">(</span><span class="NAME">response.responseJSON</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
470
470
  <span class='line'>463</span> </span><span class="NAME">options.onSuccess</span><span class="PUNC">(</span><span class="NAME">entity</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
471
- <span class='line'>464</span> </span><span class="PUNC">}</span><span class="WHIT">
472
- <span class='line'>465</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
473
- <span class='line'>466</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">asynchronous</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
474
- <span class='line'>467</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">entity</span><span class="PUNC">;</span><span class="WHIT">
475
- <span class='line'>468</span> </span><span class="PUNC">}</span><span class="WHIT">
476
- <span class='line'>469</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
477
- <span class='line'>470</span>
478
- <span class='line'>471</span> </span><span class="NAME">findAll</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
479
- <span class='line'>472</span> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
480
- <span class='line'>473</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">asynchronous</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.asynchronous</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">options.asynchronous</span><span class="PUNC">;</span><span class="WHIT">
481
- <span class='line'>474</span>
482
- <span class='line'>475</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.onSuccess</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
483
- <span class='line'>476</span> </span><span class="NAME">asynchronous</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
484
- <span class='line'>477</span> </span><span class="NAME">options.onSuccess</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Prototype.emptyFunction</span><span class="PUNC">;</span><span class="WHIT">
485
- <span class='line'>478</span> </span><span class="PUNC">}</span><span class="WHIT">
486
- <span class='line'>479</span>
487
- <span class='line'>480</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">idField</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Object.keys</span><span class="PUNC">(</span><span class="NAME">options.parameters</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">detect</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">parameter</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
488
- <span class='line'>481</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">val</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.parameters</span><span class="PUNC">[</span><span class="NAME">parameter</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
489
- <span class='line'>482</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">val</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">val.temporary</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">val.temporary</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
490
- <span class='line'>483</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
491
- <span class='line'>484</span>
492
- <span class='line'>485</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">urlToUse</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.url</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.url</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
493
- <span class='line'>486</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">parameters</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">rio.Parameters</span><span class="PUNC">(</span><span class="NAME">options.parameters</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">options.nonAjaxParameters</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
494
- <span class='line'>487</span> </span><span class="COMM">// Assume that there are no entities yet (since a param is unreified)</span><span class="WHIT">
495
- <span class='line'>488</span> </span><span class="COMM">// New entities will be added to the collectionEntity as they are created or broadcast</span><span class="WHIT">
496
- <span class='line'>489</span> </span><span class="COMM">// If this poses a problem, we can always schedule a find for after reification and then reconcile the CE's</span><span class="WHIT">
497
- <span class='line'>490</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">idField</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
498
- <span class='line'>491</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">collectionEntity</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.CollectionEntity.create</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
499
- <span class='line'>492</span> </span><span class="NAME">model</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">model</span><span class="PUNC">,</span><span class="WHIT">
500
- <span class='line'>493</span> </span><span class="NAME">values</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
501
- <span class='line'>494</span> </span><span class="NAME">condition</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">parameters.conditionFunction</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
502
- <span class='line'>495</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
503
- <span class='line'>496</span> </span><span class="NAME">this.putCollectionEntity</span><span class="PUNC">(</span><span class="NAME">urlToUse</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"#"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">parameters.ajaxParameters</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">collectionEntity</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
504
- <span class='line'>497</span>
505
- <span class='line'>498</span> </span><span class="NAME">Object.values</span><span class="PUNC">(</span><span class="NAME">model._identityCache</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">entity</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
506
- <span class='line'>499</span> </span><span class="NAME">collectionEntity.add</span><span class="PUNC">(</span><span class="NAME">entity</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
507
- <span class='line'>500</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
508
- <span class='line'>501</span>
509
- <span class='line'>502</span> </span><span class="NAME">options.onSuccess</span><span class="PUNC">(</span><span class="NAME">collectionEntity</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
510
- <span class='line'>503</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">collectionEntity</span><span class="PUNC">;</span><span class="WHIT">
511
- <span class='line'>504</span> </span><span class="PUNC">}</span><span class="WHIT">
512
- <span class='line'>505</span>
471
+ <span class='line'>464</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
472
+ <span class='line'>465</span> </span><span class="NAME">onFailure</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">options.onFailure</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">Prototype.emptyFunction</span><span class="WHIT">
473
+ <span class='line'>466</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
474
+ <span class='line'>467</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">asynchronous</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
475
+ <span class='line'>468</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">entity</span><span class="PUNC">;</span><span class="WHIT">
476
+ <span class='line'>469</span> </span><span class="PUNC">}</span><span class="WHIT">
477
+ <span class='line'>470</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
478
+ <span class='line'>471</span>
479
+ <span class='line'>472</span> </span><span class="NAME">findAll</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
480
+ <span class='line'>473</span> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
481
+ <span class='line'>474</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">asynchronous</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.asynchronous</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">options.asynchronous</span><span class="PUNC">;</span><span class="WHIT">
482
+ <span class='line'>475</span>
483
+ <span class='line'>476</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.onSuccess</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
484
+ <span class='line'>477</span> </span><span class="NAME">asynchronous</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
485
+ <span class='line'>478</span> </span><span class="NAME">options.onSuccess</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Prototype.emptyFunction</span><span class="PUNC">;</span><span class="WHIT">
486
+ <span class='line'>479</span> </span><span class="PUNC">}</span><span class="WHIT">
487
+ <span class='line'>480</span>
488
+ <span class='line'>481</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">idField</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Object.keys</span><span class="PUNC">(</span><span class="NAME">options.parameters</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">detect</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">parameter</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
489
+ <span class='line'>482</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">val</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.parameters</span><span class="PUNC">[</span><span class="NAME">parameter</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
490
+ <span class='line'>483</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">val</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">val.temporary</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">val.temporary</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
491
+ <span class='line'>484</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
492
+ <span class='line'>485</span>
493
+ <span class='line'>486</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">urlToUse</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.url</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.url</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
494
+ <span class='line'>487</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">parameters</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">rio.Parameters</span><span class="PUNC">(</span><span class="NAME">options.parameters</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">options.nonAjaxParameters</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
495
+ <span class='line'>488</span> </span><span class="COMM">// Assume that there are no entities yet (since a param is unreified)</span><span class="WHIT">
496
+ <span class='line'>489</span> </span><span class="COMM">// New entities will be added to the collectionEntity as they are created or broadcast</span><span class="WHIT">
497
+ <span class='line'>490</span> </span><span class="COMM">// If this poses a problem, we can always schedule a find for after reification and then reconcile the CE's</span><span class="WHIT">
498
+ <span class='line'>491</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">idField</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
499
+ <span class='line'>492</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">collectionEntity</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.CollectionEntity.create</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
500
+ <span class='line'>493</span> </span><span class="NAME">model</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">model</span><span class="PUNC">,</span><span class="WHIT">
501
+ <span class='line'>494</span> </span><span class="NAME">values</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
502
+ <span class='line'>495</span> </span><span class="NAME">condition</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">parameters.conditionFunction</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
503
+ <span class='line'>496</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
504
+ <span class='line'>497</span> </span><span class="NAME">this.putCollectionEntity</span><span class="PUNC">(</span><span class="NAME">urlToUse</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"#"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">parameters.ajaxParameters</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">collectionEntity</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
505
+ <span class='line'>498</span>
506
+ <span class='line'>499</span> </span><span class="NAME">Object.values</span><span class="PUNC">(</span><span class="NAME">model._identityCache</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">entity</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
507
+ <span class='line'>500</span> </span><span class="NAME">collectionEntity.add</span><span class="PUNC">(</span><span class="NAME">entity</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
508
+ <span class='line'>501</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
509
+ <span class='line'>502</span>
510
+ <span class='line'>503</span> </span><span class="NAME">options.onSuccess</span><span class="PUNC">(</span><span class="NAME">collectionEntity</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
511
+ <span class='line'>504</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">collectionEntity</span><span class="PUNC">;</span><span class="WHIT">
512
+ <span class='line'>505</span> </span><span class="PUNC">}</span><span class="WHIT">
513
513
  <span class='line'>506</span>
514
- <span class='line'>507</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this._collectionEntities</span><span class="PUNC">[</span><span class="NAME">urlToUse</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"#"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">parameters.ajaxParameters</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
515
- <span class='line'>508</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">found</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._collectionEntities</span><span class="PUNC">[</span><span class="NAME">urlToUse</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"#"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">parameters.ajaxParameters</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
516
- <span class='line'>509</span> </span><span class="NAME">found.prepare</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
517
- <span class='line'>510</span> </span><span class="NAME">options.onSuccess</span><span class="PUNC">(</span><span class="NAME">found</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
518
- <span class='line'>511</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">asynchronous</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
519
- <span class='line'>512</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">found</span><span class="PUNC">;</span><span class="WHIT">
520
- <span class='line'>513</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
521
- <span class='line'>514</span> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
522
- <span class='line'>515</span> </span><span class="PUNC">}</span><span class="WHIT">
523
- <span class='line'>516</span> </span><span class="PUNC">}</span><span class="WHIT">
524
- <span class='line'>517</span>
525
- <span class='line'>518</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">results</span><span class="PUNC">;</span><span class="WHIT">
526
- <span class='line'>519</span> </span><span class="NAME">rio.Model._findAllRequests.push</span><span class="PUNC">(</span><span class="WHIT">
527
- <span class='line'>520</span> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Ajax.Request</span><span class="PUNC">(</span><span class="NAME">urlToUse</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
528
- <span class='line'>521</span> </span><span class="NAME">asynchronous</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">asynchronous</span><span class="PUNC">,</span><span class="WHIT">
529
- <span class='line'>522</span> </span><span class="NAME">method</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'get'</span><span class="PUNC">,</span><span class="WHIT">
530
- <span class='line'>523</span> </span><span class="NAME">evalJSON</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
531
- <span class='line'>524</span> </span><span class="NAME">parameters</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="NAME">conditions</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">parameters.ajaxParameters</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
532
- <span class='line'>525</span> </span><span class="NAME">onSuccess</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">response</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
533
- <span class='line'>526</span> </span><span class="NAME">results</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._collectionEntityFromJson</span><span class="PUNC">(</span><span class="NAME">response.responseJSON</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parameters</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">urlToUse</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
534
- <span class='line'>527</span> </span><span class="NAME">results.prepare</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
535
- <span class='line'>528</span> </span><span class="NAME">options.onSuccess</span><span class="PUNC">(</span><span class="NAME">results</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
536
- <span class='line'>529</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="WHIT">
537
- <span class='line'>530</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="WHIT">
538
- <span class='line'>531</span> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
539
- <span class='line'>532</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">asynchronous</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
540
- <span class='line'>533</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">results</span><span class="PUNC">;</span><span class="WHIT">
541
- <span class='line'>534</span> </span><span class="PUNC">}</span><span class="WHIT">
542
- <span class='line'>535</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
543
- <span class='line'>536</span>
544
- <span class='line'>537</span> </span><span class="NAME">_hasManyAssociations</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
545
- <span class='line'>538</span> </span><span class="NAME">hasMany</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">hasManyName</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
546
- <span class='line'>539</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
547
- <span class='line'>540</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">Object.isString</span><span class="PUNC">(</span><span class="NAME">hasManyName</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
548
- <span class='line'>541</span> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">hasManyName</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
549
- <span class='line'>542</span> </span><span class="NAME">hasManyName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">hasManyName</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
550
- <span class='line'>543</span> </span><span class="PUNC">}</span><span class="WHIT">
551
- <span class='line'>544</span> </span><span class="NAME">options.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">hasManyName.singularize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">classize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
552
- <span class='line'>545</span> </span><span class="NAME">options.foreignKey</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.NAME.toLowerCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Id"</span><span class="PUNC">;</span><span class="WHIT">
553
- <span class='line'>546</span> </span><span class="NAME">options.parameters</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.parameters</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
554
- <span class='line'>547</span>
555
- <span class='line'>548</span> </span><span class="NAME">this._hasManyAssociations</span><span class="PUNC">[</span><span class="NAME">hasManyName</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options</span><span class="PUNC">;</span><span class="WHIT">
556
- <span class='line'>549</span>
557
- <span class='line'>550</span> </span><span class="NAME">this.attrAccessor</span><span class="PUNC">(</span><span class="NAME">hasManyName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
558
- <span class='line'>551</span> </span><span class="NAME">this.clientOnlyAttr</span><span class="PUNC">(</span><span class="NAME">hasManyName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
559
- <span class='line'>552</span>
560
- <span class='line'>553</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">getName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="STRN">"get-"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">hasManyName</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">camelize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
561
- <span class='line'>554</span>
562
- <span class='line'>555</span> </span><span class="NAME">this.prototype</span><span class="PUNC">[</span><span class="NAME">getName</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.prototype</span><span class="PUNC">[</span><span class="NAME">getName</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">wrap</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">proceed</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
563
- <span class='line'>556</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">[</span><span class="STRN">"_"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">hasManyName</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
564
- <span class='line'>557</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">parameters</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Object.clone</span><span class="PUNC">(</span><span class="NAME">options.parameters</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
565
- <span class='line'>558</span> </span><span class="NAME">parameters</span><span class="PUNC">[</span><span class="NAME">options.foreignKey</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getId</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
566
- <span class='line'>559</span> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">options.className</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">findAll</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
567
- <span class='line'>560</span> </span><span class="NAME">asynchronous</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
568
- <span class='line'>561</span> </span><span class="NAME">parameters</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">parameters</span><span class="PUNC">,</span><span class="WHIT">
569
- <span class='line'>562</span> </span><span class="NAME">onSuccess</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">entities</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
570
- <span class='line'>563</span> </span><span class="KEYW">this</span><span class="PUNC">[</span><span class="STRN">"_"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">hasManyName</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">entities</span><span class="PUNC">;</span><span class="WHIT">
571
- <span class='line'>564</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="WHIT">
572
- <span class='line'>565</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
573
- <span class='line'>566</span> </span><span class="PUNC">}</span><span class="WHIT">
574
- <span class='line'>567</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">proceed.apply</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">$A</span><span class="PUNC">(</span><span class="NAME">arguments</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">slice</span><span class="PUNC">(</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
575
- <span class='line'>568</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
576
- <span class='line'>569</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
577
- <span class='line'>570</span>
578
- <span class='line'>571</span> </span><span class="NAME">belongsTo</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">args</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
579
- <span class='line'>572</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
580
- <span class='line'>573</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">associationName</span><span class="PUNC">;</span><span class="WHIT">
581
- <span class='line'>574</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">Object.isString</span><span class="PUNC">(</span><span class="NAME">args</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
582
- <span class='line'>575</span> </span><span class="NAME">associationName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">args</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
583
- <span class='line'>576</span> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">args</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
584
- <span class='line'>577</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
585
- <span class='line'>578</span> </span><span class="NAME">associationName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">args</span><span class="PUNC">;</span><span class="WHIT">
586
- <span class='line'>579</span> </span><span class="PUNC">}</span><span class="WHIT">
587
- <span class='line'>580</span> </span><span class="NAME">this.attrAccessor</span><span class="PUNC">(</span><span class="NAME">associationName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
588
- <span class='line'>581</span> </span><span class="NAME">this.clientOnlyAttr</span><span class="PUNC">(</span><span class="NAME">associationName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
589
- <span class='line'>582</span>
590
- <span class='line'>583</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.className</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">associationName.classize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
591
- <span class='line'>584</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">foreignKey</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.foreignKey</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">associationName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Id"</span><span class="PUNC">;</span><span class="WHIT">
592
- <span class='line'>585</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">getName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="STRN">"get-"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">associationName</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">camelize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
593
- <span class='line'>586</span>
594
- <span class='line'>587</span> </span><span class="NAME">this.prototype</span><span class="PUNC">[</span><span class="NAME">getName</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.prototype</span><span class="PUNC">[</span><span class="NAME">getName</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">wrap</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">proceed</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
595
- <span class='line'>588</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">[</span><span class="STRN">"_"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">associationName</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
596
- <span class='line'>589</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">setAssociation</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
597
- <span class='line'>590</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">associationId</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">[</span><span class="STRN">"_"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">foreignKey</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
598
- <span class='line'>591</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">foundValue</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">className</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">find</span><span class="PUNC">(</span><span class="NAME">associationId</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
599
- <span class='line'>592</span> </span><span class="NAME">asynchronous</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT">
600
- <span class='line'>593</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
601
- <span class='line'>594</span> </span><span class="KEYW">this</span><span class="PUNC">[</span><span class="PUNC">(</span><span class="STRN">"set-"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">associationName</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">camelize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">(</span><span class="NAME">foundValue</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
602
- <span class='line'>595</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
603
- <span class='line'>596</span> </span><span class="NAME">setAssociation</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
604
- <span class='line'>597</span> </span><span class="KEYW">this</span><span class="PUNC">[</span><span class="NAME">foreignKey</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="NAME">setAssociation</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
605
- <span class='line'>598</span> </span><span class="PUNC">}</span><span class="WHIT">
606
- <span class='line'>599</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">proceed.apply</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">$A</span><span class="PUNC">(</span><span class="NAME">arguments</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">slice</span><span class="PUNC">(</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
607
- <span class='line'>600</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
608
- <span class='line'>601</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
609
- <span class='line'>602</span>
610
- <span class='line'>603</span> </span><span class="NAME">_parametersFromJsonParameters</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
611
- <span class='line'>604</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">rio.Parameters</span><span class="PUNC">(</span><span class="WHIT">
612
- <span class='line'>605</span> </span><span class="NAME">Object.keys</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">inject</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">acc</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">p</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
613
- <span class='line'>606</span> </span><span class="NAME">acc</span><span class="PUNC">[</span><span class="NAME">p.camelize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">params</span><span class="PUNC">[</span><span class="NAME">p</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
614
- <span class='line'>607</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">acc</span><span class="PUNC">;</span><span class="WHIT">
615
- <span class='line'>608</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="WHIT">
616
- <span class='line'>609</span> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
617
- <span class='line'>610</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
618
- <span class='line'>611</span>
619
- <span class='line'>612</span> </span><span class="NAME">_processIncludedCollectionEntities</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">json</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
620
- <span class='line'>613</span> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NAME">json.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">--</span><span class="PUNC">;</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
621
- <span class='line'>614</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">include</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">json</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
622
- <span class='line'>615</span> </span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._parametersFromJsonParameters</span><span class="PUNC">(</span><span class="NAME">include.parameters</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
623
- <span class='line'>616</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">url</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">include.className</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">url</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
624
- <span class='line'>617</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this._collectionEntities</span><span class="PUNC">[</span><span class="NAME">url</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"#"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">params.ajaxParameters</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
625
- <span class='line'>618</span> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">include.className</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">_collectionEntityFromJson</span><span class="PUNC">(</span><span class="NAME">include.json</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">params</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">url</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
626
- <span class='line'>619</span> </span><span class="PUNC">}</span><span class="WHIT">
627
- <span class='line'>620</span> </span><span class="PUNC">}</span><span class="WHIT">
628
- <span class='line'>621</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
629
- <span class='line'>622</span>
630
- <span class='line'>623</span> </span><span class="NAME">_filterAndProcessJsonWhileAccumulatingCollectionEntities</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">inJson</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
631
- <span class='line'>624</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">inJson._set</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
632
- <span class='line'>625</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">ceFunction</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
633
- <span class='line'>626</span> </span><span class="NAME">model._processIncludedCollectionEntities</span><span class="PUNC">(</span><span class="NAME">inJson._set.include</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
634
- <span class='line'>627</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
635
- <span class='line'>628</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">rio.Model.filterJson</span><span class="PUNC">(</span><span class="NAME">inJson._set.self</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">ceFunction</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
636
- <span class='line'>629</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
637
- <span class='line'>630</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">rio.Model.filterJson</span><span class="PUNC">(</span><span class="NAME">inJson</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">Prototype.emptyFunction</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
638
- <span class='line'>631</span> </span><span class="PUNC">}</span><span class="WHIT">
639
- <span class='line'>632</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
640
- <span class='line'>633</span>
641
- <span class='line'>634</span> </span><span class="NAME">_filterAndProcessJson</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">inJson</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
642
- <span class='line'>635</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">results</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model._filterAndProcessJsonWhileAccumulatingCollectionEntities</span><span class="PUNC">(</span><span class="NAME">inJson</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
643
- <span class='line'>636</span> </span><span class="NAME">results</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
644
- <span class='line'>637</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">results</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
645
- <span class='line'>638</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
646
- <span class='line'>639</span>
647
- <span class='line'>640</span> </span><span class="NAME">_collectionEntityFromJson</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">json</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parameters</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">url</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
648
- <span class='line'>641</span> </span><span class="COMM">// In case multiple identical queries were made simultaneously</span><span class="WHIT">
649
- <span class='line'>642</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this._collectionEntities</span><span class="PUNC">[</span><span class="NAME">url</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"#"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">parameters.ajaxParameters</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
650
- <span class='line'>643</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this._collectionEntities</span><span class="PUNC">[</span><span class="NAME">url</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"#"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">parameters.ajaxParameters</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
651
- <span class='line'>644</span> </span><span class="PUNC">}</span><span class="WHIT">
652
- <span class='line'>645</span>
653
- <span class='line'>646</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">results</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">json.map</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">result</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
654
- <span class='line'>647</span> </span><span class="COMM">// This may cause bugs. It should map the results of _filterAndProcessJsonWhileAccumulatingCollectionEntities</span><span class="WHIT">
655
- <span class='line'>648</span> </span><span class="COMM">// and execute them after them map to prevent reification collisions</span><span class="WHIT">
656
- <span class='line'>649</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">modelJson</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model._filterAndProcessJson</span><span class="PUNC">(</span><span class="NAME">result</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
657
- <span class='line'>650</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">fromCache</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getFromCache</span><span class="PUNC">(</span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">modelJson.id</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
658
- <span class='line'>651</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">fromCache</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
659
- <span class='line'>652</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">fromCache</span><span class="PUNC">;</span><span class="WHIT">
660
- <span class='line'>653</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
661
- <span class='line'>654</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">lazyNew</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
662
- <span class='line'>655</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">fromCache</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getFromCache</span><span class="PUNC">(</span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">modelJson.id</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
663
- <span class='line'>656</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">fromCache</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">fromCache</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
664
- <span class='line'>657</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">model</span><span class="PUNC">(</span><span class="NAME">modelJson</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
665
- <span class='line'>658</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
666
- <span class='line'>659</span> </span><span class="NAME">lazyNew.__lazyNew</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
667
- <span class='line'>660</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">lazyNew</span><span class="PUNC">;</span><span class="WHIT">
668
- <span class='line'>661</span> </span><span class="PUNC">}</span><span class="WHIT">
669
- <span class='line'>662</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
670
- <span class='line'>663</span>
671
- <span class='line'>664</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">collectionEntity</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.CollectionEntity.create</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
672
- <span class='line'>665</span> </span><span class="NAME">model</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">model</span><span class="PUNC">,</span><span class="WHIT">
673
- <span class='line'>666</span> </span><span class="NAME">values</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">results</span><span class="PUNC">,</span><span class="WHIT">
674
- <span class='line'>667</span> </span><span class="NAME">condition</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">parameters.conditionFunction</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
675
- <span class='line'>668</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
676
- <span class='line'>669</span> </span><span class="NAME">collectionEntity.prepare</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
677
- <span class='line'>670</span> </span><span class="NAME">collectionEntity.prepare</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Prototype.emptyFunction</span><span class="PUNC">;</span><span class="WHIT">
678
- <span class='line'>671</span> </span><span class="COMM">// prevent the initialization from double adding the entities</span><span class="WHIT">
679
- <span class='line'>672</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oldAdd</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.add</span><span class="PUNC">;</span><span class="WHIT">
680
- <span class='line'>673</span> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
681
- <span class='line'>674</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">;</span><span class="WHIT">
682
- <span class='line'>675</span> </span><span class="NAME">this.add</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Prototype.emptyFunction</span><span class="PUNC">;</span><span class="WHIT">
683
- <span class='line'>676</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">timesToLoop</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.length</span><span class="PUNC">;</span><span class="WHIT">
684
- <span class='line'>677</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">toRemove</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
685
- <span class='line'>678</span> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">timesToLoop</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
686
- <span class='line'>679</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">__lazyNew</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
687
- <span class='line'>680</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">modelInstance</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
688
- <span class='line'>681</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.include</span><span class="PUNC">(</span><span class="NAME">modelInstance</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
689
- <span class='line'>682</span> </span><span class="KEYW">this</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">modelInstance</span><span class="PUNC">;</span><span class="WHIT">
690
- <span class='line'>683</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
691
- <span class='line'>684</span> </span><span class="NAME">toRemove.push</span><span class="PUNC">(</span><span class="NAME">i</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
692
- <span class='line'>685</span> </span><span class="PUNC">}</span><span class="WHIT">
693
- <span class='line'>686</span> </span><span class="PUNC">}</span><span class="WHIT">
694
- <span class='line'>687</span> </span><span class="PUNC">}</span><span class="WHIT">
695
- <span class='line'>688</span> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="PUNC">=</span><span class="NAME">toRemove.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">--</span><span class="PUNC">;</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
696
- <span class='line'>689</span> </span><span class="NAME">this.splice</span><span class="PUNC">(</span><span class="NAME">toRemove</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
697
- <span class='line'>690</span> </span><span class="PUNC">}</span><span class="WHIT">
698
- <span class='line'>691</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">finally</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
699
- <span class='line'>692</span> </span><span class="NAME">this.add</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oldAdd</span><span class="PUNC">;</span><span class="WHIT">
700
- <span class='line'>693</span> </span><span class="PUNC">}</span><span class="WHIT">
701
- <span class='line'>694</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
702
- <span class='line'>695</span> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
703
- <span class='line'>696</span> </span><span class="COMM">// Ultimately we shouldn't need to do this</span><span class="WHIT">
704
- <span class='line'>697</span> </span><span class="COMM">// This is required if when parsing eager loaded json collections</span><span class="WHIT">
705
- <span class='line'>698</span> </span><span class="COMM">// contain individual entities that need to be added to other collection entities</span><span class="WHIT">
706
- <span class='line'>699</span> </span><span class="COMM">// and the entity representing the eager collection is never loaded, hence prepared.</span><span class="WHIT">
707
- <span class='line'>700</span> </span><span class="NAME">collectionEntity.prepare</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
708
- <span class='line'>701</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">defer</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
709
- <span class='line'>702</span> </span><span class="NAME">this.putCollectionEntity</span><span class="PUNC">(</span><span class="NAME">url</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"#"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">parameters.ajaxParameters</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">collectionEntity</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
710
- <span class='line'>703</span>
711
- <span class='line'>704</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">collectionEntity</span><span class="PUNC">;</span><span class="WHIT">
712
- <span class='line'>705</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
713
- <span class='line'>706</span>
714
- <span class='line'>707</span> </span><span class="NAME">_clientOnlyAttrs</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
715
- <span class='line'>708</span>
716
- <span class='line'>709</span> </span><span class="NAME">clientOnlyAttr</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">attrName</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
717
- <span class='line'>710</span> </span><span class="NAME">this._clientOnlyAttrs.push</span><span class="PUNC">(</span><span class="NAME">attrName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
718
- <span class='line'>711</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
719
- <span class='line'>712</span>
720
- <span class='line'>713</span> </span><span class="NAME">_identityCache</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
721
- <span class='line'>714</span>
722
- <span class='line'>715</span> </span><span class="NAME">getFromCache</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">id</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
723
- <span class='line'>716</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">id</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
724
- <span class='line'>717</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this._identityCache</span><span class="PUNC">[</span><span class="NAME">id.cacheKey</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">id.cacheKey</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">id</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this._identityCache</span><span class="PUNC">[</span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">id</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">id</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">cacheKey</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
725
- <span class='line'>718</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
726
- <span class='line'>719</span>
727
- <span class='line'>720</span> </span><span class="NAME">putInCache</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">id</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">value</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
728
- <span class='line'>721</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">cacheKey</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">id.cacheKey</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">id.cacheKey</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">id</span><span class="PUNC">;</span><span class="WHIT">
729
- <span class='line'>722</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this._identityCache</span><span class="PUNC">[</span><span class="NAME">cacheKey</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">value</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
730
- <span class='line'>723</span> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
731
- <span class='line'>724</span> </span><span class="PUNC">}</span><span class="WHIT">
732
- <span class='line'>725</span> </span><span class="NAME">this._identityCache</span><span class="PUNC">[</span><span class="NAME">cacheKey</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">value</span><span class="PUNC">;</span><span class="WHIT">
733
- <span class='line'>726</span> </span><span class="NAME">this.addToCollectionEntities</span><span class="PUNC">(</span><span class="NAME">value</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
734
- <span class='line'>727</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
735
- <span class='line'>728</span>
736
- <span class='line'>729</span> </span><span class="NAME">removeFromCache</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">id</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
737
- <span class='line'>730</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">cacheKey</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">id.cacheKey</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">id.cacheKey</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">id</span><span class="PUNC">;</span><span class="WHIT">
738
- <span class='line'>731</span> </span><span class="KEYW">delete</span><span class="WHIT"> </span><span class="NAME">this._identityCache</span><span class="PUNC">[</span><span class="NAME">cacheKey</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
739
- <span class='line'>732</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
740
- <span class='line'>733</span>
741
- <span class='line'>734</span> </span><span class="NAME">_collectionEntities</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
742
- <span class='line'>735</span> </span><span class="NAME">putCollectionEntity</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">key</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">value</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
743
- <span class='line'>736</span> </span><span class="NAME">this._collectionEntities</span><span class="PUNC">[</span><span class="NAME">key</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">value</span><span class="PUNC">;</span><span class="WHIT">
744
- <span class='line'>737</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
745
- <span class='line'>738</span>
746
- <span class='line'>739</span> </span><span class="NAME">addToCollectionEntities</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">value</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
747
- <span class='line'>740</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">ces</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._collectionEntities</span><span class="PUNC">;</span><span class="WHIT">
748
- <span class='line'>741</span> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">key</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">ces</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
749
- <span class='line'>742</span> </span><span class="NAME">ces</span><span class="PUNC">[</span><span class="NAME">key</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">add</span><span class="PUNC">(</span><span class="NAME">value</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
750
- <span class='line'>743</span> </span><span class="PUNC">}</span><span class="WHIT">
751
- <span class='line'>744</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
752
- <span class='line'>745</span>
753
- <span class='line'>746</span> </span><span class="NAME">updateInCollectionEntites</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">value</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
754
- <span class='line'>747</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">ces</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._collectionEntities</span><span class="PUNC">;</span><span class="WHIT">
755
- <span class='line'>748</span> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">key</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">ces</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
756
- <span class='line'>749</span> </span><span class="NAME">ces</span><span class="PUNC">[</span><span class="NAME">key</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">update</span><span class="PUNC">(</span><span class="NAME">value</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
757
- <span class='line'>750</span> </span><span class="PUNC">}</span><span class="WHIT">
758
- <span class='line'>751</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
759
- <span class='line'>752</span>
760
- <span class='line'>753</span> </span><span class="NAME">removeFromCollectionEntities</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">value</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
761
- <span class='line'>754</span> </span><span class="NAME">Object.values</span><span class="PUNC">(</span><span class="NAME">this._collectionEntities</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">collectionEntity</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
762
- <span class='line'>755</span> </span><span class="NAME">collectionEntity.remove</span><span class="PUNC">(</span><span class="NAME">value</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
763
- <span class='line'>756</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
764
- <span class='line'>757</span> </span><span class="PUNC">}</span><span class="WHIT">
765
- <span class='line'>758</span>
766
- <span class='line'>759</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
767
- <span class='line'>760</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
768
- <span class='line'>761</span>
769
- <span class='line'>762</span> </span><span class="NAME">hasChannel</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
770
- <span class='line'>763</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
771
- <span class='line'>764</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
772
- <span class='line'>765</span>
773
- <span class='line'>766</span> </span><span class="NAME">channel</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
774
- <span class='line'>767</span> </span><span class="NAME">model.addMethods</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
775
- <span class='line'>768</span> </span><span class="NAME">broadcast</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
776
- <span class='line'>769</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">args</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$A</span><span class="PUNC">(</span><span class="NAME">arguments</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
777
- <span class='line'>770</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">methodName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">args.shift</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
778
- <span class='line'>771</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">body</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
779
- <span class='line'>772</span> </span><span class="NAME">id</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">this.getId</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">toString</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
780
- <span class='line'>773</span> </span><span class="NAME">method</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">methodName</span><span class="PUNC">,</span><span class="WHIT">
781
- <span class='line'>774</span> </span><span class="NAME">args</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">args</span><span class="WHIT">
782
- <span class='line'>775</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
783
- <span class='line'>776</span>
784
- <span class='line'>777</span> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Ajax.Request</span><span class="PUNC">(</span><span class="STRN">"/push/broadcast"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
785
- <span class='line'>778</span> </span><span class="NAME">asynchronous</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
786
- <span class='line'>779</span> </span><span class="NAME">method</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"get"</span><span class="PUNC">,</span><span class="WHIT">
787
- <span class='line'>780</span> </span><span class="NAME">evalJSON</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
788
- <span class='line'>781</span> </span><span class="NAME">evalJS</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
789
- <span class='line'>782</span> </span><span class="NAME">parameters</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
790
- <span class='line'>783</span> </span><span class="NAME">channel</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">this.channelName</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
791
- <span class='line'>784</span> </span><span class="NAME">message</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">body</span><span class="PUNC">)</span><span class="WHIT">
792
- <span class='line'>785</span> </span><span class="PUNC">}</span><span class="WHIT">
793
- <span class='line'>786</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
794
- <span class='line'>787</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
795
- <span class='line'>788</span>
796
- <span class='line'>789</span> </span><span class="NAME">channelName</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
797
- <span class='line'>790</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">model</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"."</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.getId</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
798
- <span class='line'>791</span> </span><span class="PUNC">}</span><span class="WHIT">
799
- <span class='line'>792</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
800
- <span class='line'>793</span>
801
- <span class='line'>794</span> </span><span class="NAME">Object.extend</span><span class="PUNC">(</span><span class="NAME">model</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
802
- <span class='line'>795</span> </span><span class="NAME">hasChannel</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
803
- <span class='line'>796</span>
804
- <span class='line'>797</span> </span><span class="NAME">receiveBroadcast</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
805
- <span class='line'>798</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">instance</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model.getFromCache</span><span class="PUNC">(</span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
806
- <span class='line'>799</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">instance</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
807
- <span class='line'>800</span> </span><span class="NAME">instance</span><span class="PUNC">[</span><span class="NAME">options.method</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">apply</span><span class="PUNC">(</span><span class="NAME">instance</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">options.args</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
808
- <span class='line'>801</span> </span><span class="PUNC">}</span><span class="WHIT">
809
- <span class='line'>802</span> </span><span class="PUNC">}</span><span class="WHIT">
810
- <span class='line'>803</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
811
- <span class='line'>804</span> </span><span class="PUNC">}</span><span class="WHIT">
812
- <span class='line'>805</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
813
- <span class='line'>806</span>
814
- <span class='line'>807</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">args.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">args.last</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">args.last</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">ATTR</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
815
- <span class='line'>808</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">initializers</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">args.last</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
816
- <span class='line'>809</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Object.isString</span><span class="PUNC">(</span><span class="NAME">initializers.resource</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
817
- <span class='line'>810</span> </span><span class="NAME">model.resource</span><span class="PUNC">(</span><span class="NAME">initializers.resource</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
818
- <span class='line'>811</span> </span><span class="PUNC">}</span><span class="WHIT">
819
- <span class='line'>812</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">initializers.channel</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
820
- <span class='line'>813</span> </span><span class="NAME">model.channel</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
821
- <span class='line'>814</span> </span><span class="PUNC">}</span><span class="WHIT">
822
- <span class='line'>815</span>
823
- <span class='line'>816</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">initializers.hasMany</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
824
- <span class='line'>817</span> </span><span class="NAME">initializers.hasMany.each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
825
- <span class='line'>818</span> </span><span class="NAME">model.hasMany</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
826
- <span class='line'>819</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
827
- <span class='line'>820</span> </span><span class="PUNC">}</span><span class="WHIT">
828
- <span class='line'>821</span>
829
- <span class='line'>822</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">initializers.belongsTo</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
830
- <span class='line'>823</span> </span><span class="NAME">initializers.belongsTo.each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
831
- <span class='line'>824</span> </span><span class="NAME">model.belongsTo</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
832
- <span class='line'>825</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
833
- <span class='line'>826</span> </span><span class="PUNC">}</span><span class="WHIT">
834
- <span class='line'>827</span>
835
- <span class='line'>828</span> </span><span class="PUNC">(</span><span class="NAME">initializers.clientOnlyAttrs</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">clientOnlyAttr</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
836
- <span class='line'>829</span> </span><span class="NAME">model.clientOnlyAttr</span><span class="PUNC">(</span><span class="NAME">clientOnlyAttr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
837
- <span class='line'>830</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
838
- <span class='line'>831</span>
839
- <span class='line'>832</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">initializers.undoEnabled</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
840
- <span class='line'>833</span> </span><span class="NAME">model.undoEnabled</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
841
- <span class='line'>834</span> </span><span class="PUNC">}</span><span class="WHIT">
842
- <span class='line'>835</span>
843
- <span class='line'>836</span> </span><span class="NAME">rio.Model.extend</span><span class="PUNC">(</span><span class="NAME">model</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">initializers.methods</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
844
- <span class='line'>837</span> </span><span class="PUNC">}</span><span class="WHIT">
845
- <span class='line'>838</span>
846
- <span class='line'>839</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">model</span><span class="PUNC">;</span><span class="WHIT">
847
- <span class='line'>840</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
848
- <span class='line'>841</span>
849
- <span class='line'>842</span> </span><span class="NAME">_findAllRequests</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
850
- <span class='line'>843</span> </span><span class="NAME">afterActiveQueries</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">fcn</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
851
- <span class='line'>844</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">count</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
852
- <span class='line'>845</span> </span><span class="NAME">this._findAllRequests.each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">far</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
853
- <span class='line'>846</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">far._complete</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
854
- <span class='line'>847</span> </span><span class="NAME">count</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT">
855
- <span class='line'>848</span> </span><span class="NAME">far.options.onComplete</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">far.options.onComplete</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">Prototype.emptyFunction</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">wrap</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">proceed</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
856
- <span class='line'>849</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">ret</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">proceed</span><span class="PUNC">(</span><span class="NAME">arguments</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
857
- <span class='line'>850</span> </span><span class="NAME">count</span><span class="PUNC">--</span><span class="PUNC">;</span><span class="WHIT">
858
- <span class='line'>851</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">count</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">fcn</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
859
- <span class='line'>852</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">ret</span><span class="PUNC">;</span><span class="WHIT">
860
- <span class='line'>853</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
861
- <span class='line'>854</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
862
- <span class='line'>855</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">count</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">fcn</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
863
- <span class='line'>856</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
864
- <span class='line'>857</span>
865
- <span class='line'>858</span> </span><span class="NAME">filterJson</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">json</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
866
- <span class='line'>859</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">json.attributes</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">json.attributes</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
867
- <span class='line'>860</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.environment.includeRootInJson</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">Object.values</span><span class="PUNC">(</span><span class="NAME">json</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">json</span><span class="PUNC">;</span><span class="WHIT">
868
- <span class='line'>861</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
869
- <span class='line'>862</span>
870
- <span class='line'>863</span> </span><span class="NAME">remoteCreate</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
871
- <span class='line'>864</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.transactionKey</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">rio.environment.transactionKey</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
872
- <span class='line'>865</span> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
873
- <span class='line'>866</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">results</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.Model.doRemoteCreate</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
874
- <span class='line'>867</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">results.undoFunction</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
875
- <span class='line'>868</span> </span><span class="NAME">rio.Undo.registerUndo</span><span class="PUNC">(</span><span class="NAME">results.undoFunction</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
876
- <span class='line'>869</span> </span><span class="PUNC">}</span><span class="WHIT">
877
- <span class='line'>870</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
878
- <span class='line'>871</span> </span><span class="NAME">rio.error</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"Remote create error!"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
879
- <span class='line'>872</span> </span><span class="PUNC">}</span><span class="WHIT">
880
- <span class='line'>873</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
881
- <span class='line'>874</span>
882
- <span class='line'>875</span> </span><span class="NAME">remoteUpdate</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
883
- <span class='line'>876</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.transactionKey</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">rio.environment.transactionKey</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
884
- <span class='line'>877</span> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
885
- <span class='line'>878</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">results</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.Model.doRemoteUpdate</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
886
- <span class='line'>879</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">results.undoFunction</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
887
- <span class='line'>880</span> </span><span class="NAME">rio.Undo.registerUndo</span><span class="PUNC">(</span><span class="NAME">results.undoFunction</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
888
- <span class='line'>881</span> </span><span class="PUNC">}</span><span class="WHIT">
889
- <span class='line'>882</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
890
- <span class='line'>883</span> </span><span class="NAME">rio.error</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"Remote update error!"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
891
- <span class='line'>884</span> </span><span class="PUNC">}</span><span class="WHIT">
892
- <span class='line'>885</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
893
- <span class='line'>886</span>
894
- <span class='line'>887</span> </span><span class="NAME">remoteDestroy</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
895
- <span class='line'>888</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.transactionKey</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">rio.environment.transactionKey</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
896
- <span class='line'>889</span> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
897
- <span class='line'>890</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">results</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.Model.doRemoteDestroy</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
898
- <span class='line'>891</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">results.undoFunction</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
899
- <span class='line'>892</span> </span><span class="NAME">rio.Undo.registerUndo</span><span class="PUNC">(</span><span class="NAME">results.undoFunction</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
900
- <span class='line'>893</span> </span><span class="PUNC">}</span><span class="WHIT">
901
- <span class='line'>894</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
902
- <span class='line'>895</span> </span><span class="NAME">rio.error</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"Remote destroy error!"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
903
- <span class='line'>896</span> </span><span class="PUNC">}</span><span class="WHIT">
904
- <span class='line'>897</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
905
- <span class='line'>898</span>
906
- <span class='line'>899</span> </span><span class="NAME">doRemoteCreate</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
907
- <span class='line'>900</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">model</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">options.name</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
908
- <span class='line'>901</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">fromCache</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model.getFromCache</span><span class="PUNC">(</span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
909
- <span class='line'>902</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">fromCache</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
910
- <span class='line'>903</span> </span><span class="NAME">fromCache</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">model</span><span class="PUNC">(</span><span class="NAME">model._filterAndProcessJson</span><span class="PUNC">(</span><span class="NAME">options.json</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
911
- <span class='line'>904</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
912
- <span class='line'>905</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
913
- <span class='line'>906</span> </span><span class="PUNC">}</span><span class="WHIT">
914
- <span class='line'>907</span>
915
- <span class='line'>908</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
916
- <span class='line'>909</span> </span><span class="NAME">undoFunction</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">model.undoEnabled</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
917
- <span class='line'>910</span> </span><span class="NAME">model.getFromCache</span><span class="PUNC">(</span><span class="NAME">fromCache.getId</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">destroy</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
918
- <span class='line'>911</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
919
- <span class='line'>912</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
920
- <span class='line'>913</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
921
- <span class='line'>914</span>
922
- <span class='line'>915</span> </span><span class="NAME">doRemoteUpdate</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
923
- <span class='line'>916</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">model</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">options.name</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
924
- <span class='line'>917</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">instance</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model.getFromCache</span><span class="PUNC">(</span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
925
- <span class='line'>918</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">instance</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
926
- <span class='line'>919</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
927
- <span class='line'>920</span> </span><span class="PUNC">}</span><span class="WHIT">
928
- <span class='line'>921</span>
929
- <span class='line'>922</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">json</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model._filterAndProcessJson</span><span class="PUNC">(</span><span class="NAME">options.json</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
930
- <span class='line'>923</span>
931
- <span class='line'>924</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">results</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
932
- <span class='line'>925</span>
933
- <span class='line'>926</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">model.undoEnabled</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
934
- <span class='line'>927</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oldState</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">instance.attributeState</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
935
- <span class='line'>928</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">processUndo</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
936
- <span class='line'>929</span> </span><span class="NAME">model.getFromCache</span><span class="PUNC">(</span><span class="NAME">instance.getId</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">updateAttributes</span><span class="PUNC">(</span><span class="NAME">oldState</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
937
- <span class='line'>930</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
938
- <span class='line'>931</span> </span><span class="NAME">results.undoFunction</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">processUndo</span><span class="PUNC">;</span><span class="WHIT">
939
- <span class='line'>932</span> </span><span class="PUNC">}</span><span class="WHIT">
940
- <span class='line'>933</span>
941
- <span class='line'>934</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">attributes</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Object.keys</span><span class="PUNC">(</span><span class="NAME">json</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">without</span><span class="PUNC">(</span><span class="STRN">"id"</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">inject</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">acc</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">k</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
942
- <span class='line'>935</span> </span><span class="NAME">acc</span><span class="PUNC">[</span><span class="NAME">k.camelize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">json</span><span class="PUNC">[</span><span class="NAME">k</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
943
- <span class='line'>936</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">acc</span><span class="PUNC">;</span><span class="WHIT">
944
- <span class='line'>937</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
945
- <span class='line'>938</span> </span><span class="NAME">instance.updateAttributes</span><span class="PUNC">(</span><span class="NAME">attributes</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">skipSave</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
946
- <span class='line'>939</span> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">options.name</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">updateInCollectionEntites</span><span class="PUNC">(</span><span class="NAME">instance</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
947
- <span class='line'>940</span>
948
- <span class='line'>941</span> </span><span class="NAME">instance._lastSavedState</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">instance.attributeState</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
949
- <span class='line'>942</span>
950
- <span class='line'>943</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">results</span><span class="PUNC">;</span><span class="WHIT">
951
- <span class='line'>944</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
952
- <span class='line'>945</span>
953
- <span class='line'>946</span> </span><span class="NAME">doRemoteDestroy</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
954
- <span class='line'>947</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">model</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">options.name</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
955
- <span class='line'>948</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">fromCache</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model.getFromCache</span><span class="PUNC">(</span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
956
- <span class='line'>949</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">results</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
957
- <span class='line'>950</span>
958
- <span class='line'>951</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">fromCache</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
959
- <span class='line'>952</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">model.undoEnabled</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
960
- <span class='line'>953</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oldState</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">fromCache.attributeState</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
961
- <span class='line'>954</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">processUndo</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
962
- <span class='line'>955</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">instance</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">model</span><span class="PUNC">(</span><span class="NAME">Object.extend</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">id</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">fromCache.getId</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oldState</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
963
- <span class='line'>956</span> </span><span class="NAME">instance._lastSavedState</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">;</span><span class="WHIT">
964
- <span class='line'>957</span> </span><span class="NAME">instance.save</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
965
- <span class='line'>958</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
966
- <span class='line'>959</span> </span><span class="NAME">results.undoFunction</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">processUndo</span><span class="PUNC">;</span><span class="WHIT">
967
- <span class='line'>960</span> </span><span class="PUNC">}</span><span class="WHIT">
968
- <span class='line'>961</span>
969
- <span class='line'>962</span> </span><span class="NAME">fromCache.removeFromCaches</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
970
- <span class='line'>963</span>
971
- <span class='line'>964</span> </span><span class="NAME">fromCache.fire</span><span class="PUNC">(</span><span class="STRN">"destroy"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
972
- <span class='line'>965</span> </span><span class="PUNC">}</span><span class="WHIT">
973
- <span class='line'>966</span>
974
- <span class='line'>967</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">results</span><span class="PUNC">;</span><span class="WHIT">
975
- <span class='line'>968</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
976
- <span class='line'>969</span>
977
- <span class='line'>970</span> </span><span class="NAME">remoteTransaction</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">transactionData</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
978
- <span class='line'>971</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">transactionData.transactionKey</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">rio.environment.transactionKey</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
979
- <span class='line'>972</span> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
980
- <span class='line'>973</span> </span><span class="COMM">// TODO: Two potential bugs here</span><span class="WHIT">
981
- <span class='line'>974</span> </span><span class="COMM">//</span><span class="WHIT">
982
- <span class='line'>975</span> </span><span class="COMM">// 1) Need to execute this in a rio.Attr.transaction</span><span class="WHIT">
983
- <span class='line'>976</span> </span><span class="COMM">// 2) Need to get back the collection entity process functions from _filterAndProcessJsonWhileAccumulatingCollectionEntities</span><span class="WHIT">
984
- <span class='line'>977</span> </span><span class="COMM">// and run them at the end. Otherwise we might have reification collisions.</span><span class="WHIT">
985
- <span class='line'>978</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">resultSets</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">transactionData.transaction.map</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">t</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
986
- <span class='line'>979</span> </span><span class="KEYW">switch</span><span class="PUNC">(</span><span class="NAME">t.action</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
987
- <span class='line'>980</span> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"create"</span><span class="PUNC">:</span><span class="WHIT">
988
- <span class='line'>981</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">rio.Model.doRemoteCreate</span><span class="PUNC">(</span><span class="NAME">t</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
989
- <span class='line'>982</span> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"update"</span><span class="PUNC">:</span><span class="WHIT">
990
- <span class='line'>983</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">rio.Model.doRemoteUpdate</span><span class="PUNC">(</span><span class="NAME">t</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
991
- <span class='line'>984</span> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"destroy"</span><span class="PUNC">:</span><span class="WHIT">
992
- <span class='line'>985</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">rio.Model.doRemoteDestroy</span><span class="PUNC">(</span><span class="NAME">t</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
993
- <span class='line'>986</span> </span><span class="PUNC">}</span><span class="WHIT">
994
- <span class='line'>987</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
995
- <span class='line'>988</span>
996
- <span class='line'>989</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">undos</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">resultSets.map</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">r</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">r.undoFunction</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">compact</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
997
- <span class='line'>990</span>
998
- <span class='line'>991</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">undos.empty</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
999
- <span class='line'>992</span> </span><span class="NAME">rio.Undo.registerUndo</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1000
- <span class='line'>993</span> </span><span class="NAME">undos.each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">undo</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1001
- <span class='line'>994</span> </span><span class="NAME">undo</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1002
- <span class='line'>995</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1003
- <span class='line'>996</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1004
- <span class='line'>997</span> </span><span class="PUNC">}</span><span class="WHIT">
1005
- <span class='line'>998</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1006
- <span class='line'>999</span> </span><span class="NAME">rio.error</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"Remote transaction error!"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1007
- <span class='line'>1000</span> </span><span class="PUNC">}</span><span class="WHIT">
1008
- <span class='line'>1001</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
1009
- <span class='line'>1002</span>
1010
- <span class='line'>1003</span> </span><span class="NAME">extend</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">model</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">extension</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1011
- <span class='line'>1004</span>
1012
- <span class='line'>1005</span> </span><span class="NAME">extension.__initialize</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">extension.initialize</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">Prototype.emptyFunction</span><span class="PUNC">;</span><span class="WHIT">
1013
- <span class='line'>1006</span> </span><span class="NAME">extension.initialize</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1014
- <span class='line'>1007</span> </span><span class="NAME">this.__model</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model</span><span class="PUNC">;</span><span class="WHIT">
1015
- <span class='line'>1008</span>
1016
- <span class='line'>1009</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">model.url</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1017
- <span class='line'>1010</span> </span><span class="NAME">options.id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1018
- <span class='line'>1011</span> </span><span class="NAME">this._id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.id</span><span class="PUNC">;</span><span class="WHIT">
1019
- <span class='line'>1012</span> </span><span class="PUNC">}</span><span class="WHIT">
1020
- <span class='line'>1013</span>
1021
- <span class='line'>1014</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">options.id.constructor</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">rio.Id</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">model.id</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1022
- <span class='line'>1015</span> </span><span class="NAME">options.id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1023
- <span class='line'>1016</span> </span><span class="NAME">this.setId</span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1024
- <span class='line'>1017</span> </span><span class="PUNC">}</span><span class="WHIT">
1025
- <span class='line'>1018</span>
1026
- <span class='line'>1019</span> </span><span class="PUNC">(</span><span class="NAME">this.__initialize.bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1027
- <span class='line'>1020</span>
1028
- <span class='line'>1021</span> </span><span class="COMM">// Add the hasManyAssocitation#create methods</span><span class="WHIT">
1029
- <span class='line'>1022</span> </span><span class="NAME">Object.keys</span><span class="PUNC">(</span><span class="NAME">model._hasManyAssociations</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">hasManyName</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1030
- <span class='line'>1023</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model._hasManyAssociations</span><span class="PUNC">[</span><span class="NAME">hasManyName</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1031
- <span class='line'>1024</span> </span><span class="KEYW">this</span><span class="PUNC">[</span><span class="NAME">hasManyName</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">create</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">createOptions</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1032
- <span class='line'>1025</span> </span><span class="COMM">// In the case that the entity is still new, we should preload the association</span><span class="WHIT">
1033
- <span class='line'>1026</span> </span><span class="COMM">// to make sure no entries are missed</span><span class="WHIT">
1034
- <span class='line'>1027</span> </span><span class="COMM">// TODO: before we can wrap in isNew, we need to make the spec fixture proxy include created entities</span><span class="WHIT">
1035
- <span class='line'>1028</span> </span><span class="COMM">// if (this.isNew()) {</span><span class="WHIT">
1036
- <span class='line'>1029</span> </span><span class="KEYW">this</span><span class="PUNC">[</span><span class="PUNC">(</span><span class="STRN">"get-"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">hasManyName</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">camelize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1037
- <span class='line'>1030</span> </span><span class="COMM">// }</span><span class="WHIT">
1038
- <span class='line'>1031</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">parameters</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Object.clone</span><span class="PUNC">(</span><span class="NAME">options.parameters</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1039
- <span class='line'>1032</span> </span><span class="NAME">parameters</span><span class="PUNC">[</span><span class="NAME">options.foreignKey</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getId</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1040
- <span class='line'>1033</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">options.className</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">create</span><span class="PUNC">(</span><span class="NAME">Object.extend</span><span class="PUNC">(</span><span class="NAME">createOptions</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parameters</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1041
- <span class='line'>1034</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1042
- <span class='line'>1035</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1043
- <span class='line'>1036</span>
1044
- <span class='line'>1037</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">model.hasChannel</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1045
- <span class='line'>1038</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.push</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1046
- <span class='line'>1039</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">addChannel</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1047
- <span class='line'>1040</span> </span><span class="NAME">rio.push.addChannel</span><span class="PUNC">(</span><span class="NAME">this.channelName</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1048
- <span class='line'>1041</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1049
- <span class='line'>1042</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">options.id.temporary</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1050
- <span class='line'>1043</span> </span><span class="NAME">options.id.doAfterReification</span><span class="PUNC">(</span><span class="NAME">addChannel</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1051
- <span class='line'>1044</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1052
- <span class='line'>1045</span> </span><span class="NAME">addChannel</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1053
- <span class='line'>1046</span> </span><span class="PUNC">}</span><span class="WHIT">
1054
- <span class='line'>1047</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1055
- <span class='line'>1048</span> </span><span class="NAME">rio.warn</span><span class="PUNC">(</span><span class="STRN">"Attempted to add a channel without an available push server"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1056
- <span class='line'>1049</span> </span><span class="PUNC">}</span><span class="WHIT">
1057
- <span class='line'>1050</span> </span><span class="PUNC">}</span><span class="WHIT">
1058
- <span class='line'>1051</span>
1059
- <span class='line'>1052</span> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
1060
- <span class='line'>1053</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">model.url</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1061
- <span class='line'>1054</span> </span><span class="NAME">model.putInCache</span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1062
- <span class='line'>1055</span> </span><span class="PUNC">}</span><span class="WHIT">
1063
- <span class='line'>1056</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">options.id.temporary</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">options.id.temporary</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1064
- <span class='line'>1057</span> </span><span class="NAME">this._lastSavedState</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.attributeState</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1065
- <span class='line'>1058</span> </span><span class="PUNC">}</span><span class="WHIT">
1066
- <span class='line'>1059</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
1067
- <span class='line'>1060</span>
1068
- <span class='line'>1061</span> </span><span class="NAME">rio.Attr.extend</span><span class="PUNC">(</span><span class="NAME">model</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">extension</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1069
- <span class='line'>1062</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
1070
- <span class='line'>1063</span>
1071
- <span class='line'>1064</span> </span><span class="NAME">toString</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1072
- <span class='line'>1065</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">"Model"</span><span class="PUNC">;</span><span class="WHIT">
1073
- <span class='line'>1066</span> </span><span class="PUNC">}</span><span class="WHIT">
1074
- <span class='line'>1067</span> </span><span class="PUNC">}</span><span class="PUNC">;</span></pre></body></html>
514
+ <span class='line'>507</span>
515
+ <span class='line'>508</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this._collectionEntities</span><span class="PUNC">[</span><span class="NAME">urlToUse</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"#"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">parameters.ajaxParameters</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
516
+ <span class='line'>509</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">found</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._collectionEntities</span><span class="PUNC">[</span><span class="NAME">urlToUse</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"#"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">parameters.ajaxParameters</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
517
+ <span class='line'>510</span> </span><span class="NAME">found.prepare</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
518
+ <span class='line'>511</span> </span><span class="NAME">options.onSuccess</span><span class="PUNC">(</span><span class="NAME">found</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
519
+ <span class='line'>512</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">asynchronous</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
520
+ <span class='line'>513</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">found</span><span class="PUNC">;</span><span class="WHIT">
521
+ <span class='line'>514</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
522
+ <span class='line'>515</span> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
523
+ <span class='line'>516</span> </span><span class="PUNC">}</span><span class="WHIT">
524
+ <span class='line'>517</span> </span><span class="PUNC">}</span><span class="WHIT">
525
+ <span class='line'>518</span>
526
+ <span class='line'>519</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">results</span><span class="PUNC">;</span><span class="WHIT">
527
+ <span class='line'>520</span> </span><span class="NAME">rio.Model._findAllRequests.push</span><span class="PUNC">(</span><span class="WHIT">
528
+ <span class='line'>521</span> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Ajax.Request</span><span class="PUNC">(</span><span class="NAME">urlToUse</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
529
+ <span class='line'>522</span> </span><span class="NAME">asynchronous</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">asynchronous</span><span class="PUNC">,</span><span class="WHIT">
530
+ <span class='line'>523</span> </span><span class="NAME">method</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'get'</span><span class="PUNC">,</span><span class="WHIT">
531
+ <span class='line'>524</span> </span><span class="NAME">evalJSON</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
532
+ <span class='line'>525</span> </span><span class="NAME">parameters</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="NAME">conditions</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">parameters.ajaxParameters</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
533
+ <span class='line'>526</span> </span><span class="NAME">onSuccess</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">response</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
534
+ <span class='line'>527</span> </span><span class="NAME">results</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._collectionEntityFromJson</span><span class="PUNC">(</span><span class="NAME">response.responseJSON</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parameters</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">urlToUse</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
535
+ <span class='line'>528</span> </span><span class="NAME">results.prepare</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
536
+ <span class='line'>529</span> </span><span class="NAME">options.onSuccess</span><span class="PUNC">(</span><span class="NAME">results</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
537
+ <span class='line'>530</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="WHIT">
538
+ <span class='line'>531</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="WHIT">
539
+ <span class='line'>532</span> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
540
+ <span class='line'>533</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">asynchronous</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
541
+ <span class='line'>534</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">results</span><span class="PUNC">;</span><span class="WHIT">
542
+ <span class='line'>535</span> </span><span class="PUNC">}</span><span class="WHIT">
543
+ <span class='line'>536</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
544
+ <span class='line'>537</span>
545
+ <span class='line'>538</span> </span><span class="NAME">_hasManyAssociations</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
546
+ <span class='line'>539</span> </span><span class="NAME">hasMany</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">hasManyName</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
547
+ <span class='line'>540</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
548
+ <span class='line'>541</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">Object.isString</span><span class="PUNC">(</span><span class="NAME">hasManyName</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
549
+ <span class='line'>542</span> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">hasManyName</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
550
+ <span class='line'>543</span> </span><span class="NAME">hasManyName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">hasManyName</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
551
+ <span class='line'>544</span> </span><span class="PUNC">}</span><span class="WHIT">
552
+ <span class='line'>545</span> </span><span class="NAME">options.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">hasManyName.singularize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">classize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
553
+ <span class='line'>546</span> </span><span class="NAME">options.foreignKey</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.NAME.toLowerCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Id"</span><span class="PUNC">;</span><span class="WHIT">
554
+ <span class='line'>547</span> </span><span class="NAME">options.parameters</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.parameters</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
555
+ <span class='line'>548</span>
556
+ <span class='line'>549</span> </span><span class="NAME">this._hasManyAssociations</span><span class="PUNC">[</span><span class="NAME">hasManyName</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options</span><span class="PUNC">;</span><span class="WHIT">
557
+ <span class='line'>550</span>
558
+ <span class='line'>551</span> </span><span class="NAME">this.attrAccessor</span><span class="PUNC">(</span><span class="NAME">hasManyName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
559
+ <span class='line'>552</span> </span><span class="NAME">this.clientOnlyAttr</span><span class="PUNC">(</span><span class="NAME">hasManyName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
560
+ <span class='line'>553</span>
561
+ <span class='line'>554</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">getName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="STRN">"get-"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">hasManyName</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">camelize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
562
+ <span class='line'>555</span>
563
+ <span class='line'>556</span> </span><span class="NAME">this.prototype</span><span class="PUNC">[</span><span class="NAME">getName</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.prototype</span><span class="PUNC">[</span><span class="NAME">getName</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">wrap</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">proceed</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
564
+ <span class='line'>557</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">[</span><span class="STRN">"_"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">hasManyName</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
565
+ <span class='line'>558</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">parameters</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Object.clone</span><span class="PUNC">(</span><span class="NAME">options.parameters</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
566
+ <span class='line'>559</span> </span><span class="NAME">parameters</span><span class="PUNC">[</span><span class="NAME">options.foreignKey</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getId</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
567
+ <span class='line'>560</span> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">options.className</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">findAll</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
568
+ <span class='line'>561</span> </span><span class="NAME">asynchronous</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
569
+ <span class='line'>562</span> </span><span class="NAME">parameters</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">parameters</span><span class="PUNC">,</span><span class="WHIT">
570
+ <span class='line'>563</span> </span><span class="NAME">onSuccess</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">entities</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
571
+ <span class='line'>564</span> </span><span class="KEYW">this</span><span class="PUNC">[</span><span class="STRN">"_"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">hasManyName</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">entities</span><span class="PUNC">;</span><span class="WHIT">
572
+ <span class='line'>565</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="WHIT">
573
+ <span class='line'>566</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
574
+ <span class='line'>567</span> </span><span class="PUNC">}</span><span class="WHIT">
575
+ <span class='line'>568</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">proceed.apply</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">$A</span><span class="PUNC">(</span><span class="NAME">arguments</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">slice</span><span class="PUNC">(</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
576
+ <span class='line'>569</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
577
+ <span class='line'>570</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
578
+ <span class='line'>571</span>
579
+ <span class='line'>572</span> </span><span class="NAME">belongsTo</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">args</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
580
+ <span class='line'>573</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
581
+ <span class='line'>574</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">associationName</span><span class="PUNC">;</span><span class="WHIT">
582
+ <span class='line'>575</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">Object.isString</span><span class="PUNC">(</span><span class="NAME">args</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
583
+ <span class='line'>576</span> </span><span class="NAME">associationName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">args</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
584
+ <span class='line'>577</span> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">args</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
585
+ <span class='line'>578</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
586
+ <span class='line'>579</span> </span><span class="NAME">associationName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">args</span><span class="PUNC">;</span><span class="WHIT">
587
+ <span class='line'>580</span> </span><span class="PUNC">}</span><span class="WHIT">
588
+ <span class='line'>581</span> </span><span class="NAME">this.attrAccessor</span><span class="PUNC">(</span><span class="NAME">associationName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
589
+ <span class='line'>582</span> </span><span class="NAME">this.clientOnlyAttr</span><span class="PUNC">(</span><span class="NAME">associationName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
590
+ <span class='line'>583</span>
591
+ <span class='line'>584</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.className</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">associationName.classize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
592
+ <span class='line'>585</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">foreignKey</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.foreignKey</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">associationName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"Id"</span><span class="PUNC">;</span><span class="WHIT">
593
+ <span class='line'>586</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">getName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="STRN">"get-"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">associationName</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">camelize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
594
+ <span class='line'>587</span>
595
+ <span class='line'>588</span> </span><span class="NAME">this.prototype</span><span class="PUNC">[</span><span class="NAME">getName</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.prototype</span><span class="PUNC">[</span><span class="NAME">getName</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">wrap</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">proceed</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
596
+ <span class='line'>589</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">[</span><span class="STRN">"_"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">associationName</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
597
+ <span class='line'>590</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">setAssociation</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
598
+ <span class='line'>591</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">associationId</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">[</span><span class="STRN">"_"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">foreignKey</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
599
+ <span class='line'>592</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">foundValue</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">className</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">find</span><span class="PUNC">(</span><span class="NAME">associationId</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
600
+ <span class='line'>593</span> </span><span class="NAME">asynchronous</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT">
601
+ <span class='line'>594</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
602
+ <span class='line'>595</span> </span><span class="KEYW">this</span><span class="PUNC">[</span><span class="PUNC">(</span><span class="STRN">"set-"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">associationName</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">camelize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">(</span><span class="NAME">foundValue</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
603
+ <span class='line'>596</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
604
+ <span class='line'>597</span> </span><span class="NAME">setAssociation</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
605
+ <span class='line'>598</span> </span><span class="KEYW">this</span><span class="PUNC">[</span><span class="NAME">foreignKey</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="NAME">setAssociation</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
606
+ <span class='line'>599</span> </span><span class="PUNC">}</span><span class="WHIT">
607
+ <span class='line'>600</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">proceed.apply</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">$A</span><span class="PUNC">(</span><span class="NAME">arguments</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">slice</span><span class="PUNC">(</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
608
+ <span class='line'>601</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
609
+ <span class='line'>602</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
610
+ <span class='line'>603</span>
611
+ <span class='line'>604</span> </span><span class="NAME">_parametersFromJsonParameters</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
612
+ <span class='line'>605</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">rio.Parameters</span><span class="PUNC">(</span><span class="WHIT">
613
+ <span class='line'>606</span> </span><span class="NAME">Object.keys</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">inject</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">acc</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">p</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
614
+ <span class='line'>607</span> </span><span class="NAME">acc</span><span class="PUNC">[</span><span class="NAME">p.camelize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">params</span><span class="PUNC">[</span><span class="NAME">p</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
615
+ <span class='line'>608</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">acc</span><span class="PUNC">;</span><span class="WHIT">
616
+ <span class='line'>609</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="WHIT">
617
+ <span class='line'>610</span> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
618
+ <span class='line'>611</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
619
+ <span class='line'>612</span>
620
+ <span class='line'>613</span> </span><span class="NAME">_processIncludedCollectionEntities</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">json</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
621
+ <span class='line'>614</span> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NAME">json.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">--</span><span class="PUNC">;</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
622
+ <span class='line'>615</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">include</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">json</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
623
+ <span class='line'>616</span> </span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._parametersFromJsonParameters</span><span class="PUNC">(</span><span class="NAME">include.parameters</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
624
+ <span class='line'>617</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">url</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">include.className</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">url</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
625
+ <span class='line'>618</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this._collectionEntities</span><span class="PUNC">[</span><span class="NAME">url</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"#"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">params.ajaxParameters</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
626
+ <span class='line'>619</span> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">include.className</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">_collectionEntityFromJson</span><span class="PUNC">(</span><span class="NAME">include.json</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">params</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">url</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
627
+ <span class='line'>620</span> </span><span class="PUNC">}</span><span class="WHIT">
628
+ <span class='line'>621</span> </span><span class="PUNC">}</span><span class="WHIT">
629
+ <span class='line'>622</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
630
+ <span class='line'>623</span>
631
+ <span class='line'>624</span> </span><span class="NAME">_filterAndProcessJsonWhileAccumulatingCollectionEntities</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">inJson</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
632
+ <span class='line'>625</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">inJson._set</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
633
+ <span class='line'>626</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">ceFunction</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
634
+ <span class='line'>627</span> </span><span class="NAME">model._processIncludedCollectionEntities</span><span class="PUNC">(</span><span class="NAME">inJson._set.include</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
635
+ <span class='line'>628</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
636
+ <span class='line'>629</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">rio.Model.filterJson</span><span class="PUNC">(</span><span class="NAME">inJson._set.self</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">ceFunction</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
637
+ <span class='line'>630</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
638
+ <span class='line'>631</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">rio.Model.filterJson</span><span class="PUNC">(</span><span class="NAME">inJson</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">Prototype.emptyFunction</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
639
+ <span class='line'>632</span> </span><span class="PUNC">}</span><span class="WHIT">
640
+ <span class='line'>633</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
641
+ <span class='line'>634</span>
642
+ <span class='line'>635</span> </span><span class="NAME">_filterAndProcessJson</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">inJson</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
643
+ <span class='line'>636</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">results</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model._filterAndProcessJsonWhileAccumulatingCollectionEntities</span><span class="PUNC">(</span><span class="NAME">inJson</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
644
+ <span class='line'>637</span> </span><span class="NAME">results</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
645
+ <span class='line'>638</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">results</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
646
+ <span class='line'>639</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
647
+ <span class='line'>640</span>
648
+ <span class='line'>641</span> </span><span class="NAME">_collectionEntityFromJson</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">json</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parameters</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">url</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
649
+ <span class='line'>642</span> </span><span class="COMM">// In case multiple identical queries were made simultaneously</span><span class="WHIT">
650
+ <span class='line'>643</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this._collectionEntities</span><span class="PUNC">[</span><span class="NAME">url</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"#"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">parameters.ajaxParameters</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
651
+ <span class='line'>644</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this._collectionEntities</span><span class="PUNC">[</span><span class="NAME">url</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"#"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">parameters.ajaxParameters</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
652
+ <span class='line'>645</span> </span><span class="PUNC">}</span><span class="WHIT">
653
+ <span class='line'>646</span>
654
+ <span class='line'>647</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">results</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">json.map</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">result</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
655
+ <span class='line'>648</span> </span><span class="COMM">// This may cause bugs. It should map the results of _filterAndProcessJsonWhileAccumulatingCollectionEntities</span><span class="WHIT">
656
+ <span class='line'>649</span> </span><span class="COMM">// and execute them after them map to prevent reification collisions</span><span class="WHIT">
657
+ <span class='line'>650</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">modelJson</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model._filterAndProcessJson</span><span class="PUNC">(</span><span class="NAME">result</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
658
+ <span class='line'>651</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">fromCache</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getFromCache</span><span class="PUNC">(</span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">modelJson.id</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
659
+ <span class='line'>652</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">fromCache</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
660
+ <span class='line'>653</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">fromCache</span><span class="PUNC">;</span><span class="WHIT">
661
+ <span class='line'>654</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
662
+ <span class='line'>655</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">lazyNew</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
663
+ <span class='line'>656</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">fromCache</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getFromCache</span><span class="PUNC">(</span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">modelJson.id</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
664
+ <span class='line'>657</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">fromCache</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">fromCache</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
665
+ <span class='line'>658</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">model</span><span class="PUNC">(</span><span class="NAME">modelJson</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
666
+ <span class='line'>659</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
667
+ <span class='line'>660</span> </span><span class="NAME">lazyNew.__lazyNew</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
668
+ <span class='line'>661</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">lazyNew</span><span class="PUNC">;</span><span class="WHIT">
669
+ <span class='line'>662</span> </span><span class="PUNC">}</span><span class="WHIT">
670
+ <span class='line'>663</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
671
+ <span class='line'>664</span>
672
+ <span class='line'>665</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">collectionEntity</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.CollectionEntity.create</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
673
+ <span class='line'>666</span> </span><span class="NAME">model</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">model</span><span class="PUNC">,</span><span class="WHIT">
674
+ <span class='line'>667</span> </span><span class="NAME">values</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">results</span><span class="PUNC">,</span><span class="WHIT">
675
+ <span class='line'>668</span> </span><span class="NAME">condition</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">parameters.conditionFunction</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
676
+ <span class='line'>669</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
677
+ <span class='line'>670</span> </span><span class="NAME">collectionEntity.prepare</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
678
+ <span class='line'>671</span> </span><span class="NAME">collectionEntity.prepare</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Prototype.emptyFunction</span><span class="PUNC">;</span><span class="WHIT">
679
+ <span class='line'>672</span> </span><span class="COMM">// prevent the initialization from double adding the entities</span><span class="WHIT">
680
+ <span class='line'>673</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oldAdd</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.add</span><span class="PUNC">;</span><span class="WHIT">
681
+ <span class='line'>674</span> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
682
+ <span class='line'>675</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">;</span><span class="WHIT">
683
+ <span class='line'>676</span> </span><span class="NAME">this.add</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Prototype.emptyFunction</span><span class="PUNC">;</span><span class="WHIT">
684
+ <span class='line'>677</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">timesToLoop</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.length</span><span class="PUNC">;</span><span class="WHIT">
685
+ <span class='line'>678</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">toRemove</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
686
+ <span class='line'>679</span> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">timesToLoop</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
687
+ <span class='line'>680</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">__lazyNew</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
688
+ <span class='line'>681</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">modelInstance</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
689
+ <span class='line'>682</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.include</span><span class="PUNC">(</span><span class="NAME">modelInstance</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
690
+ <span class='line'>683</span> </span><span class="KEYW">this</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">modelInstance</span><span class="PUNC">;</span><span class="WHIT">
691
+ <span class='line'>684</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
692
+ <span class='line'>685</span> </span><span class="NAME">toRemove.push</span><span class="PUNC">(</span><span class="NAME">i</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
693
+ <span class='line'>686</span> </span><span class="PUNC">}</span><span class="WHIT">
694
+ <span class='line'>687</span> </span><span class="PUNC">}</span><span class="WHIT">
695
+ <span class='line'>688</span> </span><span class="PUNC">}</span><span class="WHIT">
696
+ <span class='line'>689</span> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="PUNC">=</span><span class="NAME">toRemove.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">--</span><span class="PUNC">;</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
697
+ <span class='line'>690</span> </span><span class="NAME">this.splice</span><span class="PUNC">(</span><span class="NAME">toRemove</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
698
+ <span class='line'>691</span> </span><span class="PUNC">}</span><span class="WHIT">
699
+ <span class='line'>692</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">finally</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
700
+ <span class='line'>693</span> </span><span class="NAME">this.add</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oldAdd</span><span class="PUNC">;</span><span class="WHIT">
701
+ <span class='line'>694</span> </span><span class="PUNC">}</span><span class="WHIT">
702
+ <span class='line'>695</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
703
+ <span class='line'>696</span> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
704
+ <span class='line'>697</span> </span><span class="COMM">// Ultimately we shouldn't need to do this</span><span class="WHIT">
705
+ <span class='line'>698</span> </span><span class="COMM">// This is required if when parsing eager loaded json collections</span><span class="WHIT">
706
+ <span class='line'>699</span> </span><span class="COMM">// contain individual entities that need to be added to other collection entities</span><span class="WHIT">
707
+ <span class='line'>700</span> </span><span class="COMM">// and the entity representing the eager collection is never loaded, hence prepared.</span><span class="WHIT">
708
+ <span class='line'>701</span> </span><span class="NAME">collectionEntity.prepare</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
709
+ <span class='line'>702</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">defer</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
710
+ <span class='line'>703</span> </span><span class="NAME">this.putCollectionEntity</span><span class="PUNC">(</span><span class="NAME">url</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"#"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">parameters.ajaxParameters</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">collectionEntity</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
711
+ <span class='line'>704</span>
712
+ <span class='line'>705</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">collectionEntity</span><span class="PUNC">;</span><span class="WHIT">
713
+ <span class='line'>706</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
714
+ <span class='line'>707</span>
715
+ <span class='line'>708</span> </span><span class="NAME">_clientOnlyAttrs</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
716
+ <span class='line'>709</span>
717
+ <span class='line'>710</span> </span><span class="NAME">clientOnlyAttr</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">attrName</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
718
+ <span class='line'>711</span> </span><span class="NAME">this._clientOnlyAttrs.push</span><span class="PUNC">(</span><span class="NAME">attrName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
719
+ <span class='line'>712</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
720
+ <span class='line'>713</span>
721
+ <span class='line'>714</span> </span><span class="NAME">_identityCache</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
722
+ <span class='line'>715</span>
723
+ <span class='line'>716</span> </span><span class="NAME">getFromCache</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">id</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
724
+ <span class='line'>717</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">id</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
725
+ <span class='line'>718</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this._identityCache</span><span class="PUNC">[</span><span class="NAME">id.cacheKey</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">id.cacheKey</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">id</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this._identityCache</span><span class="PUNC">[</span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">id</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">id</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">cacheKey</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
726
+ <span class='line'>719</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
727
+ <span class='line'>720</span>
728
+ <span class='line'>721</span> </span><span class="NAME">putInCache</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">id</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">value</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
729
+ <span class='line'>722</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">cacheKey</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">id.cacheKey</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">id.cacheKey</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">id</span><span class="PUNC">;</span><span class="WHIT">
730
+ <span class='line'>723</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this._identityCache</span><span class="PUNC">[</span><span class="NAME">cacheKey</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">value</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
731
+ <span class='line'>724</span> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
732
+ <span class='line'>725</span> </span><span class="PUNC">}</span><span class="WHIT">
733
+ <span class='line'>726</span> </span><span class="NAME">this._identityCache</span><span class="PUNC">[</span><span class="NAME">cacheKey</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">value</span><span class="PUNC">;</span><span class="WHIT">
734
+ <span class='line'>727</span> </span><span class="NAME">this.addToCollectionEntities</span><span class="PUNC">(</span><span class="NAME">value</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
735
+ <span class='line'>728</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
736
+ <span class='line'>729</span>
737
+ <span class='line'>730</span> </span><span class="NAME">removeFromCache</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">id</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
738
+ <span class='line'>731</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">cacheKey</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">id.cacheKey</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">id.cacheKey</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">id</span><span class="PUNC">;</span><span class="WHIT">
739
+ <span class='line'>732</span> </span><span class="KEYW">delete</span><span class="WHIT"> </span><span class="NAME">this._identityCache</span><span class="PUNC">[</span><span class="NAME">cacheKey</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
740
+ <span class='line'>733</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
741
+ <span class='line'>734</span>
742
+ <span class='line'>735</span> </span><span class="NAME">_collectionEntities</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
743
+ <span class='line'>736</span> </span><span class="NAME">putCollectionEntity</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">key</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">value</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
744
+ <span class='line'>737</span> </span><span class="NAME">this._collectionEntities</span><span class="PUNC">[</span><span class="NAME">key</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">value</span><span class="PUNC">;</span><span class="WHIT">
745
+ <span class='line'>738</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
746
+ <span class='line'>739</span>
747
+ <span class='line'>740</span> </span><span class="NAME">addToCollectionEntities</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">value</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
748
+ <span class='line'>741</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">ces</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._collectionEntities</span><span class="PUNC">;</span><span class="WHIT">
749
+ <span class='line'>742</span> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">key</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">ces</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
750
+ <span class='line'>743</span> </span><span class="NAME">ces</span><span class="PUNC">[</span><span class="NAME">key</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">add</span><span class="PUNC">(</span><span class="NAME">value</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
751
+ <span class='line'>744</span> </span><span class="PUNC">}</span><span class="WHIT">
752
+ <span class='line'>745</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
753
+ <span class='line'>746</span>
754
+ <span class='line'>747</span> </span><span class="NAME">updateInCollectionEntites</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">value</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
755
+ <span class='line'>748</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">ces</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._collectionEntities</span><span class="PUNC">;</span><span class="WHIT">
756
+ <span class='line'>749</span> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">key</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">ces</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
757
+ <span class='line'>750</span> </span><span class="NAME">ces</span><span class="PUNC">[</span><span class="NAME">key</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">update</span><span class="PUNC">(</span><span class="NAME">value</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
758
+ <span class='line'>751</span> </span><span class="PUNC">}</span><span class="WHIT">
759
+ <span class='line'>752</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
760
+ <span class='line'>753</span>
761
+ <span class='line'>754</span> </span><span class="NAME">removeFromCollectionEntities</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">value</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
762
+ <span class='line'>755</span> </span><span class="NAME">Object.values</span><span class="PUNC">(</span><span class="NAME">this._collectionEntities</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">collectionEntity</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
763
+ <span class='line'>756</span> </span><span class="NAME">collectionEntity.remove</span><span class="PUNC">(</span><span class="NAME">value</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
764
+ <span class='line'>757</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
765
+ <span class='line'>758</span> </span><span class="PUNC">}</span><span class="WHIT">
766
+ <span class='line'>759</span>
767
+ <span class='line'>760</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
768
+ <span class='line'>761</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
769
+ <span class='line'>762</span>
770
+ <span class='line'>763</span> </span><span class="NAME">hasChannel</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
771
+ <span class='line'>764</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
772
+ <span class='line'>765</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
773
+ <span class='line'>766</span>
774
+ <span class='line'>767</span> </span><span class="NAME">channel</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
775
+ <span class='line'>768</span> </span><span class="NAME">model.addMethods</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
776
+ <span class='line'>769</span> </span><span class="NAME">broadcast</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
777
+ <span class='line'>770</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">args</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$A</span><span class="PUNC">(</span><span class="NAME">arguments</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
778
+ <span class='line'>771</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">methodName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">args.shift</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
779
+ <span class='line'>772</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">body</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
780
+ <span class='line'>773</span> </span><span class="NAME">id</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">this.getId</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">toString</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
781
+ <span class='line'>774</span> </span><span class="NAME">method</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">methodName</span><span class="PUNC">,</span><span class="WHIT">
782
+ <span class='line'>775</span> </span><span class="NAME">args</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">args</span><span class="WHIT">
783
+ <span class='line'>776</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
784
+ <span class='line'>777</span>
785
+ <span class='line'>778</span> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Ajax.Request</span><span class="PUNC">(</span><span class="STRN">"/push/broadcast"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
786
+ <span class='line'>779</span> </span><span class="NAME">asynchronous</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
787
+ <span class='line'>780</span> </span><span class="NAME">method</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"get"</span><span class="PUNC">,</span><span class="WHIT">
788
+ <span class='line'>781</span> </span><span class="NAME">evalJSON</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
789
+ <span class='line'>782</span> </span><span class="NAME">evalJS</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
790
+ <span class='line'>783</span> </span><span class="NAME">parameters</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
791
+ <span class='line'>784</span> </span><span class="NAME">channel</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">this.channelName</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
792
+ <span class='line'>785</span> </span><span class="NAME">message</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">body</span><span class="PUNC">)</span><span class="WHIT">
793
+ <span class='line'>786</span> </span><span class="PUNC">}</span><span class="WHIT">
794
+ <span class='line'>787</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
795
+ <span class='line'>788</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
796
+ <span class='line'>789</span>
797
+ <span class='line'>790</span> </span><span class="NAME">channelName</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
798
+ <span class='line'>791</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">model</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"."</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.getId</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
799
+ <span class='line'>792</span> </span><span class="PUNC">}</span><span class="WHIT">
800
+ <span class='line'>793</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
801
+ <span class='line'>794</span>
802
+ <span class='line'>795</span> </span><span class="NAME">Object.extend</span><span class="PUNC">(</span><span class="NAME">model</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
803
+ <span class='line'>796</span> </span><span class="NAME">hasChannel</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
804
+ <span class='line'>797</span>
805
+ <span class='line'>798</span> </span><span class="NAME">receiveBroadcast</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
806
+ <span class='line'>799</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">instance</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model.getFromCache</span><span class="PUNC">(</span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
807
+ <span class='line'>800</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">instance</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
808
+ <span class='line'>801</span> </span><span class="NAME">instance</span><span class="PUNC">[</span><span class="NAME">options.method</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">apply</span><span class="PUNC">(</span><span class="NAME">instance</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">options.args</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
809
+ <span class='line'>802</span> </span><span class="PUNC">}</span><span class="WHIT">
810
+ <span class='line'>803</span> </span><span class="PUNC">}</span><span class="WHIT">
811
+ <span class='line'>804</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
812
+ <span class='line'>805</span> </span><span class="PUNC">}</span><span class="WHIT">
813
+ <span class='line'>806</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
814
+ <span class='line'>807</span>
815
+ <span class='line'>808</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">args.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">args.last</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">args.last</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">ATTR</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
816
+ <span class='line'>809</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">initializers</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">args.last</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
817
+ <span class='line'>810</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Object.isString</span><span class="PUNC">(</span><span class="NAME">initializers.resource</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
818
+ <span class='line'>811</span> </span><span class="NAME">model.resource</span><span class="PUNC">(</span><span class="NAME">initializers.resource</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
819
+ <span class='line'>812</span> </span><span class="PUNC">}</span><span class="WHIT">
820
+ <span class='line'>813</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">initializers.channel</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
821
+ <span class='line'>814</span> </span><span class="NAME">model.channel</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
822
+ <span class='line'>815</span> </span><span class="PUNC">}</span><span class="WHIT">
823
+ <span class='line'>816</span>
824
+ <span class='line'>817</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">initializers.hasMany</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
825
+ <span class='line'>818</span> </span><span class="NAME">initializers.hasMany.each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
826
+ <span class='line'>819</span> </span><span class="NAME">model.hasMany</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
827
+ <span class='line'>820</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
828
+ <span class='line'>821</span> </span><span class="PUNC">}</span><span class="WHIT">
829
+ <span class='line'>822</span>
830
+ <span class='line'>823</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">initializers.belongsTo</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
831
+ <span class='line'>824</span> </span><span class="NAME">initializers.belongsTo.each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
832
+ <span class='line'>825</span> </span><span class="NAME">model.belongsTo</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
833
+ <span class='line'>826</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
834
+ <span class='line'>827</span> </span><span class="PUNC">}</span><span class="WHIT">
835
+ <span class='line'>828</span>
836
+ <span class='line'>829</span> </span><span class="PUNC">(</span><span class="NAME">initializers.clientOnlyAttrs</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">clientOnlyAttr</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
837
+ <span class='line'>830</span> </span><span class="NAME">model.clientOnlyAttr</span><span class="PUNC">(</span><span class="NAME">clientOnlyAttr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
838
+ <span class='line'>831</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
839
+ <span class='line'>832</span>
840
+ <span class='line'>833</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">initializers.undoEnabled</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
841
+ <span class='line'>834</span> </span><span class="NAME">model.undoEnabled</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
842
+ <span class='line'>835</span> </span><span class="PUNC">}</span><span class="WHIT">
843
+ <span class='line'>836</span>
844
+ <span class='line'>837</span> </span><span class="NAME">rio.Model.extend</span><span class="PUNC">(</span><span class="NAME">model</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">initializers.methods</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
845
+ <span class='line'>838</span> </span><span class="PUNC">}</span><span class="WHIT">
846
+ <span class='line'>839</span>
847
+ <span class='line'>840</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">model</span><span class="PUNC">;</span><span class="WHIT">
848
+ <span class='line'>841</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
849
+ <span class='line'>842</span>
850
+ <span class='line'>843</span> </span><span class="NAME">_findAllRequests</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
851
+ <span class='line'>844</span> </span><span class="NAME">afterActiveQueries</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">fcn</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
852
+ <span class='line'>845</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">count</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
853
+ <span class='line'>846</span> </span><span class="NAME">this._findAllRequests.each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">far</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
854
+ <span class='line'>847</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">far._complete</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
855
+ <span class='line'>848</span> </span><span class="NAME">count</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT">
856
+ <span class='line'>849</span> </span><span class="NAME">far.options.onComplete</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">far.options.onComplete</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">Prototype.emptyFunction</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">wrap</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">proceed</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
857
+ <span class='line'>850</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">ret</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">proceed</span><span class="PUNC">(</span><span class="NAME">arguments</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
858
+ <span class='line'>851</span> </span><span class="NAME">count</span><span class="PUNC">--</span><span class="PUNC">;</span><span class="WHIT">
859
+ <span class='line'>852</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">count</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">fcn</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
860
+ <span class='line'>853</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">ret</span><span class="PUNC">;</span><span class="WHIT">
861
+ <span class='line'>854</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
862
+ <span class='line'>855</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
863
+ <span class='line'>856</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">count</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">fcn</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
864
+ <span class='line'>857</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
865
+ <span class='line'>858</span>
866
+ <span class='line'>859</span> </span><span class="NAME">filterJson</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">json</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
867
+ <span class='line'>860</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">json.attributes</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">json.attributes</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
868
+ <span class='line'>861</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.environment.includeRootInJson</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">Object.values</span><span class="PUNC">(</span><span class="NAME">json</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">json</span><span class="PUNC">;</span><span class="WHIT">
869
+ <span class='line'>862</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
870
+ <span class='line'>863</span>
871
+ <span class='line'>864</span> </span><span class="NAME">remoteCreate</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
872
+ <span class='line'>865</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.transactionKey</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">rio.environment.transactionKey</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
873
+ <span class='line'>866</span> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
874
+ <span class='line'>867</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">results</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.Model.doRemoteCreate</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
875
+ <span class='line'>868</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">results.undoFunction</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
876
+ <span class='line'>869</span> </span><span class="NAME">rio.Undo.registerUndo</span><span class="PUNC">(</span><span class="NAME">results.undoFunction</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
877
+ <span class='line'>870</span> </span><span class="PUNC">}</span><span class="WHIT">
878
+ <span class='line'>871</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
879
+ <span class='line'>872</span> </span><span class="NAME">rio.error</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"Remote create error!"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
880
+ <span class='line'>873</span> </span><span class="PUNC">}</span><span class="WHIT">
881
+ <span class='line'>874</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
882
+ <span class='line'>875</span>
883
+ <span class='line'>876</span> </span><span class="NAME">remoteUpdate</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
884
+ <span class='line'>877</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.transactionKey</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">rio.environment.transactionKey</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
885
+ <span class='line'>878</span> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
886
+ <span class='line'>879</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">results</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.Model.doRemoteUpdate</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
887
+ <span class='line'>880</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">results.undoFunction</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
888
+ <span class='line'>881</span> </span><span class="NAME">rio.Undo.registerUndo</span><span class="PUNC">(</span><span class="NAME">results.undoFunction</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
889
+ <span class='line'>882</span> </span><span class="PUNC">}</span><span class="WHIT">
890
+ <span class='line'>883</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
891
+ <span class='line'>884</span> </span><span class="NAME">rio.error</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"Remote update error!"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
892
+ <span class='line'>885</span> </span><span class="PUNC">}</span><span class="WHIT">
893
+ <span class='line'>886</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
894
+ <span class='line'>887</span>
895
+ <span class='line'>888</span> </span><span class="NAME">remoteDestroy</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
896
+ <span class='line'>889</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.transactionKey</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">rio.environment.transactionKey</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
897
+ <span class='line'>890</span> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
898
+ <span class='line'>891</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">results</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.Model.doRemoteDestroy</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
899
+ <span class='line'>892</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">results.undoFunction</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
900
+ <span class='line'>893</span> </span><span class="NAME">rio.Undo.registerUndo</span><span class="PUNC">(</span><span class="NAME">results.undoFunction</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
901
+ <span class='line'>894</span> </span><span class="PUNC">}</span><span class="WHIT">
902
+ <span class='line'>895</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
903
+ <span class='line'>896</span> </span><span class="NAME">rio.error</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"Remote destroy error!"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
904
+ <span class='line'>897</span> </span><span class="PUNC">}</span><span class="WHIT">
905
+ <span class='line'>898</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
906
+ <span class='line'>899</span>
907
+ <span class='line'>900</span> </span><span class="NAME">doRemoteCreate</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
908
+ <span class='line'>901</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">model</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">options.name</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
909
+ <span class='line'>902</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">fromCache</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model.getFromCache</span><span class="PUNC">(</span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
910
+ <span class='line'>903</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">fromCache</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
911
+ <span class='line'>904</span> </span><span class="NAME">fromCache</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">model</span><span class="PUNC">(</span><span class="NAME">model._filterAndProcessJson</span><span class="PUNC">(</span><span class="NAME">options.json</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
912
+ <span class='line'>905</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
913
+ <span class='line'>906</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
914
+ <span class='line'>907</span> </span><span class="PUNC">}</span><span class="WHIT">
915
+ <span class='line'>908</span>
916
+ <span class='line'>909</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
917
+ <span class='line'>910</span> </span><span class="NAME">undoFunction</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">model.undoEnabled</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
918
+ <span class='line'>911</span> </span><span class="NAME">model.getFromCache</span><span class="PUNC">(</span><span class="NAME">fromCache.getId</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">destroy</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
919
+ <span class='line'>912</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
920
+ <span class='line'>913</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
921
+ <span class='line'>914</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
922
+ <span class='line'>915</span>
923
+ <span class='line'>916</span> </span><span class="NAME">doRemoteUpdate</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
924
+ <span class='line'>917</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">model</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">options.name</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
925
+ <span class='line'>918</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">instance</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model.getFromCache</span><span class="PUNC">(</span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
926
+ <span class='line'>919</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">instance</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
927
+ <span class='line'>920</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
928
+ <span class='line'>921</span> </span><span class="PUNC">}</span><span class="WHIT">
929
+ <span class='line'>922</span>
930
+ <span class='line'>923</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">json</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model._filterAndProcessJson</span><span class="PUNC">(</span><span class="NAME">options.json</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
931
+ <span class='line'>924</span>
932
+ <span class='line'>925</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">results</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
933
+ <span class='line'>926</span>
934
+ <span class='line'>927</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">model.undoEnabled</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
935
+ <span class='line'>928</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oldState</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">instance.attributeState</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
936
+ <span class='line'>929</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">processUndo</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
937
+ <span class='line'>930</span> </span><span class="NAME">model.getFromCache</span><span class="PUNC">(</span><span class="NAME">instance.getId</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">updateAttributes</span><span class="PUNC">(</span><span class="NAME">oldState</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
938
+ <span class='line'>931</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
939
+ <span class='line'>932</span> </span><span class="NAME">results.undoFunction</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">processUndo</span><span class="PUNC">;</span><span class="WHIT">
940
+ <span class='line'>933</span> </span><span class="PUNC">}</span><span class="WHIT">
941
+ <span class='line'>934</span>
942
+ <span class='line'>935</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">attributes</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Object.keys</span><span class="PUNC">(</span><span class="NAME">json</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">without</span><span class="PUNC">(</span><span class="STRN">"id"</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">inject</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">acc</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">k</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
943
+ <span class='line'>936</span> </span><span class="NAME">acc</span><span class="PUNC">[</span><span class="NAME">k.camelize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">json</span><span class="PUNC">[</span><span class="NAME">k</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
944
+ <span class='line'>937</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">acc</span><span class="PUNC">;</span><span class="WHIT">
945
+ <span class='line'>938</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
946
+ <span class='line'>939</span> </span><span class="NAME">instance.updateAttributes</span><span class="PUNC">(</span><span class="NAME">attributes</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">skipSave</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
947
+ <span class='line'>940</span> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">options.name</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">updateInCollectionEntites</span><span class="PUNC">(</span><span class="NAME">instance</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
948
+ <span class='line'>941</span>
949
+ <span class='line'>942</span> </span><span class="NAME">instance._lastSavedState</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">instance.attributeState</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
950
+ <span class='line'>943</span>
951
+ <span class='line'>944</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">results</span><span class="PUNC">;</span><span class="WHIT">
952
+ <span class='line'>945</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
953
+ <span class='line'>946</span>
954
+ <span class='line'>947</span> </span><span class="NAME">doRemoteDestroy</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
955
+ <span class='line'>948</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">model</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">options.name</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
956
+ <span class='line'>949</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">fromCache</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model.getFromCache</span><span class="PUNC">(</span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
957
+ <span class='line'>950</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">results</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
958
+ <span class='line'>951</span>
959
+ <span class='line'>952</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">fromCache</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
960
+ <span class='line'>953</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">model.undoEnabled</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
961
+ <span class='line'>954</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oldState</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">fromCache.attributeState</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
962
+ <span class='line'>955</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">processUndo</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
963
+ <span class='line'>956</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">instance</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">model</span><span class="PUNC">(</span><span class="NAME">Object.extend</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">id</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">fromCache.getId</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oldState</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
964
+ <span class='line'>957</span> </span><span class="NAME">instance._lastSavedState</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">;</span><span class="WHIT">
965
+ <span class='line'>958</span> </span><span class="NAME">instance.save</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
966
+ <span class='line'>959</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
967
+ <span class='line'>960</span> </span><span class="NAME">results.undoFunction</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">processUndo</span><span class="PUNC">;</span><span class="WHIT">
968
+ <span class='line'>961</span> </span><span class="PUNC">}</span><span class="WHIT">
969
+ <span class='line'>962</span>
970
+ <span class='line'>963</span> </span><span class="NAME">fromCache.removeFromCaches</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
971
+ <span class='line'>964</span>
972
+ <span class='line'>965</span> </span><span class="NAME">fromCache.fire</span><span class="PUNC">(</span><span class="STRN">"destroy"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
973
+ <span class='line'>966</span> </span><span class="PUNC">}</span><span class="WHIT">
974
+ <span class='line'>967</span>
975
+ <span class='line'>968</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">results</span><span class="PUNC">;</span><span class="WHIT">
976
+ <span class='line'>969</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
977
+ <span class='line'>970</span>
978
+ <span class='line'>971</span> </span><span class="NAME">remoteTransaction</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">transactionData</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
979
+ <span class='line'>972</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">transactionData.transactionKey</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">rio.environment.transactionKey</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
980
+ <span class='line'>973</span> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
981
+ <span class='line'>974</span> </span><span class="COMM">// TODO: Two potential bugs here</span><span class="WHIT">
982
+ <span class='line'>975</span> </span><span class="COMM">//</span><span class="WHIT">
983
+ <span class='line'>976</span> </span><span class="COMM">// 1) Need to execute this in a rio.Attr.transaction</span><span class="WHIT">
984
+ <span class='line'>977</span> </span><span class="COMM">// 2) Need to get back the collection entity process functions from _filterAndProcessJsonWhileAccumulatingCollectionEntities</span><span class="WHIT">
985
+ <span class='line'>978</span> </span><span class="COMM">// and run them at the end. Otherwise we might have reification collisions.</span><span class="WHIT">
986
+ <span class='line'>979</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">resultSets</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">transactionData.transaction.map</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">t</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
987
+ <span class='line'>980</span> </span><span class="KEYW">switch</span><span class="PUNC">(</span><span class="NAME">t.action</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
988
+ <span class='line'>981</span> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"create"</span><span class="PUNC">:</span><span class="WHIT">
989
+ <span class='line'>982</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">rio.Model.doRemoteCreate</span><span class="PUNC">(</span><span class="NAME">t</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
990
+ <span class='line'>983</span> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"update"</span><span class="PUNC">:</span><span class="WHIT">
991
+ <span class='line'>984</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">rio.Model.doRemoteUpdate</span><span class="PUNC">(</span><span class="NAME">t</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
992
+ <span class='line'>985</span> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"destroy"</span><span class="PUNC">:</span><span class="WHIT">
993
+ <span class='line'>986</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">rio.Model.doRemoteDestroy</span><span class="PUNC">(</span><span class="NAME">t</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
994
+ <span class='line'>987</span> </span><span class="PUNC">}</span><span class="WHIT">
995
+ <span class='line'>988</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
996
+ <span class='line'>989</span>
997
+ <span class='line'>990</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">undos</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">resultSets.map</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">r</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">r.undoFunction</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">compact</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
998
+ <span class='line'>991</span>
999
+ <span class='line'>992</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">undos.empty</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1000
+ <span class='line'>993</span> </span><span class="NAME">rio.Undo.registerUndo</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1001
+ <span class='line'>994</span> </span><span class="NAME">undos.each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">undo</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1002
+ <span class='line'>995</span> </span><span class="NAME">undo</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1003
+ <span class='line'>996</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1004
+ <span class='line'>997</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1005
+ <span class='line'>998</span> </span><span class="PUNC">}</span><span class="WHIT">
1006
+ <span class='line'>999</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1007
+ <span class='line'>1000</span> </span><span class="NAME">rio.error</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"Remote transaction error!"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1008
+ <span class='line'>1001</span> </span><span class="PUNC">}</span><span class="WHIT">
1009
+ <span class='line'>1002</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
1010
+ <span class='line'>1003</span>
1011
+ <span class='line'>1004</span> </span><span class="NAME">extend</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">model</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">extension</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1012
+ <span class='line'>1005</span>
1013
+ <span class='line'>1006</span> </span><span class="NAME">extension.__initialize</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">extension.initialize</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">Prototype.emptyFunction</span><span class="PUNC">;</span><span class="WHIT">
1014
+ <span class='line'>1007</span> </span><span class="NAME">extension.initialize</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1015
+ <span class='line'>1008</span> </span><span class="NAME">this.__model</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model</span><span class="PUNC">;</span><span class="WHIT">
1016
+ <span class='line'>1009</span>
1017
+ <span class='line'>1010</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">model.url</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1018
+ <span class='line'>1011</span> </span><span class="NAME">options.id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1019
+ <span class='line'>1012</span> </span><span class="NAME">this._id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.id</span><span class="PUNC">;</span><span class="WHIT">
1020
+ <span class='line'>1013</span> </span><span class="PUNC">}</span><span class="WHIT">
1021
+ <span class='line'>1014</span>
1022
+ <span class='line'>1015</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">options.id.constructor</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">rio.Id</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">model.id</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1023
+ <span class='line'>1016</span> </span><span class="NAME">options.id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model.id</span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1024
+ <span class='line'>1017</span> </span><span class="NAME">this.setId</span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1025
+ <span class='line'>1018</span> </span><span class="PUNC">}</span><span class="WHIT">
1026
+ <span class='line'>1019</span>
1027
+ <span class='line'>1020</span> </span><span class="PUNC">(</span><span class="NAME">this.__initialize.bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1028
+ <span class='line'>1021</span>
1029
+ <span class='line'>1022</span> </span><span class="COMM">// Add the hasManyAssocitation#create methods</span><span class="WHIT">
1030
+ <span class='line'>1023</span> </span><span class="NAME">Object.keys</span><span class="PUNC">(</span><span class="NAME">model._hasManyAssociations</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">hasManyName</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1031
+ <span class='line'>1024</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">model._hasManyAssociations</span><span class="PUNC">[</span><span class="NAME">hasManyName</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1032
+ <span class='line'>1025</span> </span><span class="KEYW">this</span><span class="PUNC">[</span><span class="NAME">hasManyName</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">create</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">createOptions</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1033
+ <span class='line'>1026</span> </span><span class="COMM">// In the case that the entity is still new, we should preload the association</span><span class="WHIT">
1034
+ <span class='line'>1027</span> </span><span class="COMM">// to make sure no entries are missed</span><span class="WHIT">
1035
+ <span class='line'>1028</span> </span><span class="COMM">// TODO: before we can wrap in isNew, we need to make the spec fixture proxy include created entities</span><span class="WHIT">
1036
+ <span class='line'>1029</span> </span><span class="COMM">// if (this.isNew()) {</span><span class="WHIT">
1037
+ <span class='line'>1030</span> </span><span class="KEYW">this</span><span class="PUNC">[</span><span class="PUNC">(</span><span class="STRN">"get-"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">hasManyName</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">camelize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1038
+ <span class='line'>1031</span> </span><span class="COMM">// }</span><span class="WHIT">
1039
+ <span class='line'>1032</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">parameters</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Object.clone</span><span class="PUNC">(</span><span class="NAME">options.parameters</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1040
+ <span class='line'>1033</span> </span><span class="NAME">parameters</span><span class="PUNC">[</span><span class="NAME">options.foreignKey</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getId</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1041
+ <span class='line'>1034</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">rio.models</span><span class="PUNC">[</span><span class="NAME">options.className</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">create</span><span class="PUNC">(</span><span class="NAME">Object.extend</span><span class="PUNC">(</span><span class="NAME">createOptions</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parameters</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1042
+ <span class='line'>1035</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1043
+ <span class='line'>1036</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1044
+ <span class='line'>1037</span>
1045
+ <span class='line'>1038</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">model.hasChannel</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1046
+ <span class='line'>1039</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rio.push</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1047
+ <span class='line'>1040</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">addChannel</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1048
+ <span class='line'>1041</span> </span><span class="NAME">rio.push.addChannel</span><span class="PUNC">(</span><span class="NAME">this.channelName</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1049
+ <span class='line'>1042</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1050
+ <span class='line'>1043</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">options.id.temporary</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1051
+ <span class='line'>1044</span> </span><span class="NAME">options.id.doAfterReification</span><span class="PUNC">(</span><span class="NAME">addChannel</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1052
+ <span class='line'>1045</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1053
+ <span class='line'>1046</span> </span><span class="NAME">addChannel</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1054
+ <span class='line'>1047</span> </span><span class="PUNC">}</span><span class="WHIT">
1055
+ <span class='line'>1048</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1056
+ <span class='line'>1049</span> </span><span class="NAME">rio.warn</span><span class="PUNC">(</span><span class="STRN">"Attempted to add a channel without an available push server"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1057
+ <span class='line'>1050</span> </span><span class="PUNC">}</span><span class="WHIT">
1058
+ <span class='line'>1051</span> </span><span class="PUNC">}</span><span class="WHIT">
1059
+ <span class='line'>1052</span>
1060
+ <span class='line'>1053</span> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
1061
+ <span class='line'>1054</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">model.url</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1062
+ <span class='line'>1055</span> </span><span class="NAME">model.putInCache</span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1063
+ <span class='line'>1056</span> </span><span class="PUNC">}</span><span class="WHIT">
1064
+ <span class='line'>1057</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">options.id</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">options.id.temporary</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">options.id.temporary</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1065
+ <span class='line'>1058</span> </span><span class="NAME">this._lastSavedState</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.attributeState</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1066
+ <span class='line'>1059</span> </span><span class="PUNC">}</span><span class="WHIT">
1067
+ <span class='line'>1060</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
1068
+ <span class='line'>1061</span>
1069
+ <span class='line'>1062</span> </span><span class="NAME">rio.Attr.extend</span><span class="PUNC">(</span><span class="NAME">model</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">extension</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1070
+ <span class='line'>1063</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
1071
+ <span class='line'>1064</span>
1072
+ <span class='line'>1065</span> </span><span class="NAME">toString</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1073
+ <span class='line'>1066</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">"Model"</span><span class="PUNC">;</span><span class="WHIT">
1074
+ <span class='line'>1067</span> </span><span class="PUNC">}</span><span class="WHIT">
1075
+ <span class='line'>1068</span> </span><span class="PUNC">}</span><span class="PUNC">;</span></pre></body></html>