From 069b86d324e507dccb904b37fcf5e4de6f220728 Mon Sep 17 00:00:00 2001 From: Haifeng Luo Date: Sun, 10 Apr 2022 11:17:36 +0800 Subject: [PATCH] Rename to wordset. --- controllers/dataset.go | 40 +++++----- object/adapter.go | 2 +- object/dataset.go | 48 +++++------ object/dataset_graph.go | 10 +-- object/dataset_upload.go | 12 +-- object/dataset_upload_test.go | 4 +- object/kmeans.go | 8 +- object/kmeans_test.go | 4 +- routers/router.go | 14 ++-- web/src/App.js | 18 ++--- web/src/Conf.js | 2 +- web/src/HomePage.js | 20 ++--- web/src/{Dataset.js => Wordset.js} | 16 ++-- ...{DatasetEditPage.js => WordsetEditPage.js} | 80 +++++++++---------- ...{DatasetListPage.js => WordsetListPage.js} | 72 ++++++++--------- web/src/backend/DatasetBackend.js | 56 ------------- web/src/backend/WordsetBackend.js | 56 +++++++++++++ web/src/locales/en/data.json | 18 ++--- web/src/locales/zh/data.json | 18 ++--- 19 files changed, 249 insertions(+), 249 deletions(-) rename web/src/{Dataset.js => Wordset.js} (94%) rename web/src/{DatasetEditPage.js => WordsetEditPage.js} (57%) rename web/src/{DatasetListPage.js => WordsetListPage.js} (65%) delete mode 100644 web/src/backend/DatasetBackend.js create mode 100644 web/src/backend/WordsetBackend.js diff --git a/controllers/dataset.go b/controllers/dataset.go index ce962d8..0f28dfc 100644 --- a/controllers/dataset.go +++ b/controllers/dataset.go @@ -7,65 +7,65 @@ import ( "github.com/openbrain/openbrain/util" ) -func (c *ApiController) GetGlobalDatasets() { - c.Data["json"] = object.GetGlobalDatasets() +func (c *ApiController) GetGlobalWordsets() { + c.Data["json"] = object.GetGlobalWordsets() c.ServeJSON() } -func (c *ApiController) GetDatasets() { +func (c *ApiController) GetWordsets() { owner := c.Input().Get("owner") - c.Data["json"] = object.GetDatasets(owner) + c.Data["json"] = object.GetWordsets(owner) c.ServeJSON() } -func (c *ApiController) GetDataset() { +func (c *ApiController) GetWordset() { id := c.Input().Get("id") - c.Data["json"] = object.GetDataset(id) + c.Data["json"] = object.GetWordset(id) c.ServeJSON() } -func (c *ApiController) GetDatasetGraph() { +func (c *ApiController) GetWordsetGraph() { id := c.Input().Get("id") clusterNumber := util.ParseInt(c.Input().Get("clusterNumber")) distanceLimit := util.ParseInt(c.Input().Get("distanceLimit")) - c.Data["json"] = object.GetDatasetGraph(id, clusterNumber, distanceLimit) + c.Data["json"] = object.GetWordsetGraph(id, clusterNumber, distanceLimit) c.ServeJSON() } -func (c *ApiController) UpdateDataset() { +func (c *ApiController) UpdateWordset() { id := c.Input().Get("id") - var dataset object.Dataset - err := json.Unmarshal(c.Ctx.Input.RequestBody, &dataset) + var wordset object.Wordset + err := json.Unmarshal(c.Ctx.Input.RequestBody, &wordset) if err != nil { panic(err) } - c.Data["json"] = object.UpdateDataset(id, &dataset) + c.Data["json"] = object.UpdateWordset(id, &wordset) c.ServeJSON() } -func (c *ApiController) AddDataset() { - var dataset object.Dataset - err := json.Unmarshal(c.Ctx.Input.RequestBody, &dataset) +func (c *ApiController) AddWordset() { + var wordset object.Wordset + err := json.Unmarshal(c.Ctx.Input.RequestBody, &wordset) if err != nil { panic(err) } - c.Data["json"] = object.AddDataset(&dataset) + c.Data["json"] = object.AddWordset(&wordset) c.ServeJSON() } -func (c *ApiController) DeleteDataset() { - var dataset object.Dataset - err := json.Unmarshal(c.Ctx.Input.RequestBody, &dataset) +func (c *ApiController) DeleteWordset() { + var wordset object.Wordset + err := json.Unmarshal(c.Ctx.Input.RequestBody, &wordset) if err != nil { panic(err) } - c.Data["json"] = object.DeleteDataset(&dataset) + c.Data["json"] = object.DeleteWordset(&wordset) c.ServeJSON() } diff --git a/object/adapter.go b/object/adapter.go index 810f8e1..3f457b8 100644 --- a/object/adapter.go +++ b/object/adapter.go @@ -85,7 +85,7 @@ func (a *Adapter) close() { } func (a *Adapter) createTable() { - err := a.engine.Sync2(new(Dataset)) + err := a.engine.Sync2(new(Wordset)) if err != nil { panic(err) } diff --git a/object/dataset.go b/object/dataset.go index 2ece434..45ae062 100644 --- a/object/dataset.go +++ b/object/dataset.go @@ -7,7 +7,7 @@ import ( "xorm.io/core" ) -type Dataset struct { +type Wordset struct { Owner string `xorm:"varchar(100) notnull pk" json:"owner"` Name string `xorm:"varchar(100) notnull pk" json:"name"` CreatedTime string `xorm:"varchar(100)" json:"createdTime"` @@ -18,52 +18,52 @@ type Dataset struct { Vectors []*Vector `xorm:"mediumtext" json:"vectors"` } -func GetGlobalDatasets() []*Dataset { - datasets := []*Dataset{} - err := adapter.engine.Asc("owner").Desc("created_time").Find(&datasets) +func GetGlobalWordsets() []*Wordset { + wordsets := []*Wordset{} + err := adapter.engine.Asc("owner").Desc("created_time").Find(&wordsets) if err != nil { panic(err) } - return datasets + return wordsets } -func GetDatasets(owner string) []*Dataset { - datasets := []*Dataset{} - err := adapter.engine.Desc("created_time").Find(&datasets, &Dataset{Owner: owner}) +func GetWordsets(owner string) []*Wordset { + wordsets := []*Wordset{} + err := adapter.engine.Desc("created_time").Find(&wordsets, &Wordset{Owner: owner}) if err != nil { panic(err) } - return datasets + return wordsets } -func getDataset(owner string, name string) *Dataset { - dataset := Dataset{Owner: owner, Name: name} - existed, err := adapter.engine.Get(&dataset) +func getWordset(owner string, name string) *Wordset { + wordset := Wordset{Owner: owner, Name: name} + existed, err := adapter.engine.Get(&wordset) if err != nil { panic(err) } if existed { - return &dataset + return &wordset } else { return nil } } -func GetDataset(id string) *Dataset { +func GetWordset(id string) *Wordset { owner, name := util.GetOwnerAndNameFromId(id) - return getDataset(owner, name) + return getWordset(owner, name) } -func UpdateDataset(id string, dataset *Dataset) bool { +func UpdateWordset(id string, wordset *Wordset) bool { owner, name := util.GetOwnerAndNameFromId(id) - if getDataset(owner, name) == nil { + if getWordset(owner, name) == nil { return false } - _, err := adapter.engine.ID(core.PK{owner, name}).AllCols().Update(dataset) + _, err := adapter.engine.ID(core.PK{owner, name}).AllCols().Update(wordset) if err != nil { panic(err) } @@ -72,8 +72,8 @@ func UpdateDataset(id string, dataset *Dataset) bool { return true } -func AddDataset(dataset *Dataset) bool { - affected, err := adapter.engine.Insert(dataset) +func AddWordset(wordset *Wordset) bool { + affected, err := adapter.engine.Insert(wordset) if err != nil { panic(err) } @@ -81,8 +81,8 @@ func AddDataset(dataset *Dataset) bool { return affected != 0 } -func DeleteDataset(dataset *Dataset) bool { - affected, err := adapter.engine.ID(core.PK{dataset.Owner, dataset.Name}).Delete(&Dataset{}) +func DeleteWordset(wordset *Wordset) bool { + affected, err := adapter.engine.ID(core.PK{wordset.Owner, wordset.Name}).Delete(&Wordset{}) if err != nil { panic(err) } @@ -90,6 +90,6 @@ func DeleteDataset(dataset *Dataset) bool { return affected != 0 } -func (dataset *Dataset) GetId() string { - return fmt.Sprintf("%s/%s", dataset.Owner, dataset.Name) +func (wordset *Wordset) GetId() string { + return fmt.Sprintf("%s/%s", wordset.Owner, wordset.Name) } diff --git a/object/dataset_graph.go b/object/dataset_graph.go index fab289f..5b67609 100644 --- a/object/dataset_graph.go +++ b/object/dataset_graph.go @@ -15,7 +15,7 @@ func init() { graphCache = map[string]*Graph{} } -func GetDatasetGraph(id string, clusterNumber int, distanceLimit int) *Graph { +func GetWordsetGraph(id string, clusterNumber int, distanceLimit int) *Graph { cacheId := fmt.Sprintf("%s|%d|%d", id, clusterNumber, distanceLimit) g, ok := graphCache[cacheId] @@ -23,14 +23,14 @@ func GetDatasetGraph(id string, clusterNumber int, distanceLimit int) *Graph { return g } - dataset := GetDataset(id) - if dataset == nil { + wordset := GetWordset(id) + if wordset == nil { return nil } - runKmeans(dataset.Vectors, clusterNumber) + runKmeans(wordset.Vectors, clusterNumber) - g = generateGraph(dataset.Vectors, distanceLimit) + g = generateGraph(wordset.Vectors, distanceLimit) graphCache[cacheId] = g return g } diff --git a/object/dataset_upload.go b/object/dataset_upload.go index 19f14f8..b617dcf 100644 --- a/object/dataset_upload.go +++ b/object/dataset_upload.go @@ -20,7 +20,7 @@ func uploadVectorNames(owner string, fileId string) bool { vectors = append(vectors, vector) } - dataset := &Dataset{ + wordset := &Wordset{ Owner: owner, Name: "word", CreatedTime: util.GetCurrentTime(), @@ -28,7 +28,7 @@ func uploadVectorNames(owner string, fileId string) bool { Distance: 100, Vectors: vectors, } - return AddDataset(dataset) + return AddWordset(wordset) } func parseVectorData(s string) []float64 { @@ -74,11 +74,11 @@ func readVectorData(fileId string) []*Vector { return vectors } -func updateDatasetVectors(owner string, datasetName string, vectors []*Vector) { - dataset := getDataset(owner, datasetName) +func updateWordsetVectors(owner string, wordsetName string, vectors []*Vector) { + wordset := getWordset(owner, wordsetName) vectorMap := map[string]*Vector{} - for _, v := range dataset.Vectors { + for _, v := range wordset.Vectors { vectorMap[v.Name] = v } @@ -88,5 +88,5 @@ func updateDatasetVectors(owner string, datasetName string, vectors []*Vector) { } } - UpdateDataset(dataset.GetId(), dataset) + UpdateWordset(wordset.GetId(), wordset) } diff --git a/object/dataset_upload_test.go b/object/dataset_upload_test.go index f0e363b..bb8fedb 100644 --- a/object/dataset_upload_test.go +++ b/object/dataset_upload_test.go @@ -8,9 +8,9 @@ func TestUploadVectorNames(t *testing.T) { uploadVectorNames("admin", "../../tmpFiles/【最原始版】词汇表—单行—去重后") } -func TestUpdateDatasetVectors(t *testing.T) { +func TestUpdateWordsetVectors(t *testing.T) { InitConfig() vectors := readVectorData("../../tmpFiles/wordVector_utf-8") - updateDatasetVectors("admin", "word", vectors) + updateWordsetVectors("admin", "word", vectors) } diff --git a/object/kmeans.go b/object/kmeans.go index 5b1d26e..b40cfcf 100644 --- a/object/kmeans.go +++ b/object/kmeans.go @@ -58,10 +58,10 @@ func runKmeans(vectors []*Vector, clusterNumber int) { } } -func updateDatasetVectorCategories(owner string, datasetName string) { - dataset := getDataset(owner, datasetName) +func updateWordsetVectorCategories(owner string, wordsetName string) { + wordset := getWordset(owner, wordsetName) - runKmeans(dataset.Vectors, 100) + runKmeans(wordset.Vectors, 100) - UpdateDataset(dataset.GetId(), dataset) + UpdateWordset(wordset.GetId(), wordset) } diff --git a/object/kmeans_test.go b/object/kmeans_test.go index f0b031c..afe6592 100644 --- a/object/kmeans_test.go +++ b/object/kmeans_test.go @@ -2,8 +2,8 @@ package object import "testing" -func TestUpdateDatasetVectorCategories(t *testing.T) { +func TestUpdateWordsetVectorCategories(t *testing.T) { InitConfig() - updateDatasetVectorCategories("admin", "word") + updateWordsetVectorCategories("admin", "word") } diff --git a/routers/router.go b/routers/router.go index 641a0c4..109fcae 100644 --- a/routers/router.go +++ b/routers/router.go @@ -23,13 +23,13 @@ func initAPI() { beego.Router("/api/signout", &controllers.ApiController{}, "POST:Signout") beego.Router("/api/get-account", &controllers.ApiController{}, "GET:GetAccount") - beego.Router("/api/get-global-datasets", &controllers.ApiController{}, "GET:GetGlobalDatasets") - beego.Router("/api/get-datasets", &controllers.ApiController{}, "GET:GetDatasets") - beego.Router("/api/get-dataset", &controllers.ApiController{}, "GET:GetDataset") - beego.Router("/api/get-dataset-graph", &controllers.ApiController{}, "GET:GetDatasetGraph") - beego.Router("/api/update-dataset", &controllers.ApiController{}, "POST:UpdateDataset") - beego.Router("/api/add-dataset", &controllers.ApiController{}, "POST:AddDataset") - beego.Router("/api/delete-dataset", &controllers.ApiController{}, "POST:DeleteDataset") + beego.Router("/api/get-global-wordsets", &controllers.ApiController{}, "GET:GetGlobalWordsets") + beego.Router("/api/get-wordsets", &controllers.ApiController{}, "GET:GetWordsets") + beego.Router("/api/get-wordset", &controllers.ApiController{}, "GET:GetWordset") + beego.Router("/api/get-wordset-graph", &controllers.ApiController{}, "GET:GetWordsetGraph") + beego.Router("/api/update-wordset", &controllers.ApiController{}, "POST:UpdateWordset") + beego.Router("/api/add-wordset", &controllers.ApiController{}, "POST:AddWordset") + beego.Router("/api/delete-wordset", &controllers.ApiController{}, "POST:DeleteWordset") beego.Router("/api/get-global-vectorsets", &controllers.ApiController{}, "GET:GetGlobalVectorsets") beego.Router("/api/get-vectorsets", &controllers.ApiController{}, "GET:GetVectorsets") diff --git a/web/src/App.js b/web/src/App.js index fb95551..cb92865 100644 --- a/web/src/App.js +++ b/web/src/App.js @@ -8,8 +8,8 @@ import * as AccountBackend from "./backend/AccountBackend"; import AuthCallback from "./AuthCallback"; import * as Conf from "./Conf"; import HomePage from "./HomePage"; -import DatasetListPage from "./DatasetListPage"; -import DatasetEditPage from "./DatasetEditPage"; +import WordsetListPage from "./WordsetListPage"; +import WordsetEditPage from "./WordsetEditPage"; import VectorsetListPage from "./VectorsetListPage"; import VectorsetEditPage from "./VectorsetEditPage"; import SigninPage from "./SigninPage"; @@ -53,8 +53,8 @@ class App extends Component { }); if (uri === '/') { this.setState({selectedMenuKey: '/'}); - } else if (uri.includes('/datasets')) { - this.setState({ selectedMenuKey: '/datasets' }); + } else if (uri.includes('/wordsets')) { + this.setState({ selectedMenuKey: '/wordsets' }); } else if (uri.includes('/vectorsets')) { this.setState({ selectedMenuKey: '/vectorsets' }); } else { @@ -217,9 +217,9 @@ class App extends Component { ); res.push( - - - {i18next.t("general:Datasets")} + + + {i18next.t("general:Wordsets")} ); @@ -280,8 +280,8 @@ class App extends Component { }/> this.renderHomeIfSignedIn()}/> - this.renderSigninIfNotSignedIn()}/> - this.renderSigninIfNotSignedIn()}/> + this.renderSigninIfNotSignedIn()}/> + this.renderSigninIfNotSignedIn()}/> this.renderSigninIfNotSignedIn()}/> this.renderSigninIfNotSignedIn()}/> diff --git a/web/src/Conf.js b/web/src/Conf.js index 4b43b7e..afdcf5c 100644 --- a/web/src/Conf.js +++ b/web/src/Conf.js @@ -8,7 +8,7 @@ export const AuthConfig = { }; export const DefaultOwner = "admin"; -export const DefaultDatasetName = "word"; +export const DefaultWordsetName = "word"; export const ForceLanguage = ""; export const DefaultLanguage = "en"; diff --git a/web/src/HomePage.js b/web/src/HomePage.js index a870987..d30e366 100644 --- a/web/src/HomePage.js +++ b/web/src/HomePage.js @@ -1,33 +1,33 @@ import React from "react"; import * as Conf from "./Conf"; -import * as DatasetBackend from "./backend/DatasetBackend"; -import Dataset from "./Dataset"; +import * as WordsetBackend from "./backend/WordsetBackend"; +import Wordset from "./Wordset"; class HomePage extends React.Component { constructor(props) { super(props); this.state = { classes: props, - dataset: null, + wordset: null, }; } componentWillMount() { - this.getDataset(); + this.getWordset(); } - getDataset() { - DatasetBackend.getDataset(Conf.DefaultOwner, Conf.DefaultDatasetName) - .then((dataset) => { + getWordset() { + WordsetBackend.getWordset(Conf.DefaultOwner, Conf.DefaultWordsetName) + .then((wordset) => { this.setState({ - dataset: dataset, + wordset: wordset, }); }); } render() { - return (this.state.dataset === undefined || this.state.dataset === null) ? null : ( - + return (this.state.wordset === undefined || this.state.wordset === null) ? null : ( + ) } } diff --git a/web/src/Dataset.js b/web/src/Wordset.js similarity index 94% rename from web/src/Dataset.js rename to web/src/Wordset.js index 5e88abf..4e7781e 100644 --- a/web/src/Dataset.js +++ b/web/src/Wordset.js @@ -3,7 +3,7 @@ import {Button, Card, Col, Empty, InputNumber, List, Row, Select, Slider, Spin, import ForceGraph2D from 'react-force-graph-2d'; import ForceGraph3D from 'react-force-graph-3d'; import * as d3 from "d3-force"; -import * as DatasetBackend from "./backend/DatasetBackend"; +import * as WordsetBackend from "./backend/WordsetBackend"; import i18next from "i18next"; const { Option } = Select; @@ -31,12 +31,12 @@ class ForceGraph extends React.Component { } } -class Dataset extends React.Component { +class Wordset extends React.Component { constructor(props) { super(props); this.state = { classes: props, - datasetName: props.datasetName !== undefined ? props.datasetName : props.match.params.datasetName, + wordsetName: props.wordsetName !== undefined ? props.wordsetName : props.match.params.wordsetName, graph: null, enableStatic: false, // enableCurve: true, @@ -54,15 +54,15 @@ class Dataset extends React.Component { } componentWillMount() { - this.getDatasetGraph(); + this.getWordsetGraph(); } componentDidUpdate(prevProps, prevState, snapshot) { fg.current?.d3Force('collision', d3.forceCollide(15)); } - getDatasetGraph() { - DatasetBackend.getDatasetGraph("admin", this.state.datasetName, this.state.clusterNumber, this.state.distanceLimit) + getWordsetGraph() { + WordsetBackend.getWordsetGraph("admin", this.state.wordsetName, this.state.clusterNumber, this.state.distanceLimit) .then((graph) => { this.setState({ graph: graph, @@ -322,7 +322,7 @@ class Dataset extends React.Component { this.setState({ graph: null, }); - this.getDatasetGraph(); + this.getWordsetGraph(); }}> 重新聚类 @@ -462,4 +462,4 @@ class Dataset extends React.Component { } } -export default Dataset; +export default Wordset; diff --git a/web/src/DatasetEditPage.js b/web/src/WordsetEditPage.js similarity index 57% rename from web/src/DatasetEditPage.js rename to web/src/WordsetEditPage.js index 465e4a8..1c30592 100644 --- a/web/src/DatasetEditPage.js +++ b/web/src/WordsetEditPage.js @@ -1,57 +1,57 @@ import React from "react"; import {Button, Card, Col, Input, InputNumber, Row} from 'antd'; -import * as DatasetBackend from "./backend/DatasetBackend"; +import * as WordsetBackend from "./backend/WordsetBackend"; import * as Setting from "./Setting"; import i18next from "i18next"; import VectorTable from "./VectorTable"; -import Dataset from "./Dataset"; +import Wordset from "./Wordset"; -class DatasetEditPage extends React.Component { +class WordsetEditPage extends React.Component { constructor(props) { super(props); this.state = { classes: props, - datasetName: props.match.params.datasetName, - dataset: null, + wordsetName: props.match.params.wordsetName, + wordset: null, }; } componentWillMount() { - this.getDataset(); + this.getWordset(); } - getDataset() { - DatasetBackend.getDataset(this.props.account.name, this.state.datasetName) - .then((dataset) => { + getWordset() { + WordsetBackend.getWordset(this.props.account.name, this.state.wordsetName) + .then((wordset) => { this.setState({ - dataset: dataset, + wordset: wordset, }); }); } - parseDatasetField(key, value) { + parseWordsetField(key, value) { if (["score"].includes(key)) { value = Setting.myParseInt(value); } return value; } - updateDatasetField(key, value) { - value = this.parseDatasetField(key, value); + updateWordsetField(key, value) { + value = this.parseWordsetField(key, value); - let dataset = this.state.dataset; - dataset[key] = value; + let wordset = this.state.wordset; + wordset[key] = value; this.setState({ - dataset: dataset, + wordset: wordset, }); } - renderDataset() { + renderWordset() { return ( - {i18next.t("dataset:Edit Dataset")}     - + {i18next.t("wordset:Edit Wordset")}     + } style={{marginLeft: '5px'}} type="inner"> @@ -59,8 +59,8 @@ class DatasetEditPage extends React.Component { {i18next.t("general:Name")}: - { - this.updateDatasetField('name', e.target.value); + { + this.updateWordsetField('name', e.target.value); }} /> @@ -69,30 +69,30 @@ class DatasetEditPage extends React.Component { {i18next.t("general:Display name")}: - { - this.updateDatasetField('displayName', e.target.value); + { + this.updateWordsetField('displayName', e.target.value); }} /> - {i18next.t("dataset:Distance")}: + {i18next.t("wordset:Distance")}: - { - this.updateDatasetField('distance', value); + { + this.updateWordsetField('distance', value); }} /> - {i18next.t("dataset:Vectors")}: + {i18next.t("wordset:Vectors")}: { this.updateDatasetField('vectors', value)}} + title={i18next.t("wordset:Vectors")} + table={this.state.wordset.vectors} + onUpdateTable={(value) => { this.updateWordsetField('vectors', value)}} /> @@ -101,26 +101,26 @@ class DatasetEditPage extends React.Component { {i18next.t("general:Preview")}: - + ) } - submitDatasetEdit() { - let dataset = Setting.deepCopy(this.state.dataset); - DatasetBackend.updateDataset(this.state.dataset.owner, this.state.datasetName, dataset) + submitWordsetEdit() { + let wordset = Setting.deepCopy(this.state.wordset); + WordsetBackend.updateWordset(this.state.wordset.owner, this.state.wordsetName, wordset) .then((res) => { if (res) { Setting.showMessage("success", `Successfully saved`); this.setState({ - datasetName: this.state.dataset.name, + wordsetName: this.state.wordset.name, }); - this.props.history.push(`/datasets/${this.state.dataset.name}`); + this.props.history.push(`/wordsets/${this.state.wordset.name}`); } else { Setting.showMessage("error", `failed to save: server side failure`); - this.updateDatasetField('name', this.state.datasetName); + this.updateWordsetField('name', this.state.wordsetName); } }) .catch(error => { @@ -136,7 +136,7 @@ class DatasetEditPage extends React.Component { { - this.state.dataset !== null ? this.renderDataset() : null + this.state.wordset !== null ? this.renderWordset() : null } @@ -146,7 +146,7 @@ class DatasetEditPage extends React.Component { - + @@ -154,4 +154,4 @@ class DatasetEditPage extends React.Component { } } -export default DatasetEditPage; +export default WordsetEditPage; diff --git a/web/src/DatasetListPage.js b/web/src/WordsetListPage.js similarity index 65% rename from web/src/DatasetListPage.js rename to web/src/WordsetListPage.js index 4303d01..93326ae 100644 --- a/web/src/DatasetListPage.js +++ b/web/src/WordsetListPage.js @@ -3,72 +3,72 @@ import {Link} from "react-router-dom"; import {Button, Col, Popconfirm, Row, Table} from 'antd'; import moment from "moment"; import * as Setting from "./Setting"; -import * as DatasetBackend from "./backend/DatasetBackend"; +import * as WordsetBackend from "./backend/WordsetBackend"; import i18next from "i18next"; -class DatasetListPage extends React.Component { +class WordsetListPage extends React.Component { constructor(props) { super(props); this.state = { classes: props, - datasets: null, + wordsets: null, }; } componentWillMount() { - this.getDatasets(); + this.getWordsets(); } - getDatasets() { - DatasetBackend.getDatasets(this.props.account.name) + getWordsets() { + WordsetBackend.getWordsets(this.props.account.name) .then((res) => { this.setState({ - datasets: res, + wordsets: res, }); }); } - newDataset() { + newWordset() { return { owner: this.props.account.name, - name: `dataset_${this.state.datasets.length}`, + name: `wordset_${this.state.wordsets.length}`, createdTime: moment().format(), - displayName: `Dataset ${this.state.datasets.length}`, + displayName: `Wordset ${this.state.wordsets.length}`, distance: 100, vectors: [], } } - addDataset() { - const newDataset = this.newDataset(); - DatasetBackend.addDataset(newDataset) + addWordset() { + const newWordset = this.newWordset(); + WordsetBackend.addWordset(newWordset) .then((res) => { - Setting.showMessage("success", `Dataset added successfully`); + Setting.showMessage("success", `Wordset added successfully`); this.setState({ - datasets: Setting.prependRow(this.state.datasets, newDataset), + wordsets: Setting.prependRow(this.state.wordsets, newWordset), }); } ) .catch(error => { - Setting.showMessage("error", `Dataset failed to add: ${error}`); + Setting.showMessage("error", `Wordset failed to add: ${error}`); }); } - deleteDataset(i) { - DatasetBackend.deleteDataset(this.state.datasets[i]) + deleteWordset(i) { + WordsetBackend.deleteWordset(this.state.wordsets[i]) .then((res) => { - Setting.showMessage("success", `Dataset deleted successfully`); + Setting.showMessage("success", `Wordset deleted successfully`); this.setState({ - datasets: Setting.deleteRow(this.state.datasets, i), + wordsets: Setting.deleteRow(this.state.wordsets, i), }); } ) .catch(error => { - Setting.showMessage("error", `Dataset failed to delete: ${error}`); + Setting.showMessage("error", `Wordset failed to delete: ${error}`); }); } - renderTable(datasets) { + renderTable(wordsets) { const columns = [ { title: i18next.t("general:Name"), @@ -78,7 +78,7 @@ class DatasetListPage extends React.Component { sorter: (a, b) => a.name.localeCompare(b.name), render: (text, record, index) => { return ( - + {text} ) @@ -92,14 +92,14 @@ class DatasetListPage extends React.Component { sorter: (a, b) => a.displayName.localeCompare(b.displayName), }, { - title: i18next.t("dataset:Distance"), + title: i18next.t("wordset:Distance"), dataIndex: 'distance', key: 'distance', width: '120px', sorter: (a, b) => a.distance - b.distance, }, { - title: i18next.t("dataset:Vectors"), + title: i18next.t("wordset:Vectors"), dataIndex: 'vectors', key: 'vectors', // width: '120px', @@ -109,7 +109,7 @@ class DatasetListPage extends React.Component { } }, { - title: i18next.t("dataset:All vectors"), + title: i18next.t("wordset:All vectors"), dataIndex: 'allVectors', key: 'allVectors', width: '140px', @@ -119,7 +119,7 @@ class DatasetListPage extends React.Component { } }, { - title: i18next.t("dataset:Valid vectors"), + title: i18next.t("wordset:Valid vectors"), dataIndex: 'validVectors', key: 'validVectors', width: '140px', @@ -136,10 +136,10 @@ class DatasetListPage extends React.Component { render: (text, record, index) => { return (
- + this.deleteDataset(index)} + title={`Sure to delete wordset: ${record.name} ?`} + onConfirm={() => this.deleteWordset(index)} okText="OK" cancelText="Cancel" > @@ -153,14 +153,14 @@ class DatasetListPage extends React.Component { return (
- (
- {i18next.t("general:Datasets")}     - + {i18next.t("general:Wordsets")}     +
)} - loading={datasets === null} + loading={wordsets === null} /> ); @@ -174,7 +174,7 @@ class DatasetListPage extends React.Component { { - this.renderTable(this.state.datasets) + this.renderTable(this.state.wordsets) } @@ -185,4 +185,4 @@ class DatasetListPage extends React.Component { } } -export default DatasetListPage; +export default WordsetListPage; diff --git a/web/src/backend/DatasetBackend.js b/web/src/backend/DatasetBackend.js deleted file mode 100644 index b3b05aa..0000000 --- a/web/src/backend/DatasetBackend.js +++ /dev/null @@ -1,56 +0,0 @@ -import * as Setting from "../Setting"; - -export function getGlobalDatasets() { - return fetch(`${Setting.ServerUrl}/api/get-global-datasets`, { - method: "GET", - credentials: "include" - }).then(res => res.json()); -} - -export function getDatasets(owner) { - return fetch(`${Setting.ServerUrl}/api/get-datasets?owner=${owner}`, { - method: "GET", - credentials: "include" - }).then(res => res.json()); -} - -export function getDataset(owner, name) { - return fetch(`${Setting.ServerUrl}/api/get-dataset?id=${owner}/${encodeURIComponent(name)}`, { - method: "GET", - credentials: "include" - }).then(res => res.json()); -} - -export function getDatasetGraph(owner, name, clusterNumber, distanceLimit) { - return fetch(`${Setting.ServerUrl}/api/get-dataset-graph?id=${owner}/${encodeURIComponent(name)}&clusterNumber=${clusterNumber}&distanceLimit=${distanceLimit}`, { - method: "GET", - credentials: "include" - }).then(res => res.json()); -} - -export function updateDataset(owner, name, dataset) { - let newDataset = Setting.deepCopy(dataset); - return fetch(`${Setting.ServerUrl}/api/update-dataset?id=${owner}/${encodeURIComponent(name)}`, { - method: 'POST', - credentials: 'include', - body: JSON.stringify(newDataset), - }).then(res => res.json()); -} - -export function addDataset(dataset) { - let newDataset = Setting.deepCopy(dataset); - return fetch(`${Setting.ServerUrl}/api/add-dataset`, { - method: 'POST', - credentials: 'include', - body: JSON.stringify(newDataset), - }).then(res => res.json()); -} - -export function deleteDataset(dataset) { - let newDataset = Setting.deepCopy(dataset); - return fetch(`${Setting.ServerUrl}/api/delete-dataset`, { - method: 'POST', - credentials: 'include', - body: JSON.stringify(newDataset), - }).then(res => res.json()); -} diff --git a/web/src/backend/WordsetBackend.js b/web/src/backend/WordsetBackend.js new file mode 100644 index 0000000..c566ca1 --- /dev/null +++ b/web/src/backend/WordsetBackend.js @@ -0,0 +1,56 @@ +import * as Setting from "../Setting"; + +export function getGlobalWordsets() { + return fetch(`${Setting.ServerUrl}/api/get-global-wordsets`, { + method: "GET", + credentials: "include" + }).then(res => res.json()); +} + +export function getWordsets(owner) { + return fetch(`${Setting.ServerUrl}/api/get-wordsets?owner=${owner}`, { + method: "GET", + credentials: "include" + }).then(res => res.json()); +} + +export function getWordset(owner, name) { + return fetch(`${Setting.ServerUrl}/api/get-wordset?id=${owner}/${encodeURIComponent(name)}`, { + method: "GET", + credentials: "include" + }).then(res => res.json()); +} + +export function getWordsetGraph(owner, name, clusterNumber, distanceLimit) { + return fetch(`${Setting.ServerUrl}/api/get-wordset-graph?id=${owner}/${encodeURIComponent(name)}&clusterNumber=${clusterNumber}&distanceLimit=${distanceLimit}`, { + method: "GET", + credentials: "include" + }).then(res => res.json()); +} + +export function updateWordset(owner, name, wordset) { + let newWordset = Setting.deepCopy(wordset); + return fetch(`${Setting.ServerUrl}/api/update-wordset?id=${owner}/${encodeURIComponent(name)}`, { + method: 'POST', + credentials: 'include', + body: JSON.stringify(newWordset), + }).then(res => res.json()); +} + +export function addWordset(wordset) { + let newWordset = Setting.deepCopy(wordset); + return fetch(`${Setting.ServerUrl}/api/add-wordset`, { + method: 'POST', + credentials: 'include', + body: JSON.stringify(newWordset), + }).then(res => res.json()); +} + +export function deleteWordset(wordset) { + let newWordset = Setting.deepCopy(wordset); + return fetch(`${Setting.ServerUrl}/api/delete-wordset`, { + method: 'POST', + credentials: 'include', + body: JSON.stringify(newWordset), + }).then(res => res.json()); +} diff --git a/web/src/locales/en/data.json b/web/src/locales/en/data.json index 5a85eb4..0f29ccc 100644 --- a/web/src/locales/en/data.json +++ b/web/src/locales/en/data.json @@ -5,18 +5,10 @@ "Sign Out": "Sign Out", "Sign Up": "Sign Up" }, - "dataset": { - "All vectors": "All vectors", - "Distance": "Distance", - "Edit Dataset": "Edit Dataset", - "Valid vectors": "Valid vectors", - "Vectors": "Vectors" - }, "general": { "Action": "Action", "Add": "Add", "Data": "Data", - "Datasets": "Datasets", "Delete": "Delete", "Display name": "Display name", "Edit": "Edit", @@ -27,7 +19,8 @@ "Preview": "Preview", "Save": "Save", "URL": "URL", - "Vectorsets": "Vectorsets" + "Vectorsets": "Vectorsets", + "Wordsets": "Wordsets" }, "vectorset": { "Count": "Count", @@ -36,5 +29,12 @@ "Example vectors": "Example vectors", "File name": "File name", "File size": "File size" + }, + "wordset": { + "All vectors": "All vectors", + "Distance": "Distance", + "Edit Wordset": "Edit Wordset", + "Valid vectors": "Valid vectors", + "Vectors": "Vectors" } } \ No newline at end of file diff --git a/web/src/locales/zh/data.json b/web/src/locales/zh/data.json index 17eb5c2..dea65fb 100644 --- a/web/src/locales/zh/data.json +++ b/web/src/locales/zh/data.json @@ -5,18 +5,10 @@ "Sign Out": "登出", "Sign Up": "注册" }, - "dataset": { - "All vectors": "所有向量", - "Distance": "距离", - "Edit Dataset": "编辑数据集", - "Valid vectors": "有效向量", - "Vectors": "向量" - }, "general": { "Action": "操作", "Add": "添加", "Data": "数据", - "Datasets": "数据集", "Delete": "删除", "Display name": "显示名称", "Edit": "编辑", @@ -27,7 +19,8 @@ "Preview": "预览", "Save": "保存", "URL": "链接", - "Vectorsets": "向量集" + "Vectorsets": "向量集", + "Wordsets": "词汇集" }, "vectorset": { "Count": "个数", @@ -36,5 +29,12 @@ "Example vectors": "示例向量", "File name": "文件名", "File size": "文件大小" + }, + "wordset": { + "All vectors": "所有向量", + "Distance": "距离", + "Edit Wordset": "编辑词汇集", + "Valid vectors": "有效向量", + "Vectors": "向量" } } \ No newline at end of file