language list in directive template
authorcavaliet
Wed, 11 Sep 2013 13:41:47 +0200
changeset 70 2ee11f57e318
parent 69 bca61ea93be1
child 71 abd73d06615e
child 72 dd1d59471697
language list in directive template
src/p4l/settings.py
src/p4l/static/p4l/css/p4l.css
src/p4l/static/p4l/css/semantictree.css
src/p4l/static/p4l/js/p4l.js
src/p4l/static/p4l/templates/languagesListInput.html
src/p4l/static/p4l/templates/titleForm.html
src/p4l/templates/p4l/record_update_form.html
src/p4l/views.py
--- a/src/p4l/settings.py	Wed Sep 11 12:29:56 2013 +0200
+++ b/src/p4l/settings.py	Wed Sep 11 13:41:47 2013 +0200
@@ -507,6 +507,192 @@
     'PAGINATE_BY_PARAM': 'page_size' 
 }
 
+LANGUAGES_LIST = [(u"Abkhaz","ab"),
+(u"Afar","aa"),
+(u"Afrikaans","af"),
+(u"Akan","ak"),
+(u"Albanian","sq"),
+(u"Amharic","am"),
+(u"Arabic","ar"),
+(u"Aragonese","an"),
+(u"Armenian","hy"),
+(u"Assamese","as"),
+(u"Avaric","av"),
+(u"Avestan","ae"),
+(u"Aymara","ay"),
+(u"Azerbaijani","az"),
+(u"Bambara","bm"),
+(u"Bashkir","ba"),
+(u"Basque","eu"),
+(u"Belarusian","be"),
+(u"Bengali; Bangla","bn"),
+(u"Bihari","bh"),
+(u"Bislama","bi"),
+(u"Bosnian","bs"),
+(u"Breton","br"),
+(u"Bulgarian","bg"),
+(u"Burmese","my"),
+(u"Catalan","ca"),
+(u"Chamorro","ch"),
+(u"Chechen","ce"),
+(u"Chichewa; Chewa; Nyanja","ny"),
+(u"Chinese","zh"),
+(u"Chuvash","cv"),
+(u"Cornish","kw"),
+(u"Corsican","co"),
+(u"Cree","cr"),
+(u"Croatian","hr"),
+(u"Czech","cs"),
+(u"Danish","da"),
+(u"Divehi; Dhivehi; Maldivian;","dv"),
+(u"Dutch","nl"),
+(u"Dzongkha","dz"),
+(u"English","en"),
+(u"Esperanto","eo"),
+(u"Estonian","et"),
+(u"Ewe","ee"),
+(u"Faroese","fo"),
+(u"Fijian","fj"),
+(u"Finnish","fi"),
+(u"French","fr"),
+(u"Fula; Fulah; Pulaar; Pular","ff"),
+(u"Galician","gl"),
+(u"Ganda","lg"),
+(u"Georgian","ka"),
+(u"German","de"),
+(u"Greek Modern","el"),
+(u"Guarani","gn"),
+(u"Gujarati","gu"),
+(u"Haitian; Haitian Creole","ht"),
+(u"Hausa","ha"),
+(u"Hebrew","he"),
+(u"Herero","hz"),
+(u"Hindi","hi"),
+(u"Hiri Motu","ho"),
+(u"Hungarian","hu"),
+(u"Icelandic","is"),
+(u"Ido","io"),
+(u"Igbo","ig"),
+(u"Indonesian","id"),
+(u"Interlingua","ia"),
+(u"Interlingue","ie"),
+(u"Inuktitut","iu"),
+(u"Inupiaq","ik"),
+(u"Irish","ga"),
+(u"Italian","it"),
+(u"Japanese","ja"),
+(u"Javanese","jv"),
+(u"Kalaallisut; Greenlandic","kl"),
+(u"Kannada","kn"),
+(u"Kanuri","kr"),
+(u"Kashmiri","ks"),
+(u"Kazakh","kk"),
+(u"Khmer","km"),
+(u"Kikuyu; Gikuyu","ki"),
+(u"Kinyarwanda","rw"),
+(u"Kirundi","rn"),
+(u"Komi","kv"),
+(u"Kongo","kg"),
+(u"Korean","ko"),
+(u"Kurdish","ku"),
+(u"Kwanyama; Kuanyama","kj"),
+(u"Kyrgyz","ky"),
+(u"Lao","lo"),
+(u"Latin","la"),
+(u"Latvian","lv"),
+(u"Limburgish; Limburgan; Limburger","li"),
+(u"Lingala","ln"),
+(u"Lithuanian","lt"),
+(u"Luba-Katanga","lu"),
+(u"Luxembourgish; Letzeburgesch","lb"),
+(u"Macedonian","mk"),
+(u"Malagasy","mg"),
+(u"Malay","ms"),
+(u"Malayalam","ml"),
+(u"Maltese","mt"),
+(u"Manx","gv"),
+(u"Marathi","mr"),
+(u"Marshallese","mh"),
+(u"Mongolian","mn"),
+(u"Maori","mi"),
+(u"Nauru","na"),
+(u"Navajo; Navaho","nv"),
+(u"Ndonga","ng"),
+(u"Nepali","ne"),
+(u"North Ndebele","nd"),
+(u"Northern Sami","se"),
+(u"Norwegian","no"),
+(u"Norwegian Bokmal","nb"),
+(u"Norwegian Nynorsk","nn"),
+(u"Nuosu","ii"),
+(u"Occitan","oc"),
+(u"Ojibwe; Ojibwa","oj"),
+(u"Church Slavic; Church Slavonic","cu"),
+(u"Oriya","or"),
+(u"Oromo","om"),
+(u"Ossetian; Ossetic","os"),
+(u"Panjabi; Punjabi","pa"),
+(u"Pashto; Pushto","ps"),
+(u"Persian","fa"),
+(u"Polish","pl"),
+(u"Portuguese","pt"),
+(u"Pali","pi"),
+(u"Quechua","qu"),
+(u"Romanian; Moldavian","ro"),
+(u"Romansh","rm"),
+(u"Russian","ru"),
+(u"Samoan","sm"),
+(u"Sango","sg"),
+(u"Sanskrit (Samskrta),sa"),
+(u"Sardinian","sc"),
+(u"Scottish Gaelic; Gaelic","gd"),
+(u"Serbian","sr"),
+(u"Shona","sn"),
+(u"Sindhi","sd"),
+(u"Sinhala; Sinhalese","si"),
+(u"Slovak","sk"),
+(u"Slovene","sl"),
+(u"Somali","so"),
+(u"South Azerbaijani","az"),
+(u"South Ndebele","nr"),
+(u"Southern Sotho","st"),
+(u"Spanish; Castilian","es"),
+(u"Sundanese","su"),
+(u"Swahili","sw"),
+(u"Swati","ss"),
+(u"Swedish","sv"),
+(u"Tagalog","tl"),
+(u"Tahitian","ty"),
+(u"Tajik","tg"),
+(u"Tamil","ta"),
+(u"Tatar","tt"),
+(u"Telugu","te"),
+(u"Thai","th"),
+(u"Tibetan","bo"),
+(u"Tigrinya","ti"),
+(u"Tonga","to"),
+(u"Tsonga","ts"),
+(u"Tswana","tn"),
+(u"Turkish","tr"),
+(u"Turkmen","tk"),
+(u"Twi","tw"),
+(u"Ukrainian","uk"),
+(u"Urdu","ur"),
+(u"Uyghur; Uighur","ug"),
+(u"Uzbek","uz"),
+(u"Venda","ve"),
+(u"Vietnamese","vi"),
+(u"Volapuk","vo"),
+(u"Walloon","wa"),
+(u"Welsh","cy"),
+(u"Western Frisian","fy"),
+(u"Wolof","wo"),
+(u"Xhosa","xh"),
+(u"Yiddish","yi"),
+(u"Yoruba","yo"),
+(u"Zhuang; Chuang","za"),
+(u"Zulu","zu")]
+
 from config import *  # @UnusedWildImport
 
 if not "SRC_BASE_URL" in locals():
--- a/src/p4l/static/p4l/css/p4l.css	Wed Sep 11 12:29:56 2013 +0200
+++ b/src/p4l/static/p4l/css/p4l.css	Wed Sep 11 13:41:47 2013 +0200
@@ -27,6 +27,13 @@
     padding-bottom: 20px;    
 }
 
+.bottom-5 {
+    margin-bottom: 5px;
+}
+.after-plus {
+    padding-top: 5px;
+}
+
 /* Flags */
 
 .flag {
--- a/src/p4l/static/p4l/css/semantictree.css	Wed Sep 11 12:29:56 2013 +0200
+++ b/src/p4l/static/p4l/css/semantictree.css	Wed Sep 11 13:41:47 2013 +0200
@@ -11,12 +11,6 @@
     overflow-x: hidden;
     overflow-y: auto;
 }
-.bottom-5 {
-    margin-bottom: 5px;
-}
-.after-plus {
-    padding-top: 5px;
-}
 /*
 .ng-scope {
     border: 1px dashed red;
--- a/src/p4l/static/p4l/js/p4l.js	Wed Sep 11 12:29:56 2013 +0200
+++ b/src/p4l/static/p4l/js/p4l.js	Wed Sep 11 13:41:47 2013 +0200
@@ -214,6 +214,24 @@
     };
 });
 
+app.directive('languagesListInput', function(RecordModel, context) {
+    return {
+        restrict: 'E',
+        replace: true,
+        transclude: true,
+        scope: {
+        	obj:"=",
+        },
+        templateUrl: function(tElement, tAttrs) {
+            return context.urls.base_static+'p4l/templates/languagesListInput.html';  
+        },
+        link: function($scope, $element, $attrs) {
+            // Get list from context languages_list
+            $scope.list = context.languages_list;
+        }
+    };
+});
+
 app.controller("RecordCtrl", function($scope, RecordModel, context){
     
     $scope.record = RecordModel.record;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/p4l/static/p4l/templates/languagesListInput.html	Wed Sep 11 13:41:47 2013 +0200
@@ -0,0 +1,1 @@
+<select class="input-medium" ng-model="obj"  ng-options="i.1 as i.0+' ('+i.1+')' for i in list" ></select>
\ No newline at end of file
--- a/src/p4l/static/p4l/templates/titleForm.html	Wed Sep 11 12:29:56 2013 +0200
+++ b/src/p4l/static/p4l/templates/titleForm.html	Wed Sep 11 13:41:47 2013 +0200
@@ -1,6 +1,8 @@
  <form class="well span3">
     <div class="span3 row">
      <label for="title-{{$id}}">{{'title'|translate}}</label><input type="text" placeholder="{{'title'|translate}}" ng_model="editedObj.title" name="title" id="title-{{$id}}" class="span3"/>
-     <label for="lang-{{$id}}">{{'lang'|translate}}</label><input type="text" placeholder="{{'lang'|translate}}" ng_model="editedObj.lang" name="lang" id="lang-{{$id}}" class="span3"/>
+     <label for="lang-{{$id}}">{{'lang'|translate}}</label>
+     <languages-list-input obj="editedObj.lang"></languages-list-input>
+     <!--input type="text" placeholder="{{'lang'|translate}}" ng_model="editedObj.lang" name="lang" id="lang-{{$id}}" class="span3"/-->
      </div>
  </form>
\ No newline at end of file
--- a/src/p4l/templates/p4l/record_update_form.html	Wed Sep 11 12:29:56 2013 +0200
+++ b/src/p4l/templates/p4l/record_update_form.html	Wed Sep 11 13:41:47 2013 +0200
@@ -31,6 +31,7 @@
                 record_api: "{% url 'record-detail' identifier=':recordId' %}".replace("\%3A",":"),                
             },
             query_dicts: angular.fromJson('{{ query_dicts | safe | addslashes}}'),
+            languages_list: angular.fromJson('{{ languages_list | safe | addslashes}}'),
         })
         .config(['$translateProvider', function($translateProvider) {
             $translateProvider.translations(catalog); //catalog is declared in django.views.i18n.javascript_catalog
--- a/src/p4l/views.py	Wed Sep 11 12:29:56 2013 +0200
+++ b/src/p4l/views.py	Wed Sep 11 13:41:47 2013 +0200
@@ -180,6 +180,9 @@
         }
         context['query_dicts'] = json.dumps(query_dicts)
         
+        # Languages list used in drop down list
+        context['languages_list'] = json.dumps(settings.LANGUAGES_LIST)
+        
         return context
         
         
\ No newline at end of file