Skip to content

Commit

Permalink
feat: update output graph (#143)
Browse files Browse the repository at this point in the history
mod: code review

mod: code review

mod: code review
  • Loading branch information
hetao92 authored Mar 15, 2022
1 parent 2c6f83c commit 1e263d5
Show file tree
Hide file tree
Showing 81 changed files with 4,811 additions and 865 deletions.
76 changes: 26 additions & 50 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ module.exports = {
],
parser: '@typescript-eslint/parser',
parserOptions: {
'project': ['./tsconfig.json'],
'tsconfigRootDir': __dirname,
'project': 'tsconfig.json',
'sourceType': 'module'
},
plugins: [
Expand All @@ -34,7 +33,7 @@ module.exports = {
}
},
rules: {
'arrow-spacing':[
'arrow-spacing': [
'error',
{
before: true,
Expand All @@ -49,6 +48,7 @@ module.exports = {
default: 'array'
}
],
'react/display-name': 'off',
'@typescript-eslint/ban-types': [
'error',
{
Expand Down Expand Up @@ -108,29 +108,14 @@ module.exports = {
}
}
],
'@typescript-eslint/member-ordering': 'error',
'@typescript-eslint/naming-convention': [
'error',
{ selector: 'typeLike', format: ['PascalCase', 'UPPER_CASE'], filter: { 'regex': '^(__String|[A-Za-z]+_[A-Za-z]+)$', match: false } },
{ selector: 'interface', format: ['PascalCase'], 'custom': { 'regex': '^I[A-Z][a-zA-Z0-9]*', match: true }, filter: { 'regex': '^I(Arguments|TextWriter|O([A-Z][a-z]+[A-Za-z]*)?)$', match: false } },
{ selector: 'variable', format: ['camelCase', 'PascalCase', 'UPPER_CASE'], 'leadingUnderscore': 'allow', filter: { 'regex': '^(_{1,2}filename|_{1,2}dirname|_+|[A-Za-z]+_[A-Za-z]+)$', match: false } },
{ selector: 'function', format: ['camelCase', 'PascalCase'], 'leadingUnderscore': 'allow', filter: { 'regex': '^[A-Za-z]+_[A-Za-z]+$', match: false } },
{ selector: 'parameter', format: ['camelCase', 'PascalCase'], 'leadingUnderscore': 'allow', filter: { 'regex': '^(_+|[A-Za-z]+_[A-Z][a-z]+)$', match: false } },
{ selector: 'method', format: ['camelCase', 'PascalCase'], 'leadingUnderscore': 'allow', filter: { 'regex': '^[A-Za-z]+_[A-Za-z]+$', match: false } },
{ selector: 'memberLike', format: ['camelCase'], 'leadingUnderscore': 'allow', filter: { 'regex': '^[A-Za-z]+_[A-Za-z]+$', match: false } },
{ selector: 'enumMember', format: ['camelCase', 'PascalCase', 'UPPER_CASE'], 'leadingUnderscore': 'allow', filter: { 'regex': '^[A-Za-z]+_[A-Za-z]+$', match: false } },
{ selector: 'property', format: null }
],
'@typescript-eslint/no-empty-function': 'error',
'@typescript-eslint/no-empty-function': 'off',
'@typescript-eslint/no-empty-interface': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-misused-new': 'error',
'@typescript-eslint/no-namespace': 'error',
'@typescript-eslint/no-parameter-properties': 'off',
'@typescript-eslint/no-unused-expressions': ['error', { "allowTernary": true, "allowShortCircuit": true }],
'@typescript-eslint/no-this-alias': 'error',
'@typescript-eslint/no-use-before-define': 'off',
'@typescript-eslint/no-var-requires': 'error',
'@typescript-eslint/prefer-for-of': 'error',
'@typescript-eslint/prefer-function-type': 'error',
'@typescript-eslint/prefer-namespace-keyword': 'error',
'@typescript-eslint/quotes': [
Expand Down Expand Up @@ -165,13 +150,12 @@ module.exports = {
'error',
'smart'
],
'guard-for-in': 'error',
'id-blacklist': 'error',
'id-match': 'error',
'import/no-extraneous-dependencies': 'error',
'import/no-internal-modules': 'off',
'sort-imports': 'error',
'import/order': 'error',
'jsdoc/check-alignment': 'error',
'jsdoc/check-indentation': 'error',
'jsdoc/newline-after-description': 'error',
'max-classes-per-file': [
'error',
Expand Down Expand Up @@ -220,7 +204,7 @@ module.exports = {
'no-new-wrappers': 'error',
'no-redeclare': 'error',
'no-return-await': 'error',
'no-sequences': 'error',
'no-sequences': 'off',
'no-shadow': [
'off',
{
Expand All @@ -239,16 +223,11 @@ module.exports = {
'error',
'never'
],
"no-multi-spaces": ["error", { ignoreEOLComments: true }],
"comma-spacing": ["error"],
'no-multi-spaces': ['error', { ignoreEOLComments: true }],
'comma-spacing': ['error'],
'prefer-const': 'error',
'prefer-object-spread': 'error',
'radix': 'error',
'react/display-name': 'error',
'react/jsx-boolean-value': [
'error',
'always'
],
'react/jsx-curly-spacing': 'off',
'react/jsx-equals-spacing': 'off',
'react/jsx-key': 'error',
Expand All @@ -265,7 +244,7 @@ module.exports = {
'react/jsx-uses-react': 'error',
'react/jsx-uses-vars': 'error',
'react/jsx-wrap-multilines': 'off',
'react/no-children-prop': 'off',
'react/no-children-prop': 'error',
'react/no-danger-with-children': 'error',
'react/no-deprecated': 'error',
'react/no-direct-mutation-state': 'error',
Expand All @@ -276,10 +255,14 @@ module.exports = {
'react/no-unescaped-entities': 'error',
'react/no-unknown-property': 'error',
'react/no-unsafe': 'off',
'react/prop-types': 'error',
'react/prop-types': 'off',
'react/react-in-jsx-scope': 'error',
'react/require-render-return': 'error',
'react/self-closing-comp': ['error'],
'key-spacing': ['error', {
'beforeColon': false,
'afterColon': true
}],
'space-in-parens': [
'error',
'never'
Expand All @@ -293,25 +276,18 @@ module.exports = {
]
}
],
'key-spacing': ["error", {
"beforeColon": false,
"afterColon": true
}],
'object-property-newline': ["error", { "allowAllPropertiesOnSameLine": true }],
"space-infix-ops": "error",
'space-infix-ops': 'error',
semi: 1,
'block-spacing': "error",
'space-before-blocks': "error",
'space-before-function-paren': ["error", "never"],
'object-curly-spacing': ['error','always'],
'block-spacing': 'error',
'space-before-blocks': 'error',
'space-before-function-paren': ['error', {
'anonymous': 'never',
'named': 'never',
'asyncArrow': 'always'
}],
'object-curly-spacing': ['error', 'always'],
'use-isnan': 'error',
'valid-typeof': 'off',
'jsx-quotes': ['error', 'prefer-double'],
'sort-imports': ['error', {
ignoreCase: false,
ignoreDeclarationSort: true,
ignoreMemberSort: false,
memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single']
}]
'jsx-quotes': ['error', 'prefer-double']
}
};
2 changes: 1 addition & 1 deletion app/app.less
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
src: url(~@app/static/fonts/Roboto-Regular.ttf);
}

#app {
#studio-app {
font-family: Roboto-Regular, sans-serif;
}

Expand Down
18 changes: 18 additions & 0 deletions app/components/Button/index.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
@import '@app/common.less';

svg.btn-icon {
fill: #262626;
cursor: pointer;
}

svg.btn-actived {
fill: @blue;
}

svg.btn-disabled {
cursor: not-allowed;
}

svg.rotate-btn {
transform: rotate(180deg);
}
59 changes: 59 additions & 0 deletions app/components/Button/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import classnames from 'classnames';
import React from 'react';

import Icon from '@app/components/Icon';
import './index.less';
interface IBtnProps {
disabled?: boolean;
action?: () => void;
mouseDownAction?: () => void;
mouseUpAction?: () => void;
icon?: string;
title?: string;
className?: string;
actived?: boolean;
component?: any;
trackCategory?: string;
trackAction?: string;
trackLabel?: string;
}

interface IMenuButton extends IBtnProps {
tips?: string;
id?:string;
}
const MenuButton: React.FC<IMenuButton> = (props: IMenuButton) => {
const { icon, action, disabled, title, actived, component, className, trackCategory, trackAction, trackLabel } =
props;
return <div
className={classnames(
{
'btn-disabled': disabled,
'btn-actived': actived,
},
className,
)}
onClick={e => {
e.preventDefault();
if (!disabled && action) {
action();
}
}}
data-track-category={trackCategory}
data-track-action={trackAction}
data-track-label={trackLabel}
>
{icon && (
<Icon
type={icon}
data-track-category={trackCategory}
data-track-action={trackAction}
data-track-label={trackLabel}
className="btn-icon"
/>
)}
{component}
{title && <span>{title}</span>}
</div>;
};
export default MenuButton;
14 changes: 14 additions & 0 deletions app/components/ColorPicker/index.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.custom-picker {
border: none !important;
box-shadow: initial !important;
border-radius: 0 !important;

> div {
padding: 0 !important;

> span > div {
width: 24px !important;
height: 24px !important;
}
}
}
39 changes: 39 additions & 0 deletions app/components/ColorPicker/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import React from 'react';
import { TwitterPicker } from 'react-color';

import { COLOR_PICK_LIST } from '@app/config/explore';

import './index.less';

interface IProps {
onChangeComplete?: (color: string) => void;
onChange?: (color: string) => void;
}

const ColorPicker: React.FC<IProps> = (props: IProps) => {
const { onChange, onChangeComplete } = props;
const handleChange = color => {
if (onChange) {
onChange(color);
}
};

const handleChangeComplete = (color, _event) => {
if (onChangeComplete) {
onChangeComplete(color);
}
};

return (
<TwitterPicker
width="240px"
className="custom-picker"
onChange={handleChange}
onChangeComplete={handleChangeComplete}
colors={COLOR_PICK_LIST}
triangle="hide"
/>
);
};

export default ColorPicker;
Loading

0 comments on commit 1e263d5

Please sign in to comment.