diff --git a/api/v1/api_groups.go b/api/v1/api_groups.go index a5a6b432b4fa5272a1fc60071db08da3fa171856..92fc9de46ea723523ab591558f5f258486a065cd 100644 --- a/api/v1/api_groups.go +++ b/api/v1/api_groups.go @@ -26,6 +26,8 @@ package v1 import ( "net/http" + + "github.com/gorilla/mux" ) func (api *API) ListGroups() http.Handler { @@ -42,6 +44,13 @@ func (api *API) ListGroups() http.Handler { func (api *API) CreateGroup() http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - sendWebResponse(w, http.StatusNotImplemented, ErrorResponse{Error: "creating groups not yet implemented"}) + // TODO: implement clone depending on query parameter + vars := mux.Vars(r) + group, err := api.store.CreateGroup(vars["group-id"]) + if err != nil { + sendStoreError(w, err) + return + } + sendWebResponse(w, http.StatusCreated, group) }) } diff --git a/cmd/tank/bindata_assetfs.go b/cmd/tank/bindata_assetfs.go index 454a1d9d84acb55b615aa59ba61fd5d27acf3421..c7fe760616cf40272f859eb3b92caef6983d88f2 100644 --- a/cmd/tank/bindata_assetfs.go +++ b/cmd/tank/bindata_assetfs.go @@ -78,7 +78,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _uiIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x58\x4d\x8f\xdb\x36\x13\xbe\xef\xaf\x98\xf0\x05\x5e\xb4\x40\x64\x76\x9b\x4b\x90\x52\x02\x8c\x24\x6d\x03\xa4\x69\xd0\x6c\x0b\xf4\x14\xd0\xe2\xac\xc5\x5d\x8a\x54\xc9\x91\x5d\xff\xfb\x82\xa2\x65\xcb\xb6\xbc\xf2\xa2\x49\x90\x5e\x24\x7e\x3c\xf3\xc1\x87\x33\xe4\x48\xe2\xc9\xab\x5f\x5f\xde\xfc\xf9\xfe\x35\xfc\x7c\xf3\xcb\xdb\xe2\x4a\x54\x54\x9b\xe2\x0a\x44\x85\x52\x15\x57\x00\x82\x34\x19\x2c\xe6\xbf\xff\x36\x87\x1b\x69\xef\x5f\xc0\x9b\xba\x71\x9e\xe0\xff\xf0\xde\xc8\x8d\xd1\x81\x82\xe0\x09\x14\xe1\x35\x92\x84\xb2\x92\x3e\x20\xe5\xac\xa5\xdb\xec\x39\xdb\x4f\x58\x59\x63\xce\x56\x1a\xd7\x51\x07\x83\xd2\x59\x42\x4b\x39\x5b\x6b\x45\x55\xae\x70\xa5\x4b\xcc\xba\xce\x53\xd0\x56\x93\x96\x26\x0b\xa5\x34\x98\x5f\x3f\x85\x50\x79\x6d\xef\x33\x72\xd9\xad\xa6\xdc\x3a\x56\x5c\x45\xcd\x46\xdb\x7b\xa8\x3c\xde\xe6\xac\x0c\x81\x2f\x9c\xa3\x40\x5e\x36\x99\xc7\xd8\x9e\xd5\xda\xce\xca\x10\x18\x78\x34\x39\x0b\xb4\x31\x18\x2a\x44\x4a\x7e\x9d\x93\x7e\x9c\x58\x2d\x1f\x40\x0b\xbe\x65\x53\x2c\x9c\xda\x44\x71\x10\x4a\xaf\xa0\x34\x32\x84\x9c\x45\x12\xa4\xb6\xe8\x3b\xcd\xfd\xa4\x56\x39\x8b\x62\xfb\xe1\x43\x29\xef\xd6\xfb\x89\x63\x85\x26\xfb\x9e\x15\x82\x2b\xbd\x7a\x00\xf2\x7c\x28\x0f\x20\xaa\xeb\xfd\x36\x0b\x5e\x5d\x1f\xcd\x3e\x2b\x84\x2e\x4e\x36\x1f\x5e\x49\xac\x9d\x15\x5c\x17\x82\x57\xcf\x0e\x65\x9a\x42\xc8\x2d\x49\x15\x51\x13\x5e\x70\xbe\xd4\x64\xe4\x62\x16\xd0\xaf\xda\x30\x93\xc4\x65\x4b\xce\x4b\xa5\x1d\x27\x69\xef\x19\x90\xf4\xcb\x18\x3a\x1f\x17\x26\xf6\x8b\x0b\x05\x05\x97\x85\xe0\xcd\x70\xb9\x13\xcb\x3f\x61\xe8\xa8\xf7\x39\xb9\xde\xb8\x16\x6a\xbd\xac\x08\xd6\xd2\x12\x90\x03\x92\xf7\x08\x12\x8c\x73\xf7\x20\x09\xa8\x42\xd8\x71\xc7\x65\xa3\xf9\xea\x9a\xb3\x5e\xe3\x42\xaa\x25\x42\xf7\xcc\x1a\xaf\x6b\xe9\x37\xac\x98\xbf\x7f\x13\x49\xf8\x44\x04\x6c\xdb\x47\x01\x19\xe3\xf7\x4b\x85\x63\x6f\x13\xbd\x77\xfe\x70\xee\x78\x36\xab\x31\x04\xb9\xc4\x1d\x41\xd2\xa0\x27\xe8\x9e\x99\x92\x76\x89\x9e\x81\x77\x06\xb7\x33\x27\xda\x8e\x5c\x1b\xe1\xee\x2b\x0e\xa6\xe1\xb4\xb6\x4d\x4b\xd9\xd2\xbb\xb6\x81\x7a\x91\x3d\x1b\xe5\xed\x14\x9b\x35\x1e\x1b\xb4\xea\x18\x0e\x20\x42\x23\xed\x98\x04\xe1\xdf\xc4\x8a\x9f\x62\x5b\xf0\x08\x9a\xe4\x34\x2a\x43\x83\x25\xed\xd6\xd2\x06\x72\x75\x96\x06\x59\xb7\x9d\x9d\xee\x0f\x69\xe0\x44\x61\x02\x5e\xb8\x22\xd9\x9c\x59\xd0\xa2\x25\x72\x16\x94\x0e\x72\x61\x50\xe5\xac\x6f\x31\xa0\x4d\x83\x39\x4b\x80\x7d\xb2\x91\x85\x05\xd9\xcc\xb5\x64\xb4\xc5\x2c\x60\xe9\xac\x92\x7e\x03\x9d\xa1\x97\xc6\x59\x64\x45\xf7\x12\x3c\xc9\x9e\x35\xfa\x48\x03\xca\xbb\x46\xb9\xb5\xcd\xc8\x2d\x97\x06\x19\x28\x49\x72\xdb\xc9\x59\x3f\x1b\x03\xe6\x9c\xdd\x01\x39\x3b\x65\x35\xda\xf6\x94\x97\x09\x27\x77\xd2\x9a\xb0\x4e\x2b\x7f\x87\x6b\x56\xbc\xc3\x35\x6c\x83\xe0\x8c\x0f\x5b\x2f\x52\xfa\x05\x6c\xa4\x97\xe4\xfc\xa9\x62\xa5\x57\xba\xbb\xed\xc6\x22\xe7\x91\xfe\xf5\x5b\x9a\x1c\x9d\x2b\xf5\xa3\x36\xc8\x8a\xb9\x52\x10\x5b\x0f\xf9\xfa\x2f\x8c\xf4\x77\x62\x32\xd4\xf7\xce\x6f\xce\x58\x86\x7c\x45\x27\xd1\xf5\xf4\x49\x74\xfd\xdd\x20\x6d\xff\xd0\x31\x20\x26\x45\x2e\xb8\x75\x0e\xef\x9f\x7d\x39\xa4\x95\x42\x7b\x83\x75\x63\x24\x61\xd8\x95\x4b\x4f\xb2\x2c\xc5\x20\x64\xd9\xb0\x84\xea\xad\x4a\xbf\xdd\xa3\x5e\x74\xfc\x0a\x8b\xb8\xec\xb8\xe4\x02\x10\xad\xe9\x11\x56\xae\xc0\xca\x55\x46\x72\x11\x60\x00\xef\x06\x8e\x0e\x65\xa3\x07\x52\x5d\xc0\x9c\x1c\x68\x72\x88\xe8\x0a\x4a\x59\x92\x5e\x21\x0c\x4e\xc1\x18\xae\x81\x15\xdd\xeb\xf0\x7a\x8f\x1c\x19\xfd\x09\x8c\x0e\xac\xed\x4a\x7a\x56\x0c\xaa\xfb\x07\xad\x0a\xde\x9a\x0b\x62\xad\x63\xeb\xb0\x7c\x00\x98\xcd\x66\x60\x9c\x54\xda\x2e\x93\x17\x71\x64\xba\x1a\x89\xfb\xdd\x11\x32\xd8\x6f\x8a\xa9\xd8\x1b\x4b\x9d\xee\x99\x05\xf2\xba\x41\x05\xb7\x51\x60\x24\x00\xa8\xff\xd2\xd9\x0d\xf8\xc3\xe5\x52\x05\xa1\x74\xf1\x34\x28\x9d\x61\xc5\xff\x04\xa7\xea\x41\xc4\xdc\x53\x97\xf6\x53\x30\xb3\x68\xeb\x49\xd4\x4d\xfc\xb2\x9a\x44\x7d\x70\xad\x2f\xa7\x61\xf3\x92\x74\xac\xd5\x0f\x60\x82\x0f\x56\x1c\xe7\x86\x7c\x08\xea\x3e\x59\x04\xa7\xdd\xa7\x4b\x07\x8a\xd4\xee\xf6\xe3\x80\xfb\xc8\xf3\x18\xcd\xfe\x80\x63\x35\x84\xbf\x51\xac\x77\xb3\x3b\x92\x04\x27\x75\x1e\x9d\xe8\x9d\x44\x45\x76\xa7\x40\x1d\xb9\x53\xa0\xc4\xed\x18\xea\x6c\x15\x16\x6f\xf3\x14\xcf\xbb\x56\x16\xea\xbe\x04\xed\xfa\x27\x79\x39\x7a\xef\x8c\x15\x29\x47\x55\xc3\xbe\x5a\x88\xce\xbe\x56\x9a\x58\x11\x9f\x67\xae\x9d\x8b\x2a\x91\x54\x32\x77\x0a\x5f\xa1\xc1\xb8\x91\xe9\x3d\xaa\xf4\xf4\x86\x1a\x50\x33\x88\xae\xe3\xb0\x89\x69\xbc\x3b\x65\x1e\x93\xca\x4d\x2f\xf4\x45\xd2\xf9\xa5\x47\x49\xa8\x26\x71\x6f\xd1\x2e\xa9\xfa\x2a\x72\xb0\x27\xe8\x11\x79\xd8\x8b\x5c\x9e\x8b\xbd\xc4\x96\x9f\x4b\xa0\x89\xa2\xff\x40\x2a\xf5\x0e\x7f\xd2\x74\xea\x95\x7e\xae\x94\x1a\x96\x4c\xa1\xf4\xba\x21\x08\xbe\xcc\xd9\x5d\xe0\x77\x7f\xb5\xe8\x37\xdd\x2f\xad\xbb\x10\xf9\x4f\xf3\xc5\x18\x76\xff\x07\x6c\xd1\x5a\x65\xf0\x32\xa9\xee\x07\xd8\x59\x54\xa2\x27\x7e\x32\xf2\x3b\xb9\x92\x69\xb4\xdf\xb7\x28\xfa\x51\x5b\x4d\xdf\x7c\xfb\x43\x5a\xc7\x4e\x83\xe0\x29\xe4\x05\x4f\xff\x25\xff\x09\x00\x00\xff\xff\xb1\xb9\x1b\x8e\xaf\x14\x00\x00") +var _uiIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x59\x6d\x8f\xdc\x28\x12\xfe\x3e\xbf\x82\x10\x29\xba\x93\xc2\xf8\xe6\xa2\x48\x51\x62\x5b\x1a\x4d\x92\xbb\x48\x49\x2e\xba\xcc\xae\xb4\x9f\x22\xda\x54\xb7\x99\xc1\xe0\x85\x72\x77\xfa\xdf\xaf\x00\xdb\x6d\xbb\xdd\x2f\xa3\xbc\x28\xfb\xa5\xc7\xc0\x53\x05\x3c\x55\x05\x55\x4c\xfa\xe8\xf5\xff\x6e\x6e\xff\xf8\xf4\x86\xfc\xf7\xf6\xc3\xfb\xfc\x22\x2d\xb1\x52\xf9\x05\x49\x4b\xe0\x22\xbf\x20\x24\x45\x89\x0a\xf2\xeb\xdf\xfe\x7f\x4d\x6e\xb9\xbe\x7f\x49\xde\x55\xb5\xb1\x48\x9e\x90\x4f\x8a\x6f\x95\x74\xe8\xd2\x24\x82\x3c\xbc\x02\xe4\xa4\x28\xb9\x75\x80\x19\x6d\x70\xc9\x5e\xd0\xdd\x80\xe6\x15\x64\x74\x2d\x61\xe3\x75\x50\x52\x18\x8d\xa0\x31\xa3\x1b\x29\xb0\xcc\x04\xac\x65\x01\x2c\x34\x9e\x12\xa9\x25\x4a\xae\x98\x2b\xb8\x82\xec\xea\x29\x71\xa5\x95\xfa\x9e\xa1\x61\x4b\x89\x99\x36\x34\xbf\xf0\x9a\x95\xd4\xf7\xa4\xb4\xb0\xcc\x68\xe1\x5c\xb2\x30\x06\x1d\x5a\x5e\x33\x0b\xfe\xfb\xb2\x92\xfa\xb2\x70\x8e\x12\x0b\x2a\xa3\x0e\xb7\x0a\x5c\x09\x80\x71\x5d\x87\xa4\x1f\x26\x56\xf1\x23\xe8\x34\x69\xd9\x4c\x17\x46\x6c\xbd\x38\x49\x85\x5c\x93\x42\x71\xe7\x32\xea\x49\xe0\x52\x83\x0d\x9a\xbb\x41\x29\x32\xea\xc5\x76\xdd\x63\x29\x6b\x36\xbb\x81\xa9\x42\xc5\xfe\x4d\xf3\x34\x11\x72\x7d\x04\xf2\x62\x28\x4f\x48\x5a\x5e\xed\xcc\x9c\x26\xe5\xd5\x64\xf4\x59\x9e\xca\x7c\xcf\xf8\xe4\x35\x87\xca\xe8\x34\x91\x79\x9a\x94\xcf\xc6\x32\x75\x9e\xf2\x96\xa4\x12\xb1\x76\x2f\x93\x64\x25\x51\xf1\xc5\xa5\x03\xbb\x6e\xdc\x25\xc7\x84\x37\x68\x2c\x17\xd2\x24\xc8\xf5\x3d\x25\xc8\xed\xca\xbb\xce\x97\x85\xf2\xed\xfc\x4c\xc1\x34\xe1\x79\x9a\xd4\xc3\xed\x9e\xd8\xfe\x1e\x43\x93\xd6\x8f\xe4\x7a\x6b\x1a\x52\xc9\x55\x89\x64\xc3\x35\x12\x34\x04\xf9\x3d\x10\x4e\x94\x31\xf7\x84\x23\xc1\x12\x48\xcf\x5d\xc2\x6b\x99\xac\xaf\x12\xda\x69\x5c\x70\xb1\x02\x12\x7e\x59\x6d\x65\xc5\xed\x96\xe6\xd7\x9f\xde\x79\x12\xbe\x13\x01\xed\xf7\xc4\x21\xbd\xff\xfe\x2c\x77\xec\xe6\x04\x6b\x8d\x1d\x8f\x8d\x85\xb9\x02\x8b\x24\xfc\x32\xc1\xf5\x0a\x6c\xd7\x90\xae\x92\xce\xc9\x85\x02\x4a\xac\x51\xd0\x62\xa7\xca\x08\x49\x5d\xcd\xf5\x6e\x36\x56\x81\x73\x7c\x05\x7e\xd1\x7e\x64\x1f\xbf\x68\x10\x8d\x26\xb8\xad\x21\xa3\xb1\xd1\x5b\xa7\x50\xc6\x01\x25\x82\x23\xef\x96\xd0\x4f\x1c\x27\xca\x9f\xa0\xac\xc0\xbd\x6a\xb5\xa7\x49\xd4\x30\xdd\xe3\x84\xb0\x19\x8b\xfe\xc2\x2e\x3e\x1c\x96\xba\x6e\x90\xad\xac\x69\x6a\x52\x2d\xd8\xb3\x63\xd6\x1c\x60\x59\x6d\xa1\x06\x2d\x0e\xd9\x6b\x46\x02\xe1\x2b\xd2\xfc\x3f\xfe\x7b\xd6\x74\xfb\x9c\x7a\x65\xa0\xa0\xc0\x7e\x2f\x8d\x43\x53\xb1\xd8\x49\x83\x53\x04\xdd\x9f\x63\xc7\x9e\xc2\x08\x3c\x73\x47\xbc\x3e\xb0\xa1\xd6\xa1\x84\x74\x7c\xa1\x40\x64\xb4\xfb\xa2\xf3\x4e\xb6\x40\x4d\x16\xa8\x99\x69\x50\x49\x0d\xcc\x41\x61\xb4\xe0\x76\x4b\xc2\x44\x37\xca\x68\xa0\x79\xf8\x73\xc0\xbd\x4e\x78\xf1\xe1\x09\x84\x35\xb5\x30\x1b\xcd\xd0\xac\x56\xaa\xf3\xf4\xd8\xc8\x68\x37\x4a\x0f\xb9\xf5\x98\x9c\x5e\x59\x05\xba\xd9\xe7\xe5\xc4\x22\x7b\x69\x89\x50\x4d\x16\x52\x19\xc1\x55\xd7\xd7\x5e\x2a\x8f\x03\x39\x1f\x61\xf3\x21\x0c\xe6\x1f\x61\x43\x5a\x67\x39\xb0\xd6\x76\xb5\xf1\xf4\x70\x50\x73\xcb\xd1\xd8\xfd\x05\x08\xb9\x96\xe1\xae\x9e\xf3\xb0\x87\xed\xa3\x77\x82\x68\xca\x6b\x21\xde\x4a\x05\x34\xbf\x16\x82\xf8\xaf\x63\x6b\xfd\x86\x49\xba\x1b\x3d\x4e\xd4\xb5\x0e\x1b\x71\x2e\x92\x7e\xa1\x13\xeb\xea\xf4\x89\x75\xf5\xaf\x41\x78\xff\x2e\x61\x73\x86\xc8\x19\x77\xe6\xf8\xf6\xdc\x25\x73\x52\x08\xd0\xb7\x50\xd5\x8a\x23\xb8\x3e\xd9\x7b\xc4\x58\xf4\x41\xc2\xd8\x30\x01\xec\x66\xe5\xb6\xb5\x51\x27\x3a\x7f\x01\x7b\x1c\x9b\x26\x8c\x84\xa4\x8d\xea\x10\x9a\xaf\x89\xe6\x6b\x86\x7c\xe1\xc8\x00\x1e\x3a\x26\x87\xb7\x92\x03\xa9\x18\x5d\x53\x5b\xf3\x21\x22\xa4\xc3\xbc\x40\xb9\x06\x32\x38\x2d\xbd\xbb\x3a\x9a\x87\x3f\xe3\xe4\xc4\x73\xa4\xe4\x77\x98\x74\x30\x5b\x5f\x90\xd0\x7c\x50\x9b\x1c\x9d\x35\x4d\x1a\x75\x86\xaf\x05\xb6\xc6\xc9\x0f\x21\x97\x97\x97\x44\x19\x2e\xa4\x5e\xc5\x55\xf8\x9e\xd3\xb9\x94\xb7\x77\x20\x64\x60\x6f\xf4\xa1\xd8\x4d\x16\x1b\xe1\x97\x39\xb4\xb2\x06\x41\x96\x5e\x60\xc6\x01\xb0\xab\xd3\xfa\x0e\x3b\xde\x2e\x96\xc4\x15\xc6\x9f\x06\x85\x51\x34\x7f\x9c\x26\x58\x1e\x45\x5c\x5b\x0c\x61\x7f\x0a\xa6\x16\x4d\x75\x12\x75\xeb\xeb\xc2\x93\xa8\xcf\xa6\xb1\xc5\x69\xd8\x75\x81\xd2\x57\x1a\x23\x58\x9a\x0c\x76\xec\xc7\x86\x7c\xa4\x18\x0a\xae\x34\xc1\xbe\xf0\x0a\x20\x4f\x6d\x6f\x8f\x11\xf7\x9e\xe7\x39\x9a\xed\x88\x63\x31\x84\xbf\x13\xb4\x5b\x66\x38\x92\xd2\x04\xc5\x61\x74\xa4\xf7\x24\xca\xb3\x7b\x0a\x14\xc8\x3d\x05\x8a\xdc\xce\xa1\x0e\x66\x6b\xfe\xd6\x8f\xfe\xdc\x7f\x31\x57\x75\x19\x74\x68\xef\xc5\xe5\xec\xbd\x33\x97\xcc\x4c\xb2\x8b\x5d\x56\xe1\x17\xfb\x46\x48\xa4\xb9\xff\x3d\x94\x12\x9f\x93\xb1\xb4\x35\x80\x57\xf8\x1a\x14\x78\x43\xc6\xbf\xb3\x4a\xf7\x6f\xa8\x01\x35\x03\xef\x9a\xba\x8d\x0f\xe3\xfe\x94\x79\x48\x28\xd7\x9d\xd0\x4f\x09\xe7\x1b\x0b\x1c\x41\x9c\xc4\xbd\x07\xbd\xc2\xf2\x97\x88\xc1\x8e\xa0\x07\xc4\x61\x27\x72\x7e\x2c\x76\x12\x2d\x3f\xe7\x40\x23\x45\x7f\x83\x50\xea\x16\xfc\x5d\xc3\xa9\x53\xfa\x23\x42\x6a\x92\x31\xf9\xd0\x0a\x09\x7a\x1f\x57\x43\x4e\x43\x5e\x4f\x96\x5c\xc0\x20\x7b\xeb\x53\x7a\x1f\x6c\x52\x0b\xf8\x9a\x51\x76\xd5\x11\x2d\x24\x57\x66\x45\x67\xb2\xab\xa0\x8c\xc5\x71\x32\x6c\xb0\x02\x34\x82\xf5\x3c\xb7\x3a\x4c\xd1\x54\xa0\x71\x3e\xfb\x8a\xa2\xed\x73\xe6\x28\xff\x5a\x1a\x5b\x8d\xd6\xf9\xd6\xd8\xea\x70\xa9\x1c\x15\xed\xe7\x71\x01\x57\x3e\x1f\xc3\x30\xde\x00\xbe\x8a\x59\xc5\x2a\xa6\x7c\x7e\x30\x63\x9a\x7d\x96\x88\x45\x52\x7c\x96\xd8\x7b\x95\x98\x66\x4e\x7b\xc9\xfd\xde\xba\xa7\x29\x52\xcf\xc0\xd1\x1a\xd0\x03\xd8\x6c\x30\x04\xa4\xe2\x0b\x50\x64\x69\x6c\x46\x2d\x14\xb2\x96\xa0\x91\x69\x5e\x01\x1d\x66\xe6\x41\x49\x80\xd2\xfc\x23\xaf\xe0\x65\x9a\x84\xd6\x9c\xc6\x50\x91\xb7\x5e\x1f\x5e\x0c\x46\x2b\xf1\x56\xb4\x46\x8d\xbd\xcb\xab\x9c\x29\xdb\x67\x8b\xa0\xbd\x0d\x9f\x43\xdd\xd2\x18\x9c\x31\xf9\x39\x11\xda\x47\xfe\x01\xeb\xde\x70\x5d\x80\xfa\x96\x33\xa0\x7d\x64\x24\x1d\x1b\xf3\x07\xd2\xfc\xe4\xe1\x80\x3d\x52\x65\xef\x9f\x16\x23\xfe\x4e\x17\x58\xae\xb0\xb2\x46\xe2\x6c\x91\xd1\x3b\x97\xdc\xfd\xd9\x80\xdd\x86\xe7\xfb\x3b\x17\x5e\xf0\xc2\x78\x3e\x87\xdd\xbd\xf6\x2f\x1a\x2d\x14\x9c\x27\x15\x1e\xfb\x0f\xa2\x76\x6e\x95\xdc\xf1\x35\x8f\xbd\x9d\x5d\xbd\xe8\x17\xa9\x25\xfe\xe3\x9f\xaf\xe2\x3e\x7a\x0d\x69\x12\x2f\xc8\x34\x89\xff\x83\xf9\x2b\x00\x00\xff\xff\x22\x92\xea\xc9\x9b\x19\x00\x00") func uiIndexHtmlBytes() ([]byte, error) { return bindataRead( @@ -93,7 +93,7 @@ func uiIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/index.html", size: 5295, mode: os.FileMode(436), modTime: time.Unix(1530466580, 0)} + info := bindataFileInfo{name: "ui/index.html", size: 6555, mode: os.FileMode(436), modTime: time.Unix(1530473759, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -258,7 +258,7 @@ func uiJsJqueryMinJs() (*asset, error) { return a, nil } -var _uiJsMainJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x59\xeb\x6f\xdb\xc8\x11\xff\x5c\xfd\x15\x53\x35\x00\xa9\x8b\x42\x5d\xd2\x0f\x2d\xac\x38\xa8\xcf\xb1\x73\x2e\x5c\xdb\xb0\x95\x1e\x82\x34\x30\xd6\xe4\x48\xdc\x84\xda\xe5\xed\x2e\xa5\x08\x39\xff\xef\xc5\xbe\xf8\x12\xf5\x70\xce\x08\x92\x7c\x88\x45\xee\xbc\xf7\x37\xb3\x33\xcb\xd1\x4f\x3d\xf8\x09\x40\x11\xf6\xa9\x07\xf6\xf7\xd9\x3c\xe7\x42\x01\x61\x09\x5c\x65\x64\x95\x51\xa9\xe0\x35\xc1\x39\x67\x30\xe5\x02\x48\xa1\xb8\x20\x09\xe5\x90\x0b\xfe\x11\x63\x65\xf9\x0c\xeb\x31\xcf\x57\x82\xce\x52\x05\xe1\xf1\x00\x5e\xfc\xfc\xfc\x1f\xcf\x5e\xfc\xfc\xfc\x9f\x70\x9c\x0a\x2a\x15\x25\x0c\xae\x38\x65\x8a\xa1\x80\x97\xf8\x7b\x41\x19\xff\xfc\xaf\x14\x33\x49\xd9\x27\x1a\x11\xf5\xca\xcb\x99\xa4\x54\xc2\x94\x66\x08\x54\x42\x4e\x84\x02\x3e\x35\x36\x46\x9e\x42\x3f\xe8\xc5\xa9\x40\x04\xc9\xa7\x6a\x49\x04\x1e\xc0\x8a\x17\x10\x13\x06\x02\x13\x2a\x95\xa0\x77\x85\x42\xa0\xc6\x99\x11\x17\x30\xe7\x09\x9d\xae\x8c\x00\xaa\xa0\x60\x09\x0a\x50\x29\x82\x42\x31\x97\x46\x47\x8a\xf0\xe6\xe2\x2d\xbc\x41\x86\x82\x64\x70\x55\xdc\x65\x34\x86\x73\x1a\x23\x93\x08\x44\x42\xae\xdf\xc8\x14\x13\xb8\xb3\x82\x34\xcb\xa9\xb6\xe2\xc6\x59\x01\xa7\xbc\x60\x09\x51\x94\xb3\x21\x20\x55\x29\x0a\x58\xa0\x90\x94\x33\xf8\xbb\x57\xe2\x24\x0e\x81\x0b\x23\x85\xb0\x15\x64\x44\x55\xa4\x6b\x9e\x56\x0e\x25\x40\x99\x11\x92\xf2\x1c\x41\xa5\x44\x69\x6f\x96\x34\xcb\xe0\x0e\xa1\x90\x38\x2d\xb2\xa1\xe1\xbd\x2b\x14\xfc\x76\x36\xf9\xf5\xf2\xed\x04\x8e\x2e\xde\xc1\x6f\x47\xd7\xd7\x47\x17\x93\x77\x63\x58\x52\x95\xf2\x42\x01\x2e\xd0\xca\xa2\xf3\x3c\xa3\x98\xc0\x92\x08\x41\x98\x5a\x01\x9f\x1a\x11\xff\x39\xb9\x3e\xfe\xf5\xe8\x62\x72\xf4\xcb\xd9\xf9\xd9\xe4\x1d\x70\x01\xa7\x67\x93\x8b\x93\x9b\x1b\x38\xbd\xbc\x86\x23\xb8\x3a\xba\x9e\x9c\x1d\xbf\x3d\x3f\xba\x86\xab\xb7\xd7\x57\x97\x37\x27\x11\xc0\x0d\x6a\xc3\xd0\x48\xd8\x12\xcf\xa9\xd9\x13\x81\x90\xa0\x22\x34\x93\xa5\xd3\xef\x78\x01\x32\xe5\x45\x96\x40\x4a\x16\x08\x02\x63\xa4\x0b\x4c\x80\x40\xcc\xf3\xd5\xee\xad\xb2\x41\xcd\x38\x9b\x19\x57\x2d\x78\xe0\x6c\x0a\x8c\xab\x21\x48\x44\x78\x99\x2a\x95\x1f\x8c\x46\xcb\xe5\x32\x9a\xb1\x22\xe2\x62\x36\xca\x2c\xb3\x1c\xbd\xd2\x96\x8c\x7a\xbd\xa0\x90\x08\x3a\xee\xb1\x0a\xc6\xbd\xde\x82\x08\x98\x13\xca\xe0\xd0\xfe\xf9\xe3\x0f\xf8\x72\x3f\xee\xf5\x46\x3f\xb5\xff\x69\xa8\x61\x26\x01\xd6\x56\x46\x25\x39\xcc\x04\x2f\xf2\x73\x9d\x5f\xe5\x92\xd6\x60\x5e\x4b\x38\x04\x56\x64\xd9\xb8\xd7\xd3\xaa\xa2\x37\x25\xed\x21\x4c\x0b\x16\x6b\x78\x85\x03\xf8\xd2\xd3\x08\xa4\x32\x7a\xa2\xff\x87\x43\x78\x12\xea\x1f\x83\xb1\x7f\x5f\x0a\xd3\x86\xde\xaf\x49\x8b\x72\xc1\x15\x57\xab\x1c\x23\x14\x82\x8b\xba\x74\xf3\xa2\xa6\x22\x23\x52\xdd\x7a\x2a\xf3\x77\xdc\xd0\x1e\x29\x41\x67\x33\x14\x61\x60\x16\x83\xc1\x0e\x85\x53\x54\x71\xba\xee\x8e\x0e\x81\xc4\x6c\x0a\x87\x46\xb6\xd6\xa1\x1f\x9b\xea\x5d\x68\x00\x9e\x44\x33\x54\xff\xbe\xb9\xbc\x08\xa1\x3f\x22\x39\x1d\x2d\x9e\x8f\xac\xcf\xfd\x61\x25\x39\x21\x8a\x58\xe9\x4e\x58\x19\x96\xf7\x1f\xc6\xe6\xed\x94\x8b\x50\x6b\xfe\x84\x2b\x9d\x5e\x9a\x21\x12\x28\x8b\x4c\x49\xcf\xd8\x60\x7d\x5f\xa7\x78\xff\x09\x57\x1f\x22\x46\xe6\xf8\x41\xdb\x86\x4b\xa8\x9c\x0e\xd7\x08\x07\x56\xe3\x7d\x65\x4d\x2b\x7c\x45\x9e\x10\x85\x81\xa1\xbb\x1f\x44\x53\x42\xb3\xb0\x74\xe5\xe3\xef\x9f\x53\x31\x04\x85\x9f\xd5\x8d\x22\xaa\x90\x43\xa8\x6d\x14\x00\x9d\x86\x2e\x48\x87\xd0\xef\xb7\x6c\x37\x2b\x61\x3f\xe6\x8c\xa1\x11\xa7\x8b\xf8\x5d\x86\xf3\xbe\x37\x0a\x30\x93\xd8\xc5\x64\x95\x54\xa6\xdf\xbb\xed\x6d\x80\xb9\x03\xc8\x5d\x38\xae\x6f\x3a\x65\x52\xed\x81\x63\x1d\x5c\x38\x04\x4d\x6d\x7e\x97\x0b\xb1\x40\xa2\x6b\xa2\x5b\x73\x8f\xe5\xb2\x8d\x65\xb9\xec\x1e\xcb\x65\x7d\xc8\x54\x30\x30\xaf\x72\x77\xe8\xf9\xd7\x4d\x0c\x7f\xd3\x84\x69\x27\xcb\xad\x37\xf7\x91\x52\xa6\x95\x31\xa3\x3e\x3c\xb5\x8c\x26\xda\x4f\xa1\x3f\x32\x0a\xb7\x66\x52\x33\x82\x0f\x49\x24\xc3\x19\xe5\x85\x4c\xc3\x32\x65\x4e\x69\x86\xa1\x5e\x1d\xc2\x7a\xde\xec\x99\x38\xcf\x8c\xe0\x1f\x24\x7d\xb6\x6c\x76\x1d\x88\xdf\x6c\xc3\x4b\xa5\x5b\x37\xbd\x9d\x23\x0f\xdb\xf8\x92\xbb\xb5\xf9\xbe\xdd\xfc\xd3\x00\x28\x15\xfc\x20\x20\xf0\x35\xd4\xb4\xbc\x65\x09\x2d\x13\xa2\xbe\xff\x66\xe3\x86\xd0\xae\x9a\xbe\xd4\x9a\xbf\x65\x95\xa1\x65\xdd\xa3\xc9\x23\x15\x4c\xc9\x0b\x11\x97\x95\xd8\x3e\x95\x8b\x73\x54\x44\xef\x9a\x5f\xf6\xcf\x35\xa8\x6b\x7f\x6a\x48\x4f\x30\x43\x85\x7b\x00\xdc\xc0\x98\x7c\x24\x9f\x43\x1b\xd7\x39\xaa\x94\x27\x07\xd0\x7f\x7d\x72\x7e\x32\x39\xe9\x0f\xcd\xdb\x42\x64\x07\xed\x3e\xc0\x80\xbc\x16\xa5\x56\x71\xab\x96\x69\x62\x85\xc8\x22\x8e\x51\xca\x83\x35\xfc\x3b\xc8\x59\x29\xb5\x82\x1c\x0e\xe0\xde\xb2\x6a\xc2\xc9\x2a\xc7\x03\xe8\x7f\x94\x9c\xf5\xbf\x06\x7c\x24\x43\xa1\x2c\x95\x46\x7f\xce\x99\x44\x9d\xbc\xee\xbc\x79\x0a\xfd\xff\x31\x6d\xb3\x79\xa7\x7b\x53\x36\xa3\xd3\x55\x17\x83\xeb\xaa\x87\xa6\x12\x0c\xe1\xc5\xc0\x65\x43\x13\x74\x3e\x59\x5a\xc0\x2b\x67\xbf\xef\x08\x7c\xc8\x94\xa0\xe6\xb4\x31\xcb\xee\xb1\x86\x2e\x6f\xf4\xf7\x82\xb0\xb2\x10\xfd\x39\x94\x95\x62\x7e\x68\xa4\xd5\xc7\xa3\x05\xc5\xe5\xde\xd3\x51\x47\x57\xa9\xdf\xff\x97\xe2\x72\xd3\x94\xe4\xd6\xca\x50\x98\x71\xac\x86\x59\xf3\xac\xc7\x38\xfd\xd7\xec\x7d\xc7\x91\x6a\x7b\x50\x4b\x3b\x88\x38\x2b\x3b\xf3\x61\x1b\x4c\xae\xca\x0b\x64\x09\x8a\x5b\x73\x86\x95\x11\xe8\x92\x63\xfb\xbd\x1d\x62\xec\x99\xd1\x88\xe4\xba\x93\x35\xa4\xd7\xb4\xaf\xc3\xfd\x49\x18\xfc\xcd\x75\x99\x51\x4a\x13\xd4\x72\x9d\xd7\x8e\x41\x53\x98\xd8\xde\x60\x86\xb1\x0a\x9c\xe9\x01\xcf\xb5\x98\x60\x68\xe8\x06\x91\xc0\x39\x5f\xa0\x35\xcb\xa4\x1a\xc9\x73\x64\x49\xf8\x24\x0c\x5e\x5a\xd2\x57\xc1\x10\xbe\x2c\x48\x56\xe0\x41\x70\x7b\xcb\x38\xc3\xdb\xdb\xc0\xc2\xf0\x20\x88\x53\xce\x25\x46\x51\x14\xdc\x0f\x06\xda\x82\x29\x17\x60\xfa\x06\x93\x34\xe6\x66\xc3\xc7\xca\x8d\x5a\x3e\x36\x3b\xb5\x69\x09\x4e\x8f\xfe\x79\xef\x50\xb8\x77\xe4\xd6\x1a\xfa\x56\xe8\x9e\xcd\x51\x4a\x32\xc3\x60\x10\x69\x25\x61\x70\x62\x18\x4c\x8e\x52\x36\x73\xf3\x8e\x36\x93\xb2\xd9\x01\x04\x3e\xe5\xad\x33\x55\x6f\x36\x68\xed\x87\x4c\xf9\x32\xdc\x73\x9c\xda\x04\xfa\x07\x02\xde\x97\x6e\xf3\x4e\xdb\x92\xd2\x24\x41\x36\xc1\x79\x9e\x11\x85\x12\x6c\xec\xfd\x73\x30\x88\xe2\x8c\x33\x0c\xfd\xfe\x1f\x67\x44\xca\x30\x68\x11\x6d\x4a\x24\xf7\x0a\x63\x75\xea\xa6\x05\xaf\x3d\x9a\x52\x96\x84\x01\x89\x6a\xc8\x3b\xad\xda\xf7\x8a\xf1\xaa\xd6\x71\x6e\x63\xbe\x6a\xb6\x7e\x5a\x40\x4c\x44\xf2\x0b\x4f\x56\x70\xe8\x4a\x6b\xc9\x99\xd0\x45\xa4\x57\x9f\xdd\xf1\x64\xe5\xcc\xaf\xd9\x69\x52\x35\xce\x68\xfc\x69\x43\xaa\x96\x84\x24\x49\x5c\x44\x48\xac\xe8\xc2\xcd\xee\xd0\xb6\xbd\x19\xbc\x35\xd2\xa9\x43\x4a\xa3\xb5\xb0\xab\xde\x07\x0b\xbc\x7e\x14\x45\x90\x71\x92\x68\xd4\xd9\x01\x2c\x8a\xa2\x7e\xad\xe4\xb4\x15\xef\xe1\x49\x45\xbc\xdd\x1b\xeb\xf1\x43\x3c\xa9\x1d\x5f\x3b\xbd\xa9\x26\x0b\xe3\x91\x73\x68\x4b\x31\x76\xd3\xde\x8e\x5a\x6a\x83\xe9\xf5\x6e\xad\xcd\x6b\x33\xc4\x0e\xd1\x95\x77\x7b\x89\xff\x9a\xd2\xef\xea\x45\x59\x00\x74\x0d\x57\xf3\x2c\xf4\x89\xb0\x76\x3a\x74\xd7\xb7\xb5\xdb\x03\x0d\xfb\x9d\xc7\x83\xe6\xaa\x1f\xb7\xf5\x51\xdd\xbf\xaf\x79\x69\xc7\xfa\x21\xb8\xeb\x9b\xbf\xd4\xd9\x9d\x21\xd6\x31\xad\xdc\xba\xd1\x20\xd9\xdf\x9d\xce\xf9\x78\xbb\x4b\xdb\x3d\xf2\x19\xd0\xe5\x55\xa9\xec\x5b\x78\xf6\xd0\x83\xe8\xab\x4f\x19\x8b\x88\xf5\x89\xf3\x2b\x5a\xa8\xdd\x27\x8a\x51\xb6\xeb\x44\x69\x11\xb5\x26\xc7\x8d\x67\x77\x77\x7f\xaf\xc8\x9d\x99\x9e\x9b\x07\x46\x5f\xe9\x0d\xb2\xd5\xb2\xec\x3e\x28\x1c\xc2\xcf\x63\xa0\xf0\xb2\x71\x66\x23\x9b\xa9\x74\x0c\xf4\xe9\x53\x9f\xa6\x1e\x40\x5d\xe9\xd0\x02\xcd\x7b\xfa\xa1\x42\x0b\x94\x5c\x0d\xac\x80\x35\xd2\xf7\x35\x25\x8d\x05\x4b\xa3\x7b\x39\xad\xb4\x3e\xee\xa6\xf8\x47\x50\xa2\xda\x96\xf1\xba\xe2\x3d\xa2\xde\x3a\x9a\x8d\xf8\xb3\xa4\x03\xa7\x34\x19\x6c\x20\x3f\x12\x8a\x4a\xd5\xc1\xe2\x6f\x13\x22\x62\x28\x36\xf2\x67\x77\xc5\x7c\x2b\xbb\x26\xd8\xc4\x3d\xa1\x2a\xeb\xca\xab\x92\x5b\x69\x82\x4d\xdc\x37\xe6\x3e\xa4\x83\xdd\x5e\x94\x18\x1a\xdd\x9a\x0e\x36\x34\x4a\xa3\x11\x4c\x2e\x5f\x5f\x1e\x98\xcf\x71\x38\x47\xa6\xec\x9d\x10\x26\x54\x6d\x50\xf9\xda\xcc\xb7\xc1\x60\xe7\x11\xef\xcf\x64\x3b\x10\x87\x5b\xef\x02\xda\x35\xa1\x5d\x19\x1f\x15\x82\xa5\xd2\x5d\xb5\xa1\x83\xb0\x63\xf6\xff\x4e\x6a\x84\x37\x76\xd3\x21\xb3\xbd\x56\xd4\xb9\xb7\xd5\x8b\x06\x5d\x47\xcd\xb8\x6a\x5a\xf1\xf8\x9b\xb6\xab\x76\xd4\x0d\xf8\x8a\xfa\xe1\xd5\x3c\xa0\x86\x78\x96\x63\x7b\xb7\xd4\xc1\xe7\x6e\x9d\xb6\x31\x9f\x9b\x4d\xed\xe0\x75\x77\x4e\x6e\xd7\x1f\x90\xc7\xe5\x35\xdb\x86\x5c\xf6\xeb\x8f\x99\xcf\xf5\x1b\x97\x98\x33\x25\x78\x96\xa1\xe8\xbe\x76\xf1\x2a\x0c\x4a\x6f\x29\xa3\xca\x29\xab\x3e\x47\x37\xbe\x6b\x9e\x97\x97\x1c\x6b\x17\x32\x6b\x74\x06\xeb\x6e\x98\x37\x7d\xa5\xfd\x6d\xc7\x83\xd0\x5f\x34\x34\x6f\x1f\xac\xff\x29\x61\xb3\xc6\x7d\x0b\x2e\x90\xa9\x7a\x9e\x19\xa6\x5b\xf7\x79\xd0\xac\x46\x8a\x88\x19\xaa\xc8\x5c\x0a\x8c\xfd\x85\x7e\x8d\xee\xaf\x87\x50\x5d\x4c\x54\xb7\xfb\x8d\x6b\x4c\xff\xe5\xfc\x7d\xc5\xe7\xbe\x73\x40\x73\x10\x6f\x38\x5b\x39\x3a\x68\x10\x77\x8d\x74\xc6\xe7\xbb\x42\x29\xce\xac\xae\x63\x9d\x3c\xc1\x40\x67\x49\xae\x67\x53\xa9\x13\x3d\xd1\xce\x93\x4c\xe2\x26\xae\xa3\x24\xd1\xe7\x73\xd0\xaa\x95\x25\xfb\x16\x3e\x9f\x9b\xbb\x78\x5b\x1f\x34\xda\xa3\x08\xce\x73\xb5\x7a\xb8\x57\x4a\x14\x7b\x38\x55\xcd\xa2\x0f\xf4\x68\x33\x63\xf9\xe5\xa5\x2b\x4f\xb6\xfe\x1b\xf5\xfe\x1f\x00\x00\xff\xff\xb0\xfe\x6f\x5c\x30\x25\x00\x00") +var _uiJsMainJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x1a\x6b\x6f\xdb\x46\xf2\xf3\xe9\x57\xcc\xa9\x01\x48\x35\x0a\x95\xf6\x3e\xdc\xc1\x8a\x8a\x73\x1c\xbb\xf5\xc1\xb5\x0d\x5b\xb9\x22\xc8\x05\xc2\x8a\x1c\x89\x1b\x53\xbb\xec\x72\x29\x45\x68\xfd\xdf\x0f\xfb\xe2\x5b\x92\x9d\x1a\x41\xe2\x0f\x96\xb8\x3b\xef\x9d\xc7\xce\x50\xa3\xef\x7b\xf0\x3d\x80\x24\xec\xae\x07\xe6\xfb\xf9\x2a\xe5\x42\x02\x61\x11\x5c\x27\x64\x9b\xd0\x4c\xc2\x1b\x82\x2b\xce\x60\xc1\x05\x90\x5c\x72\x41\x22\xca\x21\x15\xfc\x23\x86\xd2\xe0\x69\xd4\x13\x9e\x6e\x05\x5d\xc6\x12\xfc\x93\x01\xfc\xf8\xf2\x87\x7f\xbe\xf8\xf1\xe5\x0f\xff\x82\x93\x58\xd0\x4c\x52\xc2\xe0\x9a\x53\x26\x19\x0a\x78\x85\xbf\xe7\x94\xf1\x4f\xff\x8e\x31\xc9\x28\xbb\xa3\x01\x91\x3f\x39\x3a\xd3\x98\x66\xb0\xa0\x09\x02\xcd\x20\x25\x42\x02\x5f\x68\x19\x03\x07\xa1\x1e\xd4\xe6\x42\x20\x42\xc6\x17\x72\x43\x04\x1e\xc1\x96\xe7\x10\x12\x06\x02\x23\x9a\x49\x41\xe7\xb9\x44\xa0\x5a\x99\x11\x17\xb0\xe2\x11\x5d\x6c\x35\x01\x2a\x21\x67\x11\x0a\x90\x31\x82\x44\xb1\xca\x34\x8f\x18\xe1\xe7\xcb\xb7\xf0\x33\x32\x14\x24\x81\xeb\x7c\x9e\xd0\x10\x2e\x68\x88\x2c\x43\x20\x19\xa4\x6a\x25\x8b\x31\x82\xb9\x21\xa4\x50\xce\x94\x14\xb7\x56\x0a\x38\xe3\x39\x8b\x88\xa4\x9c\x0d\x01\xa9\x8c\x51\xc0\x1a\x45\x46\x39\x83\x7f\x38\x26\x96\xe2\x10\xb8\xd0\x54\x08\xdb\x42\x42\x64\x09\xda\xd2\xb4\x54\x28\x02\xca\x34\x91\x98\xa7\x08\x32\x26\x52\x69\xb3\xa1\x49\x02\x73\x84\x3c\xc3\x45\x9e\x0c\x35\xee\x3c\x97\xf0\xdb\xf9\xf4\x97\xab\xb7\x53\x38\xbe\x7c\x07\xbf\x1d\xdf\xdc\x1c\x5f\x4e\xdf\x8d\x61\x43\x65\xcc\x73\x09\xb8\x46\x43\x8b\xae\xd2\x84\x62\x04\x1b\x22\x04\x61\x72\x0b\x7c\xa1\x49\xfc\x7a\x7a\x73\xf2\xcb\xf1\xe5\xf4\xf8\xf5\xf9\xc5\xf9\xf4\x1d\x70\x01\x67\xe7\xd3\xcb\xd3\xdb\x5b\x38\xbb\xba\x81\x63\xb8\x3e\xbe\x99\x9e\x9f\xbc\xbd\x38\xbe\x81\xeb\xb7\x37\xd7\x57\xb7\xa7\x01\xc0\x2d\x2a\xc1\x50\x53\xd8\x63\xcf\x85\x3e\x13\x81\x10\xa1\x24\x34\xc9\x0a\xa5\xdf\xf1\x1c\xb2\x98\xe7\x49\x04\x31\x59\x23\x08\x0c\x91\xae\x31\x02\x02\x21\x4f\xb7\x87\x8f\xca\x18\x35\xe1\x6c\xa9\x55\x35\xce\x03\xe7\x0b\x60\x5c\x0e\x21\x43\x84\x57\xb1\x94\xe9\xd1\x68\xb4\xd9\x6c\x82\x25\xcb\x03\x2e\x96\xa3\xc4\x20\x67\xa3\x9f\x94\x24\xa3\x5e\xcf\xcb\x33\x04\x65\xf7\x50\x7a\xe3\x5e\x6f\x4d\x04\xac\x08\x65\x30\x31\x1f\x7f\xfe\x09\x7f\xdc\x8f\x7b\xbd\xd1\xf7\xcd\x3f\xe5\x6a\x98\x64\x00\xad\x9d\x51\x01\x0e\x4b\xc1\xf3\xf4\x42\xc5\x57\xb1\xa5\x38\xe8\xe5\x0c\x26\xc0\xf2\x24\x19\xf7\x7a\x8a\x55\xf0\x73\x01\x3b\x81\x45\xce\x42\xe5\x5e\xfe\x00\xfe\xe8\x29\x0f\xa4\x59\xf0\x4c\xfd\x87\x09\x3c\xf3\xd5\x97\xc1\xd8\xad\x17\xc4\x94\xa0\xf7\x2d\x6a\x41\x2a\xb8\xe4\x72\x9b\x62\x80\x42\x70\x51\xa5\xae\x17\x2a\x2c\x12\x92\xc9\x99\x83\xd2\x9f\xe3\x1a\xf7\x40\x0a\xba\x5c\xa2\xf0\x3d\xbd\xe9\x0d\x0e\x30\x5c\xa0\x0c\xe3\xb6\x3a\xca\x04\x19\x26\x0b\x98\x68\xda\x8a\x87\x7a\xac\xb3\xb7\xa6\x01\x78\x16\x2c\x51\xfe\xe7\xf6\xea\xd2\x87\xfe\x88\xa4\x74\xb4\xfe\x61\x64\x74\xee\x0f\x4b\xca\x11\x91\xc4\x50\xb7\xc4\x0a\xb3\xbc\xff\x30\xd6\xab\x0b\x2e\x7c\xc5\xf9\x0e\xb7\x2a\xbc\x14\x42\x20\x30\xcb\x13\x99\x39\xc4\x1a\xea\xfb\x2a\xc4\xfb\x3b\xdc\x7e\x08\x18\x59\xe1\x07\x25\x1b\x6e\xa0\x54\xda\x6f\x01\x0e\x0c\xc7\xfb\x52\x9a\x86\xf9\xf2\x34\x22\x12\x3d\x0d\x77\x3f\x08\x16\x84\x26\x7e\xa1\xca\xc7\xdf\x3f\xc5\x62\x08\x12\x3f\xc9\x5b\x49\x64\x9e\x0d\xa1\x72\x50\x00\x74\xe1\x5b\x23\x4d\xa0\xdf\x6f\xc8\xae\x77\xfc\x7e\xc8\x19\x43\x4d\x4e\x25\xf1\x79\x82\xab\xbe\x13\x0a\x30\xc9\xb0\x0b\xc9\x30\x29\x45\xbf\x3f\x74\xbc\x0c\x37\x33\x6d\xab\xea\x11\xeb\x85\x99\xb2\xd4\x8e\xc3\xd6\x47\x4a\x3e\x92\x4f\xbe\x91\x61\x85\x32\xe6\xd1\x11\xf4\xaf\xaf\x6e\xa7\xfd\xa1\x5e\xcb\x45\x72\xd4\x3c\xed\x51\x1f\x9e\x43\x49\xdd\x00\x66\x79\x18\x62\x96\x1d\xb5\x1c\xc1\x28\xa6\x1d\xd0\x1f\xc0\xbd\x81\x56\x7b\xd3\x6d\x8a\x47\xd0\xff\x98\x71\xd6\xff\x9a\xac\xaf\xf9\x2a\x2f\x4a\x39\xcb\x50\xf9\x7b\xd0\x79\x20\x8d\xe4\xd2\x91\x58\xba\xf2\x4a\xf5\x84\x28\xcb\xe4\x03\xf2\x8a\x32\x32\x4c\x40\x41\xeb\xef\xc5\x46\x28\x90\xa8\x1a\x65\xf7\xec\x63\xb1\x6d\x7c\xbb\xd8\xb6\x8f\xc5\xb6\x2a\xfa\x65\x58\xea\xa5\xd4\x5e\x42\xdc\x72\xdd\xe9\xbe\x68\x02\x6b\x26\xaf\x99\x13\xf7\x89\x52\x58\x97\x4f\x6b\x44\x6d\xed\xe7\xd0\x1f\x69\x86\x7b\x33\x5b\xdd\x82\x8f\x49\x6c\x1a\x33\x48\xf3\x2c\xf6\x8b\x14\x76\x46\x13\xf4\xd5\xee\x10\xda\x79\xec\x81\x89\xec\x85\x26\xfc\xcd\xa5\xb3\xd6\x61\x57\x1d\xf1\x8b\x1d\x78\xc1\x74\xef\xa1\x37\x63\xe4\x71\x07\x5f\x60\x37\x0e\xdf\x5d\xff\xff\xb2\x03\x14\x0c\xbe\x11\x27\x70\x39\x54\xb7\x20\x45\x0a\x2d\x02\xa2\x55\xd0\x86\xd0\xcc\x9a\x2e\xd5\xea\xcf\x22\xcb\xd0\x22\xef\xd1\xe8\x89\x12\x66\xc6\x73\x11\x16\x99\xd8\x3c\x15\x9b\x2b\x94\x44\x9d\x9a\xdb\x76\xcf\x15\x57\x57\xfa\x54\x3c\x3d\xc2\x04\x25\x3e\xc0\xc1\x77\xd6\xe9\x37\xa7\x17\xa7\xd3\xd3\x43\x95\xba\x62\xa5\x46\x72\x2b\xb7\x69\xf4\xa0\x2a\x6e\xa9\x54\x12\xf2\xd3\x96\x74\x92\xa0\x90\x3b\x0b\xb0\x12\xfc\x7f\x4c\xc9\xac\xd7\x54\xaf\xc0\x96\x74\xb1\xed\x42\xb0\x5d\xce\x50\x67\x82\x21\xfc\x38\xb0\xd1\x50\x77\x3a\x17\x2c\x0d\xc7\x2b\x7a\xf1\xaf\xc8\xf9\x90\x49\x41\x75\xb5\xd1\xdb\xf6\xb1\xe2\x5d\x4e\xe8\xaf\xc5\xc3\x8a\x44\xf4\xd7\xbc\xac\x20\xf3\x4d\x7b\x5a\xb5\x5d\x5d\x53\xdc\x3c\xb8\x5b\xed\xb8\x55\xaa\xf5\xff\x52\xdc\xec\xea\x5a\xed\x5e\x61\x0a\xdd\x1e\x57\x7c\x56\x3f\xab\xb6\x5a\x7d\xea\xb3\xef\x28\xa9\xe6\x0e\x6a\x60\x07\x01\x67\x45\xa7\x34\x6c\x3a\x93\xcd\xf2\x02\x59\x84\x62\xa6\x6b\x58\x61\x81\x2e\x3a\xe6\xbe\x77\x80\x8c\xa9\x19\x35\x4b\xb6\x95\xac\x78\x7a\x85\x7b\xdb\xdd\x9f\xf9\xde\x77\xf6\x96\x19\xc4\x34\x42\x45\xd7\x6a\x6d\x11\x14\x84\xb6\xed\x2d\x26\x18\x4a\xcf\x8a\xee\xf1\x54\x91\xf1\x86\x1a\x6e\x10\x08\x5c\xf1\x35\x1a\xb1\x74\xa8\x91\x34\x45\x16\xf9\xcf\x7c\xef\x95\x01\xfd\xc9\x1b\xc2\x1f\x6b\x92\xe4\x78\xe4\xcd\x66\x8c\x33\x9c\xcd\x3c\xe3\x86\x47\x5e\x18\x73\x9e\x61\x10\x04\xde\xfd\x60\xa0\x24\x58\x70\x01\xfa\xde\xa0\x83\x46\x4f\x9a\x9c\xad\x6c\xeb\xeb\x6c\x73\x90\x9b\x6e\xc4\x0c\x1f\xf5\xf5\xde\x7a\xe1\x83\x2d\xd7\xba\xd0\x37\x4c\xf7\x62\x85\x59\x46\x96\xe8\x0d\x02\xc5\xc4\xf7\x4e\x35\x82\x8e\x51\xca\x96\xb6\xdf\x51\x62\x52\xb6\x3c\x02\xcf\x85\xbc\x51\xa6\xbc\x9b\x0d\x1a\xe7\x91\xc5\x7c\xe3\x37\xb2\xf2\xae\x76\x6a\x97\xd3\x3f\xd2\xe1\x5d\xea\xd6\x6b\x4a\x96\x98\x46\x11\xb2\x29\xae\xd2\x84\x48\xcc\xc0\xd8\xde\x3d\x7b\x83\x20\x4c\x38\x43\xdf\x9d\xff\x49\x42\xb2\xcc\xf7\x1a\x40\xbb\x02\xc9\x2e\x61\x28\xcf\x6c\xb7\xe0\xb8\x07\x0b\xca\x22\xdf\x23\x41\xc5\xf3\xce\xca\xeb\x7b\x89\x78\x5d\xb9\x71\xee\x43\xbe\xae\x5f\xfd\x14\x81\x90\x88\xe8\x35\x8f\xb6\x30\xb1\xa9\xb5\xc0\x8c\xe8\x3a\x50\xbb\x2f\xe6\x3c\xda\x5a\xf1\x2b\x72\xea\x50\x0d\x13\x1a\xde\xed\x08\xd5\x02\x90\x44\x91\xb5\x08\x09\x25\x5d\xdb\x59\x0a\x34\x65\xaf\x1b\xaf\x05\xba\xb0\x9e\x52\xbb\x5a\x98\x5d\xa7\x83\x71\xbc\x7e\x10\x04\x90\x70\x12\x29\xaf\x33\x0d\x58\x10\x04\xfd\x4a\xca\x69\x32\x7e\x80\x26\x25\xf0\x7e\x6d\x8c\xc6\x8f\xd1\xa4\x52\xbe\x0e\x6a\x53\x76\x16\x5a\x23\xab\xd0\x9e\x64\x6c\xbb\xbd\x03\xb9\xd4\x18\xd3\xf1\xdd\x9b\x9b\x5b\x3d\xc4\x01\xd2\xa5\x76\x0f\x22\xff\x39\xa9\xdf\xe6\x8b\x22\x01\xa8\x1c\x2e\x57\x89\xef\x02\xa1\x55\x1d\xba\xf3\x5b\x6b\x7a\xa0\xdc\xfe\x60\x79\x50\x58\xd5\x72\x5b\x6d\xd5\xdd\x7a\x45\x4b\xd3\xd6\x0f\xc1\x8e\x6f\xfe\x56\x45\xb7\x82\x18\xc5\x14\x73\xa3\x46\x0d\xe4\xe1\xea\x74\xf6\xc7\xfb\x55\xda\xaf\x91\x8b\x80\x2e\xad\x0a\x66\x5f\x42\xb3\xc7\x16\xa2\xcf\xae\x32\xc6\x23\xda\x1d\xe7\x67\x5c\xa1\x0e\x57\x14\xcd\xec\x50\x45\x69\x00\x35\x3a\xc7\x9d\xb5\xbb\xfb\x7e\x2f\xc9\x5c\x77\xcf\xf5\x82\xd1\x97\xea\x80\x4c\xb6\x2c\x6e\x1f\x14\x26\xf0\x72\x0c\x14\x5e\xd5\x6a\x36\xb2\xa5\x8c\xc7\x40\x9f\x3f\x77\x61\xea\x1c\xa8\x2b\x1c\x1a\x4e\xf3\x9e\x7e\x28\xbd\x05\x0a\xac\x9a\xaf\x80\x11\xd2\xdd\x6b\x0a\x18\xe3\x2c\xb5\xdb\xcb\x59\xc9\xf5\x69\x0f\xc5\x3d\x82\x14\xe5\xb1\x8c\xdb\x8c\x1f\x60\xf5\x46\x69\xd6\xe4\xcf\xa3\x0e\x3f\xa5\xd1\x60\x07\xf8\xb1\x90\x34\x93\x1d\x28\x6e\x9a\x10\x10\x0d\xb1\x13\x3f\x99\xe7\xab\xbd\xe8\x0a\x60\x17\xf6\x94\xca\xa4\x2b\xae\x0a\x6c\xa9\x00\x76\x61\xdf\xea\x79\x48\x07\xba\x19\x94\x68\x18\xfd\x32\x62\xc7\x45\x69\x34\x82\xe9\xd5\x9b\xab\x23\xfd\x7a\x14\x57\xc8\xa4\x99\x09\x61\x44\xe5\x0e\x96\x6f\x74\x7f\xeb\x0d\x0e\x96\x78\x57\x93\x4d\x43\xec\xef\x9d\x05\x34\x73\x42\x33\x33\x3e\xa9\x0b\x16\x4c\x0f\xe5\x86\x0e\xc0\x8e\xde\xff\x2b\xc9\x11\x4e\xd8\x5d\x45\x66\x7f\xae\xa8\x62\xef\xcb\x17\x35\xb8\x8e\x9c\x71\x5d\x97\xe2\xe9\x0f\xed\x50\xee\xa8\x0a\xf0\x19\xf9\xc3\xb1\x79\x44\x0e\x71\x28\x27\x66\xb6\xd4\x81\x67\xa7\x4e\xfb\x90\x2f\xf4\xa1\x76\xe0\xda\x99\x93\x3d\xf5\x47\xc4\x71\x31\x66\xdb\x11\xcb\x6e\xff\x29\xe3\xb9\x3a\x71\x09\x39\x93\x82\x27\x09\x8a\xee\xb1\x8b\x63\xa1\x5c\x80\x24\x33\xfb\x6a\x13\x37\x33\xca\xa8\xac\x5c\x40\xf4\xc6\x25\x6e\x7e\x55\x60\x56\x4c\x75\xb5\x08\xe6\xda\x44\x24\xa9\x8a\x8b\x6b\x64\xb2\x1a\x15\x0e\xfb\xd2\xbc\xce\xb3\x6f\xf9\xac\x0d\xbe\xab\xee\xba\x6e\xa2\xba\x16\xac\x49\xe2\xf7\xfb\x5d\x3b\x4a\x8c\x3b\xdc\xe6\x69\x97\xb5\xf4\x44\xbf\x45\x68\x60\x0f\x11\x26\x13\x78\x59\x82\x96\x84\x5f\x4b\xa6\x5c\x36\x55\x8d\x62\xa6\xa2\x2e\xf2\x86\x20\x45\xae\xd3\x7f\xc7\xa4\xff\x00\xe6\x82\x24\x59\x89\x6a\x5e\x02\x98\x6b\x76\xdd\x36\xaf\x25\x6b\x99\x66\x9e\x4b\xc9\x59\xe0\x40\x9a\xc6\x39\x20\x69\x15\x6c\x97\x5b\xd9\x9f\x81\x94\xaf\xd1\x3b\x0c\x36\x18\x97\x12\xef\x38\xba\x33\x2e\x56\xce\x2b\xf2\xf9\x8a\xca\x4e\x36\x56\x96\xe2\xbd\x8d\x11\x68\x30\x06\x81\x32\x17\xcc\x98\x6a\x6c\x7b\x28\xfb\xa2\xb9\x74\x50\x42\x59\xd5\x2b\xcb\xdf\xaf\xd4\x7e\x08\x71\x51\x4c\xe1\x5a\x13\xc3\x16\x9c\x4e\xc6\x76\xda\xa4\xf5\xeb\x0e\x02\xbd\x65\xed\x64\x5f\xe6\x8f\xab\x61\xe1\x26\x67\xc6\xc8\x31\x61\x4b\x3c\x1c\x0d\x33\xfb\x6a\x5b\xef\x06\x92\x88\x25\xca\x40\x0f\xb4\xc6\xbd\xaa\xeb\x1a\xb8\xbf\x4f\xa0\x1c\xaa\x95\x4e\x5b\x1b\xc1\xbb\x5f\xe1\xbc\x2f\xf1\xec\x3b\x3a\xa8\x0f\x91\x6a\x76\x28\x6d\x30\xa8\x01\x77\x8d\x23\xb4\xce\x55\x9f\x3c\x51\x89\xdf\x1b\xec\x72\xfa\x1d\x58\xc7\x51\xa4\xee\x96\x5e\xa3\xce\x17\xe8\x7b\xf0\x5c\x5d\x39\x84\xdb\x08\xd1\x66\x1b\x8d\xab\x54\x6e\x1f\xaf\x95\x0e\xad\x83\x4a\x95\x73\x94\x47\x6a\xb4\x1b\xb1\xfd\xc3\x8b\x87\xfe\x8d\x7a\xff\x0f\x00\x00\xff\xff\x45\x40\x2d\xf6\x7c\x29\x00\x00") func uiJsMainJsBytes() ([]byte, error) { return bindataRead( @@ -273,7 +273,7 @@ func uiJsMainJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/js/main.js", size: 9520, mode: os.FileMode(436), modTime: time.Unix(1530466586, 0)} + info := bindataFileInfo{name: "ui/js/main.js", size: 10620, mode: os.FileMode(436), modTime: time.Unix(1530474493, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/cmd/tank/ui/index.html b/cmd/tank/ui/index.html index ae64573237d6d42e834a6011953f168470271843..2a26ff8c3bfba74f038eebc3ca16d163890b68e0 100644 --- a/cmd/tank/ui/index.html +++ b/cmd/tank/ui/index.html @@ -35,7 +35,9 @@ <div class="col-2"></div> <div class="col-8"> <div id="error"> - <div id="error-message" class="alert alert-danger" role="alert"> + <div class="alert alert-danger alert-dismissible" role="alert"> + <span id="error-message"></span> + <button type="button" class="close" data-dismiss="alert"><span >×</span></button> </div> </div> </div> @@ -54,7 +56,7 @@ <button disabled="disabled" type="button" class="btn btn-outline-secondary groupClone">Clone</button> <button type="button" class="btn btn-outline-secondary dropdown-toggle" data-toggle="dropdown"></button> <div class="dropdown-menu"> - <button type="button" class="dropdown-item groupNew">New Group</button> + <button type="button" class="dropdown-item" data-toggle="modal" data-target="#groupNewModal">New Group</button> <div role="separator" class="dropdown-divider"></div> <button type="button" class="dropdown-item disabled groupAddFile">Add File</button> <button type="button" class="dropdown-item disabled groupAddPlaylist">Add Playlist</button> @@ -147,7 +149,32 @@ </td> </tr> </table> + </div> + <!-- Modals --> + <div class="modal fade" id="groupNewModal" tabindex="-1" role="dialog"> + <div class="modal-dialog modal-dialog-centered" role="document"> + <div class="modal-content"> + <form id="groupNewForm"> + <div class="modal-header"> + <h5 class="modal-title">New group</h5> + <a class="close" data-dismiss="modal"><span>×</span></a> + </div> + <div class="modal-body"> + <form> + <div class="form-group"> + <label for="recipient-name" class="col-form-label">Name:</label> + <input type="text" class="form-control" id="groupNewName"> + </div> + </form> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button> + <button type="button" class="btn btn-primary groupNew" disabled="disabled" data-dismiss="modal">Create Group</button> + </div> + </form> + </div> + </div> </div> <script src="js/jquery.min.js"></script> diff --git a/cmd/tank/ui/js/main.js b/cmd/tank/ui/js/main.js index ef69241714fdb832d131417288ac9fabec2ba54d..d20d0e5c2e05ea4533900c3664b8b0443549ff1c 100644 --- a/cmd/tank/ui/js/main.js +++ b/cmd/tank/ui/js/main.js @@ -61,6 +61,23 @@ main.GroupList.prototype.fetch = function() { }); }; +main.GroupList.prototype.new_group = function(group_name) { + var self = this; + + $.ajax({ + method: "POST", + url: "/api/v1/groups/" + group_name, + success: function(data) { self.fetch() }, + dataType: "json" + }).fail(function(jqxhr, textStatus, error) { + if(error == "") { + self.error("connection problem"); + } else { + self.error(jqxhr.responseJSON.error); + } + }); +} + /****** group ******/ var group = null; @@ -328,10 +345,32 @@ main.PlaylistView.prototype.render = function() { /***************** controller *****************/ +function modal_group_new_init() { + $('#groupNewModal').on('show.bs.modal', function(event) { + var groupNewName = $(this).find('#groupNewName'); + groupNewName.val(""); + groupNewName.on('keyup', function() { + if(groupNewName.val().length == 0) { + groupNewBtn.prop('disabled', true) + } else { + groupNewBtn.prop('disabled', false) + } + }); + + var groupNewBtn = $(this).find('button.groupNew'); + groupNewBtn.prop('disabled', true) + groupNewBtn.on('click', function() { groups.new_group(groupNewName.val()); }); + + $(this).find('#groupNewForm').on('submit', function() { groupNewBtn.trigger('click'); return false; }); + }); +} + function main_init() { groups = new main.GroupList(); groupListView = new main.GroupListView(groups); + modal_group_new_init(); + groups.fetch(); $('#groupSelect').on('change', function(event) { var group_name = event.target.value;