# HG changeset patch # User cavaliet # Date 1378803465 -7200 # Node ID a0ef3043b1d27bf2c34d0894c3622bb6d9064af1 # Parent 32591d23cb4bb59409ff428b344e628a723a3f75# Parent cae920b543068c169d5d09fdbb2fd7c4eac7e147 Merge with cae920b543068c169d5d09fdbb2fd7c4eac7e147 and enhance add sem directive diff -r cae920b54306 -r a0ef3043b1d2 src/p4l/static/p4l/css/semantictree.css --- a/src/p4l/static/p4l/css/semantictree.css Tue Sep 10 10:26:18 2013 +0200 +++ b/src/p4l/static/p4l/css/semantictree.css Tue Sep 10 10:57:45 2013 +0200 @@ -1,7 +1,7 @@ -.ng-scope { +/*.ng-scope { border: 1px dashed red; } -/*@charset "UTF-8"; +@charset "UTF-8"; .large_25 { width: 25px; diff -r cae920b54306 -r a0ef3043b1d2 src/p4l/static/p4l/js/p4l.js --- a/src/p4l/static/p4l/js/p4l.js Tue Sep 10 10:26:18 2013 +0200 +++ b/src/p4l/static/p4l/js/p4l.js Tue Sep 10 10:57:45 2013 +0200 @@ -121,15 +121,15 @@ replace: true, transclude: true, scope: { - localid:"@", - listname:"@" + listname:"@", + list:"=", }, templateUrl: function(tElement, tAttrs) { return context.urls.base_static+'p4l/templates/addSemanticUriForm.html'; }, link: function($scope, $element, $attrs) { // Get queries attributes from $scope listname and context query dict - attr_dict = context[$scope.listname + "_query_dict"]; + attr_dict = context.query_dicts[$scope.listname]; for (var k in attr_dict){ if (attr_dict.hasOwnProperty(k)) { $scope[k] = attr_dict[k]; @@ -137,7 +137,7 @@ } // initalize autocomplete and browse thesaurus events init_autocomplete(); - // We have to apply because init_browse needs the real ids and not {{ localid }} + // We have to apply because init_browse needs the real ids and not {{ $id }} $scope.$apply(); init_browse(); }, @@ -147,7 +147,7 @@ $scope.addUriText = ''; $scope.addUriToList = function() { - $scope.record[$scope.listname].push($scope.addUriText); + $scope.list.push($scope.addUriText); $scope.addUriText = ''; }; @@ -158,6 +158,7 @@ } }); + app.controller("RecordCtrl", function($scope, RecordModel, context){ $scope.record = RecordModel.record; diff -r cae920b54306 -r a0ef3043b1d2 src/p4l/static/p4l/js/semantictree.js --- a/src/p4l/static/p4l/js/semantictree.js Tue Sep 10 10:26:18 2013 +0200 +++ b/src/p4l/static/p4l/js/semantictree.js Tue Sep 10 10:57:45 2013 +0200 @@ -125,7 +125,7 @@ "title" : b[i]["label"]["value"] + " (" + nb + ") " }, "state" : "closed", - "metadata" : {uri: "<" + uri + ">", label:b[i]["label"]["value"]} + "metadata" : {uri: "<"+uri+">", label:b[i]["label"]["value"]} //"language" : "en" }); } @@ -134,7 +134,7 @@ "data" : { "title" : b[i]["label"]["value"] }, - "metadata" : {uri: "<" + uri + ">", label:b[i]["label"]["value"]} + "metadata" : {uri: "<"+uri+">", label:b[i]["label"]["value"]} }); } } @@ -147,10 +147,6 @@ }, progressive_render: true }, - ui : { - select_limit: 1, - initially_select: $('#thesaurus_tree').val()?['node-term-'+$('#thesaurus_tree').val()]:[] - }, plugins : [ "themes", "json_data", "ui"] }); }, @@ -177,6 +173,8 @@ else{ // First we update the uri/label dict uri = selected_node.data('uri'); + // We remove the <> from the uri + uri = uri.slice(1,-1); label = selected_node.data('label'); angular.element($('#id_'+input_name)[0]).scope().updateUriLabelDict(uri, label); // Angular does not listen to val() event so we update the model value manually: diff -r cae920b54306 -r a0ef3043b1d2 src/p4l/static/p4l/templates/addSemanticUriForm.html --- a/src/p4l/static/p4l/templates/addSemanticUriForm.html Tue Sep 10 10:26:18 2013 +0200 +++ b/src/p4l/static/p4l/templates/addSemanticUriForm.html Tue Sep 10 10:57:45 2013 +0200 @@ -1,15 +1,20 @@ -
-
- - {{ 'or' | translate}} - - {{'Browse' | translate}} - - -
-
- -
-
\ No newline at end of file +
+ +
+
+ + {{ 'or' | translate}} + + {{'Browse' | translate}} + + +
+
+ +
+
+
\ No newline at end of file diff -r cae920b54306 -r a0ef3043b1d2 src/p4l/templates/p4l/record_update_form.html --- a/src/p4l/templates/p4l/record_update_form.html Tue Sep 10 10:26:18 2013 +0200 +++ b/src/p4l/templates/p4l/record_update_form.html Tue Sep 10 10:57:45 2013 +0200 @@ -30,8 +30,7 @@ base_static: "{% get_static_prefix %}", record_api: "{% url 'record-detail' identifier=':recordId' %}".replace("\%3A",":"), }, - themes_query_dict: angular.fromJson('{{ themes_query_dict | safe | addslashes}}'), - subjects_query_dict: angular.fromJson('{{ subjects_query_dict | safe | addslashes}}') + query_dicts: angular.fromJson('{{ query_dicts | safe | addslashes}}'), }) .config(['$translateProvider', function($translateProvider) { $translateProvider.translations(catalog); //catalog is declared in django.views.i18n.javascript_catalog @@ -59,19 +58,13 @@ {{'subjects' | translate}} - - + {{'themes' | translate}} - - + diff -r cae920b54306 -r a0ef3043b1d2 src/p4l/views.py --- a/src/p4l/views.py Tue Sep 10 10:26:18 2013 +0200 +++ b/src/p4l/views.py Tue Sep 10 10:57:45 2013 +0200 @@ -125,20 +125,23 @@ uri_labels.update(get_labels_for_uris([self.object.recordType] if self.object.recordType else [], "http://www.iiep.unesco.org/plan4learning/scheme/DocumentType", lang, False)) context['uri_labels'] = json.dumps(uri_labels) - context['subjects_query_dict'] = json.dumps({ - 'dataurl': settings.SPARQL_QUERY_ENDPOINT, - 'dataquery': settings.SPARQL_SUBJECT_QUERIES["filter"], - 'datarootquery': settings.SPARQL_SUBJECT_QUERIES["root"], - 'datachildsquery': settings.SPARQL_SUBJECT_QUERIES["childs"], - 'datachildcountquery': settings.SPARQL_SUBJECT_QUERIES["child-count"] - }) - context['themes_query_dict'] = json.dumps({ - 'dataurl': settings.SPARQL_QUERY_ENDPOINT, - 'dataquery': settings.SPARQL_THEME_QUERIES["filter"], - 'datarootquery': settings.SPARQL_THEME_QUERIES["root"], - 'datachildsquery': settings.SPARQL_THEME_QUERIES["childs"], - 'datachildcountquery': settings.SPARQL_THEME_QUERIES["child-count"] - }) + query_dicts = { + 'subjects': { + 'dataurl': settings.SPARQL_QUERY_ENDPOINT, + 'dataquery': settings.SPARQL_SUBJECT_QUERIES["filter"], + 'datarootquery': settings.SPARQL_SUBJECT_QUERIES["root"], + 'datachildsquery': settings.SPARQL_SUBJECT_QUERIES["childs"], + 'datachildcountquery': settings.SPARQL_SUBJECT_QUERIES["child-count"] + }, + 'themes' : { + 'dataurl': settings.SPARQL_QUERY_ENDPOINT, + 'dataquery': settings.SPARQL_THEME_QUERIES["filter"], + 'datarootquery': settings.SPARQL_THEME_QUERIES["root"], + 'datachildsquery': settings.SPARQL_THEME_QUERIES["childs"], + 'datachildcountquery': settings.SPARQL_THEME_QUERIES["child-count"] + } + } + context['query_dicts'] = json.dumps(query_dicts) return context