Pārlūkot izejas kodu

Create ability to start tracker.

Lee Morgan 4 gadi atpakaļ
vecāks
revīzija
ea4077a661
3 mainītis faili ar 57 papildinājumiem un 3 dzēšanām
  1. 30 0
      controllers/tracker.js
  2. 2 0
      routes.js
  3. 25 3
      views/timeTracker/tracker.html

+ 30 - 0
controllers/tracker.js

@@ -0,0 +1,30 @@
+const Tracker = require("../models/tracker.js");
+
+module.exports = {
+    /*
+    POST: create a new tracker
+    req.body = {
+        name: String
+        project: String
+        description: String
+        start: Date
+    }
+    */
+    create: function(req, res){
+        let tracker = new Tracker({
+            name: req.body.name,
+            project: req.body.project,
+            description: req.body.description,
+            start: new Date(req.body.start),
+            pauses: []
+        });
+
+        tracker.save()
+            .then((tracker)=>{
+                return res.json(tracker);
+            })
+            .catch((err)=>{
+                return res.json(err);
+            });
+    }
+}

+ 2 - 0
routes.js

@@ -1,6 +1,7 @@
 const gallery = require("./controllers/gallery.js");
 const blog = require("./controllers/blog.js");
 const currency = require("./controllers/currency.js");
+const tracker = require("./controllers/tracker.js");
 
 module.exports = function(app){
     let views = `${__dirname}/views`;
@@ -70,4 +71,5 @@ module.exports = function(app){
 
     //TRACKER
     app.get("/tracker", (req, res)=>res.sendFile(`${views}/timeTracker/tracker.html`));
+    app.post("/tracker", tracker.create);
 }

+ 25 - 3
views/timeTracker/tracker.html

@@ -25,11 +25,33 @@
         <button id="pause" style="display:none">Pause</button>
 
         <script>
-            let running = false;
+            let tracker = null
 
             let startStop = ()=>{
-                if(running === false){
-                    
+                if(!tracker){
+                    let time = new Date();
+
+                    fetch("/tracker", {
+                        method: "post",
+                        headers: {
+                            "Content-Type": "application/json",
+                        },
+                        body: JSON.stringify({
+                            name: document.getElementById("name").value,
+                            project: document.getElementById("project").value,
+                            description: document.getElementById("description").value,
+                            start: time
+                        })
+                    })
+                        .then(r=>r.json())
+                        .then((response)=>{
+                            if(typeof(response) === "string"){
+                            }else{
+                                tracker = response;
+                                document.getElementById("startStop").innerText = "Stop";
+                                document.getElementById("pause").style.display = "block";
+                            }
+                        }).catch((err)=>{});
                 }
             }
         </script>