This commit is contained in:
mathuo 2023-05-22 21:10:49 +01:00
commit 107c20a81d
No known key found for this signature in database
GPG Key ID: C6EEDEFD6CA07281
19 changed files with 93 additions and 73 deletions

View File

@ -33,8 +33,10 @@ jobs:
working-directory: packages/dockview working-directory: packages/dockview
- run: npm run build - run: npm run build
working-directory: packages/docs working-directory: packages/docs
- run: npm run deploy-docs - run: npm run docs
working-directory: packages/docs working-directory: .
- run: npm run package-docs
working-directory: .
- name: Deploy 🚀 - name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@3.7.1 uses: JamesIves/github-pages-deploy-action@3.7.1
with: with:

1
.gitignore vendored
View File

@ -13,3 +13,4 @@ test-report.xml
*.code-workspace *.code-workspace
yarn-error.log yarn-error.log
/build /build
docs/

View File

@ -19,7 +19,9 @@
"bootstrap": "lerna bootstrap", "bootstrap": "lerna bootstrap",
"test:cov": "jest --coverage", "test:cov": "jest --coverage",
"version-beta-build": "lerna version prerelease --preid beta", "version-beta-build": "lerna version prerelease --preid beta",
"publish-app": "lerna publish" "publish-app": "lerna publish",
"docs": "typedoc",
"package-docs": "node scripts/package-docs.js"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -56,6 +58,7 @@
"ts-jest": "^29.0.5", "ts-jest": "^29.0.5",
"ts-loader": "^9.4.2", "ts-loader": "^9.4.2",
"tslib": "^2.5.0", "tslib": "^2.5.0",
"typedoc": "^0.24.7",
"typescript": "^4.9.5", "typescript": "^4.9.5",
"webpack": "^5.75.0", "webpack": "^5.75.0",
"webpack-cli": "^5.0.1", "webpack-cli": "^5.0.1",

View File

@ -1,7 +1,4 @@
{ {
"out": "typedocs", "extends": ["../../typedoc.base.json"],
"entryPoints": ["./src/index.ts"], "entryPoints": ["src/index.ts"]
"exclude": ["**/_test/**/*.*", "**/index.ts"],
"excludeExternals": true,
"excludePrivate": true
} }

View File

@ -71,7 +71,6 @@
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"rimraf": "^4.1.2", "rimraf": "^4.1.2",
"rollup": "^3.15.0", "rollup": "^3.15.0",
"rollup-plugin-postcss": "^4.0.2", "rollup-plugin-postcss": "^4.0.2"
"typedoc": "^0.23.25"
} }
} }

View File

@ -6,9 +6,6 @@
"jsx": "react", "jsx": "react",
"rootDir": "src" "rootDir": "src"
}, },
"paths": {
"dockview-core": "../dockview-core"
},
"include": ["src"], "include": ["src"],
"exclude": ["**/node_modules", "src/__tests__"] "exclude": ["**/node_modules", "src/__tests__"]
} }

View File

@ -1,7 +1,5 @@
{ {
"out": "typedocs", "extends": ["../../typedoc.base.json"],
"entryPoints": ["./src/index.ts"], "entryPoints": ["src/index.ts"],
"exclude": ["**/_test/**/*.*", "**/index.ts"], "exclude": ["**/dist/**"]
"excludeExternals": true,
"excludePrivate": true
} }

View File

@ -8,7 +8,6 @@ import { SimpleSplitview2 } from '@site/src/components/simpleSplitview2';
# Basics # Basics
asd
This section will take you through a number of concepts that can be applied to all dockview components. This section will take you through a number of concepts that can be applied to all dockview components.
## Panels ## Panels

View File

@ -349,7 +349,9 @@ return (
### Third Party Dnd Libraries ### Third Party Dnd Libraries
To be completed... This shows a simple example of a third-party library used inside a panel that relies on drag
and drop functionalities. This examples serves to show that `dockview` doesn't interfer with
any drag and drop logic for other controls.
<Container> <Container>
<DockviewExternalDnd /> <DockviewExternalDnd />
@ -621,6 +623,8 @@ to the entire width of the group. For example:
### Tab Height ### Tab Height
Tab height can be controlled through CSS.
<Container sandboxId="tabheight-dockview"> <Container sandboxId="tabheight-dockview">
<DockviewTabheight /> <DockviewTabheight />
</Container> </Container>

View File

@ -12,8 +12,7 @@
"serve": "docusaurus serve", "serve": "docusaurus serve",
"write-translations": "docusaurus write-translations", "write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids", "write-heading-ids": "docusaurus write-heading-ids",
"typecheck": "tsc", "typecheck": "tsc"
"deploy-docs": "node scripts/package-docs.js"
}, },
"dependencies": { "dependencies": {
"@docusaurus/core": "^2.4.0", "@docusaurus/core": "^2.4.0",

View File

@ -18,6 +18,29 @@ const components = {
}, },
}; };
const DraggableElement = () => (
<span
tabIndex={-1}
onDragStart={(event) => {
if (event.dataTransfer) {
event.dataTransfer.effectAllowed = 'move';
event.dataTransfer.setData('text/plain', 'nothing');
}
}}
style={{
backgroundColor: 'orange',
padding: '0px 8px',
borderRadius: '4px',
width: '100px',
cursor: 'pointer',
}}
draggable={true}
>
Drag me
</span>
);
const DndDockview = (props: { renderVisibleOnly: boolean }) => { const DndDockview = (props: { renderVisibleOnly: boolean }) => {
const onReady = (event: DockviewReadyEvent) => { const onReady = (event: DockviewReadyEvent) => {
event.api.addPanel({ event.api.addPanel({
@ -77,19 +100,9 @@ const DndDockview = (props: { renderVisibleOnly: boolean }) => {
height: '100%', height: '100%',
}} }}
> >
<div <div style={{ margin: '2px 0px' }}>
style={{ <DraggableElement />
backgroundColor: 'orange',
padding: '0px 8px',
borderRadius: '4px',
width: '100px',
cursor: 'pointer',
}}
draggable={true}
>
Drag me
</div> </div>
<DockviewReact <DockviewReact
components={components} components={components}
onReady={onReady} onReady={onReady}

View File

@ -50,7 +50,6 @@ const SampleData = [
const TreeComponent = () => { const TreeComponent = () => {
const [treeData, setTreeData] = useState(SampleData); const [treeData, setTreeData] = useState(SampleData);
const handleDrop = (newTreeData: any) => { const handleDrop = (newTreeData: any) => {
console.log('handleDrop');
setTreeData(newTreeData); setTreeData(newTreeData);
}; };
return ( return (

View File

@ -1,8 +0,0 @@
const fs = require('fs-extra');
const path = require('path');
const output = path.join(__dirname, '../../../build');
const docsDir = path.join(__dirname, '../build');
fs.copySync(docsDir, path.join(output));

View File

@ -1,8 +1,11 @@
const fs = require('fs-extra'); const fs = require('fs-extra');
const path = require('path'); const path = require('path');
const output = path.join(__dirname, '../'); const output = path.join(__dirname, '../build');
const docsDir = path.join(__dirname, '../docs/build'); const websiteDir = path.join(__dirname, '../packages/docs/build');
fs.copySync(docsDir, path.join(output, 'docs')); const docsDir = path.join(__dirname, '../docs');
fs.copySync(websiteDir, output);
fs.copySync(docsDir, path.join(output, 'typedocs'));

View File

@ -1,15 +0,0 @@
const fs = require('fs-extra');
const path = require('path');
const output = path.join(__dirname, '../output');
const docsDir = path.join(__dirname, '../packages/dockview/typedocs');
const webpackAppDir = path.join(__dirname, '../packages/dockview-demo/dist');
// const storybookAppDir = path.join(
// __dirname,
// '../packages/dockview-demo/storybook-static'
// );
fs.copySync(docsDir, path.join(output, 'typedocs'));
fs.copySync(webpackAppDir, path.join(output, 'build'));
// fs.copySync(storybookAppDir, path.join(output, 'storybook-static'));

11
tsconfig.json Normal file
View File

@ -0,0 +1,11 @@
{
"files": [],
"references": [
{
"path": "./packages/dockview"
},
{
"path": "./packages/dockview-core"
}
]
}

4
typedoc.base.json Normal file
View File

@ -0,0 +1,4 @@
{
"$schema": "https://typedoc.org/schema.json",
"includeVersion": true
}

7
typedoc.json Normal file
View File

@ -0,0 +1,7 @@
{
"entryPoints": ["packages/dockview", "packages/dockview-core"],
"name": "Dockview",
"entryPointStrategy": "packages",
"includeVersion": true,
"logLevel": "Verbose"
}

View File

@ -9918,7 +9918,7 @@ markdown-escapes@^1.0.0:
resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535"
integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==
marked@^4.2.12: marked@^4.3.0:
version "4.3.0" version "4.3.0"
resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3" resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3"
integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==
@ -10136,13 +10136,20 @@ minimatch@^6.1.6:
dependencies: dependencies:
brace-expansion "^2.0.1" brace-expansion "^2.0.1"
minimatch@^7.1.3, minimatch@^7.4.1, minimatch@^7.4.2: minimatch@^7.4.1, minimatch@^7.4.2:
version "7.4.3" version "7.4.3"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.3.tgz#012cbf110a65134bb354ae9773b55256cdb045a2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.3.tgz#012cbf110a65134bb354ae9773b55256cdb045a2"
integrity sha512-5UB4yYusDtkRPbRiy1cqZ1IpGNcJCGlEMG17RKzPddpyiPKoCdwohbED8g4QXT0ewCt8LTkQXuljsUfQ3FKM4A== integrity sha512-5UB4yYusDtkRPbRiy1cqZ1IpGNcJCGlEMG17RKzPddpyiPKoCdwohbED8g4QXT0ewCt8LTkQXuljsUfQ3FKM4A==
dependencies: dependencies:
brace-expansion "^2.0.1" brace-expansion "^2.0.1"
minimatch@^9.0.0:
version "9.0.0"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.0.tgz#bfc8e88a1c40ffd40c172ddac3decb8451503b56"
integrity sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==
dependencies:
brace-expansion "^2.0.1"
minimist-options@4.1.0: minimist-options@4.1.0:
version "4.1.0" version "4.1.0"
resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619"
@ -13180,9 +13187,9 @@ shelljs@^0.8.5:
rechoir "^0.6.2" rechoir "^0.6.2"
shiki@^0.14.1: shiki@^0.14.1:
version "0.14.1" version "0.14.2"
resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.1.tgz#9fbe082d0a8aa2ad63df4fbf2ee11ec924aa7ee1" resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.2.tgz#d51440800b701392b31ce2336036058e338247a1"
integrity sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw== integrity sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==
dependencies: dependencies:
ansi-sequence-parser "^1.1.0" ansi-sequence-parser "^1.1.0"
jsonc-parser "^3.2.0" jsonc-parser "^3.2.0"
@ -14249,14 +14256,14 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
typedoc@^0.23.25: typedoc@^0.24.7:
version "0.23.28" version "0.24.7"
resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.23.28.tgz#3ce9c36ef1c273fa849d2dea18651855100d3ccd" resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.24.7.tgz#7eeb272a1894b3789acc1a94b3f2ae8e7330ee39"
integrity sha512-9x1+hZWTHEQcGoP7qFmlo4unUoVJLB0H/8vfO/7wqTnZxg4kPuji9y3uRzEu0ZKez63OJAUmiGhUrtukC6Uj3w== integrity sha512-zzfKDFIZADA+XRIp2rMzLe9xZ6pt12yQOhCr7cD7/PBTjhPmMyMvGrkZ2lPNJitg3Hj1SeiYFNzCsSDrlpxpKw==
dependencies: dependencies:
lunr "^2.3.9" lunr "^2.3.9"
marked "^4.2.12" marked "^4.3.0"
minimatch "^7.1.3" minimatch "^9.0.0"
shiki "^0.14.1" shiki "^0.14.1"
"typescript@^3 || ^4", typescript@^4.9.5: "typescript@^3 || ^4", typescript@^4.9.5: