luis 7 роки тому
батько
коміт
e4b0a1900b
31 змінених файлів з 62 додано та 89 видалено
  1. 2 2
      .drone.yml
  2. 17 24
      browser/vue-flow/src/assets/doc/help.md
  3. BIN
      browser/vue-flow/src/assets/doc/img/s1-2.jpg
  4. BIN
      browser/vue-flow/src/assets/doc/img/s1.jpg
  5. 7 1
      browser/vue-flow/src/components/app-flow.vue
  6. 5 1
      browser/vue-flow/src/router/index.js
  7. 0 8
      browser/vue-flow/src/store/flow/default-registry.js
  8. 3 5
      browser/vue-flow/src/store/ws.js
  9. 1 1
      go/Makefile
  10. 0 0
      go/src/demo1/cmd/demo1/assets/assets.go
  11. 0 0
      go/src/demo1/cmd/demo1/defaultops/defaultops.go
  12. 0 0
      go/src/demo1/cmd/demo1/devops/devops.go
  13. 0 0
      go/src/demo1/cmd/demo1/gonumops/gonumops.go
  14. 5 5
      go/src/flowserver/cmd/demo1/main.go
  15. 0 0
      go/src/demo1/cmd/demo1/static/c1.html
  16. 0 0
      go/src/demo1/cmd/demo1/static/c2.html
  17. 0 0
      go/src/demo1/cmd/demo1/static/c2.jpg
  18. 0 0
      go/src/demo1/cmd/demo1/static/c3.html
  19. 0 0
      go/src/demo1/cmd/demo1/static/c3.jpg
  20. 0 0
      go/src/demo1/cmd/demo1/static/index.html
  21. 0 0
      go/src/demo1/cmd/demo1/static/sample.png
  22. 18 0
      go/src/demo1/cmd/simple/main.go
  23. 1 1
      go/src/flowserver/chatroom.go
  24. 0 0
      go/src/flow/flowserver/flowbuilder/builder.go
  25. 0 0
      go/src/flow/flowserver/flowbuilder/model.go
  26. 0 0
      go/src/flow/flowserver/flowmsg/flowmessage.go
  27. 0 0
      go/src/flow/flowserver/flowserver.go
  28. 2 2
      go/src/flowserver/session.go
  29. 1 1
      go/src/flowserver/sessionmgr.go
  30. 0 0
      go/src/flow/flowserver/version.go
  31. 0 38
      go/src/flowserver/cmd/simple/main.go

+ 2 - 2
.drone.yml

@@ -11,7 +11,7 @@ pipeline:
 
   restore-cache:
     image: drillster/drone-volume-cache
-    restore: false
+    restore: true
     mount:
       - ./browser/vue-flow/node_modules
       - ./go/deps
@@ -36,7 +36,7 @@ pipeline:
       - go get -d -t ./go/src/...
       - go/deps/bin/gocov test -v -race ./go/src/... | go/deps/bin/gocov report
       - go/deps/bin/folder2go -nobackup ./browser/vue-flow/dist webbin go/src/flow/cmd/demo/webbin/webbin.go
-      - CGO_ENABLED=0 go build -o DIST/demo1 flowserver/cmd/demo1  
+      - CGO_ENABLED=0 go build -o DIST/demo1 demo1/cmd/demo1  
 
   rebuild-cache:
     image: drillster/drone-volume-cache

+ 17 - 24
browser/vue-flow/src/assets/doc/help.md

@@ -1,44 +1,37 @@
 # Flow
 
-> A flow works by requesting the previous nodes the results of its operation,
-> so the starting node will be the node we want the result of, unattached nodes wont be executed`
+## How it works
 
-All nodes are Go functions.
-Here's an example of a Flow app with a node having a single string output:
+A flow works by requesting the previous nodes the results of its operation,
+so the starting node will be the node we want the result of, unattached nodes wont be executed
+
+All nodes are Go functions, sample with a node with one output
 
 ```go
 package main
 
 import (
-  "flow/registry"
-  "flowserver"
-  "net/http"
+	"flow/flowserver"
+	"flow/registry"
+	"net/http"
 )
 
 func main() {
 
-  r := registry.New()
-  r.Add("hello", func() string {
-    return "hello world"
-  })
+	r := registry.New()
+	r.Add("hello", func() string {
+		return "hello world"
+	})
 
-  http.ListenAndServe(":5000", flowserver.New(r,"storename"))
+	http.ListenAndServe(":5000", flowserver.New(r, "storename"))
 
 }
 ```
 
-<a target="_blank" :href="'http://'+ location.host +'/c1.html'">sample1</a><br>
-Every function can be registered including from external packages as shown in
-<a target="_blank" :href="'http://'+ location.host +'/c2.html'">sample2</a><br>
-Describing functions:
-<a target="_blank" :href="'http://'+ location.host +'/c3.html'">sample3</a><br>
+Resulting in
 
-![img/c2.jpg](img/c2.jpg)
+![fig1](img/s1.jpg)
 
-```go
-package main
+---
 
-func main() {
-
-}
-```
+> WIP

BIN
browser/vue-flow/src/assets/doc/img/s1-2.jpg


BIN
browser/vue-flow/src/assets/doc/img/s1.jpg


+ 7 - 1
browser/vue-flow/src/components/app-flow.vue

@@ -116,7 +116,13 @@ export default {
     // Handle incoming things
     this.$flowService.on('sessionJoin', (v) => {
       if (v.id !== this.$route.params.sessId) {
-        this.$router.push('/' + this.$route.params.context + '/s:' + v.id) // Swap to ID
+        var ctx = this.$route.params.context
+
+        if (ctx) {
+          this.$router.push(`/${ctx}/s:${v.id}`)
+        } else {
+          this.$router.push(`/s:${v.id}`)
+        }
       }
     })
     this.$flowService.on('sessionLog', (v) => {

+ 5 - 1
browser/vue-flow/src/router/index.js

@@ -9,9 +9,13 @@ export default new Router({
   mode: 'history',
   routes: [
     { path: '/', component: AppFlow },
+    { path: '/s\\::sessId', component: AppFlow },
+    { path: '/help', component: AppHelp },
+
+    // With a context
     { path: '/:context', component: AppFlow },
-    { path: '/:context/help', component: AppHelp },
     { path: '/:context/s\\::sessId', component: AppFlow },
+    { path: '/:context/help', component: AppHelp },
     // Backward compatibilitie
     { path: '/:context/:sessId', redirect: '/:context/s\\::sessId' }
 

+ 0 - 8
browser/vue-flow/src/store/flow/default-registry.js

@@ -26,13 +26,5 @@ export default{
     categories: ['flow-web'],
     output: {type: 'io.Writer'},
     style: {color: '#665'}
-  },
-  'Three': {
-    categories: ['flow-experiment'],
-    inputs: [{type: 'interface {}'}],
-    output: {type: 'interface {}'},
-    style: {color: '#592'},
-    experimental: true
-
   }
 }

+ 3 - 5
browser/vue-flow/src/store/ws.js

@@ -16,11 +16,9 @@ export default store => {
     if (mut.type === 'route/ROUTE_CHANGED') {
       let route = mut.payload.to
       let ctx = route.params.context
-      let urlPath = [
-        window.location.host,
-        ctx,
-        'conn'
-      ]
+      let urlPath = [window.location.host]
+      if (ctx) urlPath.push(ctx)
+      urlPath.push('conn')
       targetws = 'ws://' + urlPath.join('/')
       if (window.location.protocol === 'https:') {
         targetws = 'wss://' + urlPath.join('/')

+ 1 - 1
go/Makefile

@@ -11,7 +11,7 @@ GETENV=
 # What packages to build
 
 # CLI Packages
-CLI=flowserver/cmd/demo1
+CLI=demo1/cmd/demo1
 BIN=$(addprefix $(DIST)/, $(notdir $(CLI)))
 
 # Windows build

go/src/flowserver/cmd/demo1/assets/assets.go → go/src/demo1/cmd/demo1/assets/assets.go


go/src/flowserver/cmd/demo1/defaultops/defaultops.go → go/src/demo1/cmd/demo1/defaultops/defaultops.go


go/src/flowserver/cmd/demo1/devops/devops.go → go/src/demo1/cmd/demo1/devops/devops.go


go/src/flowserver/cmd/demo1/gonumops/gonumops.go → go/src/demo1/cmd/demo1/gonumops/gonumops.go


+ 5 - 5
go/src/flowserver/cmd/demo1/main.go

@@ -1,11 +1,11 @@
 package main
 
 import (
-	"flowserver"
-	"flowserver/cmd/demo1/assets"
-	"flowserver/cmd/demo1/defaultops"
-	"flowserver/cmd/demo1/devops"
-	"flowserver/cmd/demo1/gonumops"
+	"demo1/cmd/demo1/assets"
+	"demo1/cmd/demo1/defaultops"
+	"demo1/cmd/demo1/devops"
+	"demo1/cmd/demo1/gonumops"
+	"flow/flowserver"
 	"log"
 	"mime"
 	"net/http"

go/src/flowserver/cmd/demo1/static/c1.html → go/src/demo1/cmd/demo1/static/c1.html


go/src/flowserver/cmd/demo1/static/c2.html → go/src/demo1/cmd/demo1/static/c2.html


go/src/flowserver/cmd/demo1/static/c2.jpg → go/src/demo1/cmd/demo1/static/c2.jpg


go/src/flowserver/cmd/demo1/static/c3.html → go/src/demo1/cmd/demo1/static/c3.html


go/src/flowserver/cmd/demo1/static/c3.jpg → go/src/demo1/cmd/demo1/static/c3.jpg


go/src/flowserver/cmd/demo1/static/index.html → go/src/demo1/cmd/demo1/static/index.html


go/src/flowserver/cmd/demo1/static/sample.png → go/src/demo1/cmd/demo1/static/sample.png


+ 18 - 0
go/src/demo1/cmd/simple/main.go

@@ -0,0 +1,18 @@
+package main
+
+import (
+	"flow/flowserver"
+	"flow/registry"
+	"net/http"
+)
+
+func main() {
+
+	r := registry.New()
+	r.Add("hello", func() string {
+		return "hello world"
+	})
+
+	http.ListenAndServe(":5000", flowserver.New(r, "storename"))
+
+}

+ 1 - 1
go/src/flowserver/chatroom.go

@@ -2,7 +2,7 @@ package flowserver
 
 import (
 	"errors"
-	"flowserver/flowmsg"
+	"flow/flowserver/flowmsg"
 	"log"
 	"sync"
 

go/src/flowserver/flowbuilder/builder.go → go/src/flow/flowserver/flowbuilder/builder.go


go/src/flowserver/flowbuilder/model.go → go/src/flow/flowserver/flowbuilder/model.go


go/src/flowserver/flowmsg/flowmessage.go → go/src/flow/flowserver/flowmsg/flowmessage.go


go/src/flowserver/flowserver.go → go/src/flow/flowserver/flowserver.go


+ 2 - 2
go/src/flowserver/session.go

@@ -4,8 +4,8 @@ import (
 	"encoding/json"
 	"errors"
 	"flow"
-	"flowserver/flowbuilder"
-	"flowserver/flowmsg"
+	"flow/flowserver/flowbuilder"
+	"flow/flowserver/flowmsg"
 	"fmt"
 	"io"
 	"io/ioutil"

+ 1 - 1
go/src/flowserver/sessionmgr.go

@@ -4,8 +4,8 @@ import (
 	"encoding/json"
 	"errors"
 	"flow"
+	"flow/flowserver/flowmsg"
 	"flow/registry"
-	"flowserver/flowmsg"
 	"log"
 	"net/http"
 	"os"

go/src/flowserver/version.go → go/src/flow/flowserver/version.go


+ 0 - 38
go/src/flowserver/cmd/simple/main.go

@@ -1,38 +0,0 @@
-package main
-
-import (
-	"flow/registry"
-	"flowserver"
-	"io/ioutil"
-	"math"
-	"net/http"
-	"strings"
-)
-
-func main() {
-
-	r := registry.New()
-	r.Add("hello", func() string {
-		return "hello world"
-	})
-	r.Add(strings.Split, strings.Join)
-
-	fns := r.Add(math.Exp, math.Sin, math.Cos)
-	//Describing groups of functions
-	fns.Tags("math")
-	fns.Extra("style", registry.M{"color": "#F00"})
-
-	// Describing a function
-	registry.Describer(
-		r.Add(http.Get).Inputs("url"),
-		r.Add(responseReader).Inputs("response"),
-	).Tags("http").Extra("style", registry.M{"color": "#00F"})
-
-	http.ListenAndServe(":5000", flowserver.New(r, "storename"))
-
-}
-func responseReader(r *http.Response) (string, error) {
-	defer r.Body.Close()
-	res, err := ioutil.ReadAll(r.Body)
-	return string(res), err
-}