diff options
author | Eric Guzman | 2012-05-10 14:51:31 -0700 |
---|---|---|
committer | Eric Guzman | 2012-05-10 14:51:31 -0700 |
commit | 39f23ad4868482f395d2e210490a2d73545a9d84 (patch) | |
tree | c702d67585f72cddf55932411e7100133bc58452 /js/io | |
parent | 733e16b55a6de807cdbb60b0f2cea36fc1619fd4 (diff) | |
parent | 632a53278826a33506b302b573ee0681840f2d6c (diff) | |
download | ninja-39f23ad4868482f395d2e210490a2d73545a9d84.tar.gz |
Merge branch 'refs/heads/master' into CSSPanelUpdates
Conflicts:
js/panels/CSSPanel/ComputedStyleSubPanel.reel/ComputedStyleSubPanel.html
Diffstat (limited to 'js/io')
-rw-r--r-- | js/io/system/ninjalibrary.js | 28 | ||||
-rw-r--r-- | js/io/system/ninjalibrary.json | 2 | ||||
-rw-r--r-- | js/io/templates/descriptor.json | 9 | ||||
-rw-r--r-- | js/io/templates/files/xml.txt | 1 | ||||
-rwxr-xr-x | js/io/ui/cloudpopup.reel/cloudpopup.html | 2 | ||||
-rwxr-xr-x | js/io/ui/file-picker/file-input-field.reel/file-input-field.html | 6 | ||||
-rwxr-xr-x | js/io/ui/file-picker/picker-navigator.reel/picker-navigator.html | 34 | ||||
-rwxr-xr-x | js/io/ui/new-file-dialog/new-file-location.reel/new-file-location.html | 10 | ||||
-rwxr-xr-x | js/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.html | 14 | ||||
-rw-r--r-- | js/io/ui/save-as-dialog.reel/save-as-dialog.html | 12 |
10 files changed, 61 insertions, 57 deletions
diff --git a/js/io/system/ninjalibrary.js b/js/io/system/ninjalibrary.js index 201598fc..f4915a91 100644 --- a/js/io/system/ninjalibrary.js +++ b/js/io/system/ninjalibrary.js | |||
@@ -152,7 +152,8 @@ exports.NinjaLibrary = Montage.create(Object.prototype, { | |||
152 | // | 152 | // |
153 | this.chromeApi = chrome; | 153 | this.chromeApi = chrome; |
154 | // | 154 | // |
155 | var i, l, libs, libjson, xhr = new XMLHttpRequest(), tocopylibs = [], copied; | 155 | // debugger; |
156 | var i, l, libs, libjson, xhr = new XMLHttpRequest(), tocopylibs = []; | ||
156 | //Getting known json list of libraries to copy to chrome | 157 | //Getting known json list of libraries to copy to chrome |
157 | xhr.open("GET", '/js/io/system/ninjalibrary.json', false); | 158 | xhr.open("GET", '/js/io/system/ninjalibrary.json', false); |
158 | xhr.send(); | 159 | xhr.send(); |
@@ -166,23 +167,18 @@ exports.NinjaLibrary = Montage.create(Object.prototype, { | |||
166 | if (chromeLibs.length > 0) { | 167 | if (chromeLibs.length > 0) { |
167 | // | 168 | // |
168 | for (i=0; chromeLibs[i]; i++) { | 169 | for (i=0; chromeLibs[i]; i++) { |
169 | copied = false; | ||
170 | for (var j in libs.libraries) { | 170 | for (var j in libs.libraries) { |
171 | if (String(libs.libraries[j].name+libs.libraries[j].version).toLowerCase() === chromeLibs[i]) { | 171 | if (String(libs.libraries[j].name+libs.libraries[j].version).toLowerCase() === chromeLibs[i]) { |
172 | copied = true; | 172 | //TODO: Remove, currently manually removing copied libraries |
173 | } | 173 | // //this.chromeApi.directoryDelete(chromeLibs[i]); |
174 | } | 174 | } else { |
175 | // | 175 | if (libs.libraries[j].file) { |
176 | if (!copied) { | 176 | tocopylibs.push({name: String(libs.libraries[j].name+libs.libraries[j].version).toLowerCase(), path: libs.libraries[j].path, file: libs.libraries[j].file}); |
177 | if (libs.libraries[j].file) { | 177 | } else { |
178 | tocopylibs.push({name: String(libs.libraries[j].name+libs.libraries[j].version).toLowerCase(), path: libs.libraries[j].path, file: libs.libraries[j].file}); | 178 | tocopylibs.push({name: String(libs.libraries[j].name+libs.libraries[j].version).toLowerCase(), path: libs.libraries[j].path}); |
179 | } else { | 179 | } |
180 | tocopylibs.push({name: String(libs.libraries[j].name+libs.libraries[j].version).toLowerCase(), path: libs.libraries[j].path}); | 180 | } |
181 | } | 181 | } |
182 | } else { | ||
183 | //TODO: Remove, currently manually removing copied libraries | ||
184 | //this.chromeApi.directoryDelete(chromeLibs[i]); | ||
185 | } | ||
186 | } | 182 | } |
187 | 183 | ||
188 | } else { | 184 | } else { |
diff --git a/js/io/system/ninjalibrary.json b/js/io/system/ninjalibrary.json index e236f2e0..f7b87a91 100644 --- a/js/io/system/ninjalibrary.json +++ b/js/io/system/ninjalibrary.json | |||
@@ -1,6 +1,6 @@ | |||
1 | { | 1 | { |
2 | "libraries": [ | 2 | "libraries": [ |
3 | {"name": "Montage", "path": "/node_modules/descriptor.json", "version": "0.7.0.0"}, | 3 | {"name": "Montage", "path": "/node_modules/descriptor.json", "version": "0.8.0.0"}, |
4 | {"name": "RDGE", "path": "/assets/descriptor.json", "version": "0.5.5.0"} | 4 | {"name": "RDGE", "path": "/assets/descriptor.json", "version": "0.5.5.0"} |
5 | ] | 5 | ] |
6 | } \ No newline at end of file | 6 | } \ No newline at end of file |
diff --git a/js/io/templates/descriptor.json b/js/io/templates/descriptor.json index acc03979..21c4b58c 100644 --- a/js/io/templates/descriptor.json +++ b/js/io/templates/descriptor.json | |||
@@ -6,7 +6,7 @@ | |||
6 | "name":"Blank File", | 6 | "name":"Blank File", |
7 | "uri":"/", | 7 | "uri":"/", |
8 | "type":"directory", | 8 | "type":"directory", |
9 | "children":["js/io/templates/files/html.txt", "js/io/templates/files/js.txt", "js/io/templates/files/css.txt", "js/io/templates/files/json.txt", "js/io/templates/files/php.txt", "js/io/templates/files/pl.txt", "js/io/templates/files/py.txt", "js/io/templates/files/rb.txt"] | 9 | "children":["js/io/templates/files/html.txt", "js/io/templates/files/js.txt", "js/io/templates/files/css.txt", "js/io/templates/files/json.txt", "js/io/templates/files/php.txt", "js/io/templates/files/pl.txt", "js/io/templates/files/py.txt", "js/io/templates/files/rb.txt", "js/io/templates/files/xml.txt"] |
10 | }, | 10 | }, |
11 | "js/io/templates/files/html.txt":{ | 11 | "js/io/templates/files/html.txt":{ |
12 | "name":"HTML", | 12 | "name":"HTML", |
@@ -64,6 +64,13 @@ | |||
64 | "fileExtension":".rb", | 64 | "fileExtension":".rb", |
65 | "children":["defaultTemplate"] | 65 | "children":["defaultTemplate"] |
66 | }, | 66 | }, |
67 | "js/io/templates/files/xml.txt":{ | ||
68 | "name":"XML", | ||
69 | "uri":"js/io/templates/files/xml.txt", | ||
70 | "type":"file", | ||
71 | "fileExtension":".xml", | ||
72 | "children":["defaultTemplate"] | ||
73 | }, | ||
67 | "defaultTemplate":{ | 74 | "defaultTemplate":{ |
68 | "name": "Basic", | 75 | "name": "Basic", |
69 | "uri": "defaultTemplate", | 76 | "uri": "defaultTemplate", |
diff --git a/js/io/templates/files/xml.txt b/js/io/templates/files/xml.txt new file mode 100644 index 00000000..8906a78b --- /dev/null +++ b/js/io/templates/files/xml.txt | |||
@@ -0,0 +1 @@ | |||
<!-- Created with Motorola Mobility Ninja --> \ No newline at end of file | |||
diff --git a/js/io/ui/cloudpopup.reel/cloudpopup.html b/js/io/ui/cloudpopup.reel/cloudpopup.html index a75266a3..753597e7 100755 --- a/js/io/ui/cloudpopup.reel/cloudpopup.html +++ b/js/io/ui/cloudpopup.reel/cloudpopup.html | |||
@@ -28,7 +28,7 @@ | |||
28 | 28 | ||
29 | <body> | 29 | <body> |
30 | 30 | ||
31 | <div id="cloud_popup" class="cloud_popup"> | 31 | <div data-montage-id="cloud_popup" class="cloud_popup"> |
32 | <div class="content"> | 32 | <div class="content"> |
33 | 33 | ||
34 | <h3>Cloud Service Dialog</h3> | 34 | <h3>Cloud Service Dialog</h3> |
diff --git a/js/io/ui/file-picker/file-input-field.reel/file-input-field.html b/js/io/ui/file-picker/file-input-field.reel/file-input-field.html index 9113eb80..c3209654 100755 --- a/js/io/ui/file-picker/file-input-field.reel/file-input-field.html +++ b/js/io/ui/file-picker/file-input-field.reel/file-input-field.html | |||
@@ -30,9 +30,9 @@ | |||
30 | </script> | 30 | </script> |
31 | </head> | 31 | </head> |
32 | <body> | 32 | <body> |
33 | <div id="fileInputField" class="fileInputField"> | 33 | <div data-montage-id="fileInputField" class="fileInputField"> |
34 | <input type="search" id="newFileDirectory" class="nj-skinned newFileDirectory" /> | 34 | <input type="search" data-montage-id="newFileDirectory" class="nj-skinned newFileDirectory" /> |
35 | <span id="findDirectory" class="findDirectory"></span> | 35 | <span data-montage-id="findDirectory" class="findDirectory"></span> |
36 | </div> | 36 | </div> |
37 | </body> | 37 | </body> |
38 | </html> \ No newline at end of file | 38 | </html> \ No newline at end of file |
diff --git a/js/io/ui/file-picker/picker-navigator.reel/picker-navigator.html b/js/io/ui/file-picker/picker-navigator.reel/picker-navigator.html index 7100a738..34d6b53a 100755 --- a/js/io/ui/file-picker/picker-navigator.reel/picker-navigator.html +++ b/js/io/ui/file-picker/picker-navigator.reel/picker-navigator.html | |||
@@ -38,41 +38,41 @@ | |||
38 | 38 | ||
39 | </head> | 39 | </head> |
40 | <body> | 40 | <body> |
41 | <div id="picker" class="picker" style="visibility:hidden;"> | 41 | <div data-montage-id="picker" class="picker" style="visibility:hidden;"> |
42 | <div><span id="error" class="error"></span></div> | 42 | <div><span data-montage-id="error" class="error"></span></div> |
43 | <div class="pickerHeader"> | 43 | <div class="pickerHeader"> |
44 | <div class="historyArrows"> | 44 | <div class="historyArrows"> |
45 | <span id="backArrow" class="backArrow disable">◀</span> | 45 | <span data-montage-id="backArrow" class="backArrow disable">◀</span> |
46 | <span id="forwardArrow" class="forwardArrow disable">▶</span> | 46 | <span data-montage-id="forwardArrow" class="forwardArrow disable">▶</span> |
47 | </div> | 47 | </div> |
48 | <img id="reload" alt="refresh" title="refresh" width="25px" height="15px" class="reload" src="data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%24%00%00%00%16%08%06%00%00%00%A8%B2%3E%3E%00%00%00%04gAMA%00%00%D6%D8%D4OX2%00%00%00%18tEXtSoftware%00Paint.NET%20v3.30%40%84G%10%00%00%03%96IDATHK%B5%96%CBK%5BA%14%C6%13Z%84%D2B%A1%AB%82%FF%82%60%E2%2B%BAs%A1%18_%88%22f%25n*%0A%25%8A%BAiEQD%11%C4%85%DA%85%8AK%05)U%0C%8A%18%15%8A%82n%8C%8F%12%04A%17%09%D1Z%C4%92%14%91P%2Cr%3A%BF%A1%09%86%C6%DCK%AD%81%8Fsg%CE%99%EF%FBr%E7q%C7j%B9%E7W%5E%5E%FEJ%A5%5CV%AB%D5%A9b%BA%8A6%15%9F%A8%A8G%C4%E2%7D%E3ED%A7%FE%C4%5B%15%BF%A8%E6W%15%BD*~%5C%5E%5E%0E%DF76%A1%BF%B4%B4%F4YYY%D9%BB%CA%CA%CA%1F%FD%FD%FD%B2%B1%B1!'''r%7B%0B%E7%BF%FD%18%0B%07%5Cp%C2%8D%06Z)M%A9%82%D7%AAp%A7%B1%B1Q%8E%8E%8E%B4%89%C7%00%DCh%A0%85fRSN%A73%5D%15%84%26%26%26%E4%FA%FAZnnn%1E%15h%A0%85%26%DA%09%A6JJJ%D2T%C27%3B%3B%2B%D1h%F4%BFall%CC%90%0BM%B4%F1%107%A5%1C%BE%EF%EB%EB%93%AB%AB%2B%D3888%90%D6%D6V)**%92%CC%CCL%1Di%D3%0F%CF%E8%E8%A8%D8l6S%7Ch%E3A%1BR%CE%5E%B2%C8%98%D7p8l%88%8B%8B%0B-%96%93%93%23%D9%D9%D9%92%9B%9B%2Byyy%3A%C6%DA%CD%CD%CD%FA%99%1A3%9Ch%E3%01%2F%16%F5%E0%EE%ED%ED%15%84%CC%A0%BB%BB%5B%B2%B2%B2%C4%E1p%C8%D0%D0%90%EC%EE%EEJ%24%12%D1%916%FD%98%8BE3%9C%D4%E0%01%2F%96%9A%9A%9A%CF%F3%F3%F3rvvf%88%D5%D5Um%26%3F%3F_oa%88%CE%CF%CF%F58%E2%C8%C8%886B%BE%A0%A0%40%1B3%C3K%0D%1E%F0%C2%1B%FA%EE%F3%F9%24%10%08%18%A2%A5%A5EO%C3%F0%F0%B0%84B%A1%84%FA%C1%C1A%3DM1C%98%A2%D6%0C%2F5x%C0%0Bk%E8%17sx%7C%7Cl%88%E2%E2b%FD%AFwvv%12j%07%06%06%C4n%B7%EB%1CFb%C0%90%19%5Ej%F0%80%17%8B%DAr%3F%F7%F6%F6%E4%F0%F0%D0%10%2C%5ED%FC~%7FB-%A7%F0%E9%E9iR%98%E1%A5%06%0Fx%B1TWW%7F%5B%5B%5B%D3%DB%D5%08%BC!%0C%99%AD7%E2%BB%9B%87%13%2F%96%FA%FAz%DF%D4%D4%94%9E%06%23%B0%86X'%3D%3D%3D)k%C7%C7%C7%85%0D%60%C4w7%8F%07%BCX%3A%3B%3B%3F%B4%B7%B7%CB%F6%F6%B6!%E6%E6%E6%E2g%CD%F4%F4t%D2%FA%99%99%19%BD%13YO%FCk3%BC%D4%E0%01%2F%16u~8***%A2%1E%8FGo%E5T%60%60GG%87%5E%C0%9C%CE%9C%CC%18%60%0C%916%FD%9C%D0mmm%B2%B9%B9i%C8%C9X%B4%F1%80%17%EE%2Bi%5D%5D%5D%9F%DCn%B7%AC%AF%AF%1B%02S%1Cb%AC%25%C4322%E2%A0M%3Fy%EA%CC%F0Q%836%1E%F0%A2%3F%1F%C1%60%D0QWW%17%E4%AE%B2%B2%B2%92%12%5E%AFW%B6%B6%B6dqqQ_!%0A%0B%0B%F5%1B%23%D2%A6%9F%3CuF%5C%E4%D1D%1B%0F%F1%8F%ABr%F6Tm%BB7UUU%115%8F%FA%15.--%A5%04%82%BC%05%0E%B4%FD%FD%7D%1Di%D3o4%96%3C%1Ah%A1%896%1E%12%AE%20%AA%E3%B9%9A%C3%16%97%CB%15P%8EerrR%16%16%16%1E%05p%A3%81%16%9Ah'%BD%A4%A9%C4%8B%CB%CB%CB%3A%F5%01%F5%A8C*%DA%D4%D4%A4%3F%98lcv%D8C%00%07%5Cp%C2%8D%06Zh%A6%BC%C6%F2%EA%14%ECjN%DF%AA%EF%D3lCC%83%BF%B6%B66%C4%A1%F8%10%C0%01%17%9Cp%A3%F1%D74)g%BF%01%E1'%8B%DA%0F%0A%90%D8%00%00%00%00IEND%AEB%60%82" /> | 48 | <img data-montage-id="reload" alt="refresh" title="refresh" width="25px" height="15px" class="reload" src="data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%24%00%00%00%16%08%06%00%00%00%A8%B2%3E%3E%00%00%00%04gAMA%00%00%D6%D8%D4OX2%00%00%00%18tEXtSoftware%00Paint.NET%20v3.30%40%84G%10%00%00%03%96IDATHK%B5%96%CBK%5BA%14%C6%13Z%84%D2B%A1%AB%82%FF%82%60%E2%2B%BAs%A1%18_%88%22f%25n*%0A%25%8A%BAiEQD%11%C4%85%DA%85%8AK%05)U%0C%8A%18%15%8A%82n%8C%8F%12%04A%17%09%D1Z%C4%92%14%91P%2Cr%3A%BF%A1%09%86%C6%DCK%AD%81%8Fsg%CE%99%EF%FBr%E7q%C7j%B9%E7W%5E%5E%FEJ%A5%5CV%AB%D5%A9b%BA%8A6%15%9F%A8%A8G%C4%E2%7D%E3ED%A7%FE%C4%5B%15%BF%A8%E6W%15%BD*~%5C%5E%5E%0E%DF76%A1%BF%B4%B4%F4YYY%D9%BB%CA%CA%CA%1F%FD%FD%FD%B2%B1%B1!'''r%7B%0B%E7%BF%FD%18%0B%07%5Cp%C2%8D%06Z)M%A9%82%D7%AAp%A7%B1%B1Q%8E%8E%8E%B4%89%C7%00%DCh%A0%85fRSN%A73%5D%15%84%26%26%26%E4%FA%FAZnnn%1E%15h%A0%85%26%DA%09%A6JJJ%D2T%C27%3B%3B%2B%D1h%F4%BFall%CC%90%0BM%B4%F1%107%A5%1C%BE%EF%EB%EB%93%AB%AB%2B%D3888%90%D6%D6V)**%92%CC%CCL%1Di%D3%0F%CF%E8%E8%A8%D8l6S%7Ch%E3A%1BR%CE%5E%B2%C8%98%D7p8l%88%8B%8B%0B-%96%93%93%23%D9%D9%D9%92%9B%9B%2Byyy%3A%C6%DA%CD%CD%CD%FA%99%1A3%9Ch%E3%01%2F%16%F5%E0%EE%ED%ED%15%84%CC%A0%BB%BB%5B%B2%B2%B2%C4%E1p%C8%D0%D0%90%EC%EE%EEJ%24%12%D1%916%FD%98%8BE3%9C%D4%E0%01%2F%96%9A%9A%9A%CF%F3%F3%F3rvvf%88%D5%D5Um%26%3F%3F_oa%88%CE%CF%CF%F58%E2%C8%C8%886B%BE%A0%A0%40%1B3%C3K%0D%1E%F0%C2%1B%FA%EE%F3%F9%24%10%08%18%A2%A5%A5EO%C3%F0%F0%B0%84B%A1%84%FA%C1%C1A%3DM1C%98%A2%D6%0C%2F5x%C0%0Bk%E8%17sx%7C%7Cl%88%E2%E2b%FD%AFwvv%12j%07%06%06%C4n%B7%EB%1CFb%C0%90%19%5Ej%F0%80%17%8B%DAr%3F%F7%F6%F6%E4%F0%F0%D0%10%2C%5ED%FC~%7FB-%A7%F0%E9%E9iR%98%E1%A5%06%0Fx%B1TWW%7F%5B%5B%5B%D3%DB%D5%08%BC!%0C%99%AD7%E2%BB%9B%87%13%2F%96%FA%FAz%DF%D4%D4%94%9E%06%23%B0%86X'%3D%3D%3D)k%C7%C7%C7%85%0D%60%C4w7%8F%07%BCX%3A%3B%3B%3F%B4%B7%B7%CB%F6%F6%B6!%E6%E6%E6%E2g%CD%F4%F4t%D2%FA%99%99%19%BD%13YO%FCk3%BC%D4%E0%01%2F%16u~8***%A2%1E%8FGo%E5T%60%60GG%87%5E%C0%9C%CE%9C%CC%18%60%0C%916%FD%9C%D0mmm%B2%B9%B9i%C8%C9X%B4%F1%80%17%EE%2Bi%5D%5D%5D%9F%DCn%B7%AC%AF%AF%1B%02S%1Cb%AC%25%C4322%E2%A0M%3Fy%EA%CC%F0Q%836%1E%F0%A2%3F%1F%C1%60%D0QWW%17%E4%AE%B2%B2%B2%92%12%5E%AFW%B6%B6%B6dqqQ_!%0A%0B%0B%F5%1B%23%D2%A6%9F%3CuF%5C%E4%D1D%1B%0F%F1%8F%ABr%F6Tm%BB7UUU%115%8F%FA%15.--%A5%04%82%BC%05%0E%B4%FD%FD%7D%1Di%D3o4%96%3C%1Ah%A1%896%1E%12%AE%20%AA%E3%B9%9A%C3%16%97%CB%15P%8EerrR%16%16%16%1E%05p%A3%81%16%9Ah'%BD%A4%A9%C4%8B%CB%CB%CB%3A%F5%01%F5%A8C*%DA%D4%D4%A4%3F%98lcv%D8C%00%07%5Cp%C2%8D%06Zh%A6%BC%C6%F2%EA%14%ECjN%DF%AA%EF%D3lCC%83%BF%B6%B66%C4%A1%F8%10%C0%01%17%9Cp%A3%F1%D74)g%BF%01%E1'%8B%DA%0F%0A%90%D8%00%00%00%00IEND%AEB%60%82" /> |
49 | <div class="addressbar"> | 49 | <div class="addressbar"> |
50 | <input id="addressbarUri" class="nj-skinned addressbarUri" type="search" value="" /> | 50 | <input data-montage-id="addressbarUri" class="nj-skinned addressbarUri" type="search" value="" /> |
51 | <!--<span id="go" class="go">✈</span>--> | 51 | <!--<span id="go" class="go">✈</span>--> |
52 | <span class="dropdownArrow">▼</span> | 52 | <span class="dropdownArrow">▼</span> |
53 | <div class="dropdown hide"></div> | 53 | <div class="dropdown hide"></div> |
54 | </div> | 54 | </div> |
55 | <div class="viewSwitcher"> | 55 | <div class="viewSwitcher"> |
56 | <span id="iconView" class="iconView" title="icon view">¤</span> | 56 | <span data-montage-id="iconView" class="iconView" title="icon view">¤</span> |
57 | <span id="treeView" class="treeView" title="tree view">¥</span> | 57 | <span data-montage-id="treeView" class="treeView" title="tree view">¥</span> |
58 | </div> | 58 | </div> |
59 | </div> | 59 | </div> |
60 | <div id="left-nav" class="container left-nav"></div> | 60 | <div data-montage-id="left-nav" class="container left-nav"></div> |
61 | <div class="container right-nav"> | 61 | <div class="container right-nav"> |
62 | <div id="right-top" class="right-top"> | 62 | <div data-montage-id="right-top" class="right-top"> |
63 | <div id="iconViewContainer" class="iconViewContainer" style="display:block;"></div> | 63 | <div data-montage-id="iconViewContainer" class="iconViewContainer" style="display:block;"></div> |
64 | <div id="treeViewContainer" class="treeViewContainer" style="display:none;"></div> | 64 | <div data-montage-id="treeViewContainer" class="treeViewContainer" style="display:none;"></div> |
65 | </div> | 65 | </div> |
66 | <div id="right-bottom" class="right-bottom"></div> | 66 | <div data-montage-id="right-bottom" class="right-bottom"></div> |
67 | </div> | 67 | </div> |
68 | <div class="buttons"> |