diff options
Diffstat (limited to 'js/document/views/base.js')
-rwxr-xr-x | js/document/views/base.js | 98 |
1 files changed, 51 insertions, 47 deletions
diff --git a/js/document/views/base.js b/js/document/views/base.js index e771702d..354651ae 100755 --- a/js/document/views/base.js +++ b/js/document/views/base.js | |||
@@ -1,24 +1,25 @@ | |||
1 | /* <copyright> | 1 | /* <copyright> |
2 | Copyright (c) 2012, Motorola Mobility, Inc | 2 | Copyright (c) 2012, Motorola Mobility LLC. |
3 | All Rights Reserved. | 3 | All Rights Reserved. |
4 | BSD License. | ||
5 | 4 | ||
6 | Redistribution and use in source and binary forms, with or without | 5 | Redistribution and use in source and binary forms, with or without |
7 | modification, are permitted provided that the following conditions are met: | 6 | modification, are permitted provided that the following conditions are met: |
8 | 7 | ||
9 | - Redistributions of source code must retain the above copyright notice, | 8 | * Redistributions of source code must retain the above copyright notice, |
10 | this list of conditions and the following disclaimer. | 9 | this list of conditions and the following disclaimer. |
11 | - Redistributions in binary form must reproduce the above copyright | 10 | |
12 | notice, this list of conditions and the following disclaimer in the | 11 | * Redistributions in binary form must reproduce the above copyright notice, |
13 | documentation and/or other materials provided with the distribution. | 12 | this list of conditions and the following disclaimer in the documentation |
14 | - Neither the name of Motorola Mobility nor the names of its contributors | 13 | and/or other materials provided with the distribution. |
15 | may be used to endorse or promote products derived from this software | 14 | |
16 | without specific prior written permission. | 15 | * Neither the name of Motorola Mobility LLC nor the names of its |
16 | contributors may be used to endorse or promote products derived from this | ||
17 | software without specific prior written permission. | ||
17 | 18 | ||
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
21 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | 22 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
22 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 23 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
23 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 24 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
24 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 25 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
@@ -30,63 +31,66 @@ POSSIBILITY OF SUCH DAMAGE. | |||
30 | 31 | ||
31 | //////////////////////////////////////////////////////////////////////// | 32 | //////////////////////////////////////////////////////////////////////// |
32 | // | 33 | // |
33 | var Montage = require("montage/core/core").Montage, | 34 | var Montage = require("montage/core/core").Montage, |
34 | Component = require("montage/ui/component").Component, | 35 | Component = require("montage/ui/component").Component, |
35 | UrlParser = require("js/document/helpers/url-parser").UrlParser; | 36 | UrlParser = require("js/document/helpers/url-parser").UrlParser; |
36 | //////////////////////////////////////////////////////////////////////// | 37 | //////////////////////////////////////////////////////////////////////// |
37 | // | 38 | // |
38 | exports.BaseDocumentView = Montage.create(Component, { | 39 | exports.BaseDocumentView = Montage.create(Component, { |
39 | //////////////////////////////////////////////////////////////////// | 40 | //////////////////////////////////////////////////////////////////// |
40 | // | 41 | // |
41 | hasTemplate: { | 42 | hasTemplate: { |
42 | value: false | 43 | value: false |
43 | }, | 44 | }, |
44 | //////////////////////////////////////////////////////////////////// | 45 | //////////////////////////////////////////////////////////////////// |
45 | // | 46 | // |
46 | urlParser: { | 47 | urlParser: { |
47 | value: UrlParser | 48 | value: UrlParser |
48 | }, | 49 | }, |
49 | //////////////////////////////////////////////////////////////////// | 50 | //////////////////////////////////////////////////////////////////// |
50 | // | 51 | // |
51 | _iframe: { | 52 | _iframe: { |
52 | value: null | 53 | value: null |
53 | }, | 54 | }, |
54 | //////////////////////////////////////////////////////////////////// | 55 | //////////////////////////////////////////////////////////////////// |
55 | //TODO: This should be renamed to better illustrate it's a container (iframe for design, div for code view) | 56 | //TODO: This should be renamed to better illustrate it's a container (iframe for design, div for code view) |
56 | iframe: { | 57 | iframe: { |
57 | get: function() {return this._iframe;}, | 58 | get: function() {return this._iframe;}, |
58 | set: function(value) {this._iframe= value;} | 59 | set: function(value) {this._iframe= value;} |
59 | }, | 60 | }, |
60 | //////////////////////////////////////////////////////////////////// | 61 | //////////////////////////////////////////////////////////////////// |
61 | // | 62 | // |
62 | show: { | 63 | show: { |
63 | value: function (callback) { | 64 | value: function (callback) { |
64 | if (this.iframe) { | 65 | if (this.iframe) { |
65 | this.iframe.style.display = 'block'; | 66 | this.iframe.style.display = 'block'; |
66 | this.iframe.style.opacity = 1; | 67 | this.iframe.style.opacity = 1; |
67 | } else { | 68 | this.toggleWebGlAnimation(true); |
68 | console.log('Error: View has no iframe to show!'); | 69 | } else { |
69 | } | 70 | console.log('Error: View has no iframe to show!'); |
70 | // | 71 | } |
71 | if (callback) callback(); | 72 | // |
73 | if (callback) callback(); | ||
72 | } | 74 | } |
73 | }, | 75 | }, |
74 | //////////////////////////////////////////////////////////////////// | 76 | //////////////////////////////////////////////////////////////////// |
75 | // | 77 | // |
76 | hide: { | 78 | hide: { |
77 | value: function (callback) { | 79 | value: function (callback) { |
78 | if (this.iframe) { | 80 | if (this.iframe) { |
79 | this.iframe.style.display = 'none'; | 81 | this.iframe.style.display = 'none'; |
80 | this.iframe.style.opacity = 0; | 82 | this.iframe.style.opacity = 0; |
81 | } else { | 83 | this.pauseVideos(); |
82 | console.log('Error: View has no iframe to hide!'); | 84 | this.toggleWebGlAnimation(false); |
83 | } | 85 | } else { |
84 | // | 86 | console.log('Error: View has no iframe to hide!'); |
85 | if (callback) callback(); | 87 | } |
88 | // | ||
89 | if (callback) callback(); | ||
86 | } | 90 | } |
87 | } | 91 | } |
88 | //////////////////////////////////////////////////////////////////// | 92 | //////////////////////////////////////////////////////////////////// |
89 | //////////////////////////////////////////////////////////////////// | 93 | //////////////////////////////////////////////////////////////////// |
90 | }); | 94 | }); |
91 | //////////////////////////////////////////////////////////////////////// | 95 | //////////////////////////////////////////////////////////////////////// |
92 | //////////////////////////////////////////////////////////////////////// | 96 | //////////////////////////////////////////////////////////////////////// |