riojs 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +20 -0
- data/README.rdoc +24 -0
- data/VERSION +1 -0
- data/bin/rio +5 -0
- data/generators/rio_app/USAGE +19 -0
- data/generators/rio_app/rio_app_generator.rb +40 -0
- data/generators/rio_app/templates/app.build +10 -0
- data/generators/rio_app/templates/app.css +0 -0
- data/generators/rio_app/templates/app.js +20 -0
- data/generators/rio_app/templates/app_view.html.erb +19 -0
- data/generators/rio_app/templates/fixture.js +4 -0
- data/generators/rio_app/templates/rio.html.erb +18 -0
- data/generators/rio_app/templates/rio_controller.rb +2 -0
- data/generators/rio_app/templates/spec.js +7 -0
- data/generators/rio_component/USAGE +13 -0
- data/generators/rio_component/rio_component_generator.rb +16 -0
- data/generators/rio_component/templates/component.css +0 -0
- data/generators/rio_component/templates/component.js +11 -0
- data/generators/rio_component/templates/fixture.js +3 -0
- data/generators/rio_component/templates/spec.js +6 -0
- data/generators/rio_model/USAGE +12 -0
- data/generators/rio_model/rio_model_generator.rb +21 -0
- data/generators/rio_model/templates/fixture.js +3 -0
- data/generators/rio_model/templates/model.js +9 -0
- data/generators/rio_model/templates/spec.js +6 -0
- data/generators/rio_page/USAGE +14 -0
- data/generators/rio_page/rio_page_generator.rb +16 -0
- data/generators/rio_page/templates/fixture.js +3 -0
- data/generators/rio_page/templates/page.css +12 -0
- data/generators/rio_page/templates/page.js +12 -0
- data/generators/rio_page/templates/page.jst +64 -0
- data/generators/rio_page/templates/spec.js +6 -0
- data/generators/rio_resource/USAGE +20 -0
- data/generators/rio_resource/rio_resource_generator.rb +10 -0
- data/generators/rio_resource/templates/controller.rb +3 -0
- data/init.rb +4 -0
- data/install/config/juggernaut_hosts.yml +18 -0
- data/install/lib/tasks/rio.rake +1 -0
- data/install/script/rio_server +37 -0
- data/lib/rio/autospec.rb +86 -0
- data/lib/rio/install.rb +90 -0
- data/lib/rio/juggernaut.rb +212 -0
- data/lib/rio/path.rb +3 -0
- data/lib/rio/rio_compressor.rb +219 -0
- data/lib/rio/rio_file_controller.rb +16 -0
- data/lib/rio/rio_on_rails.rb +586 -0
- data/lib/rio/rio_proxy_controller.rb +60 -0
- data/lib/rio/rio_push_controller.rb +48 -0
- data/lib/rio/rio_routes.rb +24 -0
- data/lib/rio/rio_spec_controller.rb +70 -0
- data/lib/riojs.rb +14 -0
- data/lib/tasks/rio.rb +63 -0
- data/public/images/background-chiffon.png +0 -0
- data/public/images/button-gradient-overlay-down.png +0 -0
- data/public/images/button-gradient-overlay.png +0 -0
- data/public/images/icons/add.png +0 -0
- data/public/images/icons/error-big.png +0 -0
- data/public/images/icons/warning-big.png +0 -0
- data/public/images/rio-logo-big.png +0 -0
- data/public/images/rio-logo.png +0 -0
- data/public/images/splitter-handle-horizontal.png +0 -0
- data/public/images/splitter-handle-vertical.png +0 -0
- data/public/images/tab-bar-gradient-overlay.png +0 -0
- data/public/images/title-gradient-overlay.png +0 -0
- data/public/images/trash.gif +0 -0
- data/public/javascripts/components/accordion.js +144 -0
- data/public/javascripts/components/alert_box.js +59 -0
- data/public/javascripts/components/base.js +47 -0
- data/public/javascripts/components/box.js +63 -0
- data/public/javascripts/components/button.js +98 -0
- data/public/javascripts/components/checkbox.js +44 -0
- data/public/javascripts/components/container.js +265 -0
- data/public/javascripts/components/grid_view.js +107 -0
- data/public/javascripts/components/image.js +19 -0
- data/public/javascripts/components/input.js +171 -0
- data/public/javascripts/components/label.js +15 -0
- data/public/javascripts/components/lightbox.js +160 -0
- data/public/javascripts/components/link.js +43 -0
- data/public/javascripts/components/list_item.js +44 -0
- data/public/javascripts/components/list_view.js +192 -0
- data/public/javascripts/components/marquee.js +131 -0
- data/public/javascripts/components/menu.js +89 -0
- data/public/javascripts/components/notification.js +75 -0
- data/public/javascripts/components/overlay.js +134 -0
- data/public/javascripts/components/panel.js +146 -0
- data/public/javascripts/components/radio.js +46 -0
- data/public/javascripts/components/splitter.js +65 -0
- data/public/javascripts/components/tab_bar.js +64 -0
- data/public/javascripts/components/tab_panel.js +57 -0
- data/public/javascripts/components/textarea.js +223 -0
- data/public/javascripts/components/toggle_button.js +22 -0
- data/public/javascripts/components/tooltip.js +80 -0
- data/public/javascripts/lib/application.js +482 -0
- data/public/javascripts/lib/attr.js +760 -0
- data/public/javascripts/lib/benchmark.js +235 -0
- data/public/javascripts/lib/blank.html +39 -0
- data/public/javascripts/lib/boot.js +300 -0
- data/public/javascripts/lib/clipboard.js +96 -0
- data/public/javascripts/lib/collection_entity.js +46 -0
- data/public/javascripts/lib/component.js +129 -0
- data/public/javascripts/lib/console.js +75 -0
- data/public/javascripts/lib/console/apps/console.build +43 -0
- data/public/javascripts/lib/console/apps/console.js +28 -0
- data/public/javascripts/lib/console/blank.html +39 -0
- data/public/javascripts/lib/console/components/benchmark.js +196 -0
- data/public/javascripts/lib/console/components/console.js +352 -0
- data/public/javascripts/lib/console/components/dependencies_list.js +17 -0
- data/public/javascripts/lib/console/components/docs.js +66 -0
- data/public/javascripts/lib/console/components/playground.js +30 -0
- data/public/javascripts/lib/console/console.html +27 -0
- data/public/javascripts/lib/console/console_commands.js +287 -0
- data/public/javascripts/lib/console/console_commands.js.rej +21 -0
- data/public/javascripts/lib/console/console_mixin.js +22 -0
- data/public/javascripts/lib/console/docs/files.html +579 -0
- data/public/javascripts/lib/console/docs/index.html +323 -0
- data/public/javascripts/lib/console/docs/symbols/Object.html +291 -0
- data/public/javascripts/lib/console/docs/symbols/_global_.html +413 -0
- data/public/javascripts/lib/console/docs/symbols/rio.AIM.html +490 -0
- data/public/javascripts/lib/console/docs/symbols/rio.Application.html +841 -0
- data/public/javascripts/lib/console/docs/symbols/rio.Attr.html +1075 -0
- data/public/javascripts/lib/console/docs/symbols/rio.Binding.html +272 -0
- data/public/javascripts/lib/console/docs/symbols/rio.Component.html +419 -0
- data/public/javascripts/lib/console/docs/symbols/rio.Cookie.html +543 -0
- data/public/javascripts/lib/console/docs/symbols/rio.DelayedTask#initialize.html +270 -0
- data/public/javascripts/lib/console/docs/symbols/rio.DelayedTask.html +391 -0
- data/public/javascripts/lib/console/docs/symbols/rio.JsTemplate.html +271 -0
- data/public/javascripts/lib/console/docs/symbols/rio.Juggernaut.html +329 -0
- data/public/javascripts/lib/console/docs/symbols/rio.Model.html +822 -0
- data/public/javascripts/lib/console/docs/symbols/rio.Page.html +383 -0
- data/public/javascripts/lib/console/docs/symbols/rio.Template.html +328 -0
- data/public/javascripts/lib/console/docs/symbols/rio.Utils.html +617 -0
- data/public/javascripts/lib/console/docs/symbols/rio.html +506 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_components_base.js.html +54 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_application.js.html +490 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_attr.js.html +768 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_boot.js.html +308 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_clipboard.js.html +103 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_collection_entity.js.html +53 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_component.js.html +137 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_cookie.js.html +81 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_delayed_task.js.html +68 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_file.js.html +80 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_flash_detect.js.html +129 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_form.js.html +95 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_id.js.html +50 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_inflector.js.html +167 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_js_template.js.html +283 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_juggernaut.js.html +303 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_key_map.js.html +68 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_layout_manager.js.html +175 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_log.js.html +17 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_model.js.html +1074 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_page.js.html +246 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_parameters.js.html +66 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_protohack.js.html +305 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_push.js.html +12 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_rsh.js.html +659 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_swfobject.js.html +12 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_tag.js.html +60 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_template.js.html +64 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_theme.js.html +105 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_undo.js.html +142 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_utils.js.html +87 -0
- data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_yaml.js.html +88 -0
- data/public/javascripts/lib/console/file-small.png +0 -0
- data/public/javascripts/lib/console/green-circle.png +0 -0
- data/public/javascripts/lib/console/loading.gif +0 -0
- data/public/javascripts/lib/console/pages/console_page.js +149 -0
- data/public/javascripts/lib/console/pages/console_page.jst +27 -0
- data/public/javascripts/lib/console/red-circle.png +0 -0
- data/public/javascripts/lib/cookie.js +74 -0
- data/public/javascripts/lib/delayed_task.js +61 -0
- data/public/javascripts/lib/dependencies.js +76 -0
- data/public/javascripts/lib/environment.js +30 -0
- data/public/javascripts/lib/event.simulate.js +137 -0
- data/public/javascripts/lib/expressinstall.swf +0 -0
- data/public/javascripts/lib/file.js +72 -0
- data/public/javascripts/lib/flash_detect.js +122 -0
- data/public/javascripts/lib/flashembed.min.js +16 -0
- data/public/javascripts/lib/form.js +88 -0
- data/public/javascripts/lib/id.js +43 -0
- data/public/javascripts/lib/inflector.js +160 -0
- data/public/javascripts/lib/instrumenter.js +106 -0
- data/public/javascripts/lib/js_template.js +275 -0
- data/public/javascripts/lib/jslint.js +4950 -0
- data/public/javascripts/lib/juggernaut.js +295 -0
- data/public/javascripts/lib/juggernaut.swf +0 -0
- data/public/javascripts/lib/key_map.js +60 -0
- data/public/javascripts/lib/layout_manager.js +167 -0
- data/public/javascripts/lib/model.js +1067 -0
- data/public/javascripts/lib/page.js +238 -0
- data/public/javascripts/lib/parameters.js +59 -0
- data/public/javascripts/lib/png_fix.js +75 -0
- data/public/javascripts/lib/protohack.js +297 -0
- data/public/javascripts/lib/push.js +5 -0
- data/public/javascripts/lib/rio.build +28 -0
- data/public/javascripts/lib/rio_development.build +5 -0
- data/public/javascripts/lib/rio_lint.js +66 -0
- data/public/javascripts/lib/rsh.js +651 -0
- data/public/javascripts/lib/spec.js +545 -0
- data/public/javascripts/lib/spec_runner.js +242 -0
- data/public/javascripts/lib/swfobject.js +5 -0
- data/public/javascripts/lib/tag.js +52 -0
- data/public/javascripts/lib/undo.js +134 -0
- data/public/javascripts/lib/utils.js +80 -0
- data/public/javascripts/lib/yaml.js +80 -0
- data/public/javascripts/pages/playground_page.js +15 -0
- data/public/javascripts/prototype/builder.js +146 -0
- data/public/javascripts/prototype/controls.js +1004 -0
- data/public/javascripts/prototype/dragdrop.js +1030 -0
- data/public/javascripts/prototype/effects.js +1137 -0
- data/public/javascripts/prototype/prototype.js +4320 -0
- data/public/javascripts/prototype/slider.js +283 -0
- data/public/javascripts/prototype/sound.js +67 -0
- data/public/javascripts/specs/components/box_spec.js +6 -0
- data/public/javascripts/specs/components/checkbox_spec.js +26 -0
- data/public/javascripts/specs/components/container_spec.js +6 -0
- data/public/javascripts/specs/components/input_spec.js +71 -0
- data/public/javascripts/specs/components/panel_spec.js +6 -0
- data/public/javascripts/specs/components/radio_spec.js +40 -0
- data/public/javascripts/specs/fixtures/components/box.js +3 -0
- data/public/javascripts/specs/fixtures/components/checkbox.js +9 -0
- data/public/javascripts/specs/fixtures/components/container.js +3 -0
- data/public/javascripts/specs/fixtures/components/input.js +12 -0
- data/public/javascripts/specs/fixtures/components/menu.js +19 -0
- data/public/javascripts/specs/fixtures/components/menu_item.js +18 -0
- data/public/javascripts/specs/fixtures/components/radio.js +11 -0
- data/public/javascripts/specs/lib/application_spec.js +281 -0
- data/public/javascripts/specs/lib/attr_spec.js +1514 -0
- data/public/javascripts/specs/lib/benchmark_spec.js +361 -0
- data/public/javascripts/specs/lib/collection_entity_spec.js +131 -0
- data/public/javascripts/specs/lib/component_spec.js +86 -0
- data/public/javascripts/specs/lib/form_spec.js +171 -0
- data/public/javascripts/specs/lib/id_spec.js +21 -0
- data/public/javascripts/specs/lib/instrumenter_spec.js +5 -0
- data/public/javascripts/specs/lib/js_template_spec.js +131 -0
- data/public/javascripts/specs/lib/key_map_spec.js +227 -0
- data/public/javascripts/specs/lib/model_spec.js +2268 -0
- data/public/javascripts/specs/lib/parameters_spec.js +94 -0
- data/public/javascripts/specs/lib/spec_spec.js +943 -0
- data/public/javascripts/specs/lib/undo_spec.js +105 -0
- data/public/javascripts/specs/lib/yaml_spec.js +127 -0
- data/public/sounds/basso.wav +0 -0
- data/public/sounds/purr.wav +0 -0
- data/public/stylesheets/components/accordion.css +24 -0
- data/public/stylesheets/components/alert_box.css +35 -0
- data/public/stylesheets/components/box.css +0 -0
- data/public/stylesheets/components/button.css +39 -0
- data/public/stylesheets/components/checkbox.css +9 -0
- data/public/stylesheets/components/container.css +3 -0
- data/public/stylesheets/components/grid_view.css +52 -0
- data/public/stylesheets/components/input.css +10 -0
- data/public/stylesheets/components/label.css +3 -0
- data/public/stylesheets/components/lightbox.css +31 -0
- data/public/stylesheets/components/link.css +4 -0
- data/public/stylesheets/components/list_view.css +23 -0
- data/public/stylesheets/components/marquee.css +29 -0
- data/public/stylesheets/components/menu.css +34 -0
- data/public/stylesheets/components/notification.css +52 -0
- data/public/stylesheets/components/overlay.css +8 -0
- data/public/stylesheets/components/panel.css +36 -0
- data/public/stylesheets/components/radio.css +9 -0
- data/public/stylesheets/components/splitter.css +35 -0
- data/public/stylesheets/components/tab_bar.css +59 -0
- data/public/stylesheets/components/tab_panel.css +15 -0
- data/public/stylesheets/components/textarea.css +11 -0
- data/public/stylesheets/components/tooltip.css +10 -0
- data/public/stylesheets/console.css +151 -0
- data/public/stylesheets/css_reset.css +55 -0
- metadata +343 -0
data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_juggernaut.js.html
ADDED
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"> <style>
|
|
2
|
+
.KEYW {color: #933;}
|
|
3
|
+
.COMM {color: #bbb; font-style: italic;}
|
|
4
|
+
.NUMB {color: #393;}
|
|
5
|
+
.STRN {color: #393;}
|
|
6
|
+
.REGX {color: #339;}
|
|
7
|
+
.line {border-right: 1px dotted #666; color: #666; font-style: normal;}
|
|
8
|
+
</style></head><body><pre><span class='line'> 1</span> <span class="COMM">/*
|
|
9
|
+
<span class='line'> 2</span> Copyright (c) 2008 Alexander MacCaw
|
|
10
|
+
<span class='line'> 3</span>
|
|
11
|
+
<span class='line'> 4</span> Permission is hereby granted, free of charge, to any person obtaining
|
|
12
|
+
<span class='line'> 5</span> a copy of this software and associated documentation files (the
|
|
13
|
+
<span class='line'> 6</span> "Software"), to deal in the Software without restriction, including
|
|
14
|
+
<span class='line'> 7</span> without limitation the rights to use, copy, modify, merge, publish,
|
|
15
|
+
<span class='line'> 8</span> distribute, sublicense, and/or sell copies of the Software, and to
|
|
16
|
+
<span class='line'> 9</span> permit persons to whom the Software is furnished to do so, subject to
|
|
17
|
+
<span class='line'> 10</span> the following conditions:
|
|
18
|
+
<span class='line'> 11</span>
|
|
19
|
+
<span class='line'> 12</span> The above copyright notice and this permission notice shall be
|
|
20
|
+
<span class='line'> 13</span> included in all copies or substantial portions of the Software.
|
|
21
|
+
<span class='line'> 14</span>
|
|
22
|
+
<span class='line'> 15</span> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
23
|
+
<span class='line'> 16</span> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
24
|
+
<span class='line'> 17</span> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
25
|
+
<span class='line'> 18</span> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
26
|
+
<span class='line'> 19</span> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
27
|
+
<span class='line'> 20</span> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
28
|
+
<span class='line'> 21</span> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
29
|
+
<span class='line'> 22</span> */</span><span class="WHIT">
|
|
30
|
+
<span class='line'> 23</span>
|
|
31
|
+
<span class='line'> 24</span> </span><span class="COMM">/* This variable has to be left here because Juggernaut.swf expects it. */</span><span class="WHIT">
|
|
32
|
+
<span class='line'> 25</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">juggernaut</span><span class="PUNC">;</span><span class="WHIT">
|
|
33
|
+
<span class='line'> 26</span>
|
|
34
|
+
<span class='line'> 27</span> </span><span class="COMM">/**
|
|
35
|
+
<span class='line'> 28</span> @class
|
|
36
|
+
<span class='line'> 29</span>
|
|
37
|
+
<span class='line'> 30</span> <p>Juggernaut is a utility that allows the server to initiate connections with the browser.</p>
|
|
38
|
+
<span class='line'> 31</span> <p>This is what facilitates the client-server bindings that allow for automatic-collborative models.</p>
|
|
39
|
+
<span class='line'> 32</span> <p><i>Note: this version of Juggernaut has been altered to work better with the rio framework.</i></p>
|
|
40
|
+
<span class='line'> 33</span> */</span><span class="WHIT">
|
|
41
|
+
<span class='line'> 34</span> </span><span class="NAME">rio.Juggernaut</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Class.create</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
|
|
42
|
+
<span class='line'> 35</span> </span><span class="NAME">initialize</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">
|
|
43
|
+
<span class='line'> 36</span> </span><span class="NAME">this.is_connected</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">
|
|
44
|
+
<span class='line'> 37</span> </span><span class="NAME">this.attempting_to_reconnect</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">
|
|
45
|
+
<span class='line'> 38</span> </span><span class="NAME">this.ever_been_connected</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">
|
|
46
|
+
<span class='line'> 39</span> </span><span class="NAME">this.options</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">
|
|
47
|
+
<span class='line'> 40</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.options.client_id</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
48
|
+
<span class='line'> 41</span> </span><span class="NAME">this.options.client_id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.options.session_id</span><span class="PUNC">;</span><span class="WHIT">
|
|
49
|
+
<span class='line'> 42</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
50
|
+
<span class='line'> 43</span>
|
|
51
|
+
<span class='line'> 44</span> </span><span class="NAME">this.bindToWindow</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
52
|
+
<span class='line'> 45</span>
|
|
53
|
+
<span class='line'> 46</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">connectionAttr</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.Attr.create</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
|
|
54
|
+
<span class='line'> 47</span> </span><span class="NAME">attrAccessors</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">[</span><span class="STRN">"live"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">]</span><span class="PUNC">]</span><span class="WHIT">
|
|
55
|
+
<span class='line'> 48</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
56
|
+
<span class='line'> 49</span> </span><span class="NAME">this.live</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">connectionAttr</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">live</span><span class="PUNC">;</span><span class="WHIT">
|
|
57
|
+
<span class='line'> 50</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
58
|
+
<span class='line'> 51</span>
|
|
59
|
+
<span class='line'> 52</span> </span><span class="NAME">logger</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">msg</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
60
|
+
<span class='line'> 53</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.options.debug</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
61
|
+
<span class='line'> 54</span> </span><span class="NAME">msg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"Juggernaut: "</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">" on "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.options.host</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.options.port</span><span class="PUNC">;</span><span class="WHIT">
|
|
62
|
+
<span class='line'> 55</span> </span><span class="NAME">rio.log</span><span class="PUNC">(</span><span class="NAME">msg</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
63
|
+
<span class='line'> 56</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
64
|
+
<span class='line'> 57</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
65
|
+
<span class='line'> 58</span>
|
|
66
|
+
<span class='line'> 59</span> </span><span class="NAME">initialized</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
|
67
|
+
<span class='line'> 60</span> </span><span class="NAME">this.fire_event</span><span class="PUNC">(</span><span class="STRN">'initialized'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
68
|
+
<span class='line'> 61</span> </span><span class="NAME">this.connect</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
69
|
+
<span class='line'> 62</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
70
|
+
<span class='line'> 63</span>
|
|
71
|
+
<span class='line'> 64</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="NAME">body</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">type</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">client_ids</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">channels</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
|
72
|
+
<span class='line'> 65</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">msg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">command</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'broadcast'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">body</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">body</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">type</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">type</span><span class="PUNC">||</span><span class="STRN">'to_channels'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
73
|
+
<span class='line'> 66</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">channels</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">msg.channels</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">channels</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
74
|
+
<span class='line'> 67</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">client_ids</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">msg.client_ids</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">client_ids</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
75
|
+
<span class='line'> 68</span> </span><span class="NAME">msg.client_id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.options.client_id</span><span class="PUNC">;</span><span class="WHIT">
|
|
76
|
+
<span class='line'> 69</span> </span><span class="NAME">msg.session_id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.options.session_id</span><span class="PUNC">;</span><span class="WHIT">
|
|
77
|
+
<span class='line'> 70</span> </span><span class="NAME">this.sendData</span><span class="PUNC">(</span><span class="NAME">this.toJSON</span><span class="PUNC">(</span><span class="NAME">msg</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
78
|
+
<span class='line'> 71</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
79
|
+
<span class='line'> 72</span>
|
|
80
|
+
<span class='line'> 73</span> </span><span class="NAME">sendData</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">data</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
|
81
|
+
<span class='line'> 74</span> </span><span class="NAME">this.swf</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">sendData</span><span class="PUNC">(</span><span class="NAME">escape</span><span class="PUNC">(</span><span class="NAME">data</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
82
|
+
<span class='line'> 75</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
83
|
+
<span class='line'> 76</span>
|
|
84
|
+
<span class='line'> 77</span> </span><span class="NAME">connect</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
|
85
|
+
<span class='line'> 78</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.is_connected</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
|
86
|
+
<span class='line'> 79</span> </span><span class="NAME">this.fire_event</span><span class="PUNC">(</span><span class="STRN">'connect'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
87
|
+
<span class='line'> 80</span> </span><span class="NAME">this.swf</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">connect</span><span class="PUNC">(</span><span class="NAME">this.options.host</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.options.port</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
88
|
+
<span class='line'> 81</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
89
|
+
<span class='line'> 82</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
90
|
+
<span class='line'> 83</span>
|
|
91
|
+
<span class='line'> 84</span> </span><span class="NAME">disconnect</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
|
92
|
+
<span class='line'> 85</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.is_connected</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
93
|
+
<span class='line'> 86</span> </span><span class="NAME">this.swf</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">disconnect</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
94
|
+
<span class='line'> 87</span> </span><span class="NAME">this.is_connected</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">
|
|
95
|
+
<span class='line'> 88</span> </span><span class="NAME">this.live.update</span><span class="PUNC">(</span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
96
|
+
<span class='line'> 89</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
97
|
+
<span class='line'> 90</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
98
|
+
<span class='line'> 91</span>
|
|
99
|
+
<span class='line'> 92</span> </span><span class="NAME">addChannel</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">channelName</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
100
|
+
<span class='line'> 93</span> </span><span class="NAME">this.options.channels.push</span><span class="PUNC">(</span><span class="NAME">channelName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
101
|
+
<span class='line'> 94</span> </span><span class="NAME">this.resetConnection</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
102
|
+
<span class='line'> 95</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
103
|
+
<span class='line'> 96</span>
|
|
104
|
+
<span class='line'> 97</span> </span><span class="COMM">// Added to facilitate subscription to new channels</span><span class="WHIT">
|
|
105
|
+
<span class='line'> 98</span> </span><span class="NAME">resetConnection</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">
|
|
106
|
+
<span class='line'> 99</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this._resetTask</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">this._resetTask</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.DelayedTask</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
107
|
+
<span class='line'>100</span> </span><span class="NAME">this._resetTask.delay</span><span class="PUNC">(</span><span class="NUMB">100</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">
|
|
108
|
+
<span class='line'>101</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="PUNC">(</span><span class="NAME">this.swf</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">this.swf</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">connect</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
109
|
+
<span class='line'>102</span> </span><span class="NAME">this.resetConnection.bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">delay</span><span class="PUNC">(</span><span class="NUMB">500</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
110
|
+
<span class='line'>103</span> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
|
|
111
|
+
<span class='line'>104</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
112
|
+
<span class='line'>105</span> </span><span class="NAME">this.disconnect</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
113
|
+
<span class='line'>106</span> </span><span class="NAME">this.connect</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
114
|
+
<span class='line'>107</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">
|
|
115
|
+
<span class='line'>108</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
116
|
+
<span class='line'>109</span>
|
|
117
|
+
<span class='line'>110</span> </span><span class="NAME">handshake</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">
|
|
118
|
+
<span class='line'>111</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">handshake</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">
|
|
119
|
+
<span class='line'>112</span> </span><span class="NAME">handshake.command</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'subscribe'</span><span class="PUNC">;</span><span class="WHIT">
|
|
120
|
+
<span class='line'>113</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.options.session_id</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">handshake.session_id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.options.session_id</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
121
|
+
<span class='line'>114</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.options.client_id</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">handshake.client_id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.options.client_id</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
122
|
+
<span class='line'>115</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.options.channels</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">handshake.channels</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.options.channels</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
123
|
+
<span class='line'>116</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.currentMsgId</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
124
|
+
<span class='line'>117</span> </span><span class="NAME">handshake.last_msg_id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.currentMsgId</span><span class="PUNC">;</span><span class="WHIT">
|
|
125
|
+
<span class='line'>118</span> </span><span class="NAME">handshake.signature</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.currentSignature</span><span class="PUNC">;</span><span class="WHIT">
|
|
126
|
+
<span class='line'>119</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
127
|
+
<span class='line'>120</span>
|
|
128
|
+
<span class='line'>121</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">handshake</span><span class="PUNC">;</span><span class="WHIT">
|
|
129
|
+
<span class='line'>122</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
130
|
+
<span class='line'>123</span>
|
|
131
|
+
<span class='line'>124</span> </span><span class="NAME">connected</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</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">
|
|
132
|
+
<span class='line'>125</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">this.toJSON</span><span class="PUNC">(</span><span class="NAME">this.handshake</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
133
|
+
<span class='line'>126</span> </span><span class="NAME">this.sendData</span><span class="PUNC">(</span><span class="NAME">json</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
134
|
+
<span class='line'>127</span> </span><span class="NAME">this.ever_been_connected</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">
|
|
135
|
+
<span class='line'>128</span> </span><span class="NAME">this.is_connected</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">
|
|
136
|
+
<span class='line'>129</span> </span><span class="NAME">this.live.update</span><span class="PUNC">(</span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
137
|
+
<span class='line'>130</span> </span><span class="NAME">setTimeout</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
|
138
|
+
<span class='line'>131</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.is_connected</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">this.attempting_to_reconnect</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"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
139
|
+
<span class='line'>132</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"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NUMB">1000</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
140
|
+
<span class='line'>133</span> </span><span class="NAME">this.logger</span><span class="PUNC">(</span><span class="STRN">'Connected'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
141
|
+
<span class='line'>134</span> </span><span class="NAME">this.fire_event</span><span class="PUNC">(</span><span class="STRN">'connected'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
142
|
+
<span class='line'>135</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
143
|
+
<span class='line'>136</span>
|
|
144
|
+
<span class='line'>137</span> </span><span class="COMM">// OVERRIDE FOR CHAT STYLE APPS - POSSIBLE MALICIOUS CONTENT CAN BE EVALED</span><span class="WHIT">
|
|
145
|
+
<span class='line'>138</span> </span><span class="NAME">receiveData</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</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">
|
|
146
|
+
<span class='line'>139</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">msg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.parseJSON</span><span class="PUNC">(</span><span class="NAME">unescape</span><span class="PUNC">(</span><span class="NAME">e.toString</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
147
|
+
<span class='line'>140</span> </span><span class="NAME">this.currentMsgId</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">msg.id</span><span class="PUNC">;</span><span class="WHIT">
|
|
148
|
+
<span class='line'>141</span> </span><span class="NAME">this.currentSignature</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">msg.signature</span><span class="PUNC">;</span><span class="WHIT">
|
|
149
|
+
<span class='line'>142</span>
|
|
150
|
+
<span class='line'>143</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">msg.body.startsWith</span><span class="PUNC">(</span><span class="STRN">"rio.console.touch"</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
151
|
+
<span class='line'>144</span> </span><span class="COMM">// don't log autospec stuff</span><span class="WHIT">
|
|
152
|
+
<span class='line'>145</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">
|
|
153
|
+
<span class='line'>146</span> </span><span class="NAME">this.logger</span><span class="PUNC">(</span><span class="STRN">"Received data:\n"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">msg.body</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"\n"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
154
|
+
<span class='line'>147</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
155
|
+
<span class='line'>148</span> </span><span class="NAME">eval</span><span class="PUNC">(</span><span class="NAME">msg.body</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
156
|
+
<span class='line'>149</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
157
|
+
<span class='line'>150</span>
|
|
158
|
+
<span class='line'>151</span> </span><span class="COMM">/*** START PROTOTYPE SPECIFIC - OVERRIDE FOR OTHER FRAMEWORKS ***/</span><span class="WHIT">
|
|
159
|
+
<span class='line'>152</span> </span><span class="NAME">fire_event</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">fx_name</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
160
|
+
<span class='line'>153</span> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">fire</span><span class="PUNC">(</span><span class="STRN">"juggernaut:"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">fx_name</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
161
|
+
<span class='line'>154</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
162
|
+
<span class='line'>155</span>
|
|
163
|
+
<span class='line'>156</span> </span><span class="NAME">bindToWindow</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">
|
|
164
|
+
<span class='line'>157</span> </span><span class="NAME">window.juggernaut</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
|
165
|
+
<span class='line'>158</span> </span><span class="NAME">this.appendFlashObject</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
166
|
+
<span class='line'>159</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
167
|
+
<span class='line'>160</span>
|
|
168
|
+
<span class='line'>161</span> </span><span class="NAME">toJSON</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">hash</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
169
|
+
<span class='line'>162</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">Object.toJSON</span><span class="PUNC">(</span><span class="NAME">hash</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
170
|
+
<span class='line'>163</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
171
|
+
<span class='line'>164</span>
|
|
172
|
+
<span class='line'>165</span> </span><span class="NAME">parseJSON</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">string</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">return</span><span class="WHIT"> </span><span class="NAME">string.evalJSON</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
174
|
+
<span class='line'>167</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
175
|
+
<span class='line'>168</span>
|
|
176
|
+
<span class='line'>169</span> </span><span class="NAME">swf</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
|
177
|
+
<span class='line'>170</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.options.swf_name</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
178
|
+
<span class='line'>171</span> </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="NAME">appendElement</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">
|
|
181
|
+
<span class='line'>174</span> </span><span class="NAME">this.element</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">Element</span><span class="PUNC">(</span><span class="STRN">'div'</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="STRN">'juggernaut'</span><span class="WHIT"> </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">$</span><span class="PUNC">(</span><span class="NAME">document.body</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">insert</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">bottom</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">this.element</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
183
|
+
<span class='line'>176</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
184
|
+
<span class='line'>177</span>
|
|
185
|
+
<span class='line'>178</span> </span><span class="COMM">/*** END PROTOTYPE SPECIFIC ***/</span><span class="WHIT">
|
|
186
|
+
<span class='line'>179</span>
|
|
187
|
+
<span class='line'>180</span> </span><span class="NAME">appendFlashObject</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
|
188
|
+
<span class='line'>181</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.swf</span><span class="PUNC">(</span><span class="PUNC">)</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="KEYW">throw</span><span class="PUNC">(</span><span class="STRN">"Juggernaut error. 'swf_name' must be unique per juggernaut instance."</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
190
|
+
<span class='line'>183</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
191
|
+
<span class='line'>184</span> </span><span class="NAME">this.appendElement</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
192
|
+
<span class='line'>185</span> </span><span class="NAME">rio.swfobject.embedSWF</span><span class="PUNC">(</span><span class="WHIT">
|
|
193
|
+
<span class='line'>186</span> </span><span class="NAME">this.options.swf_address</span><span class="PUNC">,</span><span class="WHIT">
|
|
194
|
+
<span class='line'>187</span> </span><span class="STRN">'juggernaut'</span><span class="PUNC">,</span><span class="WHIT">
|
|
195
|
+
<span class='line'>188</span> </span><span class="NAME">this.options.width</span><span class="PUNC">,</span><span class="WHIT">
|
|
196
|
+
<span class='line'>189</span> </span><span class="NAME">this.options.height</span><span class="PUNC">,</span><span class="WHIT">
|
|
197
|
+
<span class='line'>190</span> </span><span class="NAME">String</span><span class="PUNC">(</span><span class="NAME">this.options.flash_version</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
198
|
+
<span class='line'>191</span> </span><span class="NAME">this.options.ei_swf_address</span><span class="PUNC">,</span><span class="WHIT">
|
|
199
|
+
<span class='line'>192</span> </span><span class="PUNC">{</span><span class="STRN">'bridgeName'</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">this.options.bridge_name</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
200
|
+
<span class='line'>193</span> </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="STRN">'id'</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">this.options.swf_name</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'name'</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">this.options.swf_name</span><span class="PUNC">}</span><span class="WHIT">
|
|
202
|
+
<span class='line'>195</span> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
203
|
+
<span class='line'>196</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
204
|
+
<span class='line'>197</span>
|
|
205
|
+
<span class='line'>198</span> </span><span class="NAME">refreshFlashObject</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
|
206
|
+
<span class='line'>199</span> </span><span class="NAME">this.swf</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">remove</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
207
|
+
<span class='line'>200</span> </span><span class="NAME">this.appendFlashObject</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
208
|
+
<span class='line'>201</span> </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="NAME">errorConnecting</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</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">
|
|
211
|
+
<span class='line'>204</span> </span><span class="NAME">this.is_connected</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">
|
|
212
|
+
<span class='line'>205</span> </span><span class="NAME">this.live.update</span><span class="PUNC">(</span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
213
|
+
<span class='line'>206</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.attempting_to_reconnect</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
214
|
+
<span class='line'>207</span> </span><span class="NAME">this.logger</span><span class="PUNC">(</span><span class="STRN">'There has been an error connecting'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
215
|
+
<span class='line'>208</span> </span><span class="NAME">this.fire_event</span><span class="PUNC">(</span><span class="STRN">'errorConnecting'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
216
|
+
<span class='line'>209</span> </span><span class="NAME">this.reconnect</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> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
219
|
+
<span class='line'>212</span>
|
|
220
|
+
<span class='line'>213</span> </span><span class="NAME">disconnected</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</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">
|
|
221
|
+
<span class='line'>214</span> </span><span class="NAME">this.is_connected</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">
|
|
222
|
+
<span class='line'>215</span> </span><span class="NAME">this.live.update</span><span class="PUNC">(</span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
223
|
+
<span class='line'>216</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.attempting_to_reconnect</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">this.logger</span><span class="PUNC">(</span><span class="STRN">'Connection has been lost'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
225
|
+
<span class='line'>218</span> </span><span class="NAME">this.fire_event</span><span class="PUNC">(</span><span class="STRN">'disconnected'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
226
|
+
<span class='line'>219</span> </span><span class="NAME">this.reconnect</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
227
|
+
<span class='line'>220</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
228
|
+
<span class='line'>221</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
229
|
+
<span class='line'>222</span>
|
|
230
|
+
<span class='line'>223</span> </span><span class="NAME">reconnect</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
|
231
|
+
<span class='line'>224</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.options.reconnect_attempts</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
|
232
|
+
<span class='line'>225</span> </span><span class="NAME">this.attempting_to_reconnect</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">
|
|
233
|
+
<span class='line'>226</span> </span><span class="NAME">this.live.update</span><span class="PUNC">(</span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
234
|
+
<span class='line'>227</span> </span><span class="NAME">this.fire_event</span><span class="PUNC">(</span><span class="STRN">'reconnect'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
235
|
+
<span class='line'>228</span> </span><span class="NAME">this.logger</span><span class="PUNC">(</span><span class="STRN">'Will attempt to reconnect '</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.options.reconnect_attempts</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">' times,'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
236
|
+
<span class='line'>229</span> </span><span class="STRN">'the first in '</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.options.reconnect_intervals</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="STRN">' seconds'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
237
|
+
<span class='line'>230</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">attemptReconnect</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="PUNC">{</span><span class="WHIT">
|
|
238
|
+
<span class='line'>231</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.is_connected</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
|
239
|
+
<span class='line'>232</span> </span><span class="NAME">this.logger</span><span class="PUNC">(</span><span class="STRN">'Attempting reconnect'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
240
|
+
<span class='line'>233</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.ever_been_connected</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
|
241
|
+
<span class='line'>234</span> </span><span class="NAME">this.refreshFlashObject</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="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
243
|
+
<span class='line'>236</span> </span><span class="NAME">this.connect</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
244
|
+
<span class='line'>237</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
245
|
+
<span class='line'>238</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
246
|
+
<span class='line'>239</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">
|
|
247
|
+
<span class='line'>240</span> </span><span class="KEYW">for</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="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">this.options.reconnect_attempts</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">
|
|
248
|
+
<span class='line'>241</span> </span><span class="NAME">setTimeout</span><span class="PUNC">(</span><span class="NAME">attemptReconnect</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.options.reconnect_intervals</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="NUMB">1000</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">1</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="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>
|
|
254
|
+
<span class='line'>247</span> </span><span class="NAME">rio.Juggernaut.boot</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">
|
|
255
|
+
<span class='line'>248</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">push</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.Juggernaut</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
|
|
256
|
+
<span class='line'>249</span> </span><span class="NAME">ei_swf_address</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"/javascripts/lib/expressinstall.swf"</span><span class="PUNC">,</span><span class="WHIT">
|
|
257
|
+
<span class='line'>250</span> </span><span class="NAME">reconnect_intervals</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">,</span><span class="WHIT">
|
|
258
|
+
<span class='line'>251</span> </span><span class="NAME">flash_version</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">8</span><span class="PUNC">,</span><span class="WHIT">
|
|
259
|
+
<span class='line'>252</span> </span><span class="NAME">channels</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
260
|
+
<span class='line'>253</span> </span><span class="NAME">session_id</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">rio.environment.sessionId</span><span class="PUNC">,</span><span class="WHIT">
|
|
261
|
+
<span class='line'>254</span> </span><span class="NAME">client_id</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">rio.environment.userId</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">Math.round</span><span class="PUNC">(</span><span class="NAME">Math.random</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1000000000</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
262
|
+
<span class='line'>255</span> </span><span class="NAME">host</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">rio.environment.pushUrl</span><span class="PUNC">,</span><span class="WHIT">
|
|
263
|
+
<span class='line'>256</span> </span><span class="NAME">width</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"0px"</span><span class="PUNC">,</span><span class="WHIT">
|
|
264
|
+
<span class='line'>257</span> </span><span class="NAME">height</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"0px"</span><span class="PUNC">,</span><span class="WHIT">
|
|
265
|
+
<span class='line'>258</span> </span><span class="NAME">flash_color</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"#fff"</span><span class="PUNC">,</span><span class="WHIT">
|
|
266
|
+
<span class='line'>259</span> </span><span class="NAME">swf_name</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"juggernaut_flash"</span><span class="PUNC">,</span><span class="WHIT">
|
|
267
|
+
<span class='line'>260</span> </span><span class="NAME">port</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">rio.environment.pushPort</span><span class="PUNC">,</span><span class="WHIT">
|
|
268
|
+
<span class='line'>261</span> </span><span class="NAME">bridge_name</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"juggernaut"</span><span class="PUNC">,</span><span class="WHIT">
|
|
269
|
+
<span class='line'>262</span> </span><span class="NAME">debug</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">rio.environment.pushDebug</span><span class="PUNC">,</span><span class="WHIT">
|
|
270
|
+
<span class='line'>263</span> </span><span class="NAME">swf_address</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"/javascripts/lib/juggernaut.swf"</span><span class="PUNC">,</span><span class="WHIT">
|
|
271
|
+
<span class='line'>264</span> </span><span class="NAME">reconnect_attempts</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="WHIT">
|
|
272
|
+
<span class='line'>265</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
273
|
+
<span class='line'>266</span>
|
|
274
|
+
<span class='line'>267</span> </span><span class="NAME">setInterval</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">
|
|
275
|
+
<span class='line'>268</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">
|
|
276
|
+
<span class='line'>269</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">rio.push.is_connected</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="NAME">rio.push.connect</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
278
|
+
<span class='line'>271</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">
|
|
279
|
+
<span class='line'>272</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/test_connection"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
280
|
+
<span class='line'>273</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">
|
|
281
|
+
<span class='line'>274</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">
|
|
282
|
+
<span class='line'>275</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">
|
|
283
|
+
<span class='line'>276</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">
|
|
284
|
+
<span class='line'>277</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">
|
|
285
|
+
<span class='line'>278</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">response.responseText</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">"CONNECTED"</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="NAME">rio.warn</span><span class="PUNC">(</span><span class="STRN">"Juggernaut connection silently failed"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
287
|
+
<span class='line'>280</span> </span><span class="NAME">rio.push.resetConnection</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> </span><span class="PUNC">}</span><span class="WHIT">
|
|
290
|
+
<span class='line'>283</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
291
|
+
<span class='line'>284</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
292
|
+
<span class='line'>285</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
293
|
+
<span class='line'>286</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">60000</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
294
|
+
<span class='line'>287</span>
|
|
295
|
+
<span class='line'>288</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">push</span><span class="PUNC">;</span><span class="WHIT">
|
|
296
|
+
<span class='line'>289</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
297
|
+
<span class='line'>290</span>
|
|
298
|
+
<span class='line'>291</span>
|
|
299
|
+
<span class='line'>292</span>
|
|
300
|
+
<span class='line'>293</span>
|
|
301
|
+
<span class='line'>294</span>
|
|
302
|
+
<span class='line'>295</span>
|
|
303
|
+
<span class='line'>296</span> </span></pre></body></html>
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"> <style>
|
|
2
|
+
.KEYW {color: #933;}
|
|
3
|
+
.COMM {color: #bbb; font-style: italic;}
|
|
4
|
+
.NUMB {color: #393;}
|
|
5
|
+
.STRN {color: #393;}
|
|
6
|
+
.REGX {color: #339;}
|
|
7
|
+
.line {border-right: 1px dotted #666; color: #666; font-style: normal;}
|
|
8
|
+
</style></head><body><pre><span class='line'> 1</span> <span class="NAME">rio.KeyMap</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Class.create</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
|
|
9
|
+
<span class='line'> 2</span> </span><span class="NAME">initialize</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">map</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">isMac</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
10
|
+
<span class='line'> 3</span> </span><span class="NAME">this.map</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">map</span><span class="PUNC">;</span><span class="WHIT">
|
|
11
|
+
<span class='line'> 4</span> </span><span class="NAME">this.isMac</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">isMac</span><span class="PUNC">;</span><span class="WHIT">
|
|
12
|
+
<span class='line'> 5</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
13
|
+
<span class='line'> 6</span>
|
|
14
|
+
<span class='line'> 7</span> </span><span class="NAME">handle</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</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">
|
|
15
|
+
<span class='line'> 8</span> </span><span class="NAME">this.map.each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">m</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
16
|
+
<span class='line'> 9</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">map</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">m.map</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.isMac</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">m.mac</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">m.win</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
17
|
+
<span class='line'> 10</span>
|
|
18
|
+
<span class='line'> 11</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">map.key</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
19
|
+
<span class='line'> 12</span> </span><span class="NAME">map.key</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rio.KeyMap.specialKeys</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NAME">map.key</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">rio.KeyMap.charCode</span><span class="PUNC">(</span><span class="NAME">map.key</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
20
|
+
<span class='line'> 13</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
21
|
+
<span class='line'> 14</span>
|
|
22
|
+
<span class='line'> 15</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">effectiveKeyCode</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e.keyCode</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NUMB">96</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">e.keyCode</span><span class="WHIT"> </span><span class="PUNC"><=</span><span class="WHIT"> </span><span class="NUMB">105</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">e.keyCode</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">48</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">e.keyCode</span><span class="PUNC">;</span><span class="WHIT">
|
|
23
|
+
<span class='line'> 16</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">map.key</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">effectiveKeyCode</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
24
|
+
<span class='line'> 17</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">map.ctrl</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">map.ctrl</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">e.ctrlKey</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
25
|
+
<span class='line'> 18</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">map.alt</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">map.alt</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">e.altKey</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
26
|
+
<span class='line'> 19</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">map.shift</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">map.shift</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">e.shiftKey</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
27
|
+
<span class='line'> 20</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">map.meta</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">map.meta</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">e.metaKey</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
28
|
+
<span class='line'> 21</span> </span><span class="PUNC">(</span><span class="NAME">m.handler</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">e</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
29
|
+
<span class='line'> 22</span>
|
|
30
|
+
<span class='line'> 23</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">m.stop</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
31
|
+
<span class='line'> 24</span> </span><span class="NAME">e.stop</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
32
|
+
<span class='line'> 25</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
33
|
+
<span class='line'> 26</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
34
|
+
<span class='line'> 27</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
35
|
+
<span class='line'> 28</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
36
|
+
<span class='line'> 29</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
37
|
+
<span class='line'> 30</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
38
|
+
<span class='line'> 31</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">
|
|
39
|
+
<span class='line'> 32</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
40
|
+
<span class='line'> 33</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
41
|
+
<span class='line'> 34</span>
|
|
42
|
+
<span class='line'> 35</span> </span><span class="NAME">Object.extend</span><span class="PUNC">(</span><span class="NAME">rio.KeyMap</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
43
|
+
<span class='line'> 36</span> </span><span class="NAME">build</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">map</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
44
|
+
<span class='line'> 37</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">rio.KeyMap</span><span class="PUNC">(</span><span class="NAME">map</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">rio.boot.isMac</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
45
|
+
<span class='line'> 38</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
46
|
+
<span class='line'> 39</span> </span><span class="NAME">charCode</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">c</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
47
|
+
<span class='line'> 40</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">"0123456789_______abcdefghijklmnopqrstuvwxyz"</span><span class="PUNC">.</span><span class="NAME">indexOf</span><span class="PUNC">(</span><span class="NAME">c</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">48</span><span class="PUNC">;</span><span class="WHIT">
|
|
48
|
+
<span class='line'> 41</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
49
|
+
<span class='line'> 42</span> </span><span class="NAME">specialKeys</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">
|
|
50
|
+
<span class='line'> 43</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
51
|
+
<span class='line'> 44</span> </span><span class="STRN">"left"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">Event.KEY_LEFT</span><span class="PUNC">,</span><span class="WHIT">
|
|
52
|
+
<span class='line'> 45</span> </span><span class="STRN">"right"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">Event.KEY_RIGHT</span><span class="PUNC">,</span><span class="WHIT">
|
|
53
|
+
<span class='line'> 46</span> </span><span class="STRN">"up"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">Event.KEY_UP</span><span class="PUNC">,</span><span class="WHIT">
|
|
54
|
+
<span class='line'> 47</span> </span><span class="STRN">"down"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">Event.KEY_DOWN</span><span class="PUNC">,</span><span class="WHIT">
|
|
55
|
+
<span class='line'> 48</span> </span><span class="STRN">"tab"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">Event.KEY_TAB</span><span class="PUNC">,</span><span class="WHIT">
|
|
56
|
+
<span class='line'> 49</span> </span><span class="STRN">"enter"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">Event.KEY_RETURN</span><span class="PUNC">,</span><span class="WHIT">
|
|
57
|
+
<span class='line'> 50</span> </span><span class="STRN">"home"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">Event.KEY_HOME</span><span class="PUNC">,</span><span class="WHIT">
|
|
58
|
+
<span class='line'> 51</span> </span><span class="STRN">"end"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">Event.KEY_END</span><span class="PUNC">,</span><span class="WHIT">
|
|
59
|
+
<span class='line'> 52</span> </span><span class="STRN">"backspace"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">Event.KEY_BACKSPACE</span><span class="PUNC">,</span><span class="WHIT">
|
|
60
|
+
<span class='line'> 53</span> </span><span class="STRN">"delete"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">Event.KEY_DELETE</span><span class="PUNC">,</span><span class="WHIT">
|
|
61
|
+
<span class='line'> 54</span> </span><span class="STRN">"space"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">32</span><span class="PUNC">,</span><span class="WHIT">
|
|
62
|
+
<span class='line'> 55</span> </span><span class="STRN">"esc"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">Event.KEY_ESC</span><span class="PUNC">,</span><span class="WHIT">
|
|
63
|
+
<span class='line'> 56</span> </span><span class="STRN">","</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">188</span><span class="WHIT">
|
|
64
|
+
<span class='line'> 57</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
65
|
+
<span class='line'> 58</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
66
|
+
<span class='line'> 59</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"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">"KeyMap"</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
67
|
+
<span class='line'> 60</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
68
|
+
<span class='line'> 61</span> </span></pre></body></html>
|
data/public/javascripts/lib/console/docs/symbols/src/public_javascripts_lib_layout_manager.js.html
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"> <style>
|
|
2
|
+
.KEYW {color: #933;}
|
|
3
|
+
.COMM {color: #bbb; font-style: italic;}
|
|
4
|
+
.NUMB {color: #393;}
|
|
5
|
+
.STRN {color: #393;}
|
|
6
|
+
.REGX {color: #339;}
|
|
7
|
+
.line {border-right: 1px dotted #666; color: #666; font-style: normal;}
|
|
8
|
+
</style></head><body><pre><span class='line'> 1</span> <span class="COMM">// Layout container to handle one container with lm_left, lm_right, lm_top, lm_bottom, and lm_center</span><span class="WHIT">
|
|
9
|
+
<span class='line'> 2</span> </span><span class="NAME">rio.LayoutContainer</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Class.create</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
|
|
10
|
+
<span class='line'> 3</span> </span><span class="NAME">initialize</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">root</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
11
|
+
<span class='line'> 4</span> </span><span class="NAME">this.parent</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">root.parentNode</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
12
|
+
<span class='line'> 5</span> </span><span class="NAME">root.setStyle</span><span class="PUNC">(</span><span class="STRN">"padding:0; margin:0; border:0"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
13
|
+
<span class='line'> 6</span> </span><span class="COMM">// Pre-compute paddings</span><span class="WHIT">
|
|
14
|
+
<span class='line'> 7</span> </span><span class="NAME">$w</span><span class="PUNC">(</span><span class="STRN">"top left right bottom"</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">key</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
15
|
+
<span class='line'> 8</span> </span><span class="NAME">this.parent</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">this.padding</span><span class="PUNC">(</span><span class="NAME">this.parent</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">key</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
16
|
+
<span class='line'> 9</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">
|
|
17
|
+
<span class='line'> 10</span>
|
|
18
|
+
<span class='line'> 11</span> </span><span class="COMM">// Init arrays</span><span class="WHIT">
|
|
19
|
+
<span class='line'> 12</span> </span><span class="NAME">$w</span><span class="PUNC">(</span><span class="STRN">"lm_top lm_left lm_right lm_bottom lm_center"</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">key</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
20
|
+
<span class='line'> 13</span> </span><span class="KEYW">this</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="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
21
|
+
<span class='line'> 14</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">
|
|
22
|
+
<span class='line'> 15</span>
|
|
23
|
+
<span class='line'> 16</span> </span><span class="NAME">root.childElements</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">element</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
24
|
+
<span class='line'> 17</span> </span><span class="NAME">element.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"absolute"</span><span class="PUNC">;</span><span class="WHIT">
|
|
25
|
+
<span class='line'> 18</span> </span><span class="NAME">element.paddingWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.fullPadding</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"left"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.fullPadding</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"right"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
26
|
+
<span class='line'> 19</span> </span><span class="NAME">element.paddingHeight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.fullPadding</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"top"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.fullPadding</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"bottom"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
27
|
+
<span class='line'> 20</span> </span><span class="NAME">element.marginWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.margin</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"left"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.margin</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"right"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
28
|
+
<span class='line'> 21</span> </span><span class="NAME">element.marginHeight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.margin</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"top"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.margin</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"bottom"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
29
|
+
<span class='line'> 22</span>
|
|
30
|
+
<span class='line'> 23</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">element.hasClassName</span><span class="PUNC">(</span><span class="STRN">"lm_top"</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
31
|
+
<span class='line'> 24</span> </span><span class="NAME">this.lm_top.push</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
32
|
+
<span class='line'> 25</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">element.hasClassName</span><span class="PUNC">(</span><span class="STRN">"lm_left"</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
33
|
+
<span class='line'> 26</span> </span><span class="NAME">this.lm_left.push</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
34
|
+
<span class='line'> 27</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">element.hasClassName</span><span class="PUNC">(</span><span class="STRN">"lm_right"</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
35
|
+
<span class='line'> 28</span> </span><span class="NAME">this.lm_right.unshift</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
36
|
+
<span class='line'> 29</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">element.hasClassName</span><span class="PUNC">(</span><span class="STRN">"lm_bottom"</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
37
|
+
<span class='line'> 30</span> </span><span class="NAME">this.lm_bottom.unshift</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
38
|
+
<span class='line'> 31</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">element.hasClassName</span><span class="PUNC">(</span><span class="STRN">"lm_center"</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
39
|
+
<span class='line'> 32</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.lm_center.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">
|
|
40
|
+
<span class='line'> 33</span> </span><span class="KEYW">throw</span><span class="PUNC">(</span><span class="STRN">"Only one lm_center per lm_container"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
41
|
+
<span class='line'> 34</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
42
|
+
<span class='line'> 35</span> </span><span class="NAME">this.lm_center.push</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
43
|
+
<span class='line'> 36</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
44
|
+
<span class='line'> 37</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">
|
|
45
|
+
<span class='line'> 38</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
46
|
+
<span class='line'> 39</span>
|
|
47
|
+
<span class='line'> 40</span> </span><span class="NAME">updateSize</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">
|
|
48
|
+
<span class='line'> 41</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">d</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.parent.getDimensions</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
49
|
+
<span class='line'> 42</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">w</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">d.width</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">this.parent.left</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">this.border</span><span class="PUNC">(</span><span class="NAME">this.parent</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"left"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">this.border</span><span class="PUNC">(</span><span class="NAME">this.parent</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"right"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
50
|
+
<span class='line'> 43</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">h</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">d.height</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">this.parent.top</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">this.parent.bottom</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">this.border</span><span class="PUNC">(</span><span class="NAME">this.parent</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"top"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">this.border</span><span class="PUNC">(</span><span class="NAME">this.parent</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"bottom"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
51
|
+
<span class='line'> 44</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// To avoid too many binds</span><span class="WHIT">
|
|
52
|
+
<span class='line'> 45</span>
|
|
53
|
+
<span class='line'> 46</span> </span><span class="COMM">// Set position and size of all top elements </span><span class="WHIT">
|
|
54
|
+
<span class='line'> 47</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.parent.top</span><span class="PUNC">;</span><span class="WHIT">
|
|
55
|
+
<span class='line'> 48</span> </span><span class="NAME">this.lm_top.each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
56
|
+
<span class='line'> 49</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">element.style</span><span class="PUNC">;</span><span class="WHIT">
|
|
57
|
+
<span class='line'> 50</span> </span><span class="NAME">that.setPositivePxValue</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'width'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">w</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">element.paddingWidth</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
58
|
+
<span class='line'> 51</span> </span><span class="NAME">s.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">top</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
59
|
+
<span class='line'> 52</span> </span><span class="NAME">top</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">element.getHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">element.marginHeight</span><span class="PUNC">;</span><span class="WHIT">
|
|
60
|
+
<span class='line'> 53</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
61
|
+
<span class='line'> 54</span> </span><span class="NAME">h</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">top</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">this.parent.top</span><span class="PUNC">;</span><span class="WHIT">
|
|
62
|
+
<span class='line'> 55</span>
|
|
63
|
+
<span class='line'> 56</span> </span><span class="COMM">// Set position and size of all bottom elements</span><span class="WHIT">
|
|
64
|
+
<span class='line'> 57</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">bottom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.parent.bottom</span><span class="PUNC">;</span><span class="WHIT">
|
|
65
|
+
<span class='line'> 58</span> </span><span class="NAME">this.lm_bottom.each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
66
|
+
<span class='line'> 59</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">element.style</span><span class="PUNC">;</span><span class="WHIT">
|
|
67
|
+
<span class='line'> 60</span> </span><span class="NAME">that.setPositivePxValue</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'width'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">w</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">element.paddingWidth</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
68
|
+
<span class='line'> 61</span> </span><span class="NAME">s.bottom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">bottom</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
69
|
+
<span class='line'> 62</span> </span><span class="NAME">bottom</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">element.getHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">element.marginHeight</span><span class="PUNC">;</span><span class="WHIT">
|
|
70
|
+
<span class='line'> 63</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
71
|
+
<span class='line'> 64</span> </span><span class="NAME">h</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">bottom</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">this.parent.bottom</span><span class="PUNC">;</span><span class="WHIT">
|
|
72
|
+
<span class='line'> 65</span>
|
|
73
|
+
<span class='line'> 66</span> </span><span class="COMM">// Set position and size of all left elements</span><span class="WHIT">
|
|
74
|
+
<span class='line'> 67</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.parent.left</span><span class="PUNC">;</span><span class="WHIT">
|
|
75
|
+
<span class='line'> 68</span> </span><span class="NAME">this.lm_left.each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
76
|
+
<span class='line'> 69</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">element.style</span><span class="PUNC">;</span><span class="WHIT">
|
|
77
|
+
<span class='line'> 70</span> </span><span class="NAME">that.setPositivePxValue</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'height'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">h</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">element.paddingHeight</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
78
|
+
<span class='line'> 71</span> </span><span class="NAME">s.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">top</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
79
|
+
<span class='line'> 72</span> </span><span class="NAME">s.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">left</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
80
|
+
<span class='line'> 73</span> </span><span class="NAME">left</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">element.getWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">element.marginWidth</span><span class="PUNC">;</span><span class="WHIT">
|
|
81
|
+
<span class='line'> 74</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
82
|
+
<span class='line'> 75</span> </span><span class="NAME">w</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">left</span><span class="PUNC">;</span><span class="WHIT">
|
|
83
|
+
<span class='line'> 76</span>
|
|
84
|
+
<span class='line'> 77</span> </span><span class="COMM">// Set position and size of all right elements</span><span class="WHIT">
|
|
85
|
+
<span class='line'> 78</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">right</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.parent.right</span><span class="PUNC">;</span><span class="WHIT">
|
|
86
|
+
<span class='line'> 79</span> </span><span class="NAME">this.lm_right.each</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
87
|
+
<span class='line'> 80</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">element.style</span><span class="PUNC">;</span><span class="WHIT">
|
|
88
|
+
<span class='line'> 81</span> </span><span class="NAME">that.setPositivePxValue</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'height'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">h</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">element.paddingHeight</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
89
|
+
<span class='line'> 82</span> </span><span class="NAME">s.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">top</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
90
|
+
<span class='line'> 83</span> </span><span class="NAME">s.right</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">right</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
91
|
+
<span class='line'> 84</span> </span><span class="NAME">right</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">element.getWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">element.marginWidth</span><span class="PUNC">;</span><span class="WHIT">
|
|
92
|
+
<span class='line'> 85</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
93
|
+
<span class='line'> 86</span> </span><span class="NAME">w</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">right</span><span class="PUNC">;</span><span class="WHIT">
|
|
94
|
+
<span class='line'> 87</span>
|
|
95
|
+
<span class='line'> 88</span> </span><span class="COMM">// Set position and size of all center elements</span><span class="WHIT">
|
|
96
|
+
<span class='line'> 89</span> </span><span class="COMM">// Only one center for this version</span><span class="WHIT">
|
|
97
|
+
<span class='line'> 90</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">center</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.lm_center.first</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
98
|
+
<span class='line'> 91</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">center.style</span><span class="PUNC">;</span><span class="WHIT">
|
|
99
|
+
<span class='line'> 92</span> </span><span class="NAME">s.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">top</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
100
|
+
<span class='line'> 93</span> </span><span class="NAME">s.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">left</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
101
|
+
<span class='line'> 94</span> </span><span class="NAME">this.setPositivePxValue</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'width'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">w</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">center.paddingWidth</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
102
|
+
<span class='line'> 95</span> </span><span class="NAME">this.setPositivePxValue</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'height'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">h</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">center.paddingHeight</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
103
|
+
<span class='line'> 96</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
104
|
+
<span class='line'> 97</span>
|
|
105
|
+
<span class='line'> 98</span> </span><span class="COMM">// Private functions</span><span class="WHIT">
|
|
106
|
+
<span class='line'> 99</span> </span><span class="NAME">fullPadding</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">s</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
107
|
+
<span class='line'>100</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.padding</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">s</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.border</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">s</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.margin</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">s</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
108
|
+
<span class='line'>101</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
109
|
+
<span class='line'>102</span>
|
|
110
|
+
<span class='line'>103</span> </span><span class="NAME">border</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">s</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
111
|
+
<span class='line'>104</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">border</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">element.getStyle</span><span class="PUNC">(</span><span class="STRN">"border-"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"-width"</span><span class="PUNC">)</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="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
112
|
+
<span class='line'>105</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">isNaN</span><span class="PUNC">(</span><span class="NAME">border</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="COMM">// Test for IE!!</span><span class="WHIT">
|
|
113
|
+
<span class='line'>106</span> </span><span class="NAME">border</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">
|
|
114
|
+
<span class='line'>107</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
115
|
+
<span class='line'>108</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">border</span><span class="PUNC">;</span><span class="WHIT">
|
|
116
|
+
<span class='line'>109</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
117
|
+
<span class='line'>110</span>
|
|
118
|
+
<span class='line'>111</span> </span><span class="NAME">padding</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">s</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
119
|
+
<span class='line'>112</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">padding</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">element.getStyle</span><span class="PUNC">(</span><span class="STRN">"padding-"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">s</span><span class="PUNC">)</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="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
120
|
+
<span class='line'>113</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">isNaN</span><span class="PUNC">(</span><span class="NAME">padding</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="COMM">// Test for IE!!</span><span class="WHIT">
|
|
121
|
+
<span class='line'>114</span> </span><span class="NAME">padding</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">
|
|
122
|
+
<span class='line'>115</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
123
|
+
<span class='line'>116</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">padding</span><span class="PUNC">;</span><span class="WHIT">
|
|
124
|
+
<span class='line'>117</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
125
|
+
<span class='line'>118</span>
|
|
126
|
+
<span class='line'>119</span> </span><span class="NAME">margin</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">s</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
127
|
+
<span class='line'>120</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">margin</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">element.getStyle</span><span class="PUNC">(</span><span class="STRN">"margin-"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">s</span><span class="PUNC">)</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="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
128
|
+
<span class='line'>121</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">isNaN</span><span class="PUNC">(</span><span class="NAME">margin</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="COMM">// Test for IE!!</span><span class="WHIT">
|
|
129
|
+
<span class='line'>122</span> </span><span class="NAME">margin</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">
|
|
130
|
+
<span class='line'>123</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
131
|
+
<span class='line'>124</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">margin</span><span class="PUNC">;</span><span class="WHIT">
|
|
132
|
+
<span class='line'>125</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
133
|
+
<span class='line'>126</span>
|
|
134
|
+
<span class='line'>127</span> </span><span class="NAME">setPositivePxValue</span><span class="PUNC">:</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">objet</span><span class="PUNC">,</span><span class="WHIT"> </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">
|
|
135
|
+
<span class='line'>128</span> </span><span class="NAME">objet</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="PUNC">(</span><span class="NAME">value</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">value</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="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
136
|
+
<span class='line'>129</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
137
|
+
<span class='line'>130</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
138
|
+
<span class='line'>131</span>
|
|
139
|
+
<span class='line'>132</span> </span><span class="COMM">// Layout manager: handles N layout container</span><span class="WHIT">
|
|
140
|
+
<span class='line'>133</span> </span><span class="NAME">rio.LayoutManager</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Class.create</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
|
|
141
|
+
<span class='line'>134</span> </span><span class="NAME">initialize</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">root</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
142
|
+
<span class='line'>135</span> </span><span class="NAME">this.root</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">root</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">document.body</span><span class="PUNC">;</span><span class="WHIT">
|
|
143
|
+
<span class='line'>136</span> </span><span class="NAME">this.init</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
144
|
+
<span class='line'>137</span> </span><span class="NAME">Event.observe</span><span class="PUNC">(</span><span class="NAME">window</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"resize"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.resize.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">
|
|
145
|
+
<span class='line'>138</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
146
|
+
<span class='line'>139</span>
|
|
147
|
+
<span class='line'>140</span> </span><span class="NAME">reset</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">
|
|
148
|
+
<span class='line'>141</span> </span><span class="NAME">this.init.bind</span><span class="PUNC">(</span><span class="KEYW">this</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="WHIT">
|
|
149
|
+
<span class='line'>142</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
150
|
+
<span class='line'>143</span>
|
|
151
|
+
<span class='line'>144</span> </span><span class="NAME">add</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">root</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
152
|
+
<span class='line'>145</span> </span><span class="NAME">this.addElement.bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">root</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">true</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="WHIT">
|
|
153
|
+
<span class='line'>146</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
154
|
+
<span class='line'>147</span>
|
|
155
|
+
<span class='line'>148</span> </span><span class="COMM">// Private functions</span><span class="WHIT">
|
|
156
|
+
<span class='line'>149</span> </span><span class="NAME">init</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">
|
|
157
|
+
<span class='line'>150</span> </span><span class="NAME">this.containers</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">
|
|
158
|
+
<span class='line'>151</span> </span><span class="NAME">this.addElement</span><span class="PUNC">(</span><span class="NAME">this.root</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
159
|
+
<span class='line'>152</span> </span><span class="NAME">this.resize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
160
|
+
<span class='line'>153</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
161
|
+
<span class='line'>154</span>
|
|
162
|
+
<span class='line'>155</span> </span><span class="NAME">resize</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">
|
|
163
|
+
<span class='line'>156</span> </span><span class="NAME">this.containers.invoke</span><span class="PUNC">(</span><span class="STRN">"updateSize"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
164
|
+
<span class='line'>157</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
165
|
+
<span class='line'>158</span>
|
|
166
|
+
<span class='line'>159</span> </span><span class="NAME">addElement</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">doResize</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
167
|
+
<span class='line'>160</span> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">getElementsBySelector</span><span class="PUNC">(</span><span class="STRN">".lm_container"</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">element</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="NAME">this.containers.push</span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">rio.LayoutContainer</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="PUNC">)</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="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">
|
|
170
|
+
<span class='line'>163</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">doResize</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
171
|
+
<span class='line'>164</span> </span><span class="NAME">this.resize</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
172
|
+
<span class='line'>165</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
173
|
+
<span class='line'>166</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
174
|
+
<span class='line'>167</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
175
|
+
<span class='line'>168</span> </span></pre></body></html>
|