├── mock
└── .gitkeep
├── src
├── access.ts
├── utils
│ ├── Assist
│ │ ├── About
│ │ │ ├── README.md
│ │ │ └── index.tsx
│ │ ├── EventEmitter
│ │ │ └── README.md
│ │ ├── BreakingChange
│ │ │ ├── README.md
│ │ │ ├── ComponentTransformOriginChange
│ │ │ │ ├── README.md
│ │ │ │ └── index.ts
│ │ │ ├── ComponentInputButtonWidthChange
│ │ │ │ └── README.md
│ │ │ ├── ConditionChange
│ │ │ │ └── README.md
│ │ │ └── ScreenThemeTypeChange
│ │ │ │ └── README.md
│ │ ├── Logger
│ │ │ ├── RequestLogger
│ │ │ │ └── index.less
│ │ │ └── Window
│ │ │ │ └── index.less
│ │ ├── GlobalDva
│ │ │ └── index.ts
│ │ ├── GlobalComponent
│ │ │ └── index.ts
│ │ └── Progress
│ │ │ └── index.ts
│ ├── constants
│ │ ├── data.ts
│ │ ├── theme.ts
│ │ └── mobile.ts
│ └── index.ts
├── components
│ ├── ChartComponents
│ │ ├── Common
│ │ │ ├── Modal
│ │ │ │ └── index.tsx
│ │ │ ├── RenderWrapper
│ │ │ │ ├── README.md
│ │ │ │ └── ShowIdWrapper
│ │ │ │ │ ├── index.less
│ │ │ │ │ └── connect.ts
│ │ │ ├── index.less
│ │ │ ├── BaseConfig
│ │ │ │ ├── index.less
│ │ │ │ └── connect.ts
│ │ │ ├── SimpleHueSelect
│ │ │ │ └── index.less
│ │ │ ├── InterActiveConfig
│ │ │ │ ├── components
│ │ │ │ │ ├── LinkageConfig
│ │ │ │ │ │ └── index.less
│ │ │ │ │ └── BaseConfig
│ │ │ │ │ │ └── connect.ts
│ │ │ │ ├── index.less
│ │ │ │ └── connect.ts
│ │ │ ├── Component
│ │ │ │ └── hook
│ │ │ │ │ ├── useChartEvent.ts
│ │ │ │ │ ├── useComponentResize.ts
│ │ │ │ │ └── index.ts
│ │ │ ├── DataConfig
│ │ │ │ ├── components
│ │ │ │ │ └── ResponseData
│ │ │ │ │ │ └── components
│ │ │ │ │ │ ├── DataConfigDetail
│ │ │ │ │ │ ├── index.less
│ │ │ │ │ │ └── components
│ │ │ │ │ │ │ ├── DefineConfig
│ │ │ │ │ │ │ ├── type.d.ts
│ │ │ │ │ │ │ ├── ApiConfig
│ │ │ │ │ │ │ │ ├── index.less
│ │ │ │ │ │ │ │ └── connect.ts
│ │ │ │ │ │ │ └── MockConfig
│ │ │ │ │ │ │ │ └── connect.ts
│ │ │ │ │ │ │ ├── SubTitle
│ │ │ │ │ │ │ └── index.less
│ │ │ │ │ │ │ ├── ResponseDataTitle
│ │ │ │ │ │ │ └── connect.ts
│ │ │ │ │ │ │ └── DataFilter
│ │ │ │ │ │ │ └── connect.ts
│ │ │ │ │ │ ├── AutoUpdate
│ │ │ │ │ │ └── index.less
│ │ │ │ │ │ └── CodeViewer
│ │ │ │ │ │ └── connect.ts
│ │ │ │ └── connect.ts
│ │ │ ├── LocalUpload
│ │ │ │ └── index.less
│ │ │ ├── PositionConfig
│ │ │ │ └── index.less
│ │ │ ├── Structure
│ │ │ │ ├── HalfFormPlaceHolder
│ │ │ │ │ └── index.less
│ │ │ │ ├── FullForm
│ │ │ │ │ └── index.less
│ │ │ │ ├── HalfForm
│ │ │ │ │ └── index.less
│ │ │ │ ├── PlaceHolder
│ │ │ │ │ └── index.less
│ │ │ │ └── Container
│ │ │ │ │ ├── index.less
│ │ │ │ │ └── index.tsx
│ │ │ ├── Icon
│ │ │ │ └── index.tsx
│ │ │ ├── Checkbox
│ │ │ │ ├── index.less
│ │ │ │ └── index.tsx
│ │ │ ├── RuleTree
│ │ │ │ └── components
│ │ │ │ │ ├── InnerConnectLeft
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── InnerConnectRight
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── OuterConnectRight
│ │ │ │ │ └── index.tsx
│ │ │ │ │ └── OuterConnectLeft
│ │ │ │ │ └── index.tsx
│ │ │ ├── Switch
│ │ │ │ └── index.tsx
│ │ │ └── FetchFragment
│ │ │ │ └── connect.ts
│ │ ├── Font
│ │ │ ├── Title
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ ├── id.ts
│ │ │ │ └── index.ts
│ │ │ ├── Icon
│ │ │ │ ├── id.ts
│ │ │ │ ├── type.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ └── index.ts
│ │ │ ├── Tag
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ ├── type.ts
│ │ │ │ └── index.ts
│ │ │ ├── Text
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ ├── type.ts
│ │ │ │ └── index.ts
│ │ │ ├── LoopText
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ └── index.ts
│ │ │ ├── FontCarousel
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ └── type.ts
│ │ │ ├── TimeMachine
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ ├── type.ts
│ │ │ │ └── index.ts
│ │ │ └── CountUpNumber
│ │ │ │ ├── id.ts
│ │ │ │ └── component
│ │ │ │ └── index.less
│ │ ├── Media
│ │ │ ├── Image
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ ├── id.ts
│ │ │ │ ├── type.ts
│ │ │ │ └── index.ts
│ │ │ ├── Audio
│ │ │ │ ├── id.ts
│ │ │ │ ├── type.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ └── index.ts
│ │ │ ├── Model
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ ├── type.ts
│ │ │ │ └── index.ts
│ │ │ ├── Video
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ ├── type.ts
│ │ │ │ └── index.ts
│ │ │ ├── Carousel
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ ├── type.ts
│ │ │ │ └── index.ts
│ │ │ └── PictureWall
│ │ │ │ ├── component
│ │ │ │ └── index.less
│ │ │ │ ├── id.ts
│ │ │ │ └── type.ts
│ │ ├── Other
│ │ │ ├── List
│ │ │ │ ├── id.ts
│ │ │ │ └── index.ts
│ │ │ ├── Iframe
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ ├── MessageTooltip
│ │ │ │ │ │ └── index.less
│ │ │ │ │ └── index.less
│ │ │ │ ├── type.ts
│ │ │ │ └── index.ts
│ │ │ ├── QrCode
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ ├── type.ts
│ │ │ │ └── index.ts
│ │ │ ├── Weather
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ ├── index.ts
│ │ │ │ └── type.ts
│ │ │ ├── LuckyDraw
│ │ │ │ ├── id.ts
│ │ │ │ └── index.ts
│ │ │ ├── PathBasic
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ └── index.ts
│ │ │ ├── StateCard
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ ├── type.ts
│ │ │ │ └── index.ts
│ │ │ ├── StateList
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ └── index.ts
│ │ │ ├── WaterBall
│ │ │ │ ├── id.ts
│ │ │ │ ├── type.ts
│ │ │ │ └── index.ts
│ │ │ └── WordCloud
│ │ │ │ └── id.ts
│ │ ├── Interactive
│ │ │ ├── Rate
│ │ │ │ ├── id.ts
│ │ │ │ ├── type.ts
│ │ │ │ └── index.ts
│ │ │ ├── Tab
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ ├── index.ts
│ │ │ │ └── type.ts
│ │ │ ├── Button
│ │ │ │ ├── id.ts
│ │ │ │ ├── type.ts
│ │ │ │ └── index.ts
│ │ │ ├── Input
│ │ │ │ ├── id.ts
│ │ │ │ └── index.ts
│ │ │ ├── Radio
│ │ │ │ ├── id.ts
│ │ │ │ ├── type.ts
│ │ │ │ └── index.ts
│ │ │ ├── Select
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ └── index.ts
│ │ │ ├── Steps
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── components
│ │ │ │ │ │ └── RcSteps
│ │ │ │ │ │ ├── interface.ts
│ │ │ │ │ │ └── index.ts
│ │ │ │ └── index.ts
│ │ │ ├── Switch
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ └── index.ts
│ │ │ ├── Checkbox
│ │ │ │ ├── id.ts
│ │ │ │ ├── type.ts
│ │ │ │ └── index.ts
│ │ │ ├── Datepicker
│ │ │ │ └── id.ts
│ │ │ ├── FullScreen
│ │ │ │ ├── id.ts
│ │ │ │ ├── type.ts
│ │ │ │ └── component
│ │ │ │ │ └── index.less
│ │ │ └── Pagination
│ │ │ │ └── id.ts
│ │ ├── Source
│ │ │ ├── Ticket
│ │ │ │ ├── id.ts
│ │ │ │ ├── type.ts
│ │ │ │ └── index.ts
│ │ │ ├── Typed
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ ├── type.ts
│ │ │ │ └── index.ts
│ │ │ ├── Decoration1
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ └── type.ts
│ │ │ ├── Decoration2
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ └── type.ts
│ │ │ ├── Decoration3
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ └── type.ts
│ │ │ ├── Decoration4
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ └── type.ts
│ │ │ ├── Decoration5
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ └── type.ts
│ │ │ ├── Decoration6
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ └── type.ts
│ │ │ ├── Decoration7
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ │ └── index.less
│ │ │ │ └── type.ts
│ │ │ └── Decoration8
│ │ │ │ ├── id.ts
│ │ │ │ ├── component
│ │ │ │ └── index.less
│ │ │ │ └── type.ts
│ │ ├── Chart
│ │ │ ├── Bar
│ │ │ │ ├── LineBar
│ │ │ │ │ ├── id.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── RankBar
│ │ │ │ │ ├── id.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── BarBasic
│ │ │ │ │ └── id.ts
│ │ │ │ ├── CachetBar
│ │ │ │ │ ├── id.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── PolarBar
│ │ │ │ │ ├── id.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── RadialBar
│ │ │ │ │ ├── id.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── StackBar
│ │ │ │ │ ├── id.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── ZebraBar
│ │ │ │ │ ├── id.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── NegativeBar
│ │ │ │ │ ├── id.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── PercentBar
│ │ │ │ │ ├── id.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── ProgressBar
│ │ │ │ │ └── id.ts
│ │ │ │ ├── HorizontalBar
│ │ │ │ │ └── id.ts
│ │ │ │ ├── PolarStackBar
│ │ │ │ │ └── id.ts
│ │ │ │ └── WaterFallBar
│ │ │ │ │ └── id.ts
│ │ │ ├── Line
│ │ │ │ ├── LineBasic
│ │ │ │ │ ├── id.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── StepLine
│ │ │ │ │ ├── id.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── RadialLine
│ │ │ │ │ └── id.ts
│ │ │ │ └── RadialStackLine
│ │ │ │ │ └── id.ts
│ │ │ ├── Pie
│ │ │ │ ├── CirclePie
│ │ │ │ │ ├── id.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── PieBasic
│ │ │ │ │ ├── id.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── PercentPie
│ │ │ │ │ └── id.ts
│ │ │ │ └── NightingalePie
│ │ │ │ │ └── id.ts
│ │ │ ├── Tree
│ │ │ │ └── TreeBasic
│ │ │ │ │ ├── id.ts
│ │ │ │ │ └── index.ts
│ │ │ ├── Gauge
│ │ │ │ ├── ClockGauge
│ │ │ │ │ └── id.ts
│ │ │ │ └── GaugeBasic
│ │ │ │ │ └── id.ts
│ │ │ ├── Radar
│ │ │ │ └── RadarBasic
│ │ │ │ │ └── id.ts
│ │ │ ├── BoxPlot
│ │ │ │ └── BoxPlotBasic
│ │ │ │ │ └── id.ts
│ │ │ ├── Funnel
│ │ │ │ └── FunnelBasic
│ │ │ │ │ └── id.ts
│ │ │ ├── Scatter
│ │ │ │ ├── ScatterBasic
│ │ │ │ │ └── id.ts
│ │ │ │ └── BubbleScatter
│ │ │ │ │ └── id.ts
│ │ │ ├── TreeMap
│ │ │ │ └── TreeMapBasic
│ │ │ │ │ └── id.ts
│ │ │ ├── Parallel
│ │ │ │ └── ParallelBasic
│ │ │ │ │ └── id.ts
│ │ │ ├── SunBurst
│ │ │ │ └── SunBurstBasic
│ │ │ │ │ ├── id.ts
│ │ │ │ │ └── type.ts
│ │ │ ├── Candlestick
│ │ │ │ └── CandlestickBasic
│ │ │ │ │ └── id.ts
│ │ │ └── PictorialBar
│ │ │ │ └── PictorialBarBasic
│ │ │ │ └── id.ts
│ │ └── Map
│ │ │ ├── Ali3DMap
│ │ │ ├── id.ts
│ │ │ └── index.ts
│ │ │ └── ScatterMap
│ │ │ ├── id.ts
│ │ │ └── index.ts
│ ├── InternalBackground
│ │ └── components
│ │ │ └── Background
│ │ │ ├── index.less
│ │ │ ├── ColorLineBackground
│ │ │ └── index.less
│ │ │ ├── DoodleBubbleBackground
│ │ │ └── index.less
│ │ │ └── GradientMixBackground
│ │ │ └── index.tsx
│ ├── BackgroundSelect
│ │ └── index.less
│ ├── Tooltip
│ │ ├── index.less
│ │ └── index.tsx
│ ├── ScreenComponentConfigChangeTooltip
│ │ ├── index.less
│ │ ├── Constants
│ │ │ ├── 1.21
│ │ │ │ └── index.ts
│ │ │ └── index.ts
│ │ └── connect.ts
│ ├── Decoration
│ │ ├── Decoration5
│ │ │ └── index.less
│ │ ├── Decoration8
│ │ │ └── index.less
│ │ ├── Decoration1
│ │ │ └── index.less
│ │ ├── Decoration3
│ │ │ └── index.less
│ │ ├── Decoration6
│ │ │ └── index.less
│ │ ├── Decoration2
│ │ │ └── index.less
│ │ └── Decoration11
│ │ │ └── index.less
│ ├── ColorGradientSelect
│ │ └── index.less
│ ├── ParamsSelect
│ │ ├── index.less
│ │ └── connect.ts
│ ├── ColorMatcher
│ │ └── index.tsx
│ ├── IconTooltip
│ │ └── index.less
│ ├── Empty
│ │ └── index.tsx
│ ├── CodeEditor
│ │ └── index.tsx
│ ├── InternalBorder
│ │ ├── components
│ │ │ └── Border
│ │ │ │ ├── DashedBorder
│ │ │ │ └── index.less
│ │ │ │ ├── index.less
│ │ │ │ ├── type.ts
│ │ │ │ ├── BorderBox12
│ │ │ │ └── index.less
│ │ │ │ ├── BorderBox13
│ │ │ │ └── index.less
│ │ │ │ ├── BorderBox8
│ │ │ │ └── index.less
│ │ │ │ ├── BorderBox9
│ │ │ │ └── index.less
│ │ │ │ ├── BorderBox2
│ │ │ │ └── index.less
│ │ │ │ ├── BorderBox6
│ │ │ │ └── index.less
│ │ │ │ └── BorderBox11
│ │ │ │ └── index.less
│ │ └── connect.ts
│ ├── PromptChrome
│ │ └── index.less
│ ├── GhostButton
│ │ ├── index.less
│ │ └── index.tsx
│ ├── RelationBorder
│ │ └── index.less
│ ├── ComponentSelect
│ │ └── index.less
│ ├── IntroductionButton
│ │ └── index.less
│ ├── Ruler
│ │ └── connect.ts
│ ├── GuideLine
│ │ └── connect.ts
│ ├── ColorSelect
│ │ └── index.less
│ ├── ComponentError
│ │ └── index.less
│ ├── ColorImageBackground
│ │ └── index.less
│ ├── ScrollText
│ │ └── index.less
│ ├── DesignerBackground
│ │ └── index.less
│ ├── ImageUpload
│ │ └── index.less
│ ├── PageLoading
│ │ └── index.less
│ ├── ContextMenu
│ │ └── Actions
│ │ │ ├── Redo.tsx
│ │ │ └── Undo.tsx
│ ├── SyncCodeEditor
│ │ └── Typesetting.tsx
│ └── DeepStructureComponent
│ │ └── index.tsx
├── INTERNAL.md
├── favicon.ico
├── loading.tsx
├── pages
│ ├── Designer
│ │ ├── components
│ │ │ ├── Header
│ │ │ │ ├── ActionList
│ │ │ │ │ ├── index.less
│ │ │ │ │ └── components
│ │ │ │ │ │ ├── ComponentSearch
│ │ │ │ │ │ └── index.less
│ │ │ │ │ │ └── DebugConfig
│ │ │ │ │ │ └── Winbox
│ │ │ │ │ │ └── components
│ │ │ │ │ │ └── InsertComponent
│ │ │ │ │ │ └── connect.ts
│ │ │ │ ├── connect.ts
│ │ │ │ └── index.less
│ │ │ ├── LeftContent
│ │ │ │ ├── components
│ │ │ │ │ ├── RequestDefaultConfig
│ │ │ │ │ │ ├── index.less
│ │ │ │ │ │ └── connect.ts
│ │ │ │ │ ├── LayerManage
│ │ │ │ │ │ ├── type.ts
│ │ │ │ │ │ └── components
│ │ │ │ │ │ │ ├── Header
│ │ │ │ │ │ │ └── index.less
│ │ │ │ │ │ │ └── Tree
│ │ │ │ │ │ │ ├── connect.ts
│ │ │ │ │ │ │ └── components
│ │ │ │ │ │ │ └── ActionBar
│ │ │ │ │ │ │ └── index.less
│ │ │ │ │ ├── ComponentList
│ │ │ │ │ │ └── connect.ts
│ │ │ │ │ ├── LensConfig
│ │ │ │ │ │ └── connect.ts
│ │ │ │ │ ├── ConstantManage
│ │ │ │ │ │ └── connect.ts
│ │ │ │ │ ├── CallbackManage
│ │ │ │ │ │ └── connect.ts
│ │ │ │ │ └── ThemeConfig
│ │ │ │ │ │ ├── CustomConfig
│ │ │ │ │ │ └── index.less
│ │ │ │ │ │ └── index.less
│ │ │ │ └── index.less
│ │ │ ├── RenderComponent
│ │ │ │ ├── components
│ │ │ │ │ ├── NameTag
│ │ │ │ │ │ ├── index.less
│ │ │ │ │ │ └── connect.ts
│ │ │ │ │ ├── Content
│ │ │ │ │ │ ├── index.less
│ │ │ │ │ │ ├── ComponentWrapper
│ │ │ │ │ │ │ ├── index.less
│ │ │ │ │ │ │ └── connect.ts
│ │ │ │ │ │ ├── ComponentInternalWrapper
│ │ │ │ │ │ │ └── index.tsx
│ │ │ │ │ │ ├── SubGroup
│ │ │ │ │ │ │ └── index.less
│ │ │ │ │ │ └── connect.ts
│ │ │ │ │ └── Wrapper
│ │ │ │ │ │ └── PcWrapper
│ │ │ │ │ │ └── ResizeComponent.tsx
│ │ │ │ ├── index.less
│ │ │ │ └── connect.ts
│ │ │ ├── Panel
│ │ │ │ ├── components
│ │ │ │ │ ├── Painter
│ │ │ │ │ │ └── index.less
│ │ │ │ │ ├── ToolBar
│ │ │ │ │ │ ├── index.less
│ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ ├── Scale
│ │ │ │ │ │ │ │ ├── index.less
│ │ │ │ │ │ │ │ └── connect.ts
│ │ │ │ │ │ │ ├── PanelThumb
│ │ │ │ │ │ │ │ └── connect.ts
│ │ │ │ │ │ │ └── ShortcutKeys
│ │ │ │ │ │ │ │ └── index.less
│ │ │ │ │ │ └── connect.ts
│ │ │ │ │ ├── PanelWrapper
│ │ │ │ │ │ ├── constants.ts
│ │ │ │ │ │ ├── index.less
│ │ │ │ │ │ └── components
│ │ │ │ │ │ │ ├── Ruler
│ │ │ │ │ │ │ └── connect.ts
│ │ │ │ │ │ │ ├── GuideLineButton
│ │ │ │ │ │ │ └── index.less
│ │ │ │ │ │ │ └── AbsorbGuideLine
│ │ │ │ │ │ │ └── connect.ts
│ │ │ │ │ ├── ReactSelecto
│ │ │ │ │ │ ├── index.less
│ │ │ │ │ │ └── connect.ts
│ │ │ │ │ └── ComponentList
│ │ │ │ │ │ └── connect.ts
│ │ │ │ └── index.less
│ │ │ ├── ShepherdWrapper
│ │ │ │ ├── index.less
│ │ │ │ └── connect.ts
│ │ │ ├── RightContent
│ │ │ │ ├── components
│ │ │ │ │ ├── GroupConfig
│ │ │ │ │ │ ├── index.less
│ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ ├── Config
│ │ │ │ │ │ │ │ └── index.tsx
│ │ │ │ │ │ │ ├── WrapperConfig
│ │ │ │ │ │ │ │ └── index.tsx
│ │ │ │ │ │ │ └── ComponentSelect
│ │ │ │ │ │ │ │ └── index.tsx
│ │ │ │ │ │ └── connect.ts
│ │ │ │ │ ├── MultiConfig
│ │ │ │ │ │ └── index.less
│ │ │ │ │ ├── ComponentConfig
│ │ │ │ │ │ ├── index.less
│ │ │ │ │ │ └── connect.ts
│ │ │ │ │ └── GlobalConfig
│ │ │ │ │ │ ├── index.less
│ │ │ │ │ │ └── connect.ts
│ │ │ │ ├── index.less
│ │ │ │ └── connect.ts
│ │ │ ├── ExchangeScreenFlag
│ │ │ │ ├── components
│ │ │ │ │ └── MobilePreviewer
│ │ │ │ │ │ ├── context.ts
│ │ │ │ │ │ └── index.less
│ │ │ │ └── connect.ts
│ │ │ └── PageLoading
│ │ │ │ └── index.less
│ │ ├── index.less
│ │ ├── connect.ts
│ │ └── utils
│ │ │ └── component
│ │ │ └── GenerateList
│ │ │ └── index.tsx
│ ├── Test
│ │ └── index.tsx
│ ├── ScreenList
│ │ ├── components
│ │ │ └── SvgAnimation
│ │ │ │ └── index.less
│ │ └── connect.ts
│ ├── Share
│ │ ├── components
│ │ │ └── WaterMark
│ │ │ │ ├── index.less
│ │ │ │ ├── connect.ts
│ │ │ │ └── index.tsx
│ │ └── index.less
│ ├── Login
│ │ └── connect.ts
│ ├── Forget
│ │ └── connect.ts
│ ├── Register
│ │ └── connect.ts
│ └── Home
│ │ └── components
│ │ └── MatterBoxes
│ │ └── index.less
├── services
│ ├── index.ts
│ ├── third.ts
│ └── mock.ts
├── layouts
│ ├── AuthLayout
│ │ └── index.tsx
│ └── components
│ │ ├── CommonLayout
│ │ ├── FetchLoginWrapper
│ │ │ └── connect.ts
│ │ ├── EnvironmentPrompt
│ │ │ └── index.tsx
│ │ ├── EventEmitWrapper
│ │ │ └── index.tsx
│ │ └── ContainerWrapper4Static
│ │ │ └── index.tsx
│ │ └── Avatar
│ │ └── connect.ts
├── hooks
│ ├── useAnyDva.ts
│ ├── useDeepUpdateEffect.ts
│ ├── usePanelFocus.ts
│ └── useFirstChange.ts
└── manifest.json
├── public
├── CNAME
├── logo.jpg
├── favicon.ico
├── components
│ ├── tag.jpg
│ ├── audio.jpg
│ ├── icon.jpg
│ ├── input.jpg
│ ├── model.jpg
│ ├── radio.jpg
│ ├── rate.jpg
│ ├── steps.jpg
│ ├── text.jpg
│ ├── tree.png
│ ├── typed.jpg
│ ├── ali-map.jpg
│ ├── box-plot.png
│ ├── button.jpg
│ ├── checkbox.jpg
│ ├── iframe.jpg
│ ├── line-bar.png
│ ├── qrcode.jpg
│ ├── rank-bar.png
│ ├── switch.jpg
│ ├── ticket.jpg
│ ├── weather.png
│ ├── bar-basic.png
│ ├── cachet-bar.png
│ ├── circle-pie.png
│ ├── line-basic.png
│ ├── list-basic.jpg
│ ├── lucky-draw.jpg
│ ├── pagination.jpg
│ ├── path-basic.jpg
│ ├── pie-basic.png
│ ├── polar-bar.png
│ ├── radial-bar.png
│ ├── stack-bar.png
│ ├── state-card.jpg
│ ├── state-list.jpg
│ ├── step-line.png
│ ├── tab-basic.jpg
│ ├── water-ball.png
│ ├── word-cloud.png
│ ├── zebra-bar.png
│ ├── carousel-text.jpg
│ ├── clock-gauge.png
│ ├── date-picker.jpg
│ ├── decoration-1.jpg
│ ├── decoration-2.jpg
│ ├── decoration-3.jpg
│ ├── decoration-4.jpg
│ ├── decoration-5.jpg
│ ├── decoration-6.jpg
│ ├── decoration-7.jpg
│ ├── decoration-8.jpg
│ ├── default-chart.png
│ ├── full-screen.jpg
│ ├── funnel-basic.png
│ ├── gauge-basic.png
│ ├── image-basic.jpg
│ ├── negative-bar.png
│ ├── percent-bar.png
│ ├── percent-pie.png
│ ├── picture-wall.jpg
│ ├── progress-bar.png
│ ├── radar-basic.png
│ ├── radial-line.png
│ ├── scatter-basic.png
│ ├── scatter-map.png
│ ├── select-basic.jpg
│ ├── text-carousel.jpg
│ ├── time-machine.jpg
│ ├── title-basic.jpg
│ ├── video-basic.jpg
│ ├── waterfall-bar.png
│ ├── bubble-scatter.png
│ ├── carousel-basic.jpg
│ ├── count-up-number.jpg
│ ├── horizontal-bar.png
│ ├── nightingale-pie.png
│ ├── parallel-basic.png
│ ├── polar-stack-bar.png
│ ├── sub-burst-basic.png
│ ├── tree-map-basic.png
│ ├── candlestick-basic.png
│ ├── radial-stack-line.png
│ └── pictorial-bar-basic.png
├── home
│ ├── bar-chart.png
│ ├── dot-chart.png
│ ├── pie-chart.png
│ ├── area-chart.png
│ ├── condition-1.png
│ ├── condition-2.png
│ ├── earth-chart.png
│ ├── image-chart.png
│ ├── line-chart.png
│ ├── list-chart.png
│ ├── radar-chart.png
│ ├── title-chart.png
│ ├── video-chart.png
│ ├── condition-normal.png
│ ├── thermogram-chart.png
│ └── wall.svg
├── other
│ ├── prizes-1.png
│ ├── prizes-2.png
│ ├── prizes-3.png
│ ├── prizes-4.png
│ ├── prizes-5.png
│ └── prizes-6.png
├── login
│ ├── cloud-top.png
│ ├── cloud-bottom.png
│ ├── cloud-small.png
│ ├── login-left-circle.png
│ ├── login-background-main.png
│ ├── login-main-background.png
│ └── login-pink-background.png
└── start-background.jpeg
├── assets
├── development
│ ├── attention
│ │ └── README.md
│ ├── README.md
│ ├── 展示组件抽离.md
│ ├── 版本升级文档修改流程.md
│ └── H5设计器.md
├── panel.png
├── other
│ ├── home_bg.png
│ ├── background.jpeg
│ ├── screenshoot-1.png
│ ├── screenshoot-2.png
│ ├── screenshoot-3.jpg
│ ├── screenshoot-4.jpg
│ ├── screenshoot-5.jpg
│ └── screenshoot-6.jpg
├── icons
│ ├── icon-128x128.png
│ ├── icon-192x192.png
│ └── icon-512x512.png
└── docs
│ ├── 1.20.md
│ ├── 1.11.md
│ ├── 1.19.md
│ ├── 1.13.md
│ ├── 1.12.md
│ ├── 1.17.md
│ ├── 1.7.md
│ ├── 1.10.md
│ ├── 1.0.md
│ ├── 1.16.md
│ └── 1.9.md
├── .eslintignore
├── scripts
└── GenerateComponent
│ ├── TemplateComponentFolder
│ ├── id.ts
│ └── type.ts
│ ├── README.md
│ └── TemplateComponentImport.txt
├── .stylelintrc.js
├── .sentryclirc
├── .prettierignore
├── jsconfig.json
├── .eslintrc.js
├── .editorconfig
└── .prettierrc
/mock/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/access.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/CNAME:
--------------------------------------------------------------------------------
1 | preview.pro.ant.design
--------------------------------------------------------------------------------
/src/utils/Assist/About/README.md:
--------------------------------------------------------------------------------
1 |
2 | 各种外部链接跳转
--------------------------------------------------------------------------------
/assets/development/attention/README.md:
--------------------------------------------------------------------------------
1 | # 记录逻辑代码更新细节
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/Modal/index.tsx:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/utils/Assist/EventEmitter/README.md:
--------------------------------------------------------------------------------
1 |
2 | # 一些事件订阅的事件
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | /lambda/
2 | /scripts
3 | /config
4 | .history
--------------------------------------------------------------------------------
/src/INTERNAL.md:
--------------------------------------------------------------------------------
1 |
2 | ## 内部细节
3 |
4 | ### 全局事件
5 | 携带注释 #绑定全局事件
--------------------------------------------------------------------------------
/src/components/InternalBackground/components/Background/index.less:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/development/README.md:
--------------------------------------------------------------------------------
1 |
2 | # 开发思路
3 |
4 | 放一些开发过程中,构思的一些东西。
--------------------------------------------------------------------------------
/src/components/BackgroundSelect/index.less:
--------------------------------------------------------------------------------
1 | .component-background-select {
2 | }
3 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/RenderWrapper/README.md:
--------------------------------------------------------------------------------
1 | # 对组件的render进行一系列的同类处理
--------------------------------------------------------------------------------
/src/utils/constants/data.ts:
--------------------------------------------------------------------------------
1 | export const DEFAULT_FILTER_CODE = `return data`;
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/index.less:
--------------------------------------------------------------------------------
1 | @design-config-sub-color: #bcc9d4;
2 |
--------------------------------------------------------------------------------
/src/components/Tooltip/index.less:
--------------------------------------------------------------------------------
1 | .tooltip-background-cls {
2 | color: red;
3 | }
4 |
--------------------------------------------------------------------------------
/public/logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/logo.jpg
--------------------------------------------------------------------------------
/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/src/favicon.ico
--------------------------------------------------------------------------------
/assets/panel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/assets/panel.png
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/Title/component/index.less:
--------------------------------------------------------------------------------
1 | .component-font-title {
2 | }
3 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Image/component/index.less:
--------------------------------------------------------------------------------
1 | .component-media-image {
2 | }
3 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/favicon.ico
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/BaseConfig/index.less:
--------------------------------------------------------------------------------
1 | .component-design-config-base {
2 | }
3 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/Icon/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'ICON';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/Tag/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'TAG';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/Text/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'TEXT';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/Title/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'TITLE';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/List/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'LIST';
2 |
--------------------------------------------------------------------------------
/src/loading.tsx:
--------------------------------------------------------------------------------
1 | import Loading from '@/components/PageLoading';
2 |
3 | export default Loading;
4 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Rate/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'RATE';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Tab/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'TAB';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Audio/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'AUDIO';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Image/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'IMAGE';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Model/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'MODEL';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Video/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'VIDEO';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/Iframe/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'IFRAME';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/QrCode/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'QR_CODE';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/Weather/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'WEATHER';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Ticket/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'TICKET';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Typed/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'TYPED';
2 |
--------------------------------------------------------------------------------
/src/utils/constants/theme.ts:
--------------------------------------------------------------------------------
1 | export enum ThemeMap {
2 | light = 'light',
3 | dark = 'dark',
4 | }
5 |
--------------------------------------------------------------------------------
/assets/other/home_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/assets/other/home_bg.png
--------------------------------------------------------------------------------
/public/components/tag.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/tag.jpg
--------------------------------------------------------------------------------
/public/home/bar-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/home/bar-chart.png
--------------------------------------------------------------------------------
/public/home/dot-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/home/dot-chart.png
--------------------------------------------------------------------------------
/public/home/pie-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/home/pie-chart.png
--------------------------------------------------------------------------------
/public/other/prizes-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/other/prizes-1.png
--------------------------------------------------------------------------------
/public/other/prizes-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/other/prizes-2.png
--------------------------------------------------------------------------------
/public/other/prizes-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/other/prizes-3.png
--------------------------------------------------------------------------------
/public/other/prizes-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/other/prizes-4.png
--------------------------------------------------------------------------------
/public/other/prizes-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/other/prizes-5.png
--------------------------------------------------------------------------------
/public/other/prizes-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/other/prizes-6.png
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/LineBar/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'LINE_BAR';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/RankBar/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'RANK_BAR';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/LoopText/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'LOOP_TEXT';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Button/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'BUTTON';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Input/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'INPUT';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Radio/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'RADIO';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Select/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'SELECT';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Steps/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'STEPS';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Switch/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'SWITCH';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Map/Ali3DMap/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'ALI3D_MAP';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Map/ScatterMap/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'SCATTER_MAP';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Carousel/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'CAROUSEL';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/PictureWall/component/index.less:
--------------------------------------------------------------------------------
1 | .component-media-picture-wall {
2 | }
3 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/LuckyDraw/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'LUCKY_DRAW';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/PathBasic/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'PATH_BASIC';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/StateCard/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'STATE_CARD';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/StateList/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'STATE_LIST';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/WaterBall/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'WATER_BALL';
2 |
--------------------------------------------------------------------------------
/src/components/ScreenComponentConfigChangeTooltip/index.less:
--------------------------------------------------------------------------------
1 | .screen-component-config-change-tooltip {
2 | }
3 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Header/ActionList/index.less:
--------------------------------------------------------------------------------
1 | .design-header-action {
2 | height: 30px;
3 | }
4 |
--------------------------------------------------------------------------------
/src/utils/Assist/BreakingChange/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Breaking Change
3 |
4 | 这里存放的是一些重大变动,会影响到版本前的大屏的一些`HACK`操作。
--------------------------------------------------------------------------------
/src/utils/constants/mobile.ts:
--------------------------------------------------------------------------------
1 | export const MOBILE_WIDTH = 375;
2 |
3 | export const MOBILE_HEIGHT = 667;
4 |
--------------------------------------------------------------------------------
/public/components/audio.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/audio.jpg
--------------------------------------------------------------------------------
/public/components/icon.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/icon.jpg
--------------------------------------------------------------------------------
/public/components/input.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/input.jpg
--------------------------------------------------------------------------------
/public/components/model.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/model.jpg
--------------------------------------------------------------------------------
/public/components/radio.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/radio.jpg
--------------------------------------------------------------------------------
/public/components/rate.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/rate.jpg
--------------------------------------------------------------------------------
/public/components/steps.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/steps.jpg
--------------------------------------------------------------------------------
/public/components/text.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/text.jpg
--------------------------------------------------------------------------------
/public/components/tree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/tree.png
--------------------------------------------------------------------------------
/public/components/typed.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/typed.jpg
--------------------------------------------------------------------------------
/public/home/area-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/home/area-chart.png
--------------------------------------------------------------------------------
/public/home/condition-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/home/condition-1.png
--------------------------------------------------------------------------------
/public/home/condition-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/home/condition-2.png
--------------------------------------------------------------------------------
/public/home/earth-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/home/earth-chart.png
--------------------------------------------------------------------------------
/public/home/image-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/home/image-chart.png
--------------------------------------------------------------------------------
/public/home/line-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/home/line-chart.png
--------------------------------------------------------------------------------
/public/home/list-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/home/list-chart.png
--------------------------------------------------------------------------------
/public/home/radar-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/home/radar-chart.png
--------------------------------------------------------------------------------
/public/home/title-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/home/title-chart.png
--------------------------------------------------------------------------------
/public/home/video-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/home/video-chart.png
--------------------------------------------------------------------------------
/public/login/cloud-top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/login/cloud-top.png
--------------------------------------------------------------------------------
/scripts/GenerateComponent/TemplateComponentFolder/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID:ComponentSelfType = '{{COMPONENT_TYPE}}';
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/BarBasic/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'BAR_BASIC';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/CachetBar/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'CACHET_BAR';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/PolarBar/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'POLAR_BAR';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/RadialBar/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'RADIAL_BAR';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/StackBar/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'STACK_BAR';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/ZebraBar/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'ZEBRA_BAR';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Line/LineBasic/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'LINE_BASIC';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Line/StepLine/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'STEP_LINE';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Pie/CirclePie/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'CIRCLE_PIE';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Pie/PieBasic/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'PIE_BASIC';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Tree/TreeBasic/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'TREE_BASIC';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/FontCarousel/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'FONT_CAROUSEL';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/TimeMachine/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'TIME_MACHINE';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Checkbox/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'CHECKBOX';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/PictureWall/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'PICTURE_WALL';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration1/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'DECORATION_1';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration2/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'DECORATION_2';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration3/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'DECORATION_3';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration4/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'DECORATION_4';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration5/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'DECORATION_5';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration6/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'DECORATION_6';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration7/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'DECORATION_7';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration8/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'DECORATION_8';
2 |
--------------------------------------------------------------------------------
/src/pages/Test/index.tsx:
--------------------------------------------------------------------------------
1 | const Test = () => {
2 | return
444444
;
3 | };
4 |
5 | export default Test;
6 |
--------------------------------------------------------------------------------
/.stylelintrc.js:
--------------------------------------------------------------------------------
1 | const fabric = require('@umijs/fabric');
2 |
3 | module.exports = {
4 | ...fabric.stylelint,
5 | };
6 |
--------------------------------------------------------------------------------
/assets/icons/icon-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/assets/icons/icon-128x128.png
--------------------------------------------------------------------------------
/assets/icons/icon-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/assets/icons/icon-192x192.png
--------------------------------------------------------------------------------
/assets/icons/icon-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/assets/icons/icon-512x512.png
--------------------------------------------------------------------------------
/assets/other/background.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/assets/other/background.jpeg
--------------------------------------------------------------------------------
/assets/other/screenshoot-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/assets/other/screenshoot-1.png
--------------------------------------------------------------------------------
/assets/other/screenshoot-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/assets/other/screenshoot-2.png
--------------------------------------------------------------------------------
/assets/other/screenshoot-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/assets/other/screenshoot-3.jpg
--------------------------------------------------------------------------------
/assets/other/screenshoot-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/assets/other/screenshoot-4.jpg
--------------------------------------------------------------------------------
/assets/other/screenshoot-5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/assets/other/screenshoot-5.jpg
--------------------------------------------------------------------------------
/assets/other/screenshoot-6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/assets/other/screenshoot-6.jpg
--------------------------------------------------------------------------------
/public/components/ali-map.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/ali-map.jpg
--------------------------------------------------------------------------------
/public/components/box-plot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/box-plot.png
--------------------------------------------------------------------------------
/public/components/button.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/button.jpg
--------------------------------------------------------------------------------
/public/components/checkbox.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/checkbox.jpg
--------------------------------------------------------------------------------
/public/components/iframe.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/iframe.jpg
--------------------------------------------------------------------------------
/public/components/line-bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/line-bar.png
--------------------------------------------------------------------------------
/public/components/qrcode.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/qrcode.jpg
--------------------------------------------------------------------------------
/public/components/rank-bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/rank-bar.png
--------------------------------------------------------------------------------
/public/components/switch.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/switch.jpg
--------------------------------------------------------------------------------
/public/components/ticket.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/ticket.jpg
--------------------------------------------------------------------------------
/public/components/weather.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/weather.png
--------------------------------------------------------------------------------
/public/login/cloud-bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/login/cloud-bottom.png
--------------------------------------------------------------------------------
/public/login/cloud-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/login/cloud-small.png
--------------------------------------------------------------------------------
/public/start-background.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/start-background.jpeg
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/NegativeBar/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'NEGATIVE_BAR';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/PercentBar/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'PERCENT_BAR';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/ProgressBar/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'PROGRESS_BAR';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Gauge/ClockGauge/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'CLOCK_GAUGE';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Gauge/GaugeBasic/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'GAUGE_BASIC';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Line/RadialLine/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'RADIAL_LINE';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Pie/PercentPie/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'PERCENT_PIE';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Radar/RadarBasic/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'RADAR_BASIC';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/CountUpNumber/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'COUNT_UP_NUMBER';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Datepicker/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'DATE_PICKER';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/FullScreen/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'FULL_SCREEN';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Pagination/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'PAGINATION';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/WordCloud/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'WORD_CLOUD_BASIC';
2 |
--------------------------------------------------------------------------------
/src/components/Decoration/Decoration5/index.less:
--------------------------------------------------------------------------------
1 | .component-decoration-5 {
2 | width: 100%;
3 | height: 100%;
4 | }
5 |
--------------------------------------------------------------------------------
/public/components/bar-basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/bar-basic.png
--------------------------------------------------------------------------------
/public/components/cachet-bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/cachet-bar.png
--------------------------------------------------------------------------------
/public/components/circle-pie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/circle-pie.png
--------------------------------------------------------------------------------
/public/components/line-basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/line-basic.png
--------------------------------------------------------------------------------
/public/components/list-basic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/list-basic.jpg
--------------------------------------------------------------------------------
/public/components/lucky-draw.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/lucky-draw.jpg
--------------------------------------------------------------------------------
/public/components/pagination.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/pagination.jpg
--------------------------------------------------------------------------------
/public/components/path-basic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/path-basic.jpg
--------------------------------------------------------------------------------
/public/components/pie-basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/pie-basic.png
--------------------------------------------------------------------------------
/public/components/polar-bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/polar-bar.png
--------------------------------------------------------------------------------
/public/components/radial-bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/radial-bar.png
--------------------------------------------------------------------------------
/public/components/stack-bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/stack-bar.png
--------------------------------------------------------------------------------
/public/components/state-card.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/state-card.jpg
--------------------------------------------------------------------------------
/public/components/state-list.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/state-list.jpg
--------------------------------------------------------------------------------
/public/components/step-line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/step-line.png
--------------------------------------------------------------------------------
/public/components/tab-basic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/tab-basic.jpg
--------------------------------------------------------------------------------
/public/components/water-ball.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/water-ball.png
--------------------------------------------------------------------------------
/public/components/word-cloud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/word-cloud.png
--------------------------------------------------------------------------------
/public/components/zebra-bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/zebra-bar.png
--------------------------------------------------------------------------------
/public/home/condition-normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/home/condition-normal.png
--------------------------------------------------------------------------------
/public/home/thermogram-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/home/thermogram-chart.png
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/HorizontalBar/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'HORIZONTAL_BAR';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/PolarStackBar/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'POLAR_STACK_BAR';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/WaterFallBar/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'WATER_FALL_BAR';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/BoxPlot/BoxPlotBasic/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'BOX_PLOT_BASIC';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Funnel/FunnelBasic/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'FUNNEL_BASIC';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Pie/NightingalePie/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'NIGHTINGALE_PIE';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Scatter/ScatterBasic/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'SCATTER_BASIC';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/TreeMap/TreeMapBasic/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'TREE_MAP_BASIC';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Typed/component/index.less:
--------------------------------------------------------------------------------
1 | .component-source-typed {
2 | overflow: hidden;
3 | }
4 |
--------------------------------------------------------------------------------
/public/components/carousel-text.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/carousel-text.jpg
--------------------------------------------------------------------------------
/public/components/clock-gauge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/clock-gauge.png
--------------------------------------------------------------------------------
/public/components/date-picker.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/date-picker.jpg
--------------------------------------------------------------------------------
/public/components/decoration-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/decoration-1.jpg
--------------------------------------------------------------------------------
/public/components/decoration-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/decoration-2.jpg
--------------------------------------------------------------------------------
/public/components/decoration-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/decoration-3.jpg
--------------------------------------------------------------------------------
/public/components/decoration-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/decoration-4.jpg
--------------------------------------------------------------------------------
/public/components/decoration-5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/decoration-5.jpg
--------------------------------------------------------------------------------
/public/components/decoration-6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/decoration-6.jpg
--------------------------------------------------------------------------------
/public/components/decoration-7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/decoration-7.jpg
--------------------------------------------------------------------------------
/public/components/decoration-8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/decoration-8.jpg
--------------------------------------------------------------------------------
/public/components/default-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/default-chart.png
--------------------------------------------------------------------------------
/public/components/full-screen.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/full-screen.jpg
--------------------------------------------------------------------------------
/public/components/funnel-basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/funnel-basic.png
--------------------------------------------------------------------------------
/public/components/gauge-basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/gauge-basic.png
--------------------------------------------------------------------------------
/public/components/image-basic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/image-basic.jpg
--------------------------------------------------------------------------------
/public/components/negative-bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/negative-bar.png
--------------------------------------------------------------------------------
/public/components/percent-bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/percent-bar.png
--------------------------------------------------------------------------------
/public/components/percent-pie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/percent-pie.png
--------------------------------------------------------------------------------
/public/components/picture-wall.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/picture-wall.jpg
--------------------------------------------------------------------------------
/public/components/progress-bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/progress-bar.png
--------------------------------------------------------------------------------
/public/components/radar-basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/radar-basic.png
--------------------------------------------------------------------------------
/public/components/radial-line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/radial-line.png
--------------------------------------------------------------------------------
/public/components/scatter-basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/scatter-basic.png
--------------------------------------------------------------------------------
/public/components/scatter-map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/scatter-map.png
--------------------------------------------------------------------------------
/public/components/select-basic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/select-basic.jpg
--------------------------------------------------------------------------------
/public/components/text-carousel.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/text-carousel.jpg
--------------------------------------------------------------------------------
/public/components/time-machine.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/time-machine.jpg
--------------------------------------------------------------------------------
/public/components/title-basic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/title-basic.jpg
--------------------------------------------------------------------------------
/public/components/video-basic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/video-basic.jpg
--------------------------------------------------------------------------------
/public/components/waterfall-bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/waterfall-bar.png
--------------------------------------------------------------------------------
/public/login/login-left-circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/login/login-left-circle.png
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Line/RadialStackLine/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'RADIAL_STACK_LINE';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Parallel/ParallelBasic/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'PARALLEL_BASIC';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Scatter/BubbleScatter/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'BUBBLE_SCATTER';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/SunBurst/SunBurstBasic/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'SUN_BURST_BASIC';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/SimpleHueSelect/index.less:
--------------------------------------------------------------------------------
1 | .simple-hue-select-wrapper {
2 | align-items: center;
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/LoopText/component/index.less:
--------------------------------------------------------------------------------
1 | .component-font-loop-text {
2 | white-space: nowrap;
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/Weather/component/index.less:
--------------------------------------------------------------------------------
1 | .component-other-weather {
2 | white-space: nowrap;
3 | }
4 |
--------------------------------------------------------------------------------
/.sentryclirc:
--------------------------------------------------------------------------------
1 | [auth]
2 | token=token
3 |
4 | [defaults]
5 | url = https://sentry.io
6 | org = food-billboard
7 | project = create-chart
--------------------------------------------------------------------------------
/public/components/bubble-scatter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/bubble-scatter.png
--------------------------------------------------------------------------------
/public/components/carousel-basic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/carousel-basic.jpg
--------------------------------------------------------------------------------
/public/components/count-up-number.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/count-up-number.jpg
--------------------------------------------------------------------------------
/public/components/horizontal-bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/horizontal-bar.png
--------------------------------------------------------------------------------
/public/components/nightingale-pie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/nightingale-pie.png
--------------------------------------------------------------------------------
/public/components/parallel-basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/parallel-basic.png
--------------------------------------------------------------------------------
/public/components/polar-stack-bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/polar-stack-bar.png
--------------------------------------------------------------------------------
/public/components/sub-burst-basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/sub-burst-basic.png
--------------------------------------------------------------------------------
/public/components/tree-map-basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/tree-map-basic.png
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/InterActiveConfig/components/LinkageConfig/index.less:
--------------------------------------------------------------------------------
1 | .design-config-interactive-linkage {
2 | }
3 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration1/component/index.less:
--------------------------------------------------------------------------------
1 | .component-source-decoration-1 {
2 | overflow: hidden;
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration2/component/index.less:
--------------------------------------------------------------------------------
1 | .component-source-decoration-2 {
2 | overflow: hidden;
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration3/component/index.less:
--------------------------------------------------------------------------------
1 | .component-source-decoration-3 {
2 | overflow: hidden;
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration4/component/index.less:
--------------------------------------------------------------------------------
1 | .component-source-decoration-4 {
2 | overflow: hidden;
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration5/component/index.less:
--------------------------------------------------------------------------------
1 | .component-source-decoration-5 {
2 | overflow: hidden;
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration6/component/index.less:
--------------------------------------------------------------------------------
1 | .component-source-decoration-6 {
2 | overflow: hidden;
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration7/component/index.less:
--------------------------------------------------------------------------------
1 | .component-source-decoration-7 {
2 | overflow: hidden;
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration8/component/index.less:
--------------------------------------------------------------------------------
1 | .component-source-decoration-8 {
2 | overflow: hidden;
3 | }
4 |
--------------------------------------------------------------------------------
/public/components/candlestick-basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/candlestick-basic.png
--------------------------------------------------------------------------------
/public/components/radial-stack-line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/radial-stack-line.png
--------------------------------------------------------------------------------
/public/login/login-background-main.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/login/login-background-main.png
--------------------------------------------------------------------------------
/public/login/login-main-background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/login/login-main-background.png
--------------------------------------------------------------------------------
/public/login/login-pink-background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/login/login-pink-background.png
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Candlestick/CandlestickBasic/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'CANDLESTICK_BASIC';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/PictorialBar/PictorialBarBasic/id.ts:
--------------------------------------------------------------------------------
1 | export const CHART_ID: ComponentSelfType = 'PICTORIAL_BAR_BASIC';
2 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/Component/hook/useChartEvent.ts:
--------------------------------------------------------------------------------
1 | import {} from 'react';
2 |
3 | export function useChartEvent() {}
4 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/CountUpNumber/component/index.less:
--------------------------------------------------------------------------------
1 | .component-font-count-up-number {
2 | white-space: nowrap;
3 | }
4 |
--------------------------------------------------------------------------------
/public/components/pictorial-bar-basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/food-billboard/create-chart/HEAD/public/components/pictorial-bar-basic.png
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration1/type.ts:
--------------------------------------------------------------------------------
1 | export type TDecoration1Config = {
2 | color: ComponentData.TColorConfig[];
3 | };
4 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration3/type.ts:
--------------------------------------------------------------------------------
1 | export type TDecoration3Config = {
2 | color: ComponentData.TColorConfig[];
3 | };
4 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration6/type.ts:
--------------------------------------------------------------------------------
1 | export type TDecoration6Config = {
2 | color: ComponentData.TColorConfig[];
3 | };
4 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration8/type.ts:
--------------------------------------------------------------------------------
1 | export type TDecoration8Config = {
2 | color: ComponentData.TColorConfig[];
3 | };
4 |
--------------------------------------------------------------------------------
/src/components/Decoration/Decoration8/index.less:
--------------------------------------------------------------------------------
1 | .component-decoration-8 {
2 | display: flex;
3 | width: 100%;
4 | height: 100%;
5 | }
6 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/LeftContent/components/RequestDefaultConfig/index.less:
--------------------------------------------------------------------------------
1 | .request-default-config-frequency {
2 | width: 68%;
3 | }
4 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | **/*.md
2 | **/*.svg
3 | **/*.ejs
4 | **/*.html
5 | scripts/*
6 | package.json
7 | .umi
8 | .umi-production
9 | .umi-test
10 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/Icon/type.ts:
--------------------------------------------------------------------------------
1 | export type TIconConfig = {
2 | color: ComponentData.TColorConfig;
3 | value: string;
4 | };
5 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/Iframe/component/MessageTooltip/index.less:
--------------------------------------------------------------------------------
1 | .component-iframe-message-tooltip {
2 | text-align: left;
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/ColorGradientSelect/index.less:
--------------------------------------------------------------------------------
1 | .component-gradient-select {
2 | &-color {
3 | width: 100%;
4 | height: 80px;
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/components/InternalBackground/components/Background/ColorLineBackground/index.less:
--------------------------------------------------------------------------------
1 | .color-line-background {
2 | background-color: black;
3 | }
4 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RenderComponent/components/NameTag/index.less:
--------------------------------------------------------------------------------
1 | .component-name-tag {
2 | background-color: rgba(0, 0, 0, 0.3);
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/Tag/component/index.less:
--------------------------------------------------------------------------------
1 | .component-other-font-tag {
2 | width: 100%;
3 | height: 100%;
4 | overflow: hidden;
5 | }
6 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Video/component/index.less:
--------------------------------------------------------------------------------
1 | .component-media-video {
2 | video {
3 | width: 100%;
4 | height: 100%;
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Header/ActionList/components/ComponentSearch/index.less:
--------------------------------------------------------------------------------
1 | .design-header-action-component-search {
2 | font-size: 16px;
3 | }
4 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Panel/components/Painter/index.less:
--------------------------------------------------------------------------------
1 | .page-design-main-panel {
2 | transition: transform 0.3s;
3 | position: absolute;
4 | }
5 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Panel/components/ToolBar/index.less:
--------------------------------------------------------------------------------
1 | .design-page-toolbar {
2 | width: 100%;
3 | height: 50px;
4 | line-height: 50px;
5 | }
6 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RenderComponent/components/Content/index.less:
--------------------------------------------------------------------------------
1 | .render-component-children {
2 | min-width: 1px;
3 | min-height: 1px;
4 | }
5 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration5/type.ts:
--------------------------------------------------------------------------------
1 | export type TDecoration5Config = {
2 | color: ComponentData.TColorConfig[];
3 | dur: number;
4 | };
5 |
--------------------------------------------------------------------------------
/src/utils/index.ts:
--------------------------------------------------------------------------------
1 | export { default as request } from './request';
2 | export * from './tool';
3 | export * from './constants';
4 | export * from './captureCover';
5 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/DataConfigDetail/index.less:
--------------------------------------------------------------------------------
1 | .design-config-data-detail {
2 | width: 100%;
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/PathBasic/component/index.less:
--------------------------------------------------------------------------------
1 | .component-other-path-basic {
2 | &-shape {
3 | transform-origin: center center;
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration7/type.ts:
--------------------------------------------------------------------------------
1 | export type TDecoration7Config = {
2 | color: ComponentData.TColorConfig[];
3 | reverse: boolean;
4 | };
5 |
--------------------------------------------------------------------------------
/src/components/ParamsSelect/index.less:
--------------------------------------------------------------------------------
1 | .params-select-checkbox {
2 | :global {
3 | .ant-checkbox-inner {
4 | display: inline-block;
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/utils/Assist/BreakingChange/ComponentTransformOriginChange/README.md:
--------------------------------------------------------------------------------
1 |
2 | # 组件transform中心更改
3 |
4 | ## 2022-06-24
5 |
6 | ## 1.6
7 |
8 | 之前的的中心为左上角,现更改为中心。
--------------------------------------------------------------------------------
/src/pages/Designer/components/LeftContent/index.less:
--------------------------------------------------------------------------------
1 | .design-page-left {
2 | height: 100%;
3 | &-content {
4 | height: 100%;
5 | overflow: hidden;
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/utils/Assist/BreakingChange/ComponentInputButtonWidthChange/README.md:
--------------------------------------------------------------------------------
1 |
2 | # 输入框组件按钮宽度配置修改
3 |
4 | ## 2022-12-23
5 |
6 | ## 1.17
7 |
8 | 之前的输入框的宽度是`px`,现在修改为百分比。
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Typed/type.ts:
--------------------------------------------------------------------------------
1 | export type TTypedConfig = {
2 | textStyle: ComponentData.TFontConfig;
3 | loop: boolean;
4 | typeSpeed: number;
5 | };
6 |
--------------------------------------------------------------------------------
/src/components/ColorMatcher/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const ColorMatcher = () => {
4 | return 配色选择
;
5 | };
6 |
7 | export default ColorMatcher;
8 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Panel/components/PanelWrapper/constants.ts:
--------------------------------------------------------------------------------
1 | export const wrapperId = 'designer-page-main';
2 | export const subWrapperId = 'designer-page-main-sub';
3 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/Iframe/component/index.less:
--------------------------------------------------------------------------------
1 | .component-other-iframe {
2 | overflow: hidden;
3 | & > div {
4 | transform-origin: left top;
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/components/Decoration/Decoration1/index.less:
--------------------------------------------------------------------------------
1 | .component-decoration-1 {
2 | width: 100%;
3 | height: 100%;
4 |
5 | svg {
6 | transform-origin: left top;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/components/Decoration/Decoration3/index.less:
--------------------------------------------------------------------------------
1 | .component-decoration-3 {
2 | width: 100%;
3 | height: 100%;
4 |
5 | svg {
6 | transform-origin: left top;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/components/Decoration/Decoration6/index.less:
--------------------------------------------------------------------------------
1 | .component-decoration-6 {
2 | width: 100%;
3 | height: 100%;
4 |
5 | svg {
6 | transform-origin: left top;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration2/type.ts:
--------------------------------------------------------------------------------
1 | export type TDecoration2Config = {
2 | color: ComponentData.TColorConfig[];
3 | dur: number;
4 | reverse: boolean;
5 | };
6 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Decoration4/type.ts:
--------------------------------------------------------------------------------
1 | export type TDecoration4Config = {
2 | color: ComponentData.TColorConfig[];
3 | dur: number;
4 | reverse: boolean;
5 | };
6 |
--------------------------------------------------------------------------------
/src/components/IconTooltip/index.less:
--------------------------------------------------------------------------------
1 | .component-icon-tooltip {
2 | font-size: 12px;
3 | :global {
4 | .ant-tooltip-inner {
5 | text-align: center;
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/LeftContent/components/LayerManage/type.ts:
--------------------------------------------------------------------------------
1 | export interface LayerManageRef {
2 | open: () => void;
3 | close: () => void;
4 | visible: boolean;
5 | }
6 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Panel/index.less:
--------------------------------------------------------------------------------
1 | .design-panel-content {
2 | flex: 1;
3 | overflow: auto;
4 | min-width: 400px;
5 | display: flex;
6 | flex-direction: column;
7 | }
8 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/ShepherdWrapper/index.less:
--------------------------------------------------------------------------------
1 | .shepherd-button {
2 | background: #4ea397;
3 | }
4 | .shepherd-button:not(:disabled):hover {
5 | background: #22c3aa;
6 | }
7 |
--------------------------------------------------------------------------------
/src/pages/ScreenList/components/SvgAnimation/index.less:
--------------------------------------------------------------------------------
1 | .svg-animation {
2 | width: 100%;
3 | height: 100%;
4 | position: fixed;
5 | z-index: 0;
6 | left: 0;
7 | top: 0;
8 | }
9 |
--------------------------------------------------------------------------------
/assets/development/展示组件抽离.md:
--------------------------------------------------------------------------------
1 |
2 | # 抽离展示组件
3 |
4 | 允许在脱离项目对大屏进行展示。
5 |
6 | ## 去掉不需要的模块
7 |
8 | - 登录判断
9 | - 生命周期判断
10 | - Mock数据接口默认不调用,使用props
11 | - 服务端请求接口默认不调用,使用props
--------------------------------------------------------------------------------
/src/pages/Designer/components/RenderComponent/components/Content/ComponentWrapper/index.less:
--------------------------------------------------------------------------------
1 | .render-component-wrapper-inner {
2 | transform-origin: left top;
3 | position: absolute;
4 | }
5 |
--------------------------------------------------------------------------------
/src/services/index.ts:
--------------------------------------------------------------------------------
1 | export * from './upload';
2 | export * from './screen';
3 | export * from './user';
4 | export * from './model';
5 | export * from './mock';
6 | export * from './third';
7 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/LocalUpload/index.less:
--------------------------------------------------------------------------------
1 | .component-local-upload-button {
2 | & > span {
3 | font-size: 30px;
4 | }
5 | & > div {
6 | font-size: 12px;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/components/Decoration/Decoration2/index.less:
--------------------------------------------------------------------------------
1 | .component-decoration-2 {
2 | display: flex;
3 | width: 100%;
4 | height: 100%;
5 | justify-content: center;
6 | align-items: center;
7 | }
8 |
--------------------------------------------------------------------------------
/src/components/ScreenComponentConfigChangeTooltip/Constants/1.21/index.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | '/DataConfig/ResponseData/AutoUpdate':
3 | '最低更新频率是1秒,对于前版本的1秒以下的情况,均会作为1秒来处理。(`へ´*)ノ',
4 | };
5 |
--------------------------------------------------------------------------------
/src/utils/Assist/Logger/RequestLogger/index.less:
--------------------------------------------------------------------------------
1 | .request-log-item {
2 | color: white;
3 | :global {
4 | .ant-collapse-header {
5 | padding: 3px 4px !important;
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/assets/development/版本升级文档修改流程.md:
--------------------------------------------------------------------------------
1 | # 版本升级文档修改流程
2 |
3 | 1. `package.json`文件的`version`字段
4 | 2. `README.md`文件
5 | - 当前版本修改
6 | - `changelog`
7 | - 说在后头的版本
8 | 3. `/assets/docs`增加新版本迭代信息文件
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/Iframe/type.ts:
--------------------------------------------------------------------------------
1 | export type TIFrameConfig = {
2 | scrolling: 'yes' | 'no' | 'auto';
3 | scale: number;
4 | pointEvent: boolean;
5 | relationParams: string[];
6 | };
7 |
--------------------------------------------------------------------------------
/src/components/Empty/index.tsx:
--------------------------------------------------------------------------------
1 | import { Empty as AntEmpty, EmptyProps } from 'antd';
2 |
3 | const Empty = (props: EmptyProps) => {
4 | return ;
5 | };
6 |
7 | export default Empty;
8 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Audio/type.ts:
--------------------------------------------------------------------------------
1 | export type TAudioConfig = {
2 | autoplay: boolean;
3 | loop: boolean;
4 | controls: boolean;
5 | condition: ComponentData.ComponentConditionConfig;
6 | };
7 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RightContent/components/GroupConfig/index.less:
--------------------------------------------------------------------------------
1 | @import '~antd/es/style/themes/default.less';
2 |
3 | .design-config-group {
4 | background-color: @layout-header-background;
5 | }
6 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RightContent/components/MultiConfig/index.less:
--------------------------------------------------------------------------------
1 | @import '~antd/es/style/themes/default.less';
2 |
3 | .design-config-multi {
4 | background-color: @layout-header-background;
5 | }
6 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RenderComponent/components/Content/ComponentInternalWrapper/index.tsx:
--------------------------------------------------------------------------------
1 | import { InternalBorderWrapper } from '@/components/InternalBorder';
2 |
3 | export default InternalBorderWrapper;
4 |
--------------------------------------------------------------------------------
/src/components/CodeEditor/index.tsx:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 |
3 | export default LazyLoadWrapper(() => {
4 | return import(/* webpackChunkName: "CODE_EDITOR" */ '../SyncCodeEditor');
5 | });
6 |
--------------------------------------------------------------------------------
/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "emitDecoratorMetadata": true,
4 | "experimentalDecorators": true,
5 | "baseUrl": ".",
6 | "paths": {
7 | "@/*": ["./src/*"]
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/components/InternalBorder/components/Border/DashedBorder/index.less:
--------------------------------------------------------------------------------
1 | .internal-border-dashed-border {
2 | border: var(--internal-border-dashed-border-width) dotted
3 | var(--internal-border-dashed-border-color);
4 | }
5 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/InterActiveConfig/index.less:
--------------------------------------------------------------------------------
1 | @import '~antd/es/style/themes/default.less';
2 |
3 | .design-config-interactive {
4 | background-color: @layout-header-background;
5 | padding-bottom: 8px;
6 | }
7 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/PictureWall/type.ts:
--------------------------------------------------------------------------------
1 | export type TPictureWallConfig = {
2 | maxCount: number;
3 | columnCount: number;
4 | margin: [number, number];
5 | preview: {
6 | show: boolean;
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/assets/docs/1.20.md:
--------------------------------------------------------------------------------
1 | ## 1.20.1
2 |
3 | ### 设计器
4 |
5 | fix(): 保存时没有id导致保存失败
6 |
7 | refactor(): 错别字
8 |
9 | ## 1.20
10 |
11 | ### 设计器
12 |
13 | fix(): 折叠组件列表,搜索弹出框位置错误
14 | fix(): 折叠右侧配置面板,标尺和辅助线的尺寸未更新
15 |
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Tab/component/index.less:
--------------------------------------------------------------------------------
1 | .component-interactive-tab {
2 | &-item {
3 | display: flex;
4 | align-items: center;
5 | justify-content: center;
6 | cursor: pointer;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | extends: [require.resolve('@umijs/fabric/dist/eslint')],
3 | globals: {
4 | ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION: true,
5 | page: true,
6 | REACT_APP_ENV: true,
7 | },
8 | };
9 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/DataConfigDetail/components/DefineConfig/type.d.ts:
--------------------------------------------------------------------------------
1 | export type TOnChange = (
2 | value: SuperPartial,
3 | ) => void;
4 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/TimeMachine/component/index.less:
--------------------------------------------------------------------------------
1 | .component-font-time-machine {
2 | &-main {
3 | justify-content: center;
4 | align-items: center;
5 | white-space: nowrap;
6 | display: flex;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Panel/components/PanelWrapper/index.less:
--------------------------------------------------------------------------------
1 | .designer-page-main {
2 | width: 100%;
3 | padding-top: 0;
4 | flex: 1;
5 | overflow: hidden;
6 | & > div {
7 | overflow: hidden auto;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/PositionConfig/index.less:
--------------------------------------------------------------------------------
1 | @import '~antd/es/style/themes/default.less';
2 |
3 | .design-config-position-config-active {
4 | color: white !important;
5 | background-color: @primary-color !important;
6 | }
7 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/Structure/HalfFormPlaceHolder/index.less:
--------------------------------------------------------------------------------
1 | .design-config-half-form-placeholder {
2 | cursor: pointer;
3 | position: absolute;
4 | left: 50%;
5 | transform: translateX(-6px);
6 | font-size: 14px;
7 | }
8 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/FullScreen/type.ts:
--------------------------------------------------------------------------------
1 | export type TFullScreenConfig = {
2 | backgroundColor: ComponentData.TColorConfig;
3 | borderRadius: number;
4 | icon: {
5 | enter: string;
6 | quit: string;
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/ExchangeScreenFlag/components/MobilePreviewer/context.ts:
--------------------------------------------------------------------------------
1 | import { createContext } from 'react';
2 |
3 | export const ExchangePreviewerContext = createContext<{
4 | flag?: ComponentData.ScreenFlagType;
5 | }>({});
6 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Panel/components/ToolBar/components/Scale/index.less:
--------------------------------------------------------------------------------
1 | .design-page-toolbar-scale {
2 | display: inline-block;
3 | :global {
4 | .ant-space-item:nth-last-of-type(1) {
5 | flex: 1;
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RightContent/components/GroupConfig/components/Config/index.tsx:
--------------------------------------------------------------------------------
1 | import {} from 'react';
2 | import {} from 'antd';
3 |
4 | const BaseConfig = () => {
5 | return ;
6 | };
7 |
8 | export default BaseConfig;
9 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Steps/component/components/RcSteps/interface.ts:
--------------------------------------------------------------------------------
1 | export type Status = 'error' | 'process' | 'finish' | 'wait';
2 |
3 | export interface Icons {
4 | finish: React.ReactNode;
5 | error: React.ReactNode;
6 | }
7 |
--------------------------------------------------------------------------------
/src/utils/Assist/GlobalDva/index.ts:
--------------------------------------------------------------------------------
1 | import { getDvaGlobalModelData } from '../Component';
2 |
3 | export const getGlobalSelect: () => string[] = () => {
4 | const globalState = getDvaGlobalModelData();
5 | return globalState.select || [];
6 | };
7 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Select/component/index.less:
--------------------------------------------------------------------------------
1 | .component-interactive-select {
2 | :global {
3 | [class$='indicatorContainer'] {
4 | &:hover {
5 | color: currentColor;
6 | }
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/components/PromptChrome/index.less:
--------------------------------------------------------------------------------
1 | .component-prompt-chrome {
2 | overflow: hidden;
3 | width: 100vw;
4 | height: 100vh;
5 | display: flex;
6 | flex-direction: column;
7 | align-items: center;
8 | justify-content: center;
9 | }
10 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Steps/component/components/RcSteps/index.ts:
--------------------------------------------------------------------------------
1 | // rc-steps 应该是比较早的版本了
2 |
3 | import Steps from './Steps';
4 | import Step from './Step';
5 | import './css/index.less';
6 |
7 | export { Step };
8 | export default Steps;
9 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RightContent/components/ComponentConfig/index.less:
--------------------------------------------------------------------------------
1 | @import '~antd/es/style/themes/default.less';
2 |
3 | .design-config-component {
4 | min-height: 100%;
5 | height: 100%;
6 | background-color: @layout-header-background;
7 | }
8 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RightContent/components/GroupConfig/components/WrapperConfig/index.tsx:
--------------------------------------------------------------------------------
1 | import {} from 'react';
2 | import {} from 'antd';
3 |
4 | const WrapperConfig = () => {
5 | return ;
6 | };
7 |
8 | export default WrapperConfig;
9 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/DataConfig/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {};
5 | };
6 |
7 | export const mapDispatchToProps = (dispatch: any) => ({});
8 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/Icon/index.tsx:
--------------------------------------------------------------------------------
1 | import { createFromIconfontCN } from '@ant-design/icons';
2 |
3 | const IconFont = createFromIconfontCN({
4 | scriptUrl: '//at.alicdn.com/t/c/font_3208102_8u5ei3wwylp.js',
5 | });
6 |
7 | export default IconFont;
8 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/RenderWrapper/ShowIdWrapper/index.less:
--------------------------------------------------------------------------------
1 | .render-wrapper-show-id {
2 | position: absolute;
3 | left: 0;
4 | top: 0;
5 | font-size: 14px;
6 | user-select: none;
7 | pointer-events: none;
8 | z-index: 0;
9 | }
10 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/FontCarousel/component/index.less:
--------------------------------------------------------------------------------
1 | .component-font-carousel {
2 | &-wrapper {
3 | display: flex;
4 | align-items: center;
5 | }
6 | &-main {
7 | display: flex;
8 | align-items: center;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/components/GhostButton/index.less:
--------------------------------------------------------------------------------
1 | @import '~antd/es/style/themes/default.less';
2 |
3 | .design-config-ghost-btn {
4 | width: 120px;
5 | &:hover {
6 | color: white !important;
7 | background-color: @primary-color !important;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/components/RelationBorder/index.less:
--------------------------------------------------------------------------------
1 | .component-relation-border-wrapper {
2 | display: flex;
3 | }
4 | .component-relation-border {
5 | border-right-color: transparent;
6 | width: 24px;
7 | }
8 | .component-relation-border-main {
9 | flex: 1;
10 | }
11 |
--------------------------------------------------------------------------------
/assets/docs/1.11.md:
--------------------------------------------------------------------------------
1 |
2 | ## 1.11
3 |
4 | ### 设计器
5 |
6 | feat(): 滤镜
7 |
8 | refactor(): 自动保存取消关闭提示
9 |
10 | ### 组件
11 |
12 | 新增组件
13 | - 高德地图
14 | - 3d模型
15 | - 声音
16 |
17 | 优化组件
18 | - iframe支持上下层级交互
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RenderComponent/components/Wrapper/PcWrapper/ResizeComponent.tsx:
--------------------------------------------------------------------------------
1 | import {} from 'react';
2 |
3 | const ResizeHandleComponent = (props: any) => {
4 | return ;
5 | };
6 |
7 | export default ResizeHandleComponent;
8 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/StateCard/component/index.less:
--------------------------------------------------------------------------------
1 | .component-other-state-card {
2 | width: 100%;
3 | height: 100%;
4 | overflow: hidden;
5 | &-content {
6 | }
7 | &-column {
8 | &-state {
9 | }
10 | &-main {
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/components/ComponentSelect/index.less:
--------------------------------------------------------------------------------
1 | .component-select {
2 | &-item {
3 | }
4 | &-item-active {
5 | }
6 | &-loading {
7 | width: 100%;
8 | height: 100%;
9 | position: absolute;
10 | left: 0;
11 | top: 0;
12 | z-index: 1;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/scripts/GenerateComponent/TemplateComponentFolder/type.ts:
--------------------------------------------------------------------------------
1 | export type T{{COMPONENT_NAME}}Config = {
2 | color: ComponentData.TColorConfig
3 | content: string
4 | counter: number
5 | textStyle: ComponentData.TFontConfig
6 | condition: ComponentData.ComponentConditionConfig;
7 | };
8 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Switch/component/index.less:
--------------------------------------------------------------------------------
1 | .component-interactive-switch {
2 | &-icon {
3 | align-items: center;
4 | justify-content: center;
5 | white-space: nowrap;
6 | }
7 | .react-switch-handle {
8 | // width: ;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RightContent/components/GroupConfig/connect.ts:
--------------------------------------------------------------------------------
1 | export const mapStateToProps = () => {
2 | return {};
3 | };
4 |
5 | export const mapDispatchToProps = (dispatch: any) => ({
6 | setSelect: (value: any) => dispatch({ type: 'global/setSelect', value }),
7 | });
8 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/Checkbox/index.less:
--------------------------------------------------------------------------------
1 | .design-config-checkbox {
2 | font-size: 12px;
3 | :global {
4 | .ant-checkbox {
5 | font-size: 12px;
6 | }
7 | .ant-checkbox-inner {
8 | width: 14px;
9 | height: 14px;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/components/IntroductionButton/index.less:
--------------------------------------------------------------------------------
1 | .introduction-button {
2 | :global {
3 | .rtf {
4 | margin: 0;
5 | & > li {
6 | margin: 0;
7 | padding: 0;
8 | }
9 | }
10 | }
11 | .right.always-show {
12 | font-size: 12px;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RightContent/components/ComponentConfig/connect.ts:
--------------------------------------------------------------------------------
1 | export const mapStateToProps = () => {
2 | return {};
3 | };
4 |
5 | export const mapDispatchToProps = (dispatch: any) => ({
6 | setSelect: (value: any) => dispatch({ type: 'global/setSelect', value }),
7 | });
8 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/Icon/component/index.less:
--------------------------------------------------------------------------------
1 | .component-font-icon {
2 | align-items: center;
3 | justify-content: center;
4 | :global {
5 | .bi {
6 | position: relative;
7 | }
8 | .bi::before {
9 | position: absolute;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Panel/components/ReactSelecto/index.less:
--------------------------------------------------------------------------------
1 | .react-select-to-wrapper {
2 | :global {
3 | .selecto-selection {
4 | background: var(--react-select-to-background) !important;
5 | border-color: var(--react-select-to-border) !important;
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RightContent/components/GroupConfig/components/ComponentSelect/index.tsx:
--------------------------------------------------------------------------------
1 | import {} from 'react';
2 | import { Select } from 'antd';
3 |
4 | const ComponentSelect = () => {
5 | return ;
6 | };
7 |
8 | export default ComponentSelect;
9 |
--------------------------------------------------------------------------------
/src/pages/Share/components/WaterMark/index.less:
--------------------------------------------------------------------------------
1 | .designer-water-mark {
2 | position: absolute;
3 | bottom: 4px;
4 | right: 4px;
5 | background-image: url(../../../../../public/logo.jpg);
6 | width: 50px;
7 | height: 50px;
8 | background-size: 100% 100%;
9 | z-index: 99;
10 | }
11 |
--------------------------------------------------------------------------------
/src/utils/Assist/BreakingChange/ComponentTransformOriginChange/index.ts:
--------------------------------------------------------------------------------
1 | import { versionCompare } from '@/utils';
2 |
3 | export const ComponentTransformOriginChange = (version: string) => {
4 | return !version || versionCompare(version, '1.6')
5 | ? 'center center'
6 | : 'left top';
7 | };
8 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/AutoUpdate/index.less:
--------------------------------------------------------------------------------
1 | .design-config-auto-update {
2 | margin-top: 15px;
3 | margin-left: 10px;
4 | font-size: 12px;
5 | :global {
6 | .ant-input-number {
7 | width: 32px;
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RightContent/components/GlobalConfig/index.less:
--------------------------------------------------------------------------------
1 | .design-config-global {
2 | :global {
3 | .ant-tabs-content-holder {
4 | overflow-y: auto;
5 | &::-webkit-scrollbar {
6 | width: 0;
7 | height: 0;
8 | }
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/DataConfigDetail/components/DefineConfig/ApiConfig/index.less:
--------------------------------------------------------------------------------
1 | .api-config-copy-text {
2 | margin-bottom: 0 !important;
3 | :global {
4 | .ant-typography-copy {
5 | color: white !important;
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/components/Ruler/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | theme: state.global.screenData.config.attr.theme,
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({});
10 |
--------------------------------------------------------------------------------
/src/components/GuideLine/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | theme: state.global.screenData.config.attr.theme,
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({});
10 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RenderComponent/components/Content/SubGroup/index.less:
--------------------------------------------------------------------------------
1 | .group-component-carousel-wrapper {
2 | }
3 | .group-component-carousel-wrapper-children {
4 | }
5 | .group-component-carousel-wrapper-children-left {
6 | left: 0;
7 | top: 0;
8 | // transform: translateX(100%);
9 | }
10 |
--------------------------------------------------------------------------------
/src/pages/ScreenList/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect'
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | loading: state.loading.effects["settings/getUserInfo"]
6 | }
7 | }
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({
10 |
11 | })
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/StateList/component/index.less:
--------------------------------------------------------------------------------
1 | .component-other-state-list {
2 | &-content {
3 | width: 100%;
4 | height: 100%;
5 | &-item {
6 | display: inline-flex;
7 | float: left;
8 | overflow: hidden;
9 | word-break: break-all;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Ticket/type.ts:
--------------------------------------------------------------------------------
1 | export type TTicketConfig = {
2 | radius: number;
3 | length: number;
4 | dashed: {
5 | show: boolean;
6 | color: ComponentData.TColorConfig;
7 | };
8 | shadow: {
9 | show: boolean;
10 | };
11 | color: ComponentData.TColorConfig;
12 | };
13 |
--------------------------------------------------------------------------------
/src/components/InternalBorder/components/Border/index.less:
--------------------------------------------------------------------------------
1 | .internal-border-common {
2 | width: 100%;
3 | height: 100%;
4 | position: absolute;
5 | top: 0;
6 | left: 0;
7 | }
8 | .internal-border-outer {
9 | width: 100%;
10 | height: 100%;
11 | position: absolute;
12 | top: 0;
13 | left: 0;
14 | }
15 |
--------------------------------------------------------------------------------
/src/components/InternalBorder/components/Border/type.ts:
--------------------------------------------------------------------------------
1 | import { ReactNode, CSSProperties } from 'react';
2 |
3 | export type CommonBorderProps = {
4 | children: ReactNode;
5 | style?: CSSProperties;
6 | className?: string;
7 | [key: string]: any;
8 | } & ComponentData.TScreenData['config']['attr']['componentBorder'];
9 |
--------------------------------------------------------------------------------
/src/layouts/AuthLayout/index.tsx:
--------------------------------------------------------------------------------
1 | import { useGetUserInfo } from '@/hooks';
2 | import { Outlet, useLocation } from 'umi';
3 |
4 | const AuthLayout = (props: any) => {
5 | const location = useLocation();
6 |
7 | useGetUserInfo(location);
8 |
9 | return ;
10 | };
11 |
12 | export default AuthLayout;
13 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/ShepherdWrapper/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | userId: state.user.currentUser._id,
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({});
10 |
--------------------------------------------------------------------------------
/src/pages/Login/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {};
5 | };
6 |
7 | export const mapDispatchToProps = (dispatch: any) => ({
8 | login: (value: any) => dispatch({ type: 'user/login', payload: value }),
9 | });
10 |
--------------------------------------------------------------------------------
/assets/docs/1.19.md:
--------------------------------------------------------------------------------
1 |
2 | ## 1.19
3 |
4 | ### 设计器
5 |
6 | fix(): 前端大屏导出按钮一直loading
7 | fix(): 前端大屏移动端切换错误调用接口
8 | fix(): 前端大屏新增首次拖入组件报错
9 |
10 | feat(): 组内轮播
11 | feat(): 增加内置背景粒子动画
12 |
13 | style(): 图层排序ui样式修改
14 |
15 | refactor(): 未操作过期时间延长,或者在页面显示的情况下增加时间
16 | refactor(): 跳转交互配置,不启用无法编辑输入框
17 |
18 |
--------------------------------------------------------------------------------
/src/components/InternalBackground/components/Background/DoodleBubbleBackground/index.less:
--------------------------------------------------------------------------------
1 | .internal-background-doodle-hex-background {
2 | position: absolute;
3 | z-index: 0;
4 | width: 100%;
5 | height: 100%;
6 | left: 0;
7 | top: 0;
8 | &-main {
9 | width: 100%;
10 | height: 100%;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/components/ScreenComponentConfigChangeTooltip/Constants/index.ts:
--------------------------------------------------------------------------------
1 | import versionTooltip1P21 from './1.21';
2 |
3 | export default [
4 | {
5 | version: '1.21',
6 | tooltip: versionTooltip1P21,
7 | },
8 | ] as {
9 | version: string;
10 | tooltip: {
11 | [configId: string]: string;
12 | };
13 | }[];
14 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Header/ActionList/components/DebugConfig/Winbox/components/InsertComponent/connect.ts:
--------------------------------------------------------------------------------
1 | export const mapStateToProps = () => {
2 | return {};
3 | };
4 |
5 | export const mapDispatchToProps = (dispatch: any) => ({
6 | setSelect: (value: any) => dispatch({ type: 'global/setSelect', value }),
7 | });
8 |
--------------------------------------------------------------------------------
/src/pages/Forget/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {};
5 | };
6 |
7 | export const mapDispatchToProps = (dispatch: any) => ({
8 | forger: (value: any) => dispatch({ type: 'user/forger', payload: value }),
9 | });
10 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # http://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | charset = utf-8
9 | trim_trailing_whitespace = true
10 | insert_final_newline = true
11 |
12 | [*.md]
13 | trim_trailing_whitespace = false
14 |
15 | [Makefile]
16 | indent_style = tab
17 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/InterActiveConfig/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | components: state.global.components,
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({});
10 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/FontCarousel/type.ts:
--------------------------------------------------------------------------------
1 | export type TFontCarouselConfig = {
2 | textStyle: ComponentData.TFontConfig;
3 | speed: number;
4 | direction: 'left' | 'right';
5 | play: boolean;
6 | pauseOnHover: boolean;
7 | delay: number;
8 | condition: ComponentData.ComponentConditionConfig;
9 | };
10 |
--------------------------------------------------------------------------------
/src/pages/Register/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {};
5 | };
6 |
7 | export const mapDispatchToProps = (dispatch: any) => ({
8 | register: (value: any) => dispatch({ type: 'user/register', payload: value }),
9 | });
10 |
--------------------------------------------------------------------------------
/src/pages/Share/components/WaterMark/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | waterMark: state.global.screenData.config.attr.waterMark,
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({});
10 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "singleQuote": true,
3 | "trailingComma": "all",
4 | "printWidth": 80,
5 | "importOrder": [
6 | "",
7 | "^@(.*)",
8 | "^[./]"
9 | ],
10 | "overrides": [
11 | {
12 | "files": ".prettierrc",
13 | "options": { "parser": "json" }
14 | }
15 | ]
16 | }
17 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RenderComponent/components/NameTag/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | loggerMode: state.local.loggerMode,
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({});
10 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/DataConfigDetail/components/SubTitle/index.less:
--------------------------------------------------------------------------------
1 | .design-config-data-detail-sub-title {
2 | margin-top: 15px;
3 | font-size: 12px;
4 | font-size: 12px;
5 | }
6 | .design-config-data-detail-sub-form {
7 | margin: 10px 0;
8 | font-size: 12px;
9 | }
10 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/Text/component/index.less:
--------------------------------------------------------------------------------
1 | .component-font-text {
2 | overflow: hidden;
3 | &-carousel {
4 | animation: transform 1s linear infinite;
5 | }
6 | }
7 | @keyframes transform {
8 | 0% {
9 | transform: translateY(0);
10 | }
11 | 100% {
12 | transform: translateY(-50%);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/components/ColorSelect/index.less:
--------------------------------------------------------------------------------
1 | .component-color-select {
2 | width: 24px;
3 | height: 24px;
4 | flex: none;
5 | }
6 | .component-color-select-tooltip {
7 | :global {
8 | .ant-tooltip-inner {
9 | padding: 0;
10 | }
11 | input[id^='rc-editable-input'] {
12 | color: black;
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Panel/components/ComponentList/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | components: state.global.components || [],
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({});
10 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Panel/components/ToolBar/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | flag: state.global.screenData.config.flag.type,
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({});
10 |
--------------------------------------------------------------------------------
/src/utils/Assist/Logger/Window/index.less:
--------------------------------------------------------------------------------
1 | .logger-window {
2 | flex-direction: column;
3 | :global {
4 | .ant-tabs {
5 | flex: 1;
6 | overflow: hidden;
7 | }
8 | .ant-tabs-content-holder {
9 | overflow: auto;
10 | }
11 | }
12 | }
13 | .logger-window-main {
14 | }
15 | .logger-window-footer {
16 | }
17 |
--------------------------------------------------------------------------------
/assets/docs/1.13.md:
--------------------------------------------------------------------------------
1 |
2 | ## 1.13
3 |
4 | ### 设计器
5 |
6 | feat(): 跨屏复制粘贴组件
7 | feat(): 组件与组增加边框配置
8 | feat(): 所有组件增加链接跳转配置
9 | feat(): 增加全局配置,预设背景选择
10 |
11 | ### 组件
12 |
13 | 新增组件
14 | - 抽奖
15 |
16 | 优化组件
17 | - 天气组件频繁调用接口
18 | - 高德地图弹框背景色默认值修改
19 | - 取消高德地图设计时的鼠标事件
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Video/type.ts:
--------------------------------------------------------------------------------
1 | import { PathStyleMap } from '@/hooks/useClipPath';
2 |
3 | export type TVideoConfig = {
4 | autoplay: boolean;
5 | loop: boolean;
6 | controls: boolean;
7 | muted: boolean;
8 | condition: ComponentData.ComponentConditionConfig;
9 | clipPath: keyof typeof PathStyleMap;
10 | };
11 |
--------------------------------------------------------------------------------
/src/components/ComponentError/index.less:
--------------------------------------------------------------------------------
1 | .component-error {
2 | flex-direction: column;
3 | justify-content: center;
4 | align-items: center;
5 | border: 1px solid white;
6 | border-radius: 8px;
7 | &-icon {
8 | margin-bottom: 12px;
9 | }
10 | &-title {
11 | font-weight: bold;
12 | line-height: 1.8;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/layouts/components/CommonLayout/FetchLoginWrapper/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {};
5 | };
6 |
7 | export const mapDispatchToProps = (dispatch: any) => ({
8 | getUserInfo: () => dispatch({ type: 'user/getUserInfo' }),
9 | });
10 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RenderComponent/index.less:
--------------------------------------------------------------------------------
1 | @import '../../../../global.less';
2 |
3 | .render-component-content {
4 | }
5 | .render-component-wrapper {
6 | border: 1px solid transparent;
7 | }
8 | .render-component-wrapper:hover {
9 | &:extend(.border-1);
10 | }
11 | .render-component-main {
12 | border-width: 1px;
13 | }
14 |
--------------------------------------------------------------------------------
/assets/docs/1.12.md:
--------------------------------------------------------------------------------
1 |
2 | ## 1.12
3 |
4 | ### 设计器
5 |
6 | feat(): 图层搜索
7 | feat(): 组件搜索
8 |
9 | style(): 组件研发未完成状态标识
10 | style(): 组件列表大图预览
11 |
12 | refactor(): 错误弹窗单例模式
13 |
14 | ### 组件
15 |
16 | 新增组件
17 | - 路径动画
18 | - 二维码
19 |
20 | 优化组件
21 | - 高德地图事件
22 | - 高德地图坐标配置新增
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/src/components/ColorImageBackground/index.less:
--------------------------------------------------------------------------------
1 | .component-color-image-background {
2 | position: relative;
3 | display: flex;
4 | flex-direction: column;
5 | align-items: center;
6 | &-image {
7 | z-index: 0;
8 | position: absolute;
9 | left: 0;
10 | top: 0;
11 | width: 100%;
12 | height: 100%;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/scripts/GenerateComponent/README.md:
--------------------------------------------------------------------------------
1 |
2 | # 快速生成新组件
3 |
4 | ## 所需参数
5 |
6 | - 大类型
7 | parent
8 | 组件所属的大类型,比如`chart`、`font`、`source`、`other`、``
9 | - 子类型
10 | sub
11 | 组件所属的子类型
12 | - 类型
13 | type
14 | 组件自身的类型
15 | - 标题
16 | title
17 | 组件的名称
18 | - 描述
19 | description
20 | 组件的描述,可选
21 | - 键名
22 | key
23 | 组件的`key`,不写则表示类型
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/RenderWrapper/ShowIdWrapper/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | debug: state.local.debug,
6 | screenType: state.global.screenType,
7 | };
8 | };
9 |
10 | export const mapDispatchToProps = () => ({});
11 |
--------------------------------------------------------------------------------
/src/layouts/components/Avatar/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | userInfo: state.user.currentUser,
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({
10 | logout: () => dispatch({ type: 'user/logout' }),
11 | });
12 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/Structure/FullForm/index.less:
--------------------------------------------------------------------------------
1 | .design-config-full-form {
2 | padding: 0 4px 4px 4px;
3 | width: 100%;
4 | &-content {
5 | line-height: var(--config-component-height);
6 | }
7 | &-label {
8 | color: rgb(92, 99, 102);
9 | height: 16px;
10 | line-height: 16px;
11 | font-size: 12px;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/Structure/HalfForm/index.less:
--------------------------------------------------------------------------------
1 | .design-config-half-form {
2 | padding: 0 4px 4px 4px;
3 | width: 48%;
4 | &-content {
5 | line-height: var(--config-component-height);
6 | }
7 | &-label {
8 | color: rgb(92, 99, 102);
9 | height: 16px;
10 | line-height: 16px;
11 | font-size: 12px;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/Structure/PlaceHolder/index.less:
--------------------------------------------------------------------------------
1 | .design-right-placeholder {
2 | display: block;
3 | width: 16px;
4 | height: var(--config-component-height);
5 | margin-right: 4px;
6 | position: relative;
7 | line-height: var(--config-component-height);
8 | text-align: center;
9 | }
10 | .design-right-placeholder-show {
11 | }
12 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/FullScreen/component/index.less:
--------------------------------------------------------------------------------
1 | .component-interactive-full-screen {
2 | &-main {
3 | & > div {
4 | padding: 16%;
5 | & img {
6 | left: 50%;
7 | top: 50%;
8 | transform: translateX(-50%) translateY(-50%);
9 | object-fit: contain;
10 | }
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Rate/type.ts:
--------------------------------------------------------------------------------
1 | export type TRateConfig = {
2 | backgroundColor: ComponentData.TColorConfig;
3 | rateBackgroundColor: ComponentData.TColorConfig;
4 | size: number;
5 | count: number;
6 | margin: number;
7 | defaultValue: number;
8 | shape: string;
9 | allowHalf: boolean;
10 | allowClear: boolean;
11 | };
12 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Model/component/index.less:
--------------------------------------------------------------------------------
1 | .component-media-model {
2 | overflow: hidden;
3 | position: relative;
4 | & iframe {
5 | width: 100%;
6 | height: 100%;
7 | }
8 | &-loading {
9 | position: absolute;
10 | left: 50%;
11 | top: 50%;
12 | transform: translateX(-50%) translateY(-50%);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/components/ParamsSelect/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | const { constants, params } = state.global.screenData.config.attr;
5 | return {
6 | params,
7 | constants,
8 | };
9 | };
10 |
11 | export const mapDispatchToProps = (dispatch: any) => ({});
12 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/TimeMachine/type.ts:
--------------------------------------------------------------------------------
1 | export type TTimeMachineConfig = {
2 | textStyle: ComponentData.TFontConfig;
3 | icon: {
4 | show: boolean;
5 | value: string;
6 | color: ComponentData.TColorConfig;
7 | size: number;
8 | margin: number;
9 | position: 'before' | 'after';
10 | };
11 | formatter: string;
12 | };
13 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Button/type.ts:
--------------------------------------------------------------------------------
1 | export type TButtonConfig = {
2 | textStyle: ComponentData.TFontConfig;
3 | backgroundColor: ComponentData.TColorConfig;
4 | icon: string;
5 | borderRadius: number;
6 | type: 'primary' | 'default';
7 | actionType: 'submit' | 'normal';
8 | condition: ComponentData.ComponentConditionConfig;
9 | };
10 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/LeftContent/components/ComponentList/connect.ts:
--------------------------------------------------------------------------------
1 | export const mapStateToProps = () => {
2 | return {};
3 | };
4 |
5 | export const mapDispatchToProps = (dispatch: any) => ({
6 | setDragInfo: (value: any) => dispatch({ type: 'global/setDragInfo', value }),
7 | setSelect: (value: any) => dispatch({ type: 'global/setSelect', value }),
8 | });
9 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RenderComponent/components/Content/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | screenType: state.global.screenType,
6 | version: state.global.version || '',
7 | };
8 | };
9 |
10 | export const mapDispatchToProps = () => ({});
11 |
--------------------------------------------------------------------------------
/src/pages/Share/index.less:
--------------------------------------------------------------------------------
1 | .page-preview-pc {
2 | left: 0 !important;
3 | top: 0 !important;
4 | overflow: hidden;
5 | }
6 | .page-preview-h5 {
7 | left: 0 !important;
8 | top: 0 !important;
9 | position: relative !important;
10 | height: auto !important;
11 | }
12 | .page-preview-h5-wrapper {
13 | overflow-y: auto;
14 | overflow-x: hidden;
15 | }
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/BaseConfig/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | components: state.global.components,
6 | flag: state.global.screenData.config.flag.type,
7 | };
8 | };
9 |
10 | export const mapDispatchToProps = (dispatch: any) => ({});
11 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/Structure/Container/index.less:
--------------------------------------------------------------------------------
1 | .design-config-form-item-container {
2 | margin-left: -4px;
3 | margin-right: -4px;
4 | display: flex;
5 | flex-flow: wrap;
6 | align-items: center;
7 | justify-content: space-between;
8 | padding-bottom: 0;
9 | line-height: var(--config-component-height);
10 | position: relative;
11 | }
12 |
--------------------------------------------------------------------------------
/src/components/ScrollText/index.less:
--------------------------------------------------------------------------------
1 | .component-scroll-text {
2 | overflow: hidden;
3 | &-content {
4 | position: absolute;
5 | width: 100%;
6 | white-space: nowrap;
7 | animation-name: scroll-text-animation;
8 | }
9 | }
10 |
11 | @keyframes scroll-text-animation {
12 | 0% {
13 | left: 0;
14 | }
15 | 100% {
16 | left: -110%;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/pages/Designer/index.less:
--------------------------------------------------------------------------------
1 | .designer-page {
2 | width: 100%;
3 | height: 100vh;
4 | overflow: hidden;
5 | position: relative;
6 | display: flex;
7 | flex-direction: column;
8 | & *:not(input) {
9 | user-select: none;
10 | }
11 | &-content {
12 | min-width: 100vw;
13 | display: flex;
14 | flex: 1;
15 | overflow: hidden;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/Tag/type.ts:
--------------------------------------------------------------------------------
1 | export type TTagConfig = {
2 | margin: number;
3 | textStyle: ComponentData.TFontConfig;
4 | series: {
5 | color: ComponentData.TColorConfig;
6 | icon?: string;
7 | }[];
8 | icon: {
9 | position: 'start' | 'end';
10 | margin: number;
11 | };
12 | condition: ComponentData.ComponentConditionConfig;
13 | };
14 |
--------------------------------------------------------------------------------
/src/components/DesignerBackground/index.less:
--------------------------------------------------------------------------------
1 | .designer-page-background {
2 | width: 100%;
3 | height: 100%;
4 | background: currentColor;
5 | background-image: linear-gradient(currentColor 14px, transparent 0),
6 | linear-gradient(90deg, pink 1px, transparent 0);
7 | background-size: 15px 15px, 15px 15px;
8 | top: 0;
9 | left: 0;
10 | overflow: hidden;
11 | }
12 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/LeftContent/components/LayerManage/components/Header/index.less:
--------------------------------------------------------------------------------
1 | @import '~antd/es/style/themes/default.less';
2 |
3 | .design-layer-manage-content-header {
4 | width: 100%;
5 | height: 50px;
6 | top: 0;
7 | align-items: center;
8 | background-color: @layout-header-background;
9 | z-index: 2;
10 | & > div {
11 | flex: 1;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RenderComponent/components/Content/ComponentWrapper/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | screenType: state.global.screenType,
6 | version: state.global.version || '',
7 | };
8 | };
9 |
10 | export const mapDispatchToProps = () => ({});
11 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Carousel/component/index.less:
--------------------------------------------------------------------------------
1 | .component-media-carousel {
2 | :global {
3 | .slick-dots {
4 | margin: 0;
5 | li button::before {
6 | display: none;
7 | }
8 | }
9 | .slick-list {
10 | height: 100%;
11 | }
12 | .ant-carousel {
13 | width: 100%;
14 | height: 100%;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Model/type.ts:
--------------------------------------------------------------------------------
1 | export type TModelConfig = {
2 | position: {
3 | x: number;
4 | y: number;
5 | z: number;
6 | };
7 | focus: {
8 | x: number;
9 | y: number;
10 | z: number;
11 | };
12 | scale: number;
13 | color: ComponentData.TColorConfig;
14 | rotate: {
15 | show: boolean;
16 | speed: number;
17 | };
18 | };
19 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Header/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | screenData: state.global.screenData,
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({
10 | setScreen: (value: any) => dispatch({ type: 'global/setScreen', value }),
11 | });
12 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RightContent/index.less:
--------------------------------------------------------------------------------
1 | .design-page-right {
2 | overflow: hidden;
3 | height: 100%;
4 | user-select: none;
5 | font-size: 12px;
6 | flex-shrink: 0;
7 | transition-property: opacity, width;
8 | transition-duration: 0.2s, 0.5s;
9 | opacity: 0;
10 | width: 0;
11 | }
12 | .design-page-right-show {
13 | opacity: 1;
14 | width: 332px;
15 | }
16 |
--------------------------------------------------------------------------------
/src/services/third.ts:
--------------------------------------------------------------------------------
1 | import request from '../utils/request';
2 |
3 | // 获取天气
4 | export const getWeatherData = (data: API_THIRD.TWeatherParams) => {
5 | return request('/api/third/request', {
6 | method: 'POST',
7 | data: {
8 | params: {
9 | ...data,
10 | _id: '630c7f824fa77520a214a75d',
11 | },
12 | },
13 | });
14 | };
15 |
--------------------------------------------------------------------------------
/src/utils/Assist/BreakingChange/ConditionChange/README.md:
--------------------------------------------------------------------------------
1 |
2 | # 组件条件配置大改动
3 |
4 | ## 2022-07-25
5 |
6 | ## 1.8
7 |
8 | 之前的条件配置为`ComponentData.ComponentCondition[]`,为纯数组。
9 | 因为需要新增一些相关的条件配置,所以现在将他更改为对象。新数据格式为:
10 | ```ts
11 | type ConfitionType = {
12 | value: ComponentData.ComponentCondition[]
13 | initialState: ComponentData.ComponentConditionActionType
14 | }
15 | ```
--------------------------------------------------------------------------------
/src/utils/Assist/BreakingChange/ScreenThemeTypeChange/README.md:
--------------------------------------------------------------------------------
1 |
2 | # 大屏主题色配置更改
3 |
4 | ## 2022-10-13
5 |
6 | ## 1.14
7 |
8 | 之前的主题色仅为内置,且无法在新增大屏后修改,数据类型为`字符串`。
9 | 先支持在任何时机进行修改,且支持自定义上传图片获取主题色。
10 | 新数据格式为:
11 | ```ts
12 | type TScreenTheme = {
13 | type: 'internal' | 'custom'
14 | value: string
15 | // 只有非内置的需要保存颜色数组
16 | color?: string[]
17 | }
18 | ```
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/Structure/Container/index.tsx:
--------------------------------------------------------------------------------
1 | import { ReactNode } from 'react';
2 | import styles from './index.less';
3 |
4 | const FormContainer = ({ children }: { children?: ReactNode }) => {
5 | return (
6 |
7 | {children}
8 |
9 | );
10 | };
11 |
12 | export default FormContainer;
13 |
--------------------------------------------------------------------------------
/src/layouts/components/CommonLayout/EnvironmentPrompt/index.tsx:
--------------------------------------------------------------------------------
1 | import PromptChrome from '@/components/PromptChrome';
2 |
3 | // 环境判断
4 | const EnvironmentPrompt = (props: any) => {
5 | const { Component, ...nextProps } = props;
6 | return (
7 |
8 |
9 |
10 | );
11 | };
12 |
13 | export default EnvironmentPrompt;
14 |
--------------------------------------------------------------------------------
/src/components/Decoration/Decoration11/index.less:
--------------------------------------------------------------------------------
1 | .component-decoration-11 {
2 | position: relative;
3 | width: 100%;
4 | height: 100%;
5 | display: flex;
6 |
7 | &-content {
8 | position: absolute;
9 | top: 0px;
10 | left: 0px;
11 | width: 100%;
12 | height: 100%;
13 | display: flex;
14 | align-items: center;
15 | justify-content: center;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/components/ImageUpload/index.less:
--------------------------------------------------------------------------------
1 | .component-image-upload {
2 | :global {
3 | .ant-upload.ant-upload-select-picture-card,
4 | .ant-upload-list-picture-card-container {
5 | width: 100%;
6 | height: 200px;
7 | }
8 | }
9 | &-placeholder {
10 | & > span {
11 | font-size: 40px;
12 | }
13 | & > div {
14 | font-size: 12px;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/Text/type.ts:
--------------------------------------------------------------------------------
1 | export type TTextConfig = {
2 | textStyle: ComponentData.TFontConfig & {
3 | lineHeight: number;
4 | letterSpacing: number;
5 | textAlign: 'left' | 'right' | 'justify';
6 | textIndent: number;
7 | };
8 | animation: {
9 | show: boolean;
10 | speed: number;
11 | };
12 | condition: ComponentData.ComponentConditionConfig;
13 | };
14 |
--------------------------------------------------------------------------------
/src/components/Tooltip/index.tsx:
--------------------------------------------------------------------------------
1 | import {} from 'react';
2 | import { Tooltip as AntTooltip } from 'antd';
3 | import type { TooltipProps } from 'antd/es/tooltip';
4 | import { usePrimaryColor } from '@/hooks';
5 |
6 | const Tooltip = (props: TooltipProps) => {
7 | const primaryColor = usePrimaryColor();
8 |
9 | return ;
10 | };
11 |
12 | export default Tooltip;
13 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/ExchangeScreenFlag/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | flag: state.global.screenData.config.flag.type,
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({
10 | setScreen: (value: any) => dispatch({ type: 'global/setScreen', value }),
11 | });
12 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Panel/components/ReactSelecto/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | screenType: state.global.screenType,
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({
10 | setSelect: (value: any) => dispatch({ type: 'global/setSelect', value }),
11 | });
12 |
--------------------------------------------------------------------------------
/assets/docs/1.17.md:
--------------------------------------------------------------------------------
1 |
2 | ## 1.17
3 |
4 | ### 首页
5 |
6 | style(): logo旁文字在手机端显示太小
7 | style(): 控制刚体元素在页面中的宽度
8 |
9 | ### 设计器
10 |
11 | fix(): 组内元素调整大小没有同步调整组的大小
12 |
13 | style(): 图层列表组件hover文字颜色显示不对
14 | style(): 画布模块最外层不设置滚动
15 | style(): 画布去除横向滚动条
16 |
17 | refactor(): 组件相关使用按需加载
18 |
19 | ### 组件
20 |
21 | 优化组件
22 | - 搜索组件,按钮占比配置使用百分比
23 | - switch默认背景色不对
24 | - 下拉框组件层级显示错误
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/Component/hook/useComponentResize.ts:
--------------------------------------------------------------------------------
1 | import { useEffect } from 'react';
2 |
3 | export function useComponentResize(
4 | value: ComponentData.TComponentData,
5 | callback?: () => void,
6 | ) {
7 | const {
8 | config: {
9 | style: { width, height },
10 | },
11 | } = value;
12 |
13 | useEffect(() => {
14 | callback?.();
15 | }, [width, height]);
16 | }
17 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/QrCode/component/index.less:
--------------------------------------------------------------------------------
1 | .component-other-qr-code {
2 | overflow: hidden;
3 | &-content {
4 | position: relative;
5 | &-image {
6 | width: 100%;
7 | height: 100%;
8 | }
9 | }
10 | &-logo {
11 | position: absolute;
12 | left: 50%;
13 | top: 50%;
14 | transform: translateX(-50%) translateY(-50%);
15 | z-index: 1;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/pages/Designer/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {};
5 | };
6 |
7 | export const mapDispatchToProps = (dispatch: any) => ({
8 | setScreenType: (value: any) =>
9 | dispatch({ type: 'global/setScreenType', value }),
10 | getMockValueKindMap: () => dispatch({ type: 'data/getMockValueKindMap' }),
11 | });
12 |
--------------------------------------------------------------------------------
/src/components/PageLoading/index.less:
--------------------------------------------------------------------------------
1 | .page-custom-loading {
2 | position: relative;
3 | left: 50%;
4 | top: 50%;
5 | transform: translateX(-50%) translateY(-50%);
6 | }
7 | .page-custom-loading-wrapper {
8 | width: 100vw;
9 | height: 100vh;
10 | overflow: hidden;
11 | display: flex;
12 | justify-content: center;
13 | align-items: center;
14 | position: absolute;
15 | left: 0;
16 | top: 0;
17 | }
18 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RightContent/components/GlobalConfig/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | screenData: state.global.screenData,
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({
10 | setScreenData: (value: any) => dispatch({ type: 'global/setScreen', value }),
11 | });
12 |
--------------------------------------------------------------------------------
/src/utils/Assist/About/index.tsx:
--------------------------------------------------------------------------------
1 | export const gotoGithub = () => {
2 | window.open('https://github.com/food-billboard', '_blank');
3 | };
4 |
5 | export const gotoBlog = () => {
6 | window.open('https://food-billboard.github.io/', '_blank');
7 | };
8 |
9 | export const gotoOperation = () => {
10 | window.open(
11 | 'http://47.97.27.23/api/backend/create-chart-docs/index.html',
12 | '_blank',
13 | );
14 | };
15 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/LeftContent/components/LensConfig/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | lens: state.global.screenData.config.attr.lens,
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({
10 | setScreen: (value: any) => dispatch({ type: 'global/setScreen', value }),
11 | });
12 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RightContent/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | components: state.global.components || [],
6 | select: state.global.select || [],
7 | componentConfigCollapse: state.local.componentConfigCollapse,
8 | };
9 | };
10 |
11 | export const mapDispatchToProps = (dispatch: any) => ({});
12 |
--------------------------------------------------------------------------------
/assets/docs/1.7.md:
--------------------------------------------------------------------------------
1 |
2 | ## 1.7
3 |
4 | ### 首页
5 | style(): 新增介绍首页
6 |
7 | ### 大屏列表&模板列表
8 | style(): 增加背景动效
9 |
10 | ### 登录权限页面
11 | style(): 登录背景重构
12 |
13 | ### 设计器
14 | fix(): 数据更改图表无动画
15 | fix(): 组内组件新增mock字段报错
16 | fix(): mock重新获取数据的按钮不显示
17 | fix(): 数据改变图表组件没更新
18 |
19 | feat(): 组件配置更新按批次提交后台
20 | feat(): 设计状态下定时请求不开启
21 | feat(): 增加代码形式的相关功能开关
22 | feat(): 保存超时提示
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/scripts/GenerateComponent/TemplateComponentImport.txt:
--------------------------------------------------------------------------------
1 | import ThisIsComponentImage from '../../../../../../public/components/default-chart.png'
2 |
3 | export default {
4 | type: 'component-type-prefix',
5 | parentType: 'component-parent-type-prefix',
6 | subParentType: 'component-sub-parent-type-prefix',
7 | icon: ThisIsComponentImage,
8 | title: 'component-title-prefix',
9 | description: 'component-description-prefix'
10 | }
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Audio/component/index.less:
--------------------------------------------------------------------------------
1 | .component-media-audio {
2 | overflow: hidden;
3 | position: relative;
4 | audio {
5 | width: 100%;
6 | height: 100%;
7 | }
8 | &-tooltip {
9 | position: absolute;
10 | z-index: 1;
11 | text-align: center;
12 | left: 50%;
13 | top: 50%;
14 | transform: translateX(-50%) translateY(-50%);
15 | font-size: 14px;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/hooks/useAnyDva.ts:
--------------------------------------------------------------------------------
1 | import { getDvaApp } from 'umi';
2 | import type { Dispatch } from 'dva';
3 | import { ConnectState } from '@/models/connect';
4 |
5 | let app: any;
6 |
7 | export function useAnyDva(): {
8 | dispatch: Dispatch;
9 | getState: () => ConnectState;
10 | } {
11 | if (!app) app = getDvaApp();
12 |
13 | return {
14 | dispatch: app._store.dispatch,
15 | getState: app._store.getState,
16 | };
17 | }
18 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/PageLoading/index.less:
--------------------------------------------------------------------------------
1 | @import '~antd/es/style/themes/default.less';
2 |
3 | .page-designer-loading {
4 | width: 100vw;
5 | height: 100vh;
6 | z-index: 99;
7 | position: fixed;
8 | left: 0;
9 | top: 0;
10 | pointer-events: none;
11 | background-color: @component-background;
12 | display: flex;
13 | align-items: center;
14 | justify-content: center;
15 | pointer-events: none;
16 | }
17 |
--------------------------------------------------------------------------------
/src/pages/Home/components/MatterBoxes/index.less:
--------------------------------------------------------------------------------
1 | .home-page-matter-boxes-container {
2 | // position: sticky;
3 | // left: 0;
4 | // top: 0;
5 | // z-index: 1;
6 | --container-width: ~'min(100vw, 1024px)';
7 | width: var(--container-width);
8 | height: calc(var(--container-width) * 0.56);
9 | border: 3px solid white;
10 | position: relative;
11 | left: 50%;
12 | top: 0;
13 | transform: translateX(-50%);
14 | }
15 |
--------------------------------------------------------------------------------
/assets/docs/1.10.md:
--------------------------------------------------------------------------------
1 |
2 | ## 1.10
3 |
4 | ### 设计器
5 | fix(): 辅助线放大缩小后位置变动
6 | fix(): 拖拽辅助线多次保存
7 | fix(): 关闭过滤器,组件未刷新
8 | fix(): 颜色选择多次调用保存
9 | fix(): 配置在聚焦情况切换选中组件未保存
10 |
11 | feat(): 新增组件拖拽事件
12 | feat(): 新增画布缩略图
13 | feat(): 组件列表可折叠
14 | feat(): 组件onChange预调用
15 |
16 | style(): 画布顶点位置修改
17 |
18 | refactor(): 辅助线吸附效果优化
19 |
20 | ### 组件
21 |
22 | 新增组件
23 | - 天气预报
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/public/home/wall.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/components/InternalBorder/connect.ts:
--------------------------------------------------------------------------------
1 | import { get } from 'lodash';
2 | import { ConnectState } from '@/models/connect';
3 |
4 | export const mapStateToProps = (state: ConnectState) => {
5 | const { width, padding } = get(
6 | state,
7 | 'global.screenData.config.attr.componentBorder',
8 | );
9 | return {
10 | width,
11 | padding,
12 | };
13 | };
14 |
15 | export const mapDispatchToProps = (dispatch: any) => ({});
16 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/LeftContent/components/RequestDefaultConfig/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | request: state.global.screenData.config.attr.request,
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({
10 | setScreen: (value: any) => dispatch({ type: 'global/setScreen', value }),
11 | });
12 |
--------------------------------------------------------------------------------
/src/utils/Assist/GlobalComponent/index.ts:
--------------------------------------------------------------------------------
1 | class GlobalComponent {
2 | COMPONENT_MAP: any = {};
3 |
4 | register = (key: string, value: any) => {
5 | this.COMPONENT_MAP[key] = value;
6 | };
7 |
8 | unRegister = (key: string) => {
9 | delete this.COMPONENT_MAP[key];
10 | };
11 |
12 | getComponent = (key: string) => {
13 | return this.COMPONENT_MAP[key];
14 | };
15 | }
16 |
17 | export default new GlobalComponent();
18 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/InterActiveConfig/components/BaseConfig/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | params: state.global.screenData.config.attr.params,
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({
10 | setScreen: (value: any) => dispatch({ type: 'global/setScreen', value }),
11 | });
12 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Image/type.ts:
--------------------------------------------------------------------------------
1 | import { PathStyleMap } from '@/hooks/useClipPath';
2 |
3 | export type TImageConfig = {
4 | type: 'image' | 'color';
5 | clipPath: keyof typeof PathStyleMap;
6 | content: string | ComponentData.TColorConfig;
7 | repeat: {
8 | x: boolean;
9 | y: boolean;
10 | };
11 | condition: ComponentData.ComponentConditionConfig;
12 | preview: {
13 | show: boolean;
14 | };
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/InternalBorder/components/Border/BorderBox12/index.less:
--------------------------------------------------------------------------------
1 | .internal-border-12-border {
2 | position: absolute;
3 | top: 0;
4 | left: 0;
5 | width: 100%;
6 | height: 100%;
7 |
8 | &-container {
9 | position: absolute;
10 | width: 100%;
11 | height: 100%;
12 | top: 0px;
13 | left: 0px;
14 | }
15 |
16 | &-content {
17 | position: relative;
18 | width: 100%;
19 | height: 100%;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/components/InternalBorder/components/Border/BorderBox13/index.less:
--------------------------------------------------------------------------------
1 | .internal-border-13-border {
2 | position: absolute;
3 | top: 0;
4 | left: 0;
5 | width: 100%;
6 | height: 100%;
7 |
8 | &-container {
9 | position: absolute;
10 | width: 100%;
11 | height: 100%;
12 | top: 0px;
13 | left: 0px;
14 | }
15 |
16 | &-content {
17 | position: relative;
18 | width: 100%;
19 | height: 100%;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/components/InternalBorder/components/Border/BorderBox8/index.less:
--------------------------------------------------------------------------------
1 | .internal-border-8-border {
2 | position: absolute;
3 | top: 0;
4 | left: 0;
5 | width: 100%;
6 | height: 100%;
7 |
8 | &-container {
9 | position: absolute;
10 | width: 100%;
11 | height: 100%;
12 | left: 0px;
13 | top: 0px;
14 | }
15 |
16 | &-content {
17 | position: relative;
18 | width: 100%;
19 | height: 100%;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/components/InternalBorder/components/Border/BorderBox9/index.less:
--------------------------------------------------------------------------------
1 | .internal-border-9-border {
2 | position: absolute;
3 | left: 0;
4 | top: 0;
5 | width: 100%;
6 | height: 100%;
7 |
8 | &-container {
9 | position: absolute;
10 | width: 100%;
11 | height: 100%;
12 | left: 0px;
13 | top: 0px;
14 | }
15 |
16 | &-content {
17 | position: relative;
18 | width: 100%;
19 | height: 100%;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/LeftContent/components/ConstantManage/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | constants: state.global.screenData.config.attr.constants || [],
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({
10 | setScreen: (value: any) => dispatch({ type: 'global/setScreen', value }),
11 | });
12 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Panel/components/ToolBar/components/PanelThumb/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | const { width, height } = state.global.screenData.config.style;
5 | return {
6 | width,
7 | height,
8 | components: state.global.components,
9 | };
10 | };
11 |
12 | export const mapDispatchToProps = (dispatch: any) => ({});
13 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/CodeViewer/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | const { filter, params, constants } = state.global.screenData.config.attr;
5 | return {
6 | filter,
7 | params,
8 | constants,
9 | };
10 | };
11 |
12 | export const mapDispatchToProps = (dispatch: any) => ({});
13 |
--------------------------------------------------------------------------------
/src/hooks/useDeepUpdateEffect.ts:
--------------------------------------------------------------------------------
1 | import { useRef } from 'react';
2 | import { useDeepCompareEffect } from 'ahooks';
3 |
4 | export const useDeepUpdateEffect: typeof useDeepCompareEffect = (
5 | effect,
6 | deps,
7 | ) => {
8 | const isFirst = useRef(true);
9 |
10 | useDeepCompareEffect(() => {
11 | if (isFirst.current) {
12 | isFirst.current = false;
13 | } else {
14 | return effect();
15 | }
16 | }, deps);
17 | };
18 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/RuleTree/components/InnerConnectLeft/index.tsx:
--------------------------------------------------------------------------------
1 | import {} from 'react';
2 | import { ReactComponent as Connect } from './index.svg';
3 |
4 | const InnerConnectLeft = () => {
5 | return (
6 |
13 |
14 |
15 | );
16 | };
17 |
18 | export default InnerConnectLeft;
19 |
--------------------------------------------------------------------------------
/src/components/ContextMenu/Actions/Redo.tsx:
--------------------------------------------------------------------------------
1 | import { useCallback } from 'react';
2 | import { RedoOutlined } from '@ant-design/icons';
3 | import useChildren from './useChildren';
4 |
5 | const RedoAction = () => {
6 | const handleClick = useCallback(() => {}, []);
7 |
8 | return (
9 |
10 |
11 | 重做
12 |
13 | );
14 | };
15 |
16 | export default RedoAction;
17 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/LeftContent/components/CallbackManage/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | callback: state.global.screenData.config.attr.filter || [],
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({
10 | setCallbackData: (value: any) =>
11 | dispatch({ type: 'global/setCallbackData', value }),
12 | });
13 |
--------------------------------------------------------------------------------
/src/pages/Designer/utils/component/GenerateList/index.tsx:
--------------------------------------------------------------------------------
1 | // import xxxComponent from './xxx'
2 | // component-generate-import
3 |
4 | const GENERATE_COMPONENT_LIST: {
5 | parentType: string;
6 | subParentType: string;
7 | type: string;
8 | icon: string;
9 | title: string;
10 | description: string;
11 | }[] = [];
12 |
13 | // GENERATE_COMPONENT_LIST.push(xxxComponent)
14 | // component-generate-insert
15 |
16 | export default GENERATE_COMPONENT_LIST;
17 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/Component/hook/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useComponent';
2 | export * from './useChartComponentResize';
3 | export * from './useChartValueMap';
4 | export * from './useComponentResize';
5 | export * from './useAnimationChange';
6 | export * from './useCondition';
7 | export * from './useChartComponentTooltip';
8 | export * from './useGroupComponent';
9 | export * from './useChartPerConfig';
10 | export * from './useComponentSize';
11 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/RuleTree/components/InnerConnectRight/index.tsx:
--------------------------------------------------------------------------------
1 | import {} from 'react';
2 | import { ReactComponent as Connect } from './index.svg';
3 |
4 | const InnerConnectLeft = () => {
5 | return (
6 |
13 |
14 |
15 | );
16 | };
17 |
18 | export default InnerConnectLeft;
19 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/RuleTree/components/OuterConnectRight/index.tsx:
--------------------------------------------------------------------------------
1 | import {} from 'react';
2 | import { ReactComponent as Connect } from './index.svg';
3 |
4 | const OuterConnectRight = () => {
5 | return (
6 |
13 |
14 |
15 | );
16 | };
17 |
18 | export default OuterConnectRight;
19 |
--------------------------------------------------------------------------------
/src/components/SyncCodeEditor/Typesetting.tsx:
--------------------------------------------------------------------------------
1 | import { SkinOutlined } from '@ant-design/icons';
2 | import IconTooltip from '../IconTooltip';
3 |
4 | const Typesetting = (props: { onClick?: () => void }) => {
5 | const { onClick } = props;
6 |
7 | return (
8 |
9 |
10 |
11 | );
12 | };
13 |
14 | export default Typesetting;
15 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Panel/components/PanelWrapper/components/Ruler/connect.ts:
--------------------------------------------------------------------------------
1 | import { get } from 'lodash';
2 | import { ConnectState } from '@/models/connect';
3 |
4 | export const mapStateToProps = (state: ConnectState) => {
5 | return {
6 | guideLineList: get(state, 'global.guideLine.value') || [],
7 | guideLineShow: get(state, 'global.guideLine.show') ?? false,
8 | };
9 | };
10 |
11 | export const mapDispatchToProps = (dispatch: any) => ({});
12 |
--------------------------------------------------------------------------------
/src/services/mock.ts:
--------------------------------------------------------------------------------
1 | import request from '../utils/request';
2 |
3 | // mock数据格式列表
4 | export const getMockKindList = () => {
5 | return request('/api/screen/mock/params', {
6 | method: 'GET',
7 | }).then((data) => {
8 | return data.map((item: any) => {
9 | return {
10 | id: item._id,
11 | value: item.data_kind,
12 | description: item.description,
13 | };
14 | });
15 | });
16 | };
17 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/RuleTree/components/OuterConnectLeft/index.tsx:
--------------------------------------------------------------------------------
1 | import {} from 'react';
2 | import { ReactComponent as Connect } from './index.svg';
3 |
4 | const OuterConnectLeft = (props: {}) => {
5 | return (
6 |
13 |
14 |
15 | );
16 | };
17 |
18 | export default OuterConnectLeft;
19 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Carousel/type.ts:
--------------------------------------------------------------------------------
1 | import { PathStyleMap } from '@/hooks/useClipPath';
2 |
3 | export type TCarouselConfig = {
4 | speed: number;
5 | autoplay: boolean;
6 | clipPath: keyof typeof PathStyleMap;
7 | dot: {
8 | show: boolean;
9 | position: 'top' | 'bottom' | 'left' | 'right';
10 | };
11 | pauseOnHover: boolean;
12 | // easing: string
13 | fade: boolean;
14 | condition: ComponentData.ComponentConditionConfig;
15 | };
16 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/LeftContent/components/ThemeConfig/CustomConfig/index.less:
--------------------------------------------------------------------------------
1 | .designer-theme-config-custom {
2 | &-item {
3 | width: 100%;
4 | align-items: center;
5 | & > div:nth-of-type(2) {
6 | flex: 1;
7 | }
8 | }
9 | }
10 | .designer-theme-config-custom-upload {
11 | :global {
12 | .ant-upload.ant-upload-select-picture-card,
13 | .ant-upload-list-picture-card-container {
14 | width: 100%;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/DataConfigDetail/components/ResponseDataTitle/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | params: state.global.screenData.config.attr.params,
6 | constants: state.global.screenData.config.attr.constants,
7 | };
8 | };
9 |
10 | export const mapDispatchToProps = (dispatch: any) => ({});
11 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Radio/type.ts:
--------------------------------------------------------------------------------
1 | export type TRadioConfig = {
2 | borderColor: ComponentData.TColorConfig;
3 | backgroundColor: ComponentData.TColorConfig;
4 | textStyle: ComponentData.TFontConfig;
5 | size: number;
6 | defaultChecked: string;
7 | active: {
8 | borderColor: ComponentData.TColorConfig;
9 | backgroundColor: ComponentData.TColorConfig;
10 | };
11 | check: {
12 | color: ComponentData.TColorConfig;
13 | };
14 | };
15 |
--------------------------------------------------------------------------------
/src/components/DeepStructureComponent/index.tsx:
--------------------------------------------------------------------------------
1 | // [Parent, Children]
2 | const ReduceLayout = (Components: any[]) => {
3 | return Components.reduceRight((Component, CurComponent) => {
4 | if (!Component)
5 | return (props: any) => {
6 | return ;
7 | };
8 | return (props: any) => {
9 | return ;
10 | };
11 | }, null);
12 | };
13 |
14 | export default ReduceLayout;
15 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/DataConfigDetail/components/DefineConfig/ApiConfig/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | params: state.global.screenData.config.attr.params,
6 | constants: state.global.screenData.config.attr.constants,
7 | };
8 | };
9 |
10 | export const mapDispatchToProps = (dispatch: any) => ({});
11 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/DataConfigDetail/components/DefineConfig/MockConfig/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | params: state.global.screenData.config.attr.params,
6 | constants: state.global.screenData.config.attr.constants,
7 | };
8 | };
9 |
10 | export const mapDispatchToProps = (dispatch: any) => ({});
11 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/LeftContent/components/LayerManage/components/Tree/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | components: state.global.components || [],
6 | select: state.global.select || [],
7 | };
8 | };
9 |
10 | export const mapDispatchToProps = (dispatch: any) => ({
11 | setSelect: (value: any) => dispatch({ type: 'global/setSelect', value }),
12 | });
13 |
--------------------------------------------------------------------------------
/assets/development/H5设计器.md:
--------------------------------------------------------------------------------
1 |
2 | # H5大屏设计器
3 |
4 | 设计在手机上查看的大屏。
5 |
6 | ## 功能
7 |
8 | - 取消对预览和分享页面关于是否`手机浏览器`的判断。
9 | - 增加数据结构对手机大屏的标识。
10 | - 增加`pc`转`h5`的支持。
11 | - 阉割或修改设计阶段画布的操作。
12 | - 列表和模板列表增加Pc和H5筛选。
13 | - 新建时选择PC和H5
14 | - 可在编辑时对大屏进行类型修改。并支持预览。
15 |
16 | ## 细节
17 |
18 | ### 阉割或修改设计阶段画布的操作
19 | - 流式布局
20 | - 居中显示(space-between)
21 | - 全局增加padding
22 | - 取消drag
23 | - 增加sort-hoc
24 | - 置顶置底逻辑修改
25 | - 标尺显示动态更新
26 | - 画布动态增加高度
27 | - 宽高尺寸不可编辑
--------------------------------------------------------------------------------
/src/components/InternalBackground/components/Background/GradientMixBackground/index.tsx:
--------------------------------------------------------------------------------
1 | import {} from 'react';
2 | import './index.less';
3 |
4 | const GradientMixBackground = () => {
5 | return (
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | );
15 | };
16 |
17 | export default GradientMixBackground;
18 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Panel/components/PanelWrapper/components/GuideLineButton/index.less:
--------------------------------------------------------------------------------
1 | .designer-page-main-guide-btn {
2 | z-index: 2;
3 | position: absolute;
4 | width: 30px !important;
5 | height: 30px !important;
6 | line-height: 30px !important;
7 | }
8 | .designer-page-main-guide-btn,
9 | .designer-page-main-guide-btn-sub {
10 | transition: none;
11 | color: white;
12 | &:hover,
13 | &:focus {
14 | background-color: rgba(51, 51, 51);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/Switch/index.tsx:
--------------------------------------------------------------------------------
1 | import {} from 'react';
2 | import { Switch as AntSwitch } from 'antd';
3 | import { SwitchProps } from 'antd/es/switch';
4 | import classnames from 'classnames';
5 | import styles from './index.less';
6 |
7 | const Switch = (props: SwitchProps) => {
8 | return (
9 |
10 |
11 |
12 | );
13 | };
14 |
15 | export default Switch;
16 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Header/index.less:
--------------------------------------------------------------------------------
1 | .designer-page-header {
2 | padding: 8px 24px;
3 | &-title {
4 | width: 20vw;
5 | font-size: 16px;
6 | line-height: 1.5715;
7 | padding: 6.5px 11px;
8 | font-weight: bold;
9 | }
10 | &-title-active {
11 | font-size: 16px;
12 | width: 20vw;
13 | input {
14 | font-weight: bold;
15 | }
16 | }
17 | :global {
18 | .ant-page-header-content {
19 | padding-top: 4px;
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/hooks/usePanelFocus.ts:
--------------------------------------------------------------------------------
1 | import { useFocusWithin } from 'ahooks';
2 | import { Options } from 'ahooks/es/useFocusWithin';
3 | import { BasicTarget } from 'ahooks/es/utils/domTarget';
4 | import CopyAndPasteUtil from '@/utils/Assist/CopyAndPaste';
5 |
6 | export function usePanelFocus(
7 | target: BasicTarget,
8 | options?: Options,
9 | control?: boolean,
10 | ) {
11 | return useFocusWithin(
12 | target,
13 | CopyAndPasteUtil.injectHooksOptions(options, control),
14 | );
15 | }
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/FetchFragment/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | params: state.global.screenData.config.attr.params,
6 | filter: state.global.screenData.config.attr.filter,
7 | constants: state.global.screenData.config.attr.constants,
8 | screenType: state.global.screenType,
9 | };
10 | };
11 |
12 | export const mapDispatchToProps = (dispatch: any) => ({});
13 |
--------------------------------------------------------------------------------
/src/components/ScreenComponentConfigChangeTooltip/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | versionChangeTooltip: state.global.screenData.extra.versionChangeTooltip,
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({
10 | setVersionChangeTooltip: (value: any) =>
11 | dispatch({
12 | type: 'global/setConfigChangeTooltip',
13 | value,
14 | }),
15 | });
16 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/ExchangeScreenFlag/components/MobilePreviewer/index.less:
--------------------------------------------------------------------------------
1 | .component-exchange-screen-flag-drawer {
2 | position: relative;
3 | min-height: 100%;
4 | &-loading {
5 | z-index: 1;
6 | left: 0;
7 | top: 0;
8 | }
9 | &-footer {
10 | position: sticky;
11 | bottom: 0;
12 | width: 100%;
13 | text-align: right;
14 | }
15 | }
16 |
17 | .component-exchange-screen-flag-component-list-item {
18 | pointer-events: none;
19 | position: relative;
20 | }
21 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/DataConfigDetail/components/DataFilter/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | filter: state.global.screenData.config.attr.filter,
6 | };
7 | };
8 |
9 | export const mapDispatchToProps = (dispatch: any) => ({
10 | setCallbackData: (value: any) =>
11 | dispatch({ type: 'global/setCallbackData', value }),
12 | });
13 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Checkbox/type.ts:
--------------------------------------------------------------------------------
1 | export type TCheckboxConfig = {
2 | borderColor: ComponentData.TColorConfig;
3 | borderRadius: number;
4 | backgroundColor: ComponentData.TColorConfig;
5 | textStyle: ComponentData.TFontConfig;
6 | size: number;
7 | defaultChecked: string;
8 | active: {
9 | borderColor: ComponentData.TColorConfig;
10 | backgroundColor: ComponentData.TColorConfig;
11 | };
12 | check: {
13 | color: ComponentData.TColorConfig;
14 | };
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/SunBurst/SunBurstBasic/type.ts:
--------------------------------------------------------------------------------
1 | export type TSunBurstBasicConfig = {
2 | tooltip: ComponentData.ComponentTooltip;
3 | series: {
4 | center: [number, number];
5 | radius: number;
6 | label: Omit & {
7 | formatter: string;
8 | };
9 | nodeClick: false | 'rootToNode';
10 | };
11 | animation: ComponentData.ComponentChartAnimationConfig;
12 | condition: ComponentData.ComponentConditionConfig;
13 | };
14 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Common/Checkbox/index.tsx:
--------------------------------------------------------------------------------
1 | import {} from 'react';
2 | import { Checkbox as AntCheckbox } from 'antd';
3 | import { CheckboxProps } from 'antd/es/checkbox';
4 | import classnames from 'classnames';
5 | import styles from './index.less';
6 |
7 | const Switch = (props: CheckboxProps) => {
8 | return (
9 |
13 | );
14 | };
15 |
16 | export default Switch;
17 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/StateCard/type.ts:
--------------------------------------------------------------------------------
1 | export type TStateCardConfig = {
2 | margin: number;
3 | textStyle: ComponentData.TFontConfig;
4 | stateList: {
5 | value: string;
6 | stateIcon: {
7 | color: ComponentData.TColorConfig;
8 | };
9 | }[];
10 | stateIcon: {
11 | position: 'start' | 'end';
12 | borderRadius: number;
13 | rotate: number;
14 | margin: number;
15 | size: [number, number];
16 | };
17 | condition: ComponentData.ComponentConditionConfig;
18 | };
19 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/QrCode/type.ts:
--------------------------------------------------------------------------------
1 | export type TQrCodeConfig = {
2 | logo: {
3 | show: boolean;
4 | image: string;
5 | size: {
6 | width: number;
7 | height: number;
8 | };
9 | borderRadius: number;
10 | border: ComponentData.ComponentLineGroupConfig;
11 | };
12 | base: {
13 | backgroundColor: ComponentData.TColorConfig;
14 | codeColor: ComponentData.TColorConfig;
15 | margin: number;
16 | };
17 | condition: ComponentData.ComponentConditionConfig;
18 | };
19 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/WaterBall/type.ts:
--------------------------------------------------------------------------------
1 | export type TWaterBallConfig = {
2 | series: {
3 | label: Omit;
4 | amplitude: number;
5 | backgroundStyle: {
6 | color: ComponentData.TColorConfig;
7 | };
8 | color: ComponentData.TGradientColorConfig;
9 | center: [number, number];
10 | radius: number;
11 | };
12 | condition: ComponentData.ComponentConditionConfig;
13 | animation: ComponentData.ComponentChartAnimationConfig;
14 | };
15 |
--------------------------------------------------------------------------------
/src/components/ContextMenu/Actions/Undo.tsx:
--------------------------------------------------------------------------------
1 | import { useCallback } from 'react';
2 | import { UndoOutlined } from '@ant-design/icons';
3 | import useChildren from './useChildren';
4 | import { CommonActionType } from './type';
5 |
6 | const UndoAction = (props: CommonActionType) => {
7 | const handleClick = useCallback(() => {}, []);
8 |
9 | return (
10 |
11 |
12 | 撤销
13 |
14 | );
15 | };
16 |
17 | export default UndoAction;
18 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/LeftContent/components/LayerManage/components/Tree/components/ActionBar/index.less:
--------------------------------------------------------------------------------
1 | @import '~antd/es/style/themes/default.less';
2 |
3 | .layer-action-bar-header,
4 | .layer-action-bar-footer {
5 | position: sticky;
6 | z-index: 2;
7 | height: 40px;
8 | line-height: 40px;
9 | text-align: center;
10 | background-color: @layout-header-background;
11 | transition: 0.1s;
12 | }
13 | .layer-action-bar-header {
14 | top: 50px;
15 | }
16 | .layer-action-bar-footer {
17 | bottom: 0;
18 | }
19 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Panel/components/PanelWrapper/components/AbsorbGuideLine/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | components: state.global.components,
6 | guideLine: state.global.guideLine,
7 | scale: state.global.scale,
8 | };
9 | };
10 |
11 | export const mapDispatchToProps = (dispatch: any) => ({
12 | setGuideLine: (value: any) =>
13 | dispatch({ type: 'global/setGuideLine', value }),
14 | });
15 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Panel/components/ToolBar/components/ShortcutKeys/index.less:
--------------------------------------------------------------------------------
1 | .shortcut-keys-wrapper {
2 | display: inline-block;
3 | }
4 | .shortcut-keys {
5 | width: 200px;
6 | min-height: 100px;
7 | &-item {
8 | justify-content: space-between;
9 | line-height: 1.5;
10 | &:nth-last-of-type(1) {
11 | margin: 0;
12 | }
13 | & span {
14 | display: inline-block;
15 | width: 50%;
16 | }
17 | & span:nth-of-type(1) {
18 | text-align: left;
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/Tag/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "TAG" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "TAG" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/InternalBorder/components/Border/BorderBox2/index.less:
--------------------------------------------------------------------------------
1 | .internal-border-2-border {
2 | position: absolute;
3 | width: 100%;
4 | height: 100%;
5 | top: 0;
6 | left: 0;
7 |
8 | &-container {
9 | position: absolute;
10 | width: 100%;
11 | height: 100%;
12 | top: 0px;
13 | left: 0px;
14 |
15 | & > polyline {
16 | fill: none;
17 | stroke-width: 1;
18 | }
19 | }
20 |
21 | &-content {
22 | position: relative;
23 | width: 100%;
24 | height: 100%;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/components/InternalBorder/components/Border/BorderBox6/index.less:
--------------------------------------------------------------------------------
1 | .internal-border-6-border {
2 | position: absolute;
3 | top: 0;
4 | left: 0;
5 | width: 100%;
6 | height: 100%;
7 |
8 | &-container {
9 | position: absolute;
10 | top: 0px;
11 | left: 0px;
12 | width: 100%;
13 | height: 100%;
14 |
15 | & > polyline {
16 | fill: none;
17 | stroke-width: 1;
18 | }
19 | }
20 |
21 | &-content {
22 | position: relative;
23 | width: 100%;
24 | height: 100%;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/Icon/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "ICON" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "ICON" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/Text/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "TEXT" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "TEXT" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/Title/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "TITLE" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "TITLE" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/List/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "LIST" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "LIST" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/InternalBorder/components/Border/BorderBox11/index.less:
--------------------------------------------------------------------------------
1 | .internal-border-11-border {
2 | position: absolute;
3 | top: 0;
4 | left: 0;
5 | width: 100%;
6 | height: 100%;
7 |
8 | &-container {
9 | position: absolute;
10 | width: 100%;
11 | height: 100%;
12 | top: 0px;
13 | left: 0px;
14 |
15 | & > polyline {
16 | fill: none;
17 | stroke-width: 1;
18 | }
19 | }
20 |
21 | &-content {
22 | position: relative;
23 | width: 100%;
24 | height: 100%;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/layouts/components/CommonLayout/EventEmitWrapper/index.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect } from 'react';
2 | import {
3 | presetRegisterEvent,
4 | presetUnRegisterEvent,
5 | } from '@/utils/Assist/EventEmitter/PresetEmit';
6 |
7 | // 事件订阅
8 | const EventEmitWrapper = (props: any) => {
9 | const { Component, ...nextProps } = props;
10 | useEffect(() => {
11 | presetRegisterEvent();
12 | return presetUnRegisterEvent;
13 | }, []);
14 |
15 | return ;
16 | };
17 |
18 | export default EventEmitWrapper;
19 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/LeftContent/components/ThemeConfig/index.less:
--------------------------------------------------------------------------------
1 | .designer-theme-config {
2 | &-list {
3 | cursor: pointer;
4 | transition: 0.2s;
5 | border-radius: 8px;
6 | }
7 | &-list:not(&-list-check) {
8 | &:hover {
9 | background-color: rgba(255, 255, 255, 0.2);
10 | }
11 | }
12 | &-list&-list-check {
13 | background-color: rgba(255, 255, 255, 0.3);
14 | }
15 | &-item {
16 | border-radius: 50%;
17 | width: 100%;
18 | height: 0;
19 | padding-top: 100%;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/Panel/components/ToolBar/components/Scale/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | value: state.global.scale,
6 | pageWidth: state.global.screenData.config.style.width,
7 | pageHeight: state.global.screenData.config.style.height,
8 | };
9 | };
10 |
11 | export const mapDispatchToProps = (dispatch: any) => ({
12 | onChange: (value: any) => dispatch({ type: 'global/setScale', value }),
13 | });
14 |
--------------------------------------------------------------------------------
/assets/docs/1.0.md:
--------------------------------------------------------------------------------
1 |
2 | ## 1.0 版本
3 |
4 | ## 目录结构
5 | - `/list` 大屏列表
6 | - `/login` 登录
7 | - `/register` 注册
8 | - `/forget` 忘记密码
9 | - `/designer` 设计器
10 | - `/preview` 预览
11 | - `/share` 分享
12 | ## 功能
13 | 其中的一些细节功能可以自行操作了解
14 | ### 图层
15 | 左边列表中提供图层的功能设置组件的一些属性,包括置顶、置底、显示/隐藏、成组/取消成组、锁定/取消锁定、复制/粘贴、删除、重命名等。
16 | ### 数据
17 | 目前数据只提供了`静态数据`和`api数据`
18 | 并且提供了
19 | - 数据过滤器功能
20 | - 全局常量
21 | - 字符串变量(可以在api的headers和body中使用变量)
22 |
23 | ### 交互
24 | 大部分组件包含了对应的事件用于响应数据的变化,并且同步到绑定了该组件变量的对应组件中,达到数据联动的效果。
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Rate/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "RATE" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "RATE" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Tab/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "TAB" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "TAB" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Tab/type.ts:
--------------------------------------------------------------------------------
1 | export type TTabConfig = {
2 | defaultValue: string;
3 | base: {
4 | textStyle: ComponentData.TFontConfig;
5 | backgroundColor: ComponentData.TColorConfig;
6 | border: ComponentData.ComponentLineGroupConfig;
7 | };
8 | active: {
9 | textStyle: ComponentData.TFontConfig;
10 | backgroundColor: ComponentData.TColorConfig;
11 | border: ComponentData.ComponentLineGroupConfig;
12 | };
13 | loop: {
14 | show: boolean;
15 | speed: number;
16 | };
17 | };
18 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Audio/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "AUDIO" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "AUDIO" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Image/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "IMAGE" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "IMAGE" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Model/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "MODEL" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "MODEL" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Video/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "VIDEO" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "VIDEO" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/Iframe/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "IFRAME" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "IFRAME" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Ticket/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "TICKET" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "TICKET" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Source/Typed/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "TYPED" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "TYPED" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/hooks/useFirstChange.ts:
--------------------------------------------------------------------------------
1 | import { useRef } from 'react';
2 | import { useDeepCompareEffect } from 'ahooks';
3 |
4 | export const useFirstChange = (value: T, onChange?: (value: T) => void) => {
5 | const isChange = useRef(false);
6 | const isFirst = useRef(true);
7 |
8 | useDeepCompareEffect(() => {
9 | if (isChange.current) return;
10 | if (isFirst.current && value === undefined) return;
11 | isFirst.current = true;
12 | isChange.current = true;
13 | onChange?.(value);
14 | }, [value]);
15 | };
16 |
--------------------------------------------------------------------------------
/assets/docs/1.16.md:
--------------------------------------------------------------------------------
1 |
2 | ## 1.16
3 |
4 | ### 首页
5 |
6 | refactor(): 首页样式重构
7 |
8 | ### 列表
9 |
10 | fix(): 页面重新显示时,查询未带上参数
11 |
12 | feat(): 分享操作完成,不自动关闭弹窗
13 |
14 | style(): 部分按钮颜色修改
15 |
16 | ### 设计器
17 |
18 | fix(): 数据配置页面badge组件颜色不正确
19 | fix(): 线上bug处理
20 |
21 | feat(): 增加主题色自定义输入颜色
22 | feat(): 代码编辑器增加简单语法提示
23 | feat(): 过滤器方法增加第三参数,对象,当前存在[mock](http://mockjs.com/)实例
24 | feat(): 增加一键清空无引用过滤器功能
25 |
26 | ### 组件
27 |
28 | 新增组件
29 | - 分页
30 |
31 | 优化组件
32 | - 基础柱形图、渐变柱形图、排名、横向柱形图,增加轮播配置
33 | - 部分组件增加默认圆角
--------------------------------------------------------------------------------
/assets/docs/1.9.md:
--------------------------------------------------------------------------------
1 |
2 | ## 1.9
3 |
4 | ### 首页
5 |
6 | style(): 增加背景特效
7 |
8 | ### 设计器
9 | fix(): 列表页没有调获取用户信息接口
10 | fix(): 关联参数下拉框值不变的情况触发保存
11 | fix(): 生产环境自动保存模式,关闭页面时出现保存提示
12 | fix(): 删除操作触发多次保存
13 |
14 | feat(): 画布组件的`hover`映射到图层中
15 |
16 | style(): 图层文本编辑的背景颜色修改
17 | style(): 条件配置新增按钮颜色不正确
18 |
19 | refactor(): 保存进度条优化
20 | refactor(): 非成组组件支持对齐
21 | refactor(): 选中过滤器后自动取消下拉的值
22 | refactor(): 取消组件`icon`保存后台
23 |
24 | ### 组件
25 |
26 | 优化组件
27 | - 图片、视频、轮播图增加`外框形状`配置
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Button/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "BUTTON" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "BUTTON" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Input/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "INPUT" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "INPUT" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Radio/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "RADIO" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "RADIO" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Select/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "SELECT" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "SELECT" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Steps/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "STEPS" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "STEPS" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Switch/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "SWITCH" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "SWITCH" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Map/Ali3DMap/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "ALI3D_MAP" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "ALI3D_MAP" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Media/Carousel/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "CAROUSEL" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "CAROUSEL" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/QrCode/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "QR_CODE" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "QR_CODE" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/Weather/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "WEATHER" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "WEATHER" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/GhostButton/index.tsx:
--------------------------------------------------------------------------------
1 | import { Button } from 'antd';
2 | import { ButtonProps } from 'antd/es/button';
3 | import classnames from 'classnames';
4 | import styles from './index.less';
5 |
6 | const GhostButton = (props: ButtonProps) => {
7 | const { className, ...nextProps } = props;
8 |
9 | return (
10 |
16 | );
17 | };
18 |
19 | export default GhostButton;
20 |
--------------------------------------------------------------------------------
/src/layouts/components/CommonLayout/ContainerWrapper4Static/index.tsx:
--------------------------------------------------------------------------------
1 | import IntroductionButton from '@/components/IntroductionButton';
2 | import { useLocation } from 'umi';
3 |
4 | const GlobalLayout = (props: any) => {
5 | const { Component } = props;
6 |
7 | const { pathname } = useLocation();
8 |
9 | if (['viewer'].some((path) => pathname.includes(path))) return ;
10 |
11 | return (
12 | <>
13 |
14 |
15 | >
16 | );
17 | };
18 |
19 | export default GlobalLayout;
20 |
--------------------------------------------------------------------------------
/src/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Ant Design Pro",
3 | "short_name": "Ant Design Pro",
4 | "display": "standalone",
5 | "start_url": "./?utm_source=homescreen",
6 | "theme_color": "#002140",
7 | "background_color": "#001529",
8 | "icons": [
9 | {
10 | "src": "icons/icon-192x192.png",
11 | "sizes": "192x192"
12 | },
13 | {
14 | "src": "icons/icon-128x128.png",
15 | "sizes": "128x128"
16 | },
17 | {
18 | "src": "icons/icon-512x512.png",
19 | "sizes": "512x512"
20 | }
21 | ]
22 | }
23 |
--------------------------------------------------------------------------------
/src/pages/Designer/components/RenderComponent/connect.ts:
--------------------------------------------------------------------------------
1 | import { ConnectState } from '@/models/connect';
2 |
3 | export const mapStateToProps = (state: ConnectState) => {
4 | return {
5 | scale: state.global.scale,
6 | screenType: state.global.screenType,
7 | grid: state.global.screenData.config.attr.grid || 1,
8 | flag: state.global.screenData.config.flag.type,
9 | };
10 | };
11 |
12 | export const mapDispatchToProps = (dispatch: any) => ({
13 | setSelect: (value: any) => dispatch({ type: 'global/setSelect', value }),
14 | });
15 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/LineBar/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "LINE_BAR" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "LINE_BAR" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/RankBar/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "RANK_BAR" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "RANK_BAR" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/LoopText/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "LOOP_TEXT" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "LOOP_TEXT" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/LuckyDraw/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "LUCKY_DRAW" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "LUCKY_DRAW" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/PathBasic/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "PATH_BASIC" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "PATH_BASIC" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/StateCard/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "STATE_CARD" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "STATE_CARD" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/StateList/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "STATE_LIST" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "STATE_LIST" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/WaterBall/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "WATER_BALL" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "WATER_BALL" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Other/Weather/type.ts:
--------------------------------------------------------------------------------
1 | export type TWeatherConfig = {
2 | align: {
3 | vertical: 'flex-start' | 'flex-end' | 'center';
4 | horizontal: 'flex-start' | 'flex-end' | 'center';
5 | };
6 | show: ('info' | 'temperature' | 'humidity' | 'direct' | 'power' | 'aqi')[];
7 | textStyle: ComponentData.TFontConfig;
8 | widMap: {
9 | show: boolean;
10 | value: {
11 | wid: string;
12 | icon?: string;
13 | weather?: string;
14 | color?: ComponentData.TColorConfig;
15 | }[];
16 | };
17 | };
18 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/CachetBar/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "CACHET_BAR" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "CACHET_BAR" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/PolarBar/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "POLAR_BAR" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "POLAR_BAR" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/RadialBar/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "RADIAL_BAR" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "RADIAL_BAR" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/StackBar/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "STACK_BAR" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "STACK_BAR" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/ZebraBar/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "ZEBRA_BAR" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "ZEBRA_BAR" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Line/LineBasic/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "LINE_BASIC" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "LINE_BASIC" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Line/StepLine/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "STEP_LINE" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "STEP_LINE" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Pie/CirclePie/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "CIRCLE_PIE" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "CIRCLE_PIE" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Pie/PieBasic/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "PIE_BASIC" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "PIE_BASIC" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Tree/TreeBasic/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "TREE_BASIC" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "TREE_BASIC" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Font/TimeMachine/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "TIME_MACHINE" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "TIME_MACHINE" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Interactive/Checkbox/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "CHECKBOX" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "CHECKBOX" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Map/ScatterMap/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "SCATTER_MAP" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "SCATTER_MAP" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/pages/Share/components/WaterMark/index.tsx:
--------------------------------------------------------------------------------
1 | import { connect } from 'umi';
2 | import { mapDispatchToProps, mapStateToProps } from './connect';
3 | import styles from './index.less';
4 |
5 | const WaterMark = (props: { waterMark: boolean }) => {
6 | const { waterMark } = props;
7 |
8 | return (
9 |
15 | );
16 | };
17 |
18 | export default connect(mapStateToProps, mapDispatchToProps)(WaterMark);
19 |
--------------------------------------------------------------------------------
/src/utils/Assist/Progress/index.ts:
--------------------------------------------------------------------------------
1 | import NProgress from 'nprogress';
2 |
3 | class NProgressUtil {
4 | #loading = false;
5 |
6 | internalStart = () => {
7 | NProgress.start();
8 | this.#loading = true;
9 | };
10 |
11 | start() {
12 | if (this.#loading) {
13 | NProgress.done();
14 | setTimeout(this.internalStart, 50);
15 | } else {
16 | this.internalStart();
17 | }
18 | }
19 |
20 | done() {
21 | this.#loading = false;
22 | NProgress.done();
23 | }
24 | }
25 |
26 | export default new NProgressUtil();
27 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/NegativeBar/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "NEGATIVE_BAR" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "NEGATIVE_BAR" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------
/src/components/ChartComponents/Chart/Bar/PercentBar/index.ts:
--------------------------------------------------------------------------------
1 | import LazyLoadWrapper from '@/components/LazyLoad';
2 | import defaultConfig, { themeConfig } from './defaultConfig';
3 | import { CHART_ID } from './id';
4 |
5 | export default {
6 | defaultConfig,
7 | themeConfig,
8 | configComponent: LazyLoadWrapper(() => {
9 | return import(/* webpackChunkName: "PERCENT_BAR" */ './config');
10 | }),
11 | render: LazyLoadWrapper(() => {
12 | return import(/* webpackChunkName: "PERCENT_BAR" */ './component');
13 | }),
14 | type: CHART_ID,
15 | };
16 |
--------------------------------------------------------------------------------