build: 升级2.1.2

This commit is contained in:
奔跑的面条 2022-12-31 20:55:12 +08:00
commit 730099efb9
11 changed files with 193 additions and 24 deletions

View File

@ -0,0 +1,51 @@
version: '1.0'
name: branch-pipeline
displayName: BranchPipeline
stages:
- stage:
name: compile
displayName: 编译
steps:
- step: build@nodejs
name: build_nodejs
displayName: Nodejs 构建
# 支持8.16.2、10.17.0、12.16.1、14.16.0、15.12.0五个版本
nodeVersion: 14.16.0
# 构建命令:安装依赖 -> 清除上次打包产物残留 -> 执行构建 【请根据项目实际产出进行填写】
commands:
- npm install && rm -rf ./dist && npm run build
# 非必填字段开启后表示将构建产物暂存但不会上传到制品库中7天后自动清除
artifacts:
# 构建产物名字作为产物的唯一标识可向下传递支持自定义默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
- name: BUILD_ARTIFACT
# 构建产物获取路径,是指代码编译完毕之后构建物的所在路径
path:
- ./dist
- step: publish@general_artifacts
name: publish_general_artifacts
displayName: 上传制品
# 上游构建任务定义的产物名默认BUILD_ARTIFACT
dependArtifact: BUILD_ARTIFACT
# 上传到制品库时的制品命名默认output
artifactName: output
dependsOn: build_nodejs
- stage:
name: release
displayName: 发布
steps:
- step: publish@release_artifacts
name: publish_release_artifacts
displayName: '发布'
# 上游上传制品任务的产出
dependArtifact: output
# 发布制品版本号
version: '1.0.0.0'
# 是否开启版本号自增,默认开启
autoIncrement: true
triggers:
push:
branches:
exclude:
- master
include:
- .*

View File

@ -0,0 +1,49 @@
version: '1.0'
name: master-pipeline
displayName: MasterPipeline
stages:
- stage:
name: compile
displayName: 编译
steps:
- step: build@nodejs
name: build_nodejs
displayName: Nodejs 构建
# 支持8.16.2、10.17.0、12.16.1、14.16.0、15.12.0五个版本
nodeVersion: 14.16.0
# 构建命令:安装依赖 -> 清除上次打包产物残留 -> 执行构建 【请根据项目实际产出进行填写】
commands:
- npm install && rm -rf ./dist && npm run build
# 非必填字段开启后表示将构建产物暂存但不会上传到制品库中7天后自动清除
artifacts:
# 构建产物名字作为产物的唯一标识可向下传递支持自定义默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
- name: BUILD_ARTIFACT
# 构建产物获取路径,是指代码编译完毕之后构建物的所在路径
path:
- ./dist
- step: publish@general_artifacts
name: publish_general_artifacts
displayName: 上传制品
# 上游构建任务定义的产物名默认BUILD_ARTIFACT
dependArtifact: BUILD_ARTIFACT
# 上传到制品库时的制品命名默认output
artifactName: output
dependsOn: build_nodejs
- stage:
name: release
displayName: 发布
steps:
- step: publish@release_artifacts
name: publish_release_artifacts
displayName: '发布'
# 上游上传制品任务的产出
dependArtifact: output
# 发布制品版本号
version: '1.0.0.0'
# 是否开启版本号自增,默认开启
autoIncrement: true
triggers:
push:
branches:
include:
- master

36
.workflow/pr-pipeline.yml Normal file
View File

@ -0,0 +1,36 @@
version: '1.0'
name: pr-pipeline
displayName: PRPipeline
stages:
- stage:
name: compile
displayName: 编译
steps:
- step: build@nodejs
name: build_nodejs
displayName: Nodejs 构建
# 支持8.16.2、10.17.0、12.16.1、14.16.0、15.12.0五个版本
nodeVersion: 14.16.0
# 构建命令:安装依赖 -> 清除上次打包产物残留 -> 执行构建 【请根据项目实际产出进行填写】
commands:
- npm install && rm -rf ./dist && npm run build
# 非必填字段开启后表示将构建产物暂存但不会上传到制品库中7天后自动清除
artifacts:
# 构建产物名字作为产物的唯一标识可向下传递支持自定义默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
- name: BUILD_ARTIFACT
# 构建产物获取路径,是指代码编译完毕之后构建物的所在路径
path:
- ./dist
- step: publish@general_artifacts
name: publish_general_artifacts
displayName: 上传制品
# 上游构建任务定义的产物名默认BUILD_ARTIFACT
dependArtifact: BUILD_ARTIFACT
# 上传到制品库时的制品命名默认output
artifactName: output
dependsOn: build_nodejs
triggers:
pr:
branches:
include:
- master

View File

@ -1,6 +1,9 @@
{ {
"name": "go-view", "name": "go-view",
"version": "2.1.1", "version": "2.1.2",
"engines": {
"node": ">=16.14 <18.0.0"
},
"scripts": { "scripts": {
"dev": "vite --host", "dev": "vite --host",
"build": "vue-tsc --noEmit && vite build", "build": "vue-tsc --noEmit && vite build",

View File

@ -111,9 +111,13 @@ watch(
} }
) )
const calcData = (data: any) => { const calcData = (data: any, type?: string) => {
mergeConfig(props.chartConfig.option) mergeConfig(props.chartConfig.option)
calcCapsuleLengthAndLabelData() if (type == 'preview') {
calcCapsuleLengthAndLabelData(data)
} else {
calcCapsuleLengthAndLabelData(state.mergedConfig.dataset)
}
} }
const mergeConfig = (data: any) => { const mergeConfig = (data: any) => {
@ -121,8 +125,8 @@ const mergeConfig = (data: any) => {
} }
// //
const calcCapsuleLengthAndLabelData = () => { const calcCapsuleLengthAndLabelData = (dataset: any) => {
const { source } = state.mergedConfig.dataset const { source } = dataset
if (!source.length) return if (!source.length) return
state.capsuleItemHeight = numberSizeHandle(state.mergedConfig.itemHeight) state.capsuleItemHeight = numberSizeHandle(state.mergedConfig.itemHeight)
@ -151,7 +155,7 @@ onMounted(() => {
// //
useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => { useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => {
calcData(newData) calcData(newData, 'preview')
}) })
</script> </script>

View File

@ -14,7 +14,8 @@ export enum ChartLayoutStoreEnum {
DETAILS = 'details', DETAILS = 'details',
Chart_TYPE = 'chartType', Chart_TYPE = 'chartType',
LAYER_TYPE = 'layerType', LAYER_TYPE = 'layerType',
PERCENTAGE = 'percentage' PERCENTAGE = 'percentage',
RE_POSITION_CANVAS = 'rePositionCanvas'
} }
export interface ChartLayoutType { export interface ChartLayoutType {
@ -30,4 +31,6 @@ export interface ChartLayoutType {
[ChartLayoutStoreEnum.LAYER_TYPE]: LayerModeEnum [ChartLayoutStoreEnum.LAYER_TYPE]: LayerModeEnum
// 当前正在加载的数量 // 当前正在加载的数量
[ChartLayoutStoreEnum.PERCENTAGE]: number [ChartLayoutStoreEnum.PERCENTAGE]: number
// 是否重置当前画布位置
[ChartLayoutStoreEnum.RE_POSITION_CANVAS]: boolean
} }

View File

@ -26,6 +26,8 @@ export const useChartLayoutStore = defineStore({
layerType: LayerModeEnum.THUMBNAIL, layerType: LayerModeEnum.THUMBNAIL,
// 当前加载数量 // 当前加载数量
percentage: 0, percentage: 0,
// 是否重置当前画布位置
rePositionCanvas: false,
// 防止值不存在 // 防止值不存在
...storageChartLayout ...storageChartLayout
}), }),
@ -47,6 +49,9 @@ export const useChartLayoutStore = defineStore({
}, },
getPercentage(): number { getPercentage(): number {
return this.percentage return this.percentage
},
getRePositionCanvas(): boolean {
return this.rePositionCanvas
} }
}, },
actions: { actions: {
@ -54,7 +59,10 @@ export const useChartLayoutStore = defineStore({
this.$patch(state => { this.$patch(state => {
state[key] = value state[key] = value
}) })
// 存储本地
setLocalStorage(GO_CHART_LAYOUT_STORE, this.$state) setLocalStorage(GO_CHART_LAYOUT_STORE, this.$state)
// 这里需要标记重置画布位置
this.rePositionCanvas = true;
// 重新计算拖拽区域缩放比例 // 重新计算拖拽区域缩放比例
setTimeout(() => { setTimeout(() => {
chartEditStore.computedScale() chartEditStore.computedScale()

View File

@ -35,8 +35,12 @@ import { ref, reactive, onMounted, toRefs, watch, onUnmounted, computed } from '
import { listen } from 'dom-helpers' import { listen } from 'dom-helpers'
import { useDesignStore } from '@/store/modules/designStore/designStore' import { useDesignStore } from '@/store/modules/designStore/designStore'
import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore' import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
import { useChartLayoutStore } from '@/store/modules/chartLayoutStore/chartLayoutStore'
import { ChartLayoutStoreEnum } from '@/store/modules/chartLayoutStore/chartLayoutStore.d'
import throttle from 'lodash/throttle'
const chartEditStore = useChartEditStore() const chartEditStore = useChartEditStore()
const chartLayoutStore = useChartLayoutStore()
const designStore = useDesignStore() const designStore = useDesignStore()
const thick = 20 const thick = 20
@ -84,6 +88,7 @@ const themeColor = computed(() => {
return designStore.getAppTheme return designStore.getAppTheme
}) })
//
const handleWheel = (e: any) => { const handleWheel = (e: any) => {
if (e.ctrlKey || e.metaKey) { if (e.ctrlKey || e.metaKey) {
e.preventDefault() e.preventDefault()
@ -102,6 +107,7 @@ const handleWheel = (e: any) => {
} }
} }
//
const handleScroll = () => { const handleScroll = () => {
if (!$app.value) return if (!$app.value) return
const screensRect = $app.value.getBoundingClientRect() const screensRect = $app.value.getBoundingClientRect()
@ -111,6 +117,7 @@ const handleScroll = () => {
startY.value = (screensRect.top + thick - canvasRect.top) / scale.value startY.value = (screensRect.top + thick - canvasRect.top) / scale.value
} }
//
const dragCanvas = (e: any) => { const dragCanvas = (e: any) => {
e.preventDefault() e.preventDefault()
e.stopPropagation() e.stopPropagation()
@ -148,6 +155,7 @@ const dragCanvas = (e: any) => {
}) })
} }
//
const canvasBox = () => { const canvasBox = () => {
const layoutDom = document.getElementById('go-chart-edit-layout') const layoutDom = document.getElementById('go-chart-edit-layout')
if (layoutDom) { if (layoutDom) {
@ -162,7 +170,7 @@ const canvasBox = () => {
} }
} }
// //
const reDraw = () => { const reDraw = () => {
sketchRuleReDraw.value = false sketchRuleReDraw.value = false
setTimeout(() => { setTimeout(() => {
@ -170,13 +178,6 @@ const reDraw = () => {
}, 10) }, 10)
} }
watch(
() => designStore.getDarkTheme,
() => {
reDraw()
}
)
// //
const canvasPosCenter = () => { const canvasPosCenter = () => {
const { width: containerWidth, height: containerHeight } = $container.value.getBoundingClientRect() const { width: containerWidth, height: containerHeight } = $container.value.getBoundingClientRect()
@ -186,20 +187,32 @@ const canvasPosCenter = () => {
$app.value.scrollTop = containerHeight / 2 - height / 2 $app.value.scrollTop = containerHeight / 2 - height / 2
} }
// //
watch(
() => designStore.getDarkTheme,
() => {
reDraw()
}
)
// //
watch( watch(
() => scale.value, () => scale.value,
(newValue, oldValue) => { (newValue, oldValue) => {
if (oldValue !== newValue) { if (oldValue !== newValue && chartLayoutStore.getRePositionCanvas) {
chartLayoutStore.setItemUnHandle(ChartLayoutStoreEnum.RE_POSITION_CANVAS, false)
handleScroll() handleScroll()
chartEditStore.setScale(newValue)
setTimeout(() => { setTimeout(() => {
canvasPosCenter() canvasPosCenter()
}, 500) reDraw()
}, 400)
} else {
throttle(reDraw, 20)
} }
} }
) )
//
watch( watch(
() => isPressSpace.value, () => isPressSpace.value,
newValue => { newValue => {

View File

@ -93,7 +93,7 @@ watch(
position: absolute; position: absolute;
width: 100%; width: 100%;
height: 100%; height: 100%;
border-radius: 10px; border-radius: 5px;
overflow: hidden; overflow: hidden;
} }
.select-border { .select-border {
@ -107,7 +107,7 @@ watch(
.select-background { .select-background {
top: 2px; top: 2px;
left: 2px; left: 2px;
opacity: 0.03; opacity: 0.2;
background-color: v-bind('themeColor'); background-color: v-bind('themeColor');
} }
} }

View File

@ -152,7 +152,7 @@ export const mousedownBoxSelect = (e: MouseEvent, item?: CreateComponentType | C
} }
} }
}) })
}, 20) }, 30)
// 鼠标抬起 // 鼠标抬起
const mouseup = () => { const mouseup = () => {

View File

@ -2,7 +2,7 @@
<div <div
class="chart-item" class="chart-item"
v-for="(item, index) in localStorageInfo.componentList" v-for="(item, index) in localStorageInfo.componentList"
:class="animationsClass(item.styles.animations)" :class="[animationsClass(item.styles.animations), !item.isGroup && 'hidden']"
:key="item.id" :key="item.id"
:style="{ :style="{
...getComponentAttrStyle(item.attr, index), ...getComponentAttrStyle(item.attr, index),
@ -78,6 +78,8 @@ onMounted(() => {
<style lang="scss" scoped> <style lang="scss" scoped>
.chart-item { .chart-item {
position: absolute; position: absolute;
overflow: hidden; &.hidden {
overflow: hidden;
}
} }
</style> </style>