nocobase/packages/plugins/workflow/src/client/style.tsx

313 lines
4.9 KiB
TypeScript
Raw Normal View History

refactor(client)!: application, router and plugin (#2068) BREAKING CHANGE: * refactor: update umi version 3.x to version 4.x * refactor: update react-router-dom version to 6.x * refactor(react-router-dom): change Layout Component `props.children` to `<Outlet />` * refactor(react-router-dom): change <Route /> props and <RouteSwitch /> correct * refactor(react-router-dom): replace `<Redirect />` to `<Navigate replace />` * refactor(react-router-dom): replace `useHistory` to `useNavigate` * refactor(react-router-dom): replace `useRouteMatch` to `useParams` * refactor(react-router-dom & dumi): fix <RouteSwitch /> & umi document bug * refactor(react-router-dom): `useRoutes` Optimize `<RouteSwitch />` code * refactor(react-router-dom): update `Route` types and docs * refactor(react-router-dom): optimize RouteSwitch code * refactor(react-router-dom): `useLocation` no generics type * refactor(react-router-dom): add `less v3.9.0` to `resolutions` to solve the error of `gulp-less` * refactor(react-router-dom): fix `<RouteSwitch />` `props.routes` as an array is not handled * chore: upgrade `dumi` and refactor docs * fix: completed code review, add `targets` to solve browser compatibility & removed `chainWebpack` * refactor(dumi): upgraded dumi under `packages/core/client` * refactor(dumi): delete `packages/core/dumi-theme-nocobase` * refactor(dumi): degrade `react` & replace `dumi-theme-antd` to `dumi-theme-nocobase` * refactor(dumi): solve conflicts between multiple dumi applications * fix: login page error in react 17 * refactor(dumi): remove less resolutions * refactor(dumi): umi add `msfu: true` config * fix: merge bug * fix: self code review * fix: code reivew and test bug * refactor: upgrade react to 18 * refactor: degrade react types to 17 * chore: fix ci error * fix: support routerBase & fix workflow page params * fix(doc): menu externel link * fix: build error * fix: delete * fix: vitest error * fix: react-router new code replace * fix: vitest markdown error * fix: title is none when refresh * fix: merge error * fix: sidebar width is wrong * fix: useProps error * fix: side-menu-width * fix: menu selectId is wrong & useProps is string * fix: menu selected first default & side menu hide when change * fix: test error & v0.10 change log * fix: new compnent doc modify * fix: set umi `fastRefresh=false` * refactor: application v2 * fix: improve code * fix: bug * fix: page = 0 error * fix: workflow navigate error * feat: plugin manager * fix: afterAdd * feat: complete basic functional refactor * fix: performance Application * feat: support client and server build * refactor: nocobase build-in plugin and providers * fix: server can't start * refactor: all plugins package `Prodiver` change to `Plugin` * feat: nested router and change mobile client * feat: delete application-v1 and router-switch * feat: improve routes * fix: change mobile not nested * feat: delete RouteSwitchContext and change buildin Provider to Plugin * feat: delete RouteSwitchContext plugins * fix: refactor SchemaComponentOptions * feat: improve SchemaComponentOptions * fix: add useAdminSchemaUid * fix: merge master error * fix: vitest error * fix: bug * feat: bugs * fix: improve code * fix: restore code * feat: vitest * fix: bugs * fix: bugs * docs: update doc * feat: improve code * feat: add docs and imporve code * fix: bugs * feat: add tests * fix: remove deps * fix: muti app router error * fix: router error * fix: workflow error * fix: cli error * feat: change NoCobase -> Nocobase * fix: code review * fix: type error * fix: cli error and plugin demo * feat: update doc theme * fix: build error * fix: mobile router * fix: code rewview * fix: bug * fix: test bug * fix: bug * refactor: add the "client" directory to all plugins * refactor: modify samples client and plugin template * fix: merge error * fix: add files in package.json * refactor: add README to files in package.json * fix: adjust plugins depencies * refactor: completing plugins' devDependencies and dependencies * fix: bug * refactor: remove @emotion/css * refactor: jsonwebtoken deps * refactor: remove sequelize * refactor: dayjs and moment deps * fix: bugs * fix: bug * fix: cycle detect * fix: merge bug * feat: new plugin bug * fix: lang bug * fix: dynamic import bug * refactor: plugins and example add father config * feat: improve code * fix: add AppSpin and AppError components * Revert "refactor: plugins and example add father config" This reverts commit 483315bca5524e4b8cbbb20cbad77986f081089d. # Conflicts: # packages/plugins/auth/package.json # packages/plugins/multi-app-manager/package.json # packages/samples/command/package.json # packages/samples/custom-collection-template/package.json # packages/samples/ratelimit/package.json # packages/samples/shop-actions/package.json # packages/samples/shop-events/package.json # packages/samples/shop-modeling/package.json * feat: update doc --------- Co-authored-by: chenos <chenlinxh@gmail.com>
2023-07-07 06:35:22 +00:00
import { css } from '@nocobase/client';
export const workflowPageClass = css`
flex-grow: 1;
overflow: hidden;
display: flex;
flex-direction: column;
.workflow-toolbar {
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
padding: 0.5rem 1rem;
background: #fff;
border-bottom: 1px solid #e7e7e7;
header {
display: flex;
align-items: center;
min-height: 2rem;
}
aside {
display: flex;
align-items: center;
gap: 0.5em;
}
.workflow-versions {
label {
margin-right: 0.5em;
}
}
}
.workflow-canvas {
flex-grow: 1;
overflow: auto;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
padding: 2em;
.end {
cursor: default;
&:hover {
box-shadow: 0 0.25em 0.5em rgba(0, 0, 0, 0.1);
}
}
}
`;
export const workflowVersionDropdownClass = css`
.ant-dropdown-menu-item {
.ant-dropdown-menu-title-content {
text-align: right;
time {
margin-left: 0.5rem;
color: #999;
font-size: 80%;
}
strong {
font-weight: normal;
}
> .enabled {
strong {
font-weight: bold;
}
}
> .unexecuted {
strong {
font-style: italic;
}
}
}
}
`;
export const branchBlockClass = css`
display: flex;
position: relative;
:before {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: calc(50% - 0.5px);
width: 1px;
refactor(client)!: upgrade antd to v5 (#2078) * refactor: change moment to dayjs * refactor: remove antd css * refactor: change @formily/antd to @formily/antd-v5 * chore: add dep * chore: upgrade babel/core and typescript * refactor: rename moment to dayjs * fix(dayjs): add plugins * refactor: fix type errors * refactor: change default export to named export * chore: upgrade ts-loader * refactor: rename moment to dayjs * refactor: fix type errors * chore: upgrade deps for build * fix: fix build errors * fix: add antd reset css * fix: fix build error * chore: add __builtins__ * chore: optimize genStyleHook * refactor(Calendar): less to css-in-js * refactor(acl): less to css-in-js * refactor(board): less to css-in-js * chore: add antd-style * refactor(acl): use antd-style * refactor(board): use antd-style * refactor: schema-initializer * refactor: refactor genStyleHook * refactor: kanban * refactor: filter * refactor: upload * refactor: markdown * refactor: rename className to componentCls * refactor: rich-text * style: fix style * fix: fix merge error * chore: update yarn.lock * chore: upgrade formily * style: fix pageHeader * style: fix add button style * style: fix header menu color * chore: update yarn.lock * chore: upgrade deps * test: fix tests * test: fix tests * fix: fix build error * fix: fix style of plugin doc * fix: fix tests * fix: fix drag bug * refactor: remove useless code * fix: fix Modal style (T-621) * fix: fix box-shadow of subMenu (T-622) * fix: fix style of linkage rules (T-623) * fix: fix style of DataTemplate * fix: fix style of variable (T-620) * chore: update yarn.lock * fix: avoid test failed * test: fix error * chore: update yarn.lock * test: fix error * test(dayjs): fix error * fix: should delay show menu to avoid the menu not hidden * test: skip failure test * fix(mouseEnterDelay): change default value from 100 to 150 * test: avoid failed * refactor: rename component names * chore: optimize types * chore: lock antd version * fix: fix build * fix: fix build * fix: layout bg color use variable * fix: fix style of buttons * feat: remove theme config * fix(calendar): fix style * fix(mobile-client): fix dialog style * fix: fix test * refactor: make code gooder * chore: change code * fix: fix T-847 * fix: fix T-845 * fix: display block * fix: danger button * refactor: make tester better * fix: change moment to dayjs * fix: build error * fix: import dayjs/plugin/isSameOrBefore * refactor: downgrade @testing-library/react to fix warning * fix: fix CI * fix: upgrade deps to fix build * fix: fix test * fix: skip some filed tests to avoid error * fix: fix build errors that maked by merge code * refactor: remove moment * fix: error * feat: update doc --------- Co-authored-by: chenos <chenlinxh@gmail.com>
2023-07-08 00:26:27 +00:00
background-color: var(--nb-box-bg);
}
`;
export const branchClass = css`
display: flex;
flex-direction: column;
align-items: center;
position: relative;
min-width: 20em;
padding: 0 2em;
.workflow-node-list {
flex-grow: 1;
}
.workflow-branch-lines {
position: absolute;
top: 0;
bottom: 0;
width: 1px;
background-color: #ddd;
}
:before,
:after {
content: '';
position: absolute;
height: 1px;
background-color: #ddd;
}
:before {
top: 0;
}
:after {
bottom: 0;
}
:not(:first-child):not(:last-child) {
:before,
:after {
left: 0;
width: 100%;
}
}
:last-child:not(:first-child) {
:before,
:after {
right: 50%;
width: 50%;
}
}
:first-child:not(:last-child) {
:before,
:after {
left: 50%;
width: 50%;
}
}
`;
export const nodeBlockClass = css`
flex-grow: 1;
flex-shrink: 0;
display: flex;
flex-direction: column;
align-items: center;
position: relative;
`;
export const nodeClass = css`
flex-shrink: 0;
display: flex;
flex-direction: column;
align-items: center;
`;
export const nodeCardClass = css`
position: relative;
width: 20em;
background: #fff;
padding: 1em;
box-shadow: 0 0.25em 0.5em rgba(0, 0, 0, 0.1);
border-radius: 0.5em;
cursor: pointer;
transition: box-shadow 0.3s ease;
&.configuring {
box-shadow: 0 0.25em 1em rgba(0, 100, 200, 0.25);
}
.workflow-node-remove-button {
position: absolute;
right: 0.5em;
top: 0.5em;
color: #999;
opacity: 0;
transition: opacity 0.3s ease;
&[disabled] {
display: none;
}
&:hover {
color: red;
}
}
.ant-input {
font-weight: bold;
&:not(:focus) {
transition: background-color 0.3s ease, border-color 0.3s ease;
border-color: #f7f7f7;
background-color: #f7f7f7;
&:not(:disabled):hover {
border-color: #eee;
background-color: #eee;
}
&:disabled:hover {
border-color: #f7f7f7;
}
}
}
.workflow-node-config-button {
padding: 0;
}
&:hover {
box-shadow: 0 0.25em 0.5em rgba(0, 0, 0, 0.25);
.workflow-node-remove-button {
opacity: 1;
}
}
`;
export const nodeJobButtonClass = css`
display: flex;
position: absolute;
top: 1.25em;
right: 1.25em;
width: 1.25rem;
height: 1.25rem;
min-width: 1.25rem;
justify-content: center;
align-items: center;
font-size: 0.8em;
color: #fff;
&[type='button'] {
border: none;
}
refactor(client)!: upgrade antd to v5 (#2078) * refactor: change moment to dayjs * refactor: remove antd css * refactor: change @formily/antd to @formily/antd-v5 * chore: add dep * chore: upgrade babel/core and typescript * refactor: rename moment to dayjs * fix(dayjs): add plugins * refactor: fix type errors * refactor: change default export to named export * chore: upgrade ts-loader * refactor: rename moment to dayjs * refactor: fix type errors * chore: upgrade deps for build * fix: fix build errors * fix: add antd reset css * fix: fix build error * chore: add __builtins__ * chore: optimize genStyleHook * refactor(Calendar): less to css-in-js * refactor(acl): less to css-in-js * refactor(board): less to css-in-js * chore: add antd-style * refactor(acl): use antd-style * refactor(board): use antd-style * refactor: schema-initializer * refactor: refactor genStyleHook * refactor: kanban * refactor: filter * refactor: upload * refactor: markdown * refactor: rename className to componentCls * refactor: rich-text * style: fix style * fix: fix merge error * chore: update yarn.lock * chore: upgrade formily * style: fix pageHeader * style: fix add button style * style: fix header menu color * chore: update yarn.lock * chore: upgrade deps * test: fix tests * test: fix tests * fix: fix build error * fix: fix style of plugin doc * fix: fix tests * fix: fix drag bug * refactor: remove useless code * fix: fix Modal style (T-621) * fix: fix box-shadow of subMenu (T-622) * fix: fix style of linkage rules (T-623) * fix: fix style of DataTemplate * fix: fix style of variable (T-620) * chore: update yarn.lock * fix: avoid test failed * test: fix error * chore: update yarn.lock * test: fix error * test(dayjs): fix error * fix: should delay show menu to avoid the menu not hidden * test: skip failure test * fix(mouseEnterDelay): change default value from 100 to 150 * test: avoid failed * refactor: rename component names * chore: optimize types * chore: lock antd version * fix: fix build * fix: fix build * fix: layout bg color use variable * fix: fix style of buttons * feat: remove theme config * fix(calendar): fix style * fix(mobile-client): fix dialog style * fix: fix test * refactor: make code gooder * chore: change code * fix: fix T-847 * fix: fix T-845 * fix: display block * fix: danger button * refactor: make tester better * fix: change moment to dayjs * fix: build error * fix: import dayjs/plugin/isSameOrBefore * refactor: downgrade @testing-library/react to fix warning * fix: fix CI * fix: upgrade deps to fix build * fix: fix test * fix: skip some filed tests to avoid error * fix: fix build errors that maked by merge code * refactor: remove moment * fix: error * feat: update doc --------- Co-authored-by: chenos <chenlinxh@gmail.com>
2023-07-08 00:26:27 +00:00
&.inner {
position: static;
}
.ant-tag {
padding: 0;
width: 100%;
line-height: 18px;
margin-right: 0;
border-radius: 50%;
text-align: center;
}
`;
export const nodeHeaderClass = css`
position: relative;
`;
export const nodeMetaClass = css`
margin-bottom: 0.5em;
.workflow-node-id {
color: #999;
&:before {
content: '#';
}
}
`;
export const nodeTitleClass = css`
display: flex;
align-items: center;
font-weight: normal;
.workflow-node-id {
color: #999;
}
`;
export const nodeSubtreeClass = css`
display: flex;
flex-direction: column-reverse;
align-items: center;
`;
export const addButtonClass = css`
flex-shrink: 0;
padding: 2em 0;
> .ant-btn {
&:disabled {
visibility: hidden;
}
}
`;