Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
MIT License

Copyright (c) 2020 Mahyar Madad
Copyright (c) 2020 Xuebin Dong

Permission is hereby granted, free of charge, to any person obtaining a copy
Expand Down
182 changes: 16 additions & 166 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,139 +1,19 @@
![OrgChart](http://dabeng.github.io/OrgChart/img/heading.svg)

# [jQuery Version](https://github.com/dabeng/OrgChart)
# [ES6 Version](http://github.com/dabeng/OrgChart.js)
# [Web Components Version](http://github.com/dabeng/OrgChart-Webcomponents)
# [Vue.js Version](https://github.com/dabeng/vue-orgchart)
# [Angular Version -- the most space-saving solution](https://github.com/dabeng/ng-orgchart)

## Features
- expand/collapse nodes
- Allows user to change orgchart structure by drag/drop nodes
- Allows user to edit orgchart
- Supports exporting chart as a picture or pdf document
- Supports pan and zoom
- Allows user to customize the internal structure for every node

## Props
<table>
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>chartClass</td>
<td>string</td>
<td></td>
<td>A css class to apply to the chart DOM node.</td>
</tr>
<tr>
<td>containerClass</td>
<td>string</td>
<td></td>
<td>Add an optional extra class name to .orgchart-container It could end up looking like class="orgchart-container xxx yyy".</td>
</tr>
<tr>
<td>collapsible</td>
<td>boolean</td>
<td>true</td>
<td>Allows expanding/collapsing the nodes.</td>
</tr>
<tr>
<td>datasource</td>
<td>object</td>
<td></td>
<td>datasource usded to build out structure of orgchart.</td>
</tr>
<tr>
<td>draggable</td>
<td>boolean</td>
<td>false</td>
<td>Allows dragging/dropping the nodes to the hierarchy of chart.</td>
</tr>
<tr>
<td>multipleSelect</td>
<td>boolean</td>
<td>false</td>
<td>If true, user can select multiple nodes by mouse clicking.</td>
</tr>
<tr>
<td>NodeTemplate</td>
<td>elementType</td>
<td></td>
<td>A Component that provides the node content Markup. This is a useful prop when you want to use your own styles and markup to create a custom orgchart node.</td>
</tr>
<tr>
<td>onClickChart</td>
<td>function</td>
<td></td>
<td>A callback fired when the orgchart is clicking.</td>
</tr>
<tr>
<td>onClickNode</td>
<td>function</td>
<td></td>
<td>A callback fired when the node is clicking.</td>
</tr>
<tr>
<td>pan</td>
<td>boolean</td>
<td>false</td>
<td>If true, the chart can be panned.</td>
</tr>
<tr>
<td>pan</td>
<td>boolean</td>
<td>false</td>
<td>If true, the chart can be zoomed.</td>
</tr>
<tr>
<td>zoominLimit</td>
<td>number</td>
<td>7</td>
<td>User can zoom the chart at different scales(0.5~7).</td>
</tr>
<tr>
<td>zoomoutLimit</td>
<td>number</td>
<td>0.5</td>
<td>User can zoom the chart at different scales(0.5~7).</td>
</tr>
</tbody>
</table>

## Methods
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>expandAllNodes</td>
<td>User can use this method to expand all the nodes. Sample code: orgchartRef.current.expandAllNodes()</td>
</tr>
<tr>
<td>expandAllNodes</td>
<td>User can use this method to export orgchart to png org pdf file. Sample code: orgchartRef.current.exportTo(filename, fileextension)</td>
</tr>
</tbody>
</table>

## Install
```
npm install @dabeng/react-orgchart
```

## [Demo](https://codesandbox.io/s/react-orgchart-demo-o3nf6)

This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
<h1>Hi guys </h1>

this is an orgchart Libary that work with nextjs , we use <a href="https://github.com/dabeng/react-orgchart">React-orgchart</a> libary and made some major changes to make it work with Nextjs

<h2>How to Use </h2>
First you need to install the Liabry using npm :
npm i nextjs-orgchart

Then u need to import the css file in your \_app.js :
import "nextjs-orgchart/dist/ChartContainer.css";
import "nextjs-orgchart/dist/ChartNode.css";

After that u can import the chart in your component file :
import OrganizationChart from "nextjs-orgchart"

and use it like the <a href="https://github.com/dabeng/react-orgchart">React-orgchart</a> Documents

## Available Scripts

Expand Down Expand Up @@ -171,33 +51,3 @@ If you aren’t satisfied with the build tool and configuration choices, you can
Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.

You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.

## Learn More

You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).

To learn React, check out the [React documentation](https://reactjs.org/).

### Code Splitting

This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting

### Analyzing the Bundle Size

This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size

### Making a Progressive Web App

This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app

### Advanced Configuration

This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration

### Deployment

This section has moved here: https://facebook.github.io/create-react-app/docs/deployment

### `npm run build` fails to minify

This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify
42 changes: 35 additions & 7 deletions dist/ChartContainer.css
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
/* global styles for orgchart */
.orgchart-container {
box-sizing: border-box;
position: relative;
margin: 10px;
height: 700px;
background-color: #fff;
border: 2px dashed #aaa;
border-radius: 5px;
overflow: auto;
Expand All @@ -12,13 +14,39 @@
.orgchart {
box-sizing: border-box;
display: inline-block;
background-image: linear-gradient(
90deg,
rgba(200, 0, 0, 0.15) 10%,
rgba(0, 0, 0, 0) 10%
),
linear-gradient(rgba(200, 0, 0, 0.15) 10%, rgba(0, 0, 0, 0) 10%);
background-image: linear-gradient(90deg, rgba(200, 0, 0, 0.15) 10%, rgba(0, 0, 0, 0) 10%), linear-gradient(rgba(200, 0, 0, 0.15) 10%, rgba(0, 0, 0, 0) 10%);
background-size: 10px 10px;
border: 1px dashed rgba(0, 0, 0, 0);
border: 1px dashed rgba(0,0,0,0);
padding: 20px 20px 0 20px;
}

.orgchart-container .hidden {
display: none!important;
}

.orgchart-container > .oc-mask {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 999;
text-align: center;
background-color: rgba(0,0,0,0.3);
}

.orgchart-container > .oc-mask .spinner {
position: absolute;
top: calc(50% - 50px);
left: calc(50% - 50px);
}

.orgchart-container > .oc-mask .spinner::before {
width: 100px;
height: 100px;
border-width: 10px;
border-radius: 50px;
border-top-color: rgba(68, 157, 68, 0.8);
border-bottom-color: rgba(68, 157, 68, 0.8);
border-left-color: rgba(68, 157, 68, 0.8);
}
Loading