src/p4l/templates/p4l/record_update_form.html
author ymh <ymh.work@gmail.com>
Sat, 07 Sep 2013 14:41:20 +0200
changeset 47 b07f8d11f2b8
parent 44 65912194e047
child 49 fcfa68f39f6b
permissions -rw-r--r--
Update angular. Implement rest save for records
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
{% extends "p4l/p4l_base.html" %}
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
{% load static %}
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
{% load i18n %}
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
28
f26426e9360b update view simplification. Baby step towards complete form.
ymh <ymh.work@gmail.com>
parents: 26
diff changeset
     5
{% block page_title %}{% trans 'Record' %} {{ params.identifier }} - {% trans 'View' %}{% endblock %}
26
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
38
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
     7
{% block css_page %}
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
     8
  <link rel="stylesheet" href="{% static 'p4l/lib/css/smoothness/jquery-ui-1.10.3.custom.css' %}">
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
     9
  <link rel="stylesheet" href="{% static 'p4l/css/semantictree.css' %}">
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    10
{% endblock %}
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    11
26
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
{% block js_page %}
39
33a413910b75 fisrt version for translate
ymh <ymh.work@gmail.com>
parents: 38
diff changeset
    13
<script type="text/javascript" src="{% url 'django.views.i18n.javascript_catalog' %}"></script>
26
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
<script type="text/javascript" src="{% static 'p4l/lib/angular/angular.min.js' %}"></script>
47
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
    15
<script type="text/javascript" src="{% static 'p4l/lib/angular/angular-route.min.js' %}"></script>
26
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
<script type="text/javascript" src="{% static 'p4l/lib/angular/angular-resource.min.js' %}"></script>
42
ad27066048ce add label translations
ymh <ymh.work@gmail.com>
parents: 41
diff changeset
    17
<script type="text/javascript" src="{% static 'p4l/lib/angular-mod/angular-translate.min.js' %}"></script>
38
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    18
<script type="text/javascript" src="{% static 'p4l/lib/jquery-1.9.1.js' %}"></script>
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    19
<script type="text/javascript" src="{% static 'p4l/lib/jquery-ui-1.10.3.custom.min.js' %}"></script>
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    20
<script type="text/javascript" src="{% static 'p4l/lib/jquery.jstree.js' %}"></script>
26
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
<script type="text/javascript" src="{% static 'p4l/js/p4l.js' %}"></script>
38
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    22
<script type="text/javascript" src="{% static 'p4l/js/semantictree.js' %}"></script>
33
945b144d68c1 put context variables in a single object
ymh <ymh.work@gmail.com>
parents: 28
diff changeset
    23
<script type="text/javascript">
945b144d68c1 put context variables in a single object
ymh <ymh.work@gmail.com>
parents: 28
diff changeset
    24
    angular.module("recordApp")
945b144d68c1 put context variables in a single object
ymh <ymh.work@gmail.com>
parents: 28
diff changeset
    25
        .value('context', {
34
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    26
            record_id: "{{record.identifier}}",
39
33a413910b75 fisrt version for translate
ymh <ymh.work@gmail.com>
parents: 38
diff changeset
    27
            uri_labels: angular.fromJson('{{uri_labels | safe | addslashes}}'),
47
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
    28
            csrf_token: "{{ csrf_token }}",
33
945b144d68c1 put context variables in a single object
ymh <ymh.work@gmail.com>
parents: 28
diff changeset
    29
            urls: {
945b144d68c1 put context variables in a single object
ymh <ymh.work@gmail.com>
parents: 28
diff changeset
    30
                record_api: "{% url 'record-detail' identifier=':recordId' %}".replace("\%3A",":")
945b144d68c1 put context variables in a single object
ymh <ymh.work@gmail.com>
parents: 28
diff changeset
    31
            }
42
ad27066048ce add label translations
ymh <ymh.work@gmail.com>
parents: 41
diff changeset
    32
        })
ad27066048ce add label translations
ymh <ymh.work@gmail.com>
parents: 41
diff changeset
    33
        .config(['$translateProvider', function($translateProvider) {
ad27066048ce add label translations
ymh <ymh.work@gmail.com>
parents: 41
diff changeset
    34
            $translateProvider.translations(catalog); //catalog is declared in django.views.i18n.javascript_catalog
ad27066048ce add label translations
ymh <ymh.work@gmail.com>
parents: 41
diff changeset
    35
        }]);
ad27066048ce add label translations
ymh <ymh.work@gmail.com>
parents: 41
diff changeset
    36
    
39
33a413910b75 fisrt version for translate
ymh <ymh.work@gmail.com>
parents: 38
diff changeset
    37
    var sqd = angular.fromJson('{{ subjects_query_dict | safe | addslashes}}');
38
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    38
    for (var k in sqd){
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    39
        if (sqd.hasOwnProperty(k)) {
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    40
            $("#id_addSubjectText").attr(k,sqd[k]);
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    41
        }
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    42
    }
33
945b144d68c1 put context variables in a single object
ymh <ymh.work@gmail.com>
parents: 28
diff changeset
    43
</script>
26
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
{% endblock %}
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
{% block content %}
34
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    47
{% verbatim %}
26
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
<div ng-app="recordApp" ng-controller="RecordCtrl">
34
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    49
<table class="table record-table">
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    50
  <thead>
42
ad27066048ce add label translations
ymh <ymh.work@gmail.com>
parents: 41
diff changeset
    51
    <tr><td>{{'property' | translate}}</td><td>{{'value' | translate }}</td></tr>
34
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    52
  </thead>
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    53
  <tbody>
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    54
    <tr>
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    55
      <td>URI</td>
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    56
      <td>{{record.uri}}</td>
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    57
    </tr>
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    58
    <tr>
42
ad27066048ce add label translations
ymh <ymh.work@gmail.com>
parents: 41
diff changeset
    59
      <td>{{'identifier' | translate}}</td>
34
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    60
      <td>{{record.identifier}}</td>
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    61
    </tr>
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    62
    <tr>
42
ad27066048ce add label translations
ymh <ymh.work@gmail.com>
parents: 41
diff changeset
    63
      <td>{{'subjects' | translate}}</td>
34
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    64
      <td>
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    65
          <ul ng-repeat="subject in record.subjects">
44
65912194e047 delete subject and update lang
cavaliet
parents: 42
diff changeset
    66
              <li>{{uriLabels[subject]}} <small class="text-muted">({{subject}})</small> <a ng-click='removeSubject(subject)' class="btn btn-default btn-xs"><i class="glyphicon glyphicon-trash"></i></a></li>
34
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    67
          </ul>
35
544bc92e6fe7 correct and first add subject
cavaliet
parents: 34
diff changeset
    68
          <form class="form-inline" role="form" ng-submit="addSubject()">
38
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    69
	        <div class="form-group col-md-8">
44
65912194e047 delete subject and update lang
cavaliet
parents: 42
diff changeset
    70
	          <input id="id_addSubjectText" ng-model="addSubjectText" class="semantic-tree form-control col-md-10" type="text" placeholder="{{'Add a new subject' | translate}}" required="required"/>
65912194e047 delete subject and update lang
cavaliet
parents: 42
diff changeset
    71
	          {{'or' | translate}} 
38
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    72
	          <span id="dialog-link-container-addSubjectText" class="dialog-link-container ui-state-default ui-corner-all">
44
65912194e047 delete subject and update lang
cavaliet
parents: 42
diff changeset
    73
	            <a href="#" id="dialog-link-addSubjectText" class="btn dialog-link" title="Browse">{{'Browse' | translate}}</a>
38
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    74
	          </span>
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    75
	          <span id="dialog-addSubjectText" class="dialog" title="Select term"><span id="term-tree-addSubjectText"></span></span>
35
544bc92e6fe7 correct and first add subject
cavaliet
parents: 34
diff changeset
    76
	        </div>
544bc92e6fe7 correct and first add subject
cavaliet
parents: 34
diff changeset
    77
	        <div class="form-group">
44
65912194e047 delete subject and update lang
cavaliet
parents: 42
diff changeset
    78
	          <button type="submit" class="btn btn-primary">{{'Add' | translate}}</button>
35
544bc92e6fe7 correct and first add subject
cavaliet
parents: 34
diff changeset
    79
	        </div>
544bc92e6fe7 correct and first add subject
cavaliet
parents: 34
diff changeset
    80
	      </form>
34
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    81
      </td>
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    82
    </tr>
39
33a413910b75 fisrt version for translate
ymh <ymh.work@gmail.com>
parents: 38
diff changeset
    83
    <tr>
42
ad27066048ce add label translations
ymh <ymh.work@gmail.com>
parents: 41
diff changeset
    84
        <td>{{'notes' | translate}}</td>
44
65912194e047 delete subject and update lang
cavaliet
parents: 42
diff changeset
    85
        <td><textarea id="record-notes-input" class="form-control" ng-model="record.notes"></textarea></td>
39
33a413910b75 fisrt version for translate
ymh <ymh.work@gmail.com>
parents: 38
diff changeset
    86
    </tr>
34
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    87
  </tbody>
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    88
</table>
47
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
    89
<button ng-click="submitRecord()">{{ 'Save' | translate }}</button>
34
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    90
</div>
26
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
{% endverbatim %}
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
{% endblock %}