cleanup ng:show logic
[angular-mojolicious.git] / templates / conference / Symposium.html.ep
index d4c6f06..2c35f0f 100644 (file)
@@ -1,26 +1,76 @@
-<script src="/controller/conference/Symposium.js"></script>
+<script>
+
+function Symposium($resource){
+       this.master = {
+               type: '',
+               title: '',
+               abstract: '',
+               authors:[ { name:'', surname:'', inst:'', email:'' } ],
+       };
+       this.Symposium = $resource( '/data/conference/Symposium/:id', { id:'' } );
+       this.reset();
+       this.$watch('$location.hashPath', this.hash_change);
+}
+Symposium.$inject=['$resource'];
+
+Symposium.prototype = {
+       hash_change: function() {
+               var id = this.$location.hashPath;
+               if ( id ) {
+                       this.symposium = this.Symposium.get({ id: id });
+               }
+       },
+       reset: function() {
+               console.debug( this.Symposium );
+               this.symposium = new this.Symposium( this.master );
+       },
+       save: function(){
+               var l = this.$location;
+               this.symposium.$save(function(symposium){
+                       l.hashPath = symposium.$id;
+               });
+       },
+       $all: function() {
+               if ( this.all ) return this.all;
+               this.all = this.Symposium.query();
+               console.log('$all', this.all);
+               return this.all;
+       },
+};
+
+</script>
 
 <div ng:controller="Symposium">
 
+<input type=checkbox name=debug>
+
+<ul>
+<li ng:repeat="s in $all()">
+<a href="#{{s.$id}}">{{s.title}}</a>
+<br><small>{{s.abstract}}</small>
+<pre ng:show="debug">{{s}}</pre>
+</li>
+</ul>
+
 <h1>Prijava simpozija</h1>
 
-<div ng:show="work._id">
-<a href="#{{work._id}}">permalink to {{work.title}}</a>
+<div ng:show="symposium._id">
+<a href="#{{symposium._id}}">permalink to {{symposium.title}}</a>
 </div>
 
-   Naslov: <input name="work.title" size="60"><br/>
+   Naslov: <input name="symposium.title" size="60"><br/>
    
    Sazetak: <br/>
-    <textarea name="work.abstract" cols="50" rows="5"></textarea> <br/>
+    <textarea name="symposium.abstract" cols="50" rows="5"></textarea> <br/>
 
-<div ng:repeat="author in work.authors">
-[<a href="" ng:click="work.authors.$remove(author)">X</a>]
+<div ng:repeat="author in symposium.authors">
+[<a href="" ng:click="symposium.authors.$remove(author)">X</a>]
 <input name="author.name" ng:required>
 <input name="author.surname" ng:required>
 <input name="author.inst" >
 <input name="author.email" ng:required>
 </div>
-[<a href="" ng:click="work.authors.$add()">Add another author</a>]
+[<a href="" ng:click="symposium.authors.$add()">Add another author</a>]
 
 <hr>    
 
     <input type="reset" value="Reset" ng:click="reset()">
        <a href="Symposium">Novi simpozij</a>
 
-<hr>
-Debug Information:
-{{$window.location.href}}
-<pre>work = {{work}}</pre>
-<pre>master = {{master}}</pre>
-
-<pre>
-$id={{$id}}
-work.$id={{work.$id}}
-work._id={{work._id}}
-</pre>
-
 </div>