diff --git a/libs/gui-elements b/libs/gui-elements index 47cdaefc57..e61fa1b7d1 160000 --- a/libs/gui-elements +++ b/libs/gui-elements @@ -1 +1 @@ -Subproject commit 47cdaefc57ccd76705366d7831227e6fe03c8302 +Subproject commit e61fa1b7d19f09172473c9adb3c9afb3745b4476 diff --git a/package.json b/package.json index 763e9dcd4f..c8ece31b40 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,8 @@ ], "scripts": {}, "dependencies": { - "react": "^17.0.2", - "react-dom": "^17.0.2" + "react": "^18.2.0", + "react-dom": "^18.2.0" }, "devDependencies": {}, "resolutions": { @@ -22,10 +22,11 @@ "**/minimist": "1.2.8", "**/moment": "2.29.4", "**/nanoid": "3.3.4", - "**/react": "^17.0.2", - "**/react-dom": "^17.0.2", + "**/react": "^18.2.0", + "**/react-dom": "^18.2.0", "**/semver-regex": "3.1.4", - "**/@types/react": "^17.0.85", - "**/url-parse": "1.5.9" + "**/@types/react": "^18.2.0", + "**/url-parse": "1.5.9", + "**/react-redux": "^9.1.2" } } diff --git a/silk-workbench/silk-workbench-core/app/controllers/core/Branding.scala b/silk-workbench/silk-workbench-core/app/controllers/core/Branding.scala index e65af3c642..680348cd24 100644 --- a/silk-workbench/silk-workbench-core/app/controllers/core/Branding.scala +++ b/silk-workbench/silk-workbench-core/app/controllers/core/Branding.scala @@ -18,11 +18,6 @@ class Branding @Inject() () extends InjectedController { Ok(bytes).as("image/png").withHeaders("Cache-Control" -> "public, max-age=86400") } - def aboutDialog = Action { - val aboutHtml = Html(WorkbenchConfig.get.about.loadAsString()) - Ok(views.html.aboutDialog(aboutHtml)) - } - def mdlStyle = Action { val bytes = WorkbenchConfig.get.mdlStyle.get.loadAsBytes Ok(bytes).as("text/css") diff --git a/silk-workbench/silk-workbench-core/app/controllers/core/Start.scala b/silk-workbench/silk-workbench-core/app/controllers/core/Start.scala deleted file mode 100644 index 5399152a66..0000000000 --- a/silk-workbench/silk-workbench-core/app/controllers/core/Start.scala +++ /dev/null @@ -1,30 +0,0 @@ -package controllers.core - -import config.WorkbenchConfig -import config.WorkbenchConfig.WorkspaceReact -import play.api.mvc.{Action, AnyContent, InjectedController} -import play.twirl.api.Html - -import javax.inject.Inject - -class Start @Inject() (implicit workspaceReact: WorkspaceReact) extends InjectedController with UserContextActions { - - def index: Action[AnyContent] = RequestUserContextAction { implicit request =>implicit userContext => - val welcome = Html(WorkbenchConfig.get.welcome.loadAsString()) - Ok(views.html.start(welcome)) - } -} - -object Start { - - def deployPath: String = { - val loggedOutFull = controllers.core.routes.Start.index.url.toString - val path = loggedOutFull.dropRight("core/start".length) - if(path.isEmpty) { - "/" - } else { - path - } - } - -} diff --git a/silk-workbench/silk-workbench-core/app/views/aboutDialog.scala.html b/silk-workbench/silk-workbench-core/app/views/aboutDialog.scala.html deleted file mode 100644 index ff6b044bd3..0000000000 --- a/silk-workbench/silk-workbench-core/app/views/aboutDialog.scala.html +++ /dev/null @@ -1,22 +0,0 @@ -@import config.WorkbenchConfig - -@(content: Html) - -@widgets.dialog(title = "About", width = 500) { -
@WorkbenchConfig.get.title, @WorkbenchConfig.version
- @content -@errorMessage
+ +@{details.getOrElse(exception.description)}
-
+
@for(el <- ex.getStackTrace) {
@el.toString
-
}
-
- Your current workspace contains @projects.size project(s). -
-- @plugin.description -
- - @if(createDialog) { -- Delete rule: @ruleName -
-This action cannot be undone!
- - -} \ No newline at end of file diff --git a/silk-workbench/silk-workbench-rules/app/views/editor/GenerateId.scala b/silk-workbench/silk-workbench-rules/app/views/editor/GenerateId.scala deleted file mode 100644 index 1f1ca6e30c..0000000000 --- a/silk-workbench/silk-workbench-rules/app/views/editor/GenerateId.scala +++ /dev/null @@ -1,20 +0,0 @@ -package views.editor - -/** - * Generates a unique id for a rule operator to be used in the editor html. - */ -object GenerateId { - - /** - * Generates a unique id. - * @param operatorId The id of the rule operator, which is unique inside the rule. - * @param displayed Whether the rule is displayed, or hidden in the toolbox. - */ - def apply(operatorId: String, displayed: Boolean): String = { - if(displayed) - "operator_" + operatorId - else - "toolboxOperator_" + operatorId - } - -} diff --git a/silk-workbench/silk-workbench-rules/app/views/editor/aggregationBox.scala.html b/silk-workbench/silk-workbench-rules/app/views/editor/aggregationBox.scala.html deleted file mode 100644 index c8c245535a..0000000000 --- a/silk-workbench/silk-workbench-rules/app/views/editor/aggregationBox.scala.html +++ /dev/null @@ -1,22 +0,0 @@ -@import views.editor.GenerateId -@import org.silkframework.workspace.Project -@import org.silkframework.runtime.activity.UserContext - -@(id: String, - weight: Int, - plugin: org.silkframework.runtime.plugin.PluginDescription[_], - parameterValues: Seq[String], - x: Int, y: Int, display: Boolean, - project: Project)(implicit userContext: UserContext) - -@operatorBox("Aggregate", id, plugin, parameterValues, x, y, display, project) { -@plugin.label
- @operatorExpanded(plugin) -@plugin.label
- @operatorExpanded(plugin) -(custom path)
- @pathExpanded("", pathType) -@path
- @pathExpanded(path, pathType) -@line
- } -| Source | -- - | -
| Target | -- - | -
| Type | -- - | -
| File | -- - | -
| - | - |
| - - - - | -- |
| Number of source entities: | -@statistics.entityCount.source | -
| Number of target entities: | -@statistics.entityCount.target | -
| Number of links: | -@linkCount | -
-
| @variable | - } - |
|---|---|
| @node.value | - } - |
| @path.toString | - } - |
|---|---|
| @entity.evaluate(path) | - } - |
| Prefix | -- |
|---|---|
|
-
-
-
- |
- - - | -
| - | - - | -
| Prefix | -URI | -- |
|---|---|---|
|
-
-
-
- |
-
-
-
- | - - | -
| - | - | - - | -
- @if(sharedResources) { - Delete project @project? Note that resources will not be deleted because they are shared across projects. - } else { - Delete project @project including all resources? - } -
- - -} \ No newline at end of file diff --git a/silk-workbench/silk-workbench-workspace/app/views/workspace/removeResourceDialog.scala.html b/silk-workbench/silk-workbench-workspace/app/views/workspace/removeResourceDialog.scala.html deleted file mode 100644 index 63980ceec5..0000000000 --- a/silk-workbench/silk-workbench-workspace/app/views/workspace/removeResourceDialog.scala.html +++ /dev/null @@ -1,28 +0,0 @@ -@(name: String, path: String) - -@widgets.dialog(title = "Delete", submitLabel = "Yes, delete it") { - -- Delete resource: @name -
- - -} \ No newline at end of file diff --git a/silk-workbench/silk-workbench-workspace/app/views/workspace/removeTaskDialog.scala.html b/silk-workbench/silk-workbench-workspace/app/views/workspace/removeTaskDialog.scala.html deleted file mode 100644 index 359161a71f..0000000000 --- a/silk-workbench/silk-workbench-workspace/app/views/workspace/removeTaskDialog.scala.html +++ /dev/null @@ -1,37 +0,0 @@ -@(project: String, task: String, taskLabel: String, dependentTaskLabels: Seq[String]) - -@if(dependentTaskLabels.isEmpty) { - - @widgets.dialog(title = "Delete task", submitLabel = "Yes, delete it") { -- Delete task: @taskLabel -
- - - } - -} else { - - @widgets.dialog(title = "Cannot delete task", submitLabel = "Ok") { -- Cannot delete task @taskLabel, because the following tasks depend on it: -
- - Delete resource? -
-{title}
-{detail}
++ {title} +
+{detail}
+{message}
+export const ErrorIssue = ({errorCause}) => { + let idx = 1 + return{message}
+{detail}
> - : undefined - - return{detail}
+ > + ) : undefined; + + return ( +
- {typeRule.typeUri}
-
-
+ {"<"}
+ {typeRule.typeUri}
+ {">"}
+ {" "}
+ {paths.join(", ")} and {operators.length} operator{" "}
- {operators.length > 1 ? "functions" : "function"}:
+ URI uses {paths.length} value {paths.length > 1 ? "paths" : "path"}: {paths.join(", ")}
+ {operators.map(getPluginDetailLabel).join(", ")}.
);
@@ -50,23 +50,34 @@ const ObjectUriPattern = ({ uriRule, onRemoveUriRule, openMappingEditor, showLab
return (
- {mappingTargetUri}
-
-
+ {"<"}
+ {mappingTargetUri}
+ {">"}
+ {" "}
+ {paths.join(", ")}
- and {operators.length} operator function{operators.length > 1 ? "s" : ""}:
- {operators.map(getPluginDetailLabel).join(", ")}.{children}
-
+ {"<"}
+ {paths.join(">, <")}
+ {">"}
+
+ {operators.map(getPluginDetailLabel).join(", ")}.
+ {sourcePath ? sourcePath : ""}
- {sourcePath ? sourcePath : ""}
+