Index: branches/MwEmbedStandAlone/loader.js |
— | — | @@ -57,7 +57,8 @@ |
58 | 58 | 'SwarmTransport', |
59 | 59 | 'SyntaxHighlighter', |
60 | 60 | 'MiroSubs', |
61 | | - 'PlayerThemer' |
| 61 | + 'PlayerThemer', |
| 62 | + 'MediaWikiSupport' |
62 | 63 | ]; |
63 | 64 | |
64 | 65 | /** |
Index: branches/MwEmbedStandAlone/skins/common/mw.style.mwCommon.css |
— | — | @@ -20,7 +20,6 @@ |
21 | 21 | display:block; |
22 | 22 | padding:0px; |
23 | 23 | background-image: url('images/loading_ani.gif'); |
24 | | - margin: auto; |
25 | 24 | } |
26 | 25 | .cssLoadingSpinner { |
27 | 26 | position:relative; |
Index: branches/MwEmbedStandAlone/mwEmbed.js |
— | — | @@ -2104,13 +2104,14 @@ |
2105 | 2105 | // Make sure we have jQuery |
2106 | 2106 | mw.load( 'window.jQuery', function() { |
2107 | 2107 | |
2108 | | - // Set up mvEmbed utility jQuery bindings |
2109 | | - mw.dojQueryBindings(); |
2110 | | - |
2111 | 2108 | // Add jQuery to $j var. |
2112 | 2109 | if ( ! window[ '$j' ] ) { |
2113 | 2110 | window[ '$j' ] = jQuery.noConflict(); |
2114 | 2111 | } |
| 2112 | + |
| 2113 | + // Set up mvEmbed utility jQuery bindings |
| 2114 | + mw.dojQueryBindings(); |
| 2115 | + |
2115 | 2116 | // Setup user config: |
2116 | 2117 | mw.setupUserConfig( function(){ |
2117 | 2118 | // Get module loader.js, and language files |
— | — | @@ -2671,7 +2672,7 @@ |
2672 | 2673 | } ); |
2673 | 2674 | }; |
2674 | 2675 | |
2675 | | - } )( $j ); |
| 2676 | + } )( jQuery ); |
2676 | 2677 | }; |
2677 | 2678 | |
2678 | 2679 | } )( window.mw ); |
Index: branches/MwEmbedStandAlone/modules/MediaWikiSupport/mw.LanguageSelect.js |
— | — | @@ -1,16 +0,0 @@ |
2 | | -/** |
3 | | - * Simple language selection uses. |
4 | | - */ |
5 | | - |
6 | | -mw.LanguageSelect = { |
7 | | - /** |
8 | | - * Get the language box ( note this c |
9 | | - */ |
10 | | - get: function( options ){ |
11 | | - // Build a select object |
12 | | - // TODO test string construction instead of jQuery build out for performance |
13 | | - $j('<select id="combobox"> |
14 | | - |
15 | | - return $langSelect; |
16 | | - } |
17 | | -}; |
\ No newline at end of file |
Index: branches/MwEmbedStandAlone/modules/MediaWikiSupport/loader.js |
— | — | @@ -3,7 +3,9 @@ |
4 | 4 | ( function( mw ) { |
5 | 5 | // Add as loader dependency 'mw.style.mirosubsMenu' |
6 | 6 | mw.addResourcePaths({ |
7 | | - "mw.LanguageSelectBox" : "mw.LanguageSelectBox.js" |
| 7 | + "mw.ui.languageSelectBox" : "mw.ui.languageSelectBox.js", |
| 8 | + "mw.Language.names" : "mw.Language.names.js", |
| 9 | + "$j.ui.combobox" : "jQueryPlugins/jquery.ui.combobox.js" |
8 | 10 | }); |
9 | 11 | |
10 | 12 | } )( window.mw ); |
\ No newline at end of file |
Index: branches/MwEmbedStandAlone/modules/MediaWikiSupport/mw.Language.names.js |
— | — | @@ -0,0 +1,370 @@ |
| 2 | +/** |
| 3 | +* This could be replaced with a dynamic resource loader resource |
| 4 | +*/ |
| 5 | + |
| 6 | +if( !mw.Language ){ |
| 7 | + mw.Language = {}; |
| 8 | +} |
| 9 | + /** |
| 10 | + * List of all languages mediaWiki supports ( Avoid an api call to get this same info ) |
| 11 | + * http://commons.wikimedia.org/w/api.php?action=query&meta=siteinfo&siprop=languages&format=jsonfm |
| 12 | + */ |
| 13 | + mw.Language.names = { |
| 14 | + "aa" : "Qaf\u00e1r af", |
| 15 | + "ab" : "\u0410\u04a7\u0441\u0443\u0430", |
| 16 | + "ace" : "Ac\u00e8h", |
| 17 | + "af" : "Afrikaans", |
| 18 | + "ak" : "Akan", |
| 19 | + "aln" : "Geg\u00eb", |
| 20 | + "als" : "Alemannisch", |
| 21 | + "am" : "\u12a0\u121b\u122d\u129b", |
| 22 | + "an" : "Aragon\u00e9s", |
| 23 | + "ang" : "Anglo-Saxon", |
| 24 | + "ar" : "\u0627\u0644\u0639\u0631\u0628\u064a\u0629", |
| 25 | + "arc" : "\u0710\u072a\u0721\u071d\u0710", |
| 26 | + "arn" : "Mapudungun", |
| 27 | + "arz" : "\u0645\u0635\u0631\u0649", |
| 28 | + "as" : "\u0985\u09b8\u09ae\u09c0\u09af\u09bc\u09be", |
| 29 | + "ast" : "Asturianu", |
| 30 | + "av" : "\u0410\u0432\u0430\u0440", |
| 31 | + "avk" : "Kotava", |
| 32 | + "ay" : "Aymar aru", |
| 33 | + "az" : "Az\u0259rbaycan", |
| 34 | + "ba" : "\u0411\u0430\u0448\u04a1\u043e\u0440\u0442", |
| 35 | + "bar" : "Boarisch", |
| 36 | + "bat-smg" : "\u017demait\u0117\u0161ka", |
| 37 | + "bcc" : "\u0628\u0644\u0648\u0686\u06cc \u0645\u06a9\u0631\u0627\u0646\u06cc", |
| 38 | + "bcl" : "Bikol Central", |
| 39 | + "be" : "\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f", |
| 40 | + "be-tarask" : "\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f (\u0442\u0430\u0440\u0430\u0448\u043a\u0435\u0432\u0456\u0446\u0430)", |
| 41 | + "be-x-old" : "\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f (\u0442\u0430\u0440\u0430\u0448\u043a\u0435\u0432\u0456\u0446\u0430)", |
| 42 | + "bg" : "\u0411\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438", |
| 43 | + "bh" : "\u092d\u094b\u091c\u092a\u0941\u0930\u0940", |
| 44 | + "bi" : "Bislama", |
| 45 | + "bm" : "Bamanankan", |
| 46 | + "bn" : "\u09ac\u09be\u0982\u09b2\u09be", |
| 47 | + "bo" : "\u0f56\u0f7c\u0f51\u0f0b\u0f61\u0f72\u0f42", |
| 48 | + "bpy" : "\u0987\u09ae\u09be\u09b0 \u09a0\u09be\u09b0\/\u09ac\u09bf\u09b7\u09cd\u09a3\u09c1\u09aa\u09cd\u09b0\u09bf\u09af\u09bc\u09be \u09ae\u09a3\u09bf\u09aa\u09c1\u09b0\u09c0", |
| 49 | + "bqi" : "\u0628\u062e\u062a\u064a\u0627\u0631\u064a", |
| 50 | + "br" : "Brezhoneg", |
| 51 | + "bs" : "Bosanski", |
| 52 | + "bug" : "\u1a05\u1a14 \u1a15\u1a18\u1a01\u1a17", |
| 53 | + "bxr" : "\u0411\u0443\u0440\u044f\u0430\u0434", |
| 54 | + "ca" : "Catal\u00e0", |
| 55 | + "cbk-zam" : "Chavacano de Zamboanga", |
| 56 | + "cdo" : "M\u00ecng-d\u0115\u0324ng-ng\u1e73\u0304", |
| 57 | + "ce" : "\u041d\u043e\u0445\u0447\u0438\u0439\u043d", |
| 58 | + "ceb" : "Cebuano", |
| 59 | + "ch" : "Chamoru", |
| 60 | + "cho" : "Choctaw", |
| 61 | + "chr" : "\u13e3\u13b3\u13a9", |
| 62 | + "chy" : "Tsets\u00eahest\u00e2hese", |
| 63 | + "ckb" : "Soran\u00ee \/ \u06a9\u0648\u0631\u062f\u06cc", |
| 64 | + "ckb-latn" : "\u202aSoran\u00ee (lat\u00een\u00ee)\u202c", |
| 65 | + "ckb-arab" : "\u202b\u06a9\u0648\u0631\u062f\u06cc (\u0639\u06d5\u0631\u06d5\u0628\u06cc)\u202c", |
| 66 | + "co" : "Corsu", |
| 67 | + "cr" : "N\u0113hiyaw\u0113win \/ \u14c0\u1426\u1403\u152d\u140d\u140f\u1423", |
| 68 | + "crh" : "Q\u0131r\u0131mtatarca", |
| 69 | + "crh-latn" : "\u202aQ\u0131r\u0131mtatarca (Latin)\u202c", |
| 70 | + "crh-cyrl" : "\u202a\u041a\u044a\u044b\u0440\u044b\u043c\u0442\u0430\u0442\u0430\u0440\u0434\u0436\u0430 (\u041a\u0438\u0440\u0438\u043b\u043b)\u202c", |
| 71 | + "cs" : "\u010cesky", |
| 72 | + "csb" : "Kasz\u00ebbsczi", |
| 73 | + "cu" : "\u0421\u043b\u043e\u0432\u0463\u0301\u043d\u044c\u0441\u043a\u044a \/ \u2c14\u2c0e\u2c11\u2c02\u2c21\u2c10\u2c20\u2c14\u2c0d\u2c1f", |
| 74 | + "cv" : "\u0427\u04d1\u0432\u0430\u0448\u043b\u0430", |
| 75 | + "cy" : "Cymraeg", |
| 76 | + "da" : "Dansk", |
| 77 | + "de" : "Deutsch", |
| 78 | + "de-at" : "\u00d6sterreichisches Deutsch", |
| 79 | + "de-ch" : "Schweizer Hochdeutsch", |
| 80 | + "de-formal" : "Deutsch (Sie-Form)", |
| 81 | + "diq" : "Zazaki", |
| 82 | + "dk" : "Dansk (deprecated:da)", |
| 83 | + "dsb" : "Dolnoserbski", |
| 84 | + "dv" : "\u078b\u07a8\u0788\u07ac\u0780\u07a8\u0784\u07a6\u0790\u07b0", |
| 85 | + "dz" : "\u0f47\u0f7c\u0f44\u0f0b\u0f41", |
| 86 | + "ee" : "E\u028begbe", |
| 87 | + "el" : "\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac", |
| 88 | + "eml" : "Emili\u00e0n e rumagn\u00f2l", |
| 89 | + "en" : "English", |
| 90 | + "en-gb" : "British English", |
| 91 | + "eo" : "Esperanto", |
| 92 | + "es" : "Espa\u00f1ol", |
| 93 | + "et" : "Eesti", |
| 94 | + "eu" : "Euskara", |
| 95 | + "ext" : "Estreme\u00f1u", |
| 96 | + "fa" : "\u0641\u0627\u0631\u0633\u06cc", |
| 97 | + "ff" : "Fulfulde", |
| 98 | + "fi" : "Suomi", |
| 99 | + "fiu-vro" : "V\u00f5ro", |
| 100 | + "fj" : "Na Vosa Vakaviti", |
| 101 | + "fo" : "F\u00f8royskt", |
| 102 | + "fr" : "Fran\u00e7ais", |
| 103 | + "frc" : "Fran\u00e7ais cadien", |
| 104 | + "frp" : "Arpetan", |
| 105 | + "fur" : "Furlan", |
| 106 | + "fy" : "Frysk", |
| 107 | + "ga" : "Gaeilge", |
| 108 | + "gag" : "Gagauz", |
| 109 | + "gan" : "\u8d1b\u8a9e", |
| 110 | + "gan-hans" : "\u8d63\u8bed(\u7b80\u4f53)", |
| 111 | + "gan-hant" : "\u8d1b\u8a9e(\u7e41\u9ad4)", |
| 112 | + "gd" : "G\u00e0idhlig", |
| 113 | + "gl" : "Galego", |
| 114 | + "glk" : "\u06af\u06cc\u0644\u06a9\u06cc", |
| 115 | + "gn" : "Ava\u00f1e'\u1ebd", |
| 116 | + "got" : "\ud800\udf32\ud800\udf3f\ud800\udf44\ud800\udf39\ud800\udf43\ud800\udf3a", |
| 117 | + "grc" : "\u1f08\u03c1\u03c7\u03b1\u03af\u03b1 \u1f11\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u1f74", |
| 118 | + "gsw" : "Alemannisch", |
| 119 | + "gu" : "\u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0", |
| 120 | + "gv" : "Gaelg", |
| 121 | + "ha" : "\u0647\u064e\u0648\u064f\u0633\u064e", |
| 122 | + "hak" : "Hak-k\u00e2-fa", |
| 123 | + "haw" : "Hawai`i", |
| 124 | + "he" : "\u05e2\u05d1\u05e8\u05d9\u05ea", |
| 125 | + "hi" : "\u0939\u093f\u0928\u094d\u0926\u0940", |
| 126 | + "hif" : "Fiji Hindi", |
| 127 | + "hif-deva" : "\u092b\u093c\u0940\u091c\u0940 \u0939\u093f\u0928\u094d\u0926\u0940", |
| 128 | + "hif-latn" : "Fiji Hindi", |
| 129 | + "hil" : "Ilonggo", |
| 130 | + "ho" : "Hiri Motu", |
| 131 | + "hr" : "Hrvatski", |
| 132 | + "hsb" : "Hornjoserbsce", |
| 133 | + "ht" : "Krey\u00f2l ayisyen", |
| 134 | + "hu" : "Magyar", |
| 135 | + "hy" : "\u0540\u0561\u0575\u0565\u0580\u0565\u0576", |
| 136 | + "hz" : "Otsiherero", |
| 137 | + "ia" : "Interlingua", |
| 138 | + "id" : "Bahasa Indonesia", |
| 139 | + "ie" : "Interlingue", |
| 140 | + "ig" : "Igbo", |
| 141 | + "ii" : "\ua187\ua259", |
| 142 | + "ik" : "I\u00f1upiak", |
| 143 | + "ike-cans" : "\u1403\u14c4\u1483\u144e\u1450\u1466", |
| 144 | + "ike-latn" : "inuktitut", |
| 145 | + "ilo" : "Ilokano", |
| 146 | + "inh" : "\u0413\u0406\u0430\u043b\u0433\u0406\u0430\u0439 \u011eal\u011faj", |
| 147 | + "io" : "Ido", |
| 148 | + "is" : "\u00cdslenska", |
| 149 | + "it" : "Italiano", |
| 150 | + "iu" : "\u1403\u14c4\u1483\u144e\u1450\u1466\/inuktitut", |
| 151 | + "ja" : "\u65e5\u672c\u8a9e", |
| 152 | + "jbo" : "Lojban", |
| 153 | + "jut" : "Jysk", |
| 154 | + "jv" : "Basa Jawa", |
| 155 | + "ka" : "\u10e5\u10d0\u10e0\u10d7\u10e3\u10da\u10d8", |
| 156 | + "kaa" : "Qaraqalpaqsha", |
| 157 | + "kab" : "Taqbaylit", |
| 158 | + "kg" : "Kongo", |
| 159 | + "ki" : "G\u0129k\u0169y\u0169", |
| 160 | + "kiu" : "Kurmanc\u00ee", |
| 161 | + "kj" : "Kwanyama", |
| 162 | + "kk" : "\u049a\u0430\u0437\u0430\u049b\u0448\u0430", |
| 163 | + "kk-arab" : "\u202b\u0642\u0627\u0632\u0627\u0642\u0634\u0627 (\u062a\u0674\u0648\u062a\u06d5)\u202c", |
| 164 | + "kk-cyrl" : "\u202a\u049a\u0430\u0437\u0430\u049b\u0448\u0430 (\u043a\u0438\u0440\u0438\u043b)\u202c", |
| 165 | + "kk-latn" : "\u202aQazaq\u015fa (lat\u0131n)\u202c", |
| 166 | + "kk-cn" : "\u202b\u0642\u0627\u0632\u0627\u0642\u0634\u0627 (\u062c\u06c7\u0646\u06af\u0648)\u202c", |
| 167 | + "kk-kz" : "\u202a\u049a\u0430\u0437\u0430\u049b\u0448\u0430 (\u049a\u0430\u0437\u0430\u049b\u0441\u0442\u0430\u043d)\u202c", |
| 168 | + "kk-tr" : "\u202aQazaq\u015fa (T\u00fcrk\u00efya)\u202c", |
| 169 | + "kl" : "Kalaallisut", |
| 170 | + "km" : "\u1797\u17b6\u179f\u17b6\u1781\u17d2\u1798\u17c2\u179a", |
| 171 | + "kn" : "\u0c95\u0ca8\u0ccd\u0ca8\u0ca1", |
| 172 | + "ko" : "\ud55c\uad6d\uc5b4", |
| 173 | + "ko-kp" : "\ud55c\uad6d\uc5b4 (\uc870\uc120)", |
| 174 | + "kr" : "Kanuri", |
| 175 | + "kri" : "Krio", |
| 176 | + "krj" : "Kinaray-a", |
| 177 | + "ks" : "\u0915\u0936\u094d\u092e\u0940\u0930\u0940 - (\u0643\u0634\u0645\u064a\u0631\u064a)", |
| 178 | + "ksh" : "Ripoarisch", |
| 179 | + "ku" : "Kurd\u00ee \/ \u0643\u0648\u0631\u062f\u06cc", |
| 180 | + "ku-latn" : "\u202aKurd\u00ee (lat\u00een\u00ee)\u202c", |
| 181 | + "ku-arab" : "\u202b\u0643\u0648\u0631\u062f\u064a (\u0639\u06d5\u0631\u06d5\u0628\u06cc)\u202c", |
| 182 | + "kv" : "\u041a\u043e\u043c\u0438", |
| 183 | + "kw" : "Kernowek", |
| 184 | + "ky" : "\u041a\u044b\u0440\u0433\u044b\u0437\u0447\u0430", |
| 185 | + "la" : "Latina", |
| 186 | + "lad" : "Ladino", |
| 187 | + "lb" : "L\u00ebtzebuergesch", |
| 188 | + "lbe" : "\u041b\u0430\u043a\u043a\u0443", |
| 189 | + "lez" : "\u041b\u0435\u0437\u0433\u0438", |
| 190 | + "lfn" : "Lingua Franca Nova", |
| 191 | + "lg" : "Luganda", |
| 192 | + "li" : "Limburgs", |
| 193 | + "lij" : "L\u00edguru", |
| 194 | + "lmo" : "Lumbaart", |
| 195 | + "ln" : "Ling\u00e1la", |
| 196 | + "lo" : "\u0ea5\u0eb2\u0ea7", |
| 197 | + "loz" : "Silozi", |
| 198 | + "lt" : "Lietuvi\u0173", |
| 199 | + "lv" : "Latvie\u0161u", |
| 200 | + "lzh" : "\u6587\u8a00", |
| 201 | + "mai" : "\u092e\u0948\u0925\u093f\u0932\u0940", |
| 202 | + "map-bms" : "Basa Banyumasan", |
| 203 | + "mdf" : "\u041c\u043e\u043a\u0448\u0435\u043d\u044c", |
| 204 | + "mg" : "Malagasy", |
| 205 | + "mh" : "Ebon", |
| 206 | + "mhr" : "\u041e\u043b\u044b\u043a \u041c\u0430\u0440\u0438\u0439", |
| 207 | + "mi" : "M\u0101ori", |
| 208 | + "mk" : "\u041c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438", |
| 209 | + "ml" : "\u0d2e\u0d32\u0d2f\u0d3e\u0d33\u0d02", |
| 210 | + "mn" : "\u041c\u043e\u043d\u0433\u043e\u043b", |
| 211 | + "mo" : "\u041c\u043e\u043b\u0434\u043e\u0432\u0435\u043d\u044f\u0441\u043a\u044d", |
| 212 | + "mr" : "\u092e\u0930\u093e\u0920\u0940", |
| 213 | + "ms" : "Bahasa Melayu", |
| 214 | + "mt" : "Malti", |
| 215 | + "mus" : "Mvskoke", |
| 216 | + "mwl" : "Mirand\u00e9s", |
| 217 | + "my" : "\u1019\u103c\u1014\u103a\u1019\u102c\u1018\u102c\u101e\u102c", |
| 218 | + "myv" : "\u042d\u0440\u0437\u044f\u043d\u044c", |
| 219 | + "mzn" : "\u0645\u064e\u0632\u0650\u0631\u0648\u0646\u064a", |
| 220 | + "na" : "Dorerin Naoero", |
| 221 | + "nah" : "N\u0101huatl", |
| 222 | + "nan" : "B\u00e2n-l\u00e2m-g\u00fa", |
| 223 | + "nap" : "Nnapulitano", |
| 224 | + "nb" : "\u202aNorsk (bokm\u00e5l)\u202c", |
| 225 | + "nds" : "Plattd\u00fc\u00fctsch", |
| 226 | + "nds-nl" : "Nedersaksisch", |
| 227 | + "ne" : "\u0928\u0947\u092a\u093e\u0932\u0940", |
| 228 | + "new" : "\u0928\u0947\u092a\u093e\u0932 \u092d\u093e\u0937\u093e", |
| 229 | + "ng" : "Oshiwambo", |
| 230 | + "niu" : "Niu\u0113", |
| 231 | + "nl" : "Nederlands", |
| 232 | + "nn" : "\u202aNorsk (nynorsk)\u202c", |
| 233 | + "no" : "\u202aNorsk (bokm\u00e5l)\u202c", |
| 234 | + "nov" : "Novial", |
| 235 | + "nrm" : "Nouormand", |
| 236 | + "nso" : "Sesotho sa Leboa", |
| 237 | + "nv" : "Din\u00e9 bizaad", |
| 238 | + "ny" : "Chi-Chewa", |
| 239 | + "oc" : "Occitan", |
| 240 | + "om" : "Oromoo", |
| 241 | + "or" : "\u0b13\u0b21\u0b3c\u0b3f\u0b06", |
| 242 | + "os" : "\u0418\u0440\u043e\u043d\u0430\u0443", |
| 243 | + "pa" : "\u0a2a\u0a70\u0a1c\u0a3e\u0a2c\u0a40", |
| 244 | + "pag" : "Pangasinan", |
| 245 | + "pam" : "Kapampangan", |
| 246 | + "pap" : "Papiamentu", |
| 247 | + "pcd" : "Picard", |
| 248 | + "pdc" : "Deitsch", |
| 249 | + "pdt" : "Plautdietsch", |
| 250 | + "pfl" : "Pf\u00e4lzisch", |
| 251 | + "pi" : "\u092a\u093e\u093f\u0934", |
| 252 | + "pih" : "Norfuk \/ Pitkern", |
| 253 | + "pl" : "Polski", |
| 254 | + "pms" : "Piemont\u00e8is", |
| 255 | + "pnb" : "\u067e\u0646\u062c\u0627\u0628\u06cc", |
| 256 | + "pnt" : "\u03a0\u03bf\u03bd\u03c4\u03b9\u03b1\u03ba\u03ac", |
| 257 | + "ps" : "\u067e\u069a\u062a\u0648", |
| 258 | + "pt" : "Portugu\u00eas", |
| 259 | + "pt-br" : "Portugu\u00eas do Brasil", |
| 260 | + "qu" : "Runa Simi", |
| 261 | + "rif" : "Tarifit", |
| 262 | + "rm" : "Rumantsch", |
| 263 | + "rmy" : "Romani", |
| 264 | + "rn" : "Kirundi", |
| 265 | + "ro" : "Rom\u00e2n\u0103", |
| 266 | + "roa-rup" : "Arm\u00e3neashce", |
| 267 | + "roa-tara" : "Tarand\u00edne", |
| 268 | + "ru" : "\u0420\u0443\u0441\u0441\u043a\u0438\u0439", |
| 269 | + "ruq" : "Vl\u0103he\u015fte", |
| 270 | + "ruq-cyrl" : "\u0412\u043b\u0430\u0445\u0435\u0441\u0442\u0435", |
| 271 | + "ruq-latn" : "Vl\u0103he\u015fte", |
| 272 | + "rw" : "Kinyarwanda", |
| 273 | + "sa" : "\u0938\u0902\u0938\u094d\u0915\u0943\u0924", |
| 274 | + "sah" : "\u0421\u0430\u0445\u0430 \u0442\u044b\u043b\u0430", |
| 275 | + "sc" : "Sardu", |
| 276 | + "scn" : "Sicilianu", |
| 277 | + "sco" : "Scots", |
| 278 | + "sd" : "\u0633\u0646\u068c\u064a", |
| 279 | + "sdc" : "Sassaresu", |
| 280 | + "se" : "S\u00e1megiella", |
| 281 | + "sei" : "Cmique Itom", |
| 282 | + "sg" : "S\u00e4ng\u00f6", |
| 283 | + "sh" : "Srpskohrvatski \/ \u0421\u0440\u043f\u0441\u043a\u043e\u0445\u0440\u0432\u0430\u0442\u0441\u043a\u0438", |
| 284 | + "shi" : "Ta\u0161l\u1e25iyt", |
| 285 | + "si" : "\u0dc3\u0dd2\u0d82\u0dc4\u0dbd", |
| 286 | + "simple" : "Simple English", |
| 287 | + "sk" : "Sloven\u010dina", |
| 288 | + "sl" : "Sloven\u0161\u010dina", |
| 289 | + "sli" : "Schl\u00e4sch", |
| 290 | + "sm" : "Gagana Samoa", |
| 291 | + "sma" : "\u00c5arjelsaemien", |
| 292 | + "sn" : "chiShona", |
| 293 | + "so" : "Soomaaliga", |
| 294 | + "sq" : "Shqip", |
| 295 | + "sr" : "\u0421\u0440\u043f\u0441\u043a\u0438 \/ Srpski", |
| 296 | + "sr-ec" : "\u0421\u0440\u043f\u0441\u043a\u0438 (\u045b\u0438\u0440\u0438\u043b\u0438\u0446\u0430)", |
| 297 | + "sr-el" : "Srpski (latinica)", |
| 298 | + "srn" : "Sranantongo", |
| 299 | + "ss" : "SiSwati", |
| 300 | + "st" : "Sesotho", |
| 301 | + "stq" : "Seeltersk", |
| 302 | + "su" : "Basa Sunda", |
| 303 | + "sv" : "Svenska", |
| 304 | + "sw" : "Kiswahili", |
| 305 | + "szl" : "\u015al\u016fnski", |
| 306 | + "ta" : "\u0ba4\u0bae\u0bbf\u0bb4\u0bcd", |
| 307 | + "tcy" : "\u0ca4\u0cc1\u0cb3\u0cc1", |
| 308 | + "te" : "\u0c24\u0c46\u0c32\u0c41\u0c17\u0c41", |
| 309 | + "tet" : "Tetun", |
| 310 | + "tg" : "\u0422\u043e\u04b7\u0438\u043a\u04e3", |
| 311 | + "tg-cyrl" : "\u0422\u043e\u04b7\u0438\u043a\u04e3", |
| 312 | + "tg-latn" : "tojik\u012b", |
| 313 | + "th" : "\u0e44\u0e17\u0e22", |
| 314 | + "ti" : "\u1275\u130d\u122d\u129b", |
| 315 | + "tk" : "T\u00fcrkmen\u00e7e", |
| 316 | + "tl" : "Tagalog", |
| 317 | + "tn" : "Setswana", |
| 318 | + "to" : "lea faka-Tonga", |
| 319 | + "tokipona" : "Toki Pona", |
| 320 | + "tp" : "Toki Pona (deprecated:tokipona)", |
| 321 | + "tpi" : "Tok Pisin", |
| 322 | + "tr" : "T\u00fcrk\u00e7e", |
| 323 | + "ts" : "Xitsonga", |
| 324 | + "tt" : "\u0422\u0430\u0442\u0430\u0440\u0447\u0430\/Tatar\u00e7a", |
| 325 | + "tt-cyrl" : "\u0422\u0430\u0442\u0430\u0440\u0447\u0430", |
| 326 | + "tt-latn" : "Tatar\u00e7a", |
| 327 | + "tum" : "chiTumbuka", |
| 328 | + "tw" : "Twi", |
| 329 | + "ty" : "Reo M\u0101`ohi", |
| 330 | + "tyv" : "\u0422\u044b\u0432\u0430 \u0434\u044b\u043b", |
| 331 | + "udm" : "\u0423\u0434\u043c\u0443\u0440\u0442", |
| 332 | + "ug" : "Uyghurche\u200e \/ \u0626\u06c7\u064a\u063a\u06c7\u0631\u0686\u06d5", |
| 333 | + "ug-arab" : "\u0626\u06c7\u064a\u063a\u06c7\u0631\u0686\u06d5", |
| 334 | + "ug-latn" : "Uyghurche\u200e", |
| 335 | + "uk" : "\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430", |
| 336 | + "ur" : "\u0627\u0631\u062f\u0648", |
| 337 | + "uz" : "O'zbek", |
| 338 | + "ve" : "Tshivenda", |
| 339 | + "vec" : "V\u00e8neto", |
| 340 | + "vep" : "Vepsan kel'", |
| 341 | + "vi" : "Ti\u1ebfng Vi\u1ec7t", |
| 342 | + "vls" : "West-Vlams", |
| 343 | + "vo" : "Volap\u00fck", |
| 344 | + "vro" : "V\u00f5ro", |
| 345 | + "wa" : "Walon", |
| 346 | + "war" : "Winaray", |
| 347 | + "wo" : "Wolof", |
| 348 | + "wuu" : "\u5434\u8bed", |
| 349 | + "xal" : "\u0425\u0430\u043b\u044c\u043c\u0433", |
| 350 | + "xh" : "isiXhosa", |
| 351 | + "xmf" : "\u10db\u10d0\u10e0\u10d2\u10d0\u10da\u10e3\u10e0\u10d8", |
| 352 | + "yi" : "\u05d9\u05d9\u05b4\u05d3\u05d9\u05e9", |
| 353 | + "yo" : "Yor\u00f9b\u00e1", |
| 354 | + "yue" : "\u7cb5\u8a9e", |
| 355 | + "za" : "Vahcuengh", |
| 356 | + "zea" : "Ze\u00eauws", |
| 357 | + "zh" : "\u4e2d\u6587", |
| 358 | + "zh-classical" : "\u6587\u8a00", |
| 359 | + "zh-cn" : "\u202a\u4e2d\u6587(\u4e2d\u56fd\u5927\u9646)\u202c", |
| 360 | + "zh-hans" : "\u202a\u4e2d\u6587(\u7b80\u4f53)\u202c", |
| 361 | + "zh-hant" : "\u202a\u4e2d\u6587(\u7e41\u9ad4)\u202c", |
| 362 | + "zh-hk" : "\u202a\u4e2d\u6587(\u9999\u6e2f)\u202c", |
| 363 | + "zh-min-nan" : "B\u00e2n-l\u00e2m-g\u00fa", |
| 364 | + "zh-mo" : "\u202a\u4e2d\u6587(\u6fb3\u9580)\u202c", |
| 365 | + "zh-my" : "\u202a\u4e2d\u6587(\u9a6c\u6765\u897f\u4e9a)\u202c", |
| 366 | + "zh-sg" : "\u202a\u4e2d\u6587(\u65b0\u52a0\u5761)\u202c", |
| 367 | + "zh-tw" : "\u202a\u4e2d\u6587(\u53f0\u7063)\u202c", |
| 368 | + "zh-yue" : "\u7cb5\u8a9e", |
| 369 | + "zu" : "isiZulu" |
| 370 | + }; |
| 371 | + |
\ No newline at end of file |
Property changes on: branches/MwEmbedStandAlone/modules/MediaWikiSupport/mw.Language.names.js |
___________________________________________________________________ |
Added: svn:mime-type |
1 | 372 | + text/plain |
Index: branches/MwEmbedStandAlone/modules/MediaWikiSupport/mw.ui.languageSelectBox.js |
— | — | @@ -0,0 +1,55 @@ |
| 2 | +/** |
| 3 | + * Simple language selection uses. |
| 4 | + * |
| 5 | + * @dependency |
| 6 | + */ |
| 7 | + |
| 8 | +if( ! mw.ui ){ |
| 9 | + mw.ui = {}; |
| 10 | +} |
| 11 | +/** |
| 12 | + * Get the language box |
| 13 | + * should probably be something like: mw.widget( 'ui.languageSelectBox', { } ); |
| 14 | + * or maybe we just directly extend jquery ui ? but would be nice to have a concept of a |
| 15 | + * functions for reusable interface components |
| 16 | + */ |
| 17 | +mw.ui.languageSelectBox = function( options ){ |
| 18 | + // Build a select object |
| 19 | + // TODO test string construction instead of jQuery build out for performance |
| 20 | + var $langSelect = $j('<select />') |
| 21 | + if( options.id ) |
| 22 | + $langSelect.attr( 'id', options.id ); |
| 23 | + |
| 24 | + if( options['class'] ) |
| 25 | + $langSelect.addClass(options['class'] ); |
| 26 | + |
| 27 | + var selectedLanguageKey = ( options.selectedLanguageKey )? options.selectedLanguageKey : 'en'; |
| 28 | + |
| 29 | + // For every language ( mw.Language.names is a dependency of mw.LanguageSelect ) |
| 30 | + for( var langKey in mw.Language.names ){ |
| 31 | + var optionAttr = { |
| 32 | + 'value': langKey |
| 33 | + }; |
| 34 | + if( langKey == selectedLanguageKey ){ |
| 35 | + optionAttr['selected'] = 'true'; |
| 36 | + } |
| 37 | + $langSelect.append( |
| 38 | + $j('<option />') |
| 39 | + .attr( optionAttr ) |
| 40 | + .text( langKey + ', ' + mw.Language.names[langKey] ) |
| 41 | + ); |
| 42 | + } |
| 43 | + /*var $comboboxContainer = |
| 44 | + $j('<div />') |
| 45 | + .css({ |
| 46 | + 'position': 'relative', |
| 47 | + 'overflow': 'auto' |
| 48 | + }) |
| 49 | + .addClass('ui-widget') |
| 50 | + .append( $langSelect ); |
| 51 | + $comboboxContainer.find('select').combobox(); |
| 52 | + return $comboboxContainer; |
| 53 | + */ |
| 54 | + // note there are some problems with the autocomplete css and performance issues |
| 55 | + return $langSelect; |
| 56 | +}; |
\ No newline at end of file |
Property changes on: branches/MwEmbedStandAlone/modules/MediaWikiSupport/mw.ui.languageSelectBox.js |
___________________________________________________________________ |
Added: svn:mime-type |
1 | 57 | + text/plain |
Index: branches/MwEmbedStandAlone/modules/MiroSubs/loader.js |
— | — | @@ -8,7 +8,8 @@ |
9 | 9 | "mwe-mirosubs-add-universal-subtitles" : "Universal subtitles editor", |
10 | 10 | "mwe-mirosubs-loading-universal-subtitles" : "Loading <i>universal subtitles</i> editor" |
11 | 11 | }); |
12 | | - // add as loader dependency 'mw.style.mirosubsMenu' |
| 12 | + |
| 13 | + // Add as loader dependency 'mw.style.mirosubsMenu' |
13 | 14 | mw.addResourcePaths( { |
14 | 15 | "mirosubs" : "mirosubs/mirosubs-api.min.js", |
15 | 16 | "mw.MiroSubsConfig" : "mw.MiroSubsConfig.js", |
— | — | @@ -18,10 +19,12 @@ |
19 | 20 | |
20 | 21 | mw.setDefaultConfig( { |
21 | 22 | 'MiroSubs.EnableUniversalSubsEditor': true |
22 | | - }) |
| 23 | + }); |
23 | 24 | |
24 | 25 | mw.addModuleLoader( 'MiroSubs', function(){ |
25 | | - var resourceList = [ "mirosubs", "mw.style.mirosubswidget", "mw.MiroSubsConfig" ]; |
| 26 | + var resourceList = [ "mirosubs", "mw.style.mirosubswidget", "mw.MiroSubsConfig", |
| 27 | + "mw.ui.languageSelectBox", "mw.Language.names", "$j.ui.autocomplete", |
| 28 | + "$j.ui.combobox" ]; |
26 | 29 | return resourceList; |
27 | 30 | }); |
28 | 31 | |
— | — | @@ -43,9 +46,6 @@ |
44 | 47 | mw.addLoaderDialog( gM('mwe-mirosubs-loading-universal-subtitles') ); |
45 | 48 | // Load miro subs: |
46 | 49 | mw.load( 'MiroSubs', function(){ |
47 | | - // Close loader dialog |
48 | | - mw.closeLoaderDialog(); |
49 | | - |
50 | 50 | // Open the mirosubs dialog: |
51 | 51 | mw.MiroSubsConfig.openDialog( embedPlayer ); |
52 | 52 | }); |
Index: branches/MwEmbedStandAlone/modules/MiroSubs/mw.MiroSubsConfig.js |
— | — | @@ -13,7 +13,7 @@ |
14 | 14 | if( !config ){ |
15 | 15 | return ; |
16 | 16 | } |
17 | | - // Show the dialog ( wait 500ms because of weird async DOM issues with mirosub wiget |
| 17 | + // Show the dialog ( wait 500ms because of weird async DOM issues with mirosub widget |
18 | 18 | setTimeout(function(){ |
19 | 19 | _this.mirosubs = mirosubs.api.openDialog( config ); |
20 | 20 | }, 800); |
— | — | @@ -41,53 +41,80 @@ |
42 | 42 | var isConfigReady = function(){ |
43 | 43 | if( _this.config.username |
44 | 44 | && |
45 | | - _this.config.subtitles |
46 | | - && |
47 | | - _this.config.languageKey |
| 45 | + _this.config.subtitles |
48 | 46 | ){ |
49 | 47 | callback( _this.config ); |
50 | 48 | } |
51 | 49 | }; |
52 | 50 | |
53 | | - // Get the language selection from user input ( dialog ) |
54 | | - _this.getContentLanguage( function( langKey ){ |
55 | | - _this.config.languageKey = langKey; |
56 | | - isConfigReady(); |
57 | | - }); |
58 | | - |
59 | | - // Make sure we are logged in:: |
60 | | - mw.getUserName( function( userName ){ |
61 | | - mw.log( "MiroSubsConfig::getUserName: " + userName ); |
62 | | - if( !userName ){ |
63 | | - mw.addDialog({ |
64 | | - 'title' : gM('mwe-mirosubs-subs-please-login'), |
65 | | - 'content' : gM('mwe-mirosubs-subs-please-login-desc') |
| 51 | + var getConfigWithPlayerLang = function(){ |
| 52 | + // Set the default languageKey from player recommendation: |
| 53 | + _this.config.languageKey = embedPlayer.timedText.getCurrentLangKey(); |
| 54 | + // Get the language selection from user input ( dialog ) |
| 55 | + _this.getUserSelectLanguage( function( langKey ){ |
| 56 | + // Update the language key based on user selection |
| 57 | + _this.config.languageKey = langKey; |
| 58 | + |
| 59 | + // Make sure we are logged in:: |
| 60 | + mw.getUserName( function( userName ){ |
| 61 | + mw.log( "MiroSubsConfig::getUserName: " + userName ); |
| 62 | + if( !userName ){ |
| 63 | + mw.addDialog({ |
| 64 | + 'title' : gM('mwe-mirosubs-subs-please-login'), |
| 65 | + 'content' : gM('mwe-mirosubs-subs-please-login-desc') |
| 66 | + }); |
| 67 | + callback( false ); |
| 68 | + } else { |
| 69 | + _this.config.username = userName; |
| 70 | + isConfigReady(); |
| 71 | + } |
66 | 72 | }); |
67 | | - callback( false ); |
68 | | - } else { |
69 | | - _this.config.username = userName; |
70 | | - isConfigReady(); |
71 | | - } |
72 | | - }); |
73 | | - // Get the subtitles |
74 | | - _this.getSubsInMiroFormat( function( miroSubs ){ |
75 | | - mw.log("MiroSubsConfig::getSubsInMiroFormat: got" + miroSubs.length + ' subs'); |
76 | | - // no failure for miro subs ( just an empty object ) |
77 | | - _this.config.subtitles = miroSubs; |
78 | | - isConfigReady(); |
79 | | - }); |
| 73 | + // Get the subtitles |
| 74 | + _this.getSubsInMiroFormat( function( miroSubs ){ |
| 75 | + mw.log("MiroSubsConfig::getSubsInMiroFormat: got" + miroSubs.length + ' subs'); |
| 76 | + // no failure for miro subs ( just an empty object ) |
| 77 | + _this.config.subtitles = miroSubs; |
| 78 | + isConfigReady(); |
| 79 | + }); |
| 80 | + |
| 81 | + }); |
| 82 | + } |
| 83 | + // Make sure the player has selected auto-selected source if it can ( to have a good recommend content language |
| 84 | + if( embedPlayer.timedText.getCurrentLangKey() ){ |
| 85 | + getConfigWithPlayerLang(); |
| 86 | + } else { |
| 87 | + embedPlayer.timedText.setupTextSources( function(){ |
| 88 | + getConfigWithPlayerLang(); |
| 89 | + }); |
| 90 | + } |
80 | 91 | }, |
81 | | - |
82 | | - getContentLanguage: function(){ |
| 92 | + /* |
| 93 | + * present a language selection dialog |
| 94 | + * |
| 95 | + * issue the callback with the selected language code. |
| 96 | + * @param {function} callback |
| 97 | + */ |
| 98 | + getUserSelectLanguage: function( callback ){ |
| 99 | + var buttons = { }; |
| 100 | + buttons[ gM( 'mwe-ok' ) ] = function() { |
| 101 | + // read the |
| 102 | + callback( $j('#mwe-mirosubs-lang-select').val() ); |
| 103 | + }; |
| 104 | + buttons[ gM( 'mwe-cancel' ) ] = function() { |
| 105 | + $j( this ).dialog('close'); |
| 106 | + }; |
| 107 | + |
83 | 108 | var $dialog = mw.addDialog( { |
84 | 109 | 'title' : gM("mwe-mirosubs-content-language"), |
85 | 110 | 'width' : 450, |
86 | 111 | 'content' : $j('<div />').append( |
87 | | - $j('<h3 />').text( gM("mwe-mirosubs-content-language") ), |
88 | | - $j('<input/>').attr({ |
89 | | - 'id' : 'mwe-mirosubs-save-summary', |
90 | | - 'size': '35' |
91 | | - }).val( gM('mwe-mirosubs-save-default') ) |
| 112 | + $j('<div />').text( |
| 113 | + gM("mwe-mirosubs-select-language") |
| 114 | + ), |
| 115 | + mw.ui.languageSelectBox( { |
| 116 | + 'id' : 'mwe-mirosubs-lang-select', |
| 117 | + 'selectedLanguageKey' : this.config.languageKey |
| 118 | + } ) |
92 | 119 | ), |
93 | 120 | 'buttons' : buttons |
94 | 121 | }); |
— | — | @@ -253,36 +280,27 @@ |
254 | 281 | // Get the existing subtitles in miro format |
255 | 282 | getSubsInMiroFormat: function( callback ){ |
256 | 283 | var _this = this; |
257 | | - var playerTimedText = this.embedPlayer.timedText; |
258 | | - |
259 | | - playerTimedText.setupTextSources( function(){ |
260 | | - var miroJsonSubs = []; |
261 | | - // NOTE the autoselected default language is a tricky issue |
262 | | - // We need to add support for language selection in the config object save callback |
263 | | - |
264 | | - // Get the current text source captions |
265 | | - playerTimedText.loadCurrentSubSrouce( function( source ){ |
266 | | - var captions = source.captions; |
267 | | - mw.log('getSubsInMiroFormat:: source sub length:' + captions.length ); |
268 | | - _this.config.languageKey = source.srclang; |
269 | | - for( var i = 0; i < captions.length ; i ++ ){ |
270 | | - var caption = captions[i]; |
271 | | - var miroSub = { |
272 | | - 'subtitle_id': 'sub_' + i, |
273 | | - 'text': caption.content, |
274 | | - 'sub_order': i+1 |
275 | | - }; |
276 | | - if( caption.end == 0){ |
277 | | - miroSub.start_time = -1; |
278 | | - miroSub.end_time = -1; |
279 | | - } else { |
280 | | - miroSub.start_time = caption.start; |
281 | | - miroSub.end_time = caption.end; |
282 | | - } |
283 | | - miroJsonSubs.push( miroSub ); |
| 284 | + var miroJsonSubs = []; |
| 285 | + // Get the current text source captions |
| 286 | + this.embedPlayer.timedText.getSubCaptions(_this.config.languageKey, function( captions ){ |
| 287 | + mw.log('MiroSubsConfig:: getSubsInMiroFormat:' + _this.config.languageKey + ' source sub length:' + captions.length ); |
| 288 | + for( var i = 0; i < captions.length ; i ++ ){ |
| 289 | + var caption = captions[i]; |
| 290 | + var miroSub = { |
| 291 | + 'subtitle_id': 'sub_' + i, |
| 292 | + 'text': caption.content, |
| 293 | + 'sub_order': i+1 |
| 294 | + }; |
| 295 | + if( caption.end == 0){ |
| 296 | + miroSub.start_time = -1; |
| 297 | + miroSub.end_time = -1; |
| 298 | + } else { |
| 299 | + miroSub.start_time = caption.start; |
| 300 | + miroSub.end_time = caption.end; |
284 | 301 | } |
285 | | - }); |
286 | | - callback( miroJsonSubs ); |
| 302 | + miroJsonSubs.push( miroSub ); |
| 303 | + } |
287 | 304 | }); |
| 305 | + callback( miroJsonSubs ); |
288 | 306 | } |
289 | 307 | }; |
Index: branches/MwEmbedStandAlone/modules/MiroSubs/MiroSubs.i18n.php |
— | — | @@ -21,4 +21,5 @@ |
22 | 22 | 'mwe-mirosubs-subs-please-login' => 'Please login', |
23 | 23 | 'mwe-mirosubs-subs-please-login-desc' => 'Please login, to use the universal subtitles editor', |
24 | 24 | 'mwe-mirosubs-content-language' => 'Set content language', |
| 25 | + 'mwe-mirosubs-select-language' => 'Select a language to edit with the universal subtitles editor', |
25 | 26 | ); |
\ No newline at end of file |
Index: branches/MwEmbedStandAlone/modules/SwarmTransport/mw.SwarmTransport.js |
— | — | @@ -72,8 +72,12 @@ |
73 | 73 | return 'Native'; |
74 | 74 | } |
75 | 75 | // Look for swarm player: |
76 | | - if( mw.EmbedTypes.testActiveX( 'P2PNext.SwarmPlayer' ) ){ |
77 | | - return 'SwarmVlc'; |
| 76 | + try{ |
| 77 | + if( mw.EmbedTypes.testActiveX( 'P2PNext.SwarmPlayer' ) ){ |
| 78 | + return 'SwarmVlc'; |
| 79 | + } |
| 80 | + } catch (e ){ |
| 81 | + mw.log(" Error:: SwarmTransport:testActiveX( 'P2PNext.SwarmPlayer' failed "); |
78 | 82 | } |
79 | 83 | return false; |
80 | 84 | }, |
Index: branches/MwEmbedStandAlone/modules/TimedText/loader.js |
— | — | @@ -60,7 +60,7 @@ |
61 | 61 | // includes timedText tracks. |
62 | 62 | $j( mw ).bind( 'LoaderEmbedPlayerUpdateRequest', function( event, playerElement, classRequest ) { |
63 | 63 | if( mw.isTimedTextSupported( playerElement ) ) { |
64 | | - $j.merge( classRequest, mwTimedTextRequestSet ); |
| 64 | + classRequest = $j.merge( classRequest, mwTimedTextRequestSet ); |
65 | 65 | } |
66 | 66 | } ); |
67 | 67 | |
— | — | @@ -84,7 +84,7 @@ |
85 | 85 | } |
86 | 86 | // Check for timed text sources or api/ roe url |
87 | 87 | if ( |
88 | | - ( embedPlayer.roe || embedPlayer.apiTitleKey ) |
| 88 | + ( embedPlayer.roe || embedPlayer.apititlekey || embedPlayer.apiTitleKey ) |
89 | 89 | || |
90 | 90 | ( embedPlayer.mediaElement && embedPlayer.mediaElement.textSourceExists() ) |
91 | 91 | || |
Index: branches/MwEmbedStandAlone/modules/TimedText/mw.TimedText.js |
— | — | @@ -45,9 +45,13 @@ |
46 | 46 | * The list of enabled sources |
47 | 47 | */ |
48 | 48 | enabledSources: null, |
49 | | - |
50 | | - |
| 49 | + |
51 | 50 | /** |
| 51 | + * The current langauge key |
| 52 | + */ |
| 53 | + currentLangKey : null, |
| 54 | + |
| 55 | + /** |
52 | 56 | * Stores the last text string per category to avoid dom checks |
53 | 57 | * for updated text |
54 | 58 | */ |
— | — | @@ -189,6 +193,15 @@ |
190 | 194 | |
191 | 195 | }, |
192 | 196 | /** |
| 197 | + * Get the current language key |
| 198 | + * |
| 199 | + * @return |
| 200 | + * @type {string} |
| 201 | + */ |
| 202 | + getCurrentLangKey: function(){ |
| 203 | + return this.currentLangKey; |
| 204 | + }, |
| 205 | + /** |
193 | 206 | * The timed text button to be added to the interface |
194 | 207 | */ |
195 | 208 | getTimedTextButton: function(){ |
— | — | @@ -199,7 +212,7 @@ |
200 | 213 | return { |
201 | 214 | 'w': 28, |
202 | 215 | 'o': function( ctrlObj ) { |
203 | | - return $j( '<div />' ) |
| 216 | + $textButton = $j( '<div />' ) |
204 | 217 | .attr( 'title', gM( 'mwe-embedplayer-timed_text' ) ) |
205 | 218 | .addClass( "ui-state-default ui-corner-all ui-icon_link rButton timed-text" ) |
206 | 219 | .append( |
— | — | @@ -207,14 +220,21 @@ |
208 | 221 | .addClass( "ui-icon ui-icon-comment" ) |
209 | 222 | ) |
210 | 223 | // Captions binding: |
211 | | - .buttonHover() |
212 | | - .click( function() { |
213 | | - _this.showTextMenu(); |
214 | | - } ); |
| 224 | + .buttonHover(); |
| 225 | + _this.bindTextButton( $textButton ); |
| 226 | + return $textButton; |
| 227 | + |
215 | 228 | } |
216 | 229 | } |
217 | 230 | }, |
218 | 231 | |
| 232 | + bindTextButton: function($textButton){ |
| 233 | + var _this = this; |
| 234 | + $textButton.unbind('click.textMenu').bind('click.textMenu', function() { |
| 235 | + _this.showTextMenu(); |
| 236 | + } ); |
| 237 | + }, |
| 238 | + |
219 | 239 | /** |
220 | 240 | * Get the fullscreen text css |
221 | 241 | */ |
— | — | @@ -464,7 +484,7 @@ |
465 | 485 | if( this.config.userLanugage && |
466 | 486 | this.config.userLanugage == source.srclang.toLowerCase() ) { |
467 | 487 | // Check for category if available |
468 | | - this.enabledSources.push( source ); |
| 488 | + this.enableSource( source ); |
469 | 489 | return ; |
470 | 490 | } |
471 | 491 | } |
— | — | @@ -473,7 +493,7 @@ |
474 | 494 | for( var i=0; i < this.textSources.length; i++ ) { |
475 | 495 | var source = this.textSources[ i ]; |
476 | 496 | if( source.srclang.toLowerCase() == 'en' ) { |
477 | | - this.enabledSources.push( source ); |
| 497 | + this.enableSource( source ); |
478 | 498 | return ; |
479 | 499 | } |
480 | 500 | } |
— | — | @@ -482,11 +502,20 @@ |
483 | 503 | if( this.enabledSources.length == 0 ) { |
484 | 504 | for( var i=0; i < this.textSources.length; i++ ) { |
485 | 505 | var source = this.textSources[ i ]; |
486 | | - this.enabledSources.push( source ); |
| 506 | + this.enableSource( source ); |
487 | 507 | return ; |
488 | 508 | } |
489 | 509 | } |
490 | 510 | }, |
| 511 | + /** |
| 512 | + * Enalbe a source and update the currentLangKey |
| 513 | + * @param source |
| 514 | + * @return |
| 515 | + */ |
| 516 | + enableSource: function( source ){ |
| 517 | + this.enabledSources.push( source ); |
| 518 | + this.currentLangKey = source.srclang; |
| 519 | + }, |
491 | 520 | |
492 | 521 | // Get the current source sub captions |
493 | 522 | loadCurrentSubSrouce: function( callback ){ |
— | — | @@ -853,7 +882,12 @@ |
854 | 883 | selectTextSource: function( source ) { |
855 | 884 | var _this = this; |
856 | 885 | mw.log("mw.TimedText:: selectTextSource: select lang: " + source.srclang ); |
857 | | - |
| 886 | + // For some reason we lose binding for the menu ~sometimes~ re-bind |
| 887 | + this.bindTextButton( this.embedPlayer.$interface.find('timed-text') ); |
| 888 | + |
| 889 | + |
| 890 | + this.currentLangKey = source.srclang; |
| 891 | + |
858 | 892 | // Update the config language if the source includes language |
859 | 893 | if( source.srclang ) |
860 | 894 | this.config.userLanugage = source.srclang; |
— | — | @@ -867,6 +901,7 @@ |
868 | 902 | this.enabledSources = []; |
869 | 903 | |
870 | 904 | this.enabledSources.push( source ); |
| 905 | + |
871 | 906 | // Set any existing text target to "loading" |
872 | 907 | if( !source.loaded ) { |
873 | 908 | var $playerTarget = this.embedPlayer.$interface; |
Index: branches/MwEmbedStandAlone/modules/EmbedPlayer/mw.EmbedPlayer.js |
— | — | @@ -1959,11 +1959,6 @@ |
1960 | 1960 | // Update the clip done playing count: |
1961 | 1961 | this.donePlayingCount ++; |
1962 | 1962 | |
1963 | | - // Fire the html5 ended binding |
1964 | | - var onDoneActionObject = { |
1965 | | - 'runBaseControlDone' : true |
1966 | | - } |
1967 | | - |
1968 | 1963 | // Run the ended trigger ( allow the ended object to prevent default |
1969 | 1964 | // actions ) |
1970 | 1965 | mw.log("EmbedPlayer::onClipDone:Trigger ended"); |
— | — | @@ -2056,7 +2051,6 @@ |
2057 | 2052 | |
2058 | 2053 | // Set up local jQuery object reference to "mwplayer_interface" |
2059 | 2054 | this.$interface = $j( this ).parent( '.mwplayer_interface' ); |
2060 | | - |
2061 | 2055 | // if a isPersistentNativePlayer ( overlay the controls ) |
2062 | 2056 | if( !this.useNativePlayerControls() && this.isPersistentNativePlayer() ){ |
2063 | 2057 | this.$interface.css({ |
— | — | @@ -2065,12 +2059,11 @@ |
2066 | 2060 | 'left' : '0px', |
2067 | 2061 | 'background': null |
2068 | 2062 | }); |
2069 | | - // if controls are not overlay add controlBuilder height to interface |
2070 | | - if( !this.controlBuilder.checkOverlayControls() ){ |
2071 | | - this.$interface.css('height', this.height + this.controlBuilder.getHeight() ); |
| 2063 | + |
| 2064 | + if( this.isPersistentNativePlayer() && !_this.controlBuilder.checkOverlayControls() ){ |
| 2065 | + // if Persistent native player always give it the player height |
| 2066 | + $j('#' + this.pid ).css('height', this.height - _this.controlBuilder.height ); |
2072 | 2067 | } |
2073 | | - |
2074 | | - |
2075 | 2068 | $j( this ).show(); |
2076 | 2069 | this.controls = true; |
2077 | 2070 | } |