Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kie-issues#1552: Test Scenario Editor: Update @kie-tools/dmn-vscode-extension to add the new Test Scenario Editor #2860

Merged
merged 29 commits into from
Jan 22, 2025
Merged
Show file tree
Hide file tree
Changes from 27 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
519d0fe
1481
yesamer Oct 21, 2024
e90f086
1481
yesamer Oct 21, 2024
58dce2f
Minor changes
yesamer Oct 21, 2024
2682bd4
Minor changes
yesamer Oct 21, 2024
e6219da
Minor
yesamer Oct 21, 2024
84f2e0b
WIP
yesamer Oct 21, 2024
129e11e
Minor
yesamer Oct 21, 2024
8bcccfa
CR
yesamer Oct 22, 2024
a9c1d22
WIP
yesamer Oct 22, 2024
1651445
Merge branch '1481-new' into kie-issues#1552
yesamer Oct 22, 2024
b66918c
Merge branch 'refs/heads/main' into kie-issues#1552
yesamer Dec 5, 2024
c383559
Minor change
yesamer Dec 5, 2024
e98c779
Merge branch 'main' into kie-issues#1552
yesamer Dec 11, 2024
9be6cdf
graph
yesamer Dec 11, 2024
ee8e97f
Merge remote-tracking branch 'origin/main' into kie-issues#1552
yesamer Dec 17, 2024
499a5f0
fix scroll
yesamer Dec 18, 2024
b45bae1
Merge remote-tracking branch 'origin/main' into kie-issues#1552
yesamer Jan 10, 2025
f42702e
WIP
yesamer Jan 13, 2025
7e754e1
WIP
yesamer Jan 15, 2025
e2993cb
WIP
yesamer Jan 15, 2025
1c0dfc3
Merge remote-tracking branch 'origin/main' into kie-issues#1552
yesamer Jan 15, 2025
5e85d3c
Merge remote-tracking branch 'origin/main' into kie-issues#1552
yesamer Jan 16, 2025
8c53cf4
Merge remote-tracking branch 'origin/main' into kie-issues#1552
yesamer Jan 16, 2025
bc747cb
screenshots
yesamer Jan 16, 2025
9585457
Merge remote-tracking branch 'origin/main' into kie-issues#1552
yesamer Jan 16, 2025
8e1c12b
Merge remote-tracking branch 'origin/main' into kie-issues#1552
yesamer Jan 20, 2025
5d02e03
Fix create-new and background table screenshots (#8)
jomarko Jan 21, 2025
7cd125e
CR
yesamer Jan 22, 2025
5799011
CR
yesamer Jan 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions packages/dmn-vscode-extension/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@
"@kie-tools-core/patternfly-base": "workspace:*",
"@kie-tools-core/vscode-extension": "workspace:*",
"@kie-tools/dmn-editor-envelope": "workspace:*",
"@kie-tools/kie-bc-editors": "workspace:*"
"@kie-tools/kie-bc-editors": "workspace:*",
"@kie-tools/scesim-editor-envelope": "workspace:*"
},
"devDependencies": {
"@kie-tools-core/webpack-base": "workspace:*",
Expand Down Expand Up @@ -106,7 +107,7 @@
},
"customEditors": [
{
"displayName": "KIE DMN/SceSim Editors (classic)",
"displayName": "KIE DMN/Test Scenario Editors (classic)",
"selector": [
{
"filenamePattern": "*.{dmn,scesim}"
Expand All @@ -115,10 +116,10 @@
"viewType": "kieKogitoWebviewEditorsDmn"
},
{
"displayName": "KIE DMN Editor",
"displayName": "KIE DMN/Test Scenario Editors",
"selector": [
{
"filenamePattern": "*.dmn"
"filenamePattern": "*.{dmn,scesim}"
}
],
"viewType": "kieToolsDmnEditor"
Expand Down
6 changes: 6 additions & 0 deletions packages/dmn-vscode-extension/src/extension/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,12 @@ export function activate(context: vscode.ExtensionContext) {
resourcesPathPrefix: "",
envelopeContent: { type: EnvelopeContentType.PATH, path: "dist/webview/NewDmnEditorEnvelopeApp.js" },
}),
new EnvelopeMapping({
type: "scesim",
filePathGlob: "**/*.scesim",
resourcesPathPrefix: "",
envelopeContent: { type: EnvelopeContentType.PATH, path: "dist/webview/NewTestScenarioEditorEnvelopeApp.js" },
}),
]),
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,13 @@
* under the License.
*/

.section-body {
--pf-c-page__main-section--PaddingTop: 0px;
--pf-c-page__main-section--PaddingRight: 0px;
--pf-c-page__main-section--PaddingBottom: 0px;
--pf-c-page__main-section--PaddingLeft: 0px;
}
import * as EditorEnvelope from "@kie-tools-core/editor/dist/envelope";
import { TestScenarioEditorFactory } from "@kie-tools/scesim-editor-envelope/dist/TestScenarioEditorFactory";

declare const acquireVsCodeApi: any;

EditorEnvelope.init({
container: document.getElementById("envelope-app")!,
bus: acquireVsCodeApi(),
editorFactory: new TestScenarioEditorFactory(),
});
1 change: 1 addition & 0 deletions packages/dmn-vscode-extension/webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ module.exports = async (webpackEnv) => [
"webview/DmnEditorEnvelopeApp": "./src/webview/DmnEditorEnvelopeApp.ts",
"webview/SceSimEditorEnvelopeApp": "./src/webview/SceSimEditorEnvelopeApp.ts",
"webview/NewDmnEditorEnvelopeApp": "./src/webview/NewDmnEditorEnvelopeApp.ts",
"webview/NewTestScenarioEditorEnvelopeApp": "./src/webview/NewTestScenarioEditorEnvelopeApp.ts",
},
module: {
rules: [...patternflyBase.webpackModuleRules],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ export class TestScenarioEditorRoot extends React.Component<TestScenarioEditorRo
openFilenormalizedPosixPathRelativeToTheWorkspaceRoot: string,
content: string
): Promise<void> {
const marshaller = this.getMarshaller(content || EMPTY_ONE_EIGHT);
const marshaller = this.getMarshaller(content);

// Save stack
let savedStackPointer: SceSimModel[] = [];
Expand Down Expand Up @@ -411,7 +411,7 @@ function ExternalModelsManager({
useEffect(() => {
let canceled = false;

if (!thisScesimNormalizedPosixPathRelativeToTheWorkspaceRoot || !targetNamespace) {
if (!thisScesimNormalizedPosixPathRelativeToTheWorkspaceRoot) {
return;
}

Expand Down Expand Up @@ -455,7 +455,7 @@ function ExternalModelsManager({
const ext = __path.extname(resource.normalizedPosixPathRelativeToTheWorkspaceRoot);
if (ext === ".dmn") {
const namespace = domParser.getDomDocument(content).documentElement.getAttribute("namespace");
if (namespace === targetNamespace) {
if (targetNamespace && namespace === targetNamespace) {
// Check for multiplicity of namespaces on DMN models
if (externalModelsIndex[namespace]) {
console.warn(
Expand Down
6 changes: 5 additions & 1 deletion packages/scesim-editor/.storybook/preview.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,11 @@ const preview: Preview = {
},

// It should be Story() to be possible to use "preview-api" inside stories; (https://github.com/storybookjs/storybook/issues/22132)
decorators: [(Story) => <div data-testid="test-scenario-editor">{Story()}</div>],
decorators: [
(Story) => (
<div style={{ position: "absolute", width: "100vw", height: "100vh", top: "0px", left: "0px" }}>{Story()}</div>
),
],
};

export default preview;
6 changes: 4 additions & 2 deletions packages/scesim-editor/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@
"license": "Apache-2.0",
"keywords": [],
"scripts": {
"build:dev": "rimraf dist && tsc -p tsconfig.json",
"build:prod": "rimraf dist && pnpm lint && tsc -p tsconfig.json && pnpm test-e2e",
"build:dev": "rimraf dist && pnpm copy:css && tsc -p tsconfig.json",
"build:prod": "rimraf dist && pnpm copy:css && pnpm lint && tsc -p tsconfig.json && pnpm test-e2e",
"build:storybook": "rimraf dist-storybook && NODE_ENV=development storybook build -o dist-storybook",
"copy:css": "copyfiles -u 1 \"src/**/*.{sass,scss,css}\" dist/",
"lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"",
"powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command",
"start": "run-script-os",
Expand Down Expand Up @@ -59,6 +60,7 @@
"@types/react-table": "^7.0.25",
"@types/uuid": "^8.3.0",
"copy-webpack-plugin": "^11.0.0",
"copyfiles": "^2.4.1",
"cross-env": "^7.0.3",
"deep-object-diff": "^1.1.9",
"file-loader": "^6.2.0",
Expand Down
19 changes: 10 additions & 9 deletions packages/scesim-editor/src/TestScenarioEditor.css
Original file line number Diff line number Diff line change
Expand Up @@ -18,31 +18,32 @@
*/

.kie-scesim-editor--background-table-container {
overflow-x: auto;
overflow: auto;
}

.kie-scesim-editor--content {
padding-right: 50px;
height: 100%;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
margin-right: 50px;
}

.kie-scesim-editor--content-alert {
padding: 15px;
}

.kie-scesim-editor--content-tabs {
padding-top: 15px;
height: 100%;
padding-top: 10px;
padding-left: 15px;
}

.kie-scesim-editor--creation-form {
margin-top: 50px;
}

.kie-scesim-editor--grid-container {
height: 100%;
}

.kie-scesim-editor--scenario-table-container {
overflow-x: auto;
overflow: auto;
}
3 changes: 2 additions & 1 deletion packages/scesim-editor/src/TestScenarioEditor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ import { EmptyState, EmptyStateBody, EmptyStateIcon } from "@patternfly/react-co
import { Icon } from "@patternfly/react-core/dist/js/components/Icon";
import { Spinner } from "@patternfly/react-core/dist/js/components/Spinner";
import { Tabs, Tab, TabTitleIcon, TabTitleText } from "@patternfly/react-core/dist/js/components/Tabs";

import { Title } from "@patternfly/react-core/dist/js/components/Title";
import { Tooltip } from "@patternfly/react-core/dist/js/components/Tooltip";

Expand Down Expand Up @@ -395,7 +396,7 @@ export const TestScenarioEditorInternal = ({
console.trace("[TestScenarioEditorInternal] File Status: " + TestScenarioFileStatus[scesimFileStatus]);

return (
<div ref={testScenarioEditorRootElementRef}>
<div ref={testScenarioEditorRootElementRef} data-testid="kie-tools--scesim-editor--container">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is my mistake. I am sorry. Looking on the rest of the codebase, I think the value we should use should be probably something like: kie-scesim-editor--container or kie-scesim-editor-container or kie-scesim-editor

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

{(() => {
switch (scesimFileStatus) {
case TestScenarioFileStatus.EMPTY:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,10 @@
}

.kie-scesim-editor-drawer-data-objects--selector {
height: 500px;
overflow: scroll;
}

.kie-scesim-editor-drawer-data-objects--selector-disabled {
height: 500px;
overflow: scroll;
opacity: 0.25;
pointer-events: none;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import { Divider } from "@patternfly/react-core/dist/js/components/Divider/";
import { EmptyState, EmptyStateBody, EmptyStateIcon } from "@patternfly/react-core/dist/js/components/EmptyState";
import { HelpIcon } from "@patternfly/react-icons/dist/esm/icons/help-icon";
import { Icon } from "@patternfly/react-core/dist/js/components/Icon";
import { Stack, StackItem } from "@patternfly/react-core/dist/js/layouts/Stack";
import { Text } from "@patternfly/react-core/dist/js/components/Text";
import { Title } from "@patternfly/react-core/dist/js/components/Title";
import { Toolbar, ToolbarContent, ToolbarItem } from "@patternfly/react-core/dist/js/components/Toolbar/";
Expand Down Expand Up @@ -477,87 +478,93 @@ function TestScenarioDataSelectorPanel() {
);

return (
<>
<Text className="kie-scesim-editor-drawer-data-objects--text">
{testScenarioType === "DMN"
? i18n.drawer.dataSelector.descriptionDMN
: i18n.drawer.dataSelector.descriptionRule}
<Tooltip
content={
testScenarioType === "DMN"
? i18n.drawer.dataSelector.dataObjectsDescriptionDMN
: i18n.drawer.dataSelector.dataObjectsDescriptionRule
}
>
<Icon className={"kie-scesim-editor-drawer-data-objects--info-icon"} size="sm" status="info">
<HelpIcon />
</Icon>
</Tooltip>
</Text>
<Stack>
<StackItem>
<Text className="kie-scesim-editor-drawer-data-objects--text">
{testScenarioType === "DMN"
? i18n.drawer.dataSelector.descriptionDMN
: i18n.drawer.dataSelector.descriptionRule}
<Tooltip
content={
testScenarioType === "DMN"
? i18n.drawer.dataSelector.dataObjectsDescriptionDMN
: i18n.drawer.dataSelector.dataObjectsDescriptionRule
}
>
<Icon className={"kie-scesim-editor-drawer-data-objects--info-icon"} size="sm" status="info">
<HelpIcon />
</Icon>
</Tooltip>
</Text>
</StackItem>
<Divider />
<div className={"kie-scesim-editor-drawer-data-objects--selector"}>
{treeViewEmptyStatus.enabled ? (
<div aria-disabled={true}>
<TreeView
activeItems={treeViewStatus.activeItems}
allExpanded={allExpanded || treeViewStatus.isExpanded}
className={
dataSelectorStatus !== TestScenarioDataSelectorState.DISABLED
? undefined
: "kie-scesim-editor-drawer-data-objects--selector-disabled"
}
data={filteredItems}
hasBadges
hasSelectableNodes
onSelect={onSelectTreeViewItem}
toolbar={treeViewSearchToolbar}
/>
</div>
) : (
<Bullseye>
<EmptyState>
<EmptyStateIcon icon={treeViewEmptyStatus.icon} />
<Title headingLevel="h4" size="lg">
{treeViewEmptyStatus.title}
</Title>
<EmptyStateBody>{treeViewEmptyStatus.description}</EmptyStateBody>
</EmptyState>
</Bullseye>
)}
</div>
<StackItem isFilled>
<div className={"kie-scesim-editor-drawer-data-objects--selector"}>
{treeViewEmptyStatus.enabled ? (
<div aria-disabled={true}>
<TreeView
activeItems={treeViewStatus.activeItems}
allExpanded={allExpanded || treeViewStatus.isExpanded}
className={
dataSelectorStatus !== TestScenarioDataSelectorState.DISABLED
? undefined
: "kie-scesim-editor-drawer-data-objects--selector-disabled"
}
data={filteredItems}
hasBadges
hasSelectableNodes
onSelect={onSelectTreeViewItem}
toolbar={treeViewSearchToolbar}
/>
</div>
) : (
<Bullseye>
<EmptyState>
<EmptyStateIcon icon={treeViewEmptyStatus.icon} />
<Title headingLevel="h4" size="lg">
{treeViewEmptyStatus.title}
</Title>
<EmptyStateBody>{treeViewEmptyStatus.description}</EmptyStateBody>
</EmptyState>
</Bullseye>
)}
</div>
</StackItem>
<Divider />
<div className={"kie-scesim-editor-drawer-data-objects--button-container"}>
<Tooltip content={insertDataObjectButtonStatus.message}>
<StackItem>
<div className={"kie-scesim-editor-drawer-data-objects--button-container"}>
<Tooltip content={insertDataObjectButtonStatus.message}>
<Button
isAriaDisabled={!insertDataObjectButtonStatus.enabled}
onClick={onInsertDataObjectClick}
variant="primary"
>
{i18n.drawer.dataSelector.insertDataObject}
</Button>
</Tooltip>
<Button
isAriaDisabled={!insertDataObjectButtonStatus.enabled}
onClick={onInsertDataObjectClick}
variant="primary"
isDisabled={
treeViewStatus.activeItems.length !== 1 || dataSelectorStatus !== TestScenarioDataSelectorState.ENABLED
}
onClick={onClearSelectionClicked}
variant="secondary"
>
{i18n.drawer.dataSelector.insertDataObject}
{i18n.drawer.dataSelector.clearSelection}
</Button>
</Tooltip>
<Button
isDisabled={
treeViewStatus.activeItems.length !== 1 || dataSelectorStatus !== TestScenarioDataSelectorState.ENABLED
}
onClick={onClearSelectionClicked}
variant="secondary"
>
{i18n.drawer.dataSelector.clearSelection}
</Button>
<Button
isDisabled={
filteredItems.length < 1 ||
treeViewStatus.isExpanded ||
dataSelectorStatus !== TestScenarioDataSelectorState.ENABLED
}
onClick={onAllExpandedToggle}
variant="link"
>
{allExpanded ? i18n.drawer.dataSelector.collapseAll : i18n.drawer.dataSelector.expandAll}
</Button>
</div>
</>
<Button
isDisabled={
filteredItems.length < 1 ||
treeViewStatus.isExpanded ||
dataSelectorStatus !== TestScenarioDataSelectorState.ENABLED
}
onClick={onAllExpandedToggle}
variant="link"
>
{allExpanded ? i18n.drawer.dataSelector.collapseAll : i18n.drawer.dataSelector.expandAll}
</Button>
</div>
</StackItem>
</Stack>
);
}

Expand Down
Loading
Loading