From c61f432b8e3cbc9276a0d2f2956080a2c96b01b4 Mon Sep 17 00:00:00 2001 From: zyh Date: Thu, 7 Jul 2022 17:41:54 +0800 Subject: [PATCH 1/7] =?UTF-8?q?perf=EF=BC=9A=E8=AF=B7=E6=B1=82=E7=BB=93?= =?UTF-8?q?=E6=9D=9F=E5=90=8E=E6=B8=85=E9=99=A4axios=E5=AE=9E=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nezha-fronted/src/http.js | 68 +++++++++++++++++++++++--------- nezha-fronted/static/config.json | 2 +- 2 files changed, 51 insertions(+), 19 deletions(-) diff --git a/nezha-fronted/src/http.js b/nezha-fronted/src/http.js index c2df199c5..0ef26b6e5 100644 --- a/nezha-fronted/src/http.js +++ b/nezha-fronted/src/http.js @@ -1,22 +1,40 @@ +import { getUUID } from './components/common/js/common' import axios from 'axios' const CancelToken = axios.CancelToken // 申明CancelToken - export const requestsArr = [] -axios.interceptors.request.use(config => { - const source = CancelToken.source() // 申明CancelToken,也可new CancelToken.source()实例一个 - config.cancelToken = source.token // 讲实例对象的token赋予该请求 - requestsArr.push(source) // 将该实例添加到队列中 - const token = localStorage.getItem('nz-token') - if (token) { - config.headers.Authorization = token // 请求头token +// 清除掉请求完成的实例 防止占用内存 +const removePending = (config) => { + if (!config) { + return false } - const lang = localStorage.getItem('nz-language') - if (lang) { - config.headers.Language = lang // 请求头token + for (const i in requestsArr) { + if (requestsArr[i].id === config.id) { + requestsArr.splice(i, 1) + } + } +} +axios.interceptors.request.use( + config => { + const source = CancelToken.source() // 申明CancelToken,也可new CancelToken.source()实例一个 + config.cancelToken = source.token // 将实例对象的token赋予该请求 + const id = getUUID() // 添加唯一识别id 在请求完成时清除requestsArr + config.id = id + requestsArr.push({ + id, + cancel: source.cancel + }) // 将该实例添加到队列中 + const token = localStorage.getItem('nz-token') + if (token) { + config.headers.Authorization = token // 请求头token + } + const lang = localStorage.getItem('nz-language') + if (lang) { + config.headers.Language = lang // 请求头token + } + return config + }, err => { + Promise.reject(err) } - return config -}, -err => Promise.reject(err) ) const accountErrorCode = [518003, 518004, 518005, 518006, 518007, 518008] // 账号锁定等 const licenceErrorCode = [711001] @@ -66,17 +84,25 @@ axios.interceptors.response.use( } else { return response } + // 请求完成在数组中移除 + removePending(response.config) return response }, error => { + // 请求完成在数组中移除 + removePending(error.config) return Promise.reject(error) } ) -export function get (url, params) { +export function get (url, params, responseType) { + const config = { + params: params + } + if (responseType) { + config.responseType = responseType + } return new Promise((resolve) => { - axios.get(url, { - params: params - }).then(response => { + axios.get(url, config).then(response => { if (url.indexOf('/sys/license/token') !== -1) { resolve({ data: response.data, @@ -99,6 +125,12 @@ export function get (url, params) { export function post (url, params, headers) { return new Promise(resolve => { axios.post(url, params, { headers: headers }).then(response => { + if (url.indexOf('/sys/license/gen') !== -1) { + resolve({ + data: response.data, + headers: response.headers + }) + } resolve(response.data, response) }).catch(err => { if (err.response) { diff --git a/nezha-fronted/static/config.json b/nezha-fronted/static/config.json index 5f74f5d01..8d1eeae25 100644 --- a/nezha-fronted/static/config.json +++ b/nezha-fronted/static/config.json @@ -1 +1 @@ -{"baseUrl":"/", "version": "21.04"} +{"baseUrl":"/", "version": "22.05"} From a22f17cdd5dfe11d3a618abe5d0af1c0186d605f Mon Sep 17 00:00:00 2001 From: zyh Date: Thu, 7 Jul 2022 18:00:04 +0800 Subject: [PATCH 2/7] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E6=94=B9config.json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nezha-fronted/static/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nezha-fronted/static/config.json b/nezha-fronted/static/config.json index 8d1eeae25..5f74f5d01 100644 --- a/nezha-fronted/static/config.json +++ b/nezha-fronted/static/config.json @@ -1 +1 @@ -{"baseUrl":"/", "version": "22.05"} +{"baseUrl":"/", "version": "21.04"} From 816b8c4efa4be6e2ef78a2501008f4388a08bd1f Mon Sep 17 00:00:00 2001 From: zhangyu Date: Wed, 13 Jul 2022 14:06:20 +0800 Subject: [PATCH 3/7] =?UTF-8?q?fix=EF=BC=9A=E5=B0=86=20le5le=20=E6=BA=90?= =?UTF-8?q?=E7=A0=81=20=E7=A7=BB=E5=8A=A8=E8=87=B3=E6=9C=AC=E5=9C=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 5 + .../@topology/activity-diagram/index.d.ts | 5 + .../@topology/activity-diagram/index.js | 6 + .../@topology/activity-diagram/index.js.map | 1 + .../@topology/activity-diagram/package.json | 65 + .../activity-diagram/src/final/final.d.ts | 2 + .../activity-diagram/src/final/final.js | 10 + .../activity-diagram/src/final/final.js.map | 1 + .../src/final/final.rect.d.ts | 3 + .../activity-diagram/src/final/final.rect.js | 11 + .../src/final/final.rect.js.map | 1 + .../activity-diagram/src/final/index.d.ts | 2 + .../activity-diagram/src/final/index.js | 3 + .../activity-diagram/src/final/index.js.map | 1 + .../src/fork/fork.anchor.d.ts | 3 + .../activity-diagram/src/fork/fork.anchor.js | 28 + .../src/fork/fork.anchor.js.map | 1 + .../activity-diagram/src/fork/fork.d.ts | 2 + .../activity-diagram/src/fork/fork.js | 25 + .../activity-diagram/src/fork/fork.js.map | 1 + .../activity-diagram/src/fork/fork.rect.d.ts | 3 + .../activity-diagram/src/fork/fork.rect.js | 9 + .../src/fork/fork.rect.js.map | 1 + .../activity-diagram/src/fork/index.d.ts | 3 + .../activity-diagram/src/fork/index.js | 4 + .../activity-diagram/src/fork/index.js.map | 1 + .../activity-diagram/src/register.d.ts | 1 + .../activity-diagram/src/register.js | 13 + .../activity-diagram/src/register.js.map | 1 + .../activity-diagram/src/swimlaneH/index.d.ts | 2 + .../activity-diagram/src/swimlaneH/index.js | 3 + .../src/swimlaneH/index.js.map | 1 + .../src/swimlaneH/swimlaneH.d.ts | 2 + .../src/swimlaneH/swimlaneH.js | 27 + .../src/swimlaneH/swimlaneH.js.map | 1 + .../src/swimlaneH/swimlaneH.rect.d.ts | 3 + .../src/swimlaneH/swimlaneH.rect.js | 9 + .../src/swimlaneH/swimlaneH.rect.js.map | 1 + .../activity-diagram/src/swimlaneV/index.d.ts | 2 + .../activity-diagram/src/swimlaneV/index.js | 3 + .../src/swimlaneV/index.js.map | 1 + .../src/swimlaneV/swimlaneV.d.ts | 2 + .../src/swimlaneV/swimlaneV.js | 27 + .../src/swimlaneV/swimlaneV.js.map | 1 + .../src/swimlaneV/swimlaneV.rect.d.ts | 3 + .../src/swimlaneV/swimlaneV.rect.js | 9 + .../src/swimlaneV/swimlaneV.rect.js.map | 1 + .../common/@topology/chart-diagram/index.d.ts | 2 + .../common/@topology/chart-diagram/index.js | 3 + .../@topology/chart-diagram/index.js.map | 1 + .../@topology/chart-diagram/package.json | 64 + .../chart-diagram/src/echarts/index.d.ts | 3 + .../chart-diagram/src/echarts/index.js | 44 + .../chart-diagram/src/echarts/index.js.map | 1 + .../@topology/chart-diagram/src/register.d.ts | 1 + .../@topology/chart-diagram/src/register.js | 10 + .../chart-diagram/src/register.js.map | 1 + .../common/@topology/class-diagram/index.d.ts | 2 + .../common/@topology/class-diagram/index.js | 3 + .../@topology/class-diagram/index.js.map | 1 + .../@topology/class-diagram/package.json | 64 + .../class-diagram/src/class/class.d.ts | 3 + .../class-diagram/src/class/class.js | 56 + .../class-diagram/src/class/class.js.map | 1 + .../class-diagram/src/class/class.rect.d.ts | 5 + .../class-diagram/src/class/class.rect.js | 16 + .../class-diagram/src/class/class.rect.js.map | 1 + .../class-diagram/src/class/index.d.ts | 2 + .../class-diagram/src/class/index.js | 3 + .../class-diagram/src/class/index.js.map | 1 + .../@topology/class-diagram/src/register.d.ts | 1 + .../@topology/class-diagram/src/register.js | 7 + .../class-diagram/src/register.js.map | 1 + .../common/@topology/core/index.d.ts | 5 + .../components/common/@topology/core/index.js | 6 + .../common/@topology/core/index.js.map | 1 + .../common/@topology/core/package.json | 66 + .../@topology/core/src/activeLayer.d.ts | 60 + .../common/@topology/core/src/activeLayer.js | 743 ++++ .../@topology/core/src/activeLayer.js.map | 1 + .../@topology/core/src/animateLayer.d.ts | 21 + .../common/@topology/core/src/animateLayer.js | 264 ++ .../@topology/core/src/animateLayer.js.map | 1 + .../common/@topology/core/src/canvas.d.ts | 22 + .../common/@topology/core/src/canvas.js | 89 + .../common/@topology/core/src/canvas.js.map | 1 + .../common/@topology/core/src/core.d.ts | 274 ++ .../common/@topology/core/src/core.js | 3013 +++++++++++++++++ .../common/@topology/core/src/core.js.map | 1 + .../common/@topology/core/src/divLayer.d.ts | 54 + .../common/@topology/core/src/divLayer.js | 502 +++ .../common/@topology/core/src/divLayer.js.map | 1 + .../common/@topology/core/src/hoverLayer.d.ts | 27 + .../common/@topology/core/src/hoverLayer.js | 211 ++ .../@topology/core/src/hoverLayer.js.map | 1 + .../common/@topology/core/src/layer.d.ts | 10 + .../common/@topology/core/src/layer.js | 19 + .../common/@topology/core/src/layer.js.map | 1 + .../core/src/middles/arrows/circle.d.ts | 3 + .../core/src/middles/arrows/circle.js | 24 + .../core/src/middles/arrows/circle.js.map | 1 + .../core/src/middles/arrows/diamond.d.ts | 3 + .../core/src/middles/arrows/diamond.js | 32 + .../core/src/middles/arrows/diamond.js.map | 1 + .../core/src/middles/arrows/line.d.ts | 4 + .../@topology/core/src/middles/arrows/line.js | 42 + .../core/src/middles/arrows/line.js.map | 1 + .../core/src/middles/arrows/triangle.d.ts | 3 + .../core/src/middles/arrows/triangle.js | 29 + .../core/src/middles/arrows/triangle.js.map | 1 + .../core/src/middles/default.anchor.d.ts | 2 + .../core/src/middles/default.anchor.js | 9 + .../core/src/middles/default.anchor.js.map | 1 + .../@topology/core/src/middles/default.d.ts | 12 + .../@topology/core/src/middles/default.js | 268 ++ .../@topology/core/src/middles/default.js.map | 1 + .../core/src/middles/default.rect.d.ts | 3 + .../core/src/middles/default.rect.js | 19 + .../core/src/middles/default.rect.js.map | 1 + .../@topology/core/src/middles/index.d.ts | 3 + .../@topology/core/src/middles/index.js | 4 + .../@topology/core/src/middles/index.js.map | 1 + .../core/src/middles/lines/curve.d.ts | 10 + .../@topology/core/src/middles/lines/curve.js | 130 + .../core/src/middles/lines/curve.js.map | 1 + .../core/src/middles/lines/line.d.ts | 4 + .../@topology/core/src/middles/lines/line.js | 11 + .../core/src/middles/lines/line.js.map | 1 + .../core/src/middles/lines/mind.d.ts | 2 + .../@topology/core/src/middles/lines/mind.js | 32 + .../core/src/middles/lines/mind.js.map | 1 + .../core/src/middles/lines/polyline.d.ts | 7 + .../core/src/middles/lines/polyline.js | 309 ++ .../core/src/middles/lines/polyline.js.map | 1 + .../core/src/middles/nodes/arrow.anchor.d.ts | 2 + .../core/src/middles/nodes/arrow.anchor.js | 7 + .../src/middles/nodes/arrow.anchor.js.map | 1 + .../core/src/middles/nodes/arrow.d.ts | 4 + .../@topology/core/src/middles/nodes/arrow.js | 45 + .../core/src/middles/nodes/arrow.js.map | 1 + .../core/src/middles/nodes/arrow.rect.d.ts | 7 + .../core/src/middles/nodes/arrow.rect.js | 23 + .../core/src/middles/nodes/arrow.rect.js.map | 1 + .../core/src/middles/nodes/circle.anchor.d.ts | 2 + .../core/src/middles/nodes/circle.anchor.js | 18 + .../src/middles/nodes/circle.anchor.js.map | 1 + .../core/src/middles/nodes/circle.d.ts | 2 + .../core/src/middles/nodes/circle.js | 7 + .../core/src/middles/nodes/circle.js.map | 1 + .../core/src/middles/nodes/circle.rect.d.ts | 3 + .../core/src/middles/nodes/circle.rect.js | 27 + .../core/src/middles/nodes/circle.rect.js.map | 1 + .../core/src/middles/nodes/cloud.anchor.d.ts | 2 + .../core/src/middles/nodes/cloud.anchor.js | 9 + .../src/middles/nodes/cloud.anchor.js.map | 1 + .../core/src/middles/nodes/cloud.d.ts | 2 + .../@topology/core/src/middles/nodes/cloud.js | 11 + .../core/src/middles/nodes/cloud.js.map | 1 + .../core/src/middles/nodes/cloud.rect.d.ts | 3 + .../core/src/middles/nodes/cloud.rect.js | 9 + .../core/src/middles/nodes/cloud.rect.js.map | 1 + .../core/src/middles/nodes/cube.anchor.d.ts | 2 + .../core/src/middles/nodes/cube.anchor.js | 10 + .../core/src/middles/nodes/cube.anchor.js.map | 1 + .../core/src/middles/nodes/cube.d.ts | 2 + .../@topology/core/src/middles/nodes/cube.js | 5 + .../core/src/middles/nodes/cube.js.map | 1 + .../core/src/middles/nodes/cube.model.d.ts | 14 + .../core/src/middles/nodes/cube.model.js | 64 + .../core/src/middles/nodes/cube.model.js.map | 1 + .../core/src/middles/nodes/cube.rect.d.ts | 3 + .../core/src/middles/nodes/cube.rect.js | 11 + .../core/src/middles/nodes/cube.rect.js.map | 1 + .../core/src/middles/nodes/diamond.d.ts | 2 + .../core/src/middles/nodes/diamond.js | 11 + .../core/src/middles/nodes/diamond.js.map | 1 + .../core/src/middles/nodes/diamond.rect.d.ts | 3 + .../core/src/middles/nodes/diamond.rect.js | 27 + .../src/middles/nodes/diamond.rect.js.map | 1 + .../core/src/middles/nodes/file.d.ts | 2 + .../@topology/core/src/middles/nodes/file.js | 16 + .../core/src/middles/nodes/file.js.map | 1 + .../src/middles/nodes/graffiti.anchor.d.ts | 2 + .../core/src/middles/nodes/graffiti.anchor.js | 18 + .../src/middles/nodes/graffiti.anchor.js.map | 1 + .../core/src/middles/nodes/graffiti.d.ts | 2 + .../core/src/middles/nodes/graffiti.js | 14 + .../core/src/middles/nodes/graffiti.js.map | 1 + .../src/middles/nodes/hexagon.anchor.d.ts | 2 + .../core/src/middles/nodes/hexagon.anchor.js | 21 + .../src/middles/nodes/hexagon.anchor.js.map | 1 + .../core/src/middles/nodes/hexagon.d.ts | 2 + .../core/src/middles/nodes/hexagon.js | 14 + .../core/src/middles/nodes/hexagon.js.map | 1 + .../core/src/middles/nodes/hexagon.rect.d.ts | 3 + .../core/src/middles/nodes/hexagon.rect.js | 14 + .../src/middles/nodes/hexagon.rect.js.map | 1 + .../core/src/middles/nodes/image.anchor.d.ts | 2 + .../core/src/middles/nodes/image.anchor.js | 19 + .../src/middles/nodes/image.anchor.js.map | 1 + .../core/src/middles/nodes/image.rect.d.ts | 3 + .../core/src/middles/nodes/image.rect.js | 27 + .../core/src/middles/nodes/image.rect.js.map | 1 + .../core/src/middles/nodes/line.anchor.d.ts | 2 + .../core/src/middles/nodes/line.anchor.js | 14 + .../core/src/middles/nodes/line.anchor.js.map | 1 + .../core/src/middles/nodes/line.d.ts | 2 + .../@topology/core/src/middles/nodes/line.js | 8 + .../core/src/middles/nodes/line.js.map | 1 + .../core/src/middles/nodes/line.rect.d.ts | 3 + .../core/src/middles/nodes/line.rect.js | 9 + .../core/src/middles/nodes/line.rect.js.map | 1 + .../core/src/middles/nodes/lines.d.ts | 2 + .../@topology/core/src/middles/nodes/lines.js | 27 + .../core/src/middles/nodes/lines.js.map | 1 + .../src/middles/nodes/message.anchor.d.ts | 2 + .../core/src/middles/nodes/message.anchor.js | 9 + .../src/middles/nodes/message.anchor.js.map | 1 + .../core/src/middles/nodes/message.d.ts | 2 + .../core/src/middles/nodes/message.js | 14 + .../core/src/middles/nodes/message.js.map | 1 + .../core/src/middles/nodes/message.rect.d.ts | 3 + .../core/src/middles/nodes/message.rect.js | 10 + .../src/middles/nodes/message.rect.js.map | 1 + .../src/middles/nodes/mindLine.anchor.d.ts | 2 + .../core/src/middles/nodes/mindLine.anchor.js | 6 + .../src/middles/nodes/mindLine.anchor.js.map | 1 + .../core/src/middles/nodes/mindLine.d.ts | 2 + .../core/src/middles/nodes/mindLine.js | 8 + .../core/src/middles/nodes/mindLine.js.map | 1 + .../src/middles/nodes/mindNode.anchor.d.ts | 2 + .../core/src/middles/nodes/mindNode.anchor.js | 117 + .../src/middles/nodes/mindNode.anchor.js.map | 1 + .../src/middles/nodes/pentagon.anchor.d.ts | 2 + .../core/src/middles/nodes/pentagon.anchor.js | 10 + .../src/middles/nodes/pentagon.anchor.js.map | 1 + .../core/src/middles/nodes/pentagon.d.ts | 2 + .../core/src/middles/nodes/pentagon.js | 12 + .../core/src/middles/nodes/pentagon.js.map | 1 + .../core/src/middles/nodes/pentagon.rect.d.ts | 3 + .../core/src/middles/nodes/pentagon.rect.js | 23 + .../src/middles/nodes/pentagon.rect.js.map | 1 + .../src/middles/nodes/pentagram.anchor.d.ts | 2 + .../src/middles/nodes/pentagram.anchor.js | 10 + .../src/middles/nodes/pentagram.anchor.js.map | 1 + .../core/src/middles/nodes/pentagram.d.ts | 2 + .../core/src/middles/nodes/pentagram.js | 11 + .../core/src/middles/nodes/pentagram.js.map | 1 + .../src/middles/nodes/pentagram.rect.d.ts | 3 + .../core/src/middles/nodes/pentagram.rect.js | 11 + .../src/middles/nodes/pentagram.rect.js.map | 1 + .../core/src/middles/nodes/people.d.ts | 2 + .../core/src/middles/nodes/people.js | 17 + .../core/src/middles/nodes/people.js.map | 1 + .../core/src/middles/nodes/people.rect.d.ts | 3 + .../core/src/middles/nodes/people.rect.js | 9 + .../core/src/middles/nodes/people.rect.js.map | 1 + .../core/src/middles/nodes/rectangle.d.ts | 2 + .../core/src/middles/nodes/rectangle.js | 25 + .../core/src/middles/nodes/rectangle.js.map | 1 + .../src/middles/nodes/rectangle.rect.d.ts | 3 + .../core/src/middles/nodes/rectangle.rect.js | 11 + .../src/middles/nodes/rectangle.rect.js.map | 1 + .../core/src/middles/nodes/text.d.ts | 12 + .../@topology/core/src/middles/nodes/text.js | 270 ++ .../core/src/middles/nodes/text.js.map | 1 + .../src/middles/nodes/triangle.anchor.d.ts | 2 + .../core/src/middles/nodes/triangle.anchor.js | 9 + .../src/middles/nodes/triangle.anchor.js.map | 1 + .../core/src/middles/nodes/triangle.d.ts | 2 + .../core/src/middles/nodes/triangle.js | 10 + .../core/src/middles/nodes/triangle.js.map | 1 + .../core/src/middles/nodes/triangle.rect.d.ts | 3 + .../core/src/middles/nodes/triangle.rect.js | 23 + .../src/middles/nodes/triangle.rect.js.map | 1 + .../@topology/core/src/models/data.d.ts | 39 + .../common/@topology/core/src/models/data.js | 67 + .../@topology/core/src/models/data.js.map | 1 + .../@topology/core/src/models/direction.d.ts | 7 + .../@topology/core/src/models/direction.js | 9 + .../core/src/models/direction.js.map | 1 + .../@topology/core/src/models/event.d.ts | 18 + .../common/@topology/core/src/models/event.js | 21 + .../@topology/core/src/models/event.js.map | 1 + .../@topology/core/src/models/index.d.ts | 9 + .../common/@topology/core/src/models/index.js | 10 + .../@topology/core/src/models/index.js.map | 1 + .../@topology/core/src/models/line.d.ts | 64 + .../common/@topology/core/src/models/line.js | 551 +++ .../@topology/core/src/models/line.js.map | 1 + .../@topology/core/src/models/node.d.ts | 116 + .../common/@topology/core/src/models/node.js | 1102 ++++++ .../@topology/core/src/models/node.js.map | 1 + .../common/@topology/core/src/models/pen.d.ts | 172 + .../common/@topology/core/src/models/pen.js | 440 +++ .../@topology/core/src/models/pen.js.map | 1 + .../@topology/core/src/models/point.d.ts | 29 + .../common/@topology/core/src/models/point.js | 53 + .../@topology/core/src/models/point.js.map | 1 + .../@topology/core/src/models/rect.d.ts | 31 + .../common/@topology/core/src/models/rect.js | 94 + .../@topology/core/src/models/rect.js.map | 1 + .../@topology/core/src/models/status.d.ts | 11 + .../@topology/core/src/models/status.js | 14 + .../@topology/core/src/models/status.js.map | 1 + .../common/@topology/core/src/mqtt.d.ts | 12 + .../common/@topology/core/src/mqtt.js | 27 + .../common/@topology/core/src/mqtt.js.map | 1 + .../common/@topology/core/src/offscreen.d.ts | 14 + .../common/@topology/core/src/offscreen.js | 54 + .../@topology/core/src/offscreen.js.map | 1 + .../common/@topology/core/src/options.d.ts | 72 + .../common/@topology/core/src/options.js | 45 + .../common/@topology/core/src/options.js.map | 1 + .../@topology/core/src/renderLayer.d.ts | 16 + .../common/@topology/core/src/renderLayer.js | 134 + .../@topology/core/src/renderLayer.js.map | 1 + .../common/@topology/core/src/socket.d.ts | 9 + .../common/@topology/core/src/socket.js | 24 + .../common/@topology/core/src/socket.js.map | 1 + .../@topology/core/src/utils/browser.d.ts | 1 + .../@topology/core/src/utils/browser.js | 4 + .../@topology/core/src/utils/browser.js.map | 1 + .../@topology/core/src/utils/cacheDB.d.ts | 5 + .../@topology/core/src/utils/cacheDB.js | 103 + .../@topology/core/src/utils/cacheDB.js.map | 1 + .../@topology/core/src/utils/canvas.d.ts | 18 + .../common/@topology/core/src/utils/canvas.js | 115 + .../@topology/core/src/utils/canvas.js.map | 1 + .../@topology/core/src/utils/clone.d.ts | 1 + .../common/@topology/core/src/utils/clone.js | 24 + .../@topology/core/src/utils/clone.js.map | 1 + .../common/@topology/core/src/utils/dom.d.ts | 4 + .../common/@topology/core/src/utils/dom.js | 45 + .../@topology/core/src/utils/dom.js.map | 1 + .../@topology/core/src/utils/index.d.ts | 8 + .../common/@topology/core/src/utils/index.js | 9 + .../@topology/core/src/utils/index.js.map | 1 + .../common/@topology/core/src/utils/math.d.ts | 11 + .../common/@topology/core/src/utils/math.js | 74 + .../@topology/core/src/utils/math.js.map | 1 + .../@topology/core/src/utils/padding.d.ts | 7 + .../@topology/core/src/utils/padding.js | 47 + .../@topology/core/src/utils/padding.js.map | 1 + .../common/@topology/core/src/utils/rect.d.ts | 18 + .../common/@topology/core/src/utils/rect.js | 96 + .../@topology/core/src/utils/rect.js.map | 1 + .../common/@topology/core/src/utils/uuid.d.ts | 4 + .../common/@topology/core/src/utils/uuid.js | 13 + .../@topology/core/src/utils/uuid.js.map | 1 + .../common/@topology/flow-diagram/index.d.ts | 12 + .../common/@topology/flow-diagram/index.js | 13 + .../@topology/flow-diagram/index.js.map | 1 + .../@topology/flow-diagram/package.json | 65 + .../src/comment/comment.anchor.d.ts | 2 + .../src/comment/comment.anchor.js | 5 + .../src/comment/comment.anchor.js.map | 1 + .../flow-diagram/src/comment/comment.d.ts | 2 + .../flow-diagram/src/comment/comment.js | 10 + .../flow-diagram/src/comment/comment.js.map | 1 + .../flow-diagram/src/comment/index.d.ts | 2 + .../flow-diagram/src/comment/index.js | 3 + .../flow-diagram/src/comment/index.js.map | 1 + .../flow-diagram/src/data/data.anchor.d.ts | 2 + .../flow-diagram/src/data/data.anchor.js | 8 + .../flow-diagram/src/data/data.anchor.js.map | 1 + .../@topology/flow-diagram/src/data/data.d.ts | 2 + .../@topology/flow-diagram/src/data/data.js | 12 + .../flow-diagram/src/data/data.js.map | 1 + .../flow-diagram/src/data/data.rect.d.ts | 3 + .../flow-diagram/src/data/data.rect.js | 9 + .../flow-diagram/src/data/data.rect.js.map | 1 + .../flow-diagram/src/data/index.d.ts | 3 + .../@topology/flow-diagram/src/data/index.js | 4 + .../flow-diagram/src/data/index.js.map | 1 + .../@topology/flow-diagram/src/db/db.d.ts | 2 + .../@topology/flow-diagram/src/db/db.js | 14 + .../@topology/flow-diagram/src/db/db.js.map | 1 + .../flow-diagram/src/db/db.rect.d.ts | 3 + .../@topology/flow-diagram/src/db/db.rect.js | 9 + .../flow-diagram/src/db/db.rect.js.map | 1 + .../@topology/flow-diagram/src/db/index.d.ts | 2 + .../@topology/flow-diagram/src/db/index.js | 3 + .../flow-diagram/src/db/index.js.map | 1 + .../src/display/display.anchor.d.ts | 2 + .../src/display/display.anchor.js | 8 + .../src/display/display.anchor.js.map | 1 + .../flow-diagram/src/display/display.d.ts | 2 + .../flow-diagram/src/display/display.js | 13 + .../flow-diagram/src/display/display.js.map | 1 + .../src/display/display.rect.d.ts | 3 + .../flow-diagram/src/display/display.rect.js | 9 + .../src/display/display.rect.js.map | 1 + .../flow-diagram/src/display/index.d.ts | 3 + .../flow-diagram/src/display/index.js | 4 + .../flow-diagram/src/display/index.js.map | 1 + .../src/document/document.anchor.d.ts | 2 + .../src/document/document.anchor.js | 8 + .../src/document/document.anchor.js.map | 1 + .../flow-diagram/src/document/document.d.ts | 2 + .../flow-diagram/src/document/document.js | 15 + .../flow-diagram/src/document/document.js.map | 1 + .../src/document/document.rect.d.ts | 3 + .../src/document/document.rect.js | 9 + .../src/document/document.rect.js.map | 1 + .../flow-diagram/src/document/index.d.ts | 3 + .../flow-diagram/src/document/index.js | 4 + .../flow-diagram/src/document/index.js.map | 1 + .../externStorage/externStorage.anchor.d.ts | 2 + .../src/externStorage/externStorage.anchor.js | 8 + .../externStorage/externStorage.anchor.js.map | 1 + .../src/externStorage/externStorage.d.ts | 2 + .../src/externStorage/externStorage.js | 12 + .../src/externStorage/externStorage.js.map | 1 + .../src/externStorage/externStorage.rect.d.ts | 3 + .../src/externStorage/externStorage.rect.js | 9 + .../externStorage/externStorage.rect.js.map | 1 + .../flow-diagram/src/externStorage/index.d.ts | 3 + .../flow-diagram/src/externStorage/index.js | 4 + .../src/externStorage/index.js.map | 1 + .../src/internalStorage/index.d.ts | 2 + .../flow-diagram/src/internalStorage/index.js | 3 + .../src/internalStorage/index.js.map | 1 + .../src/internalStorage/internalStorage.d.ts | 2 + .../src/internalStorage/internalStorage.js | 16 + .../internalStorage/internalStorage.js.map | 1 + .../internalStorage/internalStorage.rect.d.ts | 3 + .../internalStorage/internalStorage.rect.js | 10 + .../internalStorage.rect.js.map | 1 + .../flow-diagram/src/manually/index.d.ts | 3 + .../flow-diagram/src/manually/index.js | 4 + .../flow-diagram/src/manually/index.js.map | 1 + .../src/manually/manually.anchor.d.ts | 2 + .../src/manually/manually.anchor.js | 8 + .../src/manually/manually.anchor.js.map | 1 + .../flow-diagram/src/manually/manually.d.ts | 2 + .../flow-diagram/src/manually/manually.js | 12 + .../flow-diagram/src/manually/manually.js.map | 1 + .../src/manually/manually.rect.d.ts | 3 + .../src/manually/manually.rect.js | 9 + .../src/manually/manually.rect.js.map | 1 + .../flow-diagram/src/parallel/index.d.ts | 2 + .../flow-diagram/src/parallel/index.js | 3 + .../flow-diagram/src/parallel/index.js.map | 1 + .../src/parallel/parallel.anchor.d.ts | 2 + .../src/parallel/parallel.anchor.js | 6 + .../src/parallel/parallel.anchor.js.map | 1 + .../flow-diagram/src/parallel/parallel.d.ts | 2 + .../flow-diagram/src/parallel/parallel.js | 9 + .../flow-diagram/src/parallel/parallel.js.map | 1 + .../flow-diagram/src/queue/index.d.ts | 2 + .../@topology/flow-diagram/src/queue/index.js | 3 + .../flow-diagram/src/queue/index.js.map | 1 + .../flow-diagram/src/queue/queue.d.ts | 2 + .../@topology/flow-diagram/src/queue/queue.js | 9 + .../flow-diagram/src/queue/queue.js.map | 1 + .../flow-diagram/src/queue/queue.rect.d.ts | 3 + .../flow-diagram/src/queue/queue.rect.js | 11 + .../flow-diagram/src/queue/queue.rect.js.map | 1 + .../@topology/flow-diagram/src/register.d.ts | 1 + .../@topology/flow-diagram/src/register.js | 26 + .../flow-diagram/src/register.js.map | 1 + .../flow-diagram/src/subprocess/index.d.ts | 2 + .../flow-diagram/src/subprocess/index.js | 3 + .../flow-diagram/src/subprocess/index.js.map | 1 + .../src/subprocess/subprocess.d.ts | 2 + .../flow-diagram/src/subprocess/subprocess.js | 16 + .../src/subprocess/subprocess.js.map | 1 + .../src/subprocess/subprocess.rect.d.ts | 3 + .../src/subprocess/subprocess.rect.js | 9 + .../src/subprocess/subprocess.rect.js.map | 1 + .../common/@topology/layout/index.d.ts | 2 + .../common/@topology/layout/index.js | 3 + .../common/@topology/layout/index.js.map | 1 + .../common/@topology/layout/package.json | 64 + .../common/@topology/layout/src/align.d.ts | 3 + .../common/@topology/layout/src/align.js | 63 + .../common/@topology/layout/src/align.js.map | 1 + .../common/@topology/layout/src/layout.d.ts | 9 + .../common/@topology/layout/src/layout.js | 50 + .../common/@topology/layout/src/layout.js.map | 1 + .../@topology/sequence-diagram/index.d.ts | 3 + .../@topology/sequence-diagram/index.js | 4 + .../@topology/sequence-diagram/index.js.map | 1 + .../@topology/sequence-diagram/package.json | 65 + .../src/focus/focus.anchor.d.ts | 2 + .../src/focus/focus.anchor.js | 15 + .../src/focus/focus.anchor.js.map | 1 + .../sequence-diagram/src/focus/focus.d.ts | 2 + .../sequence-diagram/src/focus/focus.js | 13 + .../sequence-diagram/src/focus/focus.js.map | 1 + .../src/focus/focus.rect.d.ts | 3 + .../sequence-diagram/src/focus/focus.rect.js | 9 + .../src/focus/focus.rect.js.map | 1 + .../sequence-diagram/src/focus/index.d.ts | 3 + .../sequence-diagram/src/focus/index.js | 4 + .../sequence-diagram/src/focus/index.js.map | 1 + .../sequence-diagram/src/lifeline/index.d.ts | 3 + .../sequence-diagram/src/lifeline/index.js | 4 + .../src/lifeline/index.js.map | 1 + .../src/lifeline/lifeline.anchor.d.ts | 2 + .../src/lifeline/lifeline.anchor.js | 9 + .../src/lifeline/lifeline.anchor.js.map | 1 + .../src/lifeline/lifeline.d.ts | 2 + .../sequence-diagram/src/lifeline/lifeline.js | 35 + .../src/lifeline/lifeline.js.map | 1 + .../src/lifeline/lifeline.rect.d.ts | 3 + .../src/lifeline/lifeline.rect.js | 9 + .../src/lifeline/lifeline.rect.js.map | 1 + .../sequence-diagram/src/register.d.ts | 1 + .../sequence-diagram/src/register.js | 8 + .../sequence-diagram/src/register.js.map | 1 + .../components/common/project/topologyL5.vue | 59 +- 513 files changed, 13179 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/index.js create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/package.json create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.js create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.js.map create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/final/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/final/index.js create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/final/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.js create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.js.map create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/index.js create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/register.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/register.js create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/register.js.map create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/index.js create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.js create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.js.map create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/index.js create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.js create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.js.map create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/chart-diagram/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/chart-diagram/index.js create mode 100644 nezha-fronted/src/components/common/@topology/chart-diagram/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/chart-diagram/package.json create mode 100644 nezha-fronted/src/components/common/@topology/chart-diagram/src/echarts/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/chart-diagram/src/echarts/index.js create mode 100644 nezha-fronted/src/components/common/@topology/chart-diagram/src/echarts/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/chart-diagram/src/register.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/chart-diagram/src/register.js create mode 100644 nezha-fronted/src/components/common/@topology/chart-diagram/src/register.js.map create mode 100644 nezha-fronted/src/components/common/@topology/class-diagram/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/class-diagram/index.js create mode 100644 nezha-fronted/src/components/common/@topology/class-diagram/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/class-diagram/package.json create mode 100644 nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.js create mode 100644 nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.js.map create mode 100644 nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/class-diagram/src/class/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/class-diagram/src/class/index.js create mode 100644 nezha-fronted/src/components/common/@topology/class-diagram/src/class/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/class-diagram/src/register.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/class-diagram/src/register.js create mode 100644 nezha-fronted/src/components/common/@topology/class-diagram/src/register.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/index.js create mode 100644 nezha-fronted/src/components/common/@topology/core/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/package.json create mode 100644 nezha-fronted/src/components/common/@topology/core/src/activeLayer.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/activeLayer.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/activeLayer.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/animateLayer.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/animateLayer.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/animateLayer.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/canvas.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/canvas.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/canvas.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/core.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/core.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/core.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/divLayer.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/divLayer.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/divLayer.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/hoverLayer.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/hoverLayer.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/hoverLayer.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/layer.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/layer.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/layer.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/arrows/circle.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/arrows/circle.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/arrows/circle.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/arrows/diamond.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/arrows/diamond.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/arrows/diamond.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/arrows/line.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/arrows/line.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/arrows/line.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/arrows/triangle.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/arrows/triangle.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/arrows/triangle.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/default.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/default.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/default.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/default.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/default.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/default.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/default.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/default.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/default.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/index.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/lines/curve.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/lines/curve.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/lines/curve.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/lines/line.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/lines/line.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/lines/line.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/lines/mind.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/lines/mind.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/lines/mind.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/lines/polyline.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/lines/polyline.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/lines/polyline.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.model.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.model.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.model.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/file.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/file.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/file.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/lines.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/lines.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/lines.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindNode.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindNode.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindNode.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/text.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/text.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/text.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/data.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/data.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/data.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/direction.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/direction.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/direction.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/event.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/event.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/event.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/index.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/line.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/line.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/line.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/node.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/node.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/node.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/pen.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/pen.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/pen.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/point.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/point.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/point.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/rect.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/status.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/status.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/models/status.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/mqtt.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/mqtt.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/mqtt.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/offscreen.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/offscreen.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/offscreen.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/options.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/options.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/options.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/renderLayer.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/renderLayer.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/renderLayer.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/socket.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/socket.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/socket.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/browser.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/browser.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/browser.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/cacheDB.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/cacheDB.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/cacheDB.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/canvas.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/canvas.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/canvas.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/clone.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/clone.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/clone.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/dom.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/dom.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/dom.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/index.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/math.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/math.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/math.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/padding.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/padding.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/padding.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/rect.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/uuid.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/uuid.js create mode 100644 nezha-fronted/src/components/common/@topology/core/src/utils/uuid.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/index.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/package.json create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/index.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/data/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/data/index.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/data/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/db/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/db/index.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/db/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/display/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/display/index.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/display/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/document/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/document/index.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/document/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/index.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/index.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/index.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/index.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/index.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/register.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/register.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/register.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/index.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.js.map create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/layout/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/layout/index.js create mode 100644 nezha-fronted/src/components/common/@topology/layout/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/layout/package.json create mode 100644 nezha-fronted/src/components/common/@topology/layout/src/align.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/layout/src/align.js create mode 100644 nezha-fronted/src/components/common/@topology/layout/src/align.js.map create mode 100644 nezha-fronted/src/components/common/@topology/layout/src/layout.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/layout/src/layout.js create mode 100644 nezha-fronted/src/components/common/@topology/layout/src/layout.js.map create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/index.js create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/package.json create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.js create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.js.map create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/index.js create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/index.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/index.js create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/index.js.map create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.anchor.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.anchor.js create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.anchor.js.map create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.js create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.js.map create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.rect.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.rect.js create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.rect.js.map create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/register.d.ts create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/register.js create mode 100644 nezha-fronted/src/components/common/@topology/sequence-diagram/src/register.js.map diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..620477b41 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +nezha-fronted/src/components/common/testTopology.vue +nezha-fronted/src/components/common/rightBox/tempRoghtBox.vue +nezha-fronted/src/components/page/dashboard/testData.js +nezha-fronted/src/router/mergeTable.js +.idea/ diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/index.d.ts b/nezha-fronted/src/components/common/@topology/activity-diagram/index.d.ts new file mode 100644 index 000000000..66e4261f8 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/index.d.ts @@ -0,0 +1,5 @@ +export * from './src/final'; +export * from './src/fork'; +export * from './src/swimlaneH'; +export * from './src/swimlaneV'; +export * from './src/register'; diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/index.js b/nezha-fronted/src/components/common/@topology/activity-diagram/index.js new file mode 100644 index 000000000..93b5c05df --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/index.js @@ -0,0 +1,6 @@ +export * from './src/final'; +export * from './src/fork'; +export * from './src/swimlaneH'; +export * from './src/swimlaneV'; +export * from './src/register'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/index.js.map b/nezha-fronted/src/components/common/@topology/activity-diagram/index.js.map new file mode 100644 index 000000000..8f31fa0f5 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../packages/activity-diagram/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/package.json b/nezha-fronted/src/components/common/@topology/activity-diagram/package.json new file mode 100644 index 000000000..a73465741 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/package.json @@ -0,0 +1,65 @@ +{ + "_args": [ + [ + "@topology/activity-diagram@0.3.0", + "D:\\a\\nezha-fronted\\nezha-fronted" + ] + ], + "_from": "@topology/activity-diagram@0.3.0", + "_id": "@topology/activity-diagram@0.3.0", + "_inBundle": false, + "_integrity": "sha512-9uceHdbT1MY++/2crNlZmFMVmz6sI4OqH7aUQuBT8q9RDXA7t2prFd7lx4UfaIyQqDYtYtpeCHLPlhRLsEooZg==", + "_location": "/@topology/activity-diagram", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@topology/activity-diagram@0.3.0", + "name": "@topology/activity-diagram", + "escapedName": "@topology%2factivity-diagram", + "scope": "@topology", + "rawSpec": "0.3.0", + "saveSpec": null, + "fetchSpec": "0.3.0" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/@topology/activity-diagram/-/activity-diagram-0.3.0.tgz", + "_spec": "0.3.0", + "_where": "D:\\a\\nezha-fronted\\nezha-fronted", + "author": { + "name": "alsmile123@qq.com" + }, + "bugs": { + "url": "https://github.com/le5le-com/topology/issues" + }, + "description": "A activity diagram tool using le5le-topology.", + "gitHead": "78f2a53ca1839c89b56e2e498d17ba4eb987ad14", + "homepage": "https://github.com/le5le-com/topology#readme", + "keywords": [ + "topology", + "activity", + "diagram", + "canvas" + ], + "license": "ISC", + "main": "index.js", + "name": "@topology/activity-diagram", + "peerDependencies": { + "@topology/core": "^0.3.0" + }, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/le5le-com/topology.git" + }, + "scripts": { + "build": "tsc && npm run copy", + "copy": "copyfiles package.json ../../dist/activity-diagram/" + }, + "types": "index.d.ts", + "version": "0.3.0" +} diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.d.ts b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.d.ts new file mode 100644 index 000000000..a6f11bb00 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function activityFinal(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.js new file mode 100644 index 000000000..19e0f1268 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.js @@ -0,0 +1,10 @@ +export function activityFinal(ctx, node) { + ctx.beginPath(); + ctx.ellipse(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 2, node.rect.width / 2, node.rect.height / 2, 0, 0, Math.PI * 2); + ctx.stroke(); + ctx.beginPath(); + ctx.fillStyle = ctx.strokeStyle; + ctx.ellipse(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 2, node.rect.width / 4, node.rect.height / 4, 0, 0, Math.PI * 2); + ctx.fill(); +} +//# sourceMappingURL=final.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.js.map b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.js.map new file mode 100644 index 000000000..80b0c3fc6 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.js.map @@ -0,0 +1 @@ +{"version":3,"file":"final.js","sourceRoot":"","sources":["../../../../packages/activity-diagram/src/final/final.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAAC,GAA6B,EAAE,IAAU;IACrE,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAClC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACnB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EACpB,CAAC,EACD,CAAC,EACD,IAAI,CAAC,EAAE,GAAG,CAAC,CACZ,CAAC;IACF,GAAG,CAAC,MAAM,EAAE,CAAC;IAEb,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC;IAChC,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAClC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACnB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EACpB,CAAC,EACD,CAAC,EACD,IAAI,CAAC,EAAE,GAAG,CAAC,CACZ,CAAC;IACF,GAAG,CAAC,IAAI,EAAE,CAAC;AACb,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.rect.d.ts b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.rect.d.ts new file mode 100644 index 000000000..e3c61f5d5 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare function activityFinalIconRect(node: Node): void; +export declare function activityFinalTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.rect.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.rect.js new file mode 100644 index 000000000..a5f08d68b --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.rect.js @@ -0,0 +1,11 @@ +import { Rect } from '@topology/core'; +export function activityFinalIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function activityFinalTextRect(node) { + var w = (node.rect.width * 5) / 7; + var h = (node.rect.height * 5) / 7; + node.textRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + (node.rect.height - h) / 2, w, h); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=final.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.rect.js.map b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.rect.js.map new file mode 100644 index 000000000..b370cdf47 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"final.rect.js","sourceRoot":"","sources":["../../../../packages/activity-diagram/src/final/final.rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,qBAAqB,CAAC,IAAU;IAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAU;IAC9C,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/index.d.ts b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/index.d.ts new file mode 100644 index 000000000..a385d62a6 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/index.d.ts @@ -0,0 +1,2 @@ +export * from './final'; +export * from './final.rect'; diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/index.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/index.js new file mode 100644 index 000000000..55512438e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/index.js @@ -0,0 +1,3 @@ +export * from './final'; +export * from './final.rect'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/index.js.map b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/index.js.map new file mode 100644 index 000000000..b26aaec2e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/activity-diagram/src/final/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.anchor.d.ts b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.anchor.d.ts new file mode 100644 index 000000000..289ac2786 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.anchor.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare function forkHAnchors(node: Node): void; +export declare function forkVAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.anchor.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.anchor.js new file mode 100644 index 000000000..fdc19756d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.anchor.js @@ -0,0 +1,28 @@ +import { Point, Direction } from '@topology/core'; +export function forkHAnchors(node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); + node.anchors.push(new Point(node.rect.ex, node.rect.y + node.rect.height / 2, Direction.Right)); + var dis = 5; + for (var i = dis; node.rect.x + i < node.rect.ex; i = i + dis) { + var pt1 = new Point(node.rect.x + i, node.rect.y, Direction.Up); + var pt2 = new Point(node.rect.x + i, node.rect.ey, Direction.Bottom); + pt1.hidden = true; + pt2.hidden = true; + node.anchors.push(pt1); + node.anchors.push(pt2); + } +} +export function forkVAnchors(node) { + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.ey, Direction.Bottom)); + var dis = 5; + for (var i = dis; node.rect.y + i < node.rect.ey; i = i + dis) { + var pt1 = new Point(node.rect.x, node.rect.y + i, Direction.Left); + var pt2 = new Point(node.rect.ex, node.rect.y + i, Direction.Right); + pt1.hidden = true; + pt2.hidden = true; + node.anchors.push(pt1); + node.anchors.push(pt2); + } +} +//# sourceMappingURL=fork.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.anchor.js.map b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.anchor.js.map new file mode 100644 index 000000000..b31138857 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fork.anchor.js","sourceRoot":"","sources":["../../../../packages/activity-diagram/src/fork/fork.anchor.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.d.ts b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.d.ts new file mode 100644 index 000000000..1aba4a539 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function fork(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.js new file mode 100644 index 000000000..ed389fc0e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.js @@ -0,0 +1,25 @@ +export function fork(ctx, node) { + var wr = node.borderRadius; + var hr = node.borderRadius; + if (node.borderRadius < 1) { + wr = node.rect.width * node.borderRadius; + hr = node.rect.height * node.borderRadius; + } + var r = wr < hr ? wr : hr; + if (node.rect.width < 2 * r) { + r = node.rect.width / 2; + } + if (node.rect.height < 2 * r) { + r = node.rect.height / 2; + } + ctx.beginPath(); + ctx.moveTo(node.rect.x + r, node.rect.y); + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r); + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r); + ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r); + ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r); + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=fork.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.js.map b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.js.map new file mode 100644 index 000000000..7044f370f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fork.js","sourceRoot":"","sources":["../../../../packages/activity-diagram/src/fork/fork.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,IAAI,CAAC,GAA6B,EAAE,IAAU;IAC5D,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;IAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;IAC3B,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;QACzB,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;KAC3C;IACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE;QAC3B,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;KACzB;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE;QAC5B,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;KAC1B;IAED,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,GAAG,CAAC,KAAK,CACP,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAC9B,CAAC,CACF,CAAC;IACF,GAAG,CAAC,KAAK,CACP,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAC9B,CAAC,CACF,CAAC;IACF,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpF,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnF,GAAG,CAAC,SAAS,EAAE,CAAC;IAEhB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.rect.d.ts b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.rect.d.ts new file mode 100644 index 000000000..131f76476 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare function forkIconRect(node: Node): void; +export declare function forkTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.rect.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.rect.js new file mode 100644 index 000000000..b00a0083f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.rect.js @@ -0,0 +1,9 @@ +import { Rect } from '@topology/core'; +export function forkIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function forkTextRect(node) { + node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, node.rect.height); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=fork.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.rect.js.map b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.rect.js.map new file mode 100644 index 000000000..4264cecca --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fork.rect.js","sourceRoot":"","sources":["../../../../packages/activity-diagram/src/fork/fork.rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/index.d.ts b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/index.d.ts new file mode 100644 index 000000000..2bc64997e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/index.d.ts @@ -0,0 +1,3 @@ +export * from './fork'; +export * from './fork.rect'; +export * from './fork.anchor'; diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/index.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/index.js new file mode 100644 index 000000000..d602e3900 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/index.js @@ -0,0 +1,4 @@ +export * from './fork'; +export * from './fork.rect'; +export * from './fork.anchor'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/index.js.map b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/index.js.map new file mode 100644 index 000000000..acb6fc2ee --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/activity-diagram/src/fork/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/register.d.ts b/nezha-fronted/src/components/common/@topology/activity-diagram/src/register.d.ts new file mode 100644 index 000000000..bf35c08a1 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/register.d.ts @@ -0,0 +1 @@ +export declare function register(): void; diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/register.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/register.js new file mode 100644 index 000000000..97ad85f88 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/register.js @@ -0,0 +1,13 @@ +import { registerNode } from '@topology/core'; +import { activityFinal, activityFinalIconRect, activityFinalTextRect } from './final'; +import { fork, forkHAnchors, forkVAnchors, forkIconRect, forkTextRect } from './fork'; +import { swimlaneH, swimlaneHIconRect, swimlaneHTextRect } from './swimlaneH'; +import { swimlaneV, swimlaneVIconRect, swimlaneVTextRect } from './swimlaneV'; +export function register() { + registerNode('activityFinal', activityFinal, null, activityFinalIconRect, activityFinalTextRect); + registerNode('swimlaneV', swimlaneV, null, swimlaneVIconRect, swimlaneVTextRect); + registerNode('swimlaneH', swimlaneH, null, swimlaneHIconRect, swimlaneHTextRect); + registerNode('forkH', fork, forkHAnchors, forkIconRect, forkTextRect); + registerNode('forkV', fork, forkVAnchors, forkIconRect, forkTextRect); +} +//# sourceMappingURL=register.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/register.js.map b/nezha-fronted/src/components/common/@topology/activity-diagram/src/register.js.map new file mode 100644 index 000000000..eeacb7c13 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/register.js.map @@ -0,0 +1 @@ +{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../packages/activity-diagram/src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACtF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE9E,MAAM,UAAU,QAAQ;IACtB,YAAY,CAAC,eAAe,EAAE,aAAa,EAAE,IAAI,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;IACjG,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACjF,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACjF,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACtE,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AACxE,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/index.d.ts b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/index.d.ts new file mode 100644 index 000000000..c90dd6efb --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/index.d.ts @@ -0,0 +1,2 @@ +export * from './swimlaneH'; +export * from './swimlaneH.rect'; diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/index.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/index.js new file mode 100644 index 000000000..36680fce0 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/index.js @@ -0,0 +1,3 @@ +export * from './swimlaneH'; +export * from './swimlaneH.rect'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/index.js.map b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/index.js.map new file mode 100644 index 000000000..9b6932a1e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/activity-diagram/src/swimlaneH/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.d.ts b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.d.ts new file mode 100644 index 000000000..127ebdb61 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function swimlaneH(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.js new file mode 100644 index 000000000..32ce0484e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.js @@ -0,0 +1,27 @@ +export function swimlaneH(ctx, node) { + var wr = node.borderRadius; + var hr = node.borderRadius; + if (node.borderRadius < 1) { + wr = node.rect.width * node.borderRadius; + hr = node.rect.height * node.borderRadius; + } + var r = wr < hr ? wr : hr; + if (node.rect.width < 2 * r) { + r = node.rect.width / 2; + } + if (node.rect.height < 2 * r) { + r = node.rect.height / 2; + } + ctx.beginPath(); + ctx.moveTo(node.rect.x + r, node.rect.y); + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r); + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r); + ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r); + ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r); + ctx.closePath(); + ctx.moveTo(node.rect.x + 40, node.rect.y); + ctx.lineTo(node.rect.x + 40, node.rect.ey); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=swimlaneH.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.js.map b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.js.map new file mode 100644 index 000000000..971105bdb --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"swimlaneH.js","sourceRoot":"","sources":["../../../../packages/activity-diagram/src/swimlaneH/swimlaneH.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.rect.d.ts b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.rect.d.ts new file mode 100644 index 000000000..b30dd06f8 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare function swimlaneHIconRect(node: Node): void; +export declare function swimlaneHTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.rect.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.rect.js new file mode 100644 index 000000000..b357ee22a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.rect.js @@ -0,0 +1,9 @@ +import { Rect } from '@topology/core'; +export function swimlaneHIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function swimlaneHTextRect(node) { + node.textRect = new Rect(node.rect.x + 10, node.rect.y, 20, node.rect.height); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=swimlaneH.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.rect.js.map b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.rect.js.map new file mode 100644 index 000000000..6ddc55781 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"swimlaneH.rect.js","sourceRoot":"","sources":["../../../../packages/activity-diagram/src/swimlaneH/swimlaneH.rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/index.d.ts b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/index.d.ts new file mode 100644 index 000000000..b118dd862 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/index.d.ts @@ -0,0 +1,2 @@ +export * from './swimlaneV'; +export * from './swimlaneV.rect'; diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/index.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/index.js new file mode 100644 index 000000000..26157c9aa --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/index.js @@ -0,0 +1,3 @@ +export * from './swimlaneV'; +export * from './swimlaneV.rect'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/index.js.map b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/index.js.map new file mode 100644 index 000000000..7080fe508 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/activity-diagram/src/swimlaneV/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.d.ts b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.d.ts new file mode 100644 index 000000000..3e514c95a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function swimlaneV(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.js new file mode 100644 index 000000000..a29721980 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.js @@ -0,0 +1,27 @@ +export function swimlaneV(ctx, node) { + var wr = node.borderRadius; + var hr = node.borderRadius; + if (node.borderRadius < 1) { + wr = node.rect.width * node.borderRadius; + hr = node.rect.height * node.borderRadius; + } + var r = wr < hr ? wr : hr; + if (node.rect.width < 2 * r) { + r = node.rect.width / 2; + } + if (node.rect.height < 2 * r) { + r = node.rect.height / 2; + } + ctx.beginPath(); + ctx.moveTo(node.rect.x + r, node.rect.y); + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r); + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r); + ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r); + ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r); + ctx.closePath(); + ctx.moveTo(node.rect.x, node.rect.y + 40); + ctx.lineTo(node.rect.ex, node.rect.y + 40); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=swimlaneV.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.js.map b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.js.map new file mode 100644 index 000000000..193a18b6c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.js.map @@ -0,0 +1 @@ +{"version":3,"file":"swimlaneV.js","sourceRoot":"","sources":["../../../../packages/activity-diagram/src/swimlaneV/swimlaneV.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.rect.d.ts b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.rect.d.ts new file mode 100644 index 000000000..9e8bfe1cc --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare function swimlaneVIconRect(node: Node): void; +export declare function swimlaneVTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.rect.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.rect.js new file mode 100644 index 000000000..d53b7436a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.rect.js @@ -0,0 +1,9 @@ +import { Rect } from '@topology/core'; +export function swimlaneVIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function swimlaneVTextRect(node) { + node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, 40); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=swimlaneV.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.rect.js.map b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.rect.js.map new file mode 100644 index 000000000..65c6cb17c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"swimlaneV.rect.js","sourceRoot":"","sources":["../../../../packages/activity-diagram/src/swimlaneV/swimlaneV.rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/chart-diagram/index.d.ts b/nezha-fronted/src/components/common/@topology/chart-diagram/index.d.ts new file mode 100644 index 000000000..119062266 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/chart-diagram/index.d.ts @@ -0,0 +1,2 @@ +export * from './src/echarts'; +export * from './src/register'; diff --git a/nezha-fronted/src/components/common/@topology/chart-diagram/index.js b/nezha-fronted/src/components/common/@topology/chart-diagram/index.js new file mode 100644 index 000000000..6986612a0 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/chart-diagram/index.js @@ -0,0 +1,3 @@ +export * from './src/echarts'; +export * from './src/register'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/chart-diagram/index.js.map b/nezha-fronted/src/components/common/@topology/chart-diagram/index.js.map new file mode 100644 index 000000000..e96fe0e05 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/chart-diagram/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../packages/chart-diagram/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/chart-diagram/package.json b/nezha-fronted/src/components/common/@topology/chart-diagram/package.json new file mode 100644 index 000000000..3649ca6f5 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/chart-diagram/package.json @@ -0,0 +1,64 @@ +{ + "_args": [ + [ + "@topology/chart-diagram@0.3.0", + "D:\\a\\nezha-fronted\\nezha-fronted" + ] + ], + "_from": "@topology/chart-diagram@0.3.0", + "_id": "@topology/chart-diagram@0.3.0", + "_inBundle": false, + "_integrity": "sha512-WUfb62Op0QxS976cNqrJ1Xaq+pfURwpo67H3TENWb+OhoNfiBl9IDANxTr1UIPLYfsjqgN3Y/8lxkL33jEl/aQ==", + "_location": "/@topology/chart-diagram", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@topology/chart-diagram@0.3.0", + "name": "@topology/chart-diagram", + "escapedName": "@topology%2fchart-diagram", + "scope": "@topology", + "rawSpec": "0.3.0", + "saveSpec": null, + "fetchSpec": "0.3.0" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/@topology/chart-diagram/-/chart-diagram-0.3.0.tgz", + "_spec": "0.3.0", + "_where": "D:\\a\\nezha-fronted\\nezha-fronted", + "author": { + "name": "alsmile123@qq.com" + }, + "bugs": { + "url": "https://github.com/le5le-com/topology/issues" + }, + "description": "A chart tool using le5le-topology.", + "gitHead": "78f2a53ca1839c89b56e2e498d17ba4eb987ad14", + "homepage": "https://github.com/le5le-com/topology#readme", + "keywords": [ + "topology", + "chart", + "canvas" + ], + "license": "ISC", + "main": "index.js", + "name": "@topology/chart-diagram", + "peerDependencies": { + "@topology/core": "^0.3.0" + }, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/le5le-com/topology.git" + }, + "scripts": { + "build": "tsc && npm run copy", + "copy": "copyfiles package.json ../../dist/chart-diagram/" + }, + "types": "index.d.ts", + "version": "0.3.0" +} diff --git a/nezha-fronted/src/components/common/@topology/chart-diagram/src/echarts/index.d.ts b/nezha-fronted/src/components/common/@topology/chart-diagram/src/echarts/index.d.ts new file mode 100644 index 000000000..2aa54d5d2 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/chart-diagram/src/echarts/index.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare const echartsObjs: any; +export declare function echarts(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/chart-diagram/src/echarts/index.js b/nezha-fronted/src/components/common/@topology/chart-diagram/src/echarts/index.js new file mode 100644 index 000000000..244f32aad --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/chart-diagram/src/echarts/index.js @@ -0,0 +1,44 @@ +import { s8, createDiv, rectangle } from '@topology/core'; +export var echartsObjs = {}; +export function echarts(ctx, node) { + // 绘制一个底图,类似于占位符。 + rectangle(ctx, node); + // tslint:disable-next-line:no-shadowed-variable + var echarts = echartsObjs.echarts || window.echarts; + if (!node.data || !echarts) { + return; + } + if (typeof node.data === 'string') { + node.data = JSON.parse(node.data); + } + if (!node.data.echarts) { + return; + } + if (!node.elementId) { + node.elementId = s8(); + } + if (!node.elementLoaded) { + echartsObjs[node.id] = { + div: createDiv(node), + }; + node.elementLoaded = true; + document.body.appendChild(echartsObjs[node.id].div); + // 添加当前节点到div层 + node.addToDiv(); + echartsObjs[node.id].chart = echarts.init(echartsObjs[node.id].div, node.data.echarts.theme); + node.elementRendered = false; + // 等待父div先渲染完成,避免初始图表控件太大 + setTimeout(function () { + echartsObjs[node.id].chart.resize(); + }); + } + if (!node.elementRendered) { + // 初始化时,等待父div先渲染完成,避免初始图表控件太大。 + setTimeout(function () { + echartsObjs[node.id].chart.setOption(node.data.echarts.option); + echartsObjs[node.id].chart.resize(); + node.elementRendered = true; + }); + } +} +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/chart-diagram/src/echarts/index.js.map b/nezha-fronted/src/components/common/@topology/chart-diagram/src/echarts/index.js.map new file mode 100644 index 000000000..309265c7b --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/chart-diagram/src/echarts/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/chart-diagram/src/echarts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAQ,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,CAAC,IAAM,WAAW,GAAQ,EAAE,CAAC;AAEnC,MAAM,UAAU,OAAO,CAAC,GAA6B,EAAE,IAAU;IAC/D,iBAAiB;IACjB,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAErB,gDAAgD;IAChD,IAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAK,MAAc,CAAC,OAAO,CAAC;IAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;QAC1B,OAAO;KACR;IAED,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACnC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;QACtB,OAAO;KACR;IAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;QACnB,IAAI,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC;KACvB;IAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;QACvB,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;YACrB,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC;SACrB,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACpD,cAAc;QACd,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CACvC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CACxB,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE7B,yBAAyB;QACzB,UAAU,CAAC;YACT,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;QACzB,+BAA+B;QAC/B,UAAU,CAAC;YACT,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/D,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;KACJ;AACH,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/chart-diagram/src/register.d.ts b/nezha-fronted/src/components/common/@topology/chart-diagram/src/register.d.ts new file mode 100644 index 000000000..89904d135 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/chart-diagram/src/register.d.ts @@ -0,0 +1 @@ +export declare function register(_echarts?: any): void; diff --git a/nezha-fronted/src/components/common/@topology/chart-diagram/src/register.js b/nezha-fronted/src/components/common/@topology/chart-diagram/src/register.js new file mode 100644 index 000000000..0a31149cf --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/chart-diagram/src/register.js @@ -0,0 +1,10 @@ +import { registerNode, loadJS } from '@topology/core'; +import { echarts, echartsObjs } from './echarts'; +export function register(_echarts) { + echartsObjs.echarts = _echarts; + if (!echartsObjs.echarts && !window.echarts) { + loadJS('https://cdn.bootcdn.net/ajax/libs/echarts/4.8.0/echarts.min.js', null, true); + } + registerNode('echarts', echarts, null, null, null); +} +//# sourceMappingURL=register.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/chart-diagram/src/register.js.map b/nezha-fronted/src/components/common/@topology/chart-diagram/src/register.js.map new file mode 100644 index 000000000..68e6b3a5c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/chart-diagram/src/register.js.map @@ -0,0 +1 @@ +{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../packages/chart-diagram/src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,UAAU,QAAQ,CAAC,QAAc;IACrC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC/B,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAE,MAAc,CAAC,OAAO,EAAE;QACpD,MAAM,CACJ,gEAAgE,EAChE,IAAI,EACJ,IAAI,CACL,CAAC;KACH;IACD,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/index.d.ts b/nezha-fronted/src/components/common/@topology/class-diagram/index.d.ts new file mode 100644 index 000000000..bd76e8222 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/class-diagram/index.d.ts @@ -0,0 +1,2 @@ +export * from './src/class'; +export * from './src/register'; diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/index.js b/nezha-fronted/src/components/common/@topology/class-diagram/index.js new file mode 100644 index 000000000..b1c532976 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/class-diagram/index.js @@ -0,0 +1,3 @@ +export * from './src/class'; +export * from './src/register'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/index.js.map b/nezha-fronted/src/components/common/@topology/class-diagram/index.js.map new file mode 100644 index 000000000..d69407a93 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/class-diagram/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../packages/class-diagram/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/package.json b/nezha-fronted/src/components/common/@topology/class-diagram/package.json new file mode 100644 index 000000000..7023c2e24 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/class-diagram/package.json @@ -0,0 +1,64 @@ +{ + "_args": [ + [ + "@topology/class-diagram@0.3.0", + "D:\\a\\nezha-fronted\\nezha-fronted" + ] + ], + "_from": "@topology/class-diagram@0.3.0", + "_id": "@topology/class-diagram@0.3.0", + "_inBundle": false, + "_integrity": "sha512-J+qKEg/+3EyyZotP2TbZtM+NcOeRh2PIEwzBZGS6KOU5RvBi4NMRO2DQNN++q8Zpb7RG7WYGAaTB2H4+YcXJzA==", + "_location": "/@topology/class-diagram", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@topology/class-diagram@0.3.0", + "name": "@topology/class-diagram", + "escapedName": "@topology%2fclass-diagram", + "scope": "@topology", + "rawSpec": "0.3.0", + "saveSpec": null, + "fetchSpec": "0.3.0" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/@topology/class-diagram/-/class-diagram-0.3.0.tgz", + "_spec": "0.3.0", + "_where": "D:\\a\\nezha-fronted\\nezha-fronted", + "author": { + "name": "alsmile123@qq.com" + }, + "bugs": { + "url": "https://github.com/le5le-com/topology/issues" + }, + "description": "A class diagram tool using le5le-topology.", + "gitHead": "78f2a53ca1839c89b56e2e498d17ba4eb987ad14", + "homepage": "https://github.com/le5le-com/topology#readme", + "keywords": [ + "topology", + "class diagram", + "canvas" + ], + "license": "ISC", + "main": "index.js", + "name": "@topology/class-diagram", + "peerDependencies": { + "@topology/core": "^0.3.0" + }, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/le5le-com/topology.git" + }, + "scripts": { + "build": "tsc && npm run copy", + "copy": "copyfiles package.json ../../dist/class-diagram/" + }, + "types": "index.d.ts", + "version": "0.3.0" +} diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.d.ts b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.d.ts new file mode 100644 index 000000000..2f34e2b63 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare function simpleClass(ctx: CanvasRenderingContext2D, node: Node): void; +export declare function interfaceClass(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.js b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.js new file mode 100644 index 000000000..20eb982a7 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.js @@ -0,0 +1,56 @@ +export function simpleClass(ctx, node) { + var wr = node.borderRadius; + var hr = node.borderRadius; + if (node.borderRadius < 1) { + wr = node.rect.width * node.borderRadius; + hr = node.rect.height * node.borderRadius; + } + var r = wr < hr ? wr : hr; + if (node.rect.width < 2 * r) { + r = node.rect.width / 2; + } + if (node.rect.height < 2 * r) { + r = node.rect.height / 2; + } + ctx.beginPath(); + ctx.moveTo(node.rect.x + r, node.rect.y); + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r); + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r); + ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r); + ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r); + ctx.closePath(); + ctx.moveTo(node.rect.x, node.rect.y + 40); + ctx.lineTo(node.rect.ex, node.rect.y + 40); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +export function interfaceClass(ctx, node) { + var wr = node.borderRadius; + var hr = node.borderRadius; + if (node.borderRadius < 1) { + wr = node.rect.width * node.borderRadius; + hr = node.rect.height * node.borderRadius; + } + var r = wr < hr ? wr : hr; + if (node.rect.width < 2 * r) { + r = node.rect.width / 2; + } + if (node.rect.height < 2 * r) { + r = node.rect.height / 2; + } + ctx.beginPath(); + ctx.moveTo(node.rect.x + r, node.rect.y); + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r); + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r); + ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r); + ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r); + ctx.closePath(); + ctx.moveTo(node.rect.x, node.rect.y + 40); + ctx.lineTo(node.rect.ex, node.rect.y + 40); + var height = node.rect.y + 20 + node.rect.height / 2; + ctx.moveTo(node.rect.x, height); + ctx.lineTo(node.rect.ex, height); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=class.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.js.map b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.js.map new file mode 100644 index 000000000..a7711b3dd --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.js.map @@ -0,0 +1 @@ +{"version":3,"file":"class.js","sourceRoot":"","sources":["../../../../packages/class-diagram/src/class/class.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.rect.d.ts b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.rect.d.ts new file mode 100644 index 000000000..8b4a9352e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.rect.d.ts @@ -0,0 +1,5 @@ +import { Node } from '@topology/core'; +export declare function simpleClassIconRect(node: Node): void; +export declare function simpleClassTextRect(node: Node): void; +export declare function interfaceClassIconRect(node: Node): void; +export declare function interfaceClassTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.rect.js b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.rect.js new file mode 100644 index 000000000..30f01d7c1 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.rect.js @@ -0,0 +1,16 @@ +import { Rect } from '@topology/core'; +export function simpleClassIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function simpleClassTextRect(node) { + node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, 40); + node.fullTextRect = node.textRect; +} +export function interfaceClassIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function interfaceClassTextRect(node) { + node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, 40); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=class.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.rect.js.map b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.rect.js.map new file mode 100644 index 000000000..0d45d0a3d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"class.rect.js","sourceRoot":"","sources":["../../../../packages/class-diagram/src/class/class.rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,mBAAmB,CAAC,IAAU;IAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAU;IAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAU;IAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAU;IAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/src/class/index.d.ts b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/index.d.ts new file mode 100644 index 000000000..50e9c5444 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/index.d.ts @@ -0,0 +1,2 @@ +export * from './class'; +export * from './class.rect'; diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/src/class/index.js b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/index.js new file mode 100644 index 000000000..bf42da6d8 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/index.js @@ -0,0 +1,3 @@ +export * from './class'; +export * from './class.rect'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/src/class/index.js.map b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/index.js.map new file mode 100644 index 000000000..7f43317ae --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/class-diagram/src/class/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/src/register.d.ts b/nezha-fronted/src/components/common/@topology/class-diagram/src/register.d.ts new file mode 100644 index 000000000..bf35c08a1 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/class-diagram/src/register.d.ts @@ -0,0 +1 @@ +export declare function register(): void; diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/src/register.js b/nezha-fronted/src/components/common/@topology/class-diagram/src/register.js new file mode 100644 index 000000000..2cf4fda55 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/class-diagram/src/register.js @@ -0,0 +1,7 @@ +import { registerNode } from '@topology/core'; +import { simpleClass, simpleClassIconRect, simpleClassTextRect, interfaceClass, interfaceClassIconRect, interfaceClassTextRect } from './class'; +export function register() { + registerNode('simpleClass', simpleClass, null, simpleClassIconRect, simpleClassTextRect); + registerNode('interfaceClass', interfaceClass, null, interfaceClassIconRect, interfaceClassTextRect); +} +//# sourceMappingURL=register.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/src/register.js.map b/nezha-fronted/src/components/common/@topology/class-diagram/src/register.js.map new file mode 100644 index 000000000..c109b760f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/class-diagram/src/register.js.map @@ -0,0 +1 @@ +{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../packages/class-diagram/src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,WAAW,EAAE,mBAAmB,EAAE,mBAAmB,EACrD,cAAc,EAAE,sBAAsB,EAAE,sBAAsB,EAC/D,MAAM,SAAS,CAAC;AAEjB,MAAM,UAAU,QAAQ;IACtB,YAAY,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IACzF,YAAY,CAAC,gBAAgB,EAAE,cAAc,EAAE,IAAI,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;AACvG,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/index.d.ts b/nezha-fronted/src/components/common/@topology/core/index.d.ts new file mode 100644 index 000000000..a5d4779fa --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/index.d.ts @@ -0,0 +1,5 @@ +export * from './src/core'; +export * from './src/options'; +export * from './src/utils'; +export * from './src/models'; +export * from './src/middles'; diff --git a/nezha-fronted/src/components/common/@topology/core/index.js b/nezha-fronted/src/components/common/@topology/core/index.js new file mode 100644 index 000000000..2a5442982 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/index.js @@ -0,0 +1,6 @@ +export * from './src/core'; +export * from './src/options'; +export * from './src/utils'; +export * from './src/models'; +export * from './src/middles'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/index.js.map b/nezha-fronted/src/components/common/@topology/core/index.js.map new file mode 100644 index 000000000..47105b087 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../packages/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/package.json b/nezha-fronted/src/components/common/@topology/core/package.json new file mode 100644 index 000000000..da58e5305 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/package.json @@ -0,0 +1,66 @@ +{ + "_args": [ + [ + "@topology/core@0.5.33", + "D:\\a\\nezha-fronted\\nezha-fronted" + ] + ], + "_from": "@topology/core@0.5.33", + "_id": "@topology/core@0.5.33", + "_inBundle": false, + "_integrity": "sha1-aS5eoCUEDbrh/TGxl2rCXmdu8ww=", + "_location": "/@topology/core", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@topology/core@0.5.33", + "name": "@topology/core", + "escapedName": "@topology%2fcore", + "scope": "@topology", + "rawSpec": "0.5.33", + "saveSpec": null, + "fetchSpec": "0.5.33" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmmirror.com/@topology/core/download/@topology/core-0.5.33.tgz", + "_spec": "0.5.33", + "_where": "D:\\a\\nezha-fronted\\nezha-fronted", + "author": { + "name": "alsmile123@qq.com" + }, + "bugs": { + "url": "https://github.com/le5le-com/topology/issues" + }, + "dependencies": { + "le5le-store": "^1.0.7", + "mitt": "^2.1.0", + "mqtt": "^4.2.6" + }, + "description": "A diagram/topology tool by js.", + "gitHead": "78f2a53ca1839c89b56e2e498d17ba4eb987ad14", + "homepage": "https://github.com/le5le-com/topology#readme", + "keywords": [ + "topology", + "diagram", + "canvas" + ], + "license": "ISC", + "main": "index.js", + "name": "@topology/core", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/le5le-com/topology.git" + }, + "scripts": { + "build": "tsc && npm run copy", + "copy": "copyfiles package.json ../../dist/core/" + }, + "types": "index.d.ts", + "version": "0.5.33" +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/activeLayer.d.ts b/nezha-fronted/src/components/common/@topology/core/src/activeLayer.d.ts new file mode 100644 index 000000000..5e57ff8df --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/activeLayer.d.ts @@ -0,0 +1,60 @@ +import { Options } from './options'; +import { Pen } from './models/pen'; +import { Node } from './models/node'; +import { Line } from './models/line'; +import { Rect } from './models/rect'; +import { Point } from './models/point'; +import { Layer } from './layer'; +import { Topology } from './core'; +export declare class ActiveLayer extends Layer { + options: Options; + rotateCPs: Point[]; + sizeCPs: Point[]; + rect: Rect; + activeRect: Rect; + pens: Pen[]; + rotate: number; + lastOffsetX: number; + lastOffsetY: number; + initialSizeCPs: Point[]; + nodeRects: Rect[]; + childrenRects: { + [key: string]: Rect; + }; + childrenRotate: { + [key: string]: number; + }; + dockWatchers: Point[]; + topology: Topology; + rotating: boolean; + constructor(options: Options, TID: string); + calcControlPoints(): void; + locked(): boolean; + getPoints(): Point[]; + clear(): void; + saveNodeRects(): void; + private saveChildrenRects; + resize(type: number, pt1: { + x: number; + y: number; + }, pt2: { + x: number; + y: number; + ctrlKey?: boolean; + altKey?: boolean; + shiftKey?: boolean; + }): void; + move(x: number, y: number): void; + getLinesOfNode(node: Node): Line[]; + updateLines(pens?: Pen[]): void; + offsetRotate(angle: number): void; + rotateChildren(node: Pen): void; + updateRotate(): void; + add(pen: Pen): void; + setPens(pens: Pen[]): void; + has(pen: Pen): boolean; + hasInAll(pen: Pen, pens?: Pen[]): boolean; + render(ctx: CanvasRenderingContext2D): void; + calcActiveRect(): void; + getDockWatchers(): void; +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/activeLayer.js b/nezha-fronted/src/components/common/@topology/core/src/activeLayer.js new file mode 100644 index 000000000..f1d2c6fc3 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/activeLayer.js @@ -0,0 +1,743 @@ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +import { Store } from 'le5le-store'; +import { PenType } from './models/pen'; +import { Node } from './models/node'; +import { Line } from './models/line'; +import { Rect } from './models/rect'; +import { Point } from './models/point'; +import { Lock } from './models/status'; +import { drawLineFns } from './middles'; +import { getBezierPoint } from './middles/lines/curve'; +import { Layer } from './layer'; +import { find, flatNodes, getBboxOfPoints, rgba, deepClone, getRect } from './utils'; +var ActiveLayer = /** @class */ (function (_super) { + __extends(ActiveLayer, _super); + function ActiveLayer(options, TID) { + if (options === void 0) { options = {}; } + var _this = _super.call(this, TID) || this; + _this.options = options; + _this.rotateCPs = []; + _this.sizeCPs = []; + _this.pens = []; + _this.rotate = 0; + _this.lastOffsetX = 0; + _this.lastOffsetY = 0; + // 备份初始位置,方便移动事件处理 + _this.initialSizeCPs = []; + _this.nodeRects = []; + _this.childrenRects = {}; + _this.childrenRotate = {}; + // nodes移动时,停靠点的参考位置 + _this.dockWatchers = []; + _this.rotating = false; + Store.set(_this.generateStoreKey('LT:ActiveLayer'), _this); + return _this; + } + ActiveLayer.prototype.calcControlPoints = function () { + if (this.pens.length === 1 && this.pens[0] instanceof Node) { + this.rect = this.pens[0].rect; + this.sizeCPs = this.pens[0].rect.toPoints(); + this.rotateCPs = [ + new Point(this.pens[0].rect.x + this.pens[0].rect.width / 2, this.pens[0].rect.y - 35), + new Point(this.pens[0].rect.x + this.pens[0].rect.width / 2, this.pens[0].rect.y), + ]; + if (this.rotate || this.pens[0].rotate) { + for (var _i = 0, _a = this.sizeCPs; _i < _a.length; _i++) { + var pt = _a[_i]; + if (this.pens[0].rotate) { + pt.rotate(this.pens[0].rotate, this.pens[0].rect.center); + } + if (this.rotate) { + pt.rotate(this.rotate, this.rect.center); + } + } + for (var _b = 0, _c = this.rotateCPs; _b < _c.length; _b++) { + var pt = _c[_b]; + if (this.pens[0].rotate) { + pt.rotate(this.pens[0].rotate, this.pens[0].rect.center); + } + if (this.rotate) { + pt.rotate(this.rotate, this.rect.center); + } + } + } + if (this.options.hideRotateCP || this.pens[0].hideRotateCP) { + this.rotateCPs = [new Point(-1000, -1000), new Point(-1000, -1000)]; + } + return; + } + var _d = getBboxOfPoints(this.getPoints()), x1 = _d.x1, y1 = _d.y1, x2 = _d.x2, y2 = _d.y2; + this.rect = new Rect(x1, y1, x2 - x1, y2 - y1); + this.sizeCPs = [ + new Point(x1, y1), + new Point(x2, y1), + new Point(x2, y2), + new Point(x1, y2), + ]; + this.rotateCPs = [ + new Point(x1 + (x2 - x1) / 2, y1 - 35), + new Point(x1 + (x2 - x1) / 2, y1), + ]; + if (this.options.hideRotateCP) { + this.rotateCPs = [new Point(-1000, -1000), new Point(-1000, -1000)]; + } + }; + ActiveLayer.prototype.locked = function () { + for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { + var item = _a[_i]; + if (!item.locked) { + return false; + } + } + return true; + }; + ActiveLayer.prototype.getPoints = function () { + var points = []; + for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { + var item = _a[_i]; + if (item.type === PenType.Node) { + var pts = item.rect.toPoints(); + if (item.rotate) { + for (var _b = 0, pts_1 = pts; _b < pts_1.length; _b++) { + var pt = pts_1[_b]; + pt.rotate(item.rotate, item.rect.center); + } + } + points.push.apply(points, pts); + } + else if (item instanceof Line) { + if (item.children) { + item.children.forEach(function (child) { + points.push(child.from); + points.push(child.to); + if (child.name === 'curve') { + for (var i = 0.01; i < 1; i += 0.02) { + points.push(getBezierPoint(i, child.from, child.controlPoints[0], child.controlPoints[1], child.to)); + } + } + }); + } + else if (item.from) { + points.push(item.from); + points.push(item.to); + if (item.name === 'curve') { + for (var i = 0.01; i < 1; i += 0.02) { + points.push(getBezierPoint(i, item.from, item.controlPoints[0], item.controlPoints[1], item.to)); + } + } + } + } + } + return points; + }; + ActiveLayer.prototype.clear = function () { + this.pens = []; + this.sizeCPs = []; + this.rotateCPs = []; + Store.set(this.generateStoreKey('LT:activeNode'), undefined); + }; + // 即将缩放选中的nodes,备份nodes最初大小,方便缩放比例计算 + ActiveLayer.prototype.saveNodeRects = function () { + this.nodeRects = []; + this.childrenRects = {}; + for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { + var item = _a[_i]; + if (item.type && item.from) { + this.nodeRects.push(new Rect(item.from.x, item.from.y, item.rect.width, item.rect.height)); + } + else { + this.nodeRects.push(new Rect(item.rect.x, item.rect.y, item.rect.width, item.rect.height)); + } + this.saveChildrenRects(item); + } + this.initialSizeCPs = []; + for (var _b = 0, _c = this.sizeCPs; _b < _c.length; _b++) { + var item = _c[_b]; + this.initialSizeCPs.push(item.clone()); + } + this.getDockWatchers(); + }; + ActiveLayer.prototype.saveChildrenRects = function (node) { + if (node.type || !node.children) { + return; + } + for (var _i = 0, _a = node.children; _i < _a.length; _i++) { + var item = _a[_i]; + this.childrenRects[item.id] = new Rect(item.rect.x, item.rect.y, item.rect.width, item.rect.height); + this.childrenRotate[item.id] = item.rotate; + this.saveChildrenRects(item); + } + }; + // pt1 - the point of mouse down. + // pt2 - the point of mouse move. + ActiveLayer.prototype.resize = function (type, pt1, pt2) { + var p1 = new Point(pt1.x, pt1.y); + var p2 = new Point(pt2.x, pt2.y); + if (this.pens.length === 1 && this.pens[0].rotate % 360) { + p1.rotate(-this.pens[0].rotate, this.nodeRects[0].center); + p2.rotate(-this.pens[0].rotate, this.nodeRects[0].center); + } + var x = p2.x - p1.x; + var y = p2.y - p1.y; + var offsetX = x - this.lastOffsetX; + var offsetY = y - this.lastOffsetY; + this.lastOffsetX = x; + this.lastOffsetY = y; + var w = this.activeRect.width; + var h = this.activeRect.height; + if (pt2.shiftKey) { + offsetY = (offsetX * h) / w; + } + // const lines: Line[] = []; + switch (type) { + case 0: + if (this.activeRect.width - offsetX < 5 || this.activeRect.height - offsetY < 5) { + return; + } + if (!pt2.shiftKey) { + // offsetX = -offsetX; + // offsetY = -offsetY; + this.activeRect.x += offsetX; + this.activeRect.y += offsetY; + this.activeRect.width -= offsetX; + this.activeRect.height -= offsetY; + } + else { + offsetX = -offsetX; + offsetY = -offsetY; + this.activeRect.ex += offsetX; + this.activeRect.ey += offsetY; + this.activeRect.width += offsetX; + this.activeRect.height += offsetY; + } + break; + case 1: + // offsetY = -offsetY; + if (this.activeRect.width + offsetX < 5 || this.activeRect.height - offsetY < 5) { + return; + } + if (!pt2.shiftKey) { + this.activeRect.ex += offsetX; + this.activeRect.y += offsetY; + this.activeRect.width += offsetX; + this.activeRect.height -= offsetY; + } + else { + // offsetX = -offsetX; + // offsetY = -offsetY; + this.activeRect.ex += offsetX; + this.activeRect.ey += offsetY; + this.activeRect.width += offsetX; + this.activeRect.height += offsetY; + } + break; + case 2: + if (this.activeRect.width + offsetX < 5 || this.activeRect.height + offsetY < 5) { + return; + } + this.activeRect.ex += offsetX; + this.activeRect.ey += offsetY; + this.activeRect.width += offsetX; + this.activeRect.height += offsetY; + break; + case 3: + // offsetX = -offsetX; + if (this.activeRect.width - offsetX < 5 || this.activeRect.height + offsetY < 5) { + return; + } + if (!pt2.shiftKey) { + this.activeRect.x += offsetX; + this.activeRect.ey += offsetY; + this.activeRect.width -= offsetX; + this.activeRect.height += offsetY; + } + else { + offsetX = -offsetX; + offsetY = -offsetY; + this.activeRect.ex += offsetX; + this.activeRect.ey += offsetY; + this.activeRect.width += offsetX; + this.activeRect.height += offsetY; + } + break; + } + var scaleX = this.activeRect.width / w; + var scaleY = this.activeRect.height / h; + // let i = 0; + for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { + var item = _a[_i]; + if (item.locked) { + continue; + } + switch (item.type) { + case PenType.Line: + break; + default: + item['oldRect'] = item.rect.clone(); + if (!this.options.disableSizeX && + !pt2.ctrlKey && + !item.disableSizeX) { + // item.rect.width = this.nodeRects[i].width + offsetX; + item.rect.width *= scaleX; + if (item.imageWidth) { + item.imageWidth *= scaleX; + } + } + if (!this.options.disableSizeY && + !pt2.altKey && + !item.disableSizeY) { + // item.rect.height = this.nodeRects[i].height + offsetY; + item.rect.height *= scaleY; + if (item.imageHeight) { + item.imageHeight *= scaleY; + } + } + if ((!this.options.disableSizeX && + pt2.shiftKey && + !item.disableSizeX) || + (!this.options.disableSizeY && + pt2.shiftKey && + !item.disableSizeY)) { + // item.rect.width = this.nodeRects[i].width + offsetX; + // item.rect.height = this.nodeRects[i].height + offsetY; + item.rect.width *= scaleX; + item.rect.height *= scaleY; + if (item.imageWidth) { + item.imageWidth *= scaleX; + } + if (item.imageHeight) { + item.imageHeight *= scaleY; + } + } + switch (type) { + case 0: + item.rect.x = item.rect.ex - item.rect.width; + item.rect.y = item.rect.ey - item.rect.height; + break; + case 1: + item.rect.ex = item.rect.x + item.rect.width; + item.rect.y = item.rect.ey - item.rect.height; + break; + case 2: + item.rect.ex = item.rect.x + item.rect.width; + item.rect.ey = item.rect.y + item.rect.height; + break; + case 3: + item.rect.x = item.rect.ex - item.rect.width; + item.rect.ey = item.rect.y + item.rect.height; + break; + } + item.scalePoints(); + item.rect.calcCenter(); + item.init(); + item.calcChildrenRect(); + break; + } + if (item.parentId) { + var parent_1 = void 0; + for (var _b = 0, _c = this.data.pens; _b < _c.length; _b++) { + var n = _c[_b]; + if (n.id === item.parentId) { + parent_1 = n; + item.calcRectInParent(parent_1); + break; + } + } + } + // ++i; + } + this.updateLines(); + }; + ActiveLayer.prototype.move = function (x, y) { + if (this.nodeRects.length !== this.pens.length) { + return; + } + var i = 0; + var _loop_1 = function (item) { + if (item.locked) { + return "continue"; + } + if (item instanceof Node) { + var offsetX = this_1.nodeRects[i].x + x - item.rect.x; + var offsetY = this_1.nodeRects[i].y + y - item.rect.y; + item.translate(offsetX, offsetY); + var lines = this_1.getLinesOfNode(item); + for (var _i = 0, lines_1 = lines; _i < lines_1.length; _i++) { + var line = lines_1[_i]; + line.translate(offsetX, offsetY); + } + item.calcChildrenRect(); + if (item.parentId && !item.locked) { + var parent_2 = void 0; + for (var _a = 0, _b = this_1.data.pens; _a < _b.length; _a++) { + var n = _b[_a]; + if (n.id === item.parentId) { + parent_2 = n; + item.calcRectInParent(parent_2); + break; + } + } + } + } + if (item instanceof Line && item.from) { + var offsetX_1 = this_1.nodeRects[i].x + x - item.from.x; + var offsetY_1 = this_1.nodeRects[i].y + y - item.from.y; + if (item.parentId) { + var items = find(item.parentId, this_1.data.pens); + items.forEach(function (l) { + l.translate(offsetX_1, offsetY_1); + }); + } + else { + item.translate(offsetX_1, offsetY_1); + } + } + ++i; + }; + var this_1 = this; + for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { + var item = _a[_i]; + _loop_1(item); + } + this.updateLines(); + this.topology.dispatch('move', this.pens); + }; + ActiveLayer.prototype.getLinesOfNode = function (node) { + var result = []; + var nodesLines = flatNodes([node]); + for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) { + var pen = _a[_i]; + if (!(pen instanceof Line)) { + continue; + } + var line = pen; + var fromIn = false; + var toIn = false; + for (var _b = 0, _c = nodesLines.nodes; _b < _c.length; _b++) { + var item = _c[_b]; + if (line.from && line.from.id === item.id) { + fromIn = true; + } + if (line.to && line.to.id === item.id) { + toIn = true; + } + } + if (fromIn && toIn) { + result.push(line); + } + } + return result; + }; + ActiveLayer.prototype.updateLines = function (pens) { + if (!pens) { + pens = this.pens; + } + var allPens = flatNodes(this.data.pens); + var allLines = allPens.lines; + var nodes = allPens.nodes; + if (!this.options.autoAnchor) { // 非自动瞄点,只要活动层的 nodes + nodes = flatNodes(pens).nodes; + } + var lines = []; + for (var _i = 0, allLines_1 = allLines; _i < allLines_1.length; _i++) { + var line = allLines_1[_i]; + for (var _a = 0, nodes_1 = nodes; _a < nodes_1.length; _a++) { + var item = nodes_1[_a]; + var cnt = 0; + if (line.from && line.from.id === item.id) { + if (line.from.autoAnchor) { + var autoAnchor = item.nearestAnchor(line.to); + if (autoAnchor.index > -1) { + line.from.anchorIndex = autoAnchor.index; + line.from.direction = autoAnchor.direction; + } + } + if (line.from.anchorIndex >= 0) { + line.from.x = item.rotatedAnchors[line.from.anchorIndex].x; + line.from.y = item.rotatedAnchors[line.from.anchorIndex].y; + ++cnt; + } + } + if (line.to && line.to.id === item.id) { + if (line.to.autoAnchor) { + var autoAnchor = item.nearestAnchor(line.from); + if (autoAnchor.index > -1) { + line.to.anchorIndex = autoAnchor.index; + line.to.direction = autoAnchor.direction; + } + } + if (line.to.anchorIndex >= 0) { + line.to.x = item.rotatedAnchors[line.to.anchorIndex].x; + line.to.y = item.rotatedAnchors[line.to.anchorIndex].y; + ++cnt; + } + } + if (cnt && !this.data.manualCps) { + line.calcControlPoints(); + } + line.textRect = undefined; + Store.set(this.generateStoreKey('pts-') + line.id, undefined); + lines.push(line); + } + } + Store.set(this.generateStoreKey('LT:updateLines'), lines); + }; + ActiveLayer.prototype.offsetRotate = function (angle) { + this.rotating = true; + var i = 0; + for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { + var item = _a[_i]; + if (!(item instanceof Node)) { + continue; + } + var center = this.nodeRects[i].center.clone(); + if (this.pens.length > 1) { + center.rotate(angle, this.rect.center); + } + item.rect.x = center.x - item.rect.width / 2; + item.rect.y = center.y - item.rect.height / 2; + item.rect.ex = item.rect.x + item.rect.width; + item.rect.ey = item.rect.y + item.rect.height; + item.rect.calcCenter(); + item.init(); + item.offsetRotate = angle; + item.calcRotateAnchors(item.rotate + item.offsetRotate); + this.rotateChildren(item); + ++i; + } + this.rotate = angle; + this.topology.dispatch('rotated', this.pens); + }; + ActiveLayer.prototype.rotateChildren = function (node) { + if (node.type !== PenType.Node || !node.children) { + return; + } + for (var _i = 0, _a = node.children; _i < _a.length; _i++) { + var item = _a[_i]; + if (item.type !== PenType.Node) { + continue; + } + var oldCenter = this.childrenRects[item.id].center.clone(); + var newCenter = this.childrenRects[item.id].center + .clone() + .rotate(this.rotate, this.rect.center); + var rect = this.childrenRects[item.id].clone(); + rect.translate(newCenter.x - oldCenter.x, newCenter.y - oldCenter.y); + item.rect = rect; + item.rotate = this.childrenRotate[item.id] + this.rotate; + item.init(); + this.rotateChildren(item); + } + }; + ActiveLayer.prototype.updateRotate = function () { + for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { + var item = _a[_i]; + item.rotate += item.offsetRotate; + if (item.type === PenType.Node && item.rectInParent) { + item.rectInParent.rotate += item.offsetRotate; + } + item.offsetRotate = 0; + } + this.rotate = 0; + this.rotating = false; + }; + ActiveLayer.prototype.add = function (pen) { + if (this.has(pen)) { + return; + } + this.pens.push(pen); + if (pen instanceof Node) { + Store.set(this.generateStoreKey('LT:activeNode'), pen); + } + }; + ActiveLayer.prototype.setPens = function (pens) { + this.pens = pens; + if (this.pens.length === 1 && this.pens[0] instanceof Node) { + Store.set(this.generateStoreKey('LT:activeNode'), this.pens[0]); + } + }; + ActiveLayer.prototype.has = function (pen) { + for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { + var item = _a[_i]; + if (item.id === pen.id) { + return true; + } + } + return false; + }; + ActiveLayer.prototype.hasInAll = function (pen, pens) { + if (!pens) { + pens = this.pens; + } + for (var _i = 0, pens_1 = pens; _i < pens_1.length; _i++) { + var item = pens_1[_i]; + if (item.id === pen.id) { + return true; + } + if (item.children) { + var has = this.hasInAll(pen, item.children); + if (has) { + return true; + } + } + } + return false; + }; + ActiveLayer.prototype.render = function (ctx) { + var _this = this; + if (this.data.locked > Lock.Readonly || + this.options.activeColor === 'transparent') { + return; + } + if (!this.pens.length) { + return; + } + this.pens.forEach(function (pen) { + if (!pen.getTID()) { + pen.setTID(_this.TID); + } + }); + if (this.pens.length === 1 || !this.rotating) { + this.calcControlPoints(); + } + ctx.save(); + ctx.strokeStyle = this.options.activeColor; + ctx.fillStyle = '#fff'; + ctx.lineWidth = 1; + var TID = this.TID; + var scale = Store.get(this.generateStoreKey('LT:scale')) || 1; + for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { + var item = _a[_i]; + if (this.data.locked && item instanceof Node) { + var tmp = new Node(item); + tmp.setTID(TID); + tmp.data = undefined; + tmp.fillStyle = undefined; + tmp.bkType = 0; + tmp.icon = ''; + tmp.image = ''; + tmp.text = ''; + if (tmp.strokeStyle !== 'transparent') { + tmp.strokeStyle = '#ffffff'; + tmp.lineWidth += 2; + tmp.render(ctx); + tmp.strokeStyle = this.options.activeColor; + tmp.lineWidth -= 2; + } + tmp.render(ctx); + } + if (item instanceof Line) { + var tmp = new Line(item); + tmp.lineWidth *= 2; + tmp.toArrowSize = + (tmp.toArrowSize * scale - 1.5 * tmp.lineWidth) / scale; + tmp.fromArrowSize = + (tmp.fromArrowSize * scale - 1.5 * tmp.lineWidth) / scale; + tmp.setTID(TID); + tmp.strokeStyle = rgba(0.2, this.options.activeColor); + tmp.borderWidth = 4; + tmp.borderColor = rgba(0.1, this.options.activeColor); + tmp.fromArrowColor = this.options.activeColor; + tmp.toArrowColor = this.options.activeColor; + tmp.render(ctx); + if (!this.data.locked && !item.locked) { + drawLineFns[item.name] && + drawLineFns[item.name].drawControlPointsFn(ctx, item); + } + } + } + if (this.pens.length === 1 && this.pens[0].type === PenType.Line) { + ctx.restore(); // 对应前面的 save() , 保持状态一致 + return; + } + // This is diffence between single node and more. + if (this.rotate && this.pens.length > 1) { + ctx.translate(this.rect.center.x, this.rect.center.y); + ctx.rotate((this.rotate * Math.PI) / 180); + ctx.translate(-this.rect.center.x, -this.rect.center.y); + } + if (this.data.locked || this.locked()) { + ctx.restore(); + return; + } + // Occupied territory. + ctx.save(); + ctx.globalAlpha = 0.3; + ctx.translate(0.5, 0.5); + ctx.beginPath(); + ctx.moveTo(this.sizeCPs[0].x, this.sizeCPs[0].y); + ctx.lineTo(this.sizeCPs[1].x, this.sizeCPs[1].y); + ctx.lineTo(this.sizeCPs[2].x, this.sizeCPs[2].y); + ctx.lineTo(this.sizeCPs[3].x, this.sizeCPs[3].y); + ctx.closePath(); + ctx.stroke(); + ctx.restore(); + // Draw rotate control point. + ctx.beginPath(); + ctx.moveTo(this.rotateCPs[0].x, this.rotateCPs[0].y); + ctx.lineTo(this.rotateCPs[1].x, this.rotateCPs[1].y); + ctx.stroke(); + ctx.beginPath(); + ctx.arc(this.rotateCPs[0].x, this.rotateCPs[0].y, 5, 0, Math.PI * 2); + ctx.fill(); + ctx.stroke(); + // Draw size control points. + if (!this.options.hideSizeCP && + (this.pens.length > 1 || !this.pens[0].hideSizeCP)) { + ctx.lineWidth = 1; + for (var _b = 0, _c = this.sizeCPs; _b < _c.length; _b++) { + var item = _c[_b]; + ctx.save(); + ctx.beginPath(); + if (this.pens.length === 1 && (this.pens[0].rotate || this.rotate)) { + ctx.translate(item.x, item.y); + ctx.rotate(((this.pens[0].rotate + this.rotate) * Math.PI) / 180); + ctx.translate(-item.x, -item.y); + } + ctx.fillRect(item.x - 4.5, item.y - 4.5, 8, 8); + ctx.strokeRect(item.x - 5.5, item.y - 5.5, 10, 10); + ctx.restore(); + } + } + ctx.restore(); + }; + ActiveLayer.prototype.calcActiveRect = function () { + if (this.pens.length === 1) { + if (this.pens[0].rect.height === 0) { + // 处理直线这种高度为0的情况 + this.pens[0].rect.height = 1; + } + this.activeRect = deepClone(this.pens[0].rect); + } + else { + this.activeRect = getRect(this.pens); + } + }; + ActiveLayer.prototype.getDockWatchers = function () { + if (this.pens.length === 1) { + this.dockWatchers = this.nodeRects[0].toPoints(); + this.dockWatchers.unshift(this.nodeRects[0].center); + return; + } + if (!this.rect) { + return; + } + this.dockWatchers = this.rect.toPoints(); + this.dockWatchers.unshift(this.rect.center); + }; + return ActiveLayer; +}(Layer)); +export { ActiveLayer }; +//# sourceMappingURL=activeLayer.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/activeLayer.js.map b/nezha-fronted/src/components/common/@topology/core/src/activeLayer.js.map new file mode 100644 index 000000000..b74d57ad3 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/activeLayer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"activeLayer.js","sourceRoot":"","sources":["../../../packages/core/src/activeLayer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/animateLayer.d.ts b/nezha-fronted/src/components/common/@topology/core/src/animateLayer.d.ts new file mode 100644 index 000000000..715d91e2a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/animateLayer.d.ts @@ -0,0 +1,21 @@ +import { Pen } from './models/pen'; +import { Line } from './models/line'; +import { Options } from './options'; +import { Layer } from './layer'; +export declare class AnimateLayer extends Layer { + options: Options; + pens: Map; + private timer; + private lastNow; + private subscribeUpdate; + private subscribePlay; + constructor(options: Options, TID: string); + getAnimateLine(item: Pen): Line; + findLine(pen: Pen): Pen; + readyPlay(tag?: string, auto?: boolean, pens?: Pen[]): void; + animate(): void; + updateLines(lines: Line[]): void; + render(ctx: CanvasRenderingContext2D): void; + stop(): void; + destroy(): void; +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/animateLayer.js b/nezha-fronted/src/components/common/@topology/core/src/animateLayer.js new file mode 100644 index 000000000..898622cd4 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/animateLayer.js @@ -0,0 +1,264 @@ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +import { Store } from 'le5le-store'; +import { PenType } from './models/pen'; +import { Node } from './models/node'; +import { Line } from './models/line'; +import { Layer } from './layer'; +import { s8 } from './utils/uuid'; +import { find } from './utils/canvas'; +var AnimateLayer = /** @class */ (function (_super) { + __extends(AnimateLayer, _super); + function AnimateLayer(options, TID) { + if (options === void 0) { options = {}; } + var _this = _super.call(this, TID) || this; + _this.options = options; + _this.pens = new Map(); + _this.lastNow = 0; + Store.set(_this.generateStoreKey('LT:AnimateLayer'), _this); + if (!_this.options.animateColor) { + _this.options.animateColor = '#ff6600'; + } + _this.subscribeUpdate = Store.subscribe(_this.generateStoreKey('LT:updateLines'), function (lines) { + _this.updateLines(lines); + }); + _this.subscribePlay = Store.subscribe(_this.generateStoreKey('LT:AnimatePlay'), function (params) { + if (params.stop) { + if (params.tag) { + var pens = find(params.tag, _this.data.pens); + pens.forEach(function (item) { + if (_this.pens.has(item.id)) { + _this.pens.get(item.id).animateStart = 0; + } + }); + } + if (params.pen && _this.pens.has(params.pen.id)) { + _this.pens.get(params.pen.id).animateStart = 0; + } + } + else { + if (params.pen) { + if (_this.pens.has(params.pen.id)) { + _this.pens.get(params.pen.id).animateStart = Date.now(); + } + else { + if (params.pen.type) { + _this.pens.set(params.pen.id, _this.getAnimateLine(params.pen)); + } + else { + _this.pens.set(params.pen.id, params.pen); + } + } + } + if (params.tag) { + _this.readyPlay(params.tag, false); + } + } + _this.animate(); + }); + return _this; + } + AnimateLayer.prototype.getAnimateLine = function (item) { + var l = new Line(item); + l.data = l.id; + l.id = s8(); + l.setTID(this.TID); + l.isAnimate = true; + l.toArrow = ''; + if (l.fromArrow && l.fromArrow.indexOf('line') < 0) { + l.animateFromSize = l.fromArrowSize + l.lineWidth * 5; + } + if (l.toArrow && l.toArrow.indexOf('line') < 0) { + l.animateToSize = l.toArrowSize + l.lineWidth * 5; + } + l.animateStart = item.animateStart; + l.lineCap = 'round'; + l.fillStyle = '#fff'; + l.strokeStyle = l.animateColor || this.options.animateColor; + l.length = l.getLen(); + if (!l.fromArrowColor) { + l.fromArrowColor = l.strokeStyle || Store.get(this.generateStoreKey('LT:color')); + } + if (!l.toArrowColor) { + l.toArrowColor = l.strokeStyle || Store.get(this.generateStoreKey('LT:color')); + } + return l; + }; + AnimateLayer.prototype.findLine = function (pen) { + for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) { + var item = _a[_i]; + if (item.id === pen.data) { + return item; + } + } + }; + AnimateLayer.prototype.readyPlay = function (tag, auto, pens) { + var _this = this; + var readyPens = new Map(); + if (!pens) { + pens = this.data.pens; + } + pens.forEach(function (pen) { + pen.setTID(_this.TID); + if (!pen.visible || readyPens.get(pen.id)) { + return; + } + if ((auto && pen.animatePlay) || (tag && pen.tags.indexOf(tag) > -1)) { + if (!pen.animateStart || pen.animateStart < 1) { + pen.animateStart = Date.now(); + } + } + if (pen instanceof Node) { + if (pen.animateStart > 0) { + if (!pen.animateReady) { + pen.initAnimate(); + } + readyPens.set(pen.id, pen); + } + if (pen.children && pen.children.length) { + _this.readyPlay(tag, auto, pen.children); + } + } + else { + if (pen.animateStart > 0) { + readyPens.set(pen.id, _this.getAnimateLine(pen)); + } + else if (_this.pens.has(pen.id)) { + _this.pens.get(pen.id).animateStart = 0; + } + } + }); + readyPens.forEach(function (pen) { + if (pen.type) { + _this.pens.set(pen.data, pen); + } + else { + _this.pens.set(pen.id, pen); + } + }); + }; + AnimateLayer.prototype.animate = function () { + var _this = this; + if (this.timer) { + cancelAnimationFrame(this.timer); + } + this.timer = requestAnimationFrame(function () { + var now = Date.now(); + if (now - _this.lastNow < _this.options.refresh) { + _this.animate(); + return; + } + _this.lastNow = now; + var animated = false; + _this.pens.forEach(function (pen) { + if (!pen.animateStart || pen.animateStart < 1) { + if (pen.type) { + _this.pens.delete(pen.data); + var line = _this.findLine(pen); + if (line) { + line.animateStart = 0; + line.animatePos = pen.animatePos; + } + } + else { + _this.pens.delete(pen.id); + } + return; + } + if (pen.animateStart > now) { + return; + } + if (pen.animateFn) { + if (typeof pen.animateFn === 'function') { + pen.animateFn(); + } + else if (window && window[pen.animateFn]) { + window[pen.animateFn](); + } + else { + // pen.render(); + } + } + else { + pen.animate(now); + } + if (pen.animateStart < 1) { + if (pen.type) { + _this.pens.delete(pen.data); + } + else { + _this.pens.delete(pen.id); + } + if (pen.type === PenType.Line) { + var line = _this.findLine(pen); + if (line) { + line.animateStart = 0; + line.animatePos = pen.animatePos; + } + } + if (pen.nextAnimate) { + _this.readyPlay(pen.nextAnimate, false); + } + } + animated = true; + }); + if (animated) { + Store.set(_this.generateStoreKey('LT:render'), true); + _this.animate(); + } + }); + }; + AnimateLayer.prototype.updateLines = function (lines) { + this.pens.forEach(function (line, key) { + if (!(line instanceof Line)) { + return; + } + for (var _i = 0, lines_1 = lines; _i < lines_1.length; _i++) { + var item = lines_1[_i]; + if (line.data === item.id) { + line.from = item.from; + line.to = item.to; + line.controlPoints = item.controlPoints; + line.length = line.getLen(); + } + } + }); + }; + AnimateLayer.prototype.render = function (ctx) { + var _this = this; + this.pens.forEach(function (line, key) { + if (line.visible && line instanceof Line) { + if (!line.getTID()) { + line.setTID(_this.TID); + } + line.render(ctx); + } + }); + }; + AnimateLayer.prototype.stop = function () { + this.pens.clear(); + if (this.timer) { + cancelAnimationFrame(this.timer); + this.timer = null; + } + }; + AnimateLayer.prototype.destroy = function () { + this.stop(); + this.subscribeUpdate.unsubscribe(); + this.subscribePlay.unsubscribe(); + }; + return AnimateLayer; +}(Layer)); +export { AnimateLayer }; +//# sourceMappingURL=animateLayer.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/animateLayer.js.map b/nezha-fronted/src/components/common/@topology/core/src/animateLayer.js.map new file mode 100644 index 000000000..e7861d628 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/animateLayer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"animateLayer.js","sourceRoot":"","sources":["../../../packages/core/src/animateLayer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/canvas.d.ts b/nezha-fronted/src/components/common/@topology/core/src/canvas.d.ts new file mode 100644 index 000000000..627064bf0 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/canvas.d.ts @@ -0,0 +1,22 @@ +import { Observer } from 'le5le-store'; +import { TopologyData } from './models/data'; +import { Options } from './options'; +import { Layer } from './layer'; +export declare class Canvas extends Layer { + parentElem: HTMLElement; + options: Options; + static dpiRatio: number; + protected data: TopologyData; + canvas: HTMLCanvasElement; + width: number; + height: number; + subcribe: Observer; + constructor(parentElem: HTMLElement, options: Options, TID: string); + resize(size?: { + width: number; + height: number; + }): void; + render(): void; + getDpiRatio(): number; + destroy(): void; +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/canvas.js b/nezha-fronted/src/components/common/@topology/core/src/canvas.js new file mode 100644 index 000000000..e1d5c78cd --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/canvas.js @@ -0,0 +1,89 @@ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +import { Store } from 'le5le-store'; +import { Layer } from './layer'; +var Canvas = /** @class */ (function (_super) { + __extends(Canvas, _super); + function Canvas(parentElem, options, TID) { + if (options === void 0) { options = {}; } + var _this = _super.call(this, TID) || this; + _this.parentElem = parentElem; + _this.options = options; + _this.canvas = document.createElement('canvas'); + _this.width = 0; + _this.height = 0; + _this.subcribe = Store.subscribe(_this.generateStoreKey('topology-data'), function (val) { + _this.data = val; + }); + _this.canvas.style.position = 'absolute'; + _this.canvas.style.left = '0'; + _this.canvas.style.top = '0'; + _this.canvas.style.outline = 'none'; + if (!Canvas.dpiRatio) { + if (!options.extDpiRatio && options.extDpiRatio !== 0) { + if (window && window.devicePixelRatio > 1) { + options.extDpiRatio = 0.25; + } + else { + options.extDpiRatio = 0; + } + } + Canvas.dpiRatio = (window ? window.devicePixelRatio : 0) + options.extDpiRatio; + if (Canvas.dpiRatio < 1) { + Canvas.dpiRatio = 1; + } + } + return _this; + } + Canvas.prototype.resize = function (size) { + if (size) { + this.width = size.width | 0; + this.height = size.height | 0; + } + else { + if (this.options.width && this.options.width !== 'auto') { + this.width = +this.options.width; + } + else { + this.width = this.parentElem.clientWidth; + } + if (this.options.height && this.options.height !== 'auto') { + this.height = +this.options.height; + } + else { + this.height = this.parentElem.clientHeight; + } + } + this.canvas.style.width = this.width + 'px'; + this.canvas.style.height = this.height + 'px'; + this.canvas.width = (this.width * Canvas.dpiRatio) | 0; + this.canvas.height = (this.height * Canvas.dpiRatio) | 0; + this.canvas.getContext('2d').scale(Canvas.dpiRatio, Canvas.dpiRatio); + Store.set(this.generateStoreKey('LT:size'), { width: this.canvas.width, height: this.canvas.height }); + }; + Canvas.prototype.render = function () { + var ctx = this.canvas.getContext('2d'); + ctx.clearRect(0, 0, this.canvas.width, this.canvas.height); + }; + Canvas.prototype.getDpiRatio = function () { + return Canvas.dpiRatio; + }; + Canvas.prototype.destroy = function () { + this.subcribe.unsubscribe(); + }; + Canvas.dpiRatio = 0; + return Canvas; +}(Layer)); +export { Canvas }; +//# sourceMappingURL=canvas.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/canvas.js.map b/nezha-fronted/src/components/common/@topology/core/src/canvas.js.map new file mode 100644 index 000000000..f028a9001 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/canvas.js.map @@ -0,0 +1 @@ +{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../../packages/core/src/canvas.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/core.d.ts b/nezha-fronted/src/components/common/@topology/core/src/core.d.ts new file mode 100644 index 000000000..f06660008 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/core.d.ts @@ -0,0 +1,274 @@ +import { Emitter, EventType, Handler } from 'mitt'; +import { Options, Padding } from './options'; +import { Pen } from './models/pen'; +import { Node } from './models/node'; +import { Point } from './models/point'; +import { Line } from './models/line'; +import { TopologyData } from './models/data'; +import { Lock } from './models/status'; +import { Offscreen } from './offscreen'; +import { RenderLayer } from './renderLayer'; +import { HoverLayer } from './hoverLayer'; +import { ActiveLayer } from './activeLayer'; +import { AnimateLayer } from './animateLayer'; +import { DivLayer } from './divLayer'; +import { Rect } from './models/rect'; +import { Socket } from './socket'; +import { MQTT } from './mqtt'; +import { EventType as SocketEventType } from './models'; +declare enum MoveInType { + None = 0, + Line = 1, + LineFrom = 2, + LineTo = 3, + LineControlPoint = 4, + Nodes = 5, + ResizeCP = 6, + HoverAnchors = 7, + AutoAnchor = 8, + Rotate = 9, + GraffitiReady = 10, + Graffiti = 11, + LinesReady = 12, + Lines = 13 +} +interface ICaches { + index: number; + dbIndex: number; + list: TopologyData[]; +} +export declare class Topology { + VERSION: string; + id: string; + data: TopologyData; + clipboard: TopologyData; + caches: ICaches; + options: Options; + cacheTimer: any; + parentElem: HTMLElement; + canvas: RenderLayer; + offscreen: Offscreen; + hoverLayer: HoverLayer; + activeLayer: ActiveLayer; + animateLayer: AnimateLayer; + divLayer: DivLayer; + private subcribe; + private subcribeRender; + private subcribeImage; + private imageTimer; + private subcribeAnimateEnd; + private subcribeAnimateMoved; + private subcribeMediaEnd; + private subcribeEmit; + touchedNode: any; + lastHoverNode: Node; + lastHoverLine: Line; + touches?: TouchList; + touchScale?: number; + touchStart: number; + touchCenter?: { + x: number; + y: number; + }; + input: HTMLTextAreaElement; + inputObj: Pen; + mouseDown: { + x: number; + y: number; + restore?: boolean; + }; + spaceDown: boolean; + lastTranlated: { + x: number; + y: number; + }; + moveIn: { + type: MoveInType; + activeAnchorIndex: number; + hoverAnchorIndex: number; + hoverNode: Node; + hoverLine: Line; + activeNode: Node; + lineControlPoint: Point; + }; + canvasPos?: DOMRect; + needCache: boolean; + private tip; + private raf; + tipMarkdown: HTMLElement; + tipMarkdownContent: HTMLElement; + tipMarkdownArrowUp: HTMLElement; + tipMarkdownArrowDown: HTMLElement; + tipElem: HTMLElement; + socket: Socket; + mqtt: MQTT; + get ramCaches(): number; + get clearElementIdPensName(): string[]; + private socketFn; + _emitter: Emitter; + private scheduledAnimationFrame; + private scrolling; + private rendering; + private actionTimer; + constructor(parent: string | HTMLElement, options?: Options); + private setupDom; + private setupSubscribe; + private setupMouseEvent; + private onScroll; + private preventDefault; + private ontouchend; + winResize: () => void; + resize(size?: { + width: number; + height: number; + }): void; + dropNodes(jsonList: any[], offsetX: number, offsetY: number): void; + addNode(node: Node | any, focus?: boolean): any; + addLine(line: any, focus?: boolean): any; + render(noFocus?: boolean): this; + calibrateMouse: (pt: { + x: number; + y: number; + }) => { + x: number; + y: number; + }; + open(data?: TopologyData | string): void; + /** + * 执行初始化函数 initJS + * */ + private doInitJS; + subscribeSocket: () => boolean; + openSocket(url?: string): void; + closeSocket(): void; + openMqtt(url?: string, options?: any): void; + closeMqtt(): void; + doSocket(message: any, type?: SocketEventType): void; + overflow(padding?: number): { + width: number; + height: number; + }; + private setNodeText; + onMouseMove: (e: { + x: number; + y: number; + buttons?: number; + ctrlKey?: boolean; + shiftKey?: boolean; + altKey?: boolean; + pageX?: number; + pageY?: number; + }) => boolean; + onmousedown: (e: { + x: number; + y: number; + button?: number; + ctrlKey?: boolean; + shiftKey?: boolean; + altKey?: boolean; + pageX?: number; + pageY?: number; + }) => void; + onmouseup: (e: { + x: number; + y: number; + button?: number; + ctrlKey?: boolean; + shiftKey?: boolean; + altKey?: boolean; + }) => void; + private ondblclick; + private onkeydown; + private getMoveIn; + inChildNode(pt: { + x: number; + y: number; + }, children: Pen[]): any; + inNode(pt: { + x: number; + y: number; + }, node: Node, inChild?: boolean): any; + inLine(point: { + x: number; + y: number; + }, line: Line): any; + private getLineDock; + private getPensInRect; + private getAngle; + showInput(item: Pen): void; + getRect(pens?: Pen[]): Rect; + getDockPos(offsetX: number, offsetY: number, noDock?: boolean): { + x: number; + y: number; + }; + cache(): void; + cacheReplace(pens: Pen[]): void; + undo(noRedo?: boolean, force?: boolean): void; + redo(force?: boolean): void; + toImage(padding?: Padding, callback?: any): string; + saveAsImage(name?: string, padding?: Padding): void; + delete(param?: string | Pen[], force?: boolean): void; + deleteAnchors(param?: Pen[], force?: boolean): void; + delEmptyLines(deleteedId?: string): void; + cut(): void; + copy(): void; + paste(): void; + /** + * 粘贴当前画笔,位置偏移 offset + * */ + pastePen(pen: Pen, idMaps?: any, offset?: number, parentId?: string): void; + animate(autoplay?: boolean): void; + updateProps(cache?: boolean, pens?: Pen[]): void; + lock(lock: Lock): void; + lockPens(pens: Pen[], lock: Lock): void; + up(pen: Pen, pens?: Pen[]): void; + top(pen: Pen, pens?: Pen[]): void; + down(pen: Pen, pens?: Pen[]): void; + bottom(pen: Pen, pens?: Pen[]): void; + getParent(pen: Pen): Node; + combine(pens?: Pen[], stand?: boolean): void; + uncombine(node?: Pen): void; + find(idOrTag: string, pens?: Pen[] | boolean, array?: boolean): Pen | Pen[]; + findIndex(pen: Pen, pens?: Pen[]): number; + play(idOrTag: string, pause?: boolean): void; + translate(x: number, y: number, process?: boolean, noNotice?: boolean): void; + scale(scale: number, center?: { + x: number; + y: number; + }): void; + scaleTo(scale: number, center?: { + x: number; + y: number; + }): void; + round(): void; + centerView(padding?: Padding): boolean; + fitView(viewPadding?: Padding): void; + hasView(): boolean; + getViewCenter(viewPadding?: Padding): { + x: number; + y: number; + }; + generateStoreKey(key: string): string; + private createMarkdownTip; + private showTip; + private hideTip; + scroll(x: number, y: number): void; + toComponent(pens?: Pen[]): Node; + clearBkImg(): void; + dispatch(event: string, data?: any): this; + on(eventType: EventType, handler: Handler): this; + off(eventType: EventType, handler: Handler): this; + emit(eventType: EventType, params: any): this; + getValue(idOrTag: string, attr?: string): any; + setValue(idOrTag: any, val: any, attr?: string): void; + willRender(): void; + setLineName(name: 'curve' | 'line' | 'polyline' | 'mind', render?: boolean): void; + setColor(color: string): void; + setFontColor(color: string): void; + setIconColor(color: string): void; + setBkColor(color: string): void; + pureData(): any; + pureDataChildren(data: any): void; + destroy(): void; +} +export {}; diff --git a/nezha-fronted/src/components/common/@topology/core/src/core.js b/nezha-fronted/src/components/common/@topology/core/src/core.js new file mode 100644 index 000000000..1b469ad2e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/core.js @@ -0,0 +1,3013 @@ +import { Store } from 'le5le-store' +// https://github.com/developit/mitt +import { default as mitt } from 'mitt' +import { KeyType, KeydownType, DefalutOptions, fontKeys } from './options' +import { PenType } from './models/pen' +import { Node } from './models/node' +import { Point } from './models/point' +import { Line } from './models/line' +import { createData } from './models/data' +import { Lock, AnchorMode } from './models/status' +import { drawNodeFns, drawLineFns, calcTextRect } from './middles' +import { Offscreen } from './offscreen' +import { RenderLayer } from './renderLayer' +import { HoverLayer } from './hoverLayer' +import { ActiveLayer } from './activeLayer' +import { AnimateLayer } from './animateLayer' +import { DivLayer } from './divLayer' +import { Rect } from './models/rect' +import { s8 } from './utils/uuid' +import { del, find, getParent, pointInRect } from './utils/canvas' +import { getBboxOfPoints, getMoreRect, getRect } from './utils/rect' +import { formatPadding } from './utils/padding' +import { Socket } from './socket' +import { MQTT } from './mqtt' +import { Direction, EventType as SocketEventType } from './models' +import { createCacheTable, getCache, isMobile, pushCache, spliceCache } from './utils' +import pkg from './../package.json' +const resizeCursors = ['nw-resize', 'ne-resize', 'se-resize', 'sw-resize'] +let MoveInType; +(function (MoveInType) { + MoveInType[MoveInType.None = 0] = 'None' + MoveInType[MoveInType.Line = 1] = 'Line' + MoveInType[MoveInType.LineFrom = 2] = 'LineFrom' + MoveInType[MoveInType.LineTo = 3] = 'LineTo' + MoveInType[MoveInType.LineControlPoint = 4] = 'LineControlPoint' + MoveInType[MoveInType.Nodes = 5] = 'Nodes' + MoveInType[MoveInType.ResizeCP = 6] = 'ResizeCP' + MoveInType[MoveInType.HoverAnchors = 7] = 'HoverAnchors' + MoveInType[MoveInType.AutoAnchor = 8] = 'AutoAnchor' + MoveInType[MoveInType.Rotate = 9] = 'Rotate' + MoveInType[MoveInType.GraffitiReady = 10] = 'GraffitiReady' + MoveInType[MoveInType.Graffiti = 11] = 'Graffiti' + MoveInType[MoveInType.LinesReady = 12] = 'LinesReady' + MoveInType[MoveInType.Lines = 13] = 'Lines' +})(MoveInType || (MoveInType = {})) +const dockOffset = 10 +const Topology = /** @class */ (function () { + function Topology (parent, options) { + const _this = this + if (options === void 0) { options = {} } + this.VERSION = pkg.version + this.id = s8() + this.data = createData(undefined, this.id) + this.caches = { + index: 0, + dbIndex: 0, + list: [] + } + this.touchStart = 0 + this.input = document.createElement('textarea') + this.lastTranlated = { x: 0, y: 0 } + this.moveIn = { + type: MoveInType.None, + activeAnchorIndex: 0, + hoverAnchorIndex: 0, + hoverNode: undefined, + hoverLine: undefined, + activeNode: undefined, + lineControlPoint: undefined + } + this.needCache = false + this.tip = '' + this.scheduledAnimationFrame = false + this.scrolling = false + this.rendering = false + this.onScroll = function () { + _this.canvasPos = _this.divLayer.canvas.getBoundingClientRect() + } + this.preventDefault = function (event) { + event.preventDefault() + } + this.winResize = function () { + let timer + if (timer) { + clearTimeout(timer) + } + timer = setTimeout(function () { + _this.resize() + }, 100) + } + this.calibrateMouse = function (pt) { + pt.x -= _this.data.x + pt.y -= _this.data.y + return pt + } + this.subscribeSocket = function () { + if (!_this.data.socketFn) { + return false + } + if (!_this.data.socketEvent) { + _this.data.socketEvent = true + } + try { + const socketFn = new Function('e', _this.data.socketFn) + if (_this.socketFn) { + _this.off('websocket', _this.socketFn) + _this.off('mqtt', _this.socketFn) + } + _this.on('websocket', socketFn) + _this.on('mqtt', socketFn) + _this.socketFn = socketFn + } catch (e) { + console.error('Create the function for socket:', e) + return false + } + return true + } + this.onMouseMove = function (e) { + let _a + if (_this.scheduledAnimationFrame || ((_a = _this.data) === null || _a === void 0 ? void 0 : _a.locked) === Lock.NoEvent) { + return + } + // https://caniuse.com/#feat=mdn-api_mouseevent_buttons + if (_this.mouseDown && !_this.mouseDown.restore && e.buttons !== 1 && e.buttons !== 2) { + // 防止异常情况导致mouseup事件没有触发 + _this.onmouseup(e) + return + } + if (_this.mouseDown && (_this.data.locked || _this.spaceDown || !_this.moveIn.type)) { + let b = !!_this.data.locked + switch (_this.options.translateKey) { + case KeyType.Right: + if (e.buttons == 2) { + b = true + } + break + case KeyType.Any: + b = true + break + case KeyType.Ctrl: + if (e.ctrlKey) { + b = true + } + break + case KeyType.Shift: + if (e.shiftKey) { + b = true + } + break + case KeyType.Alt: + if (e.altKey) { + b = true + } + break + default: + if (e.ctrlKey || e.altKey || e.buttons == 2) { + b = true + } + } + if (_this.spaceDown || (!_this.options.disableTranslate && b && _this.data.locked < Lock.NoMove)) { + _this.translate(e.x, e.y, true) + return false + } + } + if (_this.data.locked && _this.mouseDown) { + return + } + _this.scheduledAnimationFrame = true + if (_this.raf) { cancelAnimationFrame(_this.raf) } + _this.raf = requestAnimationFrame(function () { + _this.raf = undefined + const pt = _this.calibrateMouse({ x: e.x, y: e.y }) + if (_this.moveIn.type === MoveInType.Lines) { // 钢笔工具 + if (_this.hoverLayer.line) { + _this.hoverLayer.lineTo(new Point(pt.x, pt.y), '') + if (e.shiftKey || e.ctrlKey || e.altKey || e.buttons == 2) { + _this.hoverLayer.line.name = 'curve' + _this.hoverLayer.line.calcControlPoints() + } else { + _this.hoverLayer.line.name = 'line' + } + _this.render() + } + _this.scheduledAnimationFrame = false + return + } + if (!_this.mouseDown) { + _this.getMoveIn(pt) + // Render hover anchors. + if (_this.moveIn.hoverNode !== _this.lastHoverNode) { + if (_this.lastHoverNode) { + _this.lastHoverNode.moveOut() + // Send a move event. + _this.dispatch('moveOutNode', _this.lastHoverNode) + _this.hideTip() + // Clear hover anchors. + _this.hoverLayer.node = undefined + } + if (_this.moveIn.hoverNode) { + _this.hoverLayer.node = _this.moveIn.hoverNode + _this.moveIn.hoverNode.moveIn() + // Send a move event. + _this.dispatch('moveInNode', Object.assign(_this.moveIn.hoverNode, { + evs: { + x: e.pageX, + y: e.pageY + } + })) + _this.showTip(_this.moveIn.hoverNode, pt) + } + } + if (_this.moveIn.hoverLine !== _this.lastHoverLine && !_this.moveIn.hoverNode) { + if (_this.lastHoverLine) { + _this.lastHoverLine.moveOut() + _this.dispatch('moveOutLine', _this.lastHoverLine) + _this.hideTip() + } + if (_this.moveIn.hoverLine) { + _this.hoverLayer.line = _this.moveIn.hoverLine + _this.moveIn.hoverLine.moveIn() + _this.dispatch('moveInLine', Object.assign(_this.moveIn.hoverLine, { + evs: { + x: e.pageX, + y: e.pageY + } + })) + _this.showTip(_this.moveIn.hoverLine, pt) + } + } + if (_this.moveIn.type === MoveInType.LineControlPoint) { + _this.hoverLayer.hoverLineCP = _this.moveIn.lineControlPoint + } else if (_this.hoverLayer.hoverLineCP) { + _this.hoverLayer.hoverLineCP = undefined + } + if (_this.moveIn.hoverNode !== _this.lastHoverNode || + _this.moveIn.type === MoveInType.HoverAnchors || + _this.hoverLayer.lasthoverLineCP !== _this.hoverLayer.hoverLineCP) { + _this.hoverLayer.lasthoverLineCP = _this.hoverLayer.hoverLineCP + _this.render() + } + _this.scheduledAnimationFrame = false + return + } + // Move out parent element. + const moveOutX = e.x + 50 > _this.parentElem.clientWidth + _this.parentElem.scrollLeft + const moveOutY = e.y + 50 > _this.parentElem.clientHeight + _this.parentElem.scrollTop + if (!_this.options.disableMoveOutParent && (moveOutX || moveOutY)) { + _this.dispatch('moveOutParent', e) + var x = 0 + var y = 0 + if (e.x + 50 > _this.divLayer.canvas.clientWidth) { + x = -5 + } + if (e.y + 50 > _this.divLayer.canvas.clientHeight) { + y = -5 + } + _this.translate(x, y, false) + } + _this.hideTip() + switch (_this.moveIn.type) { + case MoveInType.None: + _this.hoverLayer.dragRect = new Rect(_this.mouseDown.x - _this.data.x, _this.mouseDown.y - _this.data.y, e.x - _this.mouseDown.x, e.y - _this.mouseDown.y) + break + case MoveInType.Nodes: + if (_this.activeLayer.locked() || _this.data.locked) { + break + } + var x = e.x - _this.mouseDown.x + var y = e.y - _this.mouseDown.y + if (x || y) { + var offset = _this.getDockPos(x, y, e.ctrlKey || e.shiftKey || e.altKey) + _this.activeLayer.move(offset.x ? offset.x : x, offset.y ? offset.y : y) + _this.needCache = true + } + break + case MoveInType.ResizeCP: { + const x_1 = e.x - _this.mouseDown.x + const y_1 = e.y - _this.mouseDown.y + if (x_1 || y_1) { + var offset = _this.getDockPos(x_1, y_1, e.ctrlKey || e.shiftKey || e.altKey) + const offsetE = Object.assign({}, e) + offset.x && (offsetE.x = offset.x + _this.mouseDown.x) + offset.y && (offsetE.y = offset.y + _this.mouseDown.y) + _this.activeLayer.resize(_this.moveIn.activeAnchorIndex, _this.mouseDown, offsetE) + _this.dispatch('resizePens', _this.activeLayer.pens) + _this.needCache = true + } + break + } + case MoveInType.LineTo: + case MoveInType.HoverAnchors: + case MoveInType.AutoAnchor: + if (_this.hoverLayer.dockAnchor && _this.hoverLayer.dockAnchor.hit(e, 10)) { + break + } + var arrow = _this.data.toArrow + if (_this.moveIn.hoverLine) { + arrow = _this.moveIn.hoverLine.toArrow + } + if (_this.hoverLayer.line) { + _this.activeLayer.pens = [_this.hoverLayer.line] + } + var toId = _this.hoverLayer.line.to.id + if (e.ctrlKey || e.shiftKey || e.altKey) { + _this.hoverLayer.lineTo(new Point(pt.x, pt.y), arrow) + } else { + const to = _this.getLineDock(new Point(pt.x, pt.y), AnchorMode.In) + toId = to.id + // 即使是自己连接自己,也为 to 配置 anchorIndex + _this.hoverLayer.lineTo(to, arrow) + } + _this.hoverLayer.line.to.id = toId + if (_this.hoverLayer.line.parentId) { + var line = _this.find(toId) + if (line && line.from) { + line.from.x = _this.hoverLayer.line.to.x + line.from.y = _this.hoverLayer.line.to.y + } + } + _this.needCache = true + break + case MoveInType.LineFrom: + var fromId = _this.hoverLayer.line.from.id + if (e.ctrlKey || e.shiftKey || e.altKey) { + _this.hoverLayer.lineFrom(new Point(pt.x, pt.y)) + } else { + const from = _this.getLineDock(new Point(pt.x, pt.y), AnchorMode.Out) + fromId = from.id + _this.hoverLayer.lineFrom(from) + } + _this.hoverLayer.line.from.id = fromId + if (_this.hoverLayer.line.parentId) { + var line = _this.find(fromId) + if (line && line.to) { + line.to.x = _this.hoverLayer.line.from.x + line.to.y = _this.hoverLayer.line.from.y + } + } + _this.needCache = true + break + case MoveInType.Line: + { + const x_2 = e.x - _this.mouseDown.x + const y_2 = e.y - _this.mouseDown.y + if (x_2 || y_2) { + _this.activeLayer.move(x_2, y_2) + if (_this.hoverLayer.line.children) { + _this.animateLayer.updateLines(_this.hoverLayer.line.children) + } else { + _this.animateLayer.updateLines([_this.hoverLayer.line]) + } + _this.needCache = true + } + } + break + case MoveInType.LineControlPoint: + _this.moveIn.hoverLine.controlPoints[_this.moveIn.lineControlPoint.id].x = pt.x + _this.moveIn.hoverLine.controlPoints[_this.moveIn.lineControlPoint.id].y = pt.y + _this.moveIn.hoverLine.textRect = undefined + if (drawLineFns[_this.moveIn.hoverLine.name] && drawLineFns[_this.moveIn.hoverLine.name].dockControlPointFn) { + drawLineFns[_this.moveIn.hoverLine.name].dockControlPointFn(_this.moveIn.hoverLine.controlPoints[_this.moveIn.lineControlPoint.id], _this.moveIn.hoverLine) + } + _this.needCache = true + Store.set(_this.generateStoreKey('LT:updateLines'), [_this.moveIn.hoverLine]) + break + case MoveInType.Rotate: + if (_this.activeLayer.pens.length) { + _this.activeLayer.offsetRotate(_this.getAngle(pt)) + _this.activeLayer.updateLines() + } + _this.needCache = true + break + case MoveInType.Graffiti: + _this.moveIn.hoverNode.pushPoint(new Point(pt.x, pt.y)) + break + } + _this.render() + _this.scheduledAnimationFrame = false + }) + } + this.onmousedown = function (e) { + if (e.button !== 0 && e.button !== 2) { return } + _this.mouseDown = e + if (e.altKey) { + _this.divLayer.canvas.style.cursor = 'move' + } + if (_this.inputObj) { + _this.setNodeText() + } + switch (_this.moveIn.type) { + // Click the space. + case MoveInType.None: + _this.activeLayer.clear() + _this.hoverLayer.clear() + _this.dispatch('space', _this.mouseDown) + break + // Click a line. + case MoveInType.Line: + case MoveInType.LineControlPoint: + if (e.ctrlKey || e.shiftKey) { + _this.activeLayer.add(_this.moveIn.hoverLine) + _this.dispatch('multi', _this.activeLayer.pens) + } else { + _this.activeLayer.pens = [_this.moveIn.hoverLine] + _this.dispatch('line' + (e.button === 2 ? 'RightClick' : ''), Object.assign(_this.moveIn.hoverLine, { + evs: { + x: e.pageX, + y: e.pageY + } + })) + } + _this.hoverLayer.line = _this.moveIn.hoverLine + _this.hoverLayer.initLine = new Line(_this.moveIn.hoverLine) + if (_this.data.locked || _this.moveIn.hoverLine.locked) { + _this.moveIn.hoverLine.click() + } + break + // tslint:disable-next-line:no-switch-case-fall-through + case MoveInType.LineFrom: + case MoveInType.LineTo: + _this.activeLayer.pens = [_this.moveIn.hoverLine] + _this.dispatch('line', _this.moveIn.hoverLine) + _this.hoverLayer.line = _this.moveIn.hoverLine + break + case MoveInType.HoverAnchors: + _this.hoverLayer.line = _this.addLine({ + name: _this.data.lineName, + from: new Point(_this.moveIn.hoverNode.rotatedAnchors[_this.moveIn.hoverAnchorIndex].x, _this.moveIn.hoverNode.rotatedAnchors[_this.moveIn.hoverAnchorIndex].y, _this.moveIn.hoverNode.rotatedAnchors[_this.moveIn.hoverAnchorIndex].direction, _this.moveIn.hoverAnchorIndex, _this.moveIn.hoverNode.id), + fromArrow: _this.data.fromArrow, + to: new Point(_this.moveIn.hoverNode.rotatedAnchors[_this.moveIn.hoverAnchorIndex].x, _this.moveIn.hoverNode.rotatedAnchors[_this.moveIn.hoverAnchorIndex].y), + toArrow: _this.data.toArrow, + strokeStyle: _this.options.color, + lineWidth: _this.data.lineWidth + }) + _this.dispatch('anchor', { + anchor: _this.moveIn.hoverNode.rotatedAnchors[_this.moveIn.hoverAnchorIndex], + anchorIndex: _this.moveIn.hoverAnchorIndex, + node: _this.moveIn.hoverNode, + line: _this.hoverLayer.line + }) + break + case MoveInType.AutoAnchor: + _this.hoverLayer.line = _this.addLine({ + name: _this.data.lineName, + from: new Point(_this.moveIn.hoverNode.rect.center.x, _this.moveIn.hoverNode.rect.center.y, Direction.None, 0, _this.moveIn.hoverNode.id), + fromArrow: _this.data.fromArrow, + to: new Point(_this.moveIn.hoverNode.rect.center.x, _this.moveIn.hoverNode.rect.center.y), + toArrow: _this.data.toArrow, + strokeStyle: _this.options.color, + lineWidth: _this.data.lineWidth + }) + _this.hoverLayer.line.from.autoAnchor = true + _this.dispatch('nodeCenter', _this.moveIn.hoverNode) + break + // tslint:disable-next-line:no-switch-case-fall-through + case MoveInType.Nodes: + if (!_this.moveIn.activeNode) { + break + } + if (e.ctrlKey || e.shiftKey) { + if (_this.moveIn.hoverNode && _this.activeLayer.hasInAll(_this.moveIn.hoverNode)) { + _this.activeLayer.setPens([_this.moveIn.hoverNode]) + _this.dispatch('node' + (e.button === 2 ? 'RightClick' : ''), _this.moveIn.hoverNode) + } else if (!_this.activeLayer.has(_this.moveIn.activeNode)) { + _this.activeLayer.add(_this.moveIn.activeNode) + if (_this.activeLayer.pens.length > 1) { + _this.dispatch('multi', _this.activeLayer.pens) + } else { + _this.dispatch('node' + (e.button === 2 ? 'RightClick' : ''), _this.moveIn.activeNode) + } + } + } else if (e.altKey) { + if (_this.moveIn.hoverNode) { + _this.activeLayer.setPens([_this.moveIn.hoverNode]) + _this.dispatch('node' + (e.button === 2 ? 'RightClick' : ''), _this.moveIn.hoverNode) + } else if (_this.moveIn.hoverLine) { + _this.activeLayer.setPens([_this.moveIn.hoverLine]) + _this.dispatch('line', _this.moveIn.hoverLine) + } + } else if (_this.activeLayer.pens.length < 2) { + _this.activeLayer.setPens([_this.moveIn.activeNode]) + _this.dispatch('node' + (e.button === 2 ? 'RightClick' : ''), Object.assign(_this.moveIn.activeNode, { + evs: { + x: e.pageX, + y: e.pageY + } + })) + } + if (_this.data.locked || _this.moveIn.activeNode.locked) { + _this.moveIn.activeNode.click() + } + _this.activeLayer.calcActiveRect() + break + case MoveInType.Graffiti: // 涂鸦起点 + var pt = _this.calibrateMouse({ x: e.x, y: e.y }) + _this.moveIn.hoverNode.pushPoint(new Point(pt.x, pt.y)) + break + } + // Save node rects to move. + if (_this.activeLayer.pens.length) { + _this.activeLayer.saveNodeRects() + } + _this.render() + } + this.onmouseup = function (e) { + if (!_this.mouseDown) { return } + _this.mouseDown = undefined + _this.lastTranlated.x = 0 + _this.lastTranlated.y = 0 + _this.hoverLayer.dockAnchor = undefined + _this.hoverLayer.dockLineX = 0 + _this.hoverLayer.dockLineY = 0 + _this.divLayer.canvas.style.cursor = 'default' + if (_this.hoverLayer.dragRect) { + _this.getPensInRect(_this.hoverLayer.dragRect) + if (_this.activeLayer.pens && _this.activeLayer.pens.length > 1) { + _this.dispatch('multi', _this.activeLayer.pens) + } else if (_this.activeLayer.pens && _this.activeLayer.pens[0] && _this.activeLayer.pens[0].type === PenType.Line) { + _this.dispatch('line' + (e.button === 2 ? 'RightClick' : ''), _this.activeLayer.pens[0]) + } else if (_this.activeLayer.pens && _this.activeLayer.pens[0] && _this.activeLayer.pens[0].type === PenType.Node) { + _this.dispatch('node' + (e.button === 2 ? 'RightClick' : ''), _this.activeLayer.pens[0]) + } + _this.activeLayer.calcActiveRect() + } else { + const pt = _this.calibrateMouse({ x: e.x, y: e.y }) + switch (_this.moveIn.type) { + case MoveInType.Nodes: + if (e.ctrlKey && e.shiftKey && e.altKey) { + if (!_this.moveIn.hoverNode.manualAnchors) { + _this.moveIn.hoverNode.manualAnchors = [] + } + const point = new Point(pt.x, pt.y) + point.id = _this.moveIn.hoverNode.id + _this.moveIn.hoverNode.manualAnchors.push(point) + _this.moveIn.hoverNode.calcAnchors() + _this.needCache = true + } + break + // Add the line. + case MoveInType.HoverAnchors: + // New active. + if (_this.hoverLayer.line) { + let willAddLine = void 0 + const _a = _this.hoverLayer.line; const from = _a.from; const to = _a.to + if (_this.hoverLayer.line.to.id) { + if (!_this.options.disableRepeatLine) { + willAddLine = true + } else { + const lines = _this.data.pens.filter(function (pen) { + return pen.type === PenType.Line && + pen.from.isSameAs(_this.hoverLayer.line.from) && + pen.to.isSameAs(_this.hoverLayer.line.to) + }) + willAddLine = lines.length <= 1 + } + // 判断是否是当前锚点连接当前锚点 + if (from.id === to.id && from.anchorIndex === to.anchorIndex) { + willAddLine = false + } + } else { + willAddLine = !_this.options.disableEmptyLine && !_this.hoverLayer.line.disableEmptyLine + // from 与 to 的距离若小于等于 5 认为是误操作,不会添加连线 + willAddLine = willAddLine && Math.pow((from.x - to.x), 2) + Math.pow((from.y - to.y), 2) > 25 + } + if (willAddLine) { + _this.activeLayer.pens = [_this.hoverLayer.line] + _this.dispatch('addLine', _this.hoverLayer.line) + } else { + _this.data.pens.pop() + _this.activeLayer.clear() + } + } + _this.offscreen.render() + _this.hoverLayer.line = undefined + break + case MoveInType.AutoAnchor: + if ((_this.hoverLayer.line.disableEmptyLine || _this.options.disableEmptyLine) && + (!_this.hoverLayer.line.from.id || !_this.hoverLayer.line.to.id)) { + _this.needCache = true + _this.activeLayer.clear() + _this.data.pens.splice(_this.findIndex(_this.hoverLayer.line), 1) + } else { + _this.activeLayer.updateLines() + _this.dispatch('addLine', _this.hoverLayer.line) + } + break + case MoveInType.Rotate: + _this.activeLayer.updateRotate() + break + case MoveInType.LineControlPoint: + Store.set(_this.generateStoreKey('pts-') + _this.moveIn.hoverLine.id, undefined) + break + case MoveInType.LineFrom: + case MoveInType.LineTo: + if ((_this.hoverLayer.line.disableEmptyLine || _this.options.disableEmptyLine) && + (!_this.hoverLayer.line.from.id || !_this.hoverLayer.line.to.id)) { + _this.needCache = true + _this.activeLayer.clear() + _this.data.pens.splice(_this.findIndex(_this.hoverLayer.line), 1) + } + if (_this.hoverLayer.line.from.id && _this.hoverLayer.line.to.id) { + _this.dispatch('lineOn', Object.assign(_this.hoverLayer.line, { + lineOnDirection: _this.moveIn.type + })) + } + break + case MoveInType.Graffiti: + if (!_this.moveIn.hoverNode.points || _this.moveIn.hoverNode.points.length < 2) { + _this.moveIn.type = MoveInType.None + _this.data.pens.pop() + } else { + _this.moveIn.type = MoveInType.Nodes + _this.moveIn.hoverNode.doing = undefined + _this.moveIn.hoverNode.calcAnchors() + _this.activeLayer.setPens([_this.moveIn.hoverNode]) + _this.hoverLayer.node = _this.moveIn.hoverNode + _this.needCache = true + } + break + case MoveInType.Lines: + var previous = void 0 + if (_this.moveIn.hoverLine.children && _this.moveIn.hoverLine.children.length) { + previous = _this.moveIn.hoverLine.children[_this.moveIn.hoverLine.children.length - 1] + } + if (!previous) { + _this.moveIn.hoverLine.children = [] + } + var line = new Line({ + parentId: _this.moveIn.hoverLine.id, + name: 'line', + from: new Point(pt.x, pt.y), + fromArrow: previous ? '' : _this.data.fromArrow, + to: new Point(pt.x, pt.y), + toArrow: '', + strokeStyle: _this.options.color, + lineWidth: _this.data.lineWidth + }) + if (previous) { + line.from.id = previous.id + line.from.x = previous.to.x + line.from.y = previous.to.y + previous.to.id = line.id + } + _this.moveIn.hoverLine.children.push(line) + _this.hoverLayer.line = line + _this.dispatch('addLineInLines', { previous: previous, line: line }) + } + } + _this.hoverLayer.dragRect = undefined + _this.activeLayer.lastOffsetX = 0 + _this.activeLayer.lastOffsetY = 0 + _this.render() + if (_this.needCache) { + _this.cache() + } + _this.needCache = false + } + this.ondblclick = function () { + if (_this.moveIn.hoverNode) { + _this.dispatch('dblclick', _this.moveIn.hoverNode) + if (!(_this.data.locked || _this.moveIn.hoverNode.locked || _this.moveIn.hoverNode.hideInput || _this.options.hideInput)) { + _this.showInput(_this.moveIn.hoverNode) + } + _this.moveIn.hoverNode.dblclick() + } else if (_this.moveIn.hoverLine) { + _this.dispatch('dblclick', _this.moveIn.hoverLine) + if (!(_this.data.locked || _this.moveIn.hoverLine.locked || _this.moveIn.hoverLine.hideInput || _this.options.hideInput)) { + _this.showInput(_this.moveIn.hoverLine) + } + _this.moveIn.hoverLine.dblclick() + } + } + this.onkeydown = function (key) { + if (_this.data.locked || + key.target.tagName === 'INPUT' || + key.target.tagName === 'TEXTAREA') { + return + } + let done = false + let moveX = 0 + let moveY = 0 + switch (key.key) { + case ' ': + _this.spaceDown = true + break + case 'a': + case 'A': + _this.activeLayer.setPens(_this.data.pens) + done = true + break + case 'Delete': + case 'Backspace': + if (key.ctrlKey || key.metaKey) { + _this.deleteAnchors() + } else { + _this.delete() + } + break + case 'ArrowLeft': + moveX = -5 + if (key.ctrlKey || key.metaKey) { + moveX = -1 + } + done = true + break + case 'ArrowUp': + moveY = -5 + if (key.ctrlKey || key.metaKey) { + moveY = -1 + } + done = true + break + case 'ArrowRight': + moveX = 5 + if (key.ctrlKey || key.metaKey) { + moveX = 1 + } + done = true + break + case 'ArrowDown': + moveY = 5 + if (key.ctrlKey || key.metaKey) { + moveY = 1 + } + done = true + break + case 'x': + case 'X': + _this.cut() + break + case 'c': + case 'C': + _this.copy() + break + case 'v': + case 'V': + _this.paste() + break + case 'y': + case 'Y': + if (key.ctrlKey || key.metaKey) { + _this.redo() + } + break + case 'z': + case 'Z': + if (key.shiftKey) { + _this.redo() + } else if (key.ctrlKey || key.metaKey) { + _this.undo() + } + break + case 'Enter': + if (_this.moveIn.type === MoveInType.Lines) { + _this.moveIn.type = MoveInType.None + _this.moveIn.hoverLine.doing = '' + if (_this.hoverLayer.line.getLen() < 10) { + _this.moveIn.hoverLine.children.pop() + _this.hoverLayer.line = _this.moveIn.hoverLine.children[_this.moveIn.hoverLine.children.length - 1] + } + if (_this.moveIn.hoverLine.isNode) { + const pts_1 = [] + _this.moveIn.hoverLine.children.forEach(function (l) { + pts_1.push(l.from) + if (l.controlPoints) { + l.controlPoints.forEach(function (pt) { + pt.data = true + pts_1.push(pt) + }) + } + pts_1.push(l.to) + }) + const _a = getBboxOfPoints(pts_1); const x1 = _a.x1; const y1 = _a.y1; const x2 = _a.x2; const y2 = _a.y2 + const n = new Node({ + name: 'lines', + rect: new Rect(x1, y1, x2 - x1, y2 - y1), + points: pts_1, + closePath: _this.moveIn.hoverLine.closePath + }) + _this.activeLayer.add(n) + _this.data.pens.pop() + _this.data.pens.push(n) + } else { + _this.hoverLayer.line.toArrow = _this.data.toArrow + _this.activeLayer.add(_this.moveIn.hoverLine) + } + _this.moveIn.hoverLine = undefined + } + done = true + break + case 'Escape': + if (_this.moveIn.type === MoveInType.Lines) { + _this.moveIn.type = MoveInType.None + _this.moveIn.hoverLine.children.pop() + _this.hoverLayer.line = _this.moveIn.hoverLine.children[_this.moveIn.hoverLine.children.length - 1] + _this.hoverLayer.line.toArrow = _this.data.toArrow + _this.moveIn.hoverLine.doing = '' + _this.moveIn.hoverLine = undefined + } + done = true + break + } + if (!done) { + return + } + key.preventDefault() + key.stopPropagation() + if (moveX || moveY) { + _this.activeLayer.saveNodeRects() + _this.activeLayer.move(moveX, moveY) + _this.animateLayer.animate() + } + _this.render() + _this.cache() + } + this._emitter = mitt() + this.options = Object.assign({}, DefalutOptions, options) + Store.set(this.generateStoreKey('LT:color'), this.options.color || '#222222') + Store.set(this.generateStoreKey('LT:fontColor'), this.options.fontColor || '#222222') + this.setupDom(parent) + this.setupSubscribe() + this.setupMouseEvent() + // Wait for parent dom load + setTimeout(function () { + _this.canvasPos = _this.divLayer.canvas.getBoundingClientRect() + }, 500) + setTimeout(function () { + _this.canvasPos = _this.divLayer.canvas.getBoundingClientRect() + }, 1000) + this.cache() + window.topology = this + this.dispatch('loaded') + } + Object.defineProperty(Topology.prototype, 'ramCaches', { + // 内存中的 caches 数量 + get: function () { + return 5 + }, + enumerable: true, + configurable: true + }) + Object.defineProperty(Topology.prototype, 'clearElementIdPensName', { + // 需要清除 elementId 的图形,复制时用 + get: function () { + return ['echarts', 'textbox'] + }, + enumerable: true, + configurable: true + }) + Topology.prototype.setupDom = function (parent) { + if (typeof parent === 'string') { + this.parentElem = document.getElementById(parent) + } else { + this.parentElem = parent + } + this.parentElem.style.position = 'relative' + this.parentElem.style.overflow = 'auto' + this.parentElem.onresize = this.winResize + window.addEventListener('resize', this.winResize) + const id = this.id + this.activeLayer = new ActiveLayer(this.options, id) + this.activeLayer.topology = this + this.hoverLayer = new HoverLayer(this.options, id) + this.animateLayer = new AnimateLayer(this.options, id) + this.offscreen = new Offscreen(this.parentElem, this.options, id) + this.canvas = new RenderLayer(this.parentElem, this.options, id) + this.divLayer = new DivLayer(this.parentElem, this.options, id) + this.input.style.position = 'absolute' + this.input.style.zIndex = '-1' + this.input.style.left = '-1000px' + this.input.style.width = '0' + this.input.style.height = '0' + this.input.style.outline = 'none' + this.input.style.border = '1px solid #cdcdcd' + this.input.style.resize = 'none' + this.parentElem.appendChild(this.input) + this.createMarkdownTip() + this.resize() + } + Topology.prototype.setupSubscribe = function () { + const _this = this + this.subcribe = Store.subscribe(this.generateStoreKey('LT:render'), function () { + _this.render() + }) + this.subcribeRender = Store.subscribe('LT:render', function () { + _this.render() + }) + this.subcribeImage = Store.subscribe(this.generateStoreKey('LT:imageLoaded'), function () { + if (_this.imageTimer) { + clearTimeout(_this.imageTimer) + } + _this.imageTimer = setTimeout(function () { + _this.render() + }, 100) + }) + this.subcribeAnimateMoved = Store.subscribe(this.generateStoreKey('LT:rectChanged'), function (e) { + _this.activeLayer.updateLines([e]) + }) + this.subcribeMediaEnd = Store.subscribe(this.generateStoreKey('mediaEnd'), function (node) { + if (node.nextPlay) { + _this.animateLayer.readyPlay(node.nextPlay) + _this.animateLayer.animate() + } + _this.dispatch('mediaEnd', node) + }) + this.subcribeAnimateEnd = Store.subscribe(this.generateStoreKey('animateEnd'), function (pen) { + if (!pen) { + return + } + switch (pen.type) { + case PenType.Node: + _this.offscreen.render() + break + } + _this.dispatch('animateEnd', pen) + }) + this.subcribeEmit = Store.subscribe(this.generateStoreKey('LT:emit'), function (e) { + // TODO: 此处为何不使用 dispatch + _this.emit(e.event, e) + }) + } + Topology.prototype.setupMouseEvent = function () { + const _this = this + this.canvasPos = this.divLayer.canvas.getBoundingClientRect() + this.parentElem.addEventListener('scroll', this.onScroll) + window.addEventListener('scroll', this.onScroll) + this.divLayer.canvas.ondragover = function (event) { return event.preventDefault() } + this.divLayer.canvas.ondrop = function (event) { + if (_this.data.locked) { + return + } + try { + const json = event.dataTransfer.getData('Topology') || event.dataTransfer.getData('Text') + if (!json) { return } + const obj = JSON.parse(json) + event.preventDefault() + const pt = _this.calibrateMouse({ x: event.offsetX, y: event.offsetY }) + _this.dropNodes(Array.isArray(obj) ? obj : [obj], pt.x, pt.y) + _this.activeLayer.calcActiveRect() + } catch (_a) { } + } + if (isMobile()) { + this.options.refresh = 50 + // ipad + document.addEventListener('gesturestart', this.preventDefault) + // end + this.divLayer.canvas.ontouchstart = function (event) { + _this.touchStart = Date.now() + const pos = new Point(event.changedTouches[0].pageX - window.scrollX - (_this.canvasPos.left || _this.canvasPos.x), event.changedTouches[0].pageY - window.scrollY - (_this.canvasPos.top || _this.canvasPos.y)) + if (event.touches.length > 1) { + _this.touches = event.touches + _this.touchScale = _this.data.scale + _this.lastTranlated.x = pos.x + _this.lastTranlated.y = pos.y + return + } + const pt = _this.calibrateMouse({ x: pos.x, y: pos.y }) + _this.getMoveIn(pt) + _this.hoverLayer.node = _this.moveIn.hoverNode + _this.hoverLayer.line = _this.moveIn.hoverLine + _this.lastTranlated.x = pos.x + _this.lastTranlated.y = pos.y + _this.onmousedown({ + x: pos.x, + y: pos.y, + ctrlKey: event.ctrlKey || event.metaKey, + shiftKey: event.shiftKey, + altKey: event.altKey, + button: 0 + }) + } + this.divLayer.canvas.ontouchmove = function (event) { + event.stopPropagation() + const touches = event.changedTouches + const len = touches.length + if (!_this.touchCenter && len > 1) { + _this.touchCenter = { + x: touches[0].pageX + (touches[1].pageX - touches[0].pageX) / 2, + y: touches[0].pageY + (touches[1].pageY - touches[0].pageY) / 2 + } + // 计算鼠标位置根据画布偏移 + _this.calibrateMouse(_this.touchCenter) + } + const timeNow = Date.now() + if (timeNow - _this.touchStart < 50) { + return + } + if (len > 1) { + if (len === 2) { + const scale = event.scale || + Math.hypot(touches[0].pageX - touches[1].pageX, touches[0].pageY - touches[1].pageY) / + Math.hypot(_this.touches[0].pageX - _this.touches[1].pageX, _this.touches[0].pageY - _this.touches[1].pageY) + event.preventDefault() + _this.scaleTo(scale * _this.touchScale, _this.touchCenter) + } else if (len === 3) { + const pos_1 = new Point(touches[0].pageX - window.scrollX - (_this.canvasPos.left || _this.canvasPos.x), touches[0].pageY - window.scrollY - (_this.canvasPos.top || _this.canvasPos.y)) + _this.translate(pos_1.x, pos_1.y, true) + } + return + } + event.preventDefault() + const pos = new Point(event.changedTouches[0].pageX - window.scrollX - (_this.canvasPos.left || _this.canvasPos.x), event.changedTouches[0].pageY - window.scrollY - (_this.canvasPos.top || _this.canvasPos.y)) + _this.onMouseMove({ + x: pos.x, + y: pos.y, + ctrlKey: event.ctrlKey || event.metaKey, + shiftKey: event.shiftKey, + altKey: event.altKey, + buttons: 1 + }) + } + this.divLayer.canvas.ontouchend = function (event) { + _this.touches = undefined + _this.ontouchend(event) + } + } else { + this.divLayer.canvas.onmousedown = function (event) { + if (event.target.nodeName === 'INPUT' && event.target.type === 'range' && _this.data.locked) { + return + } + if (_this.touchedNode) { + if (_this.touchedNode.name === 'graffiti') { + _this.touchedNode.rect = new Rect(0, 0, 0, 0) + _this.addNode(_this.touchedNode) + _this.touchedNode = undefined + } else if (_this.touchedNode.name === 'lines') { + _this.addLine(_this.touchedNode) + _this.touchedNode = undefined + } + } + const e = { + x: event.pageX - window.scrollX - (_this.canvasPos.left || _this.canvasPos.x), + y: event.pageY - window.scrollY - (_this.canvasPos.top || _this.canvasPos.y), + ctrlKey: event.ctrlKey || event.metaKey, + shiftKey: event.shiftKey, + altKey: event.altKey, + button: event.button, + pageX: event.pageX, + pageY: event.pageY + } + _this.lastTranlated.x = e.x + _this.lastTranlated.y = e.y + _this.onmousedown(e) + } + this.divLayer.canvas.onmousemove = function (event) { + _this.onMouseMove({ + x: event.pageX - window.scrollX - (_this.canvasPos.left || _this.canvasPos.x), + y: event.pageY - window.scrollY - (_this.canvasPos.top || _this.canvasPos.y), + ctrlKey: event.ctrlKey || event.metaKey, + shiftKey: event.shiftKey, + altKey: event.altKey, + buttons: event.buttons, + pageX: event.pageX, + pageY: event.pageY + }) + } + this.divLayer.canvas.onmouseup = function (event) { + const e = { + x: event.pageX - window.scrollX - (_this.canvasPos.left || _this.canvasPos.x), + y: event.pageY - window.scrollY - (_this.canvasPos.top || _this.canvasPos.y), + ctrlKey: event.ctrlKey || event.metaKey, + shiftKey: event.shiftKey, + altKey: event.altKey, + button: event.button + } + _this.onmouseup(e) + if (!_this.touchedNode) { + return + } + _this.touchedNode.rect.x = event.pageX - window.scrollX - _this.canvasPos.x - _this.touchedNode.rect.width / 2 + _this.touchedNode.rect.y = event.pageY - window.scrollY - _this.canvasPos.y - _this.touchedNode.rect.height / 2 + const node = new Node(_this.touchedNode) + _this.addNode(node, true) + _this.touchedNode = undefined + } + } + this.divLayer.canvas.ondblclick = this.ondblclick + this.divLayer.canvas.tabIndex = 0 + this.divLayer.canvas.onblur = function () { + _this.mouseDown = undefined + } + this.divLayer.canvas.onwheel = function (event) { + if (_this.data.locked === Lock.NoEvent) { return } + const timeNow = new Date().getTime() + if (timeNow - _this.touchStart < 20) { + event.preventDefault() + event.stopPropagation() + return + } + _this.touchStart = new Date().getTime() + if (_this.options.disableScale) { + return + } + switch (_this.options.scaleKey) { + case KeyType.Ctrl: + if (!event.ctrlKey && !event.metaKey) { + return + } + break + case KeyType.Shift: + if (!event.shiftKey) { + return + } + break + case KeyType.Alt: + if (!event.altKey) { + return + } + break + } + event.preventDefault() + event.stopPropagation() + const pos = new Point(event.x - window.scrollX - (_this.canvasPos.left || _this.canvasPos.x), event.y - window.scrollY - (_this.canvasPos.top || _this.canvasPos.y)) + // 计算鼠标位置根据画布偏移 + _this.calibrateMouse(pos) + let scale = _this.data.scale + if (event.deltaY < 0) { + scale += 0.1 + } else { + scale -= 0.1 + } + _this.scaleTo(scale, pos) + _this.divLayer.canvas.focus() + return false + } + switch (this.options.keydown) { + case KeydownType.Document: + document.addEventListener('keydown', this.onkeydown) + document.addEventListener('keyup', function () { + _this.spaceDown = false + }) + break + case KeydownType.Canvas: + this.divLayer.canvas.addEventListener('keydown', this.onkeydown) + break + } + } + Topology.prototype.ontouchend = function (event) { + const pos = new Point(event.changedTouches[0].pageX - window.scrollX - (this.canvasPos.left || this.canvasPos.x), event.changedTouches[0].pageY - window.scrollY - (this.canvasPos.top || this.canvasPos.y)) + this.onmouseup({ + x: pos.x, + y: pos.y, + ctrlKey: event.ctrlKey || event.metaKey, + shiftKey: event.shiftKey, + altKey: event.altKey, + button: 0 + }) + if (!this.touchedNode) { + return + } + this.touchedNode.rect.x = + event.changedTouches[0].pageX - window.scrollX - this.canvasPos.x - this.touchedNode.rect.width / 2 + this.touchedNode.rect.y = + event.changedTouches[0].pageY - window.scrollY - this.canvasPos.y - this.touchedNode.rect.height / 2 + const node = new Node(this.touchedNode) + this.addNode(node, true) + this.touchedNode = undefined + } + Topology.prototype.resize = function (size) { + this.canvas.resize(size) + this.offscreen.resize(size) + this.divLayer.resize(size) + this.render() + this.dispatch('resize', size) + } + Topology.prototype.dropNodes = function (jsonList, offsetX, offsetY) { + const _this = this + let x = 0; let y = 0 + if (jsonList.length && jsonList[0].rect) { + const rect = jsonList[0].rect + x = rect.x + y = rect.y + } + let firstNode + jsonList.forEach(function (json) { + json.id = s8() + if (json.name === 'graffiti') { + json.rect = new Rect(0, 0, 0, 0) + _this.addNode(json) + return + } else if (json.name === 'lines') { + _this.addLine(json) + _this.mouseDown = { + x: offsetX, + y: offsetY + } + _this.onmouseup(_this.mouseDown) + return + } + if (!firstNode) { + json.rect.x = (offsetX - json.rect.width / 2) << 0 + json.rect.y = (offsetY - json.rect.height / 2) << 0 + firstNode = json + } else { + // Layout relative to the first node + const rect = json.rect + const dx = rect.x - x; const dy = rect.y - y + json.rect.x = firstNode.rect.x + dx + json.rect.y = firstNode.rect.y + dy + } + if (json.type === PenType.Line) { + _this.addLine(Object.assign({ + name: 'line', + from: new Point(json.rect.x, json.rect.y), + fromArrow: _this.data.fromArrow, + to: new Point(json.rect.x + json.rect.width, json.rect.y + json.rect.height), + toArrow: _this.data.toArrow, + strokeStyle: _this.options.color + }, json), true) + } else { + _this.addNode(json, true) + } + }) + this.divLayer.canvas.focus() + } + Topology.prototype.addNode = function (node, focus) { + const _this = this + if (focus === void 0) { focus = false } + if (!drawNodeFns[node.name]) { + return null + } + node.TID = this.id + // if it's not a Node + if (!node.init) { + node = new Node(node) + } + if (!node.strokeStyle && this.options.color) { + node.strokeStyle = this.options.color + } + fontKeys.forEach(function (key) { + if (!node[key]) { + node[key] = _this.options[key] + } + }) + if (this.data.scale !== 1) { + node.scale(this.data.scale) + } + this.data.pens.push(node) + if (focus) { + // fix bug: add echart + if (node.name === 'echarts') { + setTimeout(function () { + _this.activeLayer.pens = [node] + _this.render() + }, 50) + } else { + this.activeLayer.pens = [node] + } + } + if (node.name !== 'graffiti' || !node.doing) { + this.render() + this.animate(true) + this.cache() + } else { + this.moveIn.type = MoveInType.Graffiti + this.moveIn.hoverNode = node + } + this.dispatch('addNode', node) + return node + } + Topology.prototype.addLine = function (line, focus) { + if (focus === void 0) { focus = false } + if (line.type === PenType.Node) { + line.isNode = true + } + line.TID = this.id + if (!line.clone) { + line = new Line(line) + line.calcControlPoints(true) + } + if (this.data.scale !== 1) { + line.fontSize *= this.data.scale + } + this.data.pens.push(line) + if (line.name !== 'lines' || !line.doing) { + if (focus) { + this.activeLayer.setPens([line]) + this.render() + this.animate(true) + this.cache() + this.dispatch('addLine', line) + } + } else { + this.activeLayer.clear() + this.hoverLayer.line = undefined + this.moveIn.type = MoveInType.Lines + this.moveIn.hoverLine = line + } + return line + } + // Render or redraw + Topology.prototype.render = function (noFocus) { + if (noFocus) { + this.activeLayer.pens = [] + this.hoverLayer.node = undefined + this.hoverLayer.line = undefined + } + if (this.rendering) { + return this + } + this.rendering = true + // 获取 ctx 对象 + const ctx = this.offscreen.canvas.getContext('2d') + ctx.clearRect(0, 0, this.offscreen.canvas.width, this.offscreen.canvas.height) + ctx.save() + ctx.translate(this.data.x, this.data.y) + this.offscreen.render() + ctx.restore() + this.canvas.render() + this.rendering = false + } + // open - redraw by the data + Topology.prototype.open = function (data) { + if (typeof data !== 'string' && data && data.mqttOptions && !data.mqttOptions.customClientId) { + data.mqttOptions.clientId = s8() + } + this.canvas.clearBkImg() + this.data = createData(data, this.id) + this.subscribeSocket() + Store.set(this.generateStoreKey('LT:scale'), this.data.scale) + this.dispatch('scale', this.data.scale) + Store.set('LT:bkColor', this.data.bkColor) + this.lock(this.data.locked) + this.caches.list = [] + createCacheTable() // 清空数据 + this.caches.dbIndex = -1 + this.cache() + this.divLayer.clear() + this.animateLayer.stop() + this.render(true) + this.parentElem.scrollLeft = 0 + this.parentElem.scrollTop = 0 + this.animate(true) + this.openSocket() + this.openMqtt() + this.doInitJS() + this.dispatch('opened') + } + /** + * 执行初始化函数 initJS + * */ + Topology.prototype.doInitJS = function () { + if (this.data.initJS && this.data.initJS.trim()) { + // 字符串类型存在 + const fn = new Function(this.data.initJS) + fn() + } + } + Topology.prototype.openSocket = function (url) { + const _this = this + this.closeSocket() + if (url || this.data.websocket) { + this.socket = new Socket(url || this.data.websocket, function (e) { + if (_this.data.socketEvent !== 1) { + _this.doSocket(e.data) + } + _this.data.socketEvent && _this.dispatch('websocket', e.data) + }) + } + } + Topology.prototype.closeSocket = function () { + if (this.socket) { + this.socket.close() + } + } + Topology.prototype.openMqtt = function (url, options) { + const _this = this + this.closeMqtt() + if (url || this.data.mqttUrl) { + this.mqtt = new MQTT(url || this.data.mqttUrl, options || this.data.mqttOptions, this.data.mqttTopics, function (topic, message) { + if (_this.data.socketEvent !== 1) { + _this.doSocket(message.toString(), SocketEventType.Mqtt) + } + _this.data.socketEvent && _this.dispatch('mqtt', { topic: topic, message: message }) + }) + } + } + Topology.prototype.closeMqtt = function () { + if (this.mqtt) { + this.mqtt.close() + } + } + Topology.prototype.doSocket = function (message, type) { + const _this = this + if (type === void 0) { type = SocketEventType.WebSocket } + try { + message = JSON.parse(message) + if (!Array.isArray(message)) { + message = [message] + } + message.forEach(function (item) { + let actions = [] + if (item.actions) { + actions = item.actions + delete item.actions + } + const pens = find(item.id || item.tag, _this.data.pens) + pens.forEach(function (pen) { + if (pen.id === item.id || (pen.tags && pen.tags.indexOf(item.tag) > -1)) { + pen.fromData(pen, item) + pen.doWheres() + if (pen.events) { + pen.events.forEach(function (event) { + if (event.type === type) { + event.params = item + actions.push(event) + } + }) + } + actions && + actions.forEach(function (action) { + pen.doAction(action) + }) + } + }) + _this.willRender() + }) + } catch (error) { + console.warn(error) + } + } + Topology.prototype.overflow = function (padding) { + if (padding === void 0) { padding = 50 } + const rect = this.getRect() + let width = rect.width; let height = rect.height + if (width < rect.ex) { + width = rect.ex + padding + } + if (width < this.canvas.width) { + width = this.canvas.width + } + if (height < rect.ey) { + height = rect.ey + padding + } + if (height < this.canvas.height) { + height = this.canvas.height + } + const size = { width: width, height: height } + this.resize(size) + return size + } + Topology.prototype.setNodeText = function () { + this.inputObj.text = this.input.value + if (this.inputObj.name === 'image') { + this.inputObj.init() + } + this.input.style.zIndex = '-1' + this.input.style.left = '-1000px' + this.input.style.width = '0' + this.cache() + this.offscreen.render() + this.dispatch('setText', this.inputObj) + this.inputObj = undefined + } + Topology.prototype.getMoveIn = function (pt) { + if (this.moveIn.type >= MoveInType.Graffiti) { + return + } + this.lastHoverNode = this.moveIn.hoverNode + this.lastHoverLine = this.moveIn.hoverLine + this.moveIn.type = MoveInType.None + this.moveIn.hoverNode = undefined + this.moveIn.lineControlPoint = undefined + this.moveIn.hoverLine = undefined + this.hoverLayer.hoverAnchorIndex = -1 + if (!this.data.locked && + !(this.activeLayer.pens.length === 1 && this.activeLayer.pens[0].type) && + !this.activeLayer.locked() && + this.activeLayer.rotateCPs[0] && + this.activeLayer.rotateCPs[0].hit(pt, 15)) { + this.moveIn.type = MoveInType.Rotate + const cursor = this.options.rotateCursor + this.divLayer.canvas.style.cursor = cursor.includes('/') ? 'url("' + cursor + '"), auto' : cursor + return + } + if (this.activeLayer.pens.length > 1 && pointInRect(pt, this.activeLayer.sizeCPs)) { + this.moveIn.type = MoveInType.Nodes + } + if (!this.data.locked && !this.activeLayer.locked() && !this.options.hideSizeCP) { + if (this.activeLayer.pens.length > 1 || + (!this.activeLayer.pens[0].type && !this.activeLayer.pens[0].hideSizeCP)) { + for (var i = 0; i < this.activeLayer.sizeCPs.length; ++i) { + if (this.activeLayer.sizeCPs[i].hit(pt, 10)) { + this.moveIn.type = MoveInType.ResizeCP + this.moveIn.activeAnchorIndex = i + this.divLayer.canvas.style.cursor = resizeCursors[i] + return + } + } + } + } + // In active pen. + if (!this.data.locked) { + for (let _i = 0, _a = this.activeLayer.pens; _i < _a.length; _i++) { + const item = _a[_i] + if (item instanceof Line && !item.locked) { + for (var i = 0; i < item.controlPoints.length; ++i) { + if (!item.locked && item.controlPoints[i].hit(pt, 10)) { + item.controlPoints[i].id = i + this.moveIn.type = MoveInType.LineControlPoint + this.moveIn.lineControlPoint = item.controlPoints[i] + this.moveIn.hoverLine = item + this.divLayer.canvas.style.cursor = 'pointer' + return + } + } + if (this.inLine(pt, item)) { + return + } + } + } + } + this.divLayer.canvas.style.cursor = 'default' + const len = this.data.pens.length + let inLine + for (var i = len - 1; i > -1; --i) { + if (this.data.pens[i].type === PenType.Node && this.inNode(pt, this.data.pens[i])) { + if (inLine && this.moveIn.type !== MoveInType.HoverAnchors) { + this.inLine(pt, inLine) + } + return + } else if (this.data.pens[i].type === PenType.Line && this.inLine(pt, this.data.pens[i])) { + // 优先判断是否在节点锚点上 + inLine = this.data.pens[i] + } + } + } + Topology.prototype.inChildNode = function (pt, children) { + if (!children) { + return null + } + const len = children.length + for (let i = len - 1; i > -1; --i) { + const item = children[i] + if (!item.visible || item.locked === Lock.NoEvent) { + continue + } + if (item.type === PenType.Line) { + if (this.inLine(pt, item)) { + return item + } + continue + } + let node = this.inChildNode(pt, item.children) + if (node) { + return node + } + node = this.inNode(pt, item, true) + if (node) { + return node + } + } + return null + } + Topology.prototype.inNode = function (pt, node, inChild) { + if (inChild === void 0) { inChild = false } + if (this.data.locked === Lock.NoEvent || !node.visible || node.locked === Lock.NoEvent) { + return null + } + const child = this.inChildNode(pt, node.children) + if (child) { + if (this.moveIn.type < MoveInType.HoverAnchors) { + this.moveIn.type = MoveInType.Nodes + if (child.stand) { + this.moveIn.activeNode = child + } else { + this.moveIn.activeNode = node + } + } + return child + } + if (node.hitInSelf(pt)) { + this.moveIn.hoverNode = node + this.moveIn.type = MoveInType.Nodes + if (!this.data.locked && !node.locked) { + this.divLayer.canvas.style.cursor = 'move' + } else { + this.divLayer.canvas.style.cursor = this.options.hoverCursor + } + // Too small + if (!this.data.locked && + !node.locked && + !(this.options.hideAnchor || node.hideAnchor || node.rect.width < 20 || node.rect.height < 20)) { + for (var j = 0; j < node.rotatedAnchors.length; ++j) { + if (node.rotatedAnchors[j].hit(pt, this.options.anchorSize)) { + if (!this.mouseDown && node.rotatedAnchors[j].mode === AnchorMode.In) { + continue + } + this.moveIn.type = MoveInType.HoverAnchors + this.moveIn.hoverAnchorIndex = j + this.hoverLayer.hoverAnchorIndex = j + this.divLayer.canvas.style.cursor = 'crosshair' + break + } + } + if (this.options.autoAnchor && node.rect.center.hit(pt, this.options.anchorSize)) { + this.moveIn.hoverNode = node + this.moveIn.type = MoveInType.AutoAnchor + this.divLayer.canvas.style.cursor = 'crosshair' + } + } + if (!inChild) { + this.moveIn.activeNode = this.moveIn.hoverNode + } + return node + } + if (this.options.hideAnchor || node.hideAnchor || this.data.locked || node.locked) { + return null + } + if (node.hitInSelf(pt, this.options.anchorSize)) { + for (var j = 0; j < node.rotatedAnchors.length; ++j) { + if (node.rotatedAnchors[j].hit(pt, this.options.anchorSize)) { + if (!this.mouseDown && node.rotatedAnchors[j].mode === AnchorMode.In) { + continue + } + this.moveIn.hoverNode = node + this.moveIn.type = MoveInType.HoverAnchors + this.moveIn.hoverAnchorIndex = j + this.hoverLayer.hoverAnchorIndex = j + this.divLayer.canvas.style.cursor = 'crosshair' + if (!inChild) { + this.moveIn.activeNode = node + } + return node + } + } + } + return null + } + Topology.prototype.inLine = function (point, line) { + if (this.data.locked === Lock.NoEvent || !line.visible || line.locked === Lock.NoEvent) { + return null + } + if (line.children) { + for (let _i = 0, _a = line.children; _i < _a.length; _i++) { + const child = _a[_i] + const l = this.inLine(point, child) + if (l) { + return l + } + } + } + if (line.from) { + if (line.from.hit(point, this.options.anchorSize)) { + this.moveIn.type = MoveInType.LineFrom + this.moveIn.hoverLine = line + if (this.data.locked || line.locked) { + this.divLayer.canvas.style.cursor = this.options.hoverCursor + } else { + this.divLayer.canvas.style.cursor = 'move' + } + return line + } + if (line.to.hit(point, this.options.anchorSize)) { + this.moveIn.type = MoveInType.LineTo + this.moveIn.hoverLine = line + if (this.data.locked || line.locked) { + this.divLayer.canvas.style.cursor = this.options.hoverCursor + } else { + this.divLayer.canvas.style.cursor = 'move' + } + return line + } + if (line.pointIn(point)) { + this.moveIn.type = MoveInType.Line + this.moveIn.hoverLine = line + this.divLayer.canvas.style.cursor = this.options.hoverCursor + return line + } + } + return null + } + Topology.prototype.getLineDock = function (point, mode) { + if (mode === void 0) { mode = AnchorMode.Default } + this.hoverLayer.dockAnchor = undefined + for (let _i = 0, _a = this.data.pens; _i < _a.length; _i++) { + const item = _a[_i] + if (item instanceof Node) { + const pen = item.hit(point, 10) + if (!pen) { + continue + } + if (pen.type === PenType.Line) { + if (pen.from.hit(point, 10)) { + point.x = pen.from.x + point.y = pen.from.y + this.hoverLayer.dockAnchor = pen.from + break + } + if (pen.to.hit(point, 10)) { + point.x = pen.to.x + point.y = pen.to.y + this.hoverLayer.dockAnchor = pen.to + break + } + break + } + this.hoverLayer.node = pen + if (this.options.autoAnchor && pen.rect.center.hit(point, 10)) { + point.id = pen.id + point.autoAnchor = true + point.x = pen.rect.center.x + point.y = pen.rect.center.y + this.hoverLayer.dockAnchor = pen.rect.center + } + for (let i = 0; i < pen.rotatedAnchors.length; ++i) { + if (pen.rotatedAnchors[i].mode && pen.rotatedAnchors[i].mode !== mode) { + continue + } + if (pen.rotatedAnchors[i].hit(point, 10)) { + point.id = pen.id + point.anchorIndex = i + point.autoAnchor = false + point.direction = pen.rotatedAnchors[i].direction + point.x = pen.rotatedAnchors[i].x + point.y = pen.rotatedAnchors[i].y + this.hoverLayer.dockAnchor = pen.rotatedAnchors[i] + break + } + } + if (this.hoverLayer.dockAnchor) { + break + } + } else if (item instanceof Line) { + if (item.id === this.hoverLayer.line.id) { + continue + } + if (item.children) { + let found = false + for (let _b = 0, _c = item.children; _b < _c.length; _b++) { + const child = _c[_b] + if (child.from.hit(point, 10)) { + point.x = child.from.x + point.y = child.from.y + this.hoverLayer.dockAnchor = child.from + found = true + break + } + if (child.to.hit(point, 10)) { + point.x = child.to.x + point.y = child.to.y + this.hoverLayer.dockAnchor = child.to + found = true + break + } + if (child.controlPoints) { + for (let _d = 0, _e = child.controlPoints; _d < _e.length; _d++) { + var cp = _e[_d] + if (cp.hit(point, 10)) { + point.x = cp.x + point.y = cp.y + this.hoverLayer.dockAnchor = cp + found = true + break + } + } + } + } + if (found) { + continue + } + } else { + if (item.from.hit(point, 10)) { + point.x = item.from.x + point.y = item.from.y + this.hoverLayer.dockAnchor = item.from + continue + } + if (item.to.hit(point, 10)) { + point.x = item.to.x + point.y = item.to.y + this.hoverLayer.dockAnchor = item.to + continue + } + if (item.controlPoints) { + for (let _f = 0, _g = item.controlPoints; _f < _g.length; _f++) { + var cp = _g[_f] + if (cp.hit(point, 10)) { + point.x = cp.x + point.y = cp.y + this.hoverLayer.dockAnchor = cp + break + } + } + } + } + } + } + return point + } + Topology.prototype.getPensInRect = function (rect) { + const _this = this + if (rect.width < 0) { + rect.width = -rect.width + rect.x = rect.ex + rect.ex = rect.x + rect.width + } + if (rect.height < 0) { + rect.height = -rect.height + rect.y = rect.ey + rect.ey = rect.y + rect.height + } + this.activeLayer.pens = [] + for (let _i = 0, _a = this.data.pens; _i < _a.length; _i++) { + const item = _a[_i] + if (item.locked === Lock.NoEvent) { + continue + } + if (item instanceof Node) { + if (rect.hitByRect(item.rect)) { + this.activeLayer.add(item) + } + } + if (item instanceof Line) { + if (item.children) { + item.children.forEach(function (child) { + if (rect.hit(child.from) && rect.hit(child.to)) { + _this.activeLayer.add(child) + } + }) + } else if (rect.hit(item.from) && rect.hit(item.to)) { + this.activeLayer.add(item) + } + } + } + } + Topology.prototype.getAngle = function (pt) { + if (pt.x === this.activeLayer.rect.center.x) { + return pt.y <= this.activeLayer.rect.center.y ? 0 : 180 + } + if (pt.y === this.activeLayer.rect.center.y) { + return pt.x < this.activeLayer.rect.center.x ? 270 : 90 + } + const x = pt.x - this.activeLayer.rect.center.x + const y = pt.y - this.activeLayer.rect.center.y + let angle = (Math.atan(Math.abs(x / y)) / (2 * Math.PI)) * 360 + if (x > 0 && y > 0) { + angle = 180 - angle + } else if (x < 0 && y > 0) { + angle += 180 + } else if (x < 0 && y < 0) { + angle = 360 - angle + } + if (this.activeLayer.pens.length === 1) { + return angle - this.activeLayer.pens[0].rotate + } + return angle + } + Topology.prototype.showInput = function (item) { + this.inputObj = item + const textRect = item.getTextRect() + this.input.value = item.text || '' + this.input.style.left = textRect.x + this.data.x + 'px' + this.input.style.top = textRect.y + this.data.y + 'px' + this.input.style.width = textRect.width + 'px' + this.input.style.height = textRect.height + 'px' + this.input.style.zIndex = '1000' + if (item.rotate / 360) { + this.input.style.transform = 'rotate(' + item.rotate + 'deg)' + } else { + this.input.style.transform = undefined + } + // 为 textarea 添加 class + this.input.classList.add('set-text-input') + this.input.focus() + } + // 包含画布偏移量的 Rect,相对与可视区域的内容 + Topology.prototype.getRect = function (pens) { + if (!pens) { + pens = this.data.pens + } + const rect = getRect(pens) + return new Rect(rect.x + this.data.x, rect.y + this.data.y, rect.width, rect.height) + } + // Get a dock rect for moving nodes. + Topology.prototype.getDockPos = function (offsetX, offsetY, noDock) { + this.hoverLayer.dockLineX = 0 + this.hoverLayer.dockLineY = 0 + const offset = { + x: 0, + y: 0 + } + if (noDock || this.options.disableDockLine) { + return offset + } + let x = 0 + let y = 0 + let disX = dockOffset + let disY = dockOffset + for (let _i = 0, _a = this.activeLayer.dockWatchers; _i < _a.length; _i++) { + const activePt = _a[_i] + for (let _b = 0, _c = this.data.pens; _b < _c.length; _b++) { + const item = _c[_b] + if (!(item instanceof Node) || this.activeLayer.has(item) || item.name === 'text') { + continue + } + // if (!item.dockWatchers) { + // item.getDockWatchers(); + // } + for (let _d = 0, _e = item.dockWatchers; _d < _e.length; _d++) { + const p = _e[_d] + x = Math.abs(p.x - activePt.x - offsetX) + if (x < disX) { + disX = -99999 + offset.x = p.x - activePt.x + this.hoverLayer.dockLineX = p.x | 0 + } + y = Math.abs(p.y - activePt.y - offsetY) + if (y < disY) { + disY = -99999 + offset.y = p.y - activePt.y + this.hoverLayer.dockLineY = p.y | 0 + } + } + } + } + return offset + } + Topology.prototype.cache = function () { + if (this.options.cacheLen == 0 || this.data.locked) { return } + if (this.caches.index < this.caches.list.length - 1) { + this.caches.list.splice(this.caches.index + 1, this.caches.list.length - this.caches.index - 1) + // 删除 indexDB 的值 + spliceCache(this.caches.dbIndex + 1) + } + const data = this.pureData() + this.caches.list.push(data) + pushCache(data, this.caches.dbIndex + 1, this.options.cacheLen) + if (this.caches.list.length > this.ramCaches) { + this.caches.list.shift() + } + this.caches.index = this.caches.list.length - 1 + this.caches.dbIndex++ // 向后移动 + } + Topology.prototype.cacheReplace = function (pens) { + if (this.options.cacheLen == 0) { return } + if (pens && pens.length) { + const needPenMap = {} + for (var i = 0, len = pens.length; i < len; i++) { + const pen = pens[i] + var id = pen.id + if (pen instanceof Node) { + needPenMap[id] = new Node(pen) + } else if (pen instanceof Line) { + needPenMap[id] = new Line(pen) + } + } + const cacheListData = this.caches.list[0] + if (!cacheListData) { + return + } + for (var i = 0, len = cacheListData.pens.length; i < len; i++) { + var id = cacheListData.pens[i].id + if (needPenMap[id]) { + cacheListData.pens[i] = needPenMap[id] + } + } + } + } + Topology.prototype.undo = function (noRedo, force) { + const _this = this + if (noRedo === void 0) { noRedo = false } + if (this.options.cacheLen == 0) { return } + if ((!force && this.data.locked) || this.caches.index < 1) { + return + } + this.divLayer.clear(true) + this.animateLayer.stop() + this.caches.dbIndex-- // 数据库中的位置前移 + this.data = createData(this.caches.list[--this.caches.index], this.id) + this.render(true) + this.divLayer.render() + if (noRedo) { + this.caches.list.splice(this.caches.index + 1, this.caches.list.length - this.caches.index - 1) + // 不允许恢复,同时删除数据库中的值 + spliceCache(this.caches.dbIndex) + } + // 当 index 到 list 中间时,开始向左侧添加 indexDB 中的内容 + if (this.caches.index <= this.caches.list.length / 2 - 1) { + const sub = this.caches.index - 0 + 1 // 距离左侧前一个的差距 + getCache(this.caches.dbIndex - sub).then(function (data) { + if (data) { + _this.caches.list.pop() + _this.caches.list.unshift(data) + _this.caches.index++ + } + }) + } + this.dispatch('undo', this.data) + } + Topology.prototype.redo = function (force) { + const _this = this + if (this.options.cacheLen == 0) { + return + } + if ((!force && this.data.locked) || this.caches.index > this.caches.list.length - 2) { + return + } + this.divLayer.clear(true) + this.caches.dbIndex++ // 向后移动 + this.data = createData(this.caches.list[++this.caches.index], this.id) + this.render(true) + this.divLayer.render() + // 当 index 到 list 中间时,开始向右侧加 + if (this.caches.index >= this.caches.list.length / 2) { + const add = this.caches.list.length - this.caches.index // 距离右侧的差距 + getCache(this.caches.dbIndex + add).then(function (data) { + if (data) { + _this.caches.list.shift() + _this.caches.list.push(data) + _this.caches.index-- + } + }) + } + this.dispatch('redo', this.data) + } + Topology.prototype.toImage = function (padding, callback) { + if (padding === void 0) { padding = 0 } + if (callback === void 0) { callback = undefined } + let backRect + if (this.data.bkImageRect) { + // 背景图片相对于画布的 rect + backRect = new Rect(this.data.bkImageRect.x - this.data.x, this.data.bkImageRect.y - this.data.y, this.data.bkImageRect.width, this.data.bkImageRect.height) + } + const rect = getMoreRect(getRect(this.data.pens), backRect) + const p = formatPadding(padding || 0) + rect.x -= p[3] + rect.y -= p[0] + rect.width += p[3] + p[1] + rect.height += p[0] + p[2] + rect.init() + const dpi = this.offscreen.getDpiRatio() + rect.scale(dpi) + backRect && backRect.scale(dpi, rect.center) + const canvas = document.createElement('canvas') + canvas.width = rect.width + canvas.height = rect.height + const ctx = canvas.getContext('2d') + if (this.data.bkColor || this.options.bkColor) { + ctx.fillStyle = this.data.bkColor || this.options.bkColor + ctx.fillRect(0, 0, canvas.width, canvas.height) + } + if (this.data.bkImage && backRect) { + ctx.drawImage(this.canvas.bkImg, backRect.x - rect.x, backRect.y - rect.y, backRect.width, backRect.height) + } + for (let _i = 0, _a = this.data.pens; _i < _a.length; _i++) { + const item = _a[_i] + let pen = void 0 + if (item.type) { + pen = new Line(item) + } else { + pen = new Node(item, true) + pen.animateFrames = [] + pen.img = item.img + pen.elementId = '' + pen.elementLoaded = true + pen.elementRendered = true + } + pen.scale(dpi, rect.center) + pen.translate(-rect.x, -rect.y, true) + pen.render(ctx) + } + ctx.scale(1 / dpi, 1 / dpi) + if (callback) { + canvas.toBlob(callback) + } + return canvas.toDataURL('image/png', 1) + } + Topology.prototype.saveAsImage = function (name, padding) { + if (padding === void 0) { padding = 0 } + const a = document.createElement('a') + a.setAttribute('download', name || 'le5le.topology.png') + a.setAttribute('href', this.toImage(padding)) + const evt = document.createEvent('MouseEvents') + evt.initEvent('click', true, true) + a.dispatchEvent(evt) + } + // param: + // - string ->idOrTag + // - Pen[] -> will deletes + Topology.prototype.delete = function (param, force) { + if (this.data.locked && !force) { + return + } + let deleted = [] + if (typeof param === 'string') { + deleted = del(param, this.data.pens) + } else { + const pens = param || this.activeLayer.pens + for (let i = 0; i < pens.length; i++) { + let item = pens[i] + if (item.type === PenType.Line && item.parentId) { + const parent_1 = find(item.parentId, this.data.pens)[0] + if (parent_1 && parent_1.name === 'lines') { + item = parent_1 + } + } + if (del(item.id, this.data.pens).length) { + deleted.push(item) + --i + if (item.type === PenType.Node) { + this.divLayer.removeDiv(item) + } + if (this.options.disableEmptyLine) { + this.delEmptyLines(item.id) + } + this.animateLayer.pens.delete(item.id) + } + } + } + if (deleted.length) { + this.render(true) + this.cache() + this.dispatch('delete', deleted) + } + } + Topology.prototype.deleteAnchors = function (param, force) { + if (this.data.locked && !force) { + return + } + const pens = param || this.activeLayer.pens + pens.forEach(function (pen) { + if (pen.type === PenType.Node) { + pen.manualAnchors = undefined + pen.calcAnchors() + } + }) + } + Topology.prototype.delEmptyLines = function (deleteedId) { + for (let i = 0; i < this.data.pens.length; i++) { + if (this.data.pens[i].type !== PenType.Line) { + continue + } + const line = this.data.pens[i] + if (!line.from.id || !line.to.id || line.from.id === deleteedId || line.to.id === deleteedId) { + this.data.pens.splice(i, 1) + this.animateLayer.pens.delete(line.id) + --i + } + } + } + Topology.prototype.cut = function () { + if (this.data.locked) { + return + } + this.clipboard = createData({ + pens: [] + }) + for (let i = 0; i < this.activeLayer.pens.length; i++) { + const pen = this.activeLayer.pens[i] + this.clipboard.pens.push(pen.clone()) + const found = this.findIndex(pen) + if (found > -1) { + if (pen.type === PenType.Node) { + this.divLayer.removeDiv(this.data.pens[found]) + } + this.data.pens.splice(found, 1) + } + } + this.cache() + this.activeLayer.clear() + this.hoverLayer.node = undefined + this.moveIn.hoverLine = undefined + this.moveIn.hoverNode = undefined + this.render() + this.dispatch('delete', this.clipboard.pens) + } + Topology.prototype.copy = function () { + this.clipboard = createData({ + pens: [] + }) + for (let _i = 0, _a = this.activeLayer.pens; _i < _a.length; _i++) { + const pen = _a[_i] + this.clipboard.pens.push(pen.clone()) + pen.parentId = null + } + this.dispatch('copy', this.clipboard) + } + Topology.prototype.paste = function () { + if (!this.clipboard || this.data.locked) { + return + } + this.hoverLayer.node = undefined + this.hoverLayer.line = undefined + this.activeLayer.pens = [] + const idMaps = {} + for (let _i = 0, _a = this.clipboard.pens; _i < _a.length; _i++) { + const pen = _a[_i] + this.pastePen(pen, idMaps, 20) + this.data.pens.push(pen) + this.activeLayer.add(pen) + } + this.render() + this.animate(true) + this.cache() + this.copy() + this.dispatch('paste', this.clipboard.pens) + } + /** + * 粘贴当前画笔,位置偏移 offset + * */ + Topology.prototype.pastePen = function (pen, idMaps, offset, parentId) { + if (idMaps === void 0) { idMaps = {} } + if (offset === void 0) { offset = 0 } + if (!pen.type) { + const old = pen.id + pen.id = s8() + idMaps[old] = pen.id + parentId && (pen.parentId = parentId) + pen.rect.x += offset + pen.rect.ex += offset + pen.rect.y += offset + pen.rect.ey += offset + // 存在自定义瞄点 + if (pen.manualAnchors) { + // 将 位置偏移 offset + pen.manualAnchors.forEach(function (pt) { + pt.x += offset + pt.y += offset + }) + } + // 存在 points + if (pen.points) { + // 将 位置偏移 offset + pen.points.forEach(function (pt) { + pt.x += offset + pt.y += offset + }) + } + // 若是 echarts 等 dom 元素 则清一下 elementId + if (this.clearElementIdPensName.includes(pen.name)) { + pen.elementId = undefined + } + pen.init() + } else if (pen instanceof Line) { + pen.id = s8() + parentId && (pen.parentId = parentId) + pen.from = new Point(pen.from.x + offset, pen.from.y + offset, pen.from.direction, pen.from.anchorIndex, idMaps[pen.from.id]) + pen.to = new Point(pen.to.x + offset, pen.to.y + offset, pen.to.direction, pen.to.anchorIndex, idMaps[pen.to.id]) + const controlPoints = [] + for (let _i = 0, _a = pen.controlPoints; _i < _a.length; _i++) { + const pt = _a[_i] + controlPoints.push(new Point(pt.x + offset, pt.y + offset)) + } + pen.controlPoints = controlPoints + } + if (pen.children) { + for (let _b = 0, _c = pen.children; _b < _c.length; _b++) { + const item = _c[_b] + this.pastePen(item, idMaps, offset, pen.id) + } + } + } + // newId(node: any, idMaps: any) { + // const old = node.id; + // node.id = s8(); + // idMaps[old] = node.id; + // if (node.children) { + // for (const item of node.children) { + // this.newId(item, idMaps); + // } + // } + // } + Topology.prototype.animate = function (autoplay) { + if (autoplay === void 0) { autoplay = false } + this.animateLayer.readyPlay(undefined, autoplay) + this.animateLayer.animate() + } + Topology.prototype.updateProps = function (cache, pens) { + if (cache === void 0) { cache = true } + if (!pens) { + pens = this.activeLayer.pens + } + for (let _i = 0, pens_1 = pens; _i < pens_1.length; _i++) { + const pen = pens_1[_i] + if (pen instanceof Node) { + if (pen.autoRect) { + const ctx = this.canvas.canvas.getContext('2d') + const rect = calcTextRect(ctx, pen) + pen.rect.width = rect.width + pen.lineWidth * 2 + pen.rect.height = rect.height + } + pen.init() + pen.initRect() + } + } + this.activeLayer.updateLines(pens) + this.activeLayer.calcControlPoints() + this.activeLayer.saveNodeRects() + this.render() + // tslint:disable-next-line: no-unused-expression + cache && this.cache() + } + Topology.prototype.lock = function (lock) { + this.data.locked = lock + for (let _i = 0, _a = this.data.pens; _i < _a.length; _i++) { + const item = _a[_i] + item.addToDiv && item.addToDiv() + } + this.dispatch('locked', this.data.locked) + } + Topology.prototype.lockPens = function (pens, lock) { + for (let _i = 0, _a = this.data.pens; _i < _a.length; _i++) { + const item = _a[_i] + for (let _b = 0, pens_2 = pens; _b < pens_2.length; _b++) { + const pen = pens_2[_b] + if (item.id === pen.id) { + item.locked = lock + item.addToDiv && item.addToDiv() + break + } + } + } + this.dispatch('lockPens', { + pens: pens, + lock: lock + }) + } + Topology.prototype.up = function (pen, pens) { + if (!pens) { + pens = this.data.pens + } + const i = this.findIndex(pen, pens) + if (i > -1 && i !== pens.length - 1) { + pens.splice(i + 2, 0, pens[i]) + pens.splice(i, 1) + } else { + const parent_2 = getParent(pens, pen) + if (!parent_2) { + return + } + this.up(pen, parent_2.children) + } + } + Topology.prototype.top = function (pen, pens) { + if (!pens) { + pens = this.data.pens + } + const i = this.findIndex(pen, pens) + if (i > -1) { + pens.push(pens[i]) + pens.splice(i, 1) + } else { + const parent_3 = getParent(pens, pen) + if (!parent_3) { + return + } + this.top(pen, parent_3.children) + } + } + Topology.prototype.down = function (pen, pens) { + if (!pens) { + pens = this.data.pens + } + const i = this.findIndex(pen, pens) + if (i > -1 && i !== 0) { + pens.splice(i - 1, 0, pens[i]) + pens.splice(i + 1, 1) + } else { + const parent_4 = getParent(pens, pen) + if (!parent_4) { + return + } + this.down(pen, parent_4.children) + } + } + Topology.prototype.bottom = function (pen, pens) { + if (!pens) { + pens = this.data.pens + } + const i = this.findIndex(pen, pens) + if (i > -1) { + pens.unshift(pens[i]) + pens.splice(i + 1, 1) + } else { + const parent_5 = getParent(pens, pen) + if (!parent_5) { + return + } + this.bottom(pen, parent_5.children) + } + } + Topology.prototype.getParent = function (pen) { + return getParent(this.data.pens, pen) + } + Topology.prototype.combine = function (pens, stand) { + if (stand === void 0) { stand = false } + if (!pens) { + pens = this.activeLayer.pens + } + const rect = getRect(pens) + for (let _i = 0, pens_3 = pens; _i < pens_3.length; _i++) { + var item = pens_3[_i] + var i = this.findIndex(item) + if (i > -1) { + this.data.pens.splice(i, 1) + } + } + let node = new Node({ + name: 'combine', + rect: new Rect(rect.x, rect.y, rect.width, rect.height), + text: '', + paddingLeft: 0, + paddingRight: 0, + paddingTop: 0, + paddingBottom: 0, + strokeStyle: 'transparent', + children: [] + }) + for (var i = 0; i < pens.length; ++i) { + if (pens[i].type === PenType.Node && rect.width === pens[i].rect.width && rect.height === pens[i].rect.height) { + node = pens[i] + if (!node.children) { + node.children = [] + } + pens.splice(i, 1) + break + } + } + for (let _a = 0, pens_4 = pens; _a < pens_4.length; _a++) { + var item = pens_4[_a] + item.stand = stand + item.parentId = node.id + item.calcRectInParent(node) + node.children.push(item) + } + this.data.pens.push(node) + this.activeLayer.setPens([node]) + this.dispatch('combine', node) + this.cache() + } + Topology.prototype.uncombine = function (node) { + if (!node) { + node = this.activeLayer.pens[0] + } + if (!(node instanceof Node)) { + return + } + for (let _i = 0, _a = node.children; _i < _a.length; _i++) { + const item = _a[_i] + item.parentId = undefined + item.rectInParent = undefined + item.locked = Lock.None + this.data.pens.push(item) + } + const i = this.findIndex(node) + if (i > -1 && node.name === 'combine') { + this.data.pens.splice(i, 1) + } else { + node.children = undefined + } + this.cache() + this.activeLayer.clear() + this.hoverLayer.clear() + this.dispatch('uncombine', node) + } + Topology.prototype.find = function (idOrTag, pens, array) { + let list + if (Array.isArray(pens)) { + list = pens + } else { + list = this.data.pens + array = pens + } + const result = find(idOrTag, list) + if (array) { + return result + } + if (result.length === 0) { + return null + } else if (result.length === 1) { + return result[0] + } + return result + } + Topology.prototype.findIndex = function (pen, pens) { + if (!pens) { + pens = this.data.pens + } + return pens.findIndex(function (item) { return item.id === pen.id }) + } + Topology.prototype.play = function (idOrTag, pause) { + this.divLayer.play(idOrTag, pause) + } + Topology.prototype.translate = function (x, y, process, noNotice) { + const _this = this + if (!process) { + this.lastTranlated.x = 0 + this.lastTranlated.y = 0 + } + const offsetX = x - this.lastTranlated.x + const offsetY = y - this.lastTranlated.y + this.data.x += offsetX + this.data.y += offsetY + // for (const item of this.data.pens) { + // item.translate(offsetX, offsetY); + // } + if (this.data.bkImageRect && !this.data.bkImageStatic) { + this.data.bkImageRect.translate(offsetX, offsetY) + } + Store.set(this.generateStoreKey('LT:updateLines'), this.data.pens) + this.lastTranlated.x = x + this.lastTranlated.y = y + this.render() + this.divLayer.render() + this.animateLayer.stop() + if (this.cacheTimer) { + clearTimeout(this.cacheTimer) + } + this.cacheTimer = setTimeout(function () { + let _a + _this.animateLayer.readyPlay(undefined, true) + _this.animateLayer.animate(); + (_a = _this.cache) === null || _a === void 0 ? void 0 : _a.call(_this) + }, 300) + if (!noNotice) { + this.dispatch('translate', { x: x, y: y }) + } + } + // scale for scaled canvas: + // > 1, expand + // < 1, reduce + Topology.prototype.scale = function (scale, center) { + if (this.data.scale * scale < this.options.minScale) { + scale = this.options.minScale / this.data.scale + this.data.scale = this.options.minScale + } else if (this.data.scale * scale > this.options.maxScale) { + scale = this.options.maxScale / this.data.scale + this.data.scale = this.options.maxScale + } else { + this.data.scale = Math.round(this.data.scale * scale * 100) / 100 + } + !center && (center = getRect(this.data.pens).center) + for (let _i = 0, _a = this.data.pens; _i < _a.length; _i++) { + const item = _a[_i] + item.scale(scale, center) + } + if (this.data.bkImageRect && !this.data.bkImageStatic) { + const backCenter = new Point(center.x + this.data.x, center.y + this.data.y) + this.data.bkImageRect.scale(scale, backCenter) + } + Store.set(this.generateStoreKey('LT:updateLines'), this.data.pens) + Store.set(this.generateStoreKey('LT:scale'), this.data.scale) + this.render() + this.cache() + this.dispatch('scale', this.data.scale) + } + // scale for origin canvas: + Topology.prototype.scaleTo = function (scale, center) { + this.scale(scale / this.data.scale, center) + } + Topology.prototype.round = function () { + for (let _i = 0, _a = this.data.pens; _i < _a.length; _i++) { + const item = _a[_i] + if (item instanceof Node) { + item.round() + } + } + } + Topology.prototype.centerView = function (padding) { + if (!this.hasView()) { return } + const rect = this.getRect() + const viewCenter = this.getViewCenter(padding) + const center = rect.center + this.translate(viewCenter.x - center.x, viewCenter.y - center.y) + const parentElem = this.canvas.parentElem + const x = (parentElem.scrollWidth - parentElem.offsetWidth) / 2 + const y = (parentElem.scrollHeight - parentElem.offsetHeight) / 2 + parentElem.scrollTo(x, y) + return true + } + Topology.prototype.fitView = function (viewPadding) { + if (!this.hasView()) { return } + // 1. 重置画布尺寸为容器尺寸 + const parentElem = this.canvas.parentElem + const width = parentElem.offsetWidth; const height = parentElem.offsetHeight + this.resize({ + width: width, + height: height + }) + // 2. 获取设置的留白值 + const padding = formatPadding(viewPadding || this.options.viewPadding) + // 3. 获取图形尺寸 + const rect = this.getRect() + // 4. 计算缩放比 + const w = (width - padding[1] - padding[3]) / rect.width + const h = (height - padding[0] - padding[2]) / rect.height + let ratio = w + if (w > h) { + ratio = h + } + this.scale(ratio) + // 5. 图形居中 + this.centerView(viewPadding) + } + Topology.prototype.hasView = function () { + return !!this.data.pens.length + } + Topology.prototype.getViewCenter = function (viewPadding) { + const padding = formatPadding(viewPadding || this.options.viewPadding) + const _a = this.canvas; const width = _a.width; const height = _a.height + return { + x: (width - padding[1] - padding[3]) / 2 + padding[3], + y: (height - padding[0] - padding[2]) / 2 + padding[0] + } + } + Topology.prototype.generateStoreKey = function (key) { + return this.id + '-' + key + } + Topology.prototype.createMarkdownTip = function () { + this.tipMarkdown = document.createElement('div') + this.tipMarkdown.className = 'topology-markdown' + this.tipMarkdown.style.position = 'fixed' + this.tipMarkdown.style.zIndex = '-1' + this.tipMarkdown.style.left = '-9999px' + this.tipMarkdown.style.padding = '8px 0' + this.tipMarkdownContent = document.createElement('div') + this.tipMarkdownContent.style.maxWidth = '320px' + this.tipMarkdownContent.style.outline = 'none' + this.tipMarkdownContent.style.borderRadius = '4px' + this.tipMarkdownContent.style.backgroundColor = 'rgba(0,0,0,.6)' + this.tipMarkdownContent.style.color = '#fff' + this.tipMarkdownContent.style.padding = '8px 16px' + this.tipMarkdownContent.style.lineHeight = '1.8' + this.tipMarkdownContent.style.overflowY = 'auto' + this.tipMarkdownContent.style.minHeight = '30px' + this.tipMarkdownContent.style.maxHeight = '400px' + this.tipMarkdown.appendChild(this.tipMarkdownContent) + this.tipMarkdownArrowUp = document.createElement('div') + this.tipMarkdownArrowUp.className = 'arrow' + this.tipMarkdownArrowUp.style.position = 'absolute' + this.tipMarkdownArrowUp.style.border = '6px solid transparent' + this.tipMarkdownArrowUp.style.backgroundColor = 'transparent' + this.tipMarkdownArrowUp.style.left = '50%' + this.tipMarkdownArrowUp.style.transform = 'translateX(-50%)' + this.tipMarkdownArrowUp.style.top = '-4px' + // this.tipMarkdownArrowUp.style.borderBottomColor = 'rgba(0,0,0,.6)'; + this.tipMarkdown.appendChild(this.tipMarkdownArrowUp) + this.tipMarkdownArrowDown = document.createElement('div') + this.tipMarkdownArrowDown.className = 'arrow' + this.tipMarkdownArrowDown.style.position = 'absolute' + this.tipMarkdownArrowDown.style.border = '6px solid transparent' + this.tipMarkdownArrowDown.style.left = '50%' + this.tipMarkdownArrowDown.style.transform = 'translateX(-50%)' + this.tipMarkdownArrowDown.style.backgroundColor = 'transparent' + this.tipMarkdownArrowDown.style.bottom = '-4px' + // this.tipMarkdownArrowDown.style.borderTopColor = 'rgba(0,0,0,.6)'; + this.tipMarkdown.appendChild(this.tipMarkdownArrowDown) + document.body.appendChild(this.tipMarkdown) + } + Topology.prototype.showTip = function (data, pos) { + if (!data || data.id === this.tip || this.data.tooltip === false || this.data.tooltip === 0) { + return + } + if (data.title) { + this.divLayer.canvas.title = data.title + this.tip = data.id + return + } + if (data.tipId) { + this.tipElem = document.getElementById(data.tipId) + } + let elem = this.tipElem + if (data.markdown) { + elem = this.tipMarkdown + const marked = window.marked + if (marked) { + this.tipMarkdownContent.innerHTML = marked(data.markdown) + } else { + this.tipMarkdownContent.innerHTML = data.markdown + } + const a = this.tipMarkdownContent.getElementsByTagName('A') + for (let i = 0; i < a.length; ++i) { + a[i].setAttribute('target', '_blank') + } + } + if (!elem) { + return + } + const parentRect = this.parentElem.getBoundingClientRect() + const elemRect = elem.getBoundingClientRect() + let x = (parentRect.left || parentRect.x) - (elemRect.width - data.rect.width) / 2 + this.data.x + let y = (parentRect.top || parentRect.y) - elemRect.height - data.rect.height + this.data.y + x += !data.type ? data.rect.x : pos.x + y += !data.type ? data.rect.ey : pos.y + if (y > 0) { + this.tipMarkdownArrowUp.style.borderBottomColor = 'transparent' + this.tipMarkdownArrowDown.style.borderTopColor = 'rgba(0,0,0,.6)' + } else { + y += elemRect.height + data.rect.height + this.tipMarkdownArrowUp.style.borderBottomColor = 'rgba(0,0,0,.6)' + this.tipMarkdownArrowDown.style.borderTopColor = 'transparent' + } + elem.style.display = 'block' + elem.style.position = 'fixed' + elem.style.left = x + 'px' + elem.style.top = y + 'px' + elem.style.zIndex = '100' + this.tip = data.id + this.dispatch('tip', elem) + } + Topology.prototype.hideTip = function () { + if (!this.tip) { + return + } + this.tipMarkdown.style.left = '-9999px' + this.tipMarkdown.style.zIndex = '-1' + if (this.tipElem) { + this.tipElem.style.left = '-9999px' + this.tipElem.style.zIndex = '-1' + this.tipElem = undefined + } + this.divLayer.canvas.title = '' + this.tip = '' + } + Topology.prototype.scroll = function (x, y) { + const _this = this + if (this.scrolling) { + return + } + this.scrolling = true + this.parentElem.scrollLeft += x + this.parentElem.scrollTop += y + setTimeout(function () { + _this.scrolling = false + }, 700) + } + Topology.prototype.toComponent = function (pens) { + if (!pens) { + pens = this.data.pens + } + const rect = getRect(pens) + let node = new Node({ + name: 'combine', + rect: new Rect(rect.x, rect.y, rect.width, rect.height), + text: '', + paddingLeft: 0, + paddingRight: 0, + paddingTop: 0, + paddingBottom: 0, + strokeStyle: 'transparent', + children: [] + }) + for (let _i = 0, pens_5 = pens; _i < pens_5.length; _i++) { + var item = pens_5[_i] + if (item.type === PenType.Node && rect.width === item.rect.width && rect.height === item.rect.height) { + node = item + if (!node.children) { + node.children = [] + } + break + } + } + for (let _a = 0, pens_6 = pens; _a < pens_6.length; _a++) { + var item = pens_6[_a] + if (item !== node) { + item.parentId = node.id + item.calcRectInParent(node) + node.children.push(item) + } + } + return node + } + Topology.prototype.clearBkImg = function () { + this.canvas.clearBkImg() + } + Topology.prototype.dispatch = function (event, data) { + if (this.options.on) { + this.options.on(event, data) + } + this.emit(event, data) + return this + } + Topology.prototype.on = function (eventType, handler) { + this._emitter.on(eventType, handler) + return this + } + Topology.prototype.off = function (eventType, handler) { + this._emitter.off(eventType, handler) + return this + } + Topology.prototype.emit = function (eventType, params) { + this._emitter.emit(eventType, params) + return this + } + Topology.prototype.getValue = function (idOrTag, attr) { + if (attr === void 0) { attr = 'text' } + let pen = this.find(idOrTag) + if (!pen) { + return + } + if (Array.isArray(pen)) { + pen = pen[0] + } + if (!pen) { + return + } + return pen[attr] + } + Topology.prototype.setValue = function (idOrTag, val, attr) { + if (attr === void 0) { attr = 'text' } + if (typeof idOrTag === 'object') { + val = idOrTag + idOrTag = idOrTag.id || idOrTag.tag + } + const pens = find(idOrTag, this.data.pens) + pens.forEach(function (item) { + if (item.id === idOrTag || (item.tags && item.tags.indexOf(idOrTag) > -1)) { + if (typeof val === 'object') { + item.fromData(item, val) + } else { + item[attr] = val + } + item.doWheres() + if (item.type === PenType.Node) { + item.animateReady = Node.cloneState(item) + } + } + }) + this.willRender() + } + Topology.prototype.willRender = function () { + const _this = this + if (this.actionTimer) { + clearTimeout(this.actionTimer) + } + this.actionTimer = setTimeout(function () { + _this.render() + _this.actionTimer = undefined + }, 500) + } + Topology.prototype.setLineName = function (name, render) { + if (render === void 0) { render = true } + this.data.pens.forEach(function (pen) { + if (pen.type) { + pen.name = name + pen.calcControlPoints() + } + }) + render && this.render() + } + Topology.prototype.setColor = function (color) { + this.options.color = color + Store.set(this.generateStoreKey('LT:color'), color) + this.options.fontColor = color + Store.set(this.generateStoreKey('LT:fontColor'), color) + } + Topology.prototype.setFontColor = function (color) { + this.options.fontColor = color + Store.set(this.generateStoreKey('LT:fontColor'), color) + } + Topology.prototype.setIconColor = function (color) { + Store.set(this.generateStoreKey('LT:iconColor'), color) + } + Topology.prototype.setBkColor = function (color) { + this.data.bkColor = color + Store.set('LT:bkColor', color) + } + Topology.prototype.pureData = function () { + const _this = this + const data = JSON.parse(JSON.stringify(this.data)) + data.pens.forEach(function (pen) { + for (const key in pen) { + if (pen[key] === undefined || pen[key] === undefined) { + delete pen[key] + } + } + delete pen.TID + delete pen.animateCycleIndex + delete pen.img + delete pen.lastImage + delete pen.fillImg + delete pen.strokeImg + delete pen.lastFillImage + delete pen.lastStrokeImage + delete pen.imgNaturalWidth + delete pen.imgNaturalHeight + delete pen.anchors + delete pen.rotatedAnchors + delete pen.dockWatchers + delete pen.elementLoaded + delete pen.elementRendered + delete pen.animateReady + if (pen.animateFrames && pen.animateFrames.length) { + for (let _i = 0, _a = pen.animateFrames; _i < _a.length; _i++) { + const item = _a[_i] + if (item.initState) { + delete item.initState.TID + delete item.initState.animateCycleIndex + delete item.initState.img + delete item.initState.lastImage + delete item.initState.imgNaturalWidth + delete item.initState.imgNaturalHeight + delete item.initState.anchors + delete item.initState.rotatedAnchors + delete item.initState.dockWatchers + delete item.initState.elementLoaded + delete item.initState.elementRendered + delete item.initState.fillImg + delete item.initState.strokeImg + delete item.initState.lastFillImage + delete item.initState.lastStrokeImage + } + if (item.state) { + delete item.state.TID + delete item.state.animateCycleIndex + delete item.state.img + delete item.state.lastImage + delete item.state.imgNaturalWidth + delete item.state.imgNaturalHeight + delete item.state.anchors + delete item.state.rotatedAnchors + delete item.state.dockWatchers + delete item.state.elementLoaded + delete item.state.elementRendered + delete item.state.fillImg + delete item.state.strokeImg + delete item.state.lastFillImage + delete item.state.lastStrokeImage + } + } + } + _this.pureDataChildren(pen) + }) + return data + } + Topology.prototype.pureDataChildren = function (data) { + const _this = this + if (!data.children) { + return + } + data.children.forEach(function (pen) { + for (const key in pen) { + if (pen[key] === undefined || pen[key] === undefined || pen[key] === '') { + delete pen[key] + } + } + delete pen.TID + delete pen.animateCycleIndex + delete pen.img + delete pen.lastImage + delete pen.imgNaturalWidth + delete pen.imgNaturalHeight + delete pen.anchors + delete pen.rotatedAnchors + delete pen.dockWatchers + delete pen.elementLoaded + delete pen.elementRendered + delete pen.animateReady + _this.pureDataChildren(pen) + }) + } + Topology.prototype.destroy = function () { + this.subcribe.unsubscribe() + this.subcribeRender.unsubscribe() + this.subcribeImage.unsubscribe() + this.subcribeAnimateEnd.unsubscribe() + this.subcribeAnimateMoved.unsubscribe() + this.subcribeMediaEnd.unsubscribe() + this.subcribeEmit.unsubscribe() + this.animateLayer.destroy() + this.divLayer.destroy() + this.canvas.destroy() + this.activeLayer.destroy() + this.hoverLayer.destroy() + this.offscreen.destroy() + document.body.removeChild(this.tipMarkdown) + window.removeEventListener('resize', this.winResize) + this.parentElem.removeEventListener('scroll', this.onScroll) + window.removeEventListener('scroll', this.onScroll) + document.removeEventListener('gesturestart', this.preventDefault) + switch (this.options.keydown) { + case KeydownType.Document: + document.removeEventListener('keydown', this.onkeydown) + break + case KeydownType.Canvas: + this.divLayer.canvas.removeEventListener('keydown', this.onkeydown) + break + } + this.closeSocket() + this.closeMqtt() + if (this.socketFn) { + this.off('websocket', this.socketFn) + this.off('mqtt', this.socketFn) + } + this.cache = null + this.data = null + console.log(this.options) + window.topology = null + createCacheTable() + this.divLayer.clear() + this.activeLayer = null + this.activeLayer = null + this.hoverLayer = null + this.animateLayer = null + this.mouseDown = null + this.subcribe = null + this.subcribeRender = null + this.subcribeImage = null + this.subcribeAnimateEnd = null + this.subcribeAnimateMoved = null + this.subcribeEmit = null + this.offscreen = null + this.parentElem = null + this.data = null + this.caches = null + this.clipboard = null + this.gifs = {} + } + return Topology +}()) +export { Topology } +// # sourceMappingURL=core.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/core.js.map b/nezha-fronted/src/components/common/@topology/core/src/core.js.map new file mode 100644 index 000000000..f65f93b09 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/core.js.map @@ -0,0 +1 @@ +{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../packages/core/src/core.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/divLayer.d.ts b/nezha-fronted/src/components/common/@topology/core/src/divLayer.d.ts new file mode 100644 index 000000000..b020bb9c8 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/divLayer.d.ts @@ -0,0 +1,54 @@ +import { Options } from './options'; +import { Node } from './models/node'; +import { Layer } from './layer'; +export declare class DivLayer extends Layer { + parentElem: HTMLElement; + options: Options; + canvas: HTMLDivElement; + player: HTMLDivElement; + curNode: Node; + playBtn: HTMLElement; + currentTime: HTMLElement; + progressCurrent: HTMLElement; + progress: HTMLElement; + loop: HTMLElement; + media: HTMLMediaElement; + audios: { + [key: string]: { + player: HTMLElement; + current: HTMLElement; + media: HTMLMediaElement; + }; + }; + iframes: { + [key: string]: HTMLIFrameElement; + }; + elements: { + [key: string]: HTMLElement; + }; + gifs: { + [key: string]: HTMLImageElement; + }; + private subcribeDiv; + private subcribePlay; + private subcribeNode; + constructor(parentElem: HTMLElement, options: Options, TID: string); + addDiv: (node: Node) => void; + createPlayer: () => void; + getMediaCurrent: () => void; + addMedia: (node: Node, type: string) => HTMLDivElement; + play(idOrTag: any, pause?: boolean): void; + playOne(item: Node, pause?: boolean): void; + addIframe(node: Node): HTMLIFrameElement; + addGif(node: Node): HTMLImageElement; + setElemPosition: (node: Node, elem: HTMLElement) => void; + removeDiv: (item: Node) => void; + clear(shallow?: boolean): void; + formatSeconds(seconds: number): string; + resize(size?: { + width: number; + height: number; + }): void; + render(): void; + destroy(): void; +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/divLayer.js b/nezha-fronted/src/components/common/@topology/core/src/divLayer.js new file mode 100644 index 000000000..27c4565fa --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/divLayer.js @@ -0,0 +1,502 @@ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +import { Store } from 'le5le-store'; +import { Lock } from './models/status'; +import { images, PenType } from './models/pen'; +import { Layer } from './layer'; +import { find } from './utils'; +var videos = {}; +var DivLayer = /** @class */ (function (_super) { + __extends(DivLayer, _super); + function DivLayer(parentElem, options, TID) { + if (options === void 0) { options = {}; } + var _this = _super.call(this, TID) || this; + _this.parentElem = parentElem; + _this.options = options; + _this.canvas = document.createElement('div'); + _this.player = document.createElement('div'); + _this.audios = {}; + _this.iframes = {}; + _this.elements = {}; + _this.gifs = {}; + _this.addDiv = function (node) { + if (node.audio) { + if (_this.audios[node.id] && _this.audios[node.id].media.src !== node.audio) { + _this.audios[node.id].media.src = node.audio; + } + setTimeout(function () { + _this.setElemPosition(node, (_this.audios[node.id] && _this.audios[node.id].player) || _this.addMedia(node, 'audio')); + }); + } + if (node.video) { + if (videos[node.id] && videos[node.id].media.src !== node.video) { + videos[node.id].media.src = node.video; + } + setTimeout(function () { + _this.setElemPosition(node, (videos[node.id] && videos[node.id].player) || _this.addMedia(node, 'video')); + }); + } + if (node.iframe) { + if (!_this.iframes[node.id]) { + _this.addIframe(node); + setTimeout(function () { + _this.addDiv(node); + }); + } + else { + if (_this.iframes[node.id].src !== node.iframe) { + _this.iframes[node.id].src = node.iframe; + } + _this.setElemPosition(node, _this.iframes[node.id]); + } + } + if (node.elementId) { + if (!_this.elements[node.id]) { + _this.elements[node.id] = document.getElementById(node.elementId); + if (_this.elements[node.id]) { + _this.canvas.appendChild(_this.elements[node.id]); + } + } + _this.setElemPosition(node, _this.elements[node.id]); + } + if (node.gif) { + if (node.image.indexOf('.gif') < 0) { + node.gif = false; + _this.canvas.removeChild(_this.gifs[node.id]); + _this.gifs[node.id] = undefined; + } + else if (node.img) { + if (_this.gifs[node.id] && _this.gifs[node.id].src !== node.image) { + _this.gifs[node.id].src = node.image; + } + _this.setElemPosition(node, _this.gifs[node.id] || _this.addGif(node)); + } + } + if (node.children) { + for (var _i = 0, _a = node.children; _i < _a.length; _i++) { + var child = _a[_i]; + if (child.type === PenType.Line) { + continue; + } + _this.addDiv(child); + } + } + }; + _this.createPlayer = function () { + _this.player.style.position = 'fixed'; + _this.player.style.outline = 'none'; + _this.player.style.top = '-99999px'; + _this.player.style.height = '40px'; + _this.player.style.padding = '10px 15px'; + _this.player.style.background = 'rgba(200,200,200,.1)'; + _this.player.style.display = 'flex'; + _this.player.style.alignItems = 'center'; + _this.player.style.userSelect = 'initial'; + _this.player.style.pointerEvents = 'initial'; + _this.player.style.zIndex = '1'; + _this.playBtn = document.createElement('i'); + _this.currentTime = document.createElement('span'); + _this.progress = document.createElement('div'); + _this.progressCurrent = document.createElement('div'); + _this.loop = document.createElement('i'); + var fullScreen = document.createElement('i'); + _this.playBtn.className = _this.options.playIcon; + _this.playBtn.style.fontSize = '18px'; + _this.playBtn.style.lineHeight = '20px'; + _this.playBtn.style.cursor = 'pointer'; + _this.currentTime.style.padding = '0 10px'; + _this.currentTime.innerText = '0 / 0'; + _this.progress.style.position = 'relative'; + _this.progress.style.flexGrow = '1'; + _this.progress.style.top = '0'; + _this.progress.style.height = '4px'; + _this.progress.style.background = '#ccc'; + _this.progress.style.borderRadius = '2px'; + _this.progress.style.overflow = 'hidden'; + _this.progress.style.cursor = 'pointer'; + _this.progressCurrent.style.position = 'absolute'; + _this.progressCurrent.style.left = '0'; + _this.progressCurrent.style.top = '0'; + _this.progressCurrent.style.bottom = '0'; + _this.progressCurrent.style.width = '0'; + _this.progressCurrent.style.background = '#52c41a'; + _this.loop.style.margin = '0 10px'; + _this.loop.style.padding = '2px 5px'; + _this.loop.style.borderRadius = '2px'; + _this.loop.className = _this.options.loopIcon; + _this.loop.style.fontSize = '18px'; + _this.loop.style.lineHeight = '20px'; + _this.loop.style.cursor = 'pointer'; + fullScreen.className = _this.options.fullScreenIcon; + fullScreen.style.fontSize = '17px'; + fullScreen.style.lineHeight = '20px'; + fullScreen.style.cursor = 'pointer'; + _this.player.appendChild(_this.playBtn); + _this.player.appendChild(_this.currentTime); + _this.player.appendChild(_this.progress); + _this.progress.appendChild(_this.progressCurrent); + _this.player.appendChild(_this.loop); + _this.player.appendChild(fullScreen); + _this.playBtn.onclick = function () { + if (_this.media.paused) { + _this.media.play(); + _this.playBtn.className = _this.options.pauseIcon; + } + else { + _this.media.pause(); + _this.playBtn.className = _this.options.playIcon; + } + }; + _this.progress.onclick = function (e) { + _this.media.currentTime = (e.offsetX / _this.progress.clientWidth) * _this.media.duration; + }; + _this.loop.onclick = function () { + _this.media.loop = !_this.media.loop; + _this.curNode.playLoop = _this.media.loop; + if (_this.media.loop) { + _this.loop.style.background = '#ddd'; + } + else { + _this.loop.style.background = 'none'; + } + }; + fullScreen.onclick = function () { + _this.media.requestFullscreen(); + }; + }; + _this.getMediaCurrent = function () { + if (!_this.media) { + return; + } + _this.currentTime.innerText = + _this.formatSeconds(_this.media.currentTime) + ' / ' + _this.formatSeconds(_this.media.duration); + _this.progressCurrent.style.width = + (_this.media.currentTime / _this.media.duration) * _this.progress.clientWidth + 'px'; + }; + _this.addMedia = function (node, type) { + var player = document.createElement('div'); + var current = document.createElement('div'); + var media = document.createElement(type); + player.id = node.id; + current.style.position = 'absolute'; + current.style.outline = 'none'; + current.style.left = '0'; + current.style.bottom = '0'; + current.style.height = '2px'; + current.style.background = '#52c41a'; + media.style.position = 'absolute'; + media.style.outline = 'none'; + media.style.left = '0'; + media.style.right = '0'; + media.style.top = '0'; + media.style.bottom = '0'; + if (type === 'video') { + media.style.width = node.rect.width + 'px'; + media.style.height = node.rect.height + 'px'; + } + player.style.background = 'transparent'; + if (node.playType === 1) { + media.autoplay = true; + } + media.loop = node.playLoop; + media.ontimeupdate = function () { + current.style.width = (media.currentTime / media.duration) * node.rect.width + 'px'; + _this.getMediaCurrent(); + if (_this.media === media) { + if (node.playLoop) { + media.loop = true; + _this.loop.style.background = '#ddd'; + } + else { + media.loop = false; + _this.loop.style.background = 'none'; + } + } + }; + media.onended = function () { + Store.set(_this.generateStoreKey('mediaEnd'), node); + if (_this.media === media) { + _this.playBtn.className = _this.options.playIcon; + } + _this.play(node.nextPlay); + }; + media.onloadedmetadata = function () { + _this.getMediaCurrent(); + }; + media.src = node[type]; + player.appendChild(media); + player.appendChild(current); + if (type === 'video') { + videos[node.id] = { + player: player, + current: current, + media: media, + }; + } + else { + _this.audios[node.id] = { + player: player, + current: current, + media: media, + }; + } + _this.canvas.appendChild(player); + return player; + }; + _this.setElemPosition = function (node, elem) { + if (!elem) { + return; + } + elem.style.position = 'absolute'; + elem.style.outline = 'none'; + elem.style.left = node.rect.x + _this.data.x + 'px'; + elem.style.top = node.rect.y + _this.data.y + 'px'; + elem.style.width = node.rect.width + 'px'; + elem.style.height = node.rect.height + 'px'; + elem.style.display = node.visible ? 'inline' : 'none'; // 是否隐藏元素 + if (node.rotate || node.offsetRotate) { + elem.style.transform = "rotate(" + (node.rotate + node.offsetRotate) + "deg)"; + } + if (node.video && videos[node.id] && videos[node.id].media) { + videos[node.id].media.style.width = '100%'; + videos[node.id].media.style.height = '100%'; + } + if (_this.data.locked > Lock.None || node.locked > Lock.None) { + elem.style.userSelect = 'initial'; + elem.style.pointerEvents = 'initial'; + } + else { + elem.style.userSelect = 'none'; + elem.style.pointerEvents = 'none'; + } + }; + _this.removeDiv = function (item) { + if (_this.curNode && item.id === _this.curNode.id) { + _this.curNode = undefined; + _this.media = undefined; + _this.player.style.top = '-99999px'; + } + if (item.audio) { + _this.canvas.removeChild(_this.audios[item.id].player); + _this.audios[item.id] = undefined; + } + if (item.video) { + _this.canvas.removeChild(videos[item.id].player); + videos[item.id] = undefined; + } + if (item.iframe) { + _this.canvas.removeChild(_this.iframes[item.id]); + _this.iframes[item.id] = undefined; + } + if (item.elementId) { + _this.canvas.removeChild(_this.elements[item.id]); + _this.elements[item.id] = undefined; + item.elementId = ''; + } + if (item.gif) { + _this.canvas.removeChild(_this.gifs[item.id]); + _this.gifs[item.id] = undefined; + } + if (item.children) { + for (var _i = 0, _a = item.children; _i < _a.length; _i++) { + var child = _a[_i]; + if (child.type === PenType.Line) { + continue; + } + _this.removeDiv(child); + } + } + }; + if (!_this.options.playIcon) { + _this.options.playIcon = 't-icon t-play'; + } + if (!_this.options.pauseIcon) { + _this.options.pauseIcon = 't-icon t-pause'; + } + if (!_this.options.fullScreenIcon) { + _this.options.fullScreenIcon = 't-icon t-full-screen'; + } + if (!_this.options.loopIcon) { + _this.options.loopIcon = 't-icon t-loop'; + } + _this.canvas.style.position = 'absolute'; + _this.canvas.style.left = '0'; + _this.canvas.style.top = '0'; + _this.canvas.style.outline = 'none'; + _this.canvas.style.background = 'transparent'; + parentElem.appendChild(_this.canvas); + parentElem.appendChild(_this.player); + _this.createPlayer(); + _this.subcribeDiv = Store.subscribe(_this.generateStoreKey('LT:addDiv'), _this.addDiv); + _this.subcribeDiv = Store.subscribe(_this.generateStoreKey('LT:removeDiv'), _this.removeDiv); + _this.subcribePlay = Store.subscribe(_this.generateStoreKey('LT:play'), function (e) { + _this.playOne(e.pen, e.pause); + }); + _this.subcribeNode = Store.subscribe(_this.generateStoreKey('LT:activeNode'), function (node) { + if (!node || (!node.video && !node.audio)) { + _this.player.style.top = '-99999px'; + return; + } + if (node.audio && _this.audios[node.id]) { + _this.media = _this.audios[node.id].media; + } + else if (node.video && videos[node.id]) { + _this.media = videos[node.id].media; + } + else { + return; + } + _this.curNode = node; + var rect = _this.parentElem.getBoundingClientRect(); + _this.player.style.top = rect.top + _this.parentElem.clientHeight - 40 + 'px'; + _this.player.style.left = rect.left + 'px'; + _this.player.style.width = _this.parentElem.clientWidth + 'px'; + _this.getMediaCurrent(); + if (_this.media.paused) { + _this.playBtn.className = _this.options.playIcon; + } + else { + _this.playBtn.className = _this.options.pauseIcon; + } + }); + document.addEventListener('fullscreenchange', function (e) { + if (!_this.media) { + return; + } + if (document.fullscreen) { + _this.media.controls = true; + _this.media.style.userSelect = 'initial'; + _this.media.style.pointerEvents = 'initial'; + } + else { + _this.media.style.userSelect = 'none'; + _this.media.style.pointerEvents = 'none'; + _this.media.controls = false; + } + }); + return _this; + } + DivLayer.prototype.play = function (idOrTag, pause) { + var _this = this; + if (!idOrTag) { + return; + } + var pens = find(idOrTag, this.data.pens); + pens.forEach(function (item) { + _this.playOne(item, pause); + }); + }; + DivLayer.prototype.playOne = function (item, pause) { + if (item.audio && this.audios[item.id] && this.audios[item.id].media) { + if (pause) { + this.audios[item.id].media.pause(); + } + else if (this.audios[item.id].media.paused) { + this.audios[item.id].media.play(); + } + } + else if (item.video && videos[item.id].media) { + if (pause) { + videos[item.id].media.pause(); + } + else if (videos[item.id].media.paused) { + videos[item.id].media.play(); + } + } + }; + DivLayer.prototype.addIframe = function (node) { + var iframe = document.createElement('iframe'); + iframe.scrolling = 'no'; + iframe.frameBorder = '0'; + iframe.src = node.iframe; + this.iframes[node.id] = iframe; + this.canvas.appendChild(iframe); + return iframe; + }; + DivLayer.prototype.addGif = function (node) { + this.gifs[node.id] = node.img; + this.canvas.appendChild(node.img); + return node.img; + }; + DivLayer.prototype.clear = function (shallow) { + this.canvas.innerHTML = ''; + this.audios = {}; + videos = {}; + this.iframes = {}; + this.elements = {}; + this.gifs = {}; + if (!shallow) { + // tslint:disable-next-line:forin + for (var key in images) { + delete images[key]; + } + } + this.player.style.top = '-99999px'; + }; + DivLayer.prototype.formatSeconds = function (seconds) { + var h = Math.floor(seconds / 3600); + var m = Math.floor(seconds / 60) % 60; + var s = Math.floor(seconds % 60); + var txt = s + ''; + if (m) { + txt = m + ':' + s; + } + else { + txt = '0:' + s; + } + if (h) { + txt = h + ':' + m + ':' + s; + } + return txt; + }; + DivLayer.prototype.resize = function (size) { + if (size) { + this.canvas.style.width = size.width + 'px'; + this.canvas.style.height = size.height + 'px'; + } + else { + if (this.options.width && this.options.width !== 'auto') { + this.canvas.style.width = this.options.width + 'px'; + } + else { + this.canvas.style.width = this.parentElem.clientWidth + 'px'; + } + if (this.options.height && this.options.height !== 'auto') { + this.canvas.style.height = this.options.height + 'px'; + } + else { + this.canvas.style.height = this.parentElem.clientHeight - 8 + 'px'; + } + } + }; + DivLayer.prototype.render = function () { + for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) { + var item = _a[_i]; + if (!item.getTID()) { + item.setTID(this.TID); + } + this.addDiv(item); + } + }; + DivLayer.prototype.destroy = function () { + _super.prototype.destroy.call(this); + this.clear(); + this.subcribeDiv.unsubscribe(); + this.subcribeNode.unsubscribe(); + this.subcribePlay.unsubscribe(); + }; + return DivLayer; +}(Layer)); +export { DivLayer }; +//# sourceMappingURL=divLayer.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/divLayer.js.map b/nezha-fronted/src/components/common/@topology/core/src/divLayer.js.map new file mode 100644 index 000000000..f917fcbc9 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/divLayer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"divLayer.js","sourceRoot":"","sources":["../../../packages/core/src/divLayer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/hoverLayer.d.ts b/nezha-fronted/src/components/common/@topology/core/src/hoverLayer.d.ts new file mode 100644 index 000000000..b92c6ddc5 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/hoverLayer.d.ts @@ -0,0 +1,27 @@ +import { Rect } from './models/rect'; +import { Point } from './models/point'; +import { Line } from './models/line'; +import { Node } from './models/node'; +import { Pen } from './models/pen'; +import { Options } from './options'; +import { Layer } from './layer'; +export declare class HoverLayer extends Layer { + options: Options; + line: Line; + initLine: Line; + node: Node; + hoverLineCP: Point; + lasthoverLineCP: Point; + dockAnchor: Point; + hoverAnchorIndex: number; + dockLineX: number; + dockLineY: number; + root: Node; + dragRect: Rect; + constructor(options: Options, TID: string); + lineTo(to: Point, toArrow?: string): void; + lineFrom(from: Point): void; + render(ctx: CanvasRenderingContext2D): void; + getRoot(pen: Pen): any; + clear(): void; +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/hoverLayer.js b/nezha-fronted/src/components/common/@topology/core/src/hoverLayer.js new file mode 100644 index 000000000..d9602d8a3 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/hoverLayer.js @@ -0,0 +1,211 @@ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +import { PenType } from './models/pen'; +import { Store } from 'le5le-store'; +import { Lock } from './models/status'; +import { Layer } from './layer'; +import { rgba } from './utils/math'; +var HoverLayer = /** @class */ (function (_super) { + __extends(HoverLayer, _super); + function HoverLayer(options, TID) { + if (options === void 0) { options = {}; } + var _this = _super.call(this, TID) || this; + _this.options = options; + _this.hoverAnchorIndex = -1; + _this.dockLineX = 0; + _this.dockLineY = 0; + Store.set(_this.generateStoreKey('LT:HoverLayer'), _this); + return _this; + } + HoverLayer.prototype.lineTo = function (to, toArrow) { + if (toArrow === void 0) { toArrow = 'triangleSolid'; } + if (!this.line || this.line.locked) { + return; + } + this.line.setTo(to, toArrow); + if (this.line.from.id || this.line.to.id) { + this.line.calcControlPoints(); + } + Store.set(this.generateStoreKey('pts-') + this.line.id, undefined); + Store.set(this.generateStoreKey('LT:updateLines'), [this.line]); + }; + HoverLayer.prototype.lineFrom = function (from) { + if (this.line.locked) { + return; + } + this.line.setFrom(from, this.line.fromArrow); + if (this.line.from.id || this.line.to.id) { + this.line.calcControlPoints(); + } + Store.set(this.generateStoreKey('pts-') + this.line.id, undefined); + Store.set(this.generateStoreKey('LT:updateLines'), [this.line]); + }; + HoverLayer.prototype.render = function (ctx) { + var _this = this; + if (this.data.locked === Lock.NoEvent || this.options.hoverColor === 'transparent') { + return; + } + ctx.fillStyle = this.options.hoverColor; + ctx.save(); + // anchors + if (this.options.alwaysAnchor) { + this.data.pens.forEach(function (pen) { + if (pen.type === PenType.Line) { + return; + } + if (pen.hideAnchor) { + return; + } + for (var _i = 0, _a = pen.rotatedAnchors; _i < _a.length; _i++) { + var anchor = _a[_i]; + if (anchor.hidden) { + continue; + } + ctx.beginPath(); + ctx.arc(anchor.x, anchor.y, anchor.radius || _this.options.anchorRadius, 0, Math.PI * 2); + ctx.strokeStyle = anchor.strokeStyle || _this.options.hoverColor; + ctx.fillStyle = anchor.fillStyle || _this.options.anchorFillStyle; + ctx.fill(); + ctx.stroke(); + } + if (_this.options.autoAnchor) { + ctx.beginPath(); + ctx.arc(pen.rect.center.x, pen.rect.center.y, pen.rect.center.radius || _this.options.anchorRadius, 0, Math.PI * 2); + ctx.strokeStyle = _this.options.hoverColor; + ctx.fillStyle = _this.options.anchorFillStyle; + ctx.fill(); + ctx.stroke(); + } + }); + } + ctx.restore(); + if (this.node && !this.data.locked) { + if (!this.node.getTID()) { + this.node.setTID(this.TID); + } + this.root = this.getRoot(this.node) || this.node; + if (this.root) { + ctx.save(); + ctx.strokeStyle = this.options.dragColor; + ctx.globalAlpha = 0.2; + if (this.root.rotate) { + ctx.translate(this.root.rect.center.x, this.root.rect.center.y); + ctx.rotate(((this.root.rotate + this.root.offsetRotate) * Math.PI) / 180); + ctx.translate(-this.root.rect.center.x, -this.root.rect.center.y); + } + ctx.beginPath(); + ctx.strokeRect(this.root.rect.x, this.root.rect.y, this.root.rect.width, this.root.rect.height); + ctx.restore(); + } + if (!this.options.hideAnchor) { + for (var i = 0; i < this.node.rotatedAnchors.length; ++i) { + if (this.node.locked || + this.node.hideAnchor || + (this.node.rotatedAnchors[i].hidden && this.hoverAnchorIndex !== i)) { + continue; + } + ctx.beginPath(); + ctx.arc(this.node.rotatedAnchors[i].x, this.node.rotatedAnchors[i].y, this.node.rotatedAnchors[i].radius || this.options.anchorRadius, 0, Math.PI * 2); + ctx.strokeStyle = this.node.rotatedAnchors[i].strokeStyle || this.options.hoverColor; + ctx.fillStyle = this.node.rotatedAnchors[i].fillStyle || this.options.anchorFillStyle; + ctx.fill(); + ctx.stroke(); + } + } + if (this.options.autoAnchor) { + ctx.beginPath(); + ctx.arc(this.node.rect.center.x, this.node.rect.center.y, this.node.rect.center.radius || this.options.anchorRadius, 0, Math.PI * 2); + ctx.strokeStyle = this.options.hoverColor; + ctx.fillStyle = this.options.anchorFillStyle; + ctx.fill(); + ctx.stroke(); + } + } + if (this.line && !this.data.locked) { + this.root = this.getRoot(this.line); + if (this.root) { + ctx.save(); + ctx.strokeStyle = this.options.dragColor; + ctx.globalAlpha = 0.2; + if (this.root.rotate) { + ctx.translate(this.root.rect.center.x, this.root.rect.center.y); + ctx.rotate(((this.root.rotate + this.root.offsetRotate) * Math.PI) / 180); + ctx.translate(-this.root.rect.center.x, -this.root.rect.center.y); + } + ctx.beginPath(); + ctx.strokeRect(this.root.rect.x, this.root.rect.y, this.root.rect.width, this.root.rect.height); + ctx.restore(); + } + } + if (this.dockAnchor) { + ctx.save(); + ctx.beginPath(); + ctx.arc(this.dockAnchor.x, this.dockAnchor.y, this.dockAnchor.radius || this.options.anchorRadius, 0, Math.PI * 2); + ctx.strokeStyle = this.options.dockStrokeStyle; + ctx.fillStyle = this.options.dockFillStyle; + ctx.fill(); + ctx.stroke(); + ctx.restore(); + } + if (this.hoverLineCP) { + ctx.beginPath(); + ctx.arc(this.hoverLineCP.x, this.hoverLineCP.y, 5, 0, Math.PI * 2); + ctx.fill(); + } + ctx.strokeStyle = rgba(0.5, this.options.hoverColor); + ctx.lineWidth = 1; + if (this.dockLineX > 0) { + var size = Store.get(this.generateStoreKey('LT:size')); + ctx.beginPath(); + ctx.moveTo(this.dockLineX, -this.data.y); + ctx.lineTo(this.dockLineX, size.height); + ctx.stroke(); + } + if (this.dockLineY > 0) { + var size = Store.get(this.generateStoreKey('LT:size')); + ctx.beginPath(); + ctx.moveTo(-this.data.x, this.dockLineY); + ctx.lineTo(size.width, this.dockLineY); + ctx.stroke(); + } + // Select nodes by drag. + if (this.dragRect) { + ctx.fillStyle = rgba(0.2, this.options.dragColor); + ctx.strokeStyle = this.options.dragColor; + ctx.beginPath(); + ctx.strokeRect(this.dragRect.x, this.dragRect.y, this.dragRect.width, this.dragRect.height); + ctx.fillRect(this.dragRect.x, this.dragRect.y, this.dragRect.width, this.dragRect.height); + } + }; + HoverLayer.prototype.getRoot = function (pen) { + if (!pen.parentId) { + return null; + } + for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) { + var item = _a[_i]; + if (item.id === pen.parentId) { + var n = this.getRoot(item); + return n ? n : item; + } + } + return null; + }; + HoverLayer.prototype.clear = function () { + this.node = undefined; + this.line = undefined; + }; + return HoverLayer; +}(Layer)); +export { HoverLayer }; +//# sourceMappingURL=hoverLayer.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/hoverLayer.js.map b/nezha-fronted/src/components/common/@topology/core/src/hoverLayer.js.map new file mode 100644 index 000000000..b157eea57 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/hoverLayer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hoverLayer.js","sourceRoot":"","sources":["../../../packages/core/src/hoverLayer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/layer.d.ts b/nezha-fronted/src/components/common/@topology/core/src/layer.d.ts new file mode 100644 index 000000000..1a4163ad9 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/layer.d.ts @@ -0,0 +1,10 @@ +import { Observer } from 'le5le-store'; +import { TopologyData } from './models/data'; +export declare class Layer { + protected TID: string; + protected data: TopologyData; + subcribe: Observer; + constructor(TID: string); + protected generateStoreKey(key: any): string; + destroy(): void; +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/layer.js b/nezha-fronted/src/components/common/@topology/core/src/layer.js new file mode 100644 index 000000000..ec2f76780 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/layer.js @@ -0,0 +1,19 @@ +import { Store } from 'le5le-store'; +var Layer = /** @class */ (function () { + function Layer(TID) { + var _this = this; + this.TID = TID; + this.subcribe = Store.subscribe(this.generateStoreKey('topology-data'), function (val) { + _this.data = val; + }); + } + Layer.prototype.generateStoreKey = function (key) { + return this.TID + "-" + key; + }; + Layer.prototype.destroy = function () { + this.subcribe.unsubscribe(); + }; + return Layer; +}()); +export { Layer }; +//# sourceMappingURL=layer.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/layer.js.map b/nezha-fronted/src/components/common/@topology/core/src/layer.js.map new file mode 100644 index 000000000..5007e9147 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/layer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"layer.js","sourceRoot":"","sources":["../../../packages/core/src/layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,EAAE,MAAM,aAAa,CAAC;AAG9C;IAIE,eAAY,GAAW;QAAvB,iBAKC;QAJC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,UAAC,GAAG;YAC1E,KAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAES,gCAAgB,GAA1B,UAA2B,GAAG;QAC5B,OAAU,IAAI,CAAC,GAAG,SAAI,GAAK,CAAC;IAC9B,CAAC;IAED,uBAAO,GAAP;QACE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IACH,YAAC;AAAD,CAAC,AAlBD,IAkBC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/circle.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/circle.d.ts new file mode 100644 index 000000000..e1c6e6b32 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/circle.d.ts @@ -0,0 +1,3 @@ +import { Point } from '../../models/point'; +export declare function circleSolid(ctx: CanvasRenderingContext2D, from: Point, to: Point, size: number, fillStyle?: string): void; +export declare function circle(ctx: CanvasRenderingContext2D, from: Point, to: Point, size: number): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/circle.js b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/circle.js new file mode 100644 index 000000000..7892d6628 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/circle.js @@ -0,0 +1,24 @@ +import { Store } from 'le5le-store'; +export function circleSolid(ctx, from, to, size, fillStyle) { + size += ctx.lineWidth * 3; + var r = size / 2; + if (ctx.lineWidth < 2) { + ctx.lineWidth = 2; + } + ctx.translate(to.x, to.y); + ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)); + ctx.translate(-to.x, -to.y - ctx.lineWidth / 10); + ctx.arc(to.x - r - ctx.lineWidth / 2, to.y, r, 0, 2 * Math.PI); + ctx.stroke(); + if (fillStyle) { + ctx.fillStyle = fillStyle; + } + else { + ctx.fillStyle = ctx.strokeStyle; + } + ctx.fill(); +} +export function circle(ctx, from, to, size) { + circleSolid(ctx, from, to, size, Store.get('LT:bkColor') || '#fff'); +} +//# sourceMappingURL=circle.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/circle.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/circle.js.map new file mode 100644 index 000000000..98354653c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/circle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"circle.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/arrows/circle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,MAAM,UAAU,WAAW,CAAC,GAA6B,EAAE,IAAW,EAAE,EAAS,EAAE,IAAY,EAAE,SAAkB;IACjH,IAAI,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;IAC1B,IAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IACnB,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE;QACrB,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;KACnB;IACD,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;IACjD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,GAAG,CAAC,MAAM,EAAE,CAAC;IACb,IAAI,SAAS,EAAE;QACb,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;KAC3B;SAAM;QACL,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC;KACjC;IACD,GAAG,CAAC,IAAI,EAAE,CAAC;AACb,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAA6B,EAAE,IAAW,EAAE,EAAS,EAAE,IAAY;IACxF,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,CAAC;AACtE,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/diamond.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/diamond.d.ts new file mode 100644 index 000000000..c3cbe5193 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/diamond.d.ts @@ -0,0 +1,3 @@ +import { Point } from '../../models/point'; +export declare function diamondSolid(ctx: CanvasRenderingContext2D, from: Point, to: Point, size: number, fillStyle?: string): void; +export declare function diamond(ctx: CanvasRenderingContext2D, from: Point, to: Point, size: number): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/diamond.js b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/diamond.js new file mode 100644 index 000000000..2851265e0 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/diamond.js @@ -0,0 +1,32 @@ +import { Store } from 'le5le-store'; +export function diamondSolid(ctx, from, to, size, fillStyle) { + size += ctx.lineWidth * 3; + var r = size / 2; + var arrowWidth = ctx.lineWidth / 10; + if (ctx.lineWidth < 2) { + ctx.lineWidth = 2; + arrowWidth = 0; + } + ctx.translate(to.x, to.y); + ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)); + ctx.translate(-to.x - ctx.lineWidth + arrowWidth * 5, -to.y); + ctx.moveTo(to.x, to.y + arrowWidth); + ctx.lineTo(to.x, to.y - arrowWidth); + ctx.lineTo(to.x - r, to.y - r / 2); + ctx.lineTo(to.x - size, to.y - arrowWidth); + ctx.lineTo(to.x - size, to.y + arrowWidth); + ctx.lineTo(to.x - r, to.y + r / 2); + ctx.closePath(); + ctx.stroke(); + if (fillStyle) { + ctx.fillStyle = fillStyle; + } + else { + ctx.fillStyle = ctx.strokeStyle; + } + ctx.fill(); +} +export function diamond(ctx, from, to, size) { + diamondSolid(ctx, from, to, size, Store.get('LT:bkColor') || '#fff'); +} +//# sourceMappingURL=diamond.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/diamond.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/diamond.js.map new file mode 100644 index 000000000..4b143ece8 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/diamond.js.map @@ -0,0 +1 @@ +{"version":3,"file":"diamond.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/arrows/diamond.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,MAAM,UAAU,YAAY,CAAC,GAA6B,EAAE,IAAW,EAAE,EAAS,EAAE,IAAY,EAAE,SAAkB;IAClH,IAAI,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;IAC1B,IAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IACnB,IAAI,UAAU,GAAG,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;IACpC,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE;QACrB,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QAClB,UAAU,GAAG,CAAC,CAAC;KAChB;IACD,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;IACpC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;IACpC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;IAC3C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;IAC3C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,MAAM,EAAE,CAAC;IACb,IAAI,SAAS,EAAE;QACb,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;KAC3B;SAAM;QACL,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC;KACjC;IACD,GAAG,CAAC,IAAI,EAAE,CAAC;AACb,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAA6B,EAAE,IAAW,EAAE,EAAS,EAAE,IAAY;IACzF,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,CAAC;AACvE,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/line.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/line.d.ts new file mode 100644 index 000000000..c6ef278e5 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/line.d.ts @@ -0,0 +1,4 @@ +import { Point } from '../../models/point'; +export declare function line(ctx: CanvasRenderingContext2D, from: Point, to: Point, size: number): void; +export declare function lineUp(ctx: CanvasRenderingContext2D, from: Point, to: Point, size: number): void; +export declare function lineDown(ctx: CanvasRenderingContext2D, from: Point, to: Point, size: number): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/line.js b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/line.js new file mode 100644 index 000000000..2a2d13356 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/line.js @@ -0,0 +1,42 @@ +export function line(ctx, from, to, size) { + size += ctx.lineWidth * 3; + ctx.translate(to.x, to.y); + ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)); + ctx.translate(-to.x - ctx.lineWidth / 5, -to.y - ctx.lineWidth / 5); + ctx.moveTo(to.x, to.y); + ctx.lineTo(to.x - size, to.y - size / 3); + ctx.moveTo(to.x, to.y); + ctx.lineTo(to.x - size, to.y + size / 3); + ctx.stroke(); +} +export function lineUp(ctx, from, to, size) { + size += ctx.lineWidth * 3; + ctx.translate(to.x, to.y); + ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)); + ctx.translate(-to.x - ctx.lineWidth / 5, -to.y - ctx.lineWidth / 5); + if (to.x > from.x) { + ctx.moveTo(to.x, to.y); + ctx.lineTo(to.x - size, to.y - size / 3); + } + else { + ctx.moveTo(to.x, to.y); + ctx.lineTo(to.x - size, to.y + size / 3); + } + ctx.stroke(); +} +export function lineDown(ctx, from, to, size) { + size += ctx.lineWidth * 3; + ctx.translate(to.x, to.y); + ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)); + ctx.translate(-to.x - ctx.lineWidth / 5, -to.y - ctx.lineWidth / 5); + if (to.x < from.x) { + ctx.moveTo(to.x, to.y); + ctx.lineTo(to.x - size, to.y - size / 3); + } + else { + ctx.moveTo(to.x, to.y); + ctx.lineTo(to.x - size, to.y + size / 3); + } + ctx.stroke(); +} +//# sourceMappingURL=line.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/line.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/line.js.map new file mode 100644 index 000000000..e367601de --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/line.js.map @@ -0,0 +1 @@ +{"version":3,"file":"line.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/arrows/line.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/triangle.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/triangle.d.ts new file mode 100644 index 000000000..dbbadb14e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/triangle.d.ts @@ -0,0 +1,3 @@ +import { Point } from '../../models/point'; +export declare function triangleSolid(ctx: CanvasRenderingContext2D, from: Point, to: Point, size?: number, fillStyle?: string): void; +export declare function triangle(ctx: CanvasRenderingContext2D, from: Point, to: Point, size: number): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/triangle.js b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/triangle.js new file mode 100644 index 000000000..7d06d6493 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/triangle.js @@ -0,0 +1,29 @@ +import { Store } from 'le5le-store'; +export function triangleSolid(ctx, from, to, size, fillStyle) { + size += ctx.lineWidth * 3; + var arrowWidth = ctx.lineWidth / 10; + if (ctx.lineWidth < 2) { + ctx.lineWidth = 2; + arrowWidth = 0; + } + ctx.translate(to.x, to.y); + ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)); + ctx.translate(-to.x - ctx.lineWidth + arrowWidth * 5, -to.y); + ctx.moveTo(to.x, to.y + arrowWidth); + ctx.lineTo(to.x, to.y - arrowWidth); + ctx.lineTo(to.x - size, to.y - size / 3); + ctx.lineTo(to.x - size, to.y + size / 3); + ctx.closePath(); + ctx.stroke(); + if (fillStyle) { + ctx.fillStyle = fillStyle; + } + else { + ctx.fillStyle = ctx.strokeStyle; + } + ctx.fill(); +} +export function triangle(ctx, from, to, size) { + triangleSolid(ctx, from, to, size, Store.get('LT:bkColor') || '#fff'); +} +//# sourceMappingURL=triangle.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/triangle.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/triangle.js.map new file mode 100644 index 000000000..8ed8c62bd --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/triangle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"triangle.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/arrows/triangle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,MAAM,UAAU,aAAa,CAC3B,GAA6B,EAC7B,IAAW,EACX,EAAS,EACT,IAAa,EACb,SAAkB;IAElB,IAAI,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;IAC1B,IAAI,UAAU,GAAG,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;IACpC,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE;QACrB,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QAClB,UAAU,GAAG,CAAC,CAAC;KAChB;IACD,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;IACpC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;IACpC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IACzC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IAEzC,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,MAAM,EAAE,CAAC;IACb,IAAI,SAAS,EAAE;QACb,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;KAC3B;SAAM;QACL,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC;KACjC;IACD,GAAG,CAAC,IAAI,EAAE,CAAC;AACb,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAA6B,EAAE,IAAW,EAAE,EAAS,EAAE,IAAY;IAC1F,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,CAAC;AACxE,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/default.anchor.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/default.anchor.d.ts new file mode 100644 index 000000000..bb44fe680 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/default.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../models/node'; +export declare function defaultAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/default.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/default.anchor.js new file mode 100644 index 000000000..3e45148be --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/default.anchor.js @@ -0,0 +1,9 @@ +import { Point } from '../models/point'; +import { Direction } from '../models/direction'; +export function defaultAnchors(node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)); +} +//# sourceMappingURL=default.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/default.anchor.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/default.anchor.js.map new file mode 100644 index 000000000..cc1b83474 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/default.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"default.anchor.js","sourceRoot":"","sources":["../../../../packages/core/src/middles/default.anchor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,UAAU,cAAc,CAAC,IAAU;IACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACjH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AACpH,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/default.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/default.d.ts new file mode 100644 index 000000000..c1cfedc60 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/default.d.ts @@ -0,0 +1,12 @@ +import { Point } from '../models/point'; +import { Node } from '../models/node'; +import { Line } from '../models/line'; +export declare const drawNodeFns: any; +export declare const iconRectFns: any; +export declare const textRectFns: any; +export declare const anchorsFns: any; +export declare const drawLineFns: any; +export declare const drawArrowFns: any; +export declare function registerNode(name: string, drawFn: (ctx: CanvasRenderingContext2D, node: Node) => void, anchorsFn?: (node: Node) => void, iconRectFn?: (node: Node) => void, textRectFn?: (node: Node) => void, protect?: boolean): boolean; +export declare function registerLine(name: string, drawFn: (ctx: CanvasRenderingContext2D, line: Line) => void, drawControlPointsFn?: (ctx: CanvasRenderingContext2D, line: Line) => void, controlPointsFn?: (line: Line) => void, dockControlPointFn?: (point: Point, line: Line) => void, pointInFn?: (point: Point, line: Line) => boolean, getLength?: (line: Line) => void, getCenter?: (line: Line) => void, getPointByPos?: (line: Line) => void, force?: boolean): boolean; +export declare function registerArrow(name: string, drawFn: (ctx: CanvasRenderingContext2D, from: Point, to: Point, size: number) => void, protect?: boolean): boolean; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/default.js b/nezha-fronted/src/components/common/@topology/core/src/middles/default.js new file mode 100644 index 000000000..49d3619cb --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/default.js @@ -0,0 +1,268 @@ +import { rectangle } from './nodes/rectangle'; +import { circle } from './nodes/circle'; +import { triangle } from './nodes/triangle'; +import { diamond } from './nodes/diamond'; +import { leftArrow, rightArrow, twowayArrow } from './nodes/arrow'; +import { text } from './nodes/text'; +import { line as nodeLine } from './nodes/line'; +import { triangleAnchors } from './nodes/triangle.anchor'; +import { arrowAnchors } from './nodes/arrow.anchor'; +import { lineAnchors } from './nodes/line.anchor'; +import { circleIconRect, circleTextRect } from './nodes/circle.rect'; +import { triangleIconRect, triangleTextRect } from './nodes/triangle.rect'; +import { diamondIconRect, diamondTextRect } from './nodes/diamond.rect'; +import { twowayArrowIconRect, twowayArrowTextRect, leftArrowIconRect, leftArrowTextRect, rightArrowIconRect, rightArrowTextRect, } from './nodes/arrow.rect'; +import { lineIconRect, lineTextRect } from './nodes/line.rect'; +import { line, lineControlPoints, calcLineControlPoints } from './lines/line'; +import { polyline, polylineControlPoints, pointInPolyline, calcPolylineControlPoints, dockPolylineControlPoint, } from './lines/polyline'; +import { curve, curveControlPoints, pointInCurve, calcCurveControlPoints, } from './lines/curve'; +import { calcMindControlPoints, } from './lines/mind'; +import { triangleSolid, triangle as arrowTriangle } from './arrows/triangle'; +import { diamondSolid, diamond as arrowDiamond } from './arrows/diamond'; +import { circleSolid, circle as arrowCircle } from './arrows/circle'; +import { circleAnchors } from './nodes/circle.anchor'; +import { lineUp, lineDown, line as arrowLine } from './arrows/line'; +import { pentagon } from './nodes/pentagon'; +import { pentagonIconRect, pentagonTextRect } from './nodes/pentagon.rect'; +import { pentagonAnchors } from './nodes/pentagon.anchor'; +import { hexagon } from './nodes/hexagon'; +import { hexagonAnchors } from './nodes/hexagon.anchor'; +import { hexagonIconRect, hexagonTextRect } from './nodes/hexagon.rect'; +import { pentagram } from './nodes/pentagram'; +import { pentagramAnchors } from './nodes/pentagram.anchor'; +import { pentagramIconRect, pentagramTextRect } from './nodes/pentagram.rect'; +import { cloud } from './nodes/cloud'; +import { cloudAnchors } from './nodes/cloud.anchor'; +import { cloudIconRect, cloudTextRect } from './nodes/cloud.rect'; +import { message } from './nodes/message'; +import { messageIconRect, messageTextRect } from './nodes/message.rect'; +import { messageAnchors } from './nodes/message.anchor'; +import { file } from './nodes/file'; +import { imageIconRect, imageTextRect } from './nodes/image.rect'; +import { imageAnchors } from './nodes/image.anchor'; +import { cube } from './nodes/cube'; +import { cubeAnchors } from './nodes/cube.anchor'; +import { cubeIconRect, cubeTextRect } from './nodes/cube.rect'; +import { people } from './nodes/people'; +import { peopleIconRect, peopleTextRect } from './nodes/people.rect'; +import { rectangleIconRect, rectangleTextRect } from './nodes/rectangle.rect'; +import { graffiti } from './nodes/graffiti'; +import { graffitiAnchors } from './nodes/graffiti.anchor'; +import { mindNodeAnchors } from './nodes/mindNode.anchor'; +import { mindLine } from './nodes/mindLine'; +import { mindLineAnchors } from './nodes/mindLine.anchor'; +import { lines } from './nodes/lines'; +// Functions of drawing a node. +export var drawNodeFns = {}; +// Calc the occupy rect of icon. +export var iconRectFns = {}; +// Calc the occupy rect of text. +export var textRectFns = {}; +// Calc the anchors of node. +export var anchorsFns = {}; +// Functions of drawing a line. +export var drawLineFns = {}; +// Functions of drawing a arrow. +export var drawArrowFns = {}; +function init() { + // ********Default nodes.******* + // Combine + drawNodeFns.combine = rectangle; + // Div + drawNodeFns.div = rectangle; + // graffiti + drawNodeFns.graffiti = graffiti; + anchorsFns.graffiti = graffitiAnchors; + // lines + drawNodeFns.lines = lines; + // Square + drawNodeFns.square = rectangle; + // Rectangle + drawNodeFns.rectangle = rectangle; + iconRectFns.rectangle = rectangleIconRect; + textRectFns.rectangle = rectangleTextRect; + // Ciricle + drawNodeFns.circle = circle; + iconRectFns.circle = circleIconRect; + textRectFns.circle = circleTextRect; + anchorsFns.circle = circleAnchors; + // Triangle + drawNodeFns.triangle = triangle; + anchorsFns.triangle = triangleAnchors; + iconRectFns.triangle = triangleIconRect; + textRectFns.triangle = triangleTextRect; + // Diamond + drawNodeFns.diamond = diamond; + iconRectFns.diamond = diamondIconRect; + textRectFns.diamond = diamondTextRect; + // Hexagon + drawNodeFns.hexagon = hexagon; + iconRectFns.hexagon = hexagonIconRect; + textRectFns.hexagon = hexagonTextRect; + anchorsFns.hexagon = hexagonAnchors; + // Pentagon + drawNodeFns.pentagon = pentagon; + iconRectFns.pentagon = pentagonIconRect; + textRectFns.pentagon = pentagonTextRect; + anchorsFns.pentagon = pentagonAnchors; + // Pentagram + drawNodeFns.pentagram = pentagram; + iconRectFns.pentagram = pentagramIconRect; + textRectFns.pentagram = pentagramTextRect; + anchorsFns.pentagram = pentagramAnchors; + // Left arrow + drawNodeFns.leftArrow = leftArrow; + anchorsFns.leftArrow = arrowAnchors; + iconRectFns.leftArrow = leftArrowIconRect; + textRectFns.leftArrow = leftArrowTextRect; + // Right arrow + drawNodeFns.rightArrow = rightArrow; + anchorsFns.rightArrow = arrowAnchors; + iconRectFns.rightArrow = rightArrowIconRect; + textRectFns.rightArrow = rightArrowTextRect; + // Two-way arrow + drawNodeFns.twowayArrow = twowayArrow; + anchorsFns.twowayArrow = arrowAnchors; + iconRectFns.twowayArrow = twowayArrowIconRect; + textRectFns.twowayArrow = twowayArrowTextRect; + // Cloud + drawNodeFns.cloud = cloud; + anchorsFns.cloud = cloudAnchors; + iconRectFns.cloud = cloudIconRect; + textRectFns.cloud = cloudTextRect; + // Message + drawNodeFns.message = message; + anchorsFns.message = messageAnchors; + iconRectFns.message = messageIconRect; + textRectFns.message = messageTextRect; + // File + drawNodeFns.file = file; + // Text + drawNodeFns.text = text; + iconRectFns.text = lineIconRect; + // Line + drawNodeFns.line = nodeLine; + anchorsFns.line = lineAnchors; + iconRectFns.line = lineIconRect; + textRectFns.line = lineTextRect; + // Image + drawNodeFns.image = function (ctx, node) { }; + iconRectFns.image = imageIconRect; + textRectFns.image = imageTextRect; + anchorsFns.image = imageAnchors; + // Cube + drawNodeFns.cube = cube; + anchorsFns.cube = cubeAnchors; + iconRectFns.cube = cubeIconRect; + textRectFns.cube = cubeTextRect; + // People + drawNodeFns.people = people; + iconRectFns.people = peopleIconRect; + textRectFns.people = peopleTextRect; + // MindNode + drawNodeFns.mindNode = rectangle; + anchorsFns.mindNode = mindNodeAnchors; + iconRectFns.mindNode = rectangleIconRect; + textRectFns.mindNode = rectangleTextRect; + // MindLine + drawNodeFns.mindLine = mindLine; + anchorsFns.mindLine = mindLineAnchors; + // ********end******** + // ********Default lines.******* + drawLineFns.line = { + drawFn: line, + drawControlPointsFn: lineControlPoints, + controlPointsFn: calcLineControlPoints, + pointIn: pointInPolyline, + }; + drawLineFns.polyline = { + drawFn: polyline, + drawControlPointsFn: polylineControlPoints, + controlPointsFn: calcPolylineControlPoints, + dockControlPointFn: dockPolylineControlPoint, + pointIn: pointInPolyline, + }; + drawLineFns.curve = { + drawFn: curve, + drawControlPointsFn: curveControlPoints, + controlPointsFn: calcCurveControlPoints, + pointIn: pointInCurve, + }; + drawLineFns.mind = { + drawFn: curve, + drawControlPointsFn: curveControlPoints, + controlPointsFn: calcMindControlPoints, + pointIn: pointInCurve, + }; + // ********end******** + // ********Default nodes.******* + drawArrowFns.triangleSolid = triangleSolid; + drawArrowFns.triangle = arrowTriangle; + drawArrowFns.diamondSolid = diamondSolid; + drawArrowFns.diamond = arrowDiamond; + drawArrowFns.circleSolid = circleSolid; + drawArrowFns.circle = arrowCircle; + drawArrowFns.line = arrowLine; + drawArrowFns.lineUp = lineUp; + drawArrowFns.lineDown = lineDown; + // ********end******** +} +init(); +// registerNode: Register a custom node. +// name - The name of node. +// drawFn - How to draw. +// anchorsFn - How to get the anchors. +// iconRectFn - How to get the icon rect. +// textRectFn - How to get the text rect. +// protect - No overwirte the node if exists. +export function registerNode(name, drawFn, anchorsFn, iconRectFn, textRectFn, protect) { + // Exist + if (drawNodeFns[name] && protect) { + return false; + } + drawNodeFns[name] = drawFn; + anchorsFns[name] = anchorsFn; + iconRectFns[name] = iconRectFn; + textRectFns[name] = textRectFn; + return true; +} +// registerLine: Register a custom line. +// name - The name of line. +// drawFn - How to draw. +// drawControlPointsFn - Draw the control points. +// controlPointsFn - How to get the controlPoints. +// dockControlPointFn - Dock a point to horizontal/vertial or related position. +// force - Overwirte the node if exists. +export function registerLine(name, drawFn, drawControlPointsFn, controlPointsFn, dockControlPointFn, pointInFn, getLength, getCenter, getPointByPos, force) { + if (force === void 0) { force = true; } + // Exist + if (drawLineFns[name] && !force) { + return false; + } + drawLineFns[name] = { + drawFn: drawFn, + drawControlPointsFn: drawControlPointsFn, + controlPointsFn: controlPointsFn, + dockControlPointFn: dockControlPointFn, + pointIn: pointInFn, + getLength: getLength, + getCenter: getCenter, + getPointByPos: getPointByPos, + }; + return true; +} +// registerArrow: Register a custom arrow. +// name - the name of arrow. +// drawFn - how to draw. +// force - Overwirte the node if exists. +export function registerArrow(name, drawFn, protect) { + // Exist + if (drawArrowFns[name] && protect) { + return false; + } + drawArrowFns[name] = drawFn; + return true; +} +window.registerTopologyNode = registerNode; +window.registerTopologyLine = registerLine; +//# sourceMappingURL=default.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/default.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/default.js.map new file mode 100644 index 000000000..8bcbb4b33 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/default.js.map @@ -0,0 +1 @@ +{"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../packages/core/src/middles/default.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/default.rect.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/default.rect.d.ts new file mode 100644 index 000000000..7817c50fc --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/default.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '../models/node'; +export declare function defaultIconRect(node: Node): void; +export declare function defaultTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/default.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/default.rect.js new file mode 100644 index 000000000..611454946 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/default.rect.js @@ -0,0 +1,19 @@ +import { Rect } from '../models/rect'; +export function defaultIconRect(node) { + if (node.image && node.imageWidth) { + node.iconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.imageWidth, node.imageHeight); + } + else if (node.icon && node.iconSize) { + node.iconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.iconSize, node.iconSize); + } + else { + node.iconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, (node.rect.height * 3) / 4 - node.paddingTopNum - node.paddingBottomNum); + } + node.fullIconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum); +} +export function defaultTextRect(node) { + var height = node.rect.height - node.paddingTopNum - node.paddingBottomNum; + node.textRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum + (height * 3) / 4, node.rect.width - node.paddingLeftNum - node.paddingRightNum, height / 4); + node.fullTextRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, height); +} +//# sourceMappingURL=default.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/default.rect.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/default.rect.js.map new file mode 100644 index 000000000..2e6e95063 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/default.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"default.rect.js","sourceRoot":"","sources":["../../../../packages/core/src/middles/default.rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAChC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,CACjB,CAAC;KACH;SAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAChC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,QAAQ,CACd,CAAC;KACH;SAAM;QACL,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAChC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CACxE,CAAC;KACH;IAED,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAChC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAC9D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC;IAC7E,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EACnD,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAC5D,MAAM,GAAG,CAAC,CACX,CAAC;IACF,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAChC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAC5D,MAAM,CACP,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/index.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/index.d.ts new file mode 100644 index 000000000..f3d25ba2d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/index.d.ts @@ -0,0 +1,3 @@ +export * from './default'; +export * from './nodes/rectangle'; +export * from './nodes/text'; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/index.js b/nezha-fronted/src/components/common/@topology/core/src/middles/index.js new file mode 100644 index 000000000..410e64745 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/index.js @@ -0,0 +1,4 @@ +export * from './default'; +export * from './nodes/rectangle'; +export * from './nodes/text'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/index.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/index.js.map new file mode 100644 index 000000000..af4cada9d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/core/src/middles/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/curve.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/curve.d.ts new file mode 100644 index 000000000..b91971d48 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/curve.d.ts @@ -0,0 +1,10 @@ +import { Point } from '../../models/point'; +import { Pen } from '../../models/pen'; +import { Line } from '../../models/line'; +export declare function curve(ctx: CanvasRenderingContext2D, l: Line): void; +export declare function curveControlPoints(ctx: CanvasRenderingContext2D, l: Line): void; +export declare function calcCurveControlPoints(l: Line): void; +export declare function pointInCurve(point: Point, l: Line): boolean; +export declare function getBezierPoint(pos: number, from: Point, cp1: Point, cp2: Point, to: Point): Point; +export declare function getControlPt(pt: Point, to: Point): Point; +export declare function generateStoreKey(pen: Pen, key: String): string; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/curve.js b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/curve.js new file mode 100644 index 000000000..a73ee0631 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/curve.js @@ -0,0 +1,130 @@ +import { Store } from 'le5le-store'; +import { Point } from '../../models/point'; +import { Direction } from '../../models/direction'; +import { pointInLine } from '../../utils/canvas'; +import { rgba } from '../../utils/math'; +var distance = 80; +export function curve(ctx, l) { + ctx.beginPath(); + ctx.moveTo(l.from.x, l.from.y); + ctx.bezierCurveTo(l.controlPoints[0].x, l.controlPoints[0].y, l.controlPoints[1].x, l.controlPoints[1].y, l.to.x, l.to.y); + ctx.stroke(); +} +export function curveControlPoints(ctx, l) { + ctx.save(); + ctx.fillStyle = rgba(0.5, ctx.strokeStyle + ''); + ctx.lineWidth = 1; + ctx.beginPath(); + ctx.moveTo(l.from.x, l.from.y); + ctx.lineTo(l.controlPoints[0].x, l.controlPoints[0].y); + ctx.stroke(); + ctx.beginPath(); + ctx.moveTo(l.to.x, l.to.y); + ctx.lineTo(l.controlPoints[1].x, l.controlPoints[1].y); + ctx.stroke(); + ctx.fillStyle = '#fff'; + ctx.lineWidth = 2; + for (var _i = 0, _a = l.controlPoints; _i < _a.length; _i++) { + var item = _a[_i]; + ctx.beginPath(); + ctx.arc(item.x, item.y, 4, 0, Math.PI * 2); + ctx.stroke(); + ctx.fill(); + } + ctx.restore(); +} +export function calcCurveControlPoints(l) { + if (!l.from.direction) { + l.from.direction = Direction.Bottom; + } + if (!l.to.direction) { + l.to.direction = (l.from.direction + 2) % 4; + if (!l.to.direction) { + l.to.direction = Direction.Left; + } + } + l.controlPoints = [getControlPt(l.from, l.to), getControlPt(l.to, l.from)]; + Store.set(generateStoreKey(l, 'pts-') + l.id, undefined); +} +export function pointInCurve(point, l) { + var points = Store.get(generateStoreKey(l, 'pts-') + l.id); + if (!points) { + points = [l.from]; + if (l.controlPoints) { + for (var i = 0.01; i < 1; i += 0.01) { + points.push(getBezierPoint(i, l.from, l.controlPoints[0], l.controlPoints[1], l.to)); + } + } + points.push(l.to); + Store.set(generateStoreKey(l, 'pts-') + l.id, points); + } + var cnt = points.length - 1; + for (var i = 0; i < cnt; ++i) { + if (pointInLine(point, points[i], points[i + 1])) { + return true; + } + } + return false; +} +// Get a point in bezier. +// pos - The position of point in bezier. It is expressed as a percentage(0 - 1). +export function getBezierPoint(pos, from, cp1, cp2, to) { + var x1 = from.x, y1 = from.y; + var x2 = to.x, y2 = to.y; + var cx1 = cp1.x, cy1 = cp1.y; + var cx2 = cp2.x, cy2 = cp2.y; + var x = x1 * (1 - pos) * (1 - pos) * (1 - pos) + + 3 * cx1 * pos * (1 - pos) * (1 - pos) + + 3 * cx2 * pos * pos * (1 - pos) + + x2 * pos * pos * pos; + var y = y1 * (1 - pos) * (1 - pos) * (1 - pos) + + 3 * cy1 * pos * (1 - pos) * (1 - pos) + + 3 * cy2 * pos * pos * (1 - pos) + + y2 * pos * pos * pos; + return new Point(x, y); +} +export function getControlPt(pt, to) { + var point = new Point(pt.x, pt.y, pt.direction, pt.anchorIndex, pt.id); + var dis = window.topologyControlPtDistance || distance; + if ((pt.direction === Direction.Up || pt.direction === Direction.Bottom) && Math.abs(pt.x - to.x) < 3) { + if (to.y > pt.y) { + dis = Math.round((to.y - pt.y) / 3); + point.y += dis; + } + else { + dis = Math.round((pt.y - to.y) / 3); + point.y -= dis; + } + return point; + } + if ((pt.direction === Direction.Left || pt.direction === Direction.Right) && Math.abs(pt.y - to.y) < 3) { + if (to.x > pt.x) { + dis = Math.round((to.x - pt.x) / 3); + point.x += dis; + } + else { + dis = Math.round((pt.x - to.x) / 3); + point.x -= dis; + } + return point; + } + switch (pt.direction) { + case Direction.Up: + point.y -= dis; + break; + case Direction.Right: + point.x += dis; + break; + case Direction.Bottom: + point.y += dis; + break; + case Direction.Left: + point.x -= dis; + break; + } + return point; +} +export function generateStoreKey(pen, key) { + return pen.getTID() + "-" + key; +} +//# sourceMappingURL=curve.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/curve.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/curve.js.map new file mode 100644 index 000000000..204323bc9 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/curve.js.map @@ -0,0 +1 @@ +{"version":3,"file":"curve.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/lines/curve.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/line.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/line.d.ts new file mode 100644 index 000000000..6072001d5 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/line.d.ts @@ -0,0 +1,4 @@ +import { Line } from '../../models/line'; +export declare function line(ctx: CanvasRenderingContext2D, l: Line): void; +export declare function lineControlPoints(ctx: CanvasRenderingContext2D, l: Line): void; +export declare function calcLineControlPoints(l: Line): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/line.js b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/line.js new file mode 100644 index 000000000..96a714701 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/line.js @@ -0,0 +1,11 @@ +export function line(ctx, l) { + ctx.beginPath(); + ctx.moveTo(l.from.x, l.from.y); + ctx.lineTo(l.to.x, l.to.y); + ctx.stroke(); +} +export function lineControlPoints(ctx, l) { } +export function calcLineControlPoints(l) { + l.controlPoints = []; +} +//# sourceMappingURL=line.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/line.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/line.js.map new file mode 100644 index 000000000..643ac794b --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/line.js.map @@ -0,0 +1 @@ +{"version":3,"file":"line.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/lines/line.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,IAAI,CAAC,GAA6B,EAAE,CAAO;IACzD,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3B,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAA6B,EAAE,CAAO,IAAI,CAAC;AAE7E,MAAM,UAAU,qBAAqB,CAAC,CAAO;IAC3C,CAAC,CAAC,aAAa,GAAG,EAAE,CAAC;AACvB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/mind.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/mind.d.ts new file mode 100644 index 000000000..a8f42335a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/mind.d.ts @@ -0,0 +1,2 @@ +import { Line } from '../../models/line'; +export declare function calcMindControlPoints(l: Line): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/mind.js b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/mind.js new file mode 100644 index 000000000..f0c4b86d7 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/mind.js @@ -0,0 +1,32 @@ +import { Store } from 'le5le-store'; +import { Point } from '../../models/point'; +import { Direction } from '../../models/direction'; +import { generateStoreKey } from './curve'; +var distance = 20; +export function calcMindControlPoints(l) { + if (!l.from.direction) { + l.from.direction = Direction.Bottom; + } + if (!l.to.direction) { + l.to.direction = (l.from.direction + 2) % 4; + if (!l.to.direction) { + l.to.direction = Direction.Left; + } + } + switch (l.from.direction) { + case Direction.Up: + l.controlPoints = [new Point(l.from.x, l.from.y - distance), new Point(l.from.x, l.to.y)]; + break; + case Direction.Right: + l.controlPoints = [new Point(l.from.x + distance, l.from.y), new Point(l.from.x, l.to.y)]; + break; + case Direction.Bottom: + l.controlPoints = [new Point(l.from.x, l.from.y + distance), new Point(l.from.x, l.to.y)]; + break; + case Direction.Left: + l.controlPoints = [new Point(l.from.x - distance, l.from.y), new Point(l.from.x, l.to.y)]; + break; + } + Store.set(generateStoreKey(l, 'pts-') + l.id, undefined); +} +//# sourceMappingURL=mind.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/mind.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/mind.js.map new file mode 100644 index 000000000..5c3012568 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/mind.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mind.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/lines/mind.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,IAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,MAAM,UAAU,qBAAqB,CAAC,CAAO;IAC3C,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE;QACrB,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;KACrC;IACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE;QACnB,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE;YACnB,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;SACjC;KACF;IAED,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE;QACxB,KAAK,SAAS,CAAC,EAAE;YACf,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1F,MAAM;QACR,KAAK,SAAS,CAAC,KAAK;YAClB,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1F,MAAM;QACR,KAAK,SAAS,CAAC,MAAM;YACnB,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1F,MAAM;QACR,KAAK,SAAS,CAAC,IAAI;YACjB,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1F,MAAM;KACT;IAED,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AAC3D,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/polyline.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/polyline.d.ts new file mode 100644 index 000000000..42bc7877e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/polyline.d.ts @@ -0,0 +1,7 @@ +import { Point } from '../../models/point'; +import { Line } from '../../models/line'; +export declare function polyline(ctx: CanvasRenderingContext2D, l: Line): void; +export declare function polylineControlPoints(ctx: CanvasRenderingContext2D, l: Line): void; +export declare function calcPolylineControlPoints(l: Line): void; +export declare function pointInPolyline(point: Point, l: Line): boolean; +export declare function dockPolylineControlPoint(point: Point, l: Line): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/polyline.js b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/polyline.js new file mode 100644 index 000000000..386305eb1 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/polyline.js @@ -0,0 +1,309 @@ +import { Point } from '../../models/point'; +import { Direction } from '../../models/direction'; +import { pointInLine } from '../../utils/canvas'; +var minDistance = 50; +export function polyline(ctx, l) { + ctx.beginPath(); + ctx.moveTo(l.from.x, l.from.y); + for (var _i = 0, _a = l.controlPoints; _i < _a.length; _i++) { + var item = _a[_i]; + ctx.lineTo(item.x, item.y); + } + ctx.lineTo(l.to.x, l.to.y); + ctx.stroke(); +} +export function polylineControlPoints(ctx, l) { + ctx.save(); + ctx.fillStyle = '#fff'; + ctx.lineWidth = 2; + for (var _i = 0, _a = l.controlPoints; _i < _a.length; _i++) { + var item = _a[_i]; + ctx.beginPath(); + ctx.arc(item.x, item.y, 4, 0, Math.PI * 2); + ctx.stroke(); + ctx.fill(); + } + ctx.restore(); +} +export function calcPolylineControlPoints(l) { + l.controlPoints = []; + var from = getDirectionPoint(l.from, l.to); + if (l.from.direction) { + l.controlPoints.push(from); + } + var to = getDirectionPoint(l.to, l.from); + var pts; + switch (from.direction) { + case Direction.Up: + pts = getNextPointByUp(from, to); + break; + case Direction.Right: + pts = getNextPointByRight(from, to); + break; + case Direction.Bottom: + pts = getNextPointByBottom(from, to); + break; + case Direction.Left: + pts = getNextPointByLeft(from, to); + break; + } + l.controlPoints.push.apply(l.controlPoints, pts); + if (l.to.direction) { + l.controlPoints.push(to); + } +} +export function pointInPolyline(point, l) { + if (!l.controlPoints || !l.controlPoints.length) { + return pointInLine(point, l.from, l.to, l.lineWidth / 2); + } + if (pointInLine(point, l.from, l.controlPoints[0])) { + return true; + } + if (pointInLine(point, l.to, l.controlPoints[l.controlPoints.length - 1])) { + return true; + } + for (var i = 0; i < l.controlPoints.length - 1; ++i) { + if (pointInLine(point, l.controlPoints[i], l.controlPoints[i + 1])) { + return true; + } + } + return false; +} +export function dockPolylineControlPoint(point, l) { + var pts = [l.from]; + pts.push.apply(pts, l.controlPoints); + pts.push(l.to); + for (var _i = 0, pts_1 = pts; _i < pts_1.length; _i++) { + var item = pts_1[_i]; + if (Math.abs(point.x - item.x) < 7) { + point.x = item.x; + } + if (Math.abs(point.y - item.y) < 7) { + point.y = item.y; + } + } +} +function getDirectionPoint(pt, to) { + var point = pt.clone(); + switch (pt.direction) { + case Direction.Up: + if (to.y < pt.y) { + point.y -= Math.round((pt.y - to.y) / 2); + } + else { + point.y -= minDistance; + } + break; + case Direction.Right: + if (to.x > pt.x) { + point.x += Math.round((to.x - pt.x) / 2); + } + else { + point.x += minDistance; + } + break; + case Direction.Bottom: + if (to.y > pt.y) { + point.y += Math.round((to.y - pt.y) / 2); + } + else { + point.y += minDistance; + } + break; + case Direction.Left: + if (to.x < pt.x) { + point.x -= Math.round((pt.x - to.x) / 2); + } + else { + point.x -= minDistance; + } + break; + } + return point; +} +function getNextPointByUp(from, to) { + if (from.x === to.x || from.y === to.y) { + return []; + } + // The to point above the from point. + if (from.y > to.y) { + if (to.direction === Direction.Up && from.y - to.y > 3 * minDistance) { + if (from.x < to.x) { + if (to.x - from.x < minDistance) { + return [new Point(from.x - 2 * minDistance, from.y), new Point(from.x - 2 * minDistance, to.y)]; + } + return [new Point(from.x, to.y)]; + } + else { + if (from.x - to.x < minDistance) { + return [new Point(from.x + 2 * minDistance, from.y), new Point(from.x + 2 * minDistance, to.y)]; + } + return [new Point(from.x, to.y)]; + } + } + else { + // Left top + if ((to.direction === Direction.Left && from.x > to.x) || (to.direction === Direction.Right && from.x < to.x)) { + return [new Point(to.x, from.y)]; + } + return [new Point(from.x, to.y)]; + } + // The to point below the from point. + } + else { + if (to.direction === Direction.Bottom) { + if (from.x < to.x) { + return getHorizontalPoints(from, to); + } + else { + var pts = getHorizontalPoints(to, from); + return [pts[1], pts[0]]; + } + } + else { + return [new Point(to.x, from.y)]; + } + } +} +function getNextPointByBottom(from, to) { + if (from.x === to.x || from.y === to.y) { + return []; + } + // The to point below the from point. + if (from.y < to.y) { + if (to.direction === Direction.Bottom && to.y - from.y > 3 * minDistance) { + if (from.x < to.x) { + if (to.x - from.x < minDistance) { + return [new Point(from.x - 2 * minDistance, from.y), new Point(from.x - 2 * minDistance, to.y)]; + } + return [new Point(from.x, to.y)]; + } + else { + if (from.x - to.x < minDistance) { + return [new Point(from.x + 2 * minDistance, from.y), new Point(from.x + 2 * minDistance, to.y)]; + } + return [new Point(from.x, to.y)]; + } + } + else { + if ((to.direction === Direction.Left && from.x > to.x) || (to.direction === Direction.Right && from.x < to.x)) { + return [new Point(to.x, from.y)]; + } + return [new Point(from.x, to.y)]; + } + // The to point below the from point. + } + else { + if (to.direction === Direction.Up) { + if (from.x < to.x) { + return getHorizontalPoints(from, to); + } + else { + var pts = getHorizontalPoints(to, from); + return [pts[1], pts[0]]; + } + } + else { + return [new Point(to.x, from.y)]; + } + } +} +function getNextPointByLeft(from, to) { + if (from.x === to.x || from.y === to.y) { + return []; + } + // The to point is on the left. + if (from.x > to.x) { + if (to.direction === Direction.Left && from.x - to.x > 3 * minDistance) { + if (from.y < to.y) { + if (to.y - from.y < minDistance) { + return [new Point(from.x, from.y + 2 * minDistance), new Point(to.x, from.y + 2 * minDistance)]; + } + return [new Point(to.x, from.y)]; + } + else { + if (from.y - to.y < minDistance) { + return [new Point(from.x, from.y - 2 * minDistance), new Point(to.x, from.y - 2 * minDistance)]; + } + return [new Point(to.x, from.y)]; + } + } + else { + if (to.direction === Direction.Left || + (to.direction === Direction.Up && from.y < to.y) || + (to.direction === Direction.Bottom && from.y > to.y)) { + return [new Point(to.x, from.y)]; + } + return [new Point(from.x, to.y)]; + } + // The to point is on the right. + } + else { + if (to.direction === Direction.Right) { + if (from.y < to.y) { + return getVerticalPoints(from, to); + } + else { + var pts = getVerticalPoints(to, from); + return [pts[1], pts[0]]; + } + } + else { + return [new Point(from.x, to.y)]; + } + } +} +function getNextPointByRight(from, to) { + if (from.x === to.x || from.y === to.y) { + return []; + } + // The to point is on the right. + if (from.x < to.x) { + if (to.direction === Direction.Right && to.x - from.x > 3 * minDistance) { + if (from.y < to.y) { + if (to.y - from.y < minDistance) { + return [new Point(from.x, from.y - 2 * minDistance), new Point(to.x, from.y - 2 * minDistance)]; + } + return [new Point(to.x, from.y)]; + } + else { + if (from.y - to.y < minDistance) { + return [new Point(from.x, from.y + 2 * minDistance), new Point(to.x, from.y + 2 * minDistance)]; + } + return [new Point(to.x, from.y)]; + } + } + else { + if (to.direction === Direction.Right || + (to.direction === Direction.Up && from.y < to.y) || + (to.direction === Direction.Bottom && from.y > to.y)) { + return [new Point(to.x, from.y)]; + } + return [new Point(from.x, to.y)]; + } + // The to point is on the left. + } + else { + if (to.direction === Direction.Left) { + if (from.y < to.y) { + return getVerticalPoints(from, to); + } + else { + var pts = getVerticalPoints(to, from); + return [pts[1], pts[0]]; + } + } + else { + return [new Point(from.x, to.y)]; + } + } +} +function getHorizontalPoints(left, right) { + var x = left.x + (right.x - left.x) / 2; + return [new Point(x, left.y), new Point(x, right.y)]; +} +function getVerticalPoints(up, bottom) { + var y = up.y + (bottom.y - up.y) / 2; + return [new Point(up.x, y), new Point(bottom.x, y)]; +} +//# sourceMappingURL=polyline.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/polyline.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/polyline.js.map new file mode 100644 index 000000000..77eb90ac9 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/polyline.js.map @@ -0,0 +1 @@ +{"version":3,"file":"polyline.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/lines/polyline.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.anchor.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.anchor.d.ts new file mode 100644 index 000000000..de28d6452 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function arrowAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.anchor.js new file mode 100644 index 000000000..722c7893e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.anchor.js @@ -0,0 +1,7 @@ +import { Point } from '../../models/point'; +import { Direction } from '../../models/direction'; +export function arrowAnchors(node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)); +} +//# sourceMappingURL=arrow.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.anchor.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.anchor.js.map new file mode 100644 index 000000000..5a1edc44c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"arrow.anchor.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/arrow.anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACnH,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.d.ts new file mode 100644 index 000000000..912f942f2 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.d.ts @@ -0,0 +1,4 @@ +import { Node } from '../../models/node'; +export declare function leftArrow(ctx: CanvasRenderingContext2D, node: Node): void; +export declare function rightArrow(ctx: CanvasRenderingContext2D, node: Node): void; +export declare function twowayArrow(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.js new file mode 100644 index 000000000..131ddb52c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.js @@ -0,0 +1,45 @@ +export function leftArrow(ctx, node) { + ctx.beginPath(); + ctx.moveTo(node.rect.x, node.rect.y + node.rect.height / 2); + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y); + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height / 3); + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 3); + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 2) / 3); + // ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + (node.rect.height * 2) / 3); + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + (node.rect.height * 2) / 3); + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + (node.rect.height * 2) / 3); + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height); + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +export function rightArrow(ctx, node) { + ctx.beginPath(); + ctx.moveTo(node.rect.x, node.rect.y + node.rect.height / 3); + ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + node.rect.height / 3); + ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y); + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2); + ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + node.rect.height); + ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + (node.rect.height * 2) / 3); + ctx.lineTo(node.rect.x, node.rect.y + (node.rect.height * 2) / 3); + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +export function twowayArrow(ctx, node) { + ctx.beginPath(); + ctx.moveTo(node.rect.x, node.rect.y + node.rect.height / 2); + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y); + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height / 3); + ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + node.rect.height / 3); + ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y); + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2); + ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + node.rect.height); + ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + (node.rect.height * 2) / 3); + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + (node.rect.height * 2) / 3); + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height); + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=arrow.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.js.map new file mode 100644 index 000000000..1476c3de4 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.js.map @@ -0,0 +1 @@ +{"version":3,"file":"arrow.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/arrow.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.rect.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.rect.d.ts new file mode 100644 index 000000000..4f2bbc033 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.rect.d.ts @@ -0,0 +1,7 @@ +import { Node } from '../../models/node'; +export declare function leftArrowIconRect(node: Node): void; +export declare function leftArrowTextRect(node: Node): void; +export declare function rightArrowIconRect(node: Node): void; +export declare function rightArrowTextRect(node: Node): void; +export declare function twowayArrowIconRect(node: Node): void; +export declare function twowayArrowTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.rect.js new file mode 100644 index 000000000..3312eb48e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.rect.js @@ -0,0 +1,23 @@ +import { Rect } from '../../models/rect'; +export function leftArrowIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function leftArrowTextRect(node) { + node.textRect = new Rect(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height / 3, node.rect.width - node.rect.height / 2, node.rect.height / 3); + node.fullTextRect = node.textRect; +} +export function rightArrowIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function rightArrowTextRect(node) { + node.textRect = new Rect(node.rect.x, node.rect.y + node.rect.height / 3, node.rect.width - node.rect.height / 2, node.rect.height / 3); + node.fullTextRect = node.textRect; +} +export function twowayArrowIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function twowayArrowTextRect(node) { + node.textRect = new Rect(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height / 3, node.rect.width - node.rect.height, node.rect.height / 3); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=arrow.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.rect.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.rect.js.map new file mode 100644 index 000000000..9c9a3556e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"arrow.rect.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/arrow.rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAClC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAClC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EACtC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CACrB,CAAC;IACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAU;IAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAU;IAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAClC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EACtC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CACrB,CAAC;IACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAU;IAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAU;IAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAClC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAClC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAClC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CACrB,CAAC;IACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.anchor.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.anchor.d.ts new file mode 100644 index 000000000..522bf532d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function circleAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.anchor.js new file mode 100644 index 000000000..42e9ae462 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.anchor.js @@ -0,0 +1,18 @@ +import { Point } from '../../models/point'; +import { Direction } from '../../models/direction'; +export function circleAnchors(node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)); + for (var i = 5; i < 360; i += 5) { + if (i % 90 === 0) { + continue; + } + var direction = Math.round(i / 90); + var pt = new Point(node.rect.center.x + (Math.sin((i / 180) * Math.PI) * node.rect.width) / 2, node.rect.center.y + (Math.cos((i / 180) * Math.PI) * node.rect.height) / 2, direction); + pt.hidden = true; + node.anchors.push(pt); + } +} +//# sourceMappingURL=circle.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.anchor.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.anchor.js.map new file mode 100644 index 000000000..70c561e3d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"circle.anchor.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/circle.anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,UAAU,aAAa,CAAC,IAAU;IACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACjH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAElH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;QAC/B,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE;YAChB,SAAS;SACV;QAED,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACrC,IAAM,EAAE,GAAG,IAAI,KAAK,CAClB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAC1E,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAC3E,SAAS,CACV,CAAC;QACF,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACvB;AACH,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.d.ts new file mode 100644 index 000000000..e19f41f9b --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function circle(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.js new file mode 100644 index 000000000..50033f355 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.js @@ -0,0 +1,7 @@ +export function circle(ctx, node) { + ctx.beginPath(); + ctx.ellipse(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 2, node.rect.width / 2, node.rect.height / 2, 0, 0, Math.PI * 2); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=circle.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.js.map new file mode 100644 index 000000000..8083a706e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"circle.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/circle.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,MAAM,CAAC,GAA6B,EAAE,IAAU;IAC9D,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAClC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACnB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EACpB,CAAC,EACD,CAAC,EACD,IAAI,CAAC,EAAE,GAAG,CAAC,CACZ,CAAC;IACF,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.rect.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.rect.d.ts new file mode 100644 index 000000000..10d1372c8 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '../../models/node'; +export declare function circleIconRect(node: Node): void; +export declare function circleTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.rect.js new file mode 100644 index 000000000..3d6c5d726 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.rect.js @@ -0,0 +1,27 @@ +import { Rect } from '../../models/rect'; +export function circleIconRect(node) { + var w = node.rect.width / 2; + var h = node.rect.height / 2; + if (w > h) { + w = h; + } + else { + h = w; + } + var top = node.rect.height / 10; + if (top < 10) { + top = 10; + } + node.iconRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + top, w, h); +} +export function circleTextRect(node) { + var bottom = node.rect.height / 20; + if (bottom < 5) { + bottom = 0; + } + node.textRect = new Rect(node.rect.x + node.rect.width / 4, node.rect.y + (node.rect.height * 2) / 3 - bottom, node.rect.width / 2, node.rect.height / 3 - 5); + var w = (node.rect.width * 5) / 7; + var h = (node.rect.height * 5) / 7; + node.fullTextRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + (node.rect.height - h) / 2, w, h); +} +//# sourceMappingURL=circle.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.rect.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.rect.js.map new file mode 100644 index 000000000..28f8b64fe --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"circle.rect.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/circle.rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,UAAU,cAAc,CAAC,IAAU;IACvC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,EAAE;QACT,CAAC,GAAG,CAAC,CAAC;KACP;SAAM;QACL,CAAC,GAAG,CAAC,CAAC;KACP;IACD,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IAChC,IAAI,GAAG,GAAG,EAAE,EAAE;QACZ,GAAG,GAAG,EAAE,CAAC;KACV;IACD,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAU;IACvC,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnC,IAAI,MAAM,GAAG,CAAC,EAAE;QACd,MAAM,GAAG,CAAC,CAAC;KACZ;IACD,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EACjD,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACnB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CACzB,CAAC;IAEF,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACxH,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.anchor.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.anchor.d.ts new file mode 100644 index 000000000..47a29cbb9 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function cloudAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.anchor.js new file mode 100644 index 000000000..e93fad70f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.anchor.js @@ -0,0 +1,9 @@ +import { Point } from '../../models/point'; +import { Direction } from '../../models/direction'; +export function cloudAnchors(node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + (node.rect.height * 3) / 5, Direction.Left)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 9, Direction.Up)); + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 3) / 5, Direction.Right)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + (node.rect.height * 4) / 5, Direction.Bottom)); +} +//# sourceMappingURL=cloud.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.anchor.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.anchor.js.map new file mode 100644 index 000000000..7cba6b8cd --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cloud.anchor.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/cloud.anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CACpG,CAAC;IAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CACzG,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.d.ts new file mode 100644 index 000000000..6b7b4d184 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function cloud(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.js new file mode 100644 index 000000000..ac4abf50b --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.js @@ -0,0 +1,11 @@ +export function cloud(ctx, node) { + ctx.beginPath(); + ctx.moveTo(node.rect.x + node.rect.width / 5, node.rect.y + (node.rect.height * 13) / 16); + ctx.bezierCurveTo(node.rect.x - node.rect.width / 15, node.rect.y + (node.rect.height * 13) / 16, node.rect.x - node.rect.width / 15, node.rect.y + (node.rect.height * 7) / 16, node.rect.x + node.rect.width / 5, node.rect.y + (node.rect.height * 7) / 16); + ctx.bezierCurveTo(node.rect.x + node.rect.width / 5, node.rect.y, node.rect.x + (node.rect.width * 4) / 5, node.rect.y, node.rect.x + (node.rect.width * 4) / 5, node.rect.y + (node.rect.height * 7) / 16); + ctx.bezierCurveTo(node.rect.x + (node.rect.width * 16) / 15, node.rect.y + (node.rect.height * 7) / 16, node.rect.x + (node.rect.width * 16) / 15, node.rect.y + (node.rect.height * 13) / 16, node.rect.x + (node.rect.width * 4) / 5, node.rect.y + (node.rect.height * 13) / 16); + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=cloud.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.js.map new file mode 100644 index 000000000..417ee67f4 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/cloud.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,KAAK,CAAC,GAA6B,EAAE,IAAU;IAC7D,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1F,GAAG,CAAC,aAAa,CACf,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAClC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,EAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAClC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,EACzC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAC1C,CAAC;IACF,GAAG,CAAC,aAAa,CACf,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EACvC,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EACvC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAC1C,CAAC;IACF,GAAG,CAAC,aAAa,CACf,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,EACzC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,EACzC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,EACzC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,EAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EACvC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,CAC3C,CAAC;IACF,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.rect.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.rect.d.ts new file mode 100644 index 000000000..3cedf42ba --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '../../models/node'; +export declare function cloudIconRect(node: Node): void; +export declare function cloudTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.rect.js new file mode 100644 index 000000000..431ccfcee --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.rect.js @@ -0,0 +1,9 @@ +import { Rect } from '../../models/rect'; +export function cloudIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function cloudTextRect(node) { + node.textRect = new Rect(node.rect.x + node.rect.width / 4, node.rect.y + node.rect.height / 4, node.rect.width / 2, (node.rect.height * 6) / 11); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=cloud.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.rect.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.rect.js.map new file mode 100644 index 000000000..340c667a6 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cloud.rect.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/cloud.rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,UAAU,aAAa,CAAC,IAAU;IACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAU;IACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAClC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACnB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAC5B,CAAC;IACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.anchor.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.anchor.d.ts new file mode 100644 index 000000000..0dead4cc7 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function cubeAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.anchor.js new file mode 100644 index 000000000..28878e002 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.anchor.js @@ -0,0 +1,10 @@ +import { Point } from '../../models/point'; +import { Direction } from '../../models/direction'; +export function cubeAnchors(node) { + var offset = node.z * Math.sin((45 * Math.PI) / 180); + node.anchors.push(new Point(node.rect.x, node.rect.ey - (node.rect.height - offset) / 2, Direction.Left)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + offset / 2, Direction.Up)); + node.anchors.push(new Point(node.rect.ex - offset / 2, node.rect.y + node.rect.height / 2, Direction.Right)); + node.anchors.push(new Point(node.rect.x + (node.rect.width - offset) / 2, node.rect.y + node.rect.height, Direction.Bottom)); +} +//# sourceMappingURL=cube.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.anchor.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.anchor.js.map new file mode 100644 index 000000000..405d74b37 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cube.anchor.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/cube.anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,UAAU,WAAW,CAAC,IAAU;IACpC,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;IAEvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1G,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACxG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7G,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAC1G,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.d.ts new file mode 100644 index 000000000..10e8164a9 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function cube(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.js new file mode 100644 index 000000000..dfc8fa904 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.js @@ -0,0 +1,5 @@ +import { Cube } from './cube.model'; +export function cube(ctx, node) { + new Cube(node.rect, node.z, node.zRotate, node.fillStyle, node.strokeStyle).render(ctx); +} +//# sourceMappingURL=cube.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.js.map new file mode 100644 index 000000000..fb3bcc786 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cube.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/cube.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,MAAM,UAAU,IAAI,CAAC,GAA6B,EAAE,IAAU;IAC5D,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1F,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.model.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.model.d.ts new file mode 100644 index 000000000..b8550685e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.model.d.ts @@ -0,0 +1,14 @@ +import { Point } from '../../models/point'; +import { Rect } from '../../models/rect'; +export declare class Surface { + points: Point[]; + fillStyle: string; + strokeStyle: string; + constructor(pt1: Point, pt2: Point, pt3: Point, pt4: Point, fillStyle?: string, strokeStyle?: string); + render(ctx: CanvasRenderingContext2D): void; +} +export declare class Cube { + surfaces: Surface[]; + constructor(rect: Rect, z: number, zRotate: number, fillStyle?: string, strokeStyle?: string); + render(ctx: CanvasRenderingContext2D): void; +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.model.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.model.js new file mode 100644 index 000000000..4296cedfd --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.model.js @@ -0,0 +1,64 @@ +import { Point } from '../../models/point'; +import { pSBC } from '../../utils/math'; +var Surface = /** @class */ (function () { + function Surface(pt1, pt2, pt3, pt4, fillStyle, strokeStyle) { + if (fillStyle === void 0) { fillStyle = ''; } + if (strokeStyle === void 0) { strokeStyle = ''; } + this.points = []; + this.fillStyle = ''; + this.strokeStyle = ''; + this.points.push(pt1); + this.points.push(pt2); + this.points.push(pt3); + this.points.push(pt4); + this.fillStyle = fillStyle; + this.strokeStyle = strokeStyle || fillStyle; + } + Surface.prototype.render = function (ctx) { + ctx.save(); + ctx.fillStyle = this.fillStyle; + ctx.strokeStyle = this.strokeStyle; + ctx.beginPath(); + for (var i = 0; i < this.points.length; ++i) { + if (i) { + ctx.lineTo(this.points[i].x, this.points[i].y); + } + else { + ctx.moveTo(this.points[i].x, this.points[i].y); + } + } + ctx.closePath(); + this.fillStyle && ctx.fill(); + ctx.stroke(); + ctx.restore(); + }; + return Surface; +}()); +export { Surface }; +var Cube = /** @class */ (function () { + function Cube(rect, z, zRotate, fillStyle, strokeStyle) { + if (fillStyle === void 0) { fillStyle = '#ddd'; } + if (strokeStyle === void 0) { strokeStyle = '#ccc'; } + this.surfaces = []; + var offset = z * Math.sin((45 * Math.PI) / 180); + var p1 = new Point(rect.x, rect.y + offset); + var p2 = new Point(rect.ex - offset, rect.y + offset); + var p3 = new Point(rect.ex - offset, rect.ey); + var p4 = new Point(rect.x, rect.ey); + // front + this.surfaces.push(new Surface(p1, p2, p3, p4, fillStyle, strokeStyle)); + // up + this.surfaces.push(new Surface(p1, new Point(rect.x + offset, rect.y), new Point(rect.ex, rect.y), p2, pSBC(0.5, fillStyle), strokeStyle)); + // right + this.surfaces.push(new Surface(p2, new Point(rect.ex, rect.y), new Point(rect.ex, rect.ey - offset), p3, pSBC(0.6, fillStyle), strokeStyle)); + } + Cube.prototype.render = function (ctx) { + for (var _i = 0, _a = this.surfaces; _i < _a.length; _i++) { + var item = _a[_i]; + item.render(ctx); + } + }; + return Cube; +}()); +export { Cube }; +//# sourceMappingURL=cube.model.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.model.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.model.js.map new file mode 100644 index 000000000..f5f743f57 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.model.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cube.model.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/cube.model.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.rect.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.rect.d.ts new file mode 100644 index 000000000..889a32c4c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '../../models/node'; +export declare function cubeIconRect(node: Node): void; +export declare function cubeTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.rect.js new file mode 100644 index 000000000..758f0e314 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.rect.js @@ -0,0 +1,11 @@ +import { Rect } from '../../models/rect'; +export function cubeIconRect(node) { + node.fullIconRect = node.fullTextRect; + node.iconRect = new Rect(node.fullIconRect.x, node.fullIconRect.y, node.fullIconRect.width, (node.fullIconRect.height * 2) / 3); +} +export function cubeTextRect(node) { + var offset = node.z * Math.sin((45 * Math.PI) / 180); + node.fullTextRect = new Rect(node.rect.x, node.rect.y + offset, node.rect.width - offset, node.rect.height - offset); + node.textRect = new Rect(node.fullTextRect.x + 10, node.fullTextRect.y + (node.fullTextRect.height * 2) / 3, node.fullTextRect.width - 20, node.fullTextRect.height / 3 - 5); +} +//# sourceMappingURL=cube.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.rect.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.rect.js.map new file mode 100644 index 000000000..88d28b6bb --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cube.rect.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/cube.rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,YAAY,CAAC,CAAC,EACnB,IAAI,CAAC,YAAY,CAAC,CAAC,EACnB,IAAI,CAAC,YAAY,CAAC,KAAK,EACvB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;IACvD,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAErH,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,EACxB,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EACxD,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,EAAE,EAC5B,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CACjC,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.d.ts new file mode 100644 index 000000000..993632119 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function diamond(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.js new file mode 100644 index 000000000..d78c1c8d9 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.js @@ -0,0 +1,11 @@ +export function diamond(ctx, node) { + ctx.beginPath(); + ctx.moveTo(node.rect.x + node.rect.width / 2, node.rect.y); + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2); + ctx.lineTo(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height); + ctx.lineTo(node.rect.x, node.rect.y + node.rect.height / 2); + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=diamond.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.js.map new file mode 100644 index 000000000..079786e36 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.js.map @@ -0,0 +1 @@ +{"version":3,"file":"diamond.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/diamond.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,OAAO,CAAC,GAA6B,EAAE,IAAU;IAC/D,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9E,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9E,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5D,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.rect.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.rect.d.ts new file mode 100644 index 000000000..9340e9594 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '../../models/node'; +export declare function diamondIconRect(node: Node): void; +export declare function diamondTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.rect.js new file mode 100644 index 000000000..c78afeb28 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.rect.js @@ -0,0 +1,27 @@ +import { Rect } from '../../models/rect'; +export function diamondIconRect(node) { + var w = node.rect.width / 3; + var h = node.rect.height / 3; + if (w > h) { + w = h; + } + else { + h = w; + } + var top = node.rect.width / 5; + if (top < 10) { + top = 10; + } + node.iconRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + top, w, h); +} +export function diamondTextRect(node) { + var bottom = node.rect.height / 10; + if (bottom < 5) { + bottom = 0; + } + node.textRect = new Rect(node.rect.x + node.rect.width / 3, node.rect.y + (node.rect.height * 2) / 3 - bottom, node.rect.width / 3, node.rect.height / 3 - 5); + var w = node.rect.width / 2; + var h = (node.rect.height * 1) / 2; + node.fullTextRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + node.rect.height / 4, w, h); +} +//# sourceMappingURL=diamond.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.rect.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.rect.js.map new file mode 100644 index 000000000..ce36f10b9 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"diamond.rect.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/diamond.rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,EAAE;QACT,CAAC,GAAG,CAAC,CAAC;KACP;SAAM;QACL,CAAC,GAAG,CAAC,CAAC;KACP;IACD,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,EAAE,EAAE;QACZ,GAAG,GAAG,EAAE,CAAC;KACV;IACD,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnC,IAAI,MAAM,GAAG,CAAC,EAAE;QACd,MAAM,GAAG,CAAC,CAAC;KACZ;IACD,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EACjD,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACnB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CACzB,CAAC;IAEF,IAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC9B,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAClH,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/file.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/file.d.ts new file mode 100644 index 000000000..75c5b9561 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/file.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function file(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/file.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/file.js new file mode 100644 index 000000000..30fc33523 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/file.js @@ -0,0 +1,16 @@ +export function file(ctx, node) { + ctx.beginPath(); + var offsetX = node.rect.width / 6; + ctx.moveTo(node.rect.x, node.rect.y); + ctx.lineTo(node.rect.ex - offsetX, node.rect.y); + ctx.lineTo(node.rect.ex, node.rect.y + offsetX); + ctx.lineTo(node.rect.ex, node.rect.ey); + ctx.lineTo(node.rect.x, node.rect.ey); + ctx.closePath(); + ctx.moveTo(node.rect.ex - offsetX, node.rect.y); + ctx.lineTo(node.rect.ex - offsetX, node.rect.y + offsetX); + ctx.lineTo(node.rect.ex, node.rect.y + offsetX); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=file.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/file.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/file.js.map new file mode 100644 index 000000000..febfca653 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/file.js.map @@ -0,0 +1 @@ +{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/file.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,IAAI,CAAC,GAA6B,EAAE,IAAU;IAC5D,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACpC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;IAChD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,GAAG,CAAC,SAAS,EAAE,CAAC;IAEhB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;IAC1D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;IAEhD,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.anchor.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.anchor.d.ts new file mode 100644 index 000000000..9e055eaa5 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function graffitiAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.anchor.js new file mode 100644 index 000000000..681458c20 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.anchor.js @@ -0,0 +1,18 @@ +import { Point } from '../../models/point'; +import { Direction } from '../../models/direction'; +export function graffitiAnchors(node) { + if (!node.points || !node.points.length) { + return; + } + var pt1 = node.points[0]; + var pt2 = node.points[node.points.length - 1]; + if (pt1.x < pt2.x) { + node.anchors.push(new Point(pt1.x, pt1.y, Direction.Left)); + node.anchors.push(new Point(pt2.x, pt2.y, Direction.Right)); + } + else { + node.anchors.push(new Point(pt1.x, pt1.y, Direction.Right)); + node.anchors.push(new Point(pt2.x, pt2.y, Direction.Left)); + } +} +//# sourceMappingURL=graffiti.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.anchor.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.anchor.js.map new file mode 100644 index 000000000..9ec11a678 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"graffiti.anchor.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/graffiti.anchor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;QACvC,OAAO;KACR;IACD,IAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChD,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE;QACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;KAC7D;SAAM;QACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;KAC5D;AACH,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.d.ts new file mode 100644 index 000000000..194f0a39d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function graffiti(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.js new file mode 100644 index 000000000..c274a4f1a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.js @@ -0,0 +1,14 @@ +export function graffiti(ctx, node) { + if (!node.points || !node.points[0]) { + return; + } + ctx.beginPath(); + ctx.moveTo(node.points[0].x, node.points[0].y); + node.points.forEach(function (pt) { + ctx.lineTo(pt.x, pt.y); + }); + node['closePath'] && !node['doing'] && ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=graffiti.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.js.map new file mode 100644 index 000000000..29cc840fc --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.js.map @@ -0,0 +1 @@ +{"version":3,"file":"graffiti.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/graffiti.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,QAAQ,CAAC,GAA6B,EAAE,IAAU;IAChE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACnC,OAAO;KACR;IAED,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,EAAS;QAC5B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;IACvD,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.anchor.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.anchor.d.ts new file mode 100644 index 000000000..81d45fa54 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function hexagonAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.anchor.js new file mode 100644 index 000000000..3ee3c8fcc --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.anchor.js @@ -0,0 +1,21 @@ +import { Point } from '../../models/point'; +import { Direction } from '../../models/direction'; +export function hexagonAnchors(node) { + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)); + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); + var ptLT = new Point(node.rect.x + node.rect.width / 10, node.rect.y + node.rect.height / 4, Direction.Left); + ptLT.hidden = true; + node.anchors.push(ptLT); + var ptRT = new Point(node.rect.x + node.rect.width / 10, node.rect.y + (node.rect.height * 3) / 4, Direction.Left); + ptRT.hidden = true; + node.anchors.push(ptRT); + var ptLB = new Point(node.rect.x + (node.rect.width * 9) / 10, node.rect.y + node.rect.height / 4, Direction.Right); + ptLB.hidden = true; + node.anchors.push(ptLB); + var ptRB = new Point(node.rect.x + (node.rect.width * 9) / 10, node.rect.y + (node.rect.height * 3) / 4, Direction.Right); + ptRB.hidden = true; + node.anchors.push(ptRB); +} +//# sourceMappingURL=hexagon.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.anchor.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.anchor.js.map new file mode 100644 index 000000000..605aa5830 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hexagon.anchor.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/hexagon.anchor.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.d.ts new file mode 100644 index 000000000..ee3b2594c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function hexagon(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.js new file mode 100644 index 000000000..ec8937f2a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.js @@ -0,0 +1,14 @@ +export function hexagon(ctx, node) { + ctx.beginPath(); + var pos = node.rect.width / 5; + ctx.moveTo(node.rect.x + pos, node.rect.y); + ctx.lineTo(node.rect.x + node.rect.width - pos, node.rect.y); + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2); + ctx.lineTo(node.rect.x + node.rect.width - pos, node.rect.y + node.rect.height); + ctx.lineTo(node.rect.x + pos, node.rect.y + node.rect.height); + ctx.lineTo(node.rect.x, node.rect.y + node.rect.height / 2); + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=hexagon.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.js.map new file mode 100644 index 000000000..4cebc5552 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hexagon.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/hexagon.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,OAAO,CAAC,GAA6B,EAAE,IAAU;IAC/D,GAAG,CAAC,SAAS,EAAE,CAAC;IAEhB,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAChC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9E,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5D,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.rect.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.rect.d.ts new file mode 100644 index 000000000..b03e178c4 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '../../models/node'; +export declare function hexagonIconRect(node: Node): void; +export declare function hexagonTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.rect.js new file mode 100644 index 000000000..3a2573a2c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.rect.js @@ -0,0 +1,14 @@ +import { Rect } from '../../models/rect'; +export function hexagonIconRect(node) { + var w = (node.rect.width * 3) / 5; + var h = (node.rect.height * 3) / 4; + node.iconRect = new Rect(node.rect.x + node.rect.width / 5 + node.paddingLeftNum, node.rect.y + node.paddingTopNum, w - node.paddingLeftNum - node.paddingRightNum, h - node.paddingTopNum - node.paddingBottomNum); + node.fullIconRect = new Rect(node.rect.x + node.rect.width / 5 + node.paddingLeftNum, node.rect.y + node.paddingTopNum, w - node.paddingLeftNum - node.paddingRightNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum); +} +export function hexagonTextRect(node) { + var w = (node.rect.width * 3) / 5; + var h = node.rect.height / 4; + node.textRect = new Rect(node.rect.x + node.rect.width / 5 + node.paddingLeftNum, node.rect.y + node.rect.height - h + node.paddingTopNum, w - node.paddingLeftNum - node.paddingRightNum, h); + node.fullTextRect = new Rect(node.rect.x + node.rect.width / 5 + node.paddingLeftNum, node.rect.y + node.paddingTopNum, w - node.paddingLeftNum - node.paddingRightNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum); +} +//# sourceMappingURL=hexagon.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.rect.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.rect.js.map new file mode 100644 index 000000000..ec045228b --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hexagon.rect.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/hexagon.rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,EACvD,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAChC,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAC9C,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAC/C,CAAC;IACF,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,EACvD,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAChC,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAC9D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,IAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,EACvD,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EACvD,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAC9C,CAAC,CACF,CAAC;IAEF,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,EACvD,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAChC,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAC9D,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.anchor.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.anchor.d.ts new file mode 100644 index 000000000..379b0c87f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function imageAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.anchor.js new file mode 100644 index 000000000..bedad822d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.anchor.js @@ -0,0 +1,19 @@ +import { Point } from '../../models/point'; +import { Direction } from '../../models/direction'; +export function imageAnchors(node) { + var textWidth = 0; + var textHeight = 0; + if (node.text) { + if (node.paddingRightNum) { + textWidth = node.paddingRightNum; + } + else { + textHeight = node.paddingBottomNum || node.lineHeight * node.fontSize * (node.textMaxLine || 1); + } + } + node.anchors.push(new Point(node.rect.x, node.rect.y + (node.rect.height - textHeight) / 2, Direction.Left)); + node.anchors.push(new Point(node.rect.x + (node.rect.width - textWidth) / 2, node.rect.y, Direction.Up)); + node.anchors.push(new Point(node.rect.x + node.rect.width - textWidth, node.rect.y + (node.rect.height - textHeight) / 2, Direction.Right)); + node.anchors.push(new Point(node.rect.x + (node.rect.width - textWidth) / 2, node.rect.y + node.rect.height - textHeight, Direction.Bottom)); +} +//# sourceMappingURL=image.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.anchor.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.anchor.js.map new file mode 100644 index 000000000..773ccc641 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"image.anchor.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/image.anchor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,IAAI,CAAC,IAAI,EAAE;QACb,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;SAClC;aAAM;YACL,UAAU,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;SACjG;KACF;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7G,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACzG,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,KAAK,CACP,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,EACzC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,EACjD,SAAS,CAAC,KAAK,CAChB,CACF,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,KAAK,CACP,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,EAC/C,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,EAC3C,SAAS,CAAC,MAAM,CACjB,CACF,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.rect.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.rect.d.ts new file mode 100644 index 000000000..18c9e7080 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '../../models/node'; +export declare function imageIconRect(node: Node): void; +export declare function imageTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.rect.js new file mode 100644 index 000000000..c02e0c152 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.rect.js @@ -0,0 +1,27 @@ +import { Rect } from '../../models/rect'; +export function imageIconRect(node) { + var textWidth = 0; + var textHeight = 0; + if (node.text) { + if (node.paddingRightNum) { + textWidth = node.paddingRightNum; + } + else { + textHeight = node.paddingBottomNum || node.lineHeight * node.fontSize * (node.textMaxLine || 1); + } + } + node.iconRect = new Rect(node.rect.x, node.rect.y, node.rect.width - textWidth, node.rect.height - textHeight); + node.fullIconRect = node.rect; +} +export function imageTextRect(node) { + if (node.paddingRightNum) { + var width = node.paddingRightNum - 5; + node.textRect = new Rect(node.rect.x + node.rect.width - width, node.rect.y, width, node.rect.height - node.textOffsetY * 2); + } + else { + var height = node.paddingBottomNum || node.lineHeight * node.fontSize * (node.textMaxLine || 1); + node.textRect = new Rect(node.rect.x, node.rect.y + node.rect.height - height, node.rect.width - node.textOffsetX * 2, height); + } + node.fullTextRect = node.rect; +} +//# sourceMappingURL=image.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.rect.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.rect.js.map new file mode 100644 index 000000000..561b8e3f9 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"image.rect.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/image.rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,UAAU,aAAa,CAAC,IAAU;IACtC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,IAAI,CAAC,IAAI,EAAE;QACb,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;SAClC;aAAM;YACL,UAAU,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;SACjG;KACF;IAED,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;IAC/G,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAU;IACtC,IAAI,IAAI,CAAC,eAAe,EAAE;QACxB,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,EACrC,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,KAAK,EACL,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CACxC,CAAC;KACH;SAAM;QACL,IAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,EACvC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,EACtC,MAAM,CACP,CAAC;KACH;IAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;AAChC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.anchor.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.anchor.d.ts new file mode 100644 index 000000000..1d6046e40 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function lineAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.anchor.js new file mode 100644 index 000000000..76c77404d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.anchor.js @@ -0,0 +1,14 @@ +import { Point } from '../../models/point'; +import { Direction } from '../../models/direction'; +export function lineAnchors(node) { + var y = node.rect.y + node.rect.height / 2; + node.anchors.push(new Point(node.rect.x, y, Direction.Left)); + node.anchors.push(new Point(node.rect.x + node.rect.width, y, Direction.Right)); + var scale = topology.data.scale || 1; // 取全局的 scale 属性 + for (var i = node.rect.x + 5 * scale; i < node.rect.ex; i += 5 * scale) { + var pt = new Point(i, y, Direction.Bottom); + pt.hidden = true; + node.anchors.push(pt); + } +} +//# sourceMappingURL=line.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.anchor.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.anchor.js.map new file mode 100644 index 000000000..60ad28a2e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"line.anchor.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/line.anchor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAKnD,MAAM,UAAU,WAAW,CAAC,IAAU;IACpC,IAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAChF,IAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB;IACxD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE;QACtE,IAAM,EAAE,GAAG,IAAI,KAAK,CAClB,CAAC,EACD,CAAC,EACD,SAAS,CAAC,MAAM,CACjB,CAAC;QACF,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACvB;AACH,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.d.ts new file mode 100644 index 000000000..41c351f92 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function line(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.js new file mode 100644 index 000000000..1d713bc55 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.js @@ -0,0 +1,8 @@ +export function line(ctx, node) { + ctx.beginPath(); + var y = node.rect.y + node.rect.height / 2; + ctx.moveTo(node.rect.x, y); + ctx.lineTo(node.rect.x + node.rect.width, y); + ctx.stroke(); +} +//# sourceMappingURL=line.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.js.map new file mode 100644 index 000000000..bce3e6c1b --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.js.map @@ -0,0 +1 @@ +{"version":3,"file":"line.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/line.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,IAAI,CAAC,GAA6B,EAAE,IAAU;IAC5D,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,IAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.rect.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.rect.d.ts new file mode 100644 index 000000000..2e9c5ee68 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '../../models/node'; +export declare function lineIconRect(node: Node): void; +export declare function lineTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.rect.js new file mode 100644 index 000000000..27993633f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.rect.js @@ -0,0 +1,9 @@ +import { Rect } from '../../models/rect'; +export function lineIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function lineTextRect(node) { + node.fullTextRect = new Rect(node.rect.x + 10, node.rect.y + node.rect.height / 2 - 20, node.rect.width - 20, 20); + node.textRect = node.fullTextRect; +} +//# sourceMappingURL=line.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.rect.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.rect.js.map new file mode 100644 index 000000000..edb84c852 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"line.rect.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/line.rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAClH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/lines.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/lines.d.ts new file mode 100644 index 000000000..4adcfacc5 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/lines.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function lines(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/lines.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/lines.js new file mode 100644 index 000000000..899e097c8 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/lines.js @@ -0,0 +1,27 @@ +export function lines(ctx, node) { + if (!node.points || !node.points[1]) { + return; + } + ctx.beginPath(); + ctx.moveTo(node.points[0].x, node.points[0].y); + for (var i = 1; i < node.points.length;) { + // curve 控制点 + if (node.points[i].data) { + if (node.points[i + 2]) { + ctx.bezierCurveTo(node.points[i].x, node.points[i].y, node.points[i + 1].x, node.points[i + 1].y, node.points[i + 2].x, node.points[i + 2].y); + i += 2; + } + else { + break; + } + } + else { + ctx.lineTo(node.points[i].x, node.points[i].y); + ++i; + } + } + node['closePath'] && !node['doing'] && ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=lines.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/lines.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/lines.js.map new file mode 100644 index 000000000..c6d81cf23 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/lines.js.map @@ -0,0 +1 @@ +{"version":3,"file":"lines.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/lines.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,KAAK,CAAC,GAA6B,EAAE,IAAU;IAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACnC,OAAO;KACR;IAED,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG;QACvC,YAAY;QACZ,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACvB,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;gBACtB,GAAG,CAAC,aAAa,CACf,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAChB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAChB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACpB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACpB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACpB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACrB,CAAC;gBACF,CAAC,IAAI,CAAC,CAAC;aACR;iBAAM;gBACL,MAAM;aACP;SACF;aAAM;YACL,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,EAAE,CAAC,CAAC;SACL;KACF;IACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;IACvD,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.anchor.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.anchor.d.ts new file mode 100644 index 000000000..4477cbcac --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function messageAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.anchor.js new file mode 100644 index 000000000..f32e0a9a7 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.anchor.js @@ -0,0 +1,9 @@ +import { Point } from '../../models/point'; +import { Direction } from '../../models/direction'; +export function messageAnchors(node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + (node.rect.height * 3) / 8, Direction.Left)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 3) / 8, Direction.Right)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 4, node.rect.ey, Direction.Bottom)); +} +//# sourceMappingURL=message.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.anchor.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.anchor.js.map new file mode 100644 index 000000000..315eb6b06 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"message.anchor.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/message.anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,UAAU,cAAc,CAAC,IAAU;IACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CACpG,CAAC;IAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAClG,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.d.ts new file mode 100644 index 000000000..fa2418ff2 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function message(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.js new file mode 100644 index 000000000..deebcd0c9 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.js @@ -0,0 +1,14 @@ +export function message(ctx, node) { + ctx.beginPath(); + ctx.moveTo(node.rect.x, node.rect.y); + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y); + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 3) / 4); + ctx.lineTo(node.rect.x + (node.rect.width * 8) / 16, node.rect.y + (node.rect.height * 3) / 4); + ctx.lineTo(node.rect.x + node.rect.width / 4, node.rect.ey); + ctx.lineTo(node.rect.x + (node.rect.width * 5) / 16, node.rect.y + (node.rect.height * 3) / 4); + ctx.lineTo(node.rect.x, node.rect.y + (node.rect.height * 3) / 4); + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=message.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.js.map new file mode 100644 index 000000000..dfab535c3 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.js.map @@ -0,0 +1 @@ +{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/message.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,OAAO,CAAC,GAA6B,EAAE,IAAU;IAC/D,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/F,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/F,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.rect.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.rect.d.ts new file mode 100644 index 000000000..e4035ad68 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '../../models/node'; +export declare function messageIconRect(node: Node): void; +export declare function messageTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.rect.js new file mode 100644 index 000000000..2b9d5b98a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.rect.js @@ -0,0 +1,10 @@ +import { Rect } from '../../models/rect'; +export function messageIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); + node.fullIconRect = node.iconRect; +} +export function messageTextRect(node) { + node.textRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, (node.rect.height * 3) / 4 - node.paddingTopNum - node.paddingBottomNum); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=message.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.rect.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.rect.js.map new file mode 100644 index 000000000..7eaf3356e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"message.rect.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/message.rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAChC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CACxE,CAAC;IACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.anchor.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.anchor.d.ts new file mode 100644 index 000000000..5ff5136ff --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function mindLineAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.anchor.js new file mode 100644 index 000000000..22d18797d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.anchor.js @@ -0,0 +1,6 @@ +import { Point } from '../../models/point'; +export function mindLineAnchors(node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height, 4)); + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height, 2)); +} +//# sourceMappingURL=mindLine.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.anchor.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.anchor.js.map new file mode 100644 index 000000000..29b2945ad --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mindLine.anchor.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/mindLine.anchor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7E,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAC5E,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.d.ts new file mode 100644 index 000000000..aff5ac11c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function mindLine(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.js new file mode 100644 index 000000000..23811acd6 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.js @@ -0,0 +1,8 @@ +export function mindLine(ctx, node) { + ctx.beginPath(); + ctx.moveTo(node.rect.x, node.rect.y + node.rect.height); + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height); + ctx.closePath(); + ctx.stroke(); +} +//# sourceMappingURL=mindLine.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.js.map new file mode 100644 index 000000000..941ba5511 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mindLine.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/mindLine.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,QAAQ,CAAC,GAA6B,EAAE,IAAU;IAChE,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1E,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindNode.anchor.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindNode.anchor.d.ts new file mode 100644 index 000000000..d5b8c63d5 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindNode.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function mindNodeAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindNode.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindNode.anchor.js new file mode 100644 index 000000000..f920a3577 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindNode.anchor.js @@ -0,0 +1,117 @@ +import { Point } from '../../models/point'; +import { Direction } from '../../models/direction'; +export function mindNodeAnchors(node) { + var r = borderRadius(node); + // 上四 + var topN = 5; // 上方节点个数,控制位置,实际节点数依然是 4 个 + for (var i = 0; i < topN; i++) { + if (i === 2) { + continue; + } + var x = node.rect.x + (node.rect.width * (i + 1)) / (topN + 1); + var y = node.rect.y; + if (x < node.rect.x + r) { + // 在左侧圆角 + y = getYByCircle(node.rect.x + r, y + r, x, r, -1); + } + else if (x > node.rect.x + node.rect.width - r) { + // 在右侧圆角 + y = getYByCircle(node.rect.x + node.rect.width - r, y + r, x, r, -1); + } + node.anchors.push(new Point(x, y, Direction.Up)); + } + // 右三 + var rightN = 3; // 右侧节点数 + for (var i = 0; i < rightN; i++) { + var y = node.rect.y + (node.rect.height * (i + 1)) / (rightN + 1); + var x = node.rect.x + node.rect.width; + if (y < node.rect.y + r) { + // 在上侧圆角以内 + x = getXByCircle(x - r, node.rect.y + r, y, r); + } + else if (y > node.rect.y + node.rect.height - r) { + // 下侧圆角 + x = getXByCircle(x - r, node.rect.y + node.rect.height - r, y, r); + } + node.anchors.push(new Point(x, y, Direction.Right)); + } + // 下四 + var bottomN = 5; // 下侧节点数 + for (var i = 0; i < bottomN; i++) { + if (i === 2) { + continue; + } + var x = node.rect.x + (node.rect.width * (i + 1)) / (bottomN + 1); + var y = node.rect.y + node.rect.height; + if (x < node.rect.x + r) { + // 在左侧圆角 + y = getYByCircle(node.rect.x + r, y - r, x, r); + } + else if (x > node.rect.x + node.rect.width - r) { + // 在右侧圆角 + y = getYByCircle(node.rect.x + node.rect.width - r, y - r, x, r); + } + node.anchors.push(new Point(x, y, Direction.Bottom)); + } + // 左三 + var leftN = 3; // 左侧节点数 + for (var i = 0; i < leftN; i++) { + var y = node.rect.y + (node.rect.height * (i + 1)) / (leftN + 1); + var x = node.rect.x; + if (y < node.rect.y + r) { + // 在上侧圆角以内 + x = getXByCircle(x + r, node.rect.y + r, y, r, -1); + } + else if (y > node.rect.y + node.rect.height - r) { + // 下侧圆角 + x = getXByCircle(x + r, node.rect.y + node.rect.height - r, y, r, -1); + } + node.anchors.push(new Point(x, y, Direction.Left)); + } +} +/** + * 得到元素实际计算半径 + * @param node 元素 + * @returns 元素实际半径 + */ +function borderRadius(node) { + var wr = node.borderRadius; + var hr = node.borderRadius; + if (node.borderRadius < 1) { + wr = node.rect.width * node.borderRadius; + hr = node.rect.height * node.borderRadius; + } + var r = wr < hr ? wr : hr; + if (node.rect.width < 2 * r) { + r = node.rect.width / 2; + } + if (node.rect.height < 2 * r) { + r = node.rect.height / 2; + } + return r; +} +/** + * 获取圆的 x 坐标 + * @param ox 圆心x + * @param oy 圆心y + * @param y y + * @param r 半径 + * @param sqrt 点可能在左侧,左侧填-1,右侧1(默认值) + */ +function getXByCircle(ox, oy, y, r, sqrt) { + if (sqrt === void 0) { sqrt = 1; } + return sqrt * Math.sqrt(Math.pow(r, 2) - Math.pow((y - oy), 2)) + ox; +} +/** + * 获取圆的 y 坐标 + * @param ox 圆心x + * @param oy 圆心y + * @param y y + * @param r 半径 + * @param sqrt 点可以在上侧,也可能在下侧,上侧-1,下侧1(默认) + */ +function getYByCircle(ox, oy, x, r, sqrt) { + if (sqrt === void 0) { sqrt = 1; } + return sqrt * Math.sqrt(Math.pow(r, 2) - Math.pow((x - ox), 2)) + oy; +} +//# sourceMappingURL=mindNode.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindNode.anchor.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindNode.anchor.js.map new file mode 100644 index 000000000..f2f21c1e5 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindNode.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mindNode.anchor.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/mindNode.anchor.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.anchor.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.anchor.d.ts new file mode 100644 index 000000000..5603dfc64 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function pentagonAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.anchor.js new file mode 100644 index 000000000..713c6fb50 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.anchor.js @@ -0,0 +1,10 @@ +import { Point } from '../../models/point'; +import { Direction } from '../../models/direction'; +export function pentagonAnchors(node) { + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 2) / 5, Direction.Right)); + node.anchors.push(new Point(node.rect.x + (node.rect.width * 4) / 5, node.rect.y + node.rect.height, Direction.Bottom)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 5, node.rect.y + node.rect.height, Direction.Bottom)); + node.anchors.push(new Point(node.rect.x, node.rect.y + (node.rect.height * 2) / 5, Direction.Left)); +} +//# sourceMappingURL=pentagon.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.anchor.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.anchor.js.map new file mode 100644 index 000000000..b3de01e87 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pentagon.anchor.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/pentagon.anchor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CACpG,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CACrG,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAClH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACtG,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.d.ts new file mode 100644 index 000000000..31fab78eb --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function pentagon(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.js new file mode 100644 index 000000000..538d9aac5 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.js @@ -0,0 +1,12 @@ +export function pentagon(ctx, node) { + ctx.beginPath(); + ctx.moveTo(node.rect.x + node.rect.width / 2, node.rect.y); + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 2) / 5); + ctx.lineTo(node.rect.x + (node.rect.width * 4) / 5, node.rect.y + node.rect.height); + ctx.lineTo(node.rect.x + node.rect.width / 5, node.rect.y + node.rect.height); + ctx.lineTo(node.rect.x, node.rect.y + (node.rect.height * 2) / 5); + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=pentagon.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.js.map new file mode 100644 index 000000000..3c56b6c30 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pentagon.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/pentagon.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,QAAQ,CAAC,GAA6B,EAAE,IAAU;IAChE,GAAG,CAAC,SAAS,EAAE,CAAC;IAEhB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9E,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.rect.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.rect.d.ts new file mode 100644 index 000000000..e7d93ca06 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '../../models/node'; +export declare function pentagonIconRect(node: Node): void; +export declare function pentagonTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.rect.js new file mode 100644 index 000000000..b75134f9e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.rect.js @@ -0,0 +1,23 @@ +import { Rect } from '../../models/rect'; +export function pentagonIconRect(node) { + var w = node.rect.width / 2; + var h = node.rect.height / 2; + if (w > h) { + w = h; + } + else { + h = w; + } + var top = node.rect.height / 7; + if (top < 10) { + top = 10; + } + node.iconRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + top, w, h); +} +export function pentagonTextRect(node) { + node.textRect = new Rect(node.rect.x + node.rect.width / 5, node.rect.y + (node.rect.height * 5) / 7, (node.rect.width * 3) / 5, node.rect.height / 4); + var w = (node.rect.width * 3) / 5; + var h = (node.rect.height * 3) / 5; + node.fullTextRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + node.rect.height / 4, w, h); +} +//# sourceMappingURL=pentagon.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.rect.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.rect.js.map new file mode 100644 index 000000000..868e62124 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pentagon.rect.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/pentagon.rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,UAAU,gBAAgB,CAAC,IAAU;IACzC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,EAAE;QACT,CAAC,GAAG,CAAC,CAAC;KACP;SAAM;QACL,CAAC,GAAG,CAAC,CAAC;KACP;IACD,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/B,IAAI,GAAG,GAAG,EAAE,EAAE;QACZ,GAAG,GAAG,EAAE,CAAC;KACV;IACD,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAU;IACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EACxC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EACzB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CACrB,CAAC;IAEF,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAClH,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.anchor.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.anchor.d.ts new file mode 100644 index 000000000..d1464b1e1 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function pentagramAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.anchor.js new file mode 100644 index 000000000..5de2f411b --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.anchor.js @@ -0,0 +1,10 @@ +import { Point } from '../../models/point'; +import { Direction } from '../../models/direction'; +export function pentagramAnchors(node) { + node.anchors.push(new Point((Math.cos((18 / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin((18 / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2, Direction.Right)); + node.anchors.push(new Point((Math.cos(((18 + 72) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin(((18 + 72) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2, Direction.Up)); + node.anchors.push(new Point((Math.cos(((18 + 72 * 2) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin(((18 + 72 * 2) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2, Direction.Left)); + node.anchors.push(new Point((Math.cos(((18 + 72 * 3) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin(((18 + 72 * 3) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2, Direction.Bottom)); + node.anchors.push(new Point((Math.cos(((18 + 72 * 4) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin(((18 + 72 * 4) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2, Direction.Bottom)); +} +//# sourceMappingURL=pentagram.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.anchor.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.anchor.js.map new file mode 100644 index 000000000..1f3c58dec --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pentagram.anchor.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/pentagram.anchor.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.d.ts new file mode 100644 index 000000000..d4d57feec --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function pentagram(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.js new file mode 100644 index 000000000..2a7ac580d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.js @@ -0,0 +1,11 @@ +export function pentagram(ctx, node) { + ctx.beginPath(); + for (var i = 0; i < 5; ++i) { + ctx.lineTo((Math.cos(((18 + 72 * i) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin(((18 + 72 * i) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2); + ctx.lineTo((Math.cos(((54 + 72 * i) / 180) * Math.PI) * node.rect.width) / 4 + node.rect.x + node.rect.width / 2, (-Math.sin(((54 + 72 * i) / 180) * Math.PI) * node.rect.width) / 4 + node.rect.y + node.rect.height / 2); + } + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=pentagram.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.js.map new file mode 100644 index 000000000..1cd5c02ec --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pentagram.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/pentagram.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CAAC,GAA6B,EAAE,IAAU;IACjE,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;QAC1B,GAAG,CAAC,MAAM,CACR,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACrG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CACxG,CAAC;QACF,GAAG,CAAC,MAAM,CACR,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACrG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CACxG,CAAC;KACH;IACD,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.rect.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.rect.d.ts new file mode 100644 index 000000000..302804c1f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '../../models/node'; +export declare function pentagramIconRect(node: Node): void; +export declare function pentagramTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.rect.js new file mode 100644 index 000000000..f985a33cf --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.rect.js @@ -0,0 +1,11 @@ +import { Rect } from '../../models/rect'; +export function pentagramIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function pentagramTextRect(node) { + var w = (node.rect.width * 2) / 5; + var h = (node.rect.height * 2) / 5; + node.fullTextRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + (node.rect.height - h) / 2, w, h); + node.textRect = node.fullTextRect; +} +//# sourceMappingURL=pentagram.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.rect.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.rect.js.map new file mode 100644 index 000000000..36294dc6b --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pentagram.rect.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/pentagram.rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACtH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.d.ts new file mode 100644 index 000000000..0d0196b9d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function people(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.js new file mode 100644 index 000000000..a39937bf4 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.js @@ -0,0 +1,17 @@ +export function people(ctx, node) { + ctx.beginPath(); + var r = node.rect.width / 4; + var middle = node.rect.x + node.rect.width / 2; + ctx.arc(middle, node.rect.y + r, r, 0, Math.PI * 2); + ctx.moveTo(node.rect.x, node.rect.y + r * 3); + ctx.lineTo(node.rect.ex, node.rect.y + r * 3); + ctx.moveTo(middle, node.rect.y + r * 2); + ctx.lineTo(middle, node.rect.y + r * 4); + ctx.moveTo(middle, node.rect.y + r * 4); + ctx.lineTo(node.rect.x, node.rect.ey); + ctx.moveTo(middle, node.rect.y + r * 4); + ctx.lineTo(node.rect.ex, node.rect.ey); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=people.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.js.map new file mode 100644 index 000000000..51141d2ef --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.js.map @@ -0,0 +1 @@ +{"version":3,"file":"people.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/people.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,MAAM,CAAC,GAA6B,EAAE,IAAU;IAC9D,GAAG,CAAC,SAAS,EAAE,CAAC;IAEhB,IAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC9B,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjD,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEpD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAE9C,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAExC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEtC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEvC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.rect.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.rect.d.ts new file mode 100644 index 000000000..52e527898 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '../../models/node'; +export declare function peopleIconRect(node: Node): void; +export declare function peopleTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.rect.js new file mode 100644 index 000000000..47f39856f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.rect.js @@ -0,0 +1,9 @@ +import { Rect } from '../../models/rect'; +export function peopleIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function peopleTextRect(node) { + node.textRect = undefined; + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=people.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.rect.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.rect.js.map new file mode 100644 index 000000000..1793412f1 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"people.rect.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/people.rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,UAAU,cAAc,CAAC,IAAU;IACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAU;IACvC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.d.ts new file mode 100644 index 000000000..62b1fe9f8 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function rectangle(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.js new file mode 100644 index 000000000..67054433b --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.js @@ -0,0 +1,25 @@ +export function rectangle(ctx, node) { + var wr = node.borderRadius; + var hr = node.borderRadius; + if (node.borderRadius < 1) { + wr = node.rect.width * node.borderRadius; + hr = node.rect.height * node.borderRadius; + } + var r = wr < hr ? wr : hr; + if (node.rect.width < 2 * r) { + r = node.rect.width / 2; + } + if (node.rect.height < 2 * r) { + r = node.rect.height / 2; + } + ctx.beginPath(); + ctx.moveTo(node.rect.x + r, node.rect.y); + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r); + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r); + ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r); + ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r); + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=rectangle.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.js.map new file mode 100644 index 000000000..706f8bf90 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"rectangle.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/rectangle.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CAAC,GAA6B,EAAE,IAAU;IACjE,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;IAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;IAC3B,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;QACzB,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;KAC3C;IACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE;QAC3B,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;KACzB;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE;QAC5B,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;KAC1B;IACD,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,GAAG,CAAC,KAAK,CACP,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAC9B,CAAC,CACF,CAAC;IACF,GAAG,CAAC,KAAK,CACP,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAC9B,CAAC,CACF,CAAC;IACF,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpF,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnF,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.rect.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.rect.d.ts new file mode 100644 index 000000000..b8ba83045 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '../../models/node'; +export declare function rectangleIconRect(node: Node): void; +export declare function rectangleTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.rect.js new file mode 100644 index 000000000..baa8a5016 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.rect.js @@ -0,0 +1,11 @@ +import { Rect } from '../../models/rect'; +export function rectangleIconRect(node) { + node.iconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum); + node.fullIconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum); +} +export function rectangleTextRect(node) { + var height = node.rect.height - node.paddingTopNum - node.paddingBottomNum; + node.textRect = new Rect(node.rect.x + node.paddingLeftNum + height, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum - height, height); + node.fullTextRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, height); +} +//# sourceMappingURL=rectangle.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.rect.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.rect.js.map new file mode 100644 index 000000000..cc438fb7d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"rectangle.rect.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/rectangle.rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAChC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAC9D,CAAC;IACF,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAChC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAC9D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC;IAC7E,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,MAAM,EAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAChC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,GAAG,MAAM,EACrE,MAAM,CACP,CAAC;IACF,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAChC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAC5D,MAAM,CACP,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/text.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/text.d.ts new file mode 100644 index 000000000..633724a92 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/text.d.ts @@ -0,0 +1,12 @@ +import { Node } from '../../models/node'; +import { Pen } from '../../models/pen'; +export declare function getWords(txt: string): any[]; +export declare function getWrapLines(ctx: CanvasRenderingContext2D, words: string[], maxWidth: number, fontSize: number): any[]; +export declare function getLines(ctx: CanvasRenderingContext2D, pen: Pen): any[]; +export declare function calcTextRect(ctx: CanvasRenderingContext2D, pen: Pen): { + width: number; + height: number; +}; +export declare function fillText(ctx: CanvasRenderingContext2D, lines: string[], x: number, y: number, width: number, height: number, lineHeight: number, maxLineLen?: number, bk?: string): void; +export declare function text(ctx: CanvasRenderingContext2D, node: Pen): void; +export declare function iconfont(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/text.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/text.js new file mode 100644 index 000000000..67ffcf9d2 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/text.js @@ -0,0 +1,270 @@ +import { Store } from 'le5le-store'; +// getWords: Get the word array from text. A single Chinese character is a word. +export function getWords(txt) { + var words = []; + var word = ''; + if (!txt) { + txt = ''; + } + for (var i = 0; i < txt.length; ++i) { + var ch = txt.charCodeAt(i); + if (ch < 33 || ch > 126) { + if (word) { + words.push(word); + word = ''; + } + words.push(txt[i]); + continue; + } + else { + word += txt[i]; + } + } + if (word) { + words.push(word); + } + return words; +} +// getWrapLines: Get the lines by wrap. +// words - the word array of text, to avoid spliting a word. +// maxWidth - the max width of the rect. +export function getWrapLines(ctx, words, maxWidth, fontSize) { + var lines = []; + var currentLine = words[0] || ''; + for (var i = 1; i < words.length; ++i) { + var word = words[i] || ''; + var text_1 = currentLine + word; + var chinese = text_1.match(/[\u4e00-\u9fa5]/g) || ''; + var chineseLen = chinese.length; + if ((text_1.length - chineseLen) * fontSize * 0.5 + chineseLen * fontSize < maxWidth) { + currentLine += word; + } + else { + lines.push(currentLine); + currentLine = word; + } + } + lines.push(currentLine); + return lines; +} +export function getLines(ctx, pen) { + if (pen.text && !pen.text.split) { + pen.text += ''; + } + var lines = []; + switch (pen.whiteSpace) { + case 'nowrap': + lines.push(pen.text); + break; + case 'pre-line': + lines = pen.text.split(/[\n]/g); + break; + default: + var textRect = pen.getTextRect(); + var paragraphs = pen.text.split(/[\n]/g); + for (var i = 0; i < paragraphs.length; ++i) { + var l = getWrapLines(ctx, getWords(paragraphs[i]), textRect.width, pen.fontSize); + lines.push.apply(lines, l); + } + break; + } + return lines; +} +export function calcTextRect(ctx, pen) { + var lines = getLines(ctx, pen); + var width = 0; + for (var _i = 0, lines_1 = lines; _i < lines_1.length; _i++) { + var item = lines_1[_i]; + ctx.font = (pen.fontStyle || 'normal') + " normal " + (pen.fontWeight || 'normal') + " " + pen.fontSize + "px/" + pen.lineHeight + " " + pen.fontFamily; + var r = ctx.measureText(item); + var w = r.width; + if (w > width) { + width = w; + } + } + return { + width: width, + height: lines.length * pen.fontSize * pen.lineHeight, + }; +} +function textBk(ctx, str, x, y, height, color) { + if (!str || !color) { + return; + } + var w = ctx.measureText(str).width; + ctx.save(); + ctx.fillStyle = color; + var l = x - w / 2; + var t = y - height / 2; + switch (ctx.textAlign) { + case 'left': + l = x; + break; + case 'right': + l = x - w; + break; + } + switch (ctx.textBaseline) { + case 'top': + t = y; + break; + case 'bottom': + t = y - height; + break; + } + ctx.fillRect(l, t, w, height); + ctx.restore(); +} +export function fillText(ctx, lines, x, y, width, height, lineHeight, maxLineLen, bk) { + if (!maxLineLen || maxLineLen > lines.length) { + maxLineLen = lines.length; + } + else { + maxLineLen = Math.ceil(maxLineLen); + } + for (var i = 0; i < maxLineLen - 1; ++i) { + if (bk) { + textBk(ctx, lines[i], x, y + i * lineHeight, lineHeight, bk); + } + ctx.fillText(lines[i], x, y + i * lineHeight); + } + if (maxLineLen < lines.length) { + var str = (lines[maxLineLen - 1] || '') + '...'; + if (lines[maxLineLen - 1] && ctx.measureText(str).width > width) { + str = lines[maxLineLen - 1].substr(0, lines[maxLineLen - 1].length - 2) + '...'; + } + if (bk) { + textBk(ctx, str, x, y + (maxLineLen - 1) * lineHeight, lineHeight, bk); + } + ctx.fillText(str, x, y + (maxLineLen - 1) * lineHeight); + } + else { + if (bk) { + textBk(ctx, lines[maxLineLen - 1], x, y + (maxLineLen - 1) * lineHeight, lineHeight, bk); + } + ctx.fillText(lines[maxLineLen - 1], x, y + (maxLineLen - 1) * lineHeight); + } +} +export function text(ctx, node) { + if (!node.text) { + return; + } + if (!node.text.split) { + node.text += ''; + } + ctx.save(); + ctx.beginPath(); + delete ctx.shadowColor; + delete ctx.shadowBlur; + ctx.font = (node.fontStyle || 'normal') + " normal " + (node.fontWeight || 'normal') + " " + node.fontSize + "px/" + node.lineHeight + " " + node.fontFamily; + if (node.fontColor) { + ctx.fillStyle = node.fontColor; + } + else { + ctx.fillStyle = Store.get(node.generateStoreKey('LT:fontColor')); + } + if (node.textAlign) { + ctx.textAlign = node.textAlign; + } + if (node.textBaseline) { + ctx.textBaseline = node.textBaseline; + } + var textRect = node.getTextRect(); + if (!textRect) { + ctx.restore(); + return; + } + var lines = getLines(ctx, node); + var lineHeight = node.fontSize * node.lineHeight; + var maxLineLen = node.textMaxLine > 0 && node.textMaxLine < lines.length ? node.textMaxLine : lines.length; + // By default, the text is center aligned. + var x = textRect.x + textRect.width / 2; + var y = textRect.y + (textRect.height - lineHeight * maxLineLen) / 2 + (lineHeight * 4) / 7; + switch (ctx.textAlign) { + case 'left': + x = textRect.x; + break; + case 'right': + x = textRect.x + textRect.width; + break; + } + switch (ctx.textBaseline) { + case 'top': + y = textRect.y + (lineHeight - node.fontSize) / 2; + break; + case 'bottom': + y = textRect.ey - lineHeight * maxLineLen + lineHeight; + break; + } + fillText(ctx, lines, x + node.textOffsetX, y + node.textOffsetY, textRect.width, textRect.height, lineHeight, maxLineLen, node.textBackground); + ctx.restore(); +} +export function iconfont(ctx, node) { + ctx.save(); + ctx.textAlign = 'center'; + ctx.textBaseline = 'middle'; + var iconRect = node.getIconRect(); + var x = iconRect.x + iconRect.width / 2; + var y = iconRect.y + iconRect.height / 2; + switch (node.imageAlign) { + case 'top': + y = iconRect.y; + ctx.textBaseline = 'top'; + break; + case 'bottom': + y = iconRect.ey; + ctx.textBaseline = 'bottom'; + break; + case 'left': + x = iconRect.x; + ctx.textAlign = 'left'; + break; + case 'right': + x = iconRect.ex; + ctx.textAlign = 'right'; + break; + case 'left-top': + x = iconRect.x; + y = iconRect.y; + ctx.textAlign = 'left'; + ctx.textBaseline = 'top'; + break; + case 'right-top': + x = iconRect.ex; + y = iconRect.y; + ctx.textAlign = 'right'; + ctx.textBaseline = 'top'; + break; + case 'left-bottom': + x = iconRect.x; + y = iconRect.ey; + ctx.textAlign = 'left'; + ctx.textBaseline = 'bottom'; + break; + case 'right-bottom': + x = iconRect.ex; + y = iconRect.ey; + ctx.textAlign = 'right'; + ctx.textBaseline = 'bottom'; + break; + } + if (node.iconSize > 0) { + ctx.font = node.iconSize + "px " + node.iconFamily; + } + else if (iconRect.width > iconRect.height) { + ctx.font = iconRect.height + "px " + node.iconFamily; + } + else { + ctx.font = iconRect.width + "px " + node.iconFamily; + } + ctx.fillStyle = node.iconColor || Store.get(node.generateStoreKey('LT:iconColor')) || node.fontColor; + if (node.iconRotate) { + ctx.translate(iconRect.center.x, iconRect.center.y); + ctx.rotate((node.iconRotate * Math.PI) / 180); + ctx.translate(-iconRect.center.x, -iconRect.center.y); + } + ctx.beginPath(); + ctx.fillText(node.icon, x, y); + ctx.restore(); +} +//# sourceMappingURL=text.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/text.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/text.js.map new file mode 100644 index 000000000..42750fe60 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/text.js.map @@ -0,0 +1 @@ +{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/text.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.anchor.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.anchor.d.ts new file mode 100644 index 000000000..84bd90f2c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function triangleAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.anchor.js new file mode 100644 index 000000000..dcaacda06 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.anchor.js @@ -0,0 +1,9 @@ +import { Point } from '../../models/point'; +import { Direction } from '../../models/direction'; +export function triangleAnchors(node) { + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); + node.anchors.push(new Point(node.rect.x + (node.rect.width * 3) / 4, node.rect.y + node.rect.height / 2, Direction.Right)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 4, node.rect.y + node.rect.height / 2, Direction.Left)); +} +//# sourceMappingURL=triangle.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.anchor.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.anchor.js.map new file mode 100644 index 000000000..c79f55f30 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"triangle.anchor.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/triangle.anchor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CACxG,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAClH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACtH,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.d.ts new file mode 100644 index 000000000..c7e9a2f06 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.d.ts @@ -0,0 +1,2 @@ +import { Node } from '../../models/node'; +export declare function triangle(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.js new file mode 100644 index 000000000..c0aceff4d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.js @@ -0,0 +1,10 @@ +export function triangle(ctx, node) { + ctx.beginPath(); + ctx.moveTo(node.rect.x + node.rect.width / 2, node.rect.y); + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height); + ctx.lineTo(node.rect.x, node.rect.y + node.rect.height); + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=triangle.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.js.map new file mode 100644 index 000000000..4834c1ae0 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"triangle.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/triangle.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,QAAQ,CAAC,GAA6B,EAAE,IAAU;IAChE,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1E,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.rect.d.ts b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.rect.d.ts new file mode 100644 index 000000000..af510963a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '../../models/node'; +export declare function triangleIconRect(node: Node): void; +export declare function triangleTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.rect.js new file mode 100644 index 000000000..e79993fbf --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.rect.js @@ -0,0 +1,23 @@ +import { Rect } from '../../models/rect'; +export function triangleIconRect(node) { + var w = (node.rect.width * 2) / 7; + var h = (node.rect.height * 2) / 7; + if (w > h) { + w = h; + } + else { + h = w; + } + var top = w; + if (top < 10) { + top = 10; + } + node.iconRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + top, w, h); +} +export function triangleTextRect(node) { + node.textRect = new Rect(node.rect.x + node.rect.width / 4, node.rect.y + (node.rect.height * 2) / 3, node.rect.width / 2, node.rect.height / 3 - 5); + var w = node.rect.width / 2; + var h = (node.rect.height * 3) / 7; + node.fullTextRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + node.rect.height / 2 - 5, w, h); +} +//# sourceMappingURL=triangle.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.rect.js.map b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.rect.js.map new file mode 100644 index 000000000..6b6b6aca0 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"triangle.rect.js","sourceRoot":"","sources":["../../../../../packages/core/src/middles/nodes/triangle.rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,UAAU,gBAAgB,CAAC,IAAU;IACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG,CAAC,EAAE;QACT,CAAC,GAAG,CAAC,CAAC;KACP;SAAM;QACL,CAAC,GAAG,CAAC,CAAC;KACP;IACD,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,GAAG,GAAG,EAAE,EAAE;QACZ,GAAG,GAAG,EAAE,CAAC;KACV;IACD,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAU;IACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EACxC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACnB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CACzB,CAAC;IAEF,IAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC9B,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACtH,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/data.d.ts b/nezha-fronted/src/components/common/@topology/core/src/models/data.d.ts new file mode 100644 index 000000000..dedd46e39 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/data.d.ts @@ -0,0 +1,39 @@ +import { Pen } from './pen'; +import { Lock } from './status'; +import { Rect } from './rect'; +export interface TopologyData { + pens: Pen[]; + lineName: string; + fromArrow: string; + toArrow: string; + lineWidth?: number; + x: number; + y: number; + scale: number; + locked: Lock; + bkImage?: string; + bkImageRect?: Rect; + bkImageStatic?: boolean; + bkColor?: string; + grid?: boolean; + gridColor?: string; + gridSize?: number; + rule?: boolean; + ruleColor?: string; + websocket?: string; + mqttUrl?: string; + mqttOptions?: { + clientId?: string; + username?: string; + password?: string; + customClientId?: boolean; + }; + mqttTopics?: string; + manualCps?: boolean; + tooltip?: boolean | number; + socketEvent?: boolean | number; + socketFn?: string; + initJS?: string; + data?: any; +} +export declare function createData(json?: any, tid?: string): TopologyData; diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/data.js b/nezha-fronted/src/components/common/@topology/core/src/models/data.js new file mode 100644 index 000000000..666317851 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/data.js @@ -0,0 +1,67 @@ +import { Node } from './node'; +import { Line } from './line'; +import { Lock } from './status'; +import { s8 } from '../utils'; +import { Store } from 'le5le-store'; +import { Rect } from './rect'; +export function createData(json, tid) { + var data = { + pens: [], + lineName: 'curve', + fromArrow: '', + toArrow: 'triangleSolid', + scale: 1, + locked: Lock.None, + x: 0, + y: 0, + }; + if (typeof json === 'string') { + json = JSON.parse(json); + } + data = Object.assign(data, json); + data.pens = []; + if (json) { + // for old data. + if (json.nodes) { + for (var _i = 0, _a = json.nodes; _i < _a.length; _i++) { + var item = _a[_i]; + item.TID = tid; + data.pens.push(new Node(item)); + } + for (var _b = 0, _c = json.lines; _b < _c.length; _b++) { + var item = _c[_b]; + item.TID = tid; + data.pens.push(new Line(item)); + } + } + // end. + json.pens && json.pens.forEach(function (item) { + tid && (item.TID = tid); + if (!item.type) { + data.pens.push(new Node(item)); + } + else { + data.pens.push(new Line(item)); + } + }); + if (json.bkImageRect) { + data.bkImageRect = new Rect(json.bkImageRect.x, json.bkImageRect.y, json.bkImageRect.width, json.bkImageRect.height); + } + } + if (data.mqttOptions) { + var opts = ''; + if (typeof data.mqttOptions === 'object') { + opts = JSON.stringify(data.mqttOptions); + } + else { + opts = data.mqttOptions + ''; + } + data.mqttOptions = JSON.parse(opts); + } + else { + data.mqttOptions = { clientId: s8() }; + } + tid && Store.set(tid + '-topology-data', data); + return data; +} +//# sourceMappingURL=data.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/data.js.map b/nezha-fronted/src/components/common/@topology/core/src/models/data.js.map new file mode 100644 index 000000000..ef966a3e8 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/data.js.map @@ -0,0 +1 @@ +{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../packages/core/src/models/data.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/direction.d.ts b/nezha-fronted/src/components/common/@topology/core/src/models/direction.d.ts new file mode 100644 index 000000000..7cfd61089 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/direction.d.ts @@ -0,0 +1,7 @@ +export declare enum Direction { + None = 0, + Up = 1, + Right = 2, + Bottom = 3, + Left = 4 +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/direction.js b/nezha-fronted/src/components/common/@topology/core/src/models/direction.js new file mode 100644 index 000000000..04a70a714 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/direction.js @@ -0,0 +1,9 @@ +export var Direction; +(function (Direction) { + Direction[Direction["None"] = 0] = "None"; + Direction[Direction["Up"] = 1] = "Up"; + Direction[Direction["Right"] = 2] = "Right"; + Direction[Direction["Bottom"] = 3] = "Bottom"; + Direction[Direction["Left"] = 4] = "Left"; +})(Direction || (Direction = {})); +//# sourceMappingURL=direction.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/direction.js.map b/nezha-fronted/src/components/common/@topology/core/src/models/direction.js.map new file mode 100644 index 000000000..b28047271 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/direction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"direction.js","sourceRoot":"","sources":["../../../../packages/core/src/models/direction.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,yCAAI,CAAA;IACJ,qCAAE,CAAA;IACF,2CAAK,CAAA;IACL,6CAAM,CAAA;IACN,yCAAI,CAAA;AACN,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/event.d.ts b/nezha-fronted/src/components/common/@topology/core/src/models/event.d.ts new file mode 100644 index 000000000..a6f0b94b7 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/event.d.ts @@ -0,0 +1,18 @@ +export declare enum EventType { + Click = 0, + DblClick = 1, + WebSocket = 2, + Mqtt = 3, + MoveIn = 4, + MoveOut = 5 +} +export declare enum EventAction { + Link = 0, + StartAnimate = 1, + Function = 2, + WindowFn = 3, + SetProps = 4, + PauseAnimate = 5, + StopAnimate = 6, + Emit = 7 +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/event.js b/nezha-fronted/src/components/common/@topology/core/src/models/event.js new file mode 100644 index 000000000..5ed287b58 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/event.js @@ -0,0 +1,21 @@ +export var EventType; +(function (EventType) { + EventType[EventType["Click"] = 0] = "Click"; + EventType[EventType["DblClick"] = 1] = "DblClick"; + EventType[EventType["WebSocket"] = 2] = "WebSocket"; + EventType[EventType["Mqtt"] = 3] = "Mqtt"; + EventType[EventType["MoveIn"] = 4] = "MoveIn"; + EventType[EventType["MoveOut"] = 5] = "MoveOut"; +})(EventType || (EventType = {})); +export var EventAction; +(function (EventAction) { + EventAction[EventAction["Link"] = 0] = "Link"; + EventAction[EventAction["StartAnimate"] = 1] = "StartAnimate"; + EventAction[EventAction["Function"] = 2] = "Function"; + EventAction[EventAction["WindowFn"] = 3] = "WindowFn"; + EventAction[EventAction["SetProps"] = 4] = "SetProps"; + EventAction[EventAction["PauseAnimate"] = 5] = "PauseAnimate"; + EventAction[EventAction["StopAnimate"] = 6] = "StopAnimate"; + EventAction[EventAction["Emit"] = 7] = "Emit"; +})(EventAction || (EventAction = {})); +//# sourceMappingURL=event.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/event.js.map b/nezha-fronted/src/components/common/@topology/core/src/models/event.js.map new file mode 100644 index 000000000..08fbcad6f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/event.js.map @@ -0,0 +1 @@ +{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../../packages/core/src/models/event.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAOX;AAPD,WAAY,SAAS;IACnB,2CAAK,CAAA;IACL,iDAAQ,CAAA;IACR,mDAAS,CAAA;IACT,yCAAI,CAAA;IACJ,6CAAM,CAAA;IACN,+CAAO,CAAA;AACT,CAAC,EAPW,SAAS,KAAT,SAAS,QAOpB;AAED,MAAM,CAAN,IAAY,WASX;AATD,WAAY,WAAW;IACrB,6CAAI,CAAA;IACJ,6DAAY,CAAA;IACZ,qDAAQ,CAAA;IACR,qDAAQ,CAAA;IACR,qDAAQ,CAAA;IACR,6DAAY,CAAA;IACZ,2DAAW,CAAA;IACX,6CAAI,CAAA;AACN,CAAC,EATW,WAAW,KAAX,WAAW,QAStB"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/index.d.ts b/nezha-fronted/src/components/common/@topology/core/src/models/index.d.ts new file mode 100644 index 000000000..b252bb2da --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/index.d.ts @@ -0,0 +1,9 @@ +export * from './data'; +export * from './pen'; +export * from './node'; +export * from './line'; +export * from './direction'; +export * from './point'; +export * from './rect'; +export * from './status'; +export * from './event'; diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/index.js b/nezha-fronted/src/components/common/@topology/core/src/models/index.js new file mode 100644 index 000000000..20f5e7e1f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/index.js @@ -0,0 +1,10 @@ +export * from './data'; +export * from './pen'; +export * from './node'; +export * from './line'; +export * from './direction'; +export * from './point'; +export * from './rect'; +export * from './status'; +export * from './event'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/index.js.map b/nezha-fronted/src/components/common/@topology/core/src/models/index.js.map new file mode 100644 index 000000000..572b34c23 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/core/src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/line.d.ts b/nezha-fronted/src/components/common/@topology/core/src/models/line.d.ts new file mode 100644 index 000000000..e0e67a50f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/line.d.ts @@ -0,0 +1,64 @@ +import { Pen } from './pen'; +import { Point } from './point'; +import { Rect } from './rect'; +export declare class Line extends Pen { + from: Point; + to: Point; + controlPoints: Point[]; + fromArrow: string; + toArrow: string; + fromArrowSize: number; + toArrowSize: number; + fromArrowColor: string; + toArrowColor: string; + length: number; + borderWidth: number; + borderColor: string; + animateColor: string; + animateSpan: number; + animateLineDash: number[]; + isAnimate: boolean; + animateFromSize: number; + animateToSize: number; + animateDot: { + x: number; + y: number; + }; + animateDotSize: number; + lineJoin: CanvasLineJoin; + manualCps: boolean; + disableEmptyLine: boolean; + constructor(json?: any); + setFrom(from: Point, fromArrow?: string): void; + setTo(to: Point, toArrow?: string): void; + calcControlPoints(force?: boolean): void; + draw(ctx: CanvasRenderingContext2D): void; + pointIn(pt: { + x: number; + y: number; + }): any; + getLen(): any; + strokeLinearGradient(ctx: CanvasRenderingContext2D): void; + calcTextRect(): void; + getTextRect(): Rect; + getCenter(): Point; + getLineCenter(from: Point, to: Point): Point; + getPointByPos(pos: number): Point; + getPointByReversePos(pos: number): Point; + getLinePtByPos(from: Point, to: Point, pos: number): Point; + calcRectInParent(parent: Pen): void; + calcRectByParent(parent: Pen): void; + initAnimate(): void; + pauseAnimate(): void; + stopAnimate(): void; + animate(now: number): void; + getBubbles(): any[]; + round(): void; + translate(x: number, y: number): void; + scale(scale: number, center: { + x: number; + y: number; + }): void; + hit(pt: Point, padding?: number): any; + clone(): Line; +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/line.js b/nezha-fronted/src/components/common/@topology/core/src/models/line.js new file mode 100644 index 000000000..9af7ebe74 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/line.js @@ -0,0 +1,551 @@ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +import { Pen, PenType } from './pen'; +import { Point } from './point'; +import { drawLineFns, drawArrowFns } from '../middles'; +import { getBezierPoint } from '../middles/lines/curve'; +import { Store } from 'le5le-store'; +import { lineLen, curveLen } from '../utils/canvas'; +import { text } from '../middles/nodes/text'; +import { Rect } from './rect'; +import { abs } from '../utils/math'; +var Line = /** @class */ (function (_super) { + __extends(Line, _super); + function Line(json) { + var _this = _super.call(this) || this; + var defaultData = { + name: 'curve', + fromArrow: '', + toArrow: '', + controlPoints: [], + fromArrowSize: 5, + toArrowSize: 5, + borderWidth: 0, + borderColor: '#000000', + animateColor: '', + animateSpan: 1, + animateFromSize: 0, + animateToSize: 0, + animateDotSize: 3, + textBackground: '#ffffff' + }; + _this.fromData(defaultData, json); + _this.type = PenType.Line; + if (json.from) { + _this.from = new Point(json.from.x, json.from.y, json.from.direction, json.from.anchorIndex, json.from.id, json.autoAnchor); + } + if (json.to) { + _this.to = new Point(json.to.x, json.to.y, json.to.direction, json.to.anchorIndex, json.to.id, json.autoAnchor); + } + // 暂时兼容老数据 + if (json.name === 'mind' && (!json.controlPoints || json.controlPoints.length > 2)) { + json.controlPoints = undefined; + _this.calcControlPoints(true); + } + // end + else if (json.controlPoints) { + _this.controlPoints = []; + for (var _i = 0, _a = json.controlPoints; _i < _a.length; _i++) { + var item = _a[_i]; + _this.controlPoints.push(new Point(item.x, item.y, item.direction, item.anchorIndex, item.id)); + } + } + if (json.children) { + _this.children = []; + json.children.forEach(function (item) { + _this.children.push(new Line(item)); + }); + } + return _this; + } + Line.prototype.setFrom = function (from, fromArrow) { + if (fromArrow === void 0) { fromArrow = ''; } + this.from = from; + this.fromArrow = fromArrow; + this.textRect = undefined; + }; + Line.prototype.setTo = function (to, toArrow) { + if (toArrow === void 0) { toArrow = 'triangleSolid'; } + this.to = to; + this.toArrow = toArrow; + this.textRect = undefined; + }; + Line.prototype.calcControlPoints = function (force) { + if (this.name !== 'line' && this.manualCps && !force) { + return; + } + this.textRect = undefined; + if (this.from && this.to && drawLineFns[this.name]) { + drawLineFns[this.name].controlPointsFn(this); + } + }; + Line.prototype.draw = function (ctx) { + if (this.animateDot) { + ctx.fillStyle = ctx.strokeStyle; + if (this.animateType === 'dot') { + ctx.beginPath(); + ctx.arc(this.animateDot.x, this.animateDot.y, this.animateDotSize, 0, 2 * Math.PI, false); + ctx.fill(); + return; + } + else if (this.animateType === 'comet') { + var bulles = this.getBubbles(); + ctx.save(); + for (var _i = 0, bulles_1 = bulles; _i < bulles_1.length; _i++) { + var item = bulles_1[_i]; + ctx.globalAlpha = item.a; + ctx.beginPath(); + ctx.arc(item.pos.x, item.pos.y, item.r, 0, 2 * Math.PI, false); + ctx.fill(); + } + ctx.restore(); + } + } + if (!this.isAnimate && this.borderWidth > 0 && this.borderColor) { + ctx.save(); + if (this.lineJoin) { + ctx.lineJoin = this.lineJoin; + } + ctx.lineWidth = this.lineWidth + this.borderWidth; + ctx.strokeStyle = this.borderColor; + if (drawLineFns[this.name]) { + drawLineFns[this.name].drawFn(ctx, this); + } + ctx.restore(); + } + switch (this.strokeType) { + case 1: + this.strokeLinearGradient(ctx); + break; + } + if ((!this.isAnimate || this.animateType !== 'comet') && drawLineFns[this.name]) { + if (this.lineJoin) { + ctx.lineJoin = this.lineJoin; + } + drawLineFns[this.name].drawFn(ctx, this); + } + var scale = Store.get(this.generateStoreKey('LT:scale')) || 1; + if (this.fromArrow && drawArrowFns[this.fromArrow]) { + ctx.save(); + ctx.beginPath(); + ctx.lineDashOffset = 0; + ctx.setLineDash([]); + ctx.fillStyle = this.fromArrowColor || ctx.strokeStyle; + ctx.strokeStyle = ctx.fillStyle; + var f = this.to; + if (this.name === 'curve') { + f = getBezierPoint(0.95 - this.lineWidth / 100, this.to, this.controlPoints[1], this.controlPoints[0], this.from); + } + else if (this.name !== 'line' && this.controlPoints.length) { + f = this.controlPoints[0]; + } + drawArrowFns[this.fromArrow](ctx, f, this.from, this.fromArrowSize * scale); + ctx.restore(); + } + if (this.toArrow && drawArrowFns[this.toArrow]) { + ctx.save(); + ctx.beginPath(); + ctx.lineDashOffset = 0; + ctx.setLineDash([]); + ctx.fillStyle = this.toArrowColor || ctx.strokeStyle; + ctx.strokeStyle = ctx.fillStyle; + var f = this.from; + if (this.name === 'curve') { + f = getBezierPoint(0.95 - this.lineWidth / 100, this.from, this.controlPoints[0], this.controlPoints[1], this.to); + } + else if (this.name === 'mind') { + f = getBezierPoint(0.96 - this.lineWidth / 100, this.from, this.controlPoints[0], this.controlPoints[1], this.to); + } + else if (this.name !== 'line' && this.controlPoints.length) { + f = this.controlPoints[this.controlPoints.length - 1]; + } + drawArrowFns[this.toArrow](ctx, f, this.to, this.toArrowSize * scale); + ctx.restore(); + } + if (this.text && !this.isAnimate) { + if (!this.textRect) { + this.calcTextRect(); + } + text(ctx, this); + } + }; + Line.prototype.pointIn = function (pt) { + return drawLineFns[this.name].pointIn(pt, this); + }; + Line.prototype.getLen = function () { + switch (this.name) { + case 'line': + return lineLen(this.from, this.to); + case 'polyline': + if (!this.controlPoints || !this.controlPoints.length) { + return lineLen(this.from, this.to); + } + var len = 0; + var curPt = this.from; + for (var _i = 0, _a = this.controlPoints; _i < _a.length; _i++) { + var pt = _a[_i]; + len += lineLen(curPt, pt); + curPt = pt; + } + len += lineLen(curPt, this.to); + return len | 0; + case 'curve': + case 'mind': + return curveLen(this.from, this.controlPoints[0], this.controlPoints[1], this.to); + default: + if (drawLineFns[this.name].getLength) { + return drawLineFns[this.name].getLength(this); + } + } + return 0; + }; + Line.prototype.strokeLinearGradient = function (ctx) { + if (!this.lineGradientFromColor || !this.lineGradientToColor) { + return; + } + var from = this.from; + var to = this.to; + // contributor: https://github.com/sunnyguohua/topology + var grd = ctx.createLinearGradient(from.x, from.y, to.x, to.y); + grd.addColorStop(0, this.lineGradientFromColor); + grd.addColorStop(1, this.lineGradientToColor); + ctx.strokeStyle = grd; + }; + Line.prototype.calcTextRect = function () { + var center = this.getCenter(); + var width = Math.abs(this.from.x - this.to.x); + if (width < 100) { + width = 100; + } + if (this.text && !this.text.split) { + this.text += ''; + } + var height = this.lineHeight * + this.fontSize * + (this.textMaxLine || (this.text && this.text.split('\n').length) || 1); + this.textRect = new Rect(center.x - width / 2, center.y - height / 2, width, height); + }; + Line.prototype.getTextRect = function () { + // calc every time just in case text line is changed. + this.calcTextRect(); + return this.textRect; + }; + Line.prototype.getCenter = function () { + var center = new Point(this.from.x, this.from.y); + switch (this.name) { + case 'line': + center = this.getLineCenter(this.from, this.to); + break; + case 'polyline': + var i = Math.round(this.controlPoints.length / 2); + center = this.getLineCenter(this.controlPoints[i - 1] || this.from, this.controlPoints[i] || this.to); + break; + case 'curve': + center = getBezierPoint(0.5, this.to, this.controlPoints[1], this.controlPoints[0], this.from); + break; + default: + if (drawLineFns[this.name].getCenter) { + center = drawLineFns[this.name].getCenter(this); + } + } + return center; + }; + Line.prototype.getLineCenter = function (from, to) { + return new Point((from.x + to.x) / 2, (from.y + to.y) / 2); + }; + Line.prototype.getPointByPos = function (pos) { + if (pos <= 0) { + return this.from; + } + switch (this.name) { + case 'line': + return this.getLinePtByPos(this.from, this.to, pos); + case 'polyline': + if (!this.controlPoints || !this.controlPoints.length) { + return this.getLinePtByPos(this.from, this.to, pos); + } + else { + var points = [].concat(this.controlPoints, this.to); + var curPt = this.from; + for (var _i = 0, points_1 = points; _i < points_1.length; _i++) { + var pt = points_1[_i]; + var l = lineLen(curPt, pt); + if (pos > l) { + pos -= l; + curPt = pt; + } + else { + return this.getLinePtByPos(curPt, pt, pos); + } + } + return this.to; + } + case 'curve': + return getBezierPoint(pos / this.getLen(), this.from, this.controlPoints[0], this.controlPoints[1], this.to); + default: + if (drawLineFns[this.name].getPointByPos) { + return drawLineFns[this.name].getPointByPos(pos, this); + } + } + return null; + }; + Line.prototype.getPointByReversePos = function (pos) { + if (pos <= 0) { + return this.to; + } + switch (this.name) { + case 'line': + return this.getLinePtByPos(this.to, this.from, pos); + case 'polyline': + if (!this.controlPoints || !this.controlPoints.length) { + return this.getLinePtByPos(this.to, this.from, pos); + } + else { + var points_3 = []; + this.controlPoints.forEach(function (item) { + points_3.unshift(item); + }); + points_3.unshift(this.to); + var curPt = this.to; + for (var _i = 0, points_2 = points_3; _i < points_2.length; _i++) { + var pt = points_2[_i]; + var l = lineLen(curPt, pt); + if (pos > l) { + pos -= l; + curPt = pt; + } + else { + return this.getLinePtByPos(curPt, pt, pos); + } + } + return this.from; + } + case 'curve': + return getBezierPoint(pos / this.getLen(), this.to, this.controlPoints[1], this.controlPoints[0], this.from); + default: + if (drawLineFns[this.name].getPointByReversePos) { + return drawLineFns[this.name].getPointByReversePos(pos, this); + } + } + return null; + }; + Line.prototype.getLinePtByPos = function (from, to, pos) { + var length = lineLen(from, to); + if (pos <= 0) { + return from; + } + if (pos >= length) { + return to; + } + var x, y; + x = from.x + (to.x - from.x) * (pos / length); + y = from.y + (to.y - from.y) * (pos / length); + return new Point(x, y); + }; + Line.prototype.calcRectInParent = function (parent) { + var parentW = parent.rect.width - parent.paddingLeftNum - parent.paddingRightNum; + var parentH = parent.rect.height - parent.paddingTopNum - parent.paddingBottomNum; + this.rectInParent = { + x: ((this.from.x - parent.rect.x - parent.paddingLeftNum) * 100) / parentW + '%', + y: ((this.from.y - parent.rect.y - parent.paddingTopNum) * 100) / parentH + '%', + width: 0, + height: 0, + rotate: 0, + }; + }; + // 根据父节点rect计算自己(子节点)的rect + Line.prototype.calcRectByParent = function (parent) { + if (!this.rectInParent) { + return; + } + var parentW = parent.rect.width - parent.paddingLeftNum - parent.paddingRightNum; + var parentH = parent.rect.height - parent.paddingTopNum - parent.paddingBottomNum; + var x = parent.rect.x + + parent.paddingLeftNum + + abs(parentW, this.rectInParent.x) + + abs(parentW, this.rectInParent.marginLeft); + var y = parent.rect.y + + parent.paddingTopNum + + abs(parentH, this.rectInParent.y) + + abs(parentW, this.rectInParent.marginTop); + if (this.rectInParent.marginLeft === undefined && this.rectInParent.marginRight) { + x -= abs(parentW, this.rectInParent.marginRight); + } + if (this.rectInParent.marginTop === undefined && this.rectInParent.marginBottom) { + y -= abs(parentW, this.rectInParent.marginBottom); + } + this.translate(x - this.from.x, y - this.from.y); + }; + Line.prototype.initAnimate = function () { + this.animateStart = 0; + this.animateDot = undefined; + this.animatePos = 0; + }; + Line.prototype.pauseAnimate = function () { + Store.set(this.generateStoreKey('LT:AnimatePlay'), { + pen: this, + stop: true, + }); + }; + Line.prototype.stopAnimate = function () { + var _this = this; + this.pauseAnimate(); + this.initAnimate(); + setTimeout(function () { + Store.set(_this.generateStoreKey('LT:render'), { + pen: _this, + stop: true, + }); + }, 50); + }; + Line.prototype.animate = function (now) { + this.animatePos += this.animateSpan; + switch (this.animateType) { + case 'beads': + if (this.animateReverse) { + this.lineDashOffset = this.animatePos; + } + else { + this.lineDashOffset = -this.animatePos; + } + var len = this.lineWidth; + if (len < 5) { + len = 5; + } + if (this.animateLineDash) { + this.lineDash = this.animateLineDash; + } + else { + this.lineDash = [len, len * 2]; + } + break; + case 'dot': + case 'comet': + this.lineDash = undefined; + var pos = void 0; + if (this.animateReverse) { + pos = this.getPointByReversePos(this.animatePos + this.animateToSize); + } + else { + pos = this.getPointByPos(this.animatePos + this.animateFromSize); + } + this.animateDot = pos; + break; + default: + if (this.animateReverse) { + this.lineDash = [0, this.length - this.animatePos + 1, this.animatePos]; + } + else { + this.lineDash = [this.animatePos, this.length - this.animatePos + 1]; + } + break; + } + if (this.animatePos > this.length + this.animateSpan - this.animateFromSize - this.animateToSize) { + if (++this.animateCycleIndex >= this.animateCycle && this.animateCycle > 0) { + this.animateStart = 0; + this.initAnimate(); + Store.set(this.generateStoreKey('animateEnd'), this); + return; + } + this.animatePos = this.animateSpan; + } + }; + Line.prototype.getBubbles = function () { + var bubbles = []; + for (var i = 0; i < 30 && this.animatePos - i > 0; ++i) { + if (this.animateReverse) { + bubbles.push({ + pos: this.getPointByReversePos(this.animatePos - i * 2 + this.animateToSize), + a: 1 - i * 0.03, + r: this.lineWidth - i * 0.01, + }); + } + else { + bubbles.push({ + pos: this.getPointByPos(this.animatePos - i * 2 + this.animateFromSize), + a: 1 - i * 0.03, + r: this.lineWidth - i * 0.01, + }); + } + } + return bubbles; + }; + Line.prototype.round = function () { + this.from.round(); + this.to.round(); + }; + Line.prototype.translate = function (x, y) { + if (this.from) { + this.from.x += x; + this.from.y += y; + this.to.x += x; + this.to.y += y; + if (this.text) { + this.textRect = undefined; + } + for (var _i = 0, _a = this.controlPoints; _i < _a.length; _i++) { + var pt = _a[_i]; + pt.x += x; + pt.y += y; + } + } + if (this.children) { + for (var _b = 0, _c = this.children; _b < _c.length; _b++) { + var item = _c[_b]; + item.translate(x, y); + } + } + Store.set(this.generateStoreKey('pts-') + this.id, undefined); + }; + Line.prototype.scale = function (scale, center) { + if (this.from) { + this.from.x = center.x - (center.x - this.from.x) * scale; + this.from.y = center.y - (center.y - this.from.y) * scale; + this.to.x = center.x - (center.x - this.to.x) * scale; + this.to.y = center.y - (center.y - this.to.y) * scale; + this.lineWidth *= scale; + this.borderWidth *= scale; + this.fontSize *= scale; + if (this.text) { + this.textRect = undefined; + } + this.textOffsetX *= scale; + this.textOffsetY *= scale; + for (var _i = 0, _a = this.controlPoints; _i < _a.length; _i++) { + var pt = _a[_i]; + pt.x = center.x - (center.x - pt.x) * scale; + pt.y = center.y - (center.y - pt.y) * scale; + } + } + if (this.children) { + for (var _b = 0, _c = this.children; _b < _c.length; _b++) { + var item = _c[_b]; + item.scale(scale, center); + } + } + Store.set(this.generateStoreKey('pts-') + this.id, undefined); + }; + Line.prototype.hit = function (pt, padding) { + if (padding === void 0) { padding = 0; } + if (this.from.hit(pt, padding) || this.to.hit(pt, padding)) { + return this; + } + }; + Line.prototype.clone = function () { + return new Line(this); + }; + return Line; +}(Pen)); +export { Line }; +//# sourceMappingURL=line.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/line.js.map b/nezha-fronted/src/components/common/@topology/core/src/models/line.js.map new file mode 100644 index 000000000..53bc1ecde --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/line.js.map @@ -0,0 +1 @@ +{"version":3,"file":"line.js","sourceRoot":"","sources":["../../../../packages/core/src/models/line.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/node.d.ts b/nezha-fronted/src/components/common/@topology/core/src/models/node.d.ts new file mode 100644 index 000000000..579c54e3f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/node.d.ts @@ -0,0 +1,116 @@ +import { Pen } from './pen'; +import { Rect } from './rect'; +import { Point } from './point'; +import { Direction } from './direction'; +export declare class Node extends Pen { + is3D: boolean; + z: number; + zRotate: number; + borderRadius: number; + icon: string; + iconFamily: string; + iconSize: number; + iconColor: string; + iconRotate: number; + image: string; + lastImage: string; + imgNaturalWidth: number; + imgNaturalHeight: number; + imageWidth: number; + imageHeight: number; + imageRatio: boolean; + imageAlign: string; + imageHide: boolean; + img: HTMLImageElement; + bkType: number; + gradientFromColor: string; + gradientToColor: string; + gradientAngle: number; + gradientRadius: number; + paddingTop: number | string; + paddingBottom: number | string; + paddingLeft: number | string; + paddingRight: number | string; + disableSizeX?: boolean; + disableSizeY?: boolean; + iconRect: Rect; + fullIconRect: Rect; + points: Point[]; + anchors: Point[]; + manualAnchors: Point[]; + rotatedAnchors: Point[]; + get dockWatchers(): Point[]; + set dockWatchers(v: Point[]); + animateDuration: number; + animateFrames: { + duration: number; + start?: number; + end?: number; + initState?: Node; + linear: boolean; + state: Node; + offsetRect: Rect; + }[]; + animateAlone: boolean; + animateReady: Node; + animateFrame: number; + private _animateFrame; + private _animatePos; + gif: boolean; + video: string; + audio: string; + playType: number; + playLoop: boolean; + nextPlay: string; + iframe: string; + elementId: string; + elementLoaded: any; + elementRendered: boolean; + constructor(json: any, cloneState?: boolean); + static cloneState(json: any): Node; + restore(state?: Node): void; + checkData(): void; + init(cloneState?: boolean): void; + addToDiv(): void; + removeFromDiv(): void; + hasGif(): boolean; + calcAbsPadding(): void; + draw(ctx: CanvasRenderingContext2D): void; + strokeLinearGradient(ctx: CanvasRenderingContext2D): void; + drawBkLinearGradient(ctx: CanvasRenderingContext2D): void; + drawBkRadialGradient(ctx: CanvasRenderingContext2D): void; + drawImg(ctx: CanvasRenderingContext2D): void; + calcAnchors(): void; + calcRotateAnchors(angle?: number): void; + getTextRect(): Rect; + getIconRect(): Rect; + calcRectByParent(parent: Pen): void; + calcChildrenRect(): void; + calcRectInParent(parent: Pen): void; + initAnimate(): void; + pauseAnimate(): void; + stopAnimate(): void; + animate(now: number): void; + scale(scale: number, center?: { + x: number; + y: number; + }): void; + scalePoints(scaleX?: number, scaleY?: number): void; + translate(x: number, y: number): void; + initRect(): void; + pushPoint(pt: Point): void; + nearestAnchor(pt: Point): { + index: number; + direction: Direction; + }; + hitInSelf(point: { + x: number; + y: number; + }, padding?: number): boolean; + hit(pt: { + x: number; + y: number; + }, padding?: number): any; + round(): void; + clone(): Node; +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/node.js b/nezha-fronted/src/components/common/@topology/core/src/models/node.js new file mode 100644 index 000000000..a33457344 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/node.js @@ -0,0 +1,1102 @@ +import { images, Pen, PenType } from './pen' +import { Line } from './line' +import { Rect } from './rect' +import { Point } from './point' +import { anchorsFns, iconRectFns, textRectFns, drawNodeFns } from '../middles' +import { defaultAnchors } from '../middles/default.anchor' +import { defaultIconRect, defaultTextRect } from '../middles/default.rect' +import { text, iconfont } from '../middles/nodes/text' +import { Store } from 'le5le-store' +import { abs, distance } from '../utils/math' +import { pointInRect } from '../utils/canvas' +import { Direction } from './direction' +const __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b }) || + function (d, b) { for (const p in b) if (b.hasOwnProperty(p)) d[p] = b[p] } + return extendStatics(d, b) + } + return function (d, b) { + extendStatics(d, b) + function __ () { this.constructor = d } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()) + } +})() +const __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length + for (var r = Array(s), k = 0, i = 0; i < il; i++) { + for (let a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) { r[k] = a[j] } + } + return r +} +// 动画帧不涉及的属性 +const animateOutsides = [ + 'TID', + 'events', + 'wheres', + 'text', + 'fontFamily', + 'fontSize', + 'lineHeight', + 'fontStyle', + 'fontWeight', + 'textAlign', + 'textBaseline', + 'textBackground', + 'iconFamily', + 'icon', + 'iconSize' +] +const Node = /** @class */ (function (_super) { + __extends(Node, _super) + function Node (json, cloneState) { + const _this = _super.call(this) || this + _this.imageRatio = true + _this.points = [] + _this.anchors = [] + _this.manualAnchors = [] + _this.rotatedAnchors = [] + _this.animateDuration = 0 + _this.animateFrames = [] + _this.animateFrame = 0 + const defaultData = { + zRotate: 0, + borderRadius: 0, + imageAlign: 'center', + gradientAngle: 0, + gradientRadius: 0.01, + paddingTop: 0, + paddingBottom: 0, + paddingLeft: 0, + paddingRight: 0, + animateFrame: 0, + children: [] + } + _this.fromData(defaultData, json) + _this.type = PenType.Node + if (!cloneState) { + delete _this.elementLoaded + delete _this.elementRendered + } + delete _this.animateReady + // 兼容老数据 + if (json.children && json.children[0] && json.children[0].parentRect) { + _this.paddingLeft = json.children[0].parentRect.offsetX + _this.paddingRight = 0 + _this.paddingTop = json.children[0].parentRect.offsetY + _this.paddingBottom = 0 + } + if (json.parentRect) { + _this.rectInParent = { + x: json.parentRect.x * 100 + '%', + y: json.parentRect.y * 100 + '%', + width: json.parentRect.width * 100 + '%', + height: json.parentRect.height * 100 + '%', + marginTop: 0, + marginRight: 0, + marginBottom: 0, + marginLeft: 0, + rotate: json.parentRect.rotate + } + _this.paddingTop = json.parentRect.marginY + _this.paddingBottom = json.parentRect.marginY + _this.paddingLeft = json.parentRect.marginX + _this.paddingRight = json.parentRect.marginX + } + // 兼容老数据 end + if (json.points) { + _this.points = [] + json.points.forEach(function (pt) { + _this.points.push(new Point(pt.x, pt.y)) + }) + } + if (json.manualAnchors) { + _this.manualAnchors = [] + json.manualAnchors.forEach(function (pt) { + const point = new Point(pt.x, pt.y) + point.id = json.id + _this.manualAnchors.push(point) + }) + } + if (cloneState) { + _this.animateFrames = undefined + } + if (!cloneState && json.animateFrames && json.animateFrames.length) { + for (let _i = 0, _a = json.animateFrames; _i < _a.length; _i++) { + const item = _a[_i] + item.children = undefined + if (item.initState) { + item.initState = Node.cloneState(item.initState) + } + item.state = Node.cloneState(item.state) + } + _this.animateFrames = json.animateFrames + } + _this.animateType = json.animateType + ? json.animateType + : json.animateDuration + ? 'custom' + : '' + _this.init(cloneState) + if (json.init && json.img && !json.image) { + _this.img = json.img + } + if (json.children) { + _this.children = [] + json.children.forEach(function (item) { + let child + item.TID = _this.TID + switch (item.type) { + case PenType.Line: + child = new Line(item) + child.calcRectByParent(_this) + break + default: + Node.prototype.calcRectByParent.apply(item, [_this]) + child = new Node(item) + child.parentId = _this.id + child.init(cloneState) + break + } + _this.children.push(child) + }) + } + return _this + } + Object.defineProperty(Node.prototype, 'dockWatchers', { + // nodes移动时,停靠点的参考位置 + // dockWatchers: Point[]; + get: function () { + return __spreadArrays([this.rect.center], this.rect.toPoints()) + }, + // 不做任何处理,兼容以前版本中节点属性存在该值的 + set: function (v) { + }, + enumerable: true, + configurable: true + }) + Node.cloneState = function (json) { + const n = new Node(json, true) + animateOutsides.forEach(function (item) { + delete n[item] + }) + return n + } + Node.prototype.restore = function (state) { + if (!state && this.animateReady) { + state = Node.cloneState(this.animateReady) + } + if (!state) { + return + } + for (const key in this) { + if (state[key] !== undefined && + key.indexOf('animate') < 0 && + key.indexOf('Animate') < 0) { + if (animateOutsides.includes(key)) { + continue + } + this[key] = state[key] + if (key === 'rect') { + this.rect = new Rect(this.rect.x, this.rect.y, this.rect.width, this.rect.height) + } + } + } + this.init(true) + } + Node.prototype.checkData = function () { + this.rect.width = this.rect.width < 0 ? 0 : this.rect.width + this.rect.height = this.rect.height < 0 ? 0 : this.rect.height + if (!this.rect.calcCenter) { + this.rect = new Rect(this.rect.x, this.rect.y, this.rect.width, this.rect.height) + } + } + Node.prototype.init = function (cloneState) { + this.checkData() + this.calcAbsPadding() + // Calc rect of text. + if (textRectFns[this.name]) { + textRectFns[this.name](this) + } else { + defaultTextRect(this) + } + // Calc rect of icon. + if (iconRectFns[this.name]) { + iconRectFns[this.name](this) + } else { + defaultIconRect(this) + } + this.calcAnchors() + this.elementRendered = false + if (!cloneState) { + this.addToDiv() + } + } + Node.prototype.addToDiv = function () { + if (this.audio || this.video || this.iframe || this.elementId || this.gif) { + Store.set(this.generateStoreKey('LT:addDiv'), this) + } + } + Node.prototype.removeFromDiv = function () { + Store.set(this.generateStoreKey('LT:removeDiv'), this) + } + Node.prototype.hasGif = function () { + if (this.gif) { + return true + } + if (this.children) { + for (let _i = 0, _a = this.children; _i < _a.length; _i++) { + const item = _a[_i] + if (item.type === PenType.Node && + item.hasGif && + item.hasGif()) { + return true + } + } + } + return false + } + Node.prototype.calcAbsPadding = function () { + this.paddingLeftNum = abs(this.rect.width, this.paddingLeft) + this.paddingRightNum = abs(this.rect.width, this.paddingRight) + this.paddingTopNum = abs(this.rect.height, this.paddingTop) + this.paddingBottomNum = abs(this.rect.height, this.paddingBottom) + } + // setChildrenIds() { + // if (!this.children) { + // return; + // } + // for (const item of this.children) { + // item.id = s8(); + // switch (item.type) { + // case PenType.Node: + // (item as Node).setChildrenIds(); + // break; + // } + // } + // } + Node.prototype.draw = function (ctx) { + if (!drawNodeFns[this.name]) { + return + } + // DrawBk + switch (this.bkType) { + case 1: + this.drawBkLinearGradient(ctx) + break + case 2: + this.drawBkRadialGradient(ctx) + break + } + switch (this.strokeType) { + case 1: + this.strokeLinearGradient(ctx) + break + } + // Draw shape. + drawNodeFns[this.name](ctx, this) + // Draw image. + if (this.image || (this.img && this.elementId === '')) { + this.drawImg(ctx) + } else if (this.icon) { + ctx.save() + ctx.shadowColor = '' + ctx.shadowBlur = 0 + iconfont(ctx, this) + ctx.restore() + } + // Draw text. + if (this.name !== 'text' && this.text) { + text(ctx, this) + } + } + Node.prototype.strokeLinearGradient = function (ctx) { + if (!this.lineGradientFromColor || !this.lineGradientToColor) { + return + } + const from = new Point(this.rect.x, this.rect.center.y) + const to = new Point(this.rect.ex, this.rect.center.y) + if (this.lineGradientAngle % 90 === 0 && this.lineGradientAngle % 180) { + if (this.lineGradientAngle % 270) { + from.x = this.rect.center.x + from.y = this.rect.y + to.x = this.rect.center.x + to.y = this.rect.ey + } else { + from.x = this.rect.center.x + from.y = this.rect.ey + to.x = this.rect.center.x + to.y = this.rect.y + } + } else if (this.lineGradientAngle) { + from.rotate(this.lineGradientAngle, this.rect.center) + to.rotate(this.lineGradientAngle, this.rect.center) + } + // contributor: https://github.com/sunnyguohua/topology + const grd = ctx.createLinearGradient(from.x, from.y, to.x, to.y) + grd.addColorStop(0, this.lineGradientFromColor) + grd.addColorStop(1, this.lineGradientToColor) + ctx.strokeStyle = grd + } + Node.prototype.drawBkLinearGradient = function (ctx) { + if (!this.gradientFromColor || !this.gradientToColor) { + return + } + const from = new Point(this.rect.x, this.rect.center.y) + const to = new Point(this.rect.ex, this.rect.center.y) + if (this.gradientAngle % 90 === 0 && this.gradientAngle % 180) { + if (this.gradientAngle % 270) { + from.x = this.rect.center.x + from.y = this.rect.y + to.x = this.rect.center.x + to.y = this.rect.ey + } else { + from.x = this.rect.center.x + from.y = this.rect.ey + to.x = this.rect.center.x + to.y = this.rect.y + } + } else if (this.gradientAngle) { + from.rotate(this.gradientAngle, this.rect.center) + to.rotate(this.gradientAngle, this.rect.center) + } + // contributor: https://github.com/sunnyguohua/topology + const grd = ctx.createLinearGradient(from.x, from.y, to.x, to.y) + grd.addColorStop(0, this.gradientFromColor) + grd.addColorStop(1, this.gradientToColor) + ctx.fillStyle = grd + } + Node.prototype.drawBkRadialGradient = function (ctx) { + if (!this.gradientFromColor || !this.gradientToColor) { + return + } + let r = this.rect.width + if (r < this.rect.height) { + r = this.rect.height + } + r *= 0.5 + const grd = ctx.createRadialGradient(this.rect.center.x, this.rect.center.y, r * this.gradientRadius, this.rect.center.x, this.rect.center.y, r) + grd.addColorStop(0, this.gradientFromColor) + grd.addColorStop(1, this.gradientToColor) + ctx.fillStyle = grd + } + Node.prototype.drawImg = function (ctx) { + const _this = this + if (this.lastImage !== this.image) { + this.img = undefined + if (this.lastImage && this.lastImage.indexOf('.gif') > 0) { + Store.set(this.generateStoreKey('LT:addDiv'), this) + } + } + const gif = this.image && this.image.indexOf('.gif') > 0 + if (!gif) { + if (this.img) { + ctx.save() + ctx.shadowColor = '' + ctx.shadowBlur = 0 + const rect = this.getIconRect() + let x = rect.x + let y = rect.y + let w = rect.width + let h = rect.height + if (this.imageWidth) { + w = this.imageWidth + } + if (this.imageHeight) { + h = this.imageHeight + } + if (this.imgNaturalWidth && this.imgNaturalHeight && this.imageRatio) { + if (this.imageWidth) { + h = (this.imgNaturalHeight / this.imgNaturalWidth) * w + } else { + w = (this.imgNaturalWidth / this.imgNaturalHeight) * h + } + } + x += (rect.width - w) / 2 + y += (rect.height - h) / 2 + switch (this.imageAlign) { + case 'top': + y = rect.y + break + case 'bottom': + y = rect.ey - h + break + case 'left': + x = rect.x + break + case 'right': + x = rect.ex - w + break + case 'left-top': + x = rect.x + y = rect.y + break + case 'right-top': + x = rect.ex - w + y = rect.y + break + case 'left-bottom': + x = rect.x + y = rect.ey - h + break + case 'right-bottom': + x = rect.ex - w + y = rect.ey - h + break + } + if (this.iconRotate) { + ctx.translate(rect.center.x, rect.center.y) + ctx.rotate((this.iconRotate * Math.PI) / 180) + ctx.translate(-rect.center.x, -rect.center.y) + } + if (this.imageHide) { + // 在业务层面去自定义绘制图片 + } else { + ctx.drawImage(this.img, x, y, w, h) + } + ctx.restore() + return + } else if (images[this.image]) { + this.img = images[this.image].img + this.lastImage = this.image + this.imgNaturalWidth = this.img.naturalWidth + this.imgNaturalHeight = this.img.naturalHeight + this.drawImg(ctx) + return + } + } else if (this.img) { + if (this.TID && !this.elementLoaded) { + this.elementLoaded = true + Store.set(this.generateStoreKey('LT:addDiv'), this) + } + return + } + if (!this.image) { + return + } + let img = new Image() + img.crossOrigin = 'anonymous' + img.src = this.image + img.onload = function () { + _this.lastImage = _this.image + _this.imgNaturalWidth = img.naturalWidth + _this.imgNaturalHeight = img.naturalHeight + _this.img = img + images[_this.image] = { + img: img + } + Store.set(_this.generateStoreKey('LT:imageLoaded'), true) + if (!_this.gif && gif) { + _this.gif = true + if (_this.TID) { + _this.elementLoaded = true + Store.set(_this.generateStoreKey('LT:addDiv'), _this) + } + } + img = null + } + } + Node.prototype.calcAnchors = function () { + const _this = this + this.anchors = [] + if (anchorsFns[this.name]) { + anchorsFns[this.name](this) + } else { + defaultAnchors(this) + } + if (this.manualAnchors) { + this.manualAnchors.forEach(function (pt) { + const x = Math.abs(pt.x - _this.rect.center.x) + const y = Math.abs(pt.y - _this.rect.center.y) + if (x > y) { + if (pt.x < _this.rect.center.x) { + pt.direction = Direction.Left + } else { + pt.direction = Direction.Right + } + } else { + if (pt.y < _this.rect.center.y) { + pt.direction = Direction.Up + } else { + pt.direction = Direction.Bottom + } + } + _this.anchors.push(pt) + }) + } + this.calcRotateAnchors() + } + Node.prototype.calcRotateAnchors = function (angle) { + if (angle === undefined) { + angle = this.rotate + } + this.rotatedAnchors = [] + for (let _i = 0, _a = this.anchors; _i < _a.length; _i++) { + const item = _a[_i] + this.rotatedAnchors.push(item.clone().rotate(angle, this.rect.center)) + } + } + Node.prototype.getTextRect = function () { + let textRect = this.textRect + if (!this.icon && !this.image) { + textRect = this.fullTextRect + } + return textRect + } + Node.prototype.getIconRect = function () { + let rect = this.iconRect + if (!this.text) { + rect = this.fullIconRect || this.fullTextRect || this.rect + } + return rect + } + // 根据父节点rect计算自己(子节点)的rect + Node.prototype.calcRectByParent = function (parent) { + if (!this.rectInParent) { + return + } + const parentW = parent.rect.width - parent.paddingLeftNum - parent.paddingRightNum + const parentH = parent.rect.height - parent.paddingTopNum - parent.paddingBottomNum + let x = parent.rect.x + + parent.paddingLeftNum + + abs(parentW, this.rectInParent.x) + + abs(parentW, this.rectInParent.marginLeft) + let y = parent.rect.y + + parent.paddingTopNum + + abs(parentH, this.rectInParent.y) + + abs(parentW, this.rectInParent.marginTop) + const w = abs(parentW, this.rectInParent.width) + const h = abs(parentH, this.rectInParent.height) + if (this.rectInParent.marginLeft === undefined && + this.rectInParent.marginRight) { + x -= abs(parentW, this.rectInParent.marginRight) + } + if (this.rectInParent.marginTop === undefined && + this.rectInParent.marginBottom) { + y -= abs(parentW, this.rectInParent.marginBottom) + } + this.rect = new Rect(x, y, w, h) + if (!this.rectInParent.rotate) { + this.rectInParent.rotate = 0 + } + const offsetR = parent.rotate + parent.offsetRotate + this.rotate = this.rectInParent.rotate + offsetR + if (!this.rectInParent.rect) { + this.rectInParent.rect = this.rect.clone() + } + } + Node.prototype.calcChildrenRect = function () { + if (!this.children) { + return + } + for (let _i = 0, _a = this.children; _i < _a.length; _i++) { + const item = _a[_i] + item.calcRectByParent(this) + if (item.type === PenType.Node) { + item.init() + item.calcChildrenRect() + } + } + } + Node.prototype.calcRectInParent = function (parent) { + const parentW = parent.rect.width - parent.paddingLeftNum - parent.paddingRightNum + const parentH = parent.rect.height - parent.paddingTopNum - parent.paddingBottomNum + this.rectInParent = { + x: ((this.rect.x - parent.rect.x - parent.paddingLeftNum) * 100) / + parentW + + '%', + y: ((this.rect.y - parent.rect.y - parent.paddingTopNum) * 100) / parentH + + '%', + width: (this.rect.width * 100) / parentW + '%', + height: (this.rect.height * 100) / parentH + '%', + rotate: this.rectInParent + ? this.rectInParent.rotate || 0 + : this.rotate || 0, + rect: this.rect.clone() + } + } + // getDockWatchers() { + // this.dockWatchers = this.rect.toPoints(); + // this.dockWatchers.unshift(this.rect.center); + // } + Node.prototype.initAnimate = function () { + if (!this.animateFrames) { + return + } + let passed = 0 + for (let i = 0; i < this.animateFrames.length; ++i) { + this.animateFrames[i].start = passed + passed += this.animateFrames[i].duration + this.animateFrames[i].end = passed + this.animateFrames[i].initState = Node.cloneState(i ? this.animateFrames[i - 1].state : this) + this.animateFrames[i].offsetRect = new Rect(this.animateFrames[i].state.rect.x - + this.animateFrames[i].initState.rect.x, this.animateFrames[i].state.rect.y - + this.animateFrames[i].initState.rect.y, this.animateFrames[i].state.rect.width - + this.animateFrames[i].initState.rect.width, this.animateFrames[i].state.rect.height - + this.animateFrames[i].initState.rect.height) + } + this.animateDuration = passed + this.animateReady = Node.cloneState(this) + this.animatePos = 0 + this.animateFrame = 0 + } + Node.prototype.pauseAnimate = function () { + this.animateFrame = this._animateFrame + this.animatePos = this._animatePos + Store.set(this.generateStoreKey('LT:AnimatePlay'), { + pen: this, + stop: true + }) + } + Node.prototype.stopAnimate = function () { + this.animateStart = 0 + Store.set(this.generateStoreKey('LT:AnimatePlay'), { + pen: this, + stop: true + }) + this.restore() + this.initAnimate() + Store.set(this.generateStoreKey('LT:render'), { + pen: this, + stop: true + }) + } + Node.prototype.animate = function (now) { + const _this = this + if (this.animateStart < 1) { + return + } + let timeline = now - this.animateStart + if (this.animateFrame > 0) { + this.animateFrames.forEach(function (item, index) { + if (_this.animateFrame < index + 1) { + timeline += item.duration + } + }) + timeline += this.animatePos + } + // Finished on animate. + if (timeline > this.animateDuration) { + this.animatePos = 0 + this.animateFrame = 0 + this.restore() + if (this.animateCycle > 0 && + ++this.animateCycleIndex >= this.animateCycle) { + this.animateStart = 0 + this.animateCycleIndex = 0 + Store.set(this.generateStoreKey('animateEnd'), this) + if (!this.animateAlone) { + Store.set(this.generateStoreKey('LT:rectChanged'), this) + } + return + } + this.animateStart = now + timeline = 0 + } + let rectChanged = false + for (let i = 0; i < this.animateFrames.length; ++i) { + const item = this.animateFrames[i] + if (timeline >= item.start && timeline < item.end) { + item.state.dash && (this.dash = item.state.dash) + item.state.strokeStyle && (this.strokeStyle = item.state.strokeStyle) + item.state.fillStyle && (this.fillStyle = item.state.fillStyle) + item.state.text && (this.text = item.state.text) + item.state.fontColor && (this.fontColor = item.state.fontColor) + item.state.fontFamily && (this.fontFamily = item.state.fontFamily) + item.state.fontSize && (this.fontSize = item.state.fontSize) + item.state.lineHeight && (this.lineHeight = item.state.lineHeight) + item.state.fontStyle && (this.fontStyle = item.state.fontStyle) + item.state.fontWeight && (this.fontWeight = item.state.fontWeight) + item.state.textAlign && (this.textAlign = item.state.textAlign) + item.state.textBaseline && + (this.textBaseline = item.state.textBaseline) + item.state.textBackground && + (this.textBackground = item.state.textBackground) + item.state.iconFamily && (this.iconFamily = item.state.iconFamily) + item.state.icon && (this.icon = item.state.icon) + item.state.iconSize && (this.iconSize = item.state.iconSize) + item.state.iconColor && (this.iconColor = item.state.iconColor) + this.visible = item.state.visible + this._animateFrame = i + 1 + if (this._animateFrame > this.animateFrame) { + this.animateFrame = 0 + this.animatePos = 0 + } + this._animatePos = timeline - item.start + const rate = this._animatePos / item.duration + if (item.linear) { + if (item.state.rect.x !== item.initState.rect.x) { + this.rect.x = item.initState.rect.x + item.offsetRect.x * rate + rectChanged = true + } + if (item.state.rect.y !== item.initState.rect.y) { + this.rect.y = item.initState.rect.y + item.offsetRect.y * rate + rectChanged = true + } + if (item.state.rect.width !== item.initState.rect.width) { + this.rect.width = + item.initState.rect.width + item.offsetRect.width * rate + rectChanged = true + } + if (item.state.rect.height !== item.initState.rect.height) { + this.rect.height = + item.initState.rect.height + item.offsetRect.height * rate + rectChanged = true + } + this.rect.ex = this.rect.x + this.rect.width + this.rect.ey = this.rect.y + this.rect.height + this.rect.calcCenter() + if (item.initState.z !== undefined && + item.state.z !== item.initState.z) { + this.z = + item.initState.z + (item.state.z - item.initState.z) * rate + rectChanged = true + } + if (item.state.borderRadius !== item.initState.borderRadius) { + this.borderRadius = + item.initState.borderRadius + + (item.state.borderRadius - item.initState.borderRadius) * rate + } + if (item.state.lineWidth !== item.initState.lineWidth) { + this.lineWidth = + item.initState.lineWidth + + (item.state.lineWidth - item.initState.lineWidth) * rate + } + if (item.state.rotate !== item.initState.rotate) { + this.rotate = + item.initState.rotate + + (item.state.rotate - item.initState.rotate) * rate + rectChanged = true + } + if (item.state.globalAlpha !== item.initState.globalAlpha) { + this.globalAlpha = + item.initState.globalAlpha + + (item.state.globalAlpha - item.initState.globalAlpha) * rate + } + if (item.state.lineDashOffset) { + if (!this.lineDashOffset) { + this.lineDashOffset = item.state.lineDashOffset + } else { + this.lineDashOffset += item.state.lineDashOffset + } + } + if (item.state.value !== item.initState.value) { + this.value = + (item.initState.value || 0) + + ((item.state.value || 0) - (item.initState.value || 0)) * rate + } + if (item.state.num !== item.initState.num) { + this.num = + (item.initState.num || 0) + + ((item.state.num || 0) - (item.initState.num || 0)) * rate + } + if (item.state.num1 !== item.initState.num1) { + this.num1 = + (item.initState.num1 || 0) + + ((item.state.num1 || 0) - (item.initState.num1 || 0)) * rate + } + if (item.state.num2 !== item.initState.num2) { + this.num2 = + (item.initState.num2 || 0) + + ((item.state.num2 || 0) - (item.initState.num2 || 0)) * rate + } + if (item.state.num3 !== item.initState.num3) { + this.num3 = + (item.initState.num3 || 0) + + ((item.state.num3 || 0) - (item.initState.num3 || 0)) * rate + } + if (item.state.data) { + for (const key in item.state.data) { + if (typeof item.state.data[key] === 'number') { + this.data[key] = + (item.initState.data[key] || 0) + + ((item.state.data[key] || 0) - + (item.initState.data[key] || 0)) * + rate + } else if (item.state.data[key] !== undefined && + item.state.data[key] !== undefined) { + this.data[key] = item.state.data[key] + } + } + } + } else { + this.rect = item.state.rect + this.lineWidth = item.state.lineWidth + this.rotate = item.state.rotate + this.globalAlpha = item.state.globalAlpha + this.lineDashOffset = item.state.lineDashOffset + } + } + } + if (rectChanged) { + this.init(true) + if (!this.animateAlone) { + Store.set(this.generateStoreKey('LT:rectChanged'), this) + } + } + } + Node.prototype.scale = function (scale, center) { + if (!center) { + center = this.rect.center + } + this.oldRect = this.rect.clone() + this.rect.x = center.x - (center.x - this.rect.x) * scale + this.rect.y = center.y - (center.y - this.rect.y) * scale + this.textOffsetX *= scale + this.textOffsetY *= scale + this.z *= scale + this.rect.width *= scale + this.rect.height *= scale + this.rect.ex = this.rect.x + this.rect.width + this.rect.ey = this.rect.y + this.rect.height + this.lineWidth *= scale + if (this.imageWidth) { + this.imageWidth *= scale + } + if (this.imageHeight) { + this.imageHeight *= scale + } + this.lastImage = undefined + this.fontSize *= scale + this.iconSize *= scale + if (typeof this.paddingLeft === 'number') { + this.paddingLeft *= scale + } + if (typeof this.paddingTop === 'number') { + this.paddingTop *= scale + } + if (typeof this.paddingRight === 'number') { + this.paddingRight *= scale + } + if (typeof this.paddingBottom === 'number') { + this.paddingBottom *= scale + } + if (this.rectInParent) { + if (typeof this.rectInParent.x === 'number') { + this.rectInParent.x *= scale + } + if (typeof this.rectInParent.y === 'number') { + this.rectInParent.y *= scale + } + if (typeof this.rectInParent.width === 'number') { + this.rectInParent.width *= scale + } + if (typeof this.rectInParent.height === 'number') { + this.rectInParent.height *= scale + } + if (typeof this.rectInParent.marginLeft === 'number') { + this.rectInParent.marginLeft *= scale + } + if (typeof this.rectInParent.marginTop === 'number') { + this.rectInParent.marginTop *= scale + } + if (typeof this.rectInParent.marginRight === 'number') { + this.rectInParent.marginRight *= scale + } + if (typeof this.rectInParent.marginBottom === 'number') { + this.rectInParent.marginBottom *= scale + } + } + this.rect.calcCenter() + if (this.animateFrames && this.animateFrames.length) { + for (let _i = 0, _a = this.animateFrames; _i < _a.length; _i++) { + var item = _a[_i] + if (item.initState) { + if (!item.initState.scale) { + item.initState = new Node(item.initState) + } + item.initState.scale(scale, center) + } + if (item.state) { + if (!item.state.scale) { + item.state = new Node(item.state) + } + item.state.scale(scale, center) + } + if (item.initState && item.state) { + item.state.fontSize = item.initState.fontSize + } + } + } + this.scalePoints(scale, scale) + this.elementRendered = false + this.init() + if (this.children) { + for (let _b = 0, _c = this.children; _b < _c.length; _b++) { + var item = _c[_b] + item.scale(scale, center) + } + } + if (this.animateReady && this.animateReady.scale) { + this.animateReady.scale(scale, center) + } + } + Node.prototype.scalePoints = function (scaleX, scaleY) { + const _this = this + if ((this.points || this.manualAnchors) && this.oldRect) { + if (!scaleX) { + scaleX = this.rect.width / this.oldRect.width + } + if (!scaleY) { + scaleY = this.rect.height / this.oldRect.height + } + if (this.points) { + this.points.forEach(function (pt) { + pt.x = _this.rect.x + (pt.x - _this.oldRect.x) * scaleX + pt.y = _this.rect.y + (pt.y - _this.oldRect.y) * scaleY + }) + } + if (this.manualAnchors) { + this.manualAnchors.forEach(function (pt) { + pt.x = _this.rect.x + (pt.x - _this.oldRect.x) * scaleX + pt.y = _this.rect.y + (pt.y - _this.oldRect.y) * scaleY + }) + } + } + } + Node.prototype.translate = function (x, y) { + this.rect.x += x + this.rect.y += y + this.rect.ex = this.rect.x + this.rect.width + this.rect.ey = this.rect.y + this.rect.height + this.rect.calcCenter() + if (this.animateReady) { + this.animateReady.translate(x, y) + } + if (this.animateFrames && this.animateFrames.length) { + for (let _i = 0, _a = this.animateFrames; _i < _a.length; _i++) { + const frame = _a[_i] + const initState = frame.initState; const state = frame.state + if (initState && initState.translate) { + initState.translate(x, y) + } + if (state && state.translate) { + state.translate(x, y) + } + } + } + if (this.points) { + this.points.forEach(function (pt) { + pt.x += x + pt.y += y + }) + } + if (this.manualAnchors) { + this.manualAnchors.forEach(function (pt) { + pt.x += x + pt.y += y + }) + } + this.init() + if (this.children) { + for (let _b = 0, _c = this.children; _b < _c.length; _b++) { + const item = _c[_b] + item.translate(x, y) + } + } + } + Node.prototype.initRect = function () { + this.rect.init() + if (this.children) { + this.calcChildrenRect() + for (let _i = 0, _a = this.children; _i < _a.length; _i++) { + const item = _a[_i] + if (item instanceof Node) { + item.initRect() + } + } + } + } + Node.prototype.pushPoint = function (pt) { + const _this = this + this.points.push(pt) + if (!this.rect) { + this.rect = new Rect(0, 0, 0, 0) + } + this.points.forEach(function (p) { + if (!_this.rect.x || _this.rect.x > p.x) { + _this.rect.x = p.x + } + if (!_this.rect.y || _this.rect.y > p.y) { + _this.rect.y = p.y + } + if (_this.rect.ex < p.x) { + _this.rect.ex = p.x + } + if (_this.rect.ey < p.y) { + _this.rect.ey = p.y + } + }) + this.rect.width = this.rect.ex - this.rect.x + this.rect.height = this.rect.ey - this.rect.y + } + Node.prototype.nearestAnchor = function (pt) { + let dis = 99999 + let index = 0 + for (let i = 0; i < this.rotatedAnchors.length; ++i) { + const d = distance(pt, this.rotatedAnchors[i]) + if (dis > d) { + dis = d + index = i + } + } + return { + index: index, + direction: this.rotatedAnchors[index].direction + } + } + Node.prototype.hitInSelf = function (point, padding) { + if (padding === void 0) { padding = 0 } + if (this.rotate % 360 === 0) { + return this.rect.hit(point, padding) + } + const pts = this.rect.toPoints() + for (let _i = 0, pts_1 = pts; _i < pts_1.length; _i++) { + const pt = pts_1[_i] + pt.rotate(this.rotate, this.rect.center) + } + return pointInRect(point, pts) + } + Node.prototype.hit = function (pt, padding) { + if (padding === void 0) { padding = 0 } + let node + if (this.hitInSelf(pt, padding)) { + node = this + } + if (this.children) { + const len = this.children.length + for (let i = len - 1; i > -1; --i) { + const pen = this.children[i] + const p = pen.hit(pt, padding) + if (p) { + node = p + break + } + } + } + return node + } + Node.prototype.round = function () { + this.rect.round() + if (this.children) { + for (let _i = 0, _a = this.children; _i < _a.length; _i++) { + const item = _a[_i] + item.rect.round() + } + } + } + Node.prototype.clone = function () { + const n = new Node(this) + n.setTID(this.TID) + n.elementRendered = false + n.elementLoaded = false + if (this.name !== 'div') { + n.elementId = '' + } + return n + } + return Node +}(Pen)) +export { Node } +// # sourceMappingURL=node.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/node.js.map b/nezha-fronted/src/components/common/@topology/core/src/models/node.js.map new file mode 100644 index 000000000..3e5c5a706 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/node.js.map @@ -0,0 +1 @@ +{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../packages/core/src/models/node.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/pen.d.ts b/nezha-fronted/src/components/common/@topology/core/src/models/pen.d.ts new file mode 100644 index 000000000..caabf199b --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/pen.d.ts @@ -0,0 +1,172 @@ +import { Rect } from './rect'; +import { EventType, EventAction } from './event'; +import { Lock } from './status'; +export declare enum PenType { + Node = 0, + Line = 1 +} +export interface Action { + do?: string; + url?: string; + _blank?: string; + tag?: string; + fn?: string | Function; + params?: any; +} +export interface Event { + type: EventType; + action: EventAction; + value: string | Function; + params: string; + name?: string; +} +export interface Where { + key?: string; + comparison?: string; + value?: any; + fn?: string | Function; + actions?: Action[]; +} +export declare const images: { + [key: string]: { + img: HTMLImageElement; + }; +}; +export declare abstract class Pen { + TID: string; + id: string; + type: PenType; + name: string; + tags: string[]; + rect: Rect; + lineWidth: number; + rotate: number; + offsetRotate: number; + globalAlpha: number; + dash: number; + lineDash: number[]; + lineDashOffset: number; + strokeStyle: string; + fillStyle: string; + lineCap: string; + fontColor: string; + fontFamily: string; + fontSize: number; + lineHeight: number; + fontStyle: string; + fontWeight: string; + textAlign: string; + textBaseline: string; + textBackground: string; + text: string; + textMaxLine: number; + whiteSpace: string; + autoRect: boolean; + textRect: Rect; + fullTextRect: Rect; + textOffsetX: number; + textOffsetY: number; + shadowColor: string; + shadowBlur: number; + shadowOffsetX: number; + shadowOffsetY: number; + animateFn: string | Function; + animateType: string; + animateStart: number; + animateCycle: number; + animateCycleIndex: number; + nextAnimate: string; + animatePlay: boolean; + animatePos: number; + animateReverse: boolean; + locked: Lock; + stand: boolean; + hideInput: boolean; + hideRotateCP: boolean; + hideSizeCP: boolean; + hideAnchor: boolean; + markdown: string; + tipId: string; + title: string; + events: Event[]; + wheres: Where[]; + parentId: string; + rectInParent: { + x: number | string; + y: number | string; + width: number | string; + height: number | string; + marginTop?: number | string; + marginRight?: number | string; + marginBottom?: number | string; + marginLeft?: number | string; + rotate: number; + rect?: Rect; + }; + strokeType: number; + lineGradientFromColor: string; + lineGradientToColor: string; + lineGradientAngle: number; + paddingTopNum: number; + paddingBottomNum: number; + paddingLeftNum: number; + paddingRightNum: number; + visible: boolean; + fillImage: string; + strokeImage: string; + fillImg: HTMLImageElement; + strokeImg: HTMLImageElement; + lastFillImage: string; + lastStrokeImage: string; + children: Pen[]; + data: any; + value: number; + num: number; + num1: number; + num2: number; + num3: number; + fromData(defaultData: any, json: any): void; + render(ctx: CanvasRenderingContext2D): void; + loadFillImg(): void; + loadStrokeImg(): void; + click(): void; + dblclick(): void; + moveIn(): void; + moveOut(): void; + doWheres(): void; + doAction(action: any): void; + show(): this; + hide(): this; + isVisible(): boolean; + getTID(): string; + setTID(id: string): this; + startAnimate(): void; + play(pause?: boolean): void; + private link; + private doStartAnimate; + private doPauseAnimate; + private doStopAnimate; + private doFn; + private doWindowFn; + private doEmit; + generateStoreKey(key: any): string; + abstract getTextRect(): Rect; + abstract calcRectInParent(parent: Pen): void; + abstract calcRectByParent(parent: Pen): void; + abstract draw(ctx: CanvasRenderingContext2D): void; + abstract translate(x: number, y: number, noAnimate?: boolean): void; + abstract scale(scale: number, center?: { + x: number; + y: number; + }): void; + abstract hit(point: { + x: number; + y: number; + }, padding?: number): any; + abstract clone(): Pen; + abstract initAnimate(): void; + abstract animate(now: number): void; + abstract pauseAnimate(): void; + abstract stopAnimate(): void; + abstract strokeLinearGradient(ctx: CanvasRenderingContext2D): void; +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/pen.js b/nezha-fronted/src/components/common/@topology/core/src/models/pen.js new file mode 100644 index 000000000..4dc05fe2d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/pen.js @@ -0,0 +1,440 @@ +import { Store } from 'le5le-store' +import { s8 } from '../utils/uuid' +import { Rect } from './rect' +import { EventType } from './event' +import { deepClone } from '../utils/clone' +export var PenType; +(function (PenType) { + PenType[PenType.Node = 0] = 'Node' + PenType[PenType.Line = 1] = 'Line' +})(PenType || (PenType = {})) +const eventFns = [ + 'link', + 'doStartAnimate', + 'doFn', + 'doWindowFn', + '', + 'doPauseAnimate', + 'doStopAnimate', + 'doEmit' +] +const defaultPen = { + name: '', + tags: [], + visible: true, + rect: new Rect(0, 0, 0, 0), + fontColor: '', + fontFamily: '"Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial', + fontSize: 12, + lineHeight: 1.5, + fontStyle: 'normal', + fontWeight: 'normal', + textAlign: 'center', + textBaseline: 'middle', + textBackground: '', + animateCycleIndex: 0, + events: [], + dash: 0, + lineDashOffset: 0, + lineWidth: 1, + strokeStyle: '', + fillStyle: '', + globalAlpha: 1, + rotate: 0, + offsetRotate: 0, + textMaxLine: 0, + textOffsetX: 0, + textOffsetY: 0, + animatePos: 0 +} +export var images = {} +const Pen = /** @class */ (function () { + function Pen () { + } + Pen.prototype.fromData = function (defaultData, json) { + if (!json) { + json = {} + } else if (typeof json === 'string') { + json = JSON.parse(json) + } + defaultPen.id = s8() + defaultData = Object.assign({}, defaultPen, defaultData) + for (var key in defaultData) { + this[key] = defaultData[key] + } + for (var key in json) { + this[key] = json[key] + } + if (Array.isArray(this.tags)) { + this.tags = Object.assign([], this.tags) + } + if (this.rect) { + this.rect = new Rect(this.rect.x, this.rect.y, this.rect.width, this.rect.height) + } + this.lineWidth = this.lineWidth || 1 + // 兼容老格式 + if (!this.fontColor && json.font) { + this.fontColor = json.font.color || this.fontColor + this.fontFamily = json.font.fontFamily || this.fontFamily + this.fontSize = json.font.fontSize || this.fontSize + this.lineHeight = json.font.lineHeight || this.lineHeight + this.fontStyle = json.font.fontStyle || this.fontStyle + this.fontWeight = json.font.fontWeight || this.fontWeight + this.textAlign = json.font.textAlign || this.textAlign + this.textBaseline = json.font.textBaseline || this.textBaseline + this.textBackground = json.font.background || this.textBackground + delete this.font + } + // end + if (this.events) { + this.events = deepClone(this.events) + } + if (this.wheres) { + this.wheres = deepClone(this.wheres) + } + if (typeof this.data === 'object') { + this.data = JSON.parse(JSON.stringify(this.data)) + } + delete this.img + delete this.animateStart + delete this.animateReady + } + Pen.prototype.render = function (ctx) { + if (!this.visible) { + return + } + if (this.from && !this.to) { + if (this.children) { + for (let _i = 0, _a = this.children; _i < _a.length; _i++) { + var item = _a[_i] + item.render(ctx) + } + } + return + } + ctx.save() + // for canvas2svg + if (ctx.setAttrs) { + ctx.setAttrs(this) + } + // end + if (this.rotate || this.offsetRotate) { + ctx.translate(this.rect.center.x, this.rect.center.y) + ctx.rotate(((this.rotate + this.offsetRotate) * Math.PI) / 180) + ctx.translate(-this.rect.center.x, -this.rect.center.y) + } + if (this.lineWidth > 1) { + ctx.lineWidth = this.lineWidth + } + if (this.strokeImage) { + if (this.strokeImage === this.lastStrokeImage && this.strokeImg) { + ctx.strokeStyle = ctx.createPattern(this.strokeImg, 'repeat') + } else { + this.loadStrokeImg() + } + } else { + ctx.strokeStyle = + this.strokeStyle || Store.get(this.generateStoreKey('LT:color')) + } + if (this.fillImage) { + if (this.fillImage === this.lastFillImage && this.fillImg) { + ctx.fillStyle = ctx.createPattern(this.fillImg, 'repeat') + } else { + this.loadFillImg() + } + } else if (this.fillStyle) { + ctx.fillStyle = this.fillStyle + } + if (this.lineCap) { + ctx.lineCap = this.lineCap + } else if (this.type === PenType.Line) { + ctx.lineCap = 'round' + } + if (this.globalAlpha < 1) { + ctx.globalAlpha = this.globalAlpha + } + if (this.lineDash) { + ctx.setLineDash(this.lineDash) + } else { + switch (this.dash) { + case 1: + ctx.setLineDash([5, 5]) + break + case 2: + ctx.setLineDash([10, 10]) + break + case 3: + ctx.setLineDash([10, 10, 2, 10]) + break + case 4: + ctx.setLineDash([1, 16]) + break + } + } + if (this.lineDashOffset) { + ctx.lineDashOffset = this.lineDashOffset + } + if (this.shadowColor) { + ctx.shadowColor = this.shadowColor + ctx.shadowOffsetX = this.shadowOffsetX + ctx.shadowOffsetY = this.shadowOffsetY + ctx.shadowBlur = this.shadowBlur + } + this.draw(ctx) + ctx.restore() + if (this.children) { + for (let _b = 0, _c = this.children; _b < _c.length; _b++) { + var item = _c[_b] + item.render(ctx) + } + } + } + Pen.prototype.loadFillImg = function () { + const _this = this + if (!this.fillImage) { + return + } + let img = new Image() + img.crossOrigin = 'anonymous' + img.src = this.fillImage + img.onload = function () { + _this.lastFillImage = _this.fillImage + _this.fillImg = img + images[_this.fillImage] = { + img: img + } + Store.set(_this.generateStoreKey('LT:imageLoaded'), true) + img = null + } + } + Pen.prototype.loadStrokeImg = function () { + const _this = this + if (!this.strokeImage) { + return + } + let img = new Image() + img.crossOrigin = 'anonymous' + img.src = this.strokeImage + img.onload = function () { + _this.lastStrokeImage = _this.strokeImage + _this.strokeImg = img + images[_this.strokeImage] = { + img: img + } + Store.set(_this.generateStoreKey('LT:imageLoaded'), true) + img = null + } + } + Pen.prototype.click = function () { + if (!this.events) { + return + } + for (let _i = 0, _a = this.events; _i < _a.length; _i++) { + const item = _a[_i] + if (item.type !== EventType.Click) { + continue + } + this[eventFns[item.action]] && + this[eventFns[item.action]](item.value, item.params) + } + } + Pen.prototype.dblclick = function () { + if (!this.events) { + return + } + for (let _i = 0, _a = this.events; _i < _a.length; _i++) { + const item = _a[_i] + if (item.type !== EventType.DblClick) { + continue + } + this[eventFns[item.action]] && + this[eventFns[item.action]](item.value, item.params) + } + } + Pen.prototype.moveIn = function () { + if (!this.events) { + return + } + for (let _i = 0, _a = this.events; _i < _a.length; _i++) { + const item = _a[_i] + if (item.type !== EventType.MoveIn) { + continue + } + this[eventFns[item.action]] && + this[eventFns[item.action]](item.value, item.params) + } + } + Pen.prototype.moveOut = function () { + if (!this.events) { + return + } + for (let _i = 0, _a = this.events; _i < _a.length; _i++) { + const item = _a[_i] + if (item.type !== EventType.MoveOut) { + continue + } + this[eventFns[item.action]] && + this[eventFns[item.action]](item.value, item.params) + } + } + Pen.prototype.doWheres = function () { + const _this = this + if (!this.wheres) { + return + } + this.wheres.forEach(function (where) { + if (where.fn instanceof Function) { // 函数类型 fn + if (where.fn(_this)) { + where.actions && + where.actions.forEach(function (action) { + _this.doAction(action) + }) + } + } else if (where.fn && where.fn.trim()) { // 字符串类型 fn + var fn = new Function('pen', where.fn) + if (fn(_this)) { + where.actions && + where.actions.forEach(function (action) { + _this.doAction(action) + }) + } + } else { // fn 为空 + var fn = new Function('attr', 'return attr ' + where.comparison + ' ' + where.value) + if (fn(_this[where.key])) { + where.actions && + where.actions.forEach(function (action) { + _this.doAction(action) + }) + } + } + }) + } + Pen.prototype.doAction = function (action) { + switch (action.do || action.action) { + case 0: + case 'Link': + this.link(action.url || action.value, action._blank || action.params) + break + case 1: + case 'StartAnimate': + this.doStartAnimate(action.tag || action.value) + break + case 5: + case 'PauseAnimate': + this.doPauseAnimate(action.tag || action.value) + break + case 6: + case 'StopAnimate': + this.doStopAnimate(action.tag || action.value) + break + case 2: + case 'Function': + this.doFn(action.fn || action.value, action.params) + break + case 3: + case 'WindowFn': + this.doWindowFn(action.fn || action.value, action.params) + break + case 7: + case 'Emit': + this.doEmit(action.fn || action.value, action.params) + break + } + } + Pen.prototype.show = function () { + this.visible = true + return this + } + Pen.prototype.hide = function () { + this.visible = false + return this + } + Pen.prototype.isVisible = function () { + return this.visible + } + Pen.prototype.getTID = function () { + return this.TID + } + Pen.prototype.setTID = function (id) { + this.TID = id + if (this.children) { + for (let _i = 0, _a = this.children; _i < _a.length; _i++) { + const item = _a[_i] + item.setTID(id) + } + } + return this + } + Pen.prototype.startAnimate = function () { + this.animateStart = Date.now() + if (this.type === PenType.Node && !this.animateReady) { + this.initAnimate() + } + Store.set(this.generateStoreKey('LT:AnimatePlay'), { + pen: this + }) + // 跟随动画播放 + if (this.playType === 2) { + this.play() + } + } + Pen.prototype.play = function (pause) { + Store.set(this.generateStoreKey('LT:play'), { + pen: this, + pause: pause + }) + } + Pen.prototype.link = function (url, params) { + window.open(url, params === undefined ? '_blank' : params) + } + Pen.prototype.doStartAnimate = function (tag, params) { + if (tag) { + Store.set(this.generateStoreKey('LT:AnimatePlay'), { + tag: tag + }) + } else { + this.startAnimate() + } + } + Pen.prototype.doPauseAnimate = function (tag, params) { + if (tag) { + Store.set(this.generateStoreKey('LT:AnimatePlay'), { + tag: tag, + stop: true + }) + } else { + this.pauseAnimate() + } + } + Pen.prototype.doStopAnimate = function (tag, params) { + if (tag) { + Store.set(this.generateStoreKey('LT:AnimatePlay'), { + tag: tag, + stop: true + }) + } else { + this.stopAnimate() + } + } + Pen.prototype.doFn = function (fn, params) { + if (fn instanceof Function) { return fn(this, params) } + const func = new Function('pen', 'params', fn) + func(this, params) + } + Pen.prototype.doWindowFn = function (fn, params) { + window[fn](this, params) + } + Pen.prototype.doEmit = function (event, params) { + Store.set(this.generateStoreKey('LT:emit'), { + event: event, + params: params, + pen: this + }) + } + Pen.prototype.generateStoreKey = function (key) { + return this.TID + '-' + key + } + return Pen +}()) +export { Pen } +// # sourceMappingURL=pen.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/pen.js.map b/nezha-fronted/src/components/common/@topology/core/src/models/pen.js.map new file mode 100644 index 000000000..fa0145c8b --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/pen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pen.js","sourceRoot":"","sources":["../../../../packages/core/src/models/pen.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/point.d.ts b/nezha-fronted/src/components/common/@topology/core/src/models/point.d.ts new file mode 100644 index 000000000..835b3f058 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/point.d.ts @@ -0,0 +1,29 @@ +import { Direction } from './direction'; +import { AnchorMode } from './status'; +export declare class Point { + x: number; + y: number; + id: number | string; + direction: Direction; + radius: number; + strokeStyle: string; + fillStyle: string; + anchorIndex: number; + autoAnchor: boolean; + hidden: boolean; + mode: AnchorMode; + data: any; + constructor(x: number, y: number, direction?: Direction, anchorIndex?: number, id?: number | string, hidden?: boolean, autoAnchor?: boolean); + floor(): void; + round(): void; + clone(): Point; + hit(pt: { + x: number; + y: number; + }, radius?: number): boolean; + rotate(angle: number, center: { + x: number; + y: number; + }): Point; + isSameAs(pt: Point): boolean; +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/point.js b/nezha-fronted/src/components/common/@topology/core/src/models/point.js new file mode 100644 index 000000000..b5e0313e4 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/point.js @@ -0,0 +1,53 @@ +var Point = /** @class */ (function () { + function Point(x, y, direction, anchorIndex, id, hidden, autoAnchor) { + this.x = x; + this.y = y; + this.direction = direction; + this.anchorIndex = anchorIndex; + this.id = id; + this.hidden = hidden; + this.autoAnchor = autoAnchor; + } + Point.prototype.floor = function () { + this.x |= 0; + this.y |= 0; + }; + Point.prototype.round = function () { + this.x = Math.round(this.x); + this.y = Math.round(this.y); + }; + Point.prototype.clone = function () { + var pt = new Point(this.x, this.y, this.direction, this.anchorIndex, this.id, this.hidden, this.autoAnchor); + if (this.data) { + pt.data = this.data; + } + if (this.mode) { + pt.mode = this.mode; + } + return pt; + }; + Point.prototype.hit = function (pt, radius) { + if (radius === void 0) { radius = 5; } + return pt.x > this.x - radius && pt.x < this.x + radius && pt.y > this.y - radius && pt.y < this.y + radius; + }; + Point.prototype.rotate = function (angle, center) { + if (!angle || angle === 360) { + return this; + } + angle *= Math.PI / 180; + var x = (this.x - center.x) * Math.cos(angle) - (this.y - center.y) * Math.sin(angle) + center.x; + var y = (this.x - center.x) * Math.sin(angle) + (this.y - center.y) * Math.cos(angle) + center.y; + this.x = x; + this.y = y; + return this; + }; + Point.prototype.isSameAs = function (pt) { + return this.anchorIndex === pt.anchorIndex && this.direction === pt.direction && this.id === pt.id; + }; + return Point; +}()); +export { Point }; +console.log(132123132123) +window.topologyPoint = Point; +window.Le5leTopologyPoint = Point; +//# sourceMappingURL=point.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/point.js.map b/nezha-fronted/src/components/common/@topology/core/src/models/point.js.map new file mode 100644 index 000000000..3eed3255e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/point.js.map @@ -0,0 +1 @@ +{"version":3,"file":"point.js","sourceRoot":"","sources":["../../../../packages/core/src/models/point.ts"],"names":[],"mappings":"AAGA;IAcE,eACS,CAAS,EACT,CAAS,EAChB,SAAqB,EACrB,WAAoB,EACpB,EAAoB,EACpB,MAAgB,EAChB,UAAoB;QANb,MAAC,GAAD,CAAC,CAAQ;QACT,MAAC,GAAD,CAAC,CAAQ;QAOhB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,qBAAK,GAAL;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAED,qBAAK,GAAL;QACE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,qBAAK,GAAL;QACE,IAAM,EAAE,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9G,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SACrB;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SACrB;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,mBAAG,GAAH,UAAI,EAA6B,EAAE,MAAU;QAAV,uBAAA,EAAA,UAAU;QAC3C,OAAO,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;IAC9G,CAAC;IAED,sBAAM,GAAN,UAAO,KAAa,EAAE,MAAiC;QACrD,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG,EAAE;YAC3B,OAAO,IAAI,CAAC;SACb;QAED,KAAK,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;QACvB,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACnG,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAQ,GAAR,UAAS,EAAS;QAChB,OAAO,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACrG,CAAC;IACH,YAAC;AAAD,CAAC,AAvED,IAuEC;;AAEA,MAAc,CAAC,aAAa,GAAG,KAAK,CAAC;AACrC,MAAc,CAAC,kBAAkB,GAAG,KAAK,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/rect.d.ts b/nezha-fronted/src/components/common/@topology/core/src/models/rect.d.ts new file mode 100644 index 000000000..5031bf89d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/rect.d.ts @@ -0,0 +1,31 @@ +import { Point } from './point'; +export declare class Rect { + x: number; + y: number; + width: number; + height: number; + ex: number; + ey: number; + center: Point; + constructor(x: number, y: number, width: number, height: number); + init(): void; + floor(): void; + round(): void; + clone(): Rect; + hit(pt: { + x: number; + y: number; + }, padding?: number): boolean; + hitByRect(rect: Rect): boolean; + hitRotate(point: { + x: number; + y: number; + }, rotate: number, center: Point): boolean; + calcCenter(): void; + toPoints(): Point[]; + translate(x: number, y: number): void; + scale(scale: number, center?: { + x: number; + y: number; + }, scaleY?: number): void; +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/rect.js b/nezha-fronted/src/components/common/@topology/core/src/models/rect.js new file mode 100644 index 000000000..3f99987fd --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/rect.js @@ -0,0 +1,94 @@ +import { Point } from './point'; +import { pointInRect } from '../utils/canvas'; +var Rect = /** @class */ (function () { + function Rect(x, y, width, height) { + this.x = x; + this.y = y; + this.width = width; + this.height = height; + this.center = new Point(0, 0); + if (width < 0) { + width = 0; + } + if (height < 0) { + height = 0; + } + this.init(); + } + Rect.prototype.init = function () { + this.ex = this.x + this.width; + this.ey = this.y + this.height; + this.calcCenter(); + }; + Rect.prototype.floor = function () { + this.x |= 0; + this.y |= 0; + this.width |= 0; + this.height |= 0; + this.init(); + }; + Rect.prototype.round = function () { + this.x = Math.round(this.x); + this.y = Math.round(this.y); + this.width = Math.round(this.width); + this.height = Math.round(this.height); + this.init(); + }; + Rect.prototype.clone = function () { + return new Rect(this.x, this.y, this.width, this.height); + }; + Rect.prototype.hit = function (pt, padding) { + if (padding === void 0) { padding = 0; } + return pt && pt.x > this.x - padding && pt.x < this.ex + padding && pt.y > this.y - padding && pt.y < this.ey + padding; + }; + Rect.prototype.hitByRect = function (rect) { + return ((rect.x > this.x && rect.x < this.ex && rect.y > this.y && rect.y < this.ey) || + (rect.ex > this.x && rect.ex < this.ex && rect.y > this.y && rect.y < this.ey) || + (rect.ex > this.x && rect.ex < this.ex && rect.ey > this.y && rect.ey < this.ey) || + (rect.x > this.x && rect.x < this.ex && rect.ey > this.y && rect.ey < this.ey)); + }; + Rect.prototype.hitRotate = function (point, rotate, center) { + var pts = this.toPoints(); + for (var _i = 0, pts_1 = pts; _i < pts_1.length; _i++) { + var pt = pts_1[_i]; + pt.rotate(rotate, center); + } + return pointInRect(point, pts); + }; + Rect.prototype.calcCenter = function () { + this.center.x = this.x + this.width / 2; + this.center.y = this.y + this.height / 2; + }; + Rect.prototype.toPoints = function () { + return [ + new Point(this.x, this.y), + new Point(this.ex, this.y), + new Point(this.ex, this.ey), + new Point(this.x, this.ey), + ]; + }; + Rect.prototype.translate = function (x, y) { + this.x += x; + this.y += y; + this.ex += x; + this.ey += y; + this.calcCenter(); + }; + Rect.prototype.scale = function (scale, center, scaleY) { + if (!center) { + center = this.center; + } + if (scaleY === undefined) { + scaleY = scale; + } + this.x = center.x - (center.x - this.x) * scale; + this.y = center.y - (center.y - this.y) * scaleY; + this.width *= scale; + this.height *= scaleY; + this.init(); + }; + return Rect; +}()); +export { Rect }; +window.topologyRect = Rect; +//# sourceMappingURL=rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/rect.js.map b/nezha-fronted/src/components/common/@topology/core/src/models/rect.js.map new file mode 100644 index 000000000..78289247c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"rect.js","sourceRoot":"","sources":["../../../../packages/core/src/models/rect.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/status.d.ts b/nezha-fronted/src/components/common/@topology/core/src/models/status.d.ts new file mode 100644 index 000000000..617a49a78 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/status.d.ts @@ -0,0 +1,11 @@ +export declare enum Lock { + None = 0, + Readonly = 1, + NoMove = 2, + NoEvent = 10 +} +export declare enum AnchorMode { + Default = 0, + In = 1, + Out = 2 +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/status.js b/nezha-fronted/src/components/common/@topology/core/src/models/status.js new file mode 100644 index 000000000..7f77ff6f2 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/status.js @@ -0,0 +1,14 @@ +export var Lock; +(function (Lock) { + Lock[Lock["None"] = 0] = "None"; + Lock[Lock["Readonly"] = 1] = "Readonly"; + Lock[Lock["NoMove"] = 2] = "NoMove"; + Lock[Lock["NoEvent"] = 10] = "NoEvent"; +})(Lock || (Lock = {})); +export var AnchorMode; +(function (AnchorMode) { + AnchorMode[AnchorMode["Default"] = 0] = "Default"; + AnchorMode[AnchorMode["In"] = 1] = "In"; + AnchorMode[AnchorMode["Out"] = 2] = "Out"; +})(AnchorMode || (AnchorMode = {})); +//# sourceMappingURL=status.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/status.js.map b/nezha-fronted/src/components/common/@topology/core/src/models/status.js.map new file mode 100644 index 000000000..dce20eb24 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/models/status.js.map @@ -0,0 +1 @@ +{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../packages/core/src/models/status.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,IAKX;AALD,WAAY,IAAI;IACd,+BAAI,CAAA;IACJ,uCAAQ,CAAA;IACR,mCAAM,CAAA;IACN,sCAAY,CAAA;AACd,CAAC,EALW,IAAI,KAAJ,IAAI,QAKf;AAED,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,iDAAO,CAAA;IACP,uCAAE,CAAA;IACF,yCAAG,CAAA;AACL,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/mqtt.d.ts b/nezha-fronted/src/components/common/@topology/core/src/mqtt.d.ts new file mode 100644 index 000000000..7089e1283 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/mqtt.d.ts @@ -0,0 +1,12 @@ +export declare class MQTT { + url: string; + options: any; + topics: string; + cb?: (topic: string, message: any) => void; + client: any; + fns: any; + constructor(url: string, options: any, topics: string, cb?: (topic: string, message: any) => void); + init(): void; + publish(topic: string, message: string): void; + close(): void; +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/mqtt.js b/nezha-fronted/src/components/common/@topology/core/src/mqtt.js new file mode 100644 index 000000000..f1fdcfdbb --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/mqtt.js @@ -0,0 +1,27 @@ +import * as mqtt from 'mqtt/dist/mqtt.min.js'; +var MQTT = /** @class */ (function () { + function MQTT(url, options, topics, cb) { + this.url = url; + this.options = options; + this.topics = topics; + this.cb = cb; + this.fns = {}; + this.init(); + } + MQTT.prototype.init = function () { + this.client = mqtt.connect(this.url, this.options); + this.client.on('message', this.cb); + if (this.topics) { + this.client.subscribe(this.topics.split(',')); + } + }; + MQTT.prototype.publish = function (topic, message) { + this.client.publish(topic, message); + }; + MQTT.prototype.close = function () { + this.client.end(); + }; + return MQTT; +}()); +export { MQTT }; +//# sourceMappingURL=mqtt.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/mqtt.js.map b/nezha-fronted/src/components/common/@topology/core/src/mqtt.js.map new file mode 100644 index 000000000..d03e6b660 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/mqtt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../../packages/core/src/mqtt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C;IAGE,cAAmB,GAAW,EAAS,OAAY,EAAS,MAAc,EAAS,EAA0C;QAA1G,QAAG,GAAH,GAAG,CAAQ;QAAS,YAAO,GAAP,OAAO,CAAK;QAAS,WAAM,GAAN,MAAM,CAAQ;QAAS,OAAE,GAAF,EAAE,CAAwC;QAD7H,QAAG,GAAQ,EAAE,CAAC;QAEZ,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,mBAAI,GAAJ;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,sBAAO,GAAP,UAAQ,KAAa,EAAE,OAAe;QACpC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,oBAAK,GAAL;QACE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IACH,WAAC;AAAD,CAAC,AAvBD,IAuBC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/offscreen.d.ts b/nezha-fronted/src/components/common/@topology/core/src/offscreen.d.ts new file mode 100644 index 000000000..6eec612eb --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/offscreen.d.ts @@ -0,0 +1,14 @@ +import { Options } from './options'; +import { Canvas } from './canvas'; +import { ActiveLayer } from './activeLayer'; +import { HoverLayer } from './hoverLayer'; +import { AnimateLayer } from './animateLayer'; +export declare class Offscreen extends Canvas { + parentElem: HTMLElement; + options: Options; + activeLayer: ActiveLayer; + hoverLayer: HoverLayer; + animateLayer: AnimateLayer; + constructor(parentElem: HTMLElement, options: Options, TID: string); + render(): void; +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/offscreen.js b/nezha-fronted/src/components/common/@topology/core/src/offscreen.js new file mode 100644 index 000000000..38f246911 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/offscreen.js @@ -0,0 +1,54 @@ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +import { Store } from 'le5le-store'; +import { Canvas } from './canvas'; +import { rectInRect } from './utils/rect'; +import { Rect, PenType } from './models'; +var Offscreen = /** @class */ (function (_super) { + __extends(Offscreen, _super); + function Offscreen(parentElem, options, TID) { + if (options === void 0) { options = {}; } + var _this = _super.call(this, parentElem, options, TID) || this; + _this.parentElem = parentElem; + _this.options = options; + _this.activeLayer = Store.get(_this.generateStoreKey('LT:ActiveLayer')); + _this.hoverLayer = Store.get(_this.generateStoreKey('LT:HoverLayer')); + _this.animateLayer = Store.get(_this.generateStoreKey('LT:AnimateLayer')); + Store.set(_this.generateStoreKey('LT:offscreen'), _this.canvas); + return _this; + } + Offscreen.prototype.render = function () { + _super.prototype.render.call(this); + var ctx = this.canvas.getContext('2d'); + ctx.strokeStyle = this.options.color; + var canvasRect = new Rect(-this.data.x, -this.data.y, this.width, this.height); + for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) { + var item = _a[_i]; + if (!item.getTID()) { + item.setTID(this.TID); + } + // 连线类型没有 rect,必渲染 + if (!rectInRect(item.rect, canvasRect) && item.type === PenType.Node) { + continue; + } + item.render(ctx); + } + this.activeLayer.render(ctx); + this.animateLayer.render(ctx); + this.hoverLayer.render(ctx); + }; + return Offscreen; +}(Canvas)); +export { Offscreen }; +//# sourceMappingURL=offscreen.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/offscreen.js.map b/nezha-fronted/src/components/common/@topology/core/src/offscreen.js.map new file mode 100644 index 000000000..fe55c7ac5 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/offscreen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"offscreen.js","sourceRoot":"","sources":["../../../packages/core/src/offscreen.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEzC;IAA+B,6BAAM;IAInC,mBAAmB,UAAuB,EAAS,OAAqB,EAAE,GAAW;QAAlC,wBAAA,EAAA,YAAqB;QAAxE,YACE,kBAAM,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,SAKhC;QANkB,gBAAU,GAAV,UAAU,CAAa;QAAS,aAAO,GAAP,OAAO,CAAc;QAEtE,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACtE,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;QACpE,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACxE,KAAK,CAAC,GAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,KAAI,CAAC,MAAM,CAAC,CAAC;;IAChE,CAAC;IAED,0BAAM,GAAN;QACE,iBAAM,MAAM,WAAE,CAAC;QAEf,IAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACzC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACrC,IAAM,UAAU,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,CAAC,KAAK,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9E,KAAmB,UAAc,EAAd,KAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAd,cAAc,EAAd,IAAc,EAAE;YAA9B,IAAM,IAAI,SAAA;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACvB;YACD,kBAAkB;YAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE;gBACpE,SAAS;aACV;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAClB;QAED,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IACH,gBAAC;AAAD,CAAC,AAjCD,CAA+B,MAAM,GAiCpC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/options.d.ts b/nezha-fronted/src/components/common/@topology/core/src/options.d.ts new file mode 100644 index 000000000..69dece464 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/options.d.ts @@ -0,0 +1,72 @@ +export declare enum KeyType { + Any = -1, + CtrlOrAlt = 0, + Ctrl = 1, + Shift = 2, + Alt = 3, + Right = 4 +} +export declare enum KeydownType { + None = -1, + Document = 0, + Canvas = 1 +} +export declare type Padding = number | string | number[]; +export interface Options { + cacheLen?: number; + extDpiRatio?: number; + width?: string | number; + height?: string | number; + color?: string; + activeColor?: string; + hoverColor?: string; + anchorRadius?: number; + anchorFillStyle?: string; + dockStrokeStyle?: string; + dockFillStyle?: string; + dragColor?: string; + animateColor?: string; + fontColor?: string; + fontFamily?: string; + fontSize?: number; + lineHeight?: number; + textAlign?: string; + textBaseline?: string; + rotateCursor?: string; + hoverCursor?: string; + hideInput?: boolean; + hideRotateCP?: boolean; + hideSizeCP?: boolean; + hideAnchor?: boolean; + disableSizeX?: boolean; + disableSizeY?: boolean; + anchorSize?: number; + alwaysAnchor?: boolean; + autoAnchor?: boolean; + disableEmptyLine?: boolean; + disableRepeatLine?: boolean; + disableScale?: boolean; + disableTranslate?: boolean; + disableMoveOutParent?: boolean; + disableDockLine?: boolean; + playIcon?: string; + pauseIcon?: string; + fullScreenIcon?: string; + loopIcon?: string; + translateKey?: KeyType; + scaleKey?: KeyType; + minScale?: number; + maxScale?: number; + keydown?: KeydownType; + viewPadding?: Padding; + bkColor?: string; + grid?: boolean; + gridColor?: string; + gridSize?: number; + rule?: boolean; + ruleColor?: string; + refresh?: number; + on?: (event: string, data: any) => void; +} +export declare const fontKeys: string[]; +export declare const DefalutOptions: Options; diff --git a/nezha-fronted/src/components/common/@topology/core/src/options.js b/nezha-fronted/src/components/common/@topology/core/src/options.js new file mode 100644 index 000000000..9b3aecfd9 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/options.js @@ -0,0 +1,45 @@ +export var KeyType; +(function (KeyType) { + KeyType[KeyType["Any"] = -1] = "Any"; + KeyType[KeyType["CtrlOrAlt"] = 0] = "CtrlOrAlt"; + KeyType[KeyType["Ctrl"] = 1] = "Ctrl"; + KeyType[KeyType["Shift"] = 2] = "Shift"; + KeyType[KeyType["Alt"] = 3] = "Alt"; + KeyType[KeyType["Right"] = 4] = "Right"; +})(KeyType || (KeyType = {})); +export var KeydownType; +(function (KeydownType) { + KeydownType[KeydownType["None"] = -1] = "None"; + KeydownType[KeydownType["Document"] = 0] = "Document"; + KeydownType[KeydownType["Canvas"] = 1] = "Canvas"; +})(KeydownType || (KeydownType = {})); +export var fontKeys = ['fontColor', 'fontFamily', 'fontSize', 'lineHeight', 'textAlign', 'textBaseline']; +export var DefalutOptions = { + cacheLen: 30, + refresh: 30, + fontColor: '#222222', + fontFamily: '"Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial', + fontSize: 12, + lineHeight: 1.5, + textAlign: 'center', + textBaseline: 'middle', + color: '#222222', + activeColor: '#1890ff', + hoverColor: '#fa541c', + anchorRadius: 4, + anchorFillStyle: '#fff', + dockStrokeStyle: '#fa541c', + dockFillStyle: '#fa541c', + dragColor: '#1890ff', + rotateCursor: '/assets/img/rotate.cur', + hoverCursor: 'pointer', + minScale: 0.3, + maxScale: 5, + anchorSize: 5, + keydown: KeydownType.Document, + viewPadding: 0, + gridSize: 10, + gridColor: '#f3f3f3', + ruleColor: '#888888', +}; +//# sourceMappingURL=options.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/options.js.map b/nezha-fronted/src/components/common/@topology/core/src/options.js.map new file mode 100644 index 000000000..e93c16a75 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/options.js.map @@ -0,0 +1 @@ +{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../packages/core/src/options.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,OAOX;AAPD,WAAY,OAAO;IACjB,oCAAQ,CAAA;IACR,+CAAS,CAAA;IACT,qCAAI,CAAA;IACJ,uCAAK,CAAA;IACL,mCAAG,CAAA;IACH,uCAAK,CAAA;AACP,CAAC,EAPW,OAAO,KAAP,OAAO,QAOlB;AAED,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,8CAAS,CAAA;IACT,qDAAQ,CAAA;IACR,iDAAM,CAAA;AACR,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AA6DD,MAAM,CAAC,IAAM,QAAQ,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;AAE3G,MAAM,CAAC,IAAM,cAAc,GAAY;IACrC,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,2EAA2E;IACvF,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,QAAQ;IACnB,YAAY,EAAE,QAAQ;IACtB,KAAK,EAAE,SAAS;IAChB,WAAW,EAAE,SAAS;IACtB,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,CAAC;IACf,eAAe,EAAE,MAAM;IACvB,eAAe,EAAE,SAAS;IAC1B,aAAa,EAAE,SAAS;IACxB,SAAS,EAAE,SAAS;IACpB,YAAY,EAAE,wBAAwB;IACtC,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,WAAW,CAAC,QAAQ;IAC7B,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;CACrB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/renderLayer.d.ts b/nezha-fronted/src/components/common/@topology/core/src/renderLayer.d.ts new file mode 100644 index 000000000..ccf218836 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/renderLayer.d.ts @@ -0,0 +1,16 @@ +import { Options } from './options'; +import { Canvas } from './canvas'; +import { TopologyData } from './models/data'; +export declare class RenderLayer extends Canvas { + parentElem: HTMLElement; + options: Options; + offscreen: any; + data: TopologyData; + bkImg: HTMLImageElement; + constructor(parentElem: HTMLElement, options: Options, TID: string); + loadBkImg(cb?: any): void; + clearBkImg(): void; + render: () => void; + rule(): void; + grid(): void; +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/renderLayer.js b/nezha-fronted/src/components/common/@topology/core/src/renderLayer.js new file mode 100644 index 000000000..fdfc9c09f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/renderLayer.js @@ -0,0 +1,134 @@ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +import { Store } from 'le5le-store'; +import { Canvas } from './canvas'; +import { rgba } from './utils/math'; +import { Rect } from './models'; +var RenderLayer = /** @class */ (function (_super) { + __extends(RenderLayer, _super); + function RenderLayer(parentElem, options, TID) { + if (options === void 0) { options = {}; } + var _this = _super.call(this, parentElem, options, TID) || this; + _this.parentElem = parentElem; + _this.options = options; + _this.render = function () { + if (_this.data && _this.data.bkImage && !_this.bkImg) { + _this.loadBkImg(_this.render); + return; + } + if (!_this.width || !_this.height || !_this.offscreen) { + return; + } + var ctx = _this.canvas.getContext('2d'); + ctx.clearRect(0, 0, _this.canvas.width, _this.canvas.height); + if (_this.data.bkColor || _this.options.bkColor) { + ctx.fillStyle = _this.data.bkColor || _this.options.bkColor; + ctx.fillRect(0, 0, _this.width, _this.height); + } + if (_this.bkImg && _this.data.bkImageRect) { + ctx.drawImage(_this.bkImg, _this.data.bkImageRect.x, _this.data.bkImageRect.y, _this.data.bkImageRect.width, _this.data.bkImageRect.height); + } + if (_this.data.grid || _this.options.grid) { + _this.grid(); + } + if (_this.data.rule || _this.options.rule) { + _this.rule(); + } + ctx.drawImage(_this.offscreen, 0, 0, _this.width, _this.height); + }; + _this.offscreen = Store.get(_this.generateStoreKey('LT:offscreen')); + _this.parentElem.appendChild(_this.canvas); + _this.data = Store.get(_this.generateStoreKey('topology-data')); + return _this; + } + RenderLayer.prototype.loadBkImg = function (cb) { + var _this = this; + if (!this.data.bkImage) { + return; + } + this.bkImg = new Image(); + this.bkImg.crossOrigin = 'anonymous'; + this.bkImg.src = this.data.bkImage; + this.bkImg.onload = function () { + if (!_this.data.bkImageRect) { + _this.data.bkImageRect = new Rect(0, 0, _this.bkImg.naturalWidth, _this.bkImg.naturalHeight); + } + if (cb) { + cb(); + } + }; + }; + RenderLayer.prototype.clearBkImg = function () { + this.bkImg = undefined; + }; + RenderLayer.prototype.rule = function () { + var ctx = this.canvas.getContext('2d'); + ctx.save(); + ctx.lineWidth = 1; + ctx.strokeStyle = rgba(0.7, this.data.ruleColor || this.options.ruleColor || '#888'); + ctx.beginPath(); + for (var i = 10; i < this.width; i += 10) { + ctx.moveTo(i, 0); + ctx.lineTo(i, 5); + } + for (var i = 10; i < this.height; i += 10) { + ctx.moveTo(0, i); + ctx.lineTo(5, i); + } + ctx.stroke(); + ctx.beginPath(); + ctx.strokeStyle = this.data.ruleColor || this.options.ruleColor || '#888'; + ctx.fillStyle = ctx.strokeStyle; + for (var i = 100; i < this.width; i += 100) { + ctx.moveTo(i, 0); + ctx.lineTo(i, 10); + ctx.fillText(i.toString(), i + 4, 16); + } + for (var i = 100; i < this.height; i += 100) { + ctx.moveTo(0, i); + ctx.lineTo(10, i); + } + ctx.stroke(); + for (var i = 100; i < this.height; i += 100) { + ctx.save(); + ctx.beginPath(); + ctx.translate(16, i - 4); + ctx.rotate((270 * Math.PI) / 180); + ctx.fillText(i.toString(), 0, 0); + ctx.restore(); + } + ctx.restore(); + }; + RenderLayer.prototype.grid = function () { + var ctx = this.canvas.getContext('2d'); + ctx.save(); + ctx.lineWidth = 1; + ctx.strokeStyle = this.data.gridColor || this.options.gridColor || '#f3f3f3'; + ctx.beginPath(); + var size = this.data.gridSize || this.options.gridSize; + for (var i = size; i < this.width; i += size) { + ctx.moveTo(i, 0); + ctx.lineTo(i, this.height); + } + for (var i = size; i < this.height; i += size) { + ctx.moveTo(0, i); + ctx.lineTo(this.width, i); + } + ctx.stroke(); + ctx.restore(); + }; + return RenderLayer; +}(Canvas)); +export { RenderLayer }; +//# sourceMappingURL=renderLayer.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/renderLayer.js.map b/nezha-fronted/src/components/common/@topology/core/src/renderLayer.js.map new file mode 100644 index 000000000..d30e234e9 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/renderLayer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"renderLayer.js","sourceRoot":"","sources":["../../../packages/core/src/renderLayer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/socket.d.ts b/nezha-fronted/src/components/common/@topology/core/src/socket.d.ts new file mode 100644 index 000000000..22278dac4 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/socket.d.ts @@ -0,0 +1,9 @@ +export declare class Socket { + url: string; + cb?: (e: any) => void; + socket: WebSocket; + fns: any; + constructor(url: string, cb?: (e: any) => void); + init(): void; + close(): void; +} diff --git a/nezha-fronted/src/components/common/@topology/core/src/socket.js b/nezha-fronted/src/components/common/@topology/core/src/socket.js new file mode 100644 index 000000000..3049b6db9 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/socket.js @@ -0,0 +1,24 @@ +var Socket = /** @class */ (function () { + function Socket(url, cb) { + this.url = url; + this.cb = cb; + this.fns = {}; + this.init(); + } + Socket.prototype.init = function () { + var _this = this; + this.socket = new WebSocket(this.url); + this.socket.onmessage = this.cb; + this.socket.onclose = function () { + console.info('Canvas websocket closed and reconneting...'); + _this.init(); + }; + }; + Socket.prototype.close = function () { + this.socket.onclose = undefined; + this.socket.close(); + }; + return Socket; +}()); +export { Socket }; +//# sourceMappingURL=socket.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/socket.js.map b/nezha-fronted/src/components/common/@topology/core/src/socket.js.map new file mode 100644 index 000000000..b5c0f1d9a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/socket.js.map @@ -0,0 +1 @@ +{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../packages/core/src/socket.ts"],"names":[],"mappings":"AAAA;IAGE,gBAAmB,GAAW,EAAS,EAAqB;QAAzC,QAAG,GAAH,GAAG,CAAQ;QAAS,OAAE,GAAF,EAAE,CAAmB;QAD5D,QAAG,GAAQ,EAAE,CAAC;QAEZ,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,qBAAI,GAAJ;QAAA,iBAQC;QAPC,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC;QAEhC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG;YACpB,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC3D,KAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IAED,sBAAK,GAAL;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IACH,aAAC;AAAD,CAAC,AArBD,IAqBC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/browser.d.ts b/nezha-fronted/src/components/common/@topology/core/src/utils/browser.d.ts new file mode 100644 index 000000000..c2a694890 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/browser.d.ts @@ -0,0 +1 @@ +export declare function isMobile(): boolean; diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/browser.js b/nezha-fronted/src/components/common/@topology/core/src/utils/browser.js new file mode 100644 index 000000000..d4ace7502 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/browser.js @@ -0,0 +1,4 @@ +export function isMobile() { + return /Android|webOS|iPad|iPhone|iPod|BlackBerry/i.test(navigator.userAgent); +} +//# sourceMappingURL=browser.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/browser.js.map b/nezha-fronted/src/components/common/@topology/core/src/utils/browser.js.map new file mode 100644 index 000000000..905523eb5 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/browser.js.map @@ -0,0 +1 @@ +{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../packages/core/src/utils/browser.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ;IACtB,OAAO,4CAA4C,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAChF,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/cacheDB.d.ts b/nezha-fronted/src/components/common/@topology/core/src/utils/cacheDB.d.ts new file mode 100644 index 000000000..1f559a0b1 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/cacheDB.d.ts @@ -0,0 +1,5 @@ +import { TopologyData } from '@topology/core'; +export declare function createCacheTable(): void; +export declare function spliceCache(index: number): void; +export declare function pushCache(data: TopologyData | any, index: number, length: number): void; +export declare function getCache(index: number): Promise; diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/cacheDB.js b/nezha-fronted/src/components/common/@topology/core/src/utils/cacheDB.js new file mode 100644 index 000000000..6f1721d47 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/cacheDB.js @@ -0,0 +1,103 @@ +export function createCacheTable() { + var request = indexedDB.open('topology-caches'); // 默认版本 1 + request.onupgradeneeded = function (e) { + // 建表 + var db = e.target.result; + if (db.objectStoreNames.contains('caches')) { + db.deleteObjectStore('caches'); + } + db.createObjectStore('caches', { + keyPath: 'dbIndex', + }); + }; + request.onsuccess = function (event) { + var db = request.result; + if (!db.objectStoreNames.contains('caches')) { + return; + } + var get = db.transaction(['caches'], 'readwrite').objectStore('caches'); + get.clear(); // 创建表格同时清空 + }; + request.onerror = function (e) { + console.warn('数据库打开失败' + e); + }; +} +export function spliceCache(index) { + var request = indexedDB.open('topology-caches'); // 默认版本 1 + request.onsuccess = function (event) { + var db = request.result; + if (!db.objectStoreNames.contains('caches')) { + return; + } + var get = db.transaction(['caches'], 'readwrite').objectStore('caches'); + get.delete(IDBKeyRange.lowerBound(index)); + }; + request.onupgradeneeded = function (e) { + // 建表 + var db = e.target.result; + if (db.objectStoreNames.contains('caches')) { + db.deleteObjectStore('caches'); + } + db.createObjectStore('caches', { + keyPath: 'dbIndex', + }); + }; +} +export function pushCache(data, index, length) { + var request = indexedDB.open('topology-caches'); // 默认版本 1 + request.onsuccess = function (event) { + var db = request.result; + if (!db.objectStoreNames.contains('caches')) { + return; + } + var push = db.transaction(['caches'], 'readwrite').objectStore('caches'); + data.dbIndex = index; + push.add(data); + var result = push.count(); + result.onsuccess = function () { + if (result.result > length) { + // 把最前面的一个扔出去 + push.delete(index - length); + } + }; + }; + request.onupgradeneeded = function (e) { + // 建表 + var db = e.target.result; + if (db.objectStoreNames.contains('caches')) { + db.deleteObjectStore('caches'); + } + db.createObjectStore('caches', { + keyPath: 'dbIndex', + }); + }; +} +export function getCache(index) { + return new Promise(function (resolve, reject) { + var request = indexedDB.open('topology-caches'); // 默认版本 1 + request.onsuccess = function (event) { + var db = request.result; + if (!db.objectStoreNames.contains('caches')) { + resolve(null); + return; + } + var objectStore = db.transaction(['caches']).objectStore('caches'); + var get = objectStore.get(index); + get.onsuccess = function () { + // undefined 也传出去 + resolve(get.result); + }; + }; + request.onupgradeneeded = function (e) { + // 建表 + var db = e.target.result; + if (db.objectStoreNames.contains('caches')) { + db.deleteObjectStore('caches'); + } + db.createObjectStore('caches', { + keyPath: 'dbIndex', + }); + }; + }); +} +//# sourceMappingURL=cacheDB.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/cacheDB.js.map b/nezha-fronted/src/components/common/@topology/core/src/utils/cacheDB.js.map new file mode 100644 index 000000000..5fbf2d515 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/cacheDB.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cacheDB.js","sourceRoot":"","sources":["../../../../packages/core/src/utils/cacheDB.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/canvas.d.ts b/nezha-fronted/src/components/common/@topology/core/src/utils/canvas.d.ts new file mode 100644 index 000000000..7ea380552 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/canvas.d.ts @@ -0,0 +1,18 @@ +import { Point } from '../models/point'; +import { Pen } from '../models/pen'; +import { Node } from '../models/node'; +import { Line } from '../models/line'; +export declare function flatNodes(nodes: Pen[]): { + nodes: Node[]; + lines: Line[]; +}; +export declare function find(idOrTag: string, pens: Pen[]): Pen[]; +export declare function del(idOrTag: string, pens: Pen[]): Pen[]; +export declare function getParent(pens: Pen[], child: Pen): Node; +export declare function pointInRect(point: { + x: number; + y: number; +}, vertices: Point[]): boolean; +export declare function pointInLine(point: Point, from: Point, to: Point, padding?: number): boolean; +export declare function lineLen(from: Point, to: Point): number; +export declare function curveLen(from: Point, cp1: Point, cp2: Point, to: Point): number; diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/canvas.js b/nezha-fronted/src/components/common/@topology/core/src/utils/canvas.js new file mode 100644 index 000000000..4d1d6fe76 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/canvas.js @@ -0,0 +1,115 @@ +import { Point } from '../models/point'; +export function flatNodes(nodes) { + var result = { + nodes: [], + lines: [], + }; + for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) { + var item = nodes_1[_i]; + if (item.type) { + result.lines.push(item); + continue; + } + result.nodes.push(item); + if (item.children) { + result.nodes.push.apply(result.nodes, flatNodes(item.children).nodes); + result.lines.push.apply(result.lines, flatNodes(item.children).lines); + } + } + return result; +} +export function find(idOrTag, pens) { + var result = []; + pens.forEach(function (item) { + if (item.id === idOrTag || item.tags.indexOf(idOrTag) > -1) { + result.push(item); + } + if (item.children) { + result.push.apply(result, find(idOrTag, item.children)); + } + }); + return result; +} +export function del(idOrTag, pens) { + var deleted = []; + for (var i = 0; i < pens.length; i++) { + if (pens[i].id === idOrTag || pens[i].tags.indexOf(idOrTag) > -1) { + deleted.push(pens[i]); + pens.splice(i, 1); + --i; + } + else if (pens[i].children) { + deleted.push.apply(deleted, del(idOrTag, pens[i].children)); + } + } + return deleted; +} +export function getParent(pens, child) { + var parent; + for (var _i = 0, pens_1 = pens; _i < pens_1.length; _i++) { + var item = pens_1[_i]; + if (item.type) { + continue; + } + if (!item.children) { + continue; + } + for (var _a = 0, _b = item.children; _a < _b.length; _a++) { + var subItem = _b[_a]; + if (subItem.id === child.id) { + return item; + } + if (subItem.type) { + continue; + } + if (subItem.children) { + parent = getParent(subItem.children, child); + if (parent) { + return parent; + } + } + } + } + return parent; +} +export function pointInRect(point, vertices) { + if (vertices.length < 3) { + return false; + } + var isIn = false; + var last = vertices[vertices.length - 1]; + for (var _i = 0, vertices_1 = vertices; _i < vertices_1.length; _i++) { + var item = vertices_1[_i]; + if (((last.y > point.y) !== (item.y > point.y))) { + if (item.x + ((point.y - item.y) * (last.x - item.x)) / (last.y - item.y) > point.x) { + isIn = !isIn; + } + } + last = item; + } + return isIn; +} +export function pointInLine(point, from, to, padding) { + if (padding === void 0) { padding = 1; } + var angle = Math.atan2(from.y - to.y, to.x - from.x); + padding = padding > 5 ? padding : 5; + var x = Math.sin(angle) * padding; + var y = Math.cos(angle) * padding; + var points = [ + new Point(from.x - x, from.y - y), + new Point(to.x - x, to.y - y), + new Point(to.x + x, to.y + y), + new Point(from.x + x, from.y + y) + ]; + return pointInRect(point, points); +} +export function lineLen(from, to) { + var len = Math.sqrt(Math.pow(Math.abs(from.x - to.x), 2) + Math.pow(Math.abs(from.y - to.y), 2)); + return len | 0; +} +export function curveLen(from, cp1, cp2, to) { + var path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); + path.setAttribute('d', "M" + from.x + " " + from.y + " C" + cp1.x + " " + cp1.y + " " + cp2.x + " " + cp2.y + " " + to.x + " " + to.y); + return path.getTotalLength() | 0; +} +//# sourceMappingURL=canvas.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/canvas.js.map b/nezha-fronted/src/components/common/@topology/core/src/utils/canvas.js.map new file mode 100644 index 000000000..53ca5172d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/canvas.js.map @@ -0,0 +1 @@ +{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../../../packages/core/src/utils/canvas.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/clone.d.ts b/nezha-fronted/src/components/common/@topology/core/src/utils/clone.d.ts new file mode 100644 index 000000000..16c2580b6 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/clone.d.ts @@ -0,0 +1 @@ +export declare function deepClone(o?: any): any; diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/clone.js b/nezha-fronted/src/components/common/@topology/core/src/utils/clone.js new file mode 100644 index 000000000..32ef14905 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/clone.js @@ -0,0 +1,24 @@ +export function deepClone(o) { + if (Array.isArray(o)) { + var arr_1 = []; + o.forEach(function (item) { + arr_1.push(deepClone(item)); + }); + return arr_1; + } + else if (typeof o === 'object') { + if (o === null) { + return null; + } + else if (o.constructor === RegExp) { + return o; + } + var _o = {}; + for (var key in o) { + _o[key] = deepClone(o[key]); + } + return _o; + } + return o; +} +//# sourceMappingURL=clone.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/clone.js.map b/nezha-fronted/src/components/common/@topology/core/src/utils/clone.js.map new file mode 100644 index 000000000..8a5e9a3d6 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/clone.js.map @@ -0,0 +1 @@ +{"version":3,"file":"clone.js","sourceRoot":"","sources":["../../../../packages/core/src/utils/clone.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CAAC,CAAO;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACpB,IAAM,KAAG,GAAG,EAAE,CAAC;QACf,CAAC,CAAC,OAAO,CAAC,UAAC,IAAI;YACb,KAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,OAAO,KAAG,CAAC;KACZ;SAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;QAChC,IAAI,CAAC,KAAK,IAAI,EAAE;YACd,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,CAAC,CAAC,WAAW,KAAK,MAAM,EAAE;YACnC,OAAO,CAAC,CAAC;SACV;QACD,IAAM,EAAE,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,GAAG,IAAI,CAAC,EAAE;YACjB,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC7B;QACD,OAAO,EAAE,CAAC;KACX;IAED,OAAO,CAAC,CAAC;AACX,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/dom.d.ts b/nezha-fronted/src/components/common/@topology/core/src/utils/dom.d.ts new file mode 100644 index 000000000..bc2b159db --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/dom.d.ts @@ -0,0 +1,4 @@ +import { Node } from '../models/node'; +export declare function createDiv(node: Node): HTMLDivElement; +export declare function createInput(node: Node): HTMLInputElement; +export declare function loadJS(url: string, callback?: () => void, render?: boolean): void; diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/dom.js b/nezha-fronted/src/components/common/@topology/core/src/utils/dom.js new file mode 100644 index 000000000..9b4d7bc9c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/dom.js @@ -0,0 +1,45 @@ +import { Store } from 'le5le-store'; +export function createDiv(node) { + var div = document.createElement('div'); + div.style.position = 'absolute'; + div.style.outline = 'none'; + div.style.left = '-9999px'; + div.style.bottom = '-9999px'; + div.style.width = node.rect.width + 'px'; + div.style.height = node.rect.height + 'px'; + if (node.elementId) { + div.id = node.elementId; + } + return div; +} +export function createInput(node) { + var input = document.createElement('input'); + input.style.position = 'absolute'; + input.style.outline = 'none'; + input.style.left = '-9999px'; + input.style.bottom = '-9999px'; + input.style.width = node.rect.width + 'px'; + input.style.height = node.rect.height + 'px'; + input.style.border = '1px solid #cdcdcd'; + input.classList.add('set-text-input'); + if (node.elementId) { + input.id = node.elementId; + } + return input; +} +export function loadJS(url, callback, render) { + var loaderScript = document.createElement('script'); + loaderScript.type = 'text/javascript'; + loaderScript.src = url; + loaderScript.addEventListener('load', function () { + if (callback) { + callback(); + } + // how to do + if (render) { + Store.set('LT:render', true); + } + }); + document.body.appendChild(loaderScript); +} +//# sourceMappingURL=dom.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/dom.js.map b/nezha-fronted/src/components/common/@topology/core/src/utils/dom.js.map new file mode 100644 index 000000000..df2240d40 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/dom.js.map @@ -0,0 +1 @@ +{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../../../packages/core/src/utils/dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIpC,MAAM,UAAU,SAAS,CAAC,IAAU;IAClC,IAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IAChC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;IAC3B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACzC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IAC3C,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAU;IACpC,IAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IAClC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7B,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;IAC/B,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IAC3C,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IAC7C,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,mBAAmB,CAAC;IACzC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;KAC3B;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAW,EAAE,QAAqB,EAAE,MAAgB;IACzE,IAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtD,YAAY,CAAC,IAAI,GAAG,iBAAiB,CAAC;IACtC,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC;IACvB,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE;QACpC,IAAI,QAAQ,EAAE;YACZ,QAAQ,EAAE,CAAC;SACZ;QACD,YAAY;QACZ,IAAI,MAAM,EAAE;YACV,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SAC9B;IACH,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AAC1C,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/index.d.ts b/nezha-fronted/src/components/common/@topology/core/src/utils/index.d.ts new file mode 100644 index 000000000..e1689307a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/index.d.ts @@ -0,0 +1,8 @@ +export * from './canvas'; +export * from './dom'; +export * from './math'; +export * from './rect'; +export * from './uuid'; +export * from './browser'; +export * from './clone'; +export * from './cacheDB'; diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/index.js b/nezha-fronted/src/components/common/@topology/core/src/utils/index.js new file mode 100644 index 000000000..8bdeed728 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/index.js @@ -0,0 +1,9 @@ +export * from './canvas'; +export * from './dom'; +export * from './math'; +export * from './rect'; +export * from './uuid'; +export * from './browser'; +export * from './clone'; +export * from './cacheDB'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/index.js.map b/nezha-fronted/src/components/common/@topology/core/src/utils/index.js.map new file mode 100644 index 000000000..bc5de691e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/core/src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/math.d.ts b/nezha-fronted/src/components/common/@topology/core/src/utils/math.d.ts new file mode 100644 index 000000000..77345aea4 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/math.d.ts @@ -0,0 +1,11 @@ +export declare function pSBCr(d: any): any; +export declare function pSBC(p: any, c0: any, c1?: any, l?: any): string; +export declare function rgba(p: number, c: string): string; +export declare function abs(num: number, percent: number | string): number; +export declare function distance(pt1: { + x: number; + y: number; +}, pt2: { + x: number; + y: number; +}): number; diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/math.js b/nezha-fronted/src/components/common/@topology/core/src/utils/math.js new file mode 100644 index 000000000..aa8f0baa1 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/math.js @@ -0,0 +1,74 @@ +// pSBC - Shade Blend Convert - Version 4.0 - 02/18/2019 +// https://github.com/PimpTrizkit/PJs/edit/master/pSBC.js +export function pSBCr(d) { + var i = parseInt, m = Math.round; + var n = d.length, x = {}; + if (n > 9) { + var _a = (d = d.split(',')), r = _a[0], g = _a[1], b = _a[2], a = _a[3]; + n = d.length; + if (n < 3 || n > 4) + return null; + (x.r = i(r[3] == 'a' ? r.slice(5) : r.slice(4))), (x.g = i(g)), (x.b = i(b)), (x.a = a ? parseFloat(a) : -1); + } + else { + if (n == 8 || n == 6 || n < 4) + return null; + if (n < 6) + d = '#' + d[1] + d[1] + d[2] + d[2] + d[3] + d[3] + (n > 4 ? d[4] + d[4] : ''); + d = i(d.slice(1), 16); + if (n == 9 || n == 5) + (x.r = (d >> 24) & 255), (x.g = (d >> 16) & 255), (x.b = (d >> 8) & 255), (x.a = m((d & 255) / 0.255) / 1000); + else + (x.r = d >> 16), (x.g = (d >> 8) & 255), (x.b = d & 255), (x.a = -1); + } + return x; +} +export function pSBC(p, c0, c1, l) { + var r, g, b, P, f, t, h, m = Math.round, a = typeof c1 == 'string'; + if (typeof p != 'number' || p < -1 || p > 1 || typeof c0 != 'string' || (c0[0] != 'r' && c0[0] != '#') || (c1 && !a)) + return null; + (h = c0.length > 9), + (h = a ? (c1.length > 9 ? true : c1 == 'c' ? !h : false) : h), + (f = pSBCr(c0)), + (P = p < 0), + (t = c1 && c1 != 'c' ? pSBCr(c1) : P ? { r: 0, g: 0, b: 0, a: -1 } : { r: 255, g: 255, b: 255, a: -1 }), + (p = P ? p * -1 : p), + (P = 1 - p); + if (!f || !t) + return null; + if (l) + (r = m(P * f.r + p * t.r)), (g = m(P * f.g + p * t.g)), (b = m(P * f.b + p * t.b)); + else + (r = m(Math.pow((P * Math.pow(f.r, 2) + p * Math.pow(t.r, 2)), 0.5))), + (g = m(Math.pow((P * Math.pow(f.g, 2) + p * Math.pow(t.g, 2)), 0.5))), + (b = m(Math.pow((P * Math.pow(f.b, 2) + p * Math.pow(t.b, 2)), 0.5))); + (a = f.a), (t = t.a), (f = a >= 0 || t >= 0), (a = f ? (a < 0 ? t : t < 0 ? a : a * P + t * p) : 0); + if (h) + return 'rgb' + (f ? 'a(' : '(') + r + ',' + g + ',' + b + (f ? ',' + m(a * 1000) / 1000 : '') + ')'; + else + return ('#' + + (4294967296 + r * 16777216 + g * 65536 + b * 256 + (f ? m(a * 255) : 0)).toString(16).slice(1, f ? undefined : -2)); +} +export function rgba(p, c) { + var f = pSBCr(c) || { r: 0, g: 0, b: 0 }; + if (f.a < 0) { + return "rgba(" + f.r + "," + f.g + "," + f.b + "," + p + ")"; + } + return "rgba(" + f.r + "," + f.g + "," + f.b + "," + (p + f.a) + ")"; +} +export function abs(num, percent) { + if (+percent) { + return +percent; + } + if (!percent || percent[percent.length - 1] !== '%') { + return 0; + } + percent = percent.substr(0, percent.length - 1); + return (num * +percent) / 100; +} +export function distance(pt1, pt2) { + var x = pt1.x - pt2.x; + var y = pt1.y - pt2.y; + return Math.sqrt(x * x + y * y); +} +//# sourceMappingURL=math.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/math.js.map b/nezha-fronted/src/components/common/@topology/core/src/utils/math.js.map new file mode 100644 index 000000000..ddeef3770 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/math.js.map @@ -0,0 +1 @@ +{"version":3,"file":"math.js","sourceRoot":"","sources":["../../../../packages/core/src/utils/math.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/padding.d.ts b/nezha-fronted/src/components/common/@topology/core/src/utils/padding.d.ts new file mode 100644 index 000000000..cf74940fd --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/padding.d.ts @@ -0,0 +1,7 @@ +import { Padding } from '../options'; +/** + * turn padding into [top, right, bottom, left] + * @param {Number|Array} padding input padding + * @return {array} output + */ +export declare const formatPadding: (padding: Padding) => number[]; diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/padding.js b/nezha-fronted/src/components/common/@topology/core/src/utils/padding.js new file mode 100644 index 000000000..3e9842b5d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/padding.js @@ -0,0 +1,47 @@ +/** + * turn padding into [top, right, bottom, left] + * @param {Number|Array} padding input padding + * @return {array} output + */ +export var formatPadding = function (padding) { + var top = 0; + var left = 0; + var right = 0; + var bottom = 0; + if (typeof padding === 'number') { + top = left = right = bottom = padding; + } + else if (typeof padding === 'string') { + var intPadding = parseInt(padding, 10); + top = left = right = bottom = intPadding; + } + else if (Array.isArray(padding)) { + top = padding[0]; + right = !isNil(padding[1]) ? padding[1] : padding[0]; + bottom = !isNil(padding[2]) ? padding[2] : padding[0]; + left = !isNil(padding[3]) ? padding[3] : right; + } + return [top, right, bottom, left]; +}; +/** + * Checks if `value` is `null` or `undefined`. + * + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is nullish, else `false`. + * @example + * + * isNil(null) + * // => true + * + * isNil(void 0) + * // => true + * + * isNil(NaN) + * // => false + */ +function isNil(value) { + return value == null; +} +//# sourceMappingURL=padding.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/padding.js.map b/nezha-fronted/src/components/common/@topology/core/src/utils/padding.js.map new file mode 100644 index 000000000..f214b0a4d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/padding.js.map @@ -0,0 +1 @@ +{"version":3,"file":"padding.js","sourceRoot":"","sources":["../../../../packages/core/src/utils/padding.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,OAAgB;IAC5C,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;KACvC;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QACtC,IAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzC,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;KAC1C;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACjC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACjB,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;KAChD;IACD,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,KAAK,CAAC,KAAU;IACvB,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/rect.d.ts b/nezha-fronted/src/components/common/@topology/core/src/utils/rect.d.ts new file mode 100644 index 000000000..93247b9d3 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/rect.d.ts @@ -0,0 +1,18 @@ +import { Point } from '../models/point'; +import { Pen } from '../models/pen'; +import { Rect } from '../models/rect'; +/** + * 不包含画布偏移量 + * */ +export declare function getRect(pens: Pen[]): Rect; +export declare function getBboxOfPoints(points: Point[]): { + x1: number; + y1: number; + x2: number; + y2: number; +}; +export declare function rectInRect(source: Rect, target: Rect): boolean; +/** + * 合并大小全部传入的 rects + * */ +export declare function getMoreRect(...rects: Rect[]): Rect; diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/rect.js b/nezha-fronted/src/components/common/@topology/core/src/utils/rect.js new file mode 100644 index 000000000..481c2bdc4 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/rect.js @@ -0,0 +1,96 @@ +import { Node } from '../models/node'; +import { Line } from '../models/line'; +import { getBezierPoint } from '../middles/lines/curve'; +import { Rect } from '../models/rect'; +/** + * 不包含画布偏移量 + * */ +export function getRect(pens) { + var points = []; + for (var _i = 0, pens_1 = pens; _i < pens_1.length; _i++) { + var item = pens_1[_i]; + if (item instanceof Node) { + var pts = item.rect.toPoints(); + if (item.rotate) { + for (var _a = 0, pts_1 = pts; _a < pts_1.length; _a++) { + var pt = pts_1[_a]; + pt.rotate(item.rotate, item.rect.center); + } + } + points.push.apply(points, pts); + } + else if (item instanceof Line) { + if (item.children) { + item.children.forEach(function (child) { + points.push(child.from); + points.push(child.to); + if (Array.isArray(child.controlPoints)) { + points.push.apply(points, child.controlPoints); + } + if (child.name === 'curve') { + for (var i = 0.01; i < 1; i += 0.02) { + points.push(getBezierPoint(i, child.from, child.controlPoints[0], child.controlPoints[1], child.to)); + } + } + }); + } + else if (item.from) { + points.push(item.from); + points.push(item.to); + if (Array.isArray(item.controlPoints)) { + points.push.apply(points, item.controlPoints); + } + if (item.name === 'curve') { + for (var i = 0.01; i < 1; i += 0.02) { + points.push(getBezierPoint(i, item.from, item.controlPoints[0], item.controlPoints[1], item.to)); + } + } + } + } + } + var _b = getBboxOfPoints(points), x1 = _b.x1, y1 = _b.y1, x2 = _b.x2, y2 = _b.y2; + return new Rect(x1, y1, x2 - x1, y2 - y1); +} +export function getBboxOfPoints(points) { + var x1 = Infinity; + var y1 = Infinity; + var x2 = -Infinity; + var y2 = -Infinity; + for (var _i = 0, points_1 = points; _i < points_1.length; _i++) { + var item = points_1[_i]; + var x = item.x, y = item.y; + if (isNaN(x) || isNaN(y)) + continue; + x1 = Math.min(x1, x); + y1 = Math.min(y1, y); + x2 = Math.max(x2, x); + y2 = Math.max(y2, y); + } + return { x1: x1, y1: y1, x2: x2, y2: y2 }; +} +export function rectInRect(source, target) { + return !( + // 括号内表明 在范围外的 四个区域 + source.x > target.ex || source.ex < target.x || source.ey < target.y || source.y > target.ey); +} +/** + * 合并大小全部传入的 rects + * */ +export function getMoreRect() { + var rects = []; + for (var _i = 0; _i < arguments.length; _i++) { + rects[_i] = arguments[_i]; + } + var rect = new Rect(rects[0].x, rects[0].y, rects[0].width, rects[0].height); + for (var i = 1; i < rects.length; i++) { + var currentRect = rects[i]; + if (currentRect) { + rect.x > currentRect.x && (rect.x = currentRect.x); + rect.y > currentRect.y && (rect.y = currentRect.y); + rect.ex < currentRect.ex && (rect.ex = currentRect.ex); + rect.ey < currentRect.ey && (rect.ey = currentRect.ey); + } + } + return new Rect(rect.x, rect.y, rect.ex - rect.x, rect.ey - rect.y); +} +//# sourceMappingURL=rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/rect.js.map b/nezha-fronted/src/components/common/@topology/core/src/utils/rect.js.map new file mode 100644 index 000000000..6bef02400 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"rect.js","sourceRoot":"","sources":["../../../../packages/core/src/utils/rect.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/uuid.d.ts b/nezha-fronted/src/components/common/@topology/core/src/utils/uuid.d.ts new file mode 100644 index 000000000..802d67846 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/uuid.d.ts @@ -0,0 +1,4 @@ +export declare function s4(): string; +export declare function s8(): string; +export declare function s12(): string; +export declare function s16(): string; diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/uuid.js b/nezha-fronted/src/components/common/@topology/core/src/utils/uuid.js new file mode 100644 index 000000000..f70ffdf27 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/uuid.js @@ -0,0 +1,13 @@ +export function s4() { + return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); +} +export function s8() { + return (((1 + Math.random()) * 0x100000000) | 0).toString(16).substring(1); +} +export function s12() { + return s4() + s8(); +} +export function s16() { + return s8() + s8(); +} +//# sourceMappingURL=uuid.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/uuid.js.map b/nezha-fronted/src/components/common/@topology/core/src/utils/uuid.js.map new file mode 100644 index 000000000..6ffe7787e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/uuid.js.map @@ -0,0 +1 @@ +{"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../../../packages/core/src/utils/uuid.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,EAAE;IAChB,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,EAAE;IAChB,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,GAAG;IACjB,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,GAAG;IACjB,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/index.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/index.d.ts new file mode 100644 index 000000000..2644cea16 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/index.d.ts @@ -0,0 +1,12 @@ +export * from './src/data'; +export * from './src/subprocess'; +export * from './src/db'; +export * from './src/document'; +export * from './src/internalStorage'; +export * from './src/externStorage'; +export * from './src/queue'; +export * from './src/manually'; +export * from './src/display'; +export * from './src/parallel'; +export * from './src/comment'; +export * from './src/register'; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/index.js new file mode 100644 index 000000000..2e942cbe9 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/index.js @@ -0,0 +1,13 @@ +export * from './src/data'; +export * from './src/subprocess'; +export * from './src/db'; +export * from './src/document'; +export * from './src/internalStorage'; +export * from './src/externStorage'; +export * from './src/queue'; +export * from './src/manually'; +export * from './src/display'; +export * from './src/parallel'; +export * from './src/comment'; +export * from './src/register'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/index.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/index.js.map new file mode 100644 index 000000000..34aca40a5 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../packages/flow-diagram/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/package.json b/nezha-fronted/src/components/common/@topology/flow-diagram/package.json new file mode 100644 index 000000000..155d1e7ea --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/package.json @@ -0,0 +1,65 @@ +{ + "_args": [ + [ + "@topology/flow-diagram@0.3.0", + "D:\\a\\nezha-fronted\\nezha-fronted" + ] + ], + "_from": "@topology/flow-diagram@0.3.0", + "_id": "@topology/flow-diagram@0.3.0", + "_inBundle": false, + "_integrity": "sha512-GPV+CIbclzYgCO/lMePDfLY0OzAr1+7nyzMOVdABXezvlIw/zm59+2/KYQu5XGUqBoqjvjdrd4hbN8eYAKWZQw==", + "_location": "/@topology/flow-diagram", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@topology/flow-diagram@0.3.0", + "name": "@topology/flow-diagram", + "escapedName": "@topology%2fflow-diagram", + "scope": "@topology", + "rawSpec": "0.3.0", + "saveSpec": null, + "fetchSpec": "0.3.0" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/@topology/flow-diagram/-/flow-diagram-0.3.0.tgz", + "_spec": "0.3.0", + "_where": "D:\\a\\nezha-fronted\\nezha-fronted", + "author": { + "name": "alsmile123@qq.com" + }, + "bugs": { + "url": "https://github.com/le5le-com/topology/issues" + }, + "description": "A flow diagram tool using le5le-topology.", + "gitHead": "78f2a53ca1839c89b56e2e498d17ba4eb987ad14", + "homepage": "https://github.com/le5le-com/topology#readme", + "keywords": [ + "topology", + "flow", + "diagram", + "canvas" + ], + "license": "ISC", + "main": "index.js", + "name": "@topology/flow-diagram", + "peerDependencies": { + "@topology/core": "^0.3.0" + }, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/le5le-com/topology.git" + }, + "scripts": { + "build": "tsc && npm run copy", + "copy": "copyfiles package.json ../../dist/flow-diagram/" + }, + "types": "index.d.ts", + "version": "0.3.0" +} diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.anchor.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.anchor.d.ts new file mode 100644 index 000000000..cc747b06d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowCommentAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.anchor.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.anchor.js new file mode 100644 index 000000000..4aea35c9f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.anchor.js @@ -0,0 +1,5 @@ +import { Point, Direction } from '@topology/core'; +export function flowCommentAnchors(node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); +} +//# sourceMappingURL=comment.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.anchor.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.anchor.js.map new file mode 100644 index 000000000..7555ce4da --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"comment.anchor.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/comment/comment.anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAQ,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,UAAU,kBAAkB,CAAC,IAAU;IAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAChG,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.d.ts new file mode 100644 index 000000000..f22004ac6 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowComment(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.js new file mode 100644 index 000000000..fe057b393 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.js @@ -0,0 +1,10 @@ +export function flowComment(ctx, node) { + ctx.beginPath(); + var offsetX = node.rect.width / 4; + ctx.moveTo(node.rect.x + offsetX, node.rect.y); + ctx.lineTo(node.rect.x, node.rect.y); + ctx.lineTo(node.rect.x, node.rect.ey); + ctx.lineTo(node.rect.x + offsetX, node.rect.ey); + ctx.stroke(); +} +//# sourceMappingURL=comment.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.js.map new file mode 100644 index 000000000..8a7fb246e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.js.map @@ -0,0 +1 @@ +{"version":3,"file":"comment.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/comment/comment.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,GAA6B,EAAE,IAAU;IACnE,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACpC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/index.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/index.d.ts new file mode 100644 index 000000000..ecc460847 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/index.d.ts @@ -0,0 +1,2 @@ +export * from './comment'; +export * from './comment.anchor'; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/index.js new file mode 100644 index 000000000..9d1302143 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/index.js @@ -0,0 +1,3 @@ +export * from './comment'; +export * from './comment.anchor'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/index.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/index.js.map new file mode 100644 index 000000000..fc213ba9a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/comment/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.anchor.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.anchor.d.ts new file mode 100644 index 000000000..d47987ead --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowDataAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.anchor.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.anchor.js new file mode 100644 index 000000000..514f86e28 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.anchor.js @@ -0,0 +1,8 @@ +import { Point, Direction } from '@topology/core'; +export function flowDataAnchors(node) { + node.anchors.push(new Point(node.rect.x + node.rect.width / 14, node.rect.y + node.rect.height / 2, Direction.Left)); + node.anchors.push(new Point(node.rect.x + (node.rect.width * 4) / 7, node.rect.y, Direction.Up)); + node.anchors.push(new Point(node.rect.x + (node.rect.width * 13) / 14, node.rect.y + node.rect.height / 2, Direction.Right)); + node.anchors.push(new Point(node.rect.x + (node.rect.width * 3) / 7, node.rect.ey, Direction.Bottom)); +} +//# sourceMappingURL=data.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.anchor.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.anchor.js.map new file mode 100644 index 000000000..ab251c2b0 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"data.anchor.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/data/data.anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAQ,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACrH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACjG,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAC1G,CAAC;IAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AACxG,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.d.ts new file mode 100644 index 000000000..010ef3c6e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowData(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.js new file mode 100644 index 000000000..d49a37784 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.js @@ -0,0 +1,12 @@ +export function flowData(ctx, node) { + ctx.beginPath(); + var offsetX = node.rect.width / 7; + ctx.moveTo(node.rect.x + offsetX, node.rect.y); + ctx.lineTo(node.rect.ex, node.rect.y); + ctx.lineTo(node.rect.x + node.rect.width - offsetX, node.rect.ey); + ctx.lineTo(node.rect.x, node.rect.ey); + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=data.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.js.map new file mode 100644 index 000000000..4119fe9c1 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.js.map @@ -0,0 +1 @@ +{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/data/data.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,QAAQ,CAAC,GAA6B,EAAE,IAAU;IAChE,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACpC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.rect.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.rect.d.ts new file mode 100644 index 000000000..d2ccfabe2 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare function flowDataIconRect(node: Node): void; +export declare function flowDataTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.rect.js new file mode 100644 index 000000000..ffc557720 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.rect.js @@ -0,0 +1,9 @@ +import { Rect } from '@topology/core'; +export function flowDataIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function flowDataTextRect(node) { + node.textRect = new Rect(node.rect.x + node.rect.width / 7, node.rect.y, (node.rect.width * 5) / 7, node.rect.height); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=data.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.rect.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.rect.js.map new file mode 100644 index 000000000..f9d483372 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"data.rect.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/data/data.rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,gBAAgB,CAAC,IAAU;IACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAU;IACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CACjB,CAAC;IACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/index.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/index.d.ts new file mode 100644 index 000000000..53d614425 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/index.d.ts @@ -0,0 +1,3 @@ +export * from './data'; +export * from './data.anchor'; +export * from './data.rect'; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/index.js new file mode 100644 index 000000000..788eb0add --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/index.js @@ -0,0 +1,4 @@ +export * from './data'; +export * from './data.anchor'; +export * from './data.rect'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/index.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/index.js.map new file mode 100644 index 000000000..5a8ca8df7 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/data/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.d.ts new file mode 100644 index 000000000..e885c08bd --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowDb(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.js new file mode 100644 index 000000000..28f1ab1cc --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.js @@ -0,0 +1,14 @@ +export function flowDb(ctx, node) { + ctx.beginPath(); + var offsetY = node.rect.height / 7; + ctx.moveTo(node.rect.x, node.rect.y + offsetY); + ctx.bezierCurveTo(node.rect.x, (node.rect.y - offsetY / 2) | 0, node.rect.ex, (node.rect.y - offsetY / 2) | 0, node.rect.ex, node.rect.y + offsetY); + ctx.lineTo(node.rect.ex, node.rect.ey - offsetY); + ctx.bezierCurveTo(node.rect.ex, (node.rect.ey + offsetY / 2) | 0, node.rect.x, (node.rect.ey + offsetY / 2) | 0, node.rect.x, node.rect.ey - offsetY); + ctx.closePath(); + ctx.moveTo(node.rect.x, node.rect.ey - offsetY); + ctx.bezierCurveTo(node.rect.x, (node.rect.ey - offsetY * 2) | 0, node.rect.ex, (node.rect.ey - offsetY * 2) | 0, node.rect.ex, node.rect.ey - offsetY); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=db.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.js.map new file mode 100644 index 000000000..7213e9e0c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.js.map @@ -0,0 +1 @@ +{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/db/db.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,MAAM,CAAC,GAA6B,EAAE,IAAU;IAC9D,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;IAC/C,GAAG,CAAC,aAAa,CACf,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,EAC/B,IAAI,CAAC,IAAI,CAAC,EAAE,EACZ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,EAC/B,IAAI,CAAC,IAAI,CAAC,EAAE,EACZ,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CACtB,CAAC;IACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;IACjD,GAAG,CAAC,aAAa,CACf,IAAI,CAAC,IAAI,CAAC,EAAE,EACZ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,EAChC,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,EAChC,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CACvB,CAAC;IACF,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;IAChD,GAAG,CAAC,aAAa,CACf,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,EAChC,IAAI,CAAC,IAAI,CAAC,EAAE,EACZ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,EAChC,IAAI,CAAC,IAAI,CAAC,EAAE,EACZ,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CACvB,CAAC;IACF,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.rect.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.rect.d.ts new file mode 100644 index 000000000..db5025bd8 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare function flowDbIconRect(node: Node): void; +export declare function flowDbTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.rect.js new file mode 100644 index 000000000..2184e95f1 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.rect.js @@ -0,0 +1,9 @@ +import { Rect } from '@topology/core'; +export function flowDbIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function flowDbTextRect(node) { + node.textRect = new Rect(node.rect.x, node.rect.y + node.rect.height / 8, node.rect.width, (node.rect.height * 5) / 8); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=db.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.rect.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.rect.js.map new file mode 100644 index 000000000..f806be644 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"db.rect.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/db/db.rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,cAAc,CAAC,IAAU;IACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAU;IACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAClC,IAAI,CAAC,IAAI,CAAC,KAAK,EACf,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAC3B,CAAC;IACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/index.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/index.d.ts new file mode 100644 index 000000000..5042e91e4 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/index.d.ts @@ -0,0 +1,2 @@ +export * from './db'; +export * from './db.rect'; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/index.js new file mode 100644 index 000000000..08e40a7ad --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/index.js @@ -0,0 +1,3 @@ +export * from './db'; +export * from './db.rect'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/index.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/index.js.map new file mode 100644 index 000000000..6c5f705a8 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/db/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAC;AACrB,cAAc,WAAW,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.anchor.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.anchor.d.ts new file mode 100644 index 000000000..52eaa9612 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowDisplayAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.anchor.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.anchor.js new file mode 100644 index 000000000..466f1e9bf --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.anchor.js @@ -0,0 +1,8 @@ +import { Point, Direction } from '@topology/core'; +export function flowDisplayAnchors(node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)); +} +//# sourceMappingURL=display.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.anchor.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.anchor.js.map new file mode 100644 index 000000000..1d0df95fb --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"display.anchor.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/display/display.anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAQ,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,UAAU,kBAAkB,CAAC,IAAU;IAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACjH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AACpH,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.d.ts new file mode 100644 index 000000000..09a760cd6 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowDisplay(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.js new file mode 100644 index 000000000..9a2f0e31c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.js @@ -0,0 +1,13 @@ +export function flowDisplay(ctx, node) { + ctx.beginPath(); + var offsetX = node.rect.width / 8; + ctx.moveTo(node.rect.x + offsetX, node.rect.y); + ctx.lineTo(node.rect.ex - offsetX, node.rect.y); + ctx.bezierCurveTo(node.rect.ex + offsetX / 3, node.rect.y, node.rect.ex + offsetX / 3, node.rect.ey, node.rect.ex - offsetX, node.rect.ey); + ctx.lineTo(node.rect.x + offsetX, node.rect.ey); + ctx.lineTo(node.rect.x, node.rect.y + node.rect.height / 2); + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=display.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.js.map new file mode 100644 index 000000000..5d14791bd --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.js.map @@ -0,0 +1 @@ +{"version":3,"file":"display.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/display/display.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,GAA6B,EAAE,IAAU;IACnE,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACpC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,GAAG,CAAC,aAAa,CACf,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,GAAG,CAAC,EAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,GAAG,CAAC,EAC1B,IAAI,CAAC,IAAI,CAAC,EAAE,EACZ,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EACtB,IAAI,CAAC,IAAI,CAAC,EAAE,CACb,CAAC;IACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5D,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.rect.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.rect.d.ts new file mode 100644 index 000000000..fb7ea8cdc --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare function flowDisplayIconRect(node: Node): void; +export declare function flowDisplayTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.rect.js new file mode 100644 index 000000000..3ab0553de --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.rect.js @@ -0,0 +1,9 @@ +import { Rect } from '@topology/core'; +export function flowDisplayIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function flowDisplayTextRect(node) { + node.textRect = new Rect(node.rect.x + node.rect.width / 8, node.rect.y, (node.rect.width * 3) / 4, node.rect.height); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=display.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.rect.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.rect.js.map new file mode 100644 index 000000000..e73c39d2e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"display.rect.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/display/display.rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,mBAAmB,CAAC,IAAU;IAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAU;IAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CACjB,CAAC;IACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/index.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/index.d.ts new file mode 100644 index 000000000..ebb5bde05 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/index.d.ts @@ -0,0 +1,3 @@ +export * from './display'; +export * from './display.anchor'; +export * from './display.rect'; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/index.js new file mode 100644 index 000000000..7b536b56b --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/index.js @@ -0,0 +1,4 @@ +export * from './display'; +export * from './display.anchor'; +export * from './display.rect'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/index.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/index.js.map new file mode 100644 index 000000000..afed6e476 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/display/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.anchor.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.anchor.d.ts new file mode 100644 index 000000000..b851e2532 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowDocumentAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.anchor.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.anchor.js new file mode 100644 index 000000000..5da99c502 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.anchor.js @@ -0,0 +1,8 @@ +import { Point, Direction } from '@topology/core'; +export function flowDocumentAnchors(node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + (node.rect.height * 6) / 7, Direction.Bottom)); +} +//# sourceMappingURL=document.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.anchor.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.anchor.js.map new file mode 100644 index 000000000..36018cb64 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"document.anchor.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/document/document.anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,UAAU,mBAAmB,CAAC,IAAU;IAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACjH,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CACzG,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.d.ts new file mode 100644 index 000000000..8dd15fbf8 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowDocument(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.js new file mode 100644 index 000000000..5871cc392 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.js @@ -0,0 +1,15 @@ +export function flowDocument(ctx, node) { + ctx.beginPath(); + var x = node.rect.x + node.rect.width / 2; + var y = node.rect.y + (node.rect.height * 6) / 7; + var offsetY = node.rect.height / 6; + ctx.moveTo(node.rect.x, node.rect.y); + ctx.lineTo(node.rect.ex, node.rect.y); + ctx.lineTo(node.rect.ex, y); + ctx.bezierCurveTo(node.rect.ex - 20, y - offsetY, x + node.rect.width / 5, y - offsetY, x, y); + ctx.bezierCurveTo(x - node.rect.width / 5, y + offsetY, node.rect.x, y + offsetY, node.rect.x, y); + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=document.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.js.map new file mode 100644 index 000000000..f2cec39d8 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.js.map @@ -0,0 +1 @@ +{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/document/document.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAAC,GAA6B,EAAE,IAAU;IACpE,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,IAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC5C,IAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5B,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9F,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClG,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.rect.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.rect.d.ts new file mode 100644 index 000000000..fd0c9f339 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare function flowDocumentIconRect(node: Node): void; +export declare function flowDocumentTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.rect.js new file mode 100644 index 000000000..8e2e9c55f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.rect.js @@ -0,0 +1,9 @@ +import { Rect } from '@topology/core'; +export function flowDocumentIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function flowDocumentTextRect(node) { + node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, (node.rect.height * 5) / 7); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=document.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.rect.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.rect.js.map new file mode 100644 index 000000000..373a1119d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"document.rect.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/document/document.rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,oBAAoB,CAAC,IAAU;IAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAU;IAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/index.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/index.d.ts new file mode 100644 index 000000000..8458b15e3 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/index.d.ts @@ -0,0 +1,3 @@ +export * from './document'; +export * from './document.anchor'; +export * from './document.rect'; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/index.js new file mode 100644 index 000000000..73fa82f66 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/index.js @@ -0,0 +1,4 @@ +export * from './document'; +export * from './document.anchor'; +export * from './document.rect'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/index.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/index.js.map new file mode 100644 index 000000000..3e06a1527 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/document/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.anchor.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.anchor.d.ts new file mode 100644 index 000000000..a2659f6d0 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowExternStorageAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.anchor.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.anchor.js new file mode 100644 index 000000000..10f56ba01 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.anchor.js @@ -0,0 +1,8 @@ +import { Point, Direction } from '@topology/core'; +export function flowExternStorageAnchors(node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); + node.anchors.push(new Point(node.rect.x + (node.rect.width * 8) / 15, node.rect.y, Direction.Up)); + node.anchors.push(new Point(node.rect.x + (node.rect.width * 13) / 14, node.rect.y + node.rect.height / 2, Direction.Right)); + node.anchors.push(new Point(node.rect.x + (node.rect.width * 8) / 15, node.rect.ey, Direction.Bottom)); +} +//# sourceMappingURL=externStorage.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.anchor.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.anchor.js.map new file mode 100644 index 000000000..12acc4ab8 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"externStorage.anchor.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/externStorage/externStorage.anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,UAAU,wBAAwB,CAAC,IAAU;IACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAClG,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAC1G,CAAC;IAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AACzG,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.d.ts new file mode 100644 index 000000000..c2530d3a4 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowExternStorage(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.js new file mode 100644 index 000000000..98394c309 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.js @@ -0,0 +1,12 @@ +export function flowExternStorage(ctx, node) { + ctx.beginPath(); + var offsetX = node.rect.width / 10; + ctx.moveTo(node.rect.x + offsetX * 2, node.rect.y); + ctx.bezierCurveTo(node.rect.x - (offsetX * 2) / 3, node.rect.y, node.rect.x - (offsetX * 2) / 3, node.rect.ey, node.rect.x + offsetX * 2, node.rect.ey); + ctx.lineTo(node.rect.ex, node.rect.ey); + ctx.bezierCurveTo(node.rect.ex - offsetX, node.rect.ey, node.rect.ex - offsetX, node.rect.y, node.rect.ex, node.rect.y); + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=externStorage.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.js.map new file mode 100644 index 000000000..013d68710 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"externStorage.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/externStorage/externStorage.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAAC,GAA6B,EAAE,IAAU;IACzE,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACrC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnD,GAAG,CAAC,aAAa,CACf,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,EAC/B,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,EAC/B,IAAI,CAAC,IAAI,CAAC,EAAE,EACZ,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,EACzB,IAAI,CAAC,IAAI,CAAC,EAAE,CACb,CAAC;IACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,aAAa,CACf,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EACtB,IAAI,CAAC,IAAI,CAAC,EAAE,EACZ,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EACtB,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,IAAI,CAAC,IAAI,CAAC,EAAE,EACZ,IAAI,CAAC,IAAI,CAAC,CAAC,CACZ,CAAC;IACF,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.rect.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.rect.d.ts new file mode 100644 index 000000000..8194d4d4a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare function flowExternStorageIconRect(node: Node): void; +export declare function flowExternStorageTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.rect.js new file mode 100644 index 000000000..7217d76e0 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.rect.js @@ -0,0 +1,9 @@ +import { Rect } from '@topology/core'; +export function flowExternStorageIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function flowExternStorageTextRect(node) { + node.textRect = new Rect(node.rect.x + node.rect.width / 6, node.rect.y, (node.rect.width * 3) / 4, node.rect.height); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=externStorage.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.rect.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.rect.js.map new file mode 100644 index 000000000..6fad73f98 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"externStorage.rect.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/externStorage/externStorage.rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,yBAAyB,CAAC,IAAU;IAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAU;IAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CACjB,CAAC;IACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/index.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/index.d.ts new file mode 100644 index 000000000..c3e378bdf --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/index.d.ts @@ -0,0 +1,3 @@ +export * from './externStorage'; +export * from './externStorage.anchor'; +export * from './externStorage.rect'; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/index.js new file mode 100644 index 000000000..1c0ffd989 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/index.js @@ -0,0 +1,4 @@ +export * from './externStorage'; +export * from './externStorage.anchor'; +export * from './externStorage.rect'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/index.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/index.js.map new file mode 100644 index 000000000..aa95d54a3 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/externStorage/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/index.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/index.d.ts new file mode 100644 index 000000000..db5fc08da --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/index.d.ts @@ -0,0 +1,2 @@ +export * from './internalStorage'; +export * from './internalStorage.rect'; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/index.js new file mode 100644 index 000000000..3ba1d38a2 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/index.js @@ -0,0 +1,3 @@ +export * from './internalStorage'; +export * from './internalStorage.rect'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/index.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/index.js.map new file mode 100644 index 000000000..dc6643831 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/internalStorage/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.d.ts new file mode 100644 index 000000000..4da9832a5 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowInternalStorage(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.js new file mode 100644 index 000000000..8d405fd18 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.js @@ -0,0 +1,16 @@ +export function flowInternalStorage(ctx, node) { + ctx.beginPath(); + ctx.moveTo(node.rect.x, node.rect.y); + ctx.lineTo(node.rect.ex, node.rect.y); + ctx.lineTo(node.rect.ex, node.rect.ey); + ctx.lineTo(node.rect.x, node.rect.ey); + ctx.closePath(); + var offset = node.rect.width / 7; + ctx.moveTo(node.rect.x, node.rect.y + offset); + ctx.lineTo(node.rect.ex, node.rect.y + offset); + ctx.moveTo(node.rect.x + offset, node.rect.y); + ctx.lineTo(node.rect.x + offset, node.rect.ey); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=internalStorage.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.js.map new file mode 100644 index 000000000..42984007e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"internalStorage.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/internalStorage/internalStorage.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,GAA6B,EAAE,IAAU;IAC3E,GAAG,CAAC,SAAS,EAAE,CAAC;IAEhB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,GAAG,CAAC,SAAS,EAAE,CAAC;IAEhB,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACnC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAC9C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAE/C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE/C,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.rect.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.rect.d.ts new file mode 100644 index 000000000..215a3c0ab --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare function flowInternalStorageIconRect(node: Node): void; +export declare function flowInternalStorageTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.rect.js new file mode 100644 index 000000000..c2b926203 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.rect.js @@ -0,0 +1,10 @@ +import { Rect } from '@topology/core'; +export function flowInternalStorageIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function flowInternalStorageTextRect(node) { + var offset = node.rect.width / 7; + node.textRect = new Rect(node.rect.x + offset, node.rect.y + offset, node.rect.width - offset, node.rect.height - offset); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=internalStorage.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.rect.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.rect.js.map new file mode 100644 index 000000000..6708819fc --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"internalStorage.rect.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/internalStorage/internalStorage.rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,2BAA2B,CAAC,IAAU;IACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAU;IACpD,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,EACpB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,EACpB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,EACxB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAC1B,CAAC;IACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/index.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/index.d.ts new file mode 100644 index 000000000..025fbbb0a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/index.d.ts @@ -0,0 +1,3 @@ +export * from './manually'; +export * from './manually.anchor'; +export * from './manually.rect'; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/index.js new file mode 100644 index 000000000..69d5e8d72 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/index.js @@ -0,0 +1,4 @@ +export * from './manually'; +export * from './manually.anchor'; +export * from './manually.rect'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/index.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/index.js.map new file mode 100644 index 000000000..31dfada45 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/manually/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.anchor.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.anchor.d.ts new file mode 100644 index 000000000..d76656471 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowManuallyAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.anchor.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.anchor.js new file mode 100644 index 000000000..07853bcd1 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.anchor.js @@ -0,0 +1,8 @@ +import { Point, Direction } from '@topology/core'; +export function flowManuallyAnchors(node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + (node.rect.height * 5) / 8, Direction.Left)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 8, Direction.Up)); + node.anchors.push(new Point(node.rect.ex, node.rect.y + node.rect.height / 2, Direction.Right)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.ey, Direction.Bottom)); +} +//# sourceMappingURL=manually.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.anchor.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.anchor.js.map new file mode 100644 index 000000000..066a73f8b --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"manually.anchor.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/manually/manually.anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAQ,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,UAAU,mBAAmB,CAAC,IAAU;IAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAChG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAClG,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.d.ts new file mode 100644 index 000000000..ea4b7215f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowManually(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.js new file mode 100644 index 000000000..edd138a58 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.js @@ -0,0 +1,12 @@ +export function flowManually(ctx, node) { + ctx.beginPath(); + var offsetY = node.rect.height / 4; + ctx.moveTo(node.rect.x, node.rect.y + offsetY); + ctx.lineTo(node.rect.ex, node.rect.y); + ctx.lineTo(node.rect.ex, node.rect.ey); + ctx.lineTo(node.rect.x, node.rect.ey); + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=manually.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.js.map new file mode 100644 index 000000000..afe6fd78a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.js.map @@ -0,0 +1 @@ +{"version":3,"file":"manually.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/manually/manually.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAAC,GAA6B,EAAE,IAAU;IACpE,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.rect.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.rect.d.ts new file mode 100644 index 000000000..e34febc4c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare function flowManuallyIconRect(node: Node): void; +export declare function flowManuallyTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.rect.js new file mode 100644 index 000000000..35c4d8b6a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.rect.js @@ -0,0 +1,9 @@ +import { Rect } from '@topology/core'; +export function flowManuallyIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function flowManuallyTextRect(node) { + node.textRect = new Rect(node.rect.x, node.rect.y + node.rect.height / 4, node.rect.width, (node.rect.height * 3) / 4); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=manually.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.rect.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.rect.js.map new file mode 100644 index 000000000..e45ec0b24 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"manually.rect.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/manually/manually.rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,oBAAoB,CAAC,IAAU;IAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAU;IAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAClC,IAAI,CAAC,IAAI,CAAC,KAAK,EACf,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAC3B,CAAC;IACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/index.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/index.d.ts new file mode 100644 index 000000000..339d24c49 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/index.d.ts @@ -0,0 +1,2 @@ +export * from './parallel'; +export * from './parallel.anchor'; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/index.js new file mode 100644 index 000000000..60da6db77 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/index.js @@ -0,0 +1,3 @@ +export * from './parallel'; +export * from './parallel.anchor'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/index.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/index.js.map new file mode 100644 index 000000000..c8786b516 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/parallel/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.anchor.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.anchor.d.ts new file mode 100644 index 000000000..4730803a4 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowParallelAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.anchor.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.anchor.js new file mode 100644 index 000000000..d1546d43c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.anchor.js @@ -0,0 +1,6 @@ +import { Point, Direction } from '@topology/core'; +export function flowParallelAnchors(node) { + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)); +} +//# sourceMappingURL=parallel.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.anchor.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.anchor.js.map new file mode 100644 index 000000000..655a361e4 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parallel.anchor.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/parallel/parallel.anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAQ,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,UAAU,mBAAmB,CAAC,IAAU;IAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AACpH,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.d.ts new file mode 100644 index 000000000..49c4f6a22 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowParallel(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.js new file mode 100644 index 000000000..7642aabe4 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.js @@ -0,0 +1,9 @@ +export function flowParallel(ctx, node) { + ctx.beginPath(); + ctx.moveTo(node.rect.x, node.rect.y); + ctx.lineTo(node.rect.ex, node.rect.y); + ctx.moveTo(node.rect.x, node.rect.ey); + ctx.lineTo(node.rect.ex, node.rect.ey); + ctx.stroke(); +} +//# sourceMappingURL=parallel.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.js.map new file mode 100644 index 000000000..bb2efe3bb --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parallel.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/parallel/parallel.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAAC,GAA6B,EAAE,IAAU;IACpE,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/index.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/index.d.ts new file mode 100644 index 000000000..35772455c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/index.d.ts @@ -0,0 +1,2 @@ +export * from './queue'; +export * from './queue.rect'; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/index.js new file mode 100644 index 000000000..9182d276f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/index.js @@ -0,0 +1,3 @@ +export * from './queue'; +export * from './queue.rect'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/index.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/index.js.map new file mode 100644 index 000000000..7998c777a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/queue/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.d.ts new file mode 100644 index 000000000..361cce71a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowQueue(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.js new file mode 100644 index 000000000..9f874aaca --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.js @@ -0,0 +1,9 @@ +export function flowQueue(ctx, node) { + ctx.beginPath(); + ctx.ellipse(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 2, node.rect.width / 2, node.rect.height / 2, 0, 0, Math.PI * 2); + ctx.moveTo(node.rect.x + node.rect.width / 2, node.rect.ey); + ctx.lineTo(node.rect.ex, node.rect.ey); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=queue.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.js.map new file mode 100644 index 000000000..06aa64fa1 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.js.map @@ -0,0 +1 @@ +{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/queue/queue.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CAAC,GAA6B,EAAE,IAAU;IACjE,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAClC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACnB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EACpB,CAAC,EACD,CAAC,EACD,IAAI,CAAC,EAAE,GAAG,CAAC,CACZ,CAAC;IAEF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEvC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.rect.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.rect.d.ts new file mode 100644 index 000000000..c5c414480 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare function flowQueueIconRect(node: Node): void; +export declare function flowQueueTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.rect.js new file mode 100644 index 000000000..1d14b8390 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.rect.js @@ -0,0 +1,11 @@ +import { Rect } from '@topology/core'; +export function flowQueueIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function flowQueueTextRect(node) { + var w = (node.rect.width * 5) / 7; + var h = (node.rect.height * 5) / 7; + node.textRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + (node.rect.height - h) / 2, w, h); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=queue.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.rect.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.rect.js.map new file mode 100644 index 000000000..bd3d8ad05 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"queue.rect.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/queue/queue.rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/register.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/register.d.ts new file mode 100644 index 000000000..bf35c08a1 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/register.d.ts @@ -0,0 +1 @@ +export declare function register(): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/register.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/register.js new file mode 100644 index 000000000..88179ebd1 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/register.js @@ -0,0 +1,26 @@ +import { registerNode } from '@topology/core'; +import { flowData, flowDataAnchors, flowDataIconRect, flowDataTextRect } from './data'; +import { flowSubprocess, flowSubprocessIconRect, flowSubprocessTextRect } from './subprocess'; +import { flowDb, flowDbIconRect, flowDbTextRect } from './db'; +import { flowDocument, flowDocumentAnchors, flowDocumentIconRect, flowDocumentTextRect } from './document'; +import { flowInternalStorage, flowInternalStorageIconRect, flowInternalStorageTextRect } from './internalStorage'; +import { flowExternStorage, flowExternStorageAnchors, flowExternStorageIconRect, flowExternStorageTextRect } from './externStorage'; +import { flowQueue, flowQueueIconRect, flowQueueTextRect } from './queue'; +import { flowManually, flowManuallyAnchors, flowManuallyIconRect, flowManuallyTextRect } from './manually'; +import { flowDisplay, flowDisplayAnchors, flowDisplayIconRect, flowDisplayTextRect } from './display'; +import { flowParallel, flowParallelAnchors } from './parallel'; +import { flowComment, flowCommentAnchors } from './comment'; +export function register() { + registerNode('flowData', flowData, flowDataAnchors, flowDataIconRect, flowDataTextRect); + registerNode('flowSubprocess', flowSubprocess, null, flowSubprocessIconRect, flowSubprocessTextRect); + registerNode('flowDb', flowDb, null, flowDbIconRect, flowDbTextRect); + registerNode('flowDocument', flowDocument, flowDocumentAnchors, flowDocumentIconRect, flowDocumentTextRect); + registerNode('flowInternalStorage', flowInternalStorage, null, flowInternalStorageIconRect, flowInternalStorageTextRect); + registerNode('flowExternStorage', flowExternStorage, flowExternStorageAnchors, flowExternStorageIconRect, flowExternStorageTextRect); + registerNode('flowQueue', flowQueue, null, flowQueueIconRect, flowQueueTextRect); + registerNode('flowManually', flowManually, flowManuallyAnchors, flowManuallyIconRect, flowManuallyTextRect); + registerNode('flowDisplay', flowDisplay, flowDisplayAnchors, flowDisplayIconRect, flowDisplayTextRect); + registerNode('flowParallel', flowParallel, flowParallelAnchors, null, null); + registerNode('flowComment', flowComment, flowCommentAnchors, null, null); +} +//# sourceMappingURL=register.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/register.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/register.js.map new file mode 100644 index 000000000..071739e9f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/register.js.map @@ -0,0 +1 @@ +{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../packages/flow-diagram/src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC3G,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAClH,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC3G,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACtG,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE5D,MAAM,UAAU,QAAQ;IACtB,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACxF,YAAY,CAAC,gBAAgB,EAAE,cAAc,EAAE,IAAI,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;IACrG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IACrE,YAAY,CAAC,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;IAC5G,YAAY,CACV,qBAAqB,EACrB,mBAAmB,EACnB,IAAI,EACJ,2BAA2B,EAC3B,2BAA2B,CAC5B,CAAC;IACF,YAAY,CACV,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,CAC1B,CAAC;IACF,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACjF,YAAY,CAAC,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;IAC5G,YAAY,CAAC,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IACvG,YAAY,CAAC,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5E,YAAY,CAAC,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC3E,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/index.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/index.d.ts new file mode 100644 index 000000000..ee9f9c495 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/index.d.ts @@ -0,0 +1,2 @@ +export * from './subprocess'; +export * from './subprocess.rect'; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/index.js new file mode 100644 index 000000000..06b9d1e1e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/index.js @@ -0,0 +1,3 @@ +export * from './subprocess'; +export * from './subprocess.rect'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/index.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/index.js.map new file mode 100644 index 000000000..d8d57cbbe --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/subprocess/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.d.ts new file mode 100644 index 000000000..6fe4241ae --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function flowSubprocess(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.js new file mode 100644 index 000000000..799e25f1d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.js @@ -0,0 +1,16 @@ +export function flowSubprocess(ctx, node) { + ctx.beginPath(); + var offsetX = node.rect.width / 7; + ctx.moveTo(node.rect.x, node.rect.y); + ctx.lineTo(node.rect.ex, node.rect.y); + ctx.lineTo(node.rect.ex, node.rect.ey); + ctx.lineTo(node.rect.x, node.rect.ey); + ctx.closePath(); + ctx.moveTo(node.rect.x + offsetX, node.rect.y); + ctx.lineTo(node.rect.x + offsetX, node.rect.ey); + ctx.moveTo(node.rect.ex - offsetX, node.rect.y); + ctx.lineTo(node.rect.ex - offsetX, node.rect.ey); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=subprocess.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.js.map new file mode 100644 index 000000000..beea510ff --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.js.map @@ -0,0 +1 @@ +{"version":3,"file":"subprocess.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/subprocess/subprocess.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAAC,GAA6B,EAAE,IAAU;IACtE,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACpC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,GAAG,CAAC,SAAS,EAAE,CAAC;IAEhB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEjD,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.rect.d.ts b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.rect.d.ts new file mode 100644 index 000000000..8c5ecda0a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare function flowSubprocessIconRect(node: Node): void; +export declare function flowSubprocessTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.rect.js new file mode 100644 index 000000000..f01e80dc9 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.rect.js @@ -0,0 +1,9 @@ +import { Rect } from '@topology/core'; +export function flowSubprocessIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function flowSubprocessTextRect(node) { + node.textRect = new Rect(node.rect.x + node.rect.width / 7, node.rect.y, (node.rect.width * 5) / 7, node.rect.height); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=subprocess.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.rect.js.map b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.rect.js.map new file mode 100644 index 000000000..a4956ef19 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"subprocess.rect.js","sourceRoot":"","sources":["../../../../packages/flow-diagram/src/subprocess/subprocess.rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,sBAAsB,CAAC,IAAU;IAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAU;IAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACjC,IAAI,CAAC,IAAI,CAAC,CAAC,EACX,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CACjB,CAAC;IACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/layout/index.d.ts b/nezha-fronted/src/components/common/@topology/layout/index.d.ts new file mode 100644 index 000000000..5d6d2291e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/layout/index.d.ts @@ -0,0 +1,2 @@ +export * from './src/align'; +export * from './src/layout'; diff --git a/nezha-fronted/src/components/common/@topology/layout/index.js b/nezha-fronted/src/components/common/@topology/layout/index.js new file mode 100644 index 000000000..53e15641f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/layout/index.js @@ -0,0 +1,3 @@ +export * from './src/align'; +export * from './src/layout'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/layout/index.js.map b/nezha-fronted/src/components/common/@topology/layout/index.js.map new file mode 100644 index 000000000..10627e8a4 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/layout/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../packages/layout/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/layout/package.json b/nezha-fronted/src/components/common/@topology/layout/package.json new file mode 100644 index 000000000..83c1435b6 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/layout/package.json @@ -0,0 +1,64 @@ +{ + "_args": [ + [ + "@topology/layout@0.3.0", + "D:\\a\\nezha-fronted\\nezha-fronted" + ] + ], + "_from": "@topology/layout@0.3.0", + "_id": "@topology/layout@0.3.0", + "_inBundle": false, + "_integrity": "sha512-t9SSU7RroRfnKO3K5cfsB7eIfE2jW/t7O+79nVGgNqQljxaCSG8wQPWw6BqnmYJ072uHf85z1QUIjjboSEHupg==", + "_location": "/@topology/layout", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@topology/layout@0.3.0", + "name": "@topology/layout", + "escapedName": "@topology%2flayout", + "scope": "@topology", + "rawSpec": "0.3.0", + "saveSpec": null, + "fetchSpec": "0.3.0" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/@topology/layout/-/layout-0.3.0.tgz", + "_spec": "0.3.0", + "_where": "D:\\a\\nezha-fronted\\nezha-fronted", + "author": { + "name": "alsmile123@qq.com" + }, + "bugs": { + "url": "https://github.com/le5le-com/topology/issues" + }, + "description": "A layout tool for le5le-topology.", + "gitHead": "78f2a53ca1839c89b56e2e498d17ba4eb987ad14", + "homepage": "https://github.com/le5le-com/topology#readme", + "keywords": [ + "topology", + "chart", + "canvas" + ], + "license": "ISC", + "main": "index.js", + "name": "@topology/layout", + "peerDependencies": { + "@topology/core": "^0.3.0" + }, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/le5le-com/topology.git" + }, + "scripts": { + "build": "tsc && npm run copy", + "copy": "copyfiles package.json ../../dist/layout/" + }, + "types": "index.d.ts", + "version": "0.3.0" +} diff --git a/nezha-fronted/src/components/common/@topology/layout/src/align.d.ts b/nezha-fronted/src/components/common/@topology/layout/src/align.d.ts new file mode 100644 index 000000000..c2a79a39b --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/layout/src/align.d.ts @@ -0,0 +1,3 @@ +import { Pen, Rect } from '@topology/core'; +export declare function alignNodes(pens: Pen[], rect: Rect, align: string): void; +export declare function spaceBetween(pens: Pen[], width: number): void; diff --git a/nezha-fronted/src/components/common/@topology/layout/src/align.js b/nezha-fronted/src/components/common/@topology/layout/src/align.js new file mode 100644 index 000000000..2020772b3 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/layout/src/align.js @@ -0,0 +1,63 @@ +import { Node } from '@topology/core'; +export function alignNodes(pens, rect, align) { + for (var _i = 0, pens_1 = pens; _i < pens_1.length; _i++) { + var item = pens_1[_i]; + if (!(item instanceof Node)) { + continue; + } + switch (align) { + case 'left': + item.rect.x = rect.x; + break; + case 'right': + item.rect.x = rect.ex - item.rect.width; + break; + case 'top': + item.rect.y = rect.y; + break; + case 'bottom': + item.rect.y = rect.ey - item.rect.height; + break; + case 'center': + item.rect.x = rect.center.x - item.rect.width / 2; + break; + case 'middle': + item.rect.y = rect.center.y - item.rect.height / 2; + break; + } + item.rect.floor(); + item.rect.calcCenter(); + item.init(); + item.calcChildrenRect(); + } +} +export function spaceBetween(pens, width) { + var space = 0; + var cnt = 0; + for (var _i = 0, pens_2 = pens; _i < pens_2.length; _i++) { + var item = pens_2[_i]; + if (!(item instanceof Node)) { + continue; + } + space += item.rect.width; + ++cnt; + } + space = (width - space) / (cnt - 1); + var left = 0; + for (var _a = 0, pens_3 = pens; _a < pens_3.length; _a++) { + var item = pens_3[_a]; + if (!(item instanceof Node)) { + continue; + } + if (!left) { + left = item.rect.x; + } + item.rect.x = left; + left += item.rect.width + space; + item.rect.floor(); + item.rect.calcCenter(); + item.init(); + item.calcChildrenRect(); + } +} +//# sourceMappingURL=align.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/layout/src/align.js.map b/nezha-fronted/src/components/common/@topology/layout/src/align.js.map new file mode 100644 index 000000000..b67fc609b --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/layout/src/align.js.map @@ -0,0 +1 @@ +{"version":3,"file":"align.js","sourceRoot":"","sources":["../../../packages/layout/src/align.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,IAAI,EAAQ,MAAM,gBAAgB,CAAC;AAEjD,MAAM,UAAU,UAAU,CAAC,IAAW,EAAE,IAAU,EAAE,KAAa;IAC/D,KAAmB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;QAApB,IAAM,IAAI,aAAA;QACb,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE;YAC3B,SAAS;SACV;QACD,QAAQ,KAAK,EAAE;YACb,KAAK,MAAM;gBACT,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACrB,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACxC,MAAM;YACR,KAAK,KAAK;gBACR,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACrB,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBACzC,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnD,MAAM;SACT;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAW,EAAE,KAAa;IACrD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAmB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;QAApB,IAAM,IAAI,aAAA;QACb,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE;YAC3B,SAAS;SACV;QAED,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,EAAE,GAAG,CAAC;KACP;IACD,KAAK,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAEpC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAmB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;QAApB,IAAM,IAAI,aAAA;QACb,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE;YAC3B,SAAS;SACV;QAED,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACpB;QACD,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACnB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEhC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;AACH,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/layout/src/layout.d.ts b/nezha-fronted/src/components/common/@topology/layout/src/layout.d.ts new file mode 100644 index 000000000..6eaf0b60c --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/layout/src/layout.d.ts @@ -0,0 +1,9 @@ +import { Pen } from '@topology/core'; +export declare function layout(pens: Pen[], params: { + maxWidth: number; + nodeWidth?: number; + nodeHeight?: number; + maxCount?: number; + spaceWidth?: number; + spaceHeight?: number; +}): void; diff --git a/nezha-fronted/src/components/common/@topology/layout/src/layout.js b/nezha-fronted/src/components/common/@topology/layout/src/layout.js new file mode 100644 index 000000000..9e279675e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/layout/src/layout.js @@ -0,0 +1,50 @@ +import { PenType, getRect } from '@topology/core'; +import { alignNodes, spaceBetween } from './align'; +export function layout(pens, params) { + var spaceWidth = params.spaceWidth || 30; + var spaceHeight = params.spaceHeight || 30; + var rect = getRect(pens); + var left = rect.x; + var top = rect.y; + var rows = []; + var row = []; + var maxHeight = 0; + for (var _i = 0, pens_1 = pens; _i < pens_1.length; _i++) { + var item = pens_1[_i]; + if (item.type === PenType.Line) { + continue; + } + if (params.nodeWidth > 0) { + item.rect.width = params.nodeWidth; + } + if (params.nodeHeight > 0) { + item.rect.height = params.nodeHeight; + } + if (item.rect.height > maxHeight) { + maxHeight = item.rect.height; + } + item.rect.x = left; + item.rect.y = top; + item.rect.init(); + row.push(item); + left += item.rect.width + spaceWidth; + if (left > params.maxWidth || (params.maxCount > 0 && row.length >= params.maxCount)) { + rows.push(row); + row = []; + left = rect.x; + top += maxHeight + spaceHeight; + maxHeight = 0; + } + } + rows.push(row); + for (var _a = 0, rows_1 = rows; _a < rows_1.length; _a++) { + var item = rows_1[_a]; + var r = getRect(item); + r.width = params.maxWidth; + alignNodes(item, r, 'middle'); + if (params.maxCount > 0) { + spaceBetween(item, params.maxWidth); + } + } +} +//# sourceMappingURL=layout.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/layout/src/layout.js.map b/nezha-fronted/src/components/common/@topology/layout/src/layout.js.map new file mode 100644 index 000000000..37cc999dd --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/layout/src/layout.js.map @@ -0,0 +1 @@ +{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../packages/layout/src/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,UAAU,MAAM,CAAC,IAAW,EAAE,MAOnC;IACC,IAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAC3C,IAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;IAE7C,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;IAClB,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;IAEjB,IAAM,IAAI,GAAU,EAAE,CAAC;IACvB,IAAI,GAAG,GAAU,EAAE,CAAC;IACpB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAmB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;QAApB,IAAM,IAAI,aAAA;QACb,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE;YAC9B,SAAS;SACV;QAED,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;SACpC;QACD,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;SACtC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE;YAChC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;SAC9B;QAED,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAEjB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;QACrC,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE;YACpF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,GAAG,GAAG,EAAE,CAAC;YAET,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;YACd,GAAG,IAAI,SAAS,GAAG,WAAW,CAAC;YAC/B,SAAS,GAAG,CAAC,CAAC;SACf;KACF;IACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEf,KAAmB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;QAApB,IAAM,IAAI,aAAA;QACb,IAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC1B,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC9B,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;YACvB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;SACrC;KACF;AACH,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/index.d.ts b/nezha-fronted/src/components/common/@topology/sequence-diagram/index.d.ts new file mode 100644 index 000000000..a36f9e6e1 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/index.d.ts @@ -0,0 +1,3 @@ +export * from './src/lifeline'; +export * from './src/focus'; +export * from './src/register'; diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/index.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/index.js new file mode 100644 index 000000000..7dfdd32c0 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/index.js @@ -0,0 +1,4 @@ +export * from './src/lifeline'; +export * from './src/focus'; +export * from './src/register'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/index.js.map b/nezha-fronted/src/components/common/@topology/sequence-diagram/index.js.map new file mode 100644 index 000000000..c7ff2b261 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../packages/sequence-diagram/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/package.json b/nezha-fronted/src/components/common/@topology/sequence-diagram/package.json new file mode 100644 index 000000000..cfd280ad0 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/package.json @@ -0,0 +1,65 @@ +{ + "_args": [ + [ + "@topology/sequence-diagram@0.3.0", + "D:\\a\\nezha-fronted\\nezha-fronted" + ] + ], + "_from": "@topology/sequence-diagram@0.3.0", + "_id": "@topology/sequence-diagram@0.3.0", + "_inBundle": false, + "_integrity": "sha512-qSLXKd//lW5jb/e7nMRwxRWz/bXmkourVHBmZ2cRulZPe0KTeLiE/LkYJ+ffDFNDdCIYedHBC+CeQc3PULCqRQ==", + "_location": "/@topology/sequence-diagram", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@topology/sequence-diagram@0.3.0", + "name": "@topology/sequence-diagram", + "escapedName": "@topology%2fsequence-diagram", + "scope": "@topology", + "rawSpec": "0.3.0", + "saveSpec": null, + "fetchSpec": "0.3.0" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/@topology/sequence-diagram/-/sequence-diagram-0.3.0.tgz", + "_spec": "0.3.0", + "_where": "D:\\a\\nezha-fronted\\nezha-fronted", + "author": { + "name": "alsmile123@qq.com" + }, + "bugs": { + "url": "https://github.com/le5le-com/topology/issues" + }, + "description": "A sequence diagram tool using le5le-topology.", + "gitHead": "78f2a53ca1839c89b56e2e498d17ba4eb987ad14", + "homepage": "https://github.com/le5le-com/topology#readme", + "keywords": [ + "topology", + "sequence", + "diagram", + "canvas" + ], + "license": "ISC", + "main": "index.js", + "name": "@topology/sequence-diagram", + "peerDependencies": { + "@topology/core": "^0.3.0" + }, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/le5le-com/topology.git" + }, + "scripts": { + "build": "tsc && npm run copy", + "copy": "copyfiles package.json ../../dist/sequence-diagram/" + }, + "types": "index.d.ts", + "version": "0.3.0" +} diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.anchor.d.ts b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.anchor.d.ts new file mode 100644 index 000000000..4f729537d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function sequenceFocusAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.anchor.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.anchor.js new file mode 100644 index 000000000..085d1da2d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.anchor.js @@ -0,0 +1,15 @@ +import { Point, Direction } from '@topology/core'; +export function sequenceFocusAnchors(node) { + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.ey, Direction.Bottom)); + var dis = 5; + for (var i = dis; node.rect.y + i < node.rect.ey; i = i + dis) { + var pt1 = new Point(node.rect.x, node.rect.y + i, Direction.Left); + var pt2 = new Point(node.rect.ex, node.rect.y + i, Direction.Right); + pt1.hidden = true; + pt2.hidden = true; + node.anchors.push(pt1); + node.anchors.push(pt2); + } +} +//# sourceMappingURL=focus.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.anchor.js.map b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.anchor.js.map new file mode 100644 index 000000000..f7bc48a9d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"focus.anchor.js","sourceRoot":"","sources":["../../../../packages/sequence-diagram/src/focus/focus.anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAQ,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,UAAU,oBAAoB,CAAC,IAAU;IAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAEhG,IAAM,GAAG,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE;QAC7D,IAAM,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACpE,IAAM,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QACtE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;QAClB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACxB;AACH,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.d.ts b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.d.ts new file mode 100644 index 000000000..717cd1508 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function sequenceFocus(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.js new file mode 100644 index 000000000..ba15e4cd5 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.js @@ -0,0 +1,13 @@ +export function sequenceFocus(ctx, node) { + ctx.beginPath(); + ctx.rect(node.rect.x, node.rect.y, node.rect.width, node.rect.height); + if (this.fillStyle) { + ctx.fillStyle = this.fillStyle; + } + else { + ctx.fillStyle = '#fff'; + } + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); +} +//# sourceMappingURL=focus.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.js.map b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.js.map new file mode 100644 index 000000000..7c71257de --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.js.map @@ -0,0 +1 @@ +{"version":3,"file":"focus.js","sourceRoot":"","sources":["../../../../packages/sequence-diagram/src/focus/focus.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAAC,GAA6B,EAAE,IAAU;IACrE,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;KAChC;SAAM;QACL,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC;KACxB;IACD,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,EAAE,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.rect.d.ts b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.rect.d.ts new file mode 100644 index 000000000..a6e5fd145 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare function sequenceFocusIconRect(node: Node): void; +export declare function sequenceFocusTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.rect.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.rect.js new file mode 100644 index 000000000..3b1a03067 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.rect.js @@ -0,0 +1,9 @@ +import { Rect } from '@topology/core'; +export function sequenceFocusIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function sequenceFocusTextRect(node) { + node.textRect = new Rect(0, 0, 0, 0); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=focus.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.rect.js.map b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.rect.js.map new file mode 100644 index 000000000..0d9b4720f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"focus.rect.js","sourceRoot":"","sources":["../../../../packages/sequence-diagram/src/focus/focus.rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,qBAAqB,CAAC,IAAU;IAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAU;IAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/index.d.ts b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/index.d.ts new file mode 100644 index 000000000..8ade17270 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/index.d.ts @@ -0,0 +1,3 @@ +export * from './focus'; +export * from './focus.rect'; +export * from './focus.anchor'; diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/index.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/index.js new file mode 100644 index 000000000..cef1c365a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/index.js @@ -0,0 +1,4 @@ +export * from './focus'; +export * from './focus.rect'; +export * from './focus.anchor'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/index.js.map b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/index.js.map new file mode 100644 index 000000000..95b00cc5d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/sequence-diagram/src/focus/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/index.d.ts b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/index.d.ts new file mode 100644 index 000000000..99c8484d9 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/index.d.ts @@ -0,0 +1,3 @@ +export * from './lifeline'; +export * from './lifeline.rect'; +export * from './lifeline.anchor'; diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/index.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/index.js new file mode 100644 index 000000000..6256cc24d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/index.js @@ -0,0 +1,4 @@ +export * from './lifeline'; +export * from './lifeline.rect'; +export * from './lifeline.anchor'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/index.js.map b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/index.js.map new file mode 100644 index 000000000..5c7c6540e --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/sequence-diagram/src/lifeline/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.anchor.d.ts b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.anchor.d.ts new file mode 100644 index 000000000..ce6ec4d1b --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.anchor.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function lifelineAnchors(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.anchor.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.anchor.js new file mode 100644 index 000000000..b07d7c087 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.anchor.js @@ -0,0 +1,9 @@ +import { Point, Direction } from '@topology/core'; +export function lifelineAnchors(node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + 25, Direction.Left)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + 25, Direction.Right)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + 50, Direction.Bottom)); + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.ey, Direction.Bottom)); +} +//# sourceMappingURL=lifeline.anchor.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.anchor.js.map b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.anchor.js.map new file mode 100644 index 000000000..493688974 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.anchor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"lifeline.anchor.js","sourceRoot":"","sources":["../../../../packages/sequence-diagram/src/lifeline/lifeline.anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAQ,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACpG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAClG,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.d.ts b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.d.ts new file mode 100644 index 000000000..effa23643 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.d.ts @@ -0,0 +1,2 @@ +import { Node } from '@topology/core'; +export declare function lifeline(ctx: CanvasRenderingContext2D, node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.js new file mode 100644 index 000000000..e387404aa --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.js @@ -0,0 +1,35 @@ +export function lifeline(ctx, node) { + var height = 50; + var wr = node.borderRadius; + var hr = node.borderRadius; + if (node.borderRadius < 1) { + wr = node.rect.width * node.borderRadius; + hr = node.rect.height * node.borderRadius; + } + var r = wr < hr ? wr : hr; + if (node.rect.width < 2 * r) { + r = node.rect.width / 2; + } + if (height < 2 * r) { + r = height / 2; + } + ctx.beginPath(); + ctx.moveTo(node.rect.x + r, node.rect.y); + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + height, r); + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + height, node.rect.x, node.rect.y + height, r); + ctx.arcTo(node.rect.x, node.rect.y + height, node.rect.x, node.rect.y, r); + ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r); + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill(); + ctx.stroke(); + ctx.save(); + ctx.beginPath(); + ctx.lineWidth = 1; + ctx.setLineDash([7, 7]); + var middle = node.rect.x + node.rect.width / 2; + ctx.moveTo(middle, node.rect.y + height + 1); + ctx.lineTo(middle, node.rect.ey); + ctx.stroke(); + ctx.restore(); +} +//# sourceMappingURL=lifeline.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.js.map b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.js.map new file mode 100644 index 000000000..777512f0f --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.js.map @@ -0,0 +1 @@ +{"version":3,"file":"lifeline.js","sourceRoot":"","sources":["../../../../packages/sequence-diagram/src/lifeline/lifeline.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.rect.d.ts b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.rect.d.ts new file mode 100644 index 000000000..2d59e441a --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.rect.d.ts @@ -0,0 +1,3 @@ +import { Node } from '@topology/core'; +export declare function lifelineIconRect(node: Node): void; +export declare function lifelineTextRect(node: Node): void; diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.rect.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.rect.js new file mode 100644 index 000000000..557945cc7 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.rect.js @@ -0,0 +1,9 @@ +import { Rect } from '@topology/core'; +export function lifelineIconRect(node) { + node.iconRect = new Rect(0, 0, 0, 0); +} +export function lifelineTextRect(node) { + node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, 50); + node.fullTextRect = node.textRect; +} +//# sourceMappingURL=lifeline.rect.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.rect.js.map b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.rect.js.map new file mode 100644 index 000000000..8a6fcc170 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.rect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"lifeline.rect.js","sourceRoot":"","sources":["../../../../packages/sequence-diagram/src/lifeline/lifeline.rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,gBAAgB,CAAC,IAAU;IACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAU;IACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/register.d.ts b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/register.d.ts new file mode 100644 index 000000000..bf35c08a1 --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/register.d.ts @@ -0,0 +1 @@ +export declare function register(): void; diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/register.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/register.js new file mode 100644 index 000000000..4ac8868ec --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/register.js @@ -0,0 +1,8 @@ +import { registerNode } from '@topology/core'; +import { lifeline, lifelineAnchors, lifelineIconRect, lifelineTextRect } from './lifeline'; +import { sequenceFocus, sequenceFocusAnchors, sequenceFocusIconRect, sequenceFocusTextRect } from './focus'; +export function register() { + registerNode('lifeline', lifeline, lifelineAnchors, lifelineIconRect, lifelineTextRect); + registerNode('sequenceFocus', sequenceFocus, sequenceFocusAnchors, sequenceFocusIconRect, sequenceFocusTextRect); +} +//# sourceMappingURL=register.js.map \ No newline at end of file diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/register.js.map b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/register.js.map new file mode 100644 index 000000000..374440c2d --- /dev/null +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/register.js.map @@ -0,0 +1 @@ +{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../packages/sequence-diagram/src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE5G,MAAM,UAAU,QAAQ;IACtB,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACxF,YAAY,CAAC,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;AACnH,CAAC"} \ No newline at end of file diff --git a/nezha-fronted/src/components/common/project/topologyL5.vue b/nezha-fronted/src/components/common/project/topologyL5.vue index c57e7cd5e..a5c74cf0c 100644 --- a/nezha-fronted/src/components/common/project/topologyL5.vue +++ b/nezha-fronted/src/components/common/project/topologyL5.vue @@ -336,7 +336,8 @@ diff --git a/nezha-fronted/static/config.json b/nezha-fronted/static/config.json index 5f74f5d01..3151969db 100644 --- a/nezha-fronted/static/config.json +++ b/nezha-fronted/static/config.json @@ -1 +1 @@ -{"baseUrl":"/", "version": "21.04"} +{"baseUrl":"http://192.168.40.42:8080/", "version": "22.05"} From 739fa3e82f6ab98b4061e53d2e9e44adc016fc46 Mon Sep 17 00:00:00 2001 From: zhangyu Date: Wed, 13 Jul 2022 15:35:56 +0800 Subject: [PATCH 6/7] =?UTF-8?q?fix=EF=BC=9A=E5=A4=84=E7=90=86=20topoLogy?= =?UTF-8?q?=E7=9A=84=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/chart/chartAutotopology.vue | 44 ++++++++--------- .../components/common/project/topologyL5.vue | 47 +++++++++++-------- 2 files changed, 50 insertions(+), 41 deletions(-) diff --git a/nezha-fronted/src/components/chart/chart/chartAutotopology.vue b/nezha-fronted/src/components/chart/chart/chartAutotopology.vue index 915a49151..90161acc4 100644 --- a/nezha-fronted/src/components/chart/chart/chartAutotopology.vue +++ b/nezha-fronted/src/components/chart/chart/chartAutotopology.vue @@ -1,22 +1,20 @@ @@ -46,7 +44,7 @@ export default { this.isInit = false this.$get('monitor/project', { pageSize: -1 }).then(res => { this.topologyLoading = true - const axiosAll = [] + let axiosAll = [] let temp = [] if (res.data.list.length === 0) { this.topologyLoading = false @@ -62,11 +60,13 @@ export default { if (res2.length == 0) { this.topologyLoading = false } - res2.forEach(item => { - temp.push(item) - }) + // res2.forEach(item => { + // temp.push(item) + // }) + temp.push(res2[2]) this.allProject = JSON.parse(JSON.stringify(temp)) - temp = [] + temp = null + axiosAll = null this.topologyLoading = false }) }) diff --git a/nezha-fronted/src/components/common/project/topologyL5.vue b/nezha-fronted/src/components/common/project/topologyL5.vue index d3ae2dcc3..7bcd59d10 100644 --- a/nezha-fronted/src/components/common/project/topologyL5.vue +++ b/nezha-fronted/src/components/common/project/topologyL5.vue @@ -640,6 +640,7 @@ export default { canvasRegister() }, mounted () { + console.log('mounted') if (!this.fromOverView) { // 从overview来的 加载相应图片 优化首页加载速度 this.addNodeInit() } @@ -2283,28 +2284,23 @@ export default { this.timer4 = null } if (getTopology(this.topologyIndex)) { + console.log(getTopology(this.topologyIndex)) // getTopology(this.topologyIndex).open({ pens: [] }) getTopology(this.topologyIndex).off('contextmenu', this.onContextMenu) getTopology(this.topologyIndex).data.pens.forEach(item => { item.img = null item.image = null item.lastImage = null - // item.initState.img = null - // item.state.img = null }) getTopology(this.topologyIndex).activeLayer.data.pens.forEach(item => { item.img = null item.image = null item.lastImage = null - // item.initState.img = null - // item.state.img = null }) getTopology(this.topologyIndex).animateLayer.data.pens.forEach(item => { item.img = null item.image = null item.lastImage = null - // item.initState.img = null - // item.state.img = null }) getTopology(this.topologyIndex).caches.list.forEach((cache) => { cache.pens.forEach(item => { @@ -2317,45 +2313,58 @@ export default { item.img = null item.image = null item.lastImage = null - // item.initState.img = null - // item.state.img = null }) getTopology(this.topologyIndex).canvas.data.pens.forEach(item => { item.img = null item.image = null item.lastImage = null - // item.initState.img = null - // item.state.img = null }) getTopology(this.topologyIndex).divLayer.data.pens.forEach(item => { item.img = null item.image = null item.lastImage = null - // item.initState.img = null - // item.state.img = null }) getTopology(this.topologyIndex).hoverLayer.data.pens.forEach(item => { item.img = null item.image = null item.lastImage = null - // item.initState.img = null - // item.state.img = null }) getTopology(this.topologyIndex).destroy() const StoreData = le5leStore.get() - const arr = [] + // const arr = [] Object.keys(StoreData).forEach(key => { const id = key.split('-')[0] - arr.push(id) + // arr.push(id) if (getTopology(this.topologyIndex).id == id) { + if (StoreData[key][0] && StoreData[key][0].img) { + StoreData[key].forEach(item => { + item.img = null + item.image = null + item.lastImage = null + }) + } + if (StoreData[key] && StoreData[key].pens) { + StoreData[key].pens.forEach(item => { + item.img = null + item.image = null + item.lastImage = null + }) + } + if (StoreData[key] && StoreData[key].data && StoreData[key].data.pens) { + StoreData[key].data.pens.forEach(item => { + item.img = null + item.image = null + item.lastImage = null + }) + } le5leStore.set(key, null) delete StoreData[key] } }) console.log(le5leStore.get()) - Object.keys(getTopology(this.topologyIndex)).forEach(key => { - getTopology(this.topologyIndex)[key] = null - }) + // Object.keys(getTopology(this.topologyIndex)).forEach(key => { + // getTopology(this.topologyIndex)[key] = null + // }) setTopology(this.topologyIndex, null) } if (document.getElementById('topology-canvas' + this.topologyIndexF)) { From 73b71d578f55a77256af95f635a651575e8cebf9 Mon Sep 17 00:00:00 2001 From: zhangyu Date: Thu, 14 Jul 2022 09:55:10 +0800 Subject: [PATCH 7/7] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E6=94=B9=20topology?= =?UTF-8?q?=20=E6=BA=90=E7=A0=81=20=E5=88=A0=E9=99=A4=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E7=9A=84=E8=8A=82=E7=82=B9=E4=BB=A5=E5=8F=8A=E7=BB=99=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E5=88=9B=E5=BB=BA=E7=9A=84=E5=AF=B9=E5=BA=94=E7=9A=84?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nezha-fronted/src/assets/css/font/iconfont.js | 2 +- .../chart/chart/chartAutotopology.vue | 11 +- .../src/components/chart/chart/chartBar.vue | 2 +- .../src/components/chart/chartMixin.js | 1 - .../src/components/chart/panelChart.vue | 4 +- .../@topology/activity-diagram/index.js | 12 +- .../activity-diagram/src/final/final.js | 18 +- .../activity-diagram/src/final/final.rect.js | 18 +- .../activity-diagram/src/final/index.js | 6 +- .../activity-diagram/src/fork/fork.anchor.js | 52 +- .../activity-diagram/src/fork/fork.js | 48 +- .../activity-diagram/src/fork/fork.rect.js | 14 +- .../activity-diagram/src/fork/index.js | 8 +- .../activity-diagram/src/register.js | 24 +- .../activity-diagram/src/swimlaneH/index.js | 6 +- .../src/swimlaneH/swimlaneH.js | 52 +- .../src/swimlaneH/swimlaneH.rect.js | 14 +- .../activity-diagram/src/swimlaneV/index.js | 6 +- .../src/swimlaneV/swimlaneV.js | 52 +- .../src/swimlaneV/swimlaneV.rect.js | 14 +- .../common/@topology/chart-diagram/index.js | 6 +- .../chart-diagram/src/echarts/index.js | 84 +- .../@topology/chart-diagram/src/register.js | 18 +- .../common/@topology/class-diagram/index.js | 6 +- .../class-diagram/src/class/class.js | 108 +- .../class-diagram/src/class/class.rect.js | 24 +- .../class-diagram/src/class/index.js | 6 +- .../@topology/class-diagram/src/register.js | 12 +- .../components/common/@topology/core/index.js | 12 +- .../common/@topology/core/src/activeLayer.js | 1408 ++++++++--------- .../common/@topology/core/src/animateLayer.js | 502 +++--- .../common/@topology/core/src/canvas.js | 181 ++- .../common/@topology/core/src/core.js | 35 +- .../common/@topology/core/src/divLayer.js | 1005 ++++++------ .../common/@topology/core/src/hoverLayer.js | 402 ++--- .../common/@topology/core/src/layer.js | 39 +- .../core/src/middles/arrows/circle.js | 43 +- .../core/src/middles/arrows/diamond.js | 59 +- .../@topology/core/src/middles/arrows/line.js | 76 +- .../core/src/middles/arrows/triangle.js | 53 +- .../core/src/middles/default.anchor.js | 16 +- .../@topology/core/src/middles/default.js | 480 +++--- .../core/src/middles/default.rect.js | 32 +- .../@topology/core/src/middles/index.js | 8 +- .../@topology/core/src/middles/lines/curve.js | 220 ++- .../@topology/core/src/middles/lines/line.js | 18 +- .../@topology/core/src/middles/lines/mind.js | 58 +- .../core/src/middles/lines/polyline.js | 540 +++---- .../core/src/middles/nodes/arrow.anchor.js | 12 +- .../@topology/core/src/middles/nodes/arrow.js | 84 +- .../core/src/middles/nodes/arrow.rect.js | 34 +- .../core/src/middles/nodes/circle.anchor.js | 32 +- .../core/src/middles/nodes/circle.js | 12 +- .../core/src/middles/nodes/circle.rect.js | 49 +- .../core/src/middles/nodes/cloud.anchor.js | 16 +- .../@topology/core/src/middles/nodes/cloud.js | 20 +- .../core/src/middles/nodes/cloud.rect.js | 14 +- .../core/src/middles/nodes/cube.anchor.js | 18 +- .../@topology/core/src/middles/nodes/cube.js | 8 +- .../core/src/middles/nodes/cube.model.js | 123 +- .../core/src/middles/nodes/cube.rect.js | 18 +- .../core/src/middles/nodes/diamond.js | 20 +- .../core/src/middles/nodes/diamond.rect.js | 49 +- .../@topology/core/src/middles/nodes/file.js | 30 +- .../core/src/middles/nodes/graffiti.anchor.js | 33 +- .../core/src/middles/nodes/graffiti.js | 26 +- .../core/src/middles/nodes/hexagon.anchor.js | 40 +- .../core/src/middles/nodes/hexagon.js | 26 +- .../core/src/middles/nodes/hexagon.rect.js | 24 +- .../core/src/middles/nodes/image.anchor.js | 33 +- .../core/src/middles/nodes/image.rect.js | 46 +- .../core/src/middles/nodes/line.anchor.js | 26 +- .../@topology/core/src/middles/nodes/line.js | 14 +- .../core/src/middles/nodes/line.rect.js | 14 +- .../@topology/core/src/middles/nodes/lines.js | 48 +- .../core/src/middles/nodes/message.anchor.js | 16 +- .../core/src/middles/nodes/message.js | 26 +- .../core/src/middles/nodes/message.rect.js | 16 +- .../core/src/middles/nodes/mindLine.anchor.js | 10 +- .../core/src/middles/nodes/mindLine.js | 14 +- .../core/src/middles/nodes/mindNode.anchor.js | 172 +- .../core/src/middles/nodes/pentagon.anchor.js | 18 +- .../core/src/middles/nodes/pentagon.js | 22 +- .../core/src/middles/nodes/pentagon.rect.js | 41 +- .../src/middles/nodes/pentagram.anchor.js | 18 +- .../core/src/middles/nodes/pentagram.js | 20 +- .../core/src/middles/nodes/pentagram.rect.js | 18 +- .../core/src/middles/nodes/people.js | 32 +- .../core/src/middles/nodes/people.rect.js | 14 +- .../core/src/middles/nodes/rectangle.js | 48 +- .../core/src/middles/nodes/rectangle.rect.js | 18 +- .../@topology/core/src/middles/nodes/text.js | 495 +++--- .../core/src/middles/nodes/triangle.anchor.js | 16 +- .../core/src/middles/nodes/triangle.js | 18 +- .../core/src/middles/nodes/triangle.rect.js | 41 +- .../common/@topology/core/src/models/data.js | 123 +- .../@topology/core/src/models/direction.js | 14 +- .../common/@topology/core/src/models/event.js | 34 +- .../common/@topology/core/src/models/index.js | 20 +- .../common/@topology/core/src/models/line.js | 1049 ++++++------ .../common/@topology/core/src/models/point.js | 102 +- .../common/@topology/core/src/models/rect.js | 182 +-- .../@topology/core/src/models/status.js | 20 +- .../common/@topology/core/src/mqtt.js | 52 +- .../common/@topology/core/src/offscreen.js | 105 +- .../common/@topology/core/src/options.js | 80 +- .../common/@topology/core/src/renderLayer.js | 265 ++-- .../common/@topology/core/src/socket.js | 46 +- .../@topology/core/src/utils/browser.js | 6 +- .../@topology/core/src/utils/cacheDB.js | 200 +-- .../common/@topology/core/src/utils/canvas.js | 207 ++- .../common/@topology/core/src/utils/clone.js | 40 +- .../common/@topology/core/src/utils/dom.js | 84 +- .../common/@topology/core/src/utils/index.js | 18 +- .../common/@topology/core/src/utils/math.js | 123 +- .../@topology/core/src/utils/padding.js | 42 +- .../common/@topology/core/src/utils/rect.js | 157 +- .../common/@topology/core/src/utils/uuid.js | 18 +- .../common/@topology/flow-diagram/index.js | 26 +- .../src/comment/comment.anchor.js | 8 +- .../flow-diagram/src/comment/comment.js | 18 +- .../flow-diagram/src/comment/index.js | 6 +- .../flow-diagram/src/data/data.anchor.js | 14 +- .../@topology/flow-diagram/src/data/data.js | 22 +- .../flow-diagram/src/data/data.rect.js | 14 +- .../@topology/flow-diagram/src/data/index.js | 8 +- .../@topology/flow-diagram/src/db/db.js | 26 +- .../@topology/flow-diagram/src/db/db.rect.js | 14 +- .../@topology/flow-diagram/src/db/index.js | 6 +- .../src/display/display.anchor.js | 14 +- .../flow-diagram/src/display/display.js | 24 +- .../flow-diagram/src/display/display.rect.js | 14 +- .../flow-diagram/src/display/index.js | 8 +- .../src/document/document.anchor.js | 14 +- .../flow-diagram/src/document/document.js | 28 +- .../src/document/document.rect.js | 14 +- .../flow-diagram/src/document/index.js | 8 +- .../src/externStorage/externStorage.anchor.js | 14 +- .../src/externStorage/externStorage.js | 22 +- .../src/externStorage/externStorage.rect.js | 14 +- .../flow-diagram/src/externStorage/index.js | 8 +- .../flow-diagram/src/internalStorage/index.js | 6 +- .../src/internalStorage/internalStorage.js | 30 +- .../internalStorage/internalStorage.rect.js | 16 +- .../flow-diagram/src/manually/index.js | 8 +- .../src/manually/manually.anchor.js | 14 +- .../flow-diagram/src/manually/manually.js | 22 +- .../src/manually/manually.rect.js | 14 +- .../flow-diagram/src/parallel/index.js | 6 +- .../src/parallel/parallel.anchor.js | 10 +- .../flow-diagram/src/parallel/parallel.js | 16 +- .../@topology/flow-diagram/src/queue/index.js | 6 +- .../@topology/flow-diagram/src/queue/queue.js | 16 +- .../flow-diagram/src/queue/queue.rect.js | 18 +- .../@topology/flow-diagram/src/register.js | 50 +- .../flow-diagram/src/subprocess/index.js | 6 +- .../flow-diagram/src/subprocess/subprocess.js | 30 +- .../src/subprocess/subprocess.rect.js | 14 +- .../common/@topology/layout/index.js | 6 +- .../common/@topology/layout/src/align.js | 116 +- .../common/@topology/layout/src/layout.js | 94 +- .../@topology/sequence-diagram/index.js | 8 +- .../src/focus/focus.anchor.js | 28 +- .../sequence-diagram/src/focus/focus.js | 23 +- .../sequence-diagram/src/focus/focus.rect.js | 14 +- .../sequence-diagram/src/focus/index.js | 8 +- .../sequence-diagram/src/lifeline/index.js | 8 +- .../src/lifeline/lifeline.anchor.js | 16 +- .../sequence-diagram/src/lifeline/lifeline.js | 68 +- .../src/lifeline/lifeline.rect.js | 14 +- .../sequence-diagram/src/register.js | 14 +- .../common/ChartDiagram/diagram.vue | 2 +- .../bottomBox/tabs/alertMessageTabNew.vue | 2 +- .../common/bottomBox/tabs/panelTabNew.vue | 2 +- .../list/endpoint/endpointDetail.vue | 2 +- .../detailView/view/detailViewRight.vue | 2 +- .../src/components/common/js/tools.js | 76 +- .../components/common/mixin/subDataList.js | 2 +- .../common/project/popData/assetTable.vue | 2 +- .../components/common/project/topologyL5.vue | 92 +- .../common/rightBox/chart/chartTypeShow.js | 2 +- .../common/table/asset/assetTable.vue | 2 +- .../src/components/layout/header.vue | 2 +- .../src/components/page/dashboard/panel.vue | 2 +- nezha-fronted/src/store/user.js | 1 - nezha-fronted/static/config.json | 2 +- 186 files changed, 5955 insertions(+), 6025 deletions(-) diff --git a/nezha-fronted/src/assets/css/font/iconfont.js b/nezha-fronted/src/assets/css/font/iconfont.js index 1b70a6d66..accb8a1dd 100644 --- a/nezha-fronted/src/assets/css/font/iconfont.js +++ b/nezha-fronted/src/assets/css/font/iconfont.js @@ -1 +1 @@ -!function(a){var h,c,l,z,o,i='',v=(v=document.getElementsByTagName("script"))[v.length-1].getAttribute("data-injectcss"),t=function(a,h){h.parentNode.insertBefore(a,h)};if(v&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}function m(){o||(o=!0,l())}function p(){try{z.documentElement.doScroll("left")}catch(a){return void setTimeout(p,50)}m()}h=function(){var a,h=document.createElement("div");h.innerHTML=i,i=null,(h=h.getElementsByTagName("svg")[0])&&(h.setAttribute("aria-hidden","true"),h.style.position="absolute",h.style.width=0,h.style.height=0,h.style.overflow="hidden",h=h,(a=document.body).firstChild?t(h,a.firstChild):a.appendChild(h))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(c=function(){document.removeEventListener("DOMContentLoaded",c,!1),h()},document.addEventListener("DOMContentLoaded",c,!1)):document.attachEvent&&(l=h,z=a.document,o=!1,p(),z.onreadystatechange=function(){"complete"==z.readyState&&(z.onreadystatechange=null,m())})}(window); \ No newline at end of file +!(function (a) { let h; let c; let l; let z; let o; let i = ''; var v = (v = document.getElementsByTagName('script'))[v.length - 1].getAttribute('data-injectcss'); const t = function (a, h) { h.parentNode.insertBefore(a, h) }; if (v && !a.__iconfont__svg__cssinject__) { a.__iconfont__svg__cssinject__ = !0; try { document.write('') } catch (a) { console && console.log(a) } } function m () { o || (o = !0, l()) } function p () { try { z.documentElement.doScroll('left') } catch (a) { return void setTimeout(p, 50) }m() }h = function () { let a; let h = document.createElement('div'); h.innerHTML = i, i = null, (h = h.getElementsByTagName('svg')[0]) && (h.setAttribute('aria-hidden', 'true'), h.style.position = 'absolute', h.style.width = 0, h.style.height = 0, h.style.overflow = 'hidden', h = h, (a = document.body).firstChild ? t(h, a.firstChild) : a.appendChild(h)) }, document.addEventListener ? ~['complete', 'loaded', 'interactive'].indexOf(document.readyState) ? setTimeout(h, 0) : (c = function () { document.removeEventListener('DOMContentLoaded', c, !1), h() }, document.addEventListener('DOMContentLoaded', c, !1)) : document.attachEvent && (l = h, z = a.document, o = !1, p(), z.onreadystatechange = function () { z.readyState == 'complete' && (z.onreadystatechange = null, m()) }) }(window)) diff --git a/nezha-fronted/src/components/chart/chart/chartAutotopology.vue b/nezha-fronted/src/components/chart/chart/chartAutotopology.vue index 90161acc4..c156e941a 100644 --- a/nezha-fronted/src/components/chart/chart/chartAutotopology.vue +++ b/nezha-fronted/src/components/chart/chart/chartAutotopology.vue @@ -60,10 +60,10 @@ export default { if (res2.length == 0) { this.topologyLoading = false } - // res2.forEach(item => { - // temp.push(item) - // }) - temp.push(res2[2]) + res2.forEach(item => { + temp.push(item) + }) + // temp.push(res2[2]) this.allProject = JSON.parse(JSON.stringify(temp)) temp = null axiosAll = null @@ -101,6 +101,9 @@ export default { }, mounted () { this.queryAllProjectData() + }, + beforeDestroy () { + this.allProject = [] } } diff --git a/nezha-fronted/src/components/chart/chart/chartBar.vue b/nezha-fronted/src/components/chart/chart/chartBar.vue index faba90b60..2abebcc85 100644 --- a/nezha-fronted/src/components/chart/chart/chartBar.vue +++ b/nezha-fronted/src/components/chart/chart/chartBar.vue @@ -28,7 +28,7 @@ import { formatScientificNotation, getMetricTypeValue } from '@/components/commo import chartDataFormat from '@/components/chart/chartDataFormat' import { initColor } from '@/components/chart/chart/tools' import lodash from 'lodash' -import bus from "@/libs/bus"; +import bus from '@/libs/bus' export default { name: 'chart-bar', diff --git a/nezha-fronted/src/components/chart/chartMixin.js b/nezha-fronted/src/components/chart/chartMixin.js index dab16c545..652f2e75f 100644 --- a/nezha-fronted/src/components/chart/chartMixin.js +++ b/nezha-fronted/src/components/chart/chartMixin.js @@ -293,7 +293,6 @@ export default { } }, mounted () { - this.chartId = `${this.chartInfo.id}${this.isFullscreen ? '-fullscreen' : ''}` }, beforeDestroy () { diff --git a/nezha-fronted/src/components/chart/panelChart.vue b/nezha-fronted/src/components/chart/panelChart.vue index aaaaef59b..aaef3cee1 100644 --- a/nezha-fronted/src/components/chart/panelChart.vue +++ b/nezha-fronted/src/components/chart/panelChart.vue @@ -496,7 +496,7 @@ export default { xhr.responseType = '' // 创建一个 post 请求,采用异步 xhr.open('get', 'http://192.168.44.100/' + nowUrl, true) - xhr.setRequestHeader('Authorization', localStorage.getItem('nz-token')); + xhr.setRequestHeader('Authorization', localStorage.getItem('nz-token')) // 注册相关事件回调处理函数 xhr.onload = function (e) { if (this.status == 200 || this.status == 304) { @@ -504,7 +504,7 @@ export default { resolve(JSON.parse(this.responseText)) } } - xhr.onerror = function(e) { console.log(e) }; + xhr.onerror = function (e) { console.log(e) } // 发送数据 xhr.send() }) diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/index.js b/nezha-fronted/src/components/common/@topology/activity-diagram/index.js index 93b5c05df..65d21e838 100644 --- a/nezha-fronted/src/components/common/@topology/activity-diagram/index.js +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/index.js @@ -1,6 +1,6 @@ -export * from './src/final'; -export * from './src/fork'; -export * from './src/swimlaneH'; -export * from './src/swimlaneV'; -export * from './src/register'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './src/final' +export * from './src/fork' +export * from './src/swimlaneH' +export * from './src/swimlaneV' +export * from './src/register' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.js index 19e0f1268..bbc9e8174 100644 --- a/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.js +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.js @@ -1,10 +1,10 @@ -export function activityFinal(ctx, node) { - ctx.beginPath(); - ctx.ellipse(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 2, node.rect.width / 2, node.rect.height / 2, 0, 0, Math.PI * 2); - ctx.stroke(); - ctx.beginPath(); - ctx.fillStyle = ctx.strokeStyle; - ctx.ellipse(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 2, node.rect.width / 4, node.rect.height / 4, 0, 0, Math.PI * 2); - ctx.fill(); +export function activityFinal (ctx, node) { + ctx.beginPath() + ctx.ellipse(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 2, node.rect.width / 2, node.rect.height / 2, 0, 0, Math.PI * 2) + ctx.stroke() + ctx.beginPath() + ctx.fillStyle = ctx.strokeStyle + ctx.ellipse(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 2, node.rect.width / 4, node.rect.height / 4, 0, 0, Math.PI * 2) + ctx.fill() } -//# sourceMappingURL=final.js.map \ No newline at end of file +// # sourceMappingURL=final.js.map diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.rect.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.rect.js index a5f08d68b..f8944efb5 100644 --- a/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.rect.js +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/final.rect.js @@ -1,11 +1,11 @@ -import { Rect } from '@topology/core'; -export function activityFinalIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '@topology/core' +export function activityFinalIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function activityFinalTextRect(node) { - var w = (node.rect.width * 5) / 7; - var h = (node.rect.height * 5) / 7; - node.textRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + (node.rect.height - h) / 2, w, h); - node.fullTextRect = node.textRect; +export function activityFinalTextRect (node) { + const w = (node.rect.width * 5) / 7 + const h = (node.rect.height * 5) / 7 + node.textRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + (node.rect.height - h) / 2, w, h) + node.fullTextRect = node.textRect } -//# sourceMappingURL=final.rect.js.map \ No newline at end of file +// # sourceMappingURL=final.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/index.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/index.js index 55512438e..4aece1e96 100644 --- a/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/index.js +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/final/index.js @@ -1,3 +1,3 @@ -export * from './final'; -export * from './final.rect'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './final' +export * from './final.rect' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.anchor.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.anchor.js index fdc19756d..85f5bfd36 100644 --- a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.anchor.js +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.anchor.js @@ -1,28 +1,28 @@ -import { Point, Direction } from '@topology/core'; -export function forkHAnchors(node) { - node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); - node.anchors.push(new Point(node.rect.ex, node.rect.y + node.rect.height / 2, Direction.Right)); - var dis = 5; - for (var i = dis; node.rect.x + i < node.rect.ex; i = i + dis) { - var pt1 = new Point(node.rect.x + i, node.rect.y, Direction.Up); - var pt2 = new Point(node.rect.x + i, node.rect.ey, Direction.Bottom); - pt1.hidden = true; - pt2.hidden = true; - node.anchors.push(pt1); - node.anchors.push(pt2); - } +import { Point, Direction } from '@topology/core' +export function forkHAnchors (node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)) + node.anchors.push(new Point(node.rect.ex, node.rect.y + node.rect.height / 2, Direction.Right)) + const dis = 5 + for (let i = dis; node.rect.x + i < node.rect.ex; i = i + dis) { + const pt1 = new Point(node.rect.x + i, node.rect.y, Direction.Up) + const pt2 = new Point(node.rect.x + i, node.rect.ey, Direction.Bottom) + pt1.hidden = true + pt2.hidden = true + node.anchors.push(pt1) + node.anchors.push(pt2) + } } -export function forkVAnchors(node) { - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.ey, Direction.Bottom)); - var dis = 5; - for (var i = dis; node.rect.y + i < node.rect.ey; i = i + dis) { - var pt1 = new Point(node.rect.x, node.rect.y + i, Direction.Left); - var pt2 = new Point(node.rect.ex, node.rect.y + i, Direction.Right); - pt1.hidden = true; - pt2.hidden = true; - node.anchors.push(pt1); - node.anchors.push(pt2); - } +export function forkVAnchors (node) { + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.ey, Direction.Bottom)) + const dis = 5 + for (let i = dis; node.rect.y + i < node.rect.ey; i = i + dis) { + const pt1 = new Point(node.rect.x, node.rect.y + i, Direction.Left) + const pt2 = new Point(node.rect.ex, node.rect.y + i, Direction.Right) + pt1.hidden = true + pt2.hidden = true + node.anchors.push(pt1) + node.anchors.push(pt2) + } } -//# sourceMappingURL=fork.anchor.js.map \ No newline at end of file +// # sourceMappingURL=fork.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.js index ed389fc0e..071c32b5a 100644 --- a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.js +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.js @@ -1,25 +1,25 @@ -export function fork(ctx, node) { - var wr = node.borderRadius; - var hr = node.borderRadius; - if (node.borderRadius < 1) { - wr = node.rect.width * node.borderRadius; - hr = node.rect.height * node.borderRadius; - } - var r = wr < hr ? wr : hr; - if (node.rect.width < 2 * r) { - r = node.rect.width / 2; - } - if (node.rect.height < 2 * r) { - r = node.rect.height / 2; - } - ctx.beginPath(); - ctx.moveTo(node.rect.x + r, node.rect.y); - ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r); - ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r); - ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r); - ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r); - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function fork (ctx, node) { + let wr = node.borderRadius + let hr = node.borderRadius + if (node.borderRadius < 1) { + wr = node.rect.width * node.borderRadius + hr = node.rect.height * node.borderRadius + } + let r = wr < hr ? wr : hr + if (node.rect.width < 2 * r) { + r = node.rect.width / 2 + } + if (node.rect.height < 2 * r) { + r = node.rect.height / 2 + } + ctx.beginPath() + ctx.moveTo(node.rect.x + r, node.rect.y) + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r) + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r) + ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r) + ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r) + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=fork.js.map \ No newline at end of file +// # sourceMappingURL=fork.js.map diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.rect.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.rect.js index b00a0083f..457f8ec0e 100644 --- a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.rect.js +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/fork.rect.js @@ -1,9 +1,9 @@ -import { Rect } from '@topology/core'; -export function forkIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '@topology/core' +export function forkIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function forkTextRect(node) { - node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, node.rect.height); - node.fullTextRect = node.textRect; +export function forkTextRect (node) { + node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, node.rect.height) + node.fullTextRect = node.textRect } -//# sourceMappingURL=fork.rect.js.map \ No newline at end of file +// # sourceMappingURL=fork.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/index.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/index.js index d602e3900..ac78c9d77 100644 --- a/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/index.js +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/fork/index.js @@ -1,4 +1,4 @@ -export * from './fork'; -export * from './fork.rect'; -export * from './fork.anchor'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './fork' +export * from './fork.rect' +export * from './fork.anchor' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/register.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/register.js index 97ad85f88..959b1884b 100644 --- a/nezha-fronted/src/components/common/@topology/activity-diagram/src/register.js +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/register.js @@ -1,13 +1,13 @@ -import { registerNode } from '@topology/core'; -import { activityFinal, activityFinalIconRect, activityFinalTextRect } from './final'; -import { fork, forkHAnchors, forkVAnchors, forkIconRect, forkTextRect } from './fork'; -import { swimlaneH, swimlaneHIconRect, swimlaneHTextRect } from './swimlaneH'; -import { swimlaneV, swimlaneVIconRect, swimlaneVTextRect } from './swimlaneV'; -export function register() { - registerNode('activityFinal', activityFinal, null, activityFinalIconRect, activityFinalTextRect); - registerNode('swimlaneV', swimlaneV, null, swimlaneVIconRect, swimlaneVTextRect); - registerNode('swimlaneH', swimlaneH, null, swimlaneHIconRect, swimlaneHTextRect); - registerNode('forkH', fork, forkHAnchors, forkIconRect, forkTextRect); - registerNode('forkV', fork, forkVAnchors, forkIconRect, forkTextRect); +import { registerNode } from '@topology/core' +import { activityFinal, activityFinalIconRect, activityFinalTextRect } from './final' +import { fork, forkHAnchors, forkVAnchors, forkIconRect, forkTextRect } from './fork' +import { swimlaneH, swimlaneHIconRect, swimlaneHTextRect } from './swimlaneH' +import { swimlaneV, swimlaneVIconRect, swimlaneVTextRect } from './swimlaneV' +export function register () { + registerNode('activityFinal', activityFinal, null, activityFinalIconRect, activityFinalTextRect) + registerNode('swimlaneV', swimlaneV, null, swimlaneVIconRect, swimlaneVTextRect) + registerNode('swimlaneH', swimlaneH, null, swimlaneHIconRect, swimlaneHTextRect) + registerNode('forkH', fork, forkHAnchors, forkIconRect, forkTextRect) + registerNode('forkV', fork, forkVAnchors, forkIconRect, forkTextRect) } -//# sourceMappingURL=register.js.map \ No newline at end of file +// # sourceMappingURL=register.js.map diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/index.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/index.js index 36680fce0..d85646311 100644 --- a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/index.js +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/index.js @@ -1,3 +1,3 @@ -export * from './swimlaneH'; -export * from './swimlaneH.rect'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './swimlaneH' +export * from './swimlaneH.rect' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.js index 32ce0484e..1d107c7bf 100644 --- a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.js +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.js @@ -1,27 +1,27 @@ -export function swimlaneH(ctx, node) { - var wr = node.borderRadius; - var hr = node.borderRadius; - if (node.borderRadius < 1) { - wr = node.rect.width * node.borderRadius; - hr = node.rect.height * node.borderRadius; - } - var r = wr < hr ? wr : hr; - if (node.rect.width < 2 * r) { - r = node.rect.width / 2; - } - if (node.rect.height < 2 * r) { - r = node.rect.height / 2; - } - ctx.beginPath(); - ctx.moveTo(node.rect.x + r, node.rect.y); - ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r); - ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r); - ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r); - ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r); - ctx.closePath(); - ctx.moveTo(node.rect.x + 40, node.rect.y); - ctx.lineTo(node.rect.x + 40, node.rect.ey); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function swimlaneH (ctx, node) { + let wr = node.borderRadius + let hr = node.borderRadius + if (node.borderRadius < 1) { + wr = node.rect.width * node.borderRadius + hr = node.rect.height * node.borderRadius + } + let r = wr < hr ? wr : hr + if (node.rect.width < 2 * r) { + r = node.rect.width / 2 + } + if (node.rect.height < 2 * r) { + r = node.rect.height / 2 + } + ctx.beginPath() + ctx.moveTo(node.rect.x + r, node.rect.y) + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r) + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r) + ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r) + ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r) + ctx.closePath() + ctx.moveTo(node.rect.x + 40, node.rect.y) + ctx.lineTo(node.rect.x + 40, node.rect.ey); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=swimlaneH.js.map \ No newline at end of file +// # sourceMappingURL=swimlaneH.js.map diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.rect.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.rect.js index b357ee22a..e369ba05c 100644 --- a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.rect.js +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneH/swimlaneH.rect.js @@ -1,9 +1,9 @@ -import { Rect } from '@topology/core'; -export function swimlaneHIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '@topology/core' +export function swimlaneHIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function swimlaneHTextRect(node) { - node.textRect = new Rect(node.rect.x + 10, node.rect.y, 20, node.rect.height); - node.fullTextRect = node.textRect; +export function swimlaneHTextRect (node) { + node.textRect = new Rect(node.rect.x + 10, node.rect.y, 20, node.rect.height) + node.fullTextRect = node.textRect } -//# sourceMappingURL=swimlaneH.rect.js.map \ No newline at end of file +// # sourceMappingURL=swimlaneH.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/index.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/index.js index 26157c9aa..9b88f7826 100644 --- a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/index.js +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/index.js @@ -1,3 +1,3 @@ -export * from './swimlaneV'; -export * from './swimlaneV.rect'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './swimlaneV' +export * from './swimlaneV.rect' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.js index a29721980..61c476be1 100644 --- a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.js +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.js @@ -1,27 +1,27 @@ -export function swimlaneV(ctx, node) { - var wr = node.borderRadius; - var hr = node.borderRadius; - if (node.borderRadius < 1) { - wr = node.rect.width * node.borderRadius; - hr = node.rect.height * node.borderRadius; - } - var r = wr < hr ? wr : hr; - if (node.rect.width < 2 * r) { - r = node.rect.width / 2; - } - if (node.rect.height < 2 * r) { - r = node.rect.height / 2; - } - ctx.beginPath(); - ctx.moveTo(node.rect.x + r, node.rect.y); - ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r); - ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r); - ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r); - ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r); - ctx.closePath(); - ctx.moveTo(node.rect.x, node.rect.y + 40); - ctx.lineTo(node.rect.ex, node.rect.y + 40); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function swimlaneV (ctx, node) { + let wr = node.borderRadius + let hr = node.borderRadius + if (node.borderRadius < 1) { + wr = node.rect.width * node.borderRadius + hr = node.rect.height * node.borderRadius + } + let r = wr < hr ? wr : hr + if (node.rect.width < 2 * r) { + r = node.rect.width / 2 + } + if (node.rect.height < 2 * r) { + r = node.rect.height / 2 + } + ctx.beginPath() + ctx.moveTo(node.rect.x + r, node.rect.y) + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r) + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r) + ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r) + ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r) + ctx.closePath() + ctx.moveTo(node.rect.x, node.rect.y + 40) + ctx.lineTo(node.rect.ex, node.rect.y + 40); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=swimlaneV.js.map \ No newline at end of file +// # sourceMappingURL=swimlaneV.js.map diff --git a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.rect.js b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.rect.js index d53b7436a..4fed56e36 100644 --- a/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.rect.js +++ b/nezha-fronted/src/components/common/@topology/activity-diagram/src/swimlaneV/swimlaneV.rect.js @@ -1,9 +1,9 @@ -import { Rect } from '@topology/core'; -export function swimlaneVIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '@topology/core' +export function swimlaneVIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function swimlaneVTextRect(node) { - node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, 40); - node.fullTextRect = node.textRect; +export function swimlaneVTextRect (node) { + node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, 40) + node.fullTextRect = node.textRect } -//# sourceMappingURL=swimlaneV.rect.js.map \ No newline at end of file +// # sourceMappingURL=swimlaneV.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/chart-diagram/index.js b/nezha-fronted/src/components/common/@topology/chart-diagram/index.js index 6986612a0..ce0c9323f 100644 --- a/nezha-fronted/src/components/common/@topology/chart-diagram/index.js +++ b/nezha-fronted/src/components/common/@topology/chart-diagram/index.js @@ -1,3 +1,3 @@ -export * from './src/echarts'; -export * from './src/register'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './src/echarts' +export * from './src/register' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/chart-diagram/src/echarts/index.js b/nezha-fronted/src/components/common/@topology/chart-diagram/src/echarts/index.js index 244f32aad..c52ed5c0c 100644 --- a/nezha-fronted/src/components/common/@topology/chart-diagram/src/echarts/index.js +++ b/nezha-fronted/src/components/common/@topology/chart-diagram/src/echarts/index.js @@ -1,44 +1,44 @@ -import { s8, createDiv, rectangle } from '@topology/core'; -export var echartsObjs = {}; -export function echarts(ctx, node) { - // 绘制一个底图,类似于占位符。 - rectangle(ctx, node); - // tslint:disable-next-line:no-shadowed-variable - var echarts = echartsObjs.echarts || window.echarts; - if (!node.data || !echarts) { - return; - } - if (typeof node.data === 'string') { - node.data = JSON.parse(node.data); - } - if (!node.data.echarts) { - return; - } - if (!node.elementId) { - node.elementId = s8(); - } - if (!node.elementLoaded) { - echartsObjs[node.id] = { - div: createDiv(node), - }; - node.elementLoaded = true; - document.body.appendChild(echartsObjs[node.id].div); - // 添加当前节点到div层 - node.addToDiv(); - echartsObjs[node.id].chart = echarts.init(echartsObjs[node.id].div, node.data.echarts.theme); - node.elementRendered = false; - // 等待父div先渲染完成,避免初始图表控件太大 - setTimeout(function () { - echartsObjs[node.id].chart.resize(); - }); - } - if (!node.elementRendered) { - // 初始化时,等待父div先渲染完成,避免初始图表控件太大。 - setTimeout(function () { - echartsObjs[node.id].chart.setOption(node.data.echarts.option); - echartsObjs[node.id].chart.resize(); - node.elementRendered = true; - }); +import { s8, createDiv, rectangle } from '@topology/core' +export var echartsObjs = {} +export function echarts (ctx, node) { + // 绘制一个底图,类似于占位符。 + rectangle(ctx, node) + // tslint:disable-next-line:no-shadowed-variable + const echarts = echartsObjs.echarts || window.echarts + if (!node.data || !echarts) { + return + } + if (typeof node.data === 'string') { + node.data = JSON.parse(node.data) + } + if (!node.data.echarts) { + return + } + if (!node.elementId) { + node.elementId = s8() + } + if (!node.elementLoaded) { + echartsObjs[node.id] = { + div: createDiv(node) } + node.elementLoaded = true + document.body.appendChild(echartsObjs[node.id].div) + // 添加当前节点到div层 + node.addToDiv() + echartsObjs[node.id].chart = echarts.init(echartsObjs[node.id].div, node.data.echarts.theme) + node.elementRendered = false + // 等待父div先渲染完成,避免初始图表控件太大 + setTimeout(function () { + echartsObjs[node.id].chart.resize() + }) + } + if (!node.elementRendered) { + // 初始化时,等待父div先渲染完成,避免初始图表控件太大。 + setTimeout(function () { + echartsObjs[node.id].chart.setOption(node.data.echarts.option) + echartsObjs[node.id].chart.resize() + node.elementRendered = true + }) + } } -//# sourceMappingURL=index.js.map \ No newline at end of file +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/chart-diagram/src/register.js b/nezha-fronted/src/components/common/@topology/chart-diagram/src/register.js index 0a31149cf..dbda365c6 100644 --- a/nezha-fronted/src/components/common/@topology/chart-diagram/src/register.js +++ b/nezha-fronted/src/components/common/@topology/chart-diagram/src/register.js @@ -1,10 +1,10 @@ -import { registerNode, loadJS } from '@topology/core'; -import { echarts, echartsObjs } from './echarts'; -export function register(_echarts) { - echartsObjs.echarts = _echarts; - if (!echartsObjs.echarts && !window.echarts) { - loadJS('https://cdn.bootcdn.net/ajax/libs/echarts/4.8.0/echarts.min.js', null, true); - } - registerNode('echarts', echarts, null, null, null); +import { registerNode, loadJS } from '@topology/core' +import { echarts, echartsObjs } from './echarts' +export function register (_echarts) { + echartsObjs.echarts = _echarts + if (!echartsObjs.echarts && !window.echarts) { + loadJS('https://cdn.bootcdn.net/ajax/libs/echarts/4.8.0/echarts.min.js', null, true) + } + registerNode('echarts', echarts, null, null, null) } -//# sourceMappingURL=register.js.map \ No newline at end of file +// # sourceMappingURL=register.js.map diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/index.js b/nezha-fronted/src/components/common/@topology/class-diagram/index.js index b1c532976..2d0c5b9d5 100644 --- a/nezha-fronted/src/components/common/@topology/class-diagram/index.js +++ b/nezha-fronted/src/components/common/@topology/class-diagram/index.js @@ -1,3 +1,3 @@ -export * from './src/class'; -export * from './src/register'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './src/class' +export * from './src/register' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.js b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.js index 20eb982a7..9604c76ff 100644 --- a/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.js +++ b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.js @@ -1,56 +1,56 @@ -export function simpleClass(ctx, node) { - var wr = node.borderRadius; - var hr = node.borderRadius; - if (node.borderRadius < 1) { - wr = node.rect.width * node.borderRadius; - hr = node.rect.height * node.borderRadius; - } - var r = wr < hr ? wr : hr; - if (node.rect.width < 2 * r) { - r = node.rect.width / 2; - } - if (node.rect.height < 2 * r) { - r = node.rect.height / 2; - } - ctx.beginPath(); - ctx.moveTo(node.rect.x + r, node.rect.y); - ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r); - ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r); - ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r); - ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r); - ctx.closePath(); - ctx.moveTo(node.rect.x, node.rect.y + 40); - ctx.lineTo(node.rect.ex, node.rect.y + 40); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function simpleClass (ctx, node) { + let wr = node.borderRadius + let hr = node.borderRadius + if (node.borderRadius < 1) { + wr = node.rect.width * node.borderRadius + hr = node.rect.height * node.borderRadius + } + let r = wr < hr ? wr : hr + if (node.rect.width < 2 * r) { + r = node.rect.width / 2 + } + if (node.rect.height < 2 * r) { + r = node.rect.height / 2 + } + ctx.beginPath() + ctx.moveTo(node.rect.x + r, node.rect.y) + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r) + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r) + ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r) + ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r) + ctx.closePath() + ctx.moveTo(node.rect.x, node.rect.y + 40) + ctx.lineTo(node.rect.ex, node.rect.y + 40); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -export function interfaceClass(ctx, node) { - var wr = node.borderRadius; - var hr = node.borderRadius; - if (node.borderRadius < 1) { - wr = node.rect.width * node.borderRadius; - hr = node.rect.height * node.borderRadius; - } - var r = wr < hr ? wr : hr; - if (node.rect.width < 2 * r) { - r = node.rect.width / 2; - } - if (node.rect.height < 2 * r) { - r = node.rect.height / 2; - } - ctx.beginPath(); - ctx.moveTo(node.rect.x + r, node.rect.y); - ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r); - ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r); - ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r); - ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r); - ctx.closePath(); - ctx.moveTo(node.rect.x, node.rect.y + 40); - ctx.lineTo(node.rect.ex, node.rect.y + 40); - var height = node.rect.y + 20 + node.rect.height / 2; - ctx.moveTo(node.rect.x, height); - ctx.lineTo(node.rect.ex, height); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function interfaceClass (ctx, node) { + let wr = node.borderRadius + let hr = node.borderRadius + if (node.borderRadius < 1) { + wr = node.rect.width * node.borderRadius + hr = node.rect.height * node.borderRadius + } + let r = wr < hr ? wr : hr + if (node.rect.width < 2 * r) { + r = node.rect.width / 2 + } + if (node.rect.height < 2 * r) { + r = node.rect.height / 2 + } + ctx.beginPath() + ctx.moveTo(node.rect.x + r, node.rect.y) + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r) + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r) + ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r) + ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r) + ctx.closePath() + ctx.moveTo(node.rect.x, node.rect.y + 40) + ctx.lineTo(node.rect.ex, node.rect.y + 40) + const height = node.rect.y + 20 + node.rect.height / 2 + ctx.moveTo(node.rect.x, height) + ctx.lineTo(node.rect.ex, height); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=class.js.map \ No newline at end of file +// # sourceMappingURL=class.js.map diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.rect.js b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.rect.js index 30f01d7c1..7390b41f6 100644 --- a/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.rect.js +++ b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/class.rect.js @@ -1,16 +1,16 @@ -import { Rect } from '@topology/core'; -export function simpleClassIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '@topology/core' +export function simpleClassIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function simpleClassTextRect(node) { - node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, 40); - node.fullTextRect = node.textRect; +export function simpleClassTextRect (node) { + node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, 40) + node.fullTextRect = node.textRect } -export function interfaceClassIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +export function interfaceClassIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function interfaceClassTextRect(node) { - node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, 40); - node.fullTextRect = node.textRect; +export function interfaceClassTextRect (node) { + node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, 40) + node.fullTextRect = node.textRect } -//# sourceMappingURL=class.rect.js.map \ No newline at end of file +// # sourceMappingURL=class.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/src/class/index.js b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/index.js index bf42da6d8..6b4f15d6e 100644 --- a/nezha-fronted/src/components/common/@topology/class-diagram/src/class/index.js +++ b/nezha-fronted/src/components/common/@topology/class-diagram/src/class/index.js @@ -1,3 +1,3 @@ -export * from './class'; -export * from './class.rect'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './class' +export * from './class.rect' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/class-diagram/src/register.js b/nezha-fronted/src/components/common/@topology/class-diagram/src/register.js index 2cf4fda55..1801d39fa 100644 --- a/nezha-fronted/src/components/common/@topology/class-diagram/src/register.js +++ b/nezha-fronted/src/components/common/@topology/class-diagram/src/register.js @@ -1,7 +1,7 @@ -import { registerNode } from '@topology/core'; -import { simpleClass, simpleClassIconRect, simpleClassTextRect, interfaceClass, interfaceClassIconRect, interfaceClassTextRect } from './class'; -export function register() { - registerNode('simpleClass', simpleClass, null, simpleClassIconRect, simpleClassTextRect); - registerNode('interfaceClass', interfaceClass, null, interfaceClassIconRect, interfaceClassTextRect); +import { registerNode } from '@topology/core' +import { simpleClass, simpleClassIconRect, simpleClassTextRect, interfaceClass, interfaceClassIconRect, interfaceClassTextRect } from './class' +export function register () { + registerNode('simpleClass', simpleClass, null, simpleClassIconRect, simpleClassTextRect) + registerNode('interfaceClass', interfaceClass, null, interfaceClassIconRect, interfaceClassTextRect) } -//# sourceMappingURL=register.js.map \ No newline at end of file +// # sourceMappingURL=register.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/index.js b/nezha-fronted/src/components/common/@topology/core/index.js index 2a5442982..91e1ba983 100644 --- a/nezha-fronted/src/components/common/@topology/core/index.js +++ b/nezha-fronted/src/components/common/@topology/core/index.js @@ -1,6 +1,6 @@ -export * from './src/core'; -export * from './src/options'; -export * from './src/utils'; -export * from './src/models'; -export * from './src/middles'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './src/core' +export * from './src/options' +export * from './src/utils' +export * from './src/models' +export * from './src/middles' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/activeLayer.js b/nezha-fronted/src/components/common/@topology/core/src/activeLayer.js index f1d2c6fc3..bbb273789 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/activeLayer.js +++ b/nezha-fronted/src/components/common/@topology/core/src/activeLayer.js @@ -1,743 +1,735 @@ -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -import { Store } from 'le5le-store'; -import { PenType } from './models/pen'; -import { Node } from './models/node'; -import { Line } from './models/line'; -import { Rect } from './models/rect'; -import { Point } from './models/point'; -import { Lock } from './models/status'; -import { drawLineFns } from './middles'; -import { getBezierPoint } from './middles/lines/curve'; -import { Layer } from './layer'; -import { find, flatNodes, getBboxOfPoints, rgba, deepClone, getRect } from './utils'; -var ActiveLayer = /** @class */ (function (_super) { - __extends(ActiveLayer, _super); - function ActiveLayer(options, TID) { - if (options === void 0) { options = {}; } - var _this = _super.call(this, TID) || this; - _this.options = options; - _this.rotateCPs = []; - _this.sizeCPs = []; - _this.pens = []; - _this.rotate = 0; - _this.lastOffsetX = 0; - _this.lastOffsetY = 0; - // 备份初始位置,方便移动事件处理 - _this.initialSizeCPs = []; - _this.nodeRects = []; - _this.childrenRects = {}; - _this.childrenRotate = {}; - // nodes移动时,停靠点的参考位置 - _this.dockWatchers = []; - _this.rotating = false; - Store.set(_this.generateStoreKey('LT:ActiveLayer'), _this); - return _this; +import { Store } from 'le5le-store' +import { PenType } from './models/pen' +import { Node } from './models/node' +import { Line } from './models/line' +import { Rect } from './models/rect' +import { Point } from './models/point' +import { Lock } from './models/status' +import { drawLineFns } from './middles' +import { getBezierPoint } from './middles/lines/curve' +import { Layer } from './layer' +import { find, flatNodes, getBboxOfPoints, rgba, deepClone, getRect } from './utils' +const __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b }) || + function (d, b) { for (const p in b) if (b.hasOwnProperty(p)) d[p] = b[p] } + return extendStatics(d, b) + } + return function (d, b) { + extendStatics(d, b) + function __ () { this.constructor = d } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()) + } +})() +const ActiveLayer = /** @class */ (function (_super) { + __extends(ActiveLayer, _super) + function ActiveLayer (options, TID) { + if (options === void 0) { options = {} } + const _this = _super.call(this, TID) || this + _this.options = options + _this.rotateCPs = [] + _this.sizeCPs = [] + _this.pens = [] + _this.rotate = 0 + _this.lastOffsetX = 0 + _this.lastOffsetY = 0 + // 备份初始位置,方便移动事件处理 + _this.initialSizeCPs = [] + _this.nodeRects = [] + _this.childrenRects = {} + _this.childrenRotate = {} + // nodes移动时,停靠点的参考位置 + _this.dockWatchers = [] + _this.rotating = false + Store.set(_this.generateStoreKey('LT:ActiveLayer'), _this) + // return _this + } + ActiveLayer.prototype.calcControlPoints = function () { + if (this.pens.length === 1 && this.pens[0] instanceof Node) { + this.rect = this.pens[0].rect + this.sizeCPs = this.pens[0].rect.toPoints() + this.rotateCPs = [ + new Point(this.pens[0].rect.x + this.pens[0].rect.width / 2, this.pens[0].rect.y - 35), + new Point(this.pens[0].rect.x + this.pens[0].rect.width / 2, this.pens[0].rect.y) + ] + if (this.rotate || this.pens[0].rotate) { + for (let _i = 0, _a = this.sizeCPs; _i < _a.length; _i++) { + var pt = _a[_i] + if (this.pens[0].rotate) { + pt.rotate(this.pens[0].rotate, this.pens[0].rect.center) + } + if (this.rotate) { + pt.rotate(this.rotate, this.rect.center) + } + } + for (let _b = 0, _c = this.rotateCPs; _b < _c.length; _b++) { + var pt = _c[_b] + if (this.pens[0].rotate) { + pt.rotate(this.pens[0].rotate, this.pens[0].rect.center) + } + if (this.rotate) { + pt.rotate(this.rotate, this.rect.center) + } + } + } + if (this.options.hideRotateCP || this.pens[0].hideRotateCP) { + this.rotateCPs = [new Point(-1000, -1000), new Point(-1000, -1000)] + } + return } - ActiveLayer.prototype.calcControlPoints = function () { - if (this.pens.length === 1 && this.pens[0] instanceof Node) { - this.rect = this.pens[0].rect; - this.sizeCPs = this.pens[0].rect.toPoints(); - this.rotateCPs = [ - new Point(this.pens[0].rect.x + this.pens[0].rect.width / 2, this.pens[0].rect.y - 35), - new Point(this.pens[0].rect.x + this.pens[0].rect.width / 2, this.pens[0].rect.y), - ]; - if (this.rotate || this.pens[0].rotate) { - for (var _i = 0, _a = this.sizeCPs; _i < _a.length; _i++) { - var pt = _a[_i]; - if (this.pens[0].rotate) { - pt.rotate(this.pens[0].rotate, this.pens[0].rect.center); - } - if (this.rotate) { - pt.rotate(this.rotate, this.rect.center); - } - } - for (var _b = 0, _c = this.rotateCPs; _b < _c.length; _b++) { - var pt = _c[_b]; - if (this.pens[0].rotate) { - pt.rotate(this.pens[0].rotate, this.pens[0].rect.center); - } - if (this.rotate) { - pt.rotate(this.rotate, this.rect.center); - } - } + const _d = getBboxOfPoints(this.getPoints()); const x1 = _d.x1; const y1 = _d.y1; const x2 = _d.x2; const y2 = _d.y2 + this.rect = new Rect(x1, y1, x2 - x1, y2 - y1) + this.sizeCPs = [ + new Point(x1, y1), + new Point(x2, y1), + new Point(x2, y2), + new Point(x1, y2) + ] + this.rotateCPs = [ + new Point(x1 + (x2 - x1) / 2, y1 - 35), + new Point(x1 + (x2 - x1) / 2, y1) + ] + if (this.options.hideRotateCP) { + this.rotateCPs = [new Point(-1000, -1000), new Point(-1000, -1000)] + } + } + ActiveLayer.prototype.locked = function () { + for (let _i = 0, _a = this.pens; _i < _a.length; _i++) { + const item = _a[_i] + if (!item.locked) { + return false + } + } + return true + } + ActiveLayer.prototype.getPoints = function () { + const points = [] + for (let _i = 0, _a = this.pens; _i < _a.length; _i++) { + const item = _a[_i] + if (item.type === PenType.Node) { + const pts = item.rect.toPoints() + if (item.rotate) { + for (let _b = 0, pts_1 = pts; _b < pts_1.length; _b++) { + const pt = pts_1[_b] + pt.rotate(item.rotate, item.rect.center) + } + } + points.push.apply(points, pts) + } else if (item instanceof Line) { + if (item.children) { + item.children.forEach(function (child) { + points.push(child.from) + points.push(child.to) + if (child.name === 'curve') { + for (let i = 0.01; i < 1; i += 0.02) { + points.push(getBezierPoint(i, child.from, child.controlPoints[0], child.controlPoints[1], child.to)) + } } - if (this.options.hideRotateCP || this.pens[0].hideRotateCP) { - this.rotateCPs = [new Point(-1000, -1000), new Point(-1000, -1000)]; + }) + } else if (item.from) { + points.push(item.from) + points.push(item.to) + if (item.name === 'curve') { + for (let i = 0.01; i < 1; i += 0.02) { + points.push(getBezierPoint(i, item.from, item.controlPoints[0], item.controlPoints[1], item.to)) } - return; + } } - var _d = getBboxOfPoints(this.getPoints()), x1 = _d.x1, y1 = _d.y1, x2 = _d.x2, y2 = _d.y2; - this.rect = new Rect(x1, y1, x2 - x1, y2 - y1); - this.sizeCPs = [ - new Point(x1, y1), - new Point(x2, y1), - new Point(x2, y2), - new Point(x1, y2), - ]; - this.rotateCPs = [ - new Point(x1 + (x2 - x1) / 2, y1 - 35), - new Point(x1 + (x2 - x1) / 2, y1), - ]; - if (this.options.hideRotateCP) { - this.rotateCPs = [new Point(-1000, -1000), new Point(-1000, -1000)]; + } + } + return points + } + ActiveLayer.prototype.clear = function () { + this.pens = [] + this.sizeCPs = [] + this.rotateCPs = [] + Store.set(this.generateStoreKey('LT:activeNode'), undefined) + } + // 即将缩放选中的nodes,备份nodes最初大小,方便缩放比例计算 + ActiveLayer.prototype.saveNodeRects = function () { + this.nodeRects = [] + this.childrenRects = {} + for (let _i = 0, _a = this.pens; _i < _a.length; _i++) { + var item = _a[_i] + if (item.type && item.from) { + this.nodeRects.push(new Rect(item.from.x, item.from.y, item.rect.width, item.rect.height)) + } else { + this.nodeRects.push(new Rect(item.rect.x, item.rect.y, item.rect.width, item.rect.height)) + } + this.saveChildrenRects(item) + } + this.initialSizeCPs = [] + for (let _b = 0, _c = this.sizeCPs; _b < _c.length; _b++) { + var item = _c[_b] + this.initialSizeCPs.push(item.clone()) + } + this.getDockWatchers() + } + ActiveLayer.prototype.saveChildrenRects = function (node) { + if (node.type || !node.children) { + return + } + for (let _i = 0, _a = node.children; _i < _a.length; _i++) { + const item = _a[_i] + this.childrenRects[item.id] = new Rect(item.rect.x, item.rect.y, item.rect.width, item.rect.height) + this.childrenRotate[item.id] = item.rotate + this.saveChildrenRects(item) + } + } + // pt1 - the point of mouse down. + // pt2 - the point of mouse move. + ActiveLayer.prototype.resize = function (type, pt1, pt2) { + const p1 = new Point(pt1.x, pt1.y) + const p2 = new Point(pt2.x, pt2.y) + if (this.pens.length === 1 && this.pens[0].rotate % 360) { + p1.rotate(-this.pens[0].rotate, this.nodeRects[0].center) + p2.rotate(-this.pens[0].rotate, this.nodeRects[0].center) + } + const x = p2.x - p1.x + const y = p2.y - p1.y + let offsetX = x - this.lastOffsetX + let offsetY = y - this.lastOffsetY + this.lastOffsetX = x + this.lastOffsetY = y + const w = this.activeRect.width + const h = this.activeRect.height + if (pt2.shiftKey) { + offsetY = (offsetX * h) / w + } + // const lines: Line[] = []; + switch (type) { + case 0: + if (this.activeRect.width - offsetX < 5 || this.activeRect.height - offsetY < 5) { + return } - }; - ActiveLayer.prototype.locked = function () { - for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { - var item = _a[_i]; - if (!item.locked) { - return false; - } + if (!pt2.shiftKey) { + // offsetX = -offsetX; + // offsetY = -offsetY; + this.activeRect.x += offsetX + this.activeRect.y += offsetY + this.activeRect.width -= offsetX + this.activeRect.height -= offsetY + } else { + offsetX = -offsetX + offsetY = -offsetY + this.activeRect.ex += offsetX + this.activeRect.ey += offsetY + this.activeRect.width += offsetX + this.activeRect.height += offsetY } - return true; - }; - ActiveLayer.prototype.getPoints = function () { - var points = []; - for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { - var item = _a[_i]; - if (item.type === PenType.Node) { - var pts = item.rect.toPoints(); - if (item.rotate) { - for (var _b = 0, pts_1 = pts; _b < pts_1.length; _b++) { - var pt = pts_1[_b]; - pt.rotate(item.rotate, item.rect.center); - } - } - points.push.apply(points, pts); - } - else if (item instanceof Line) { - if (item.children) { - item.children.forEach(function (child) { - points.push(child.from); - points.push(child.to); - if (child.name === 'curve') { - for (var i = 0.01; i < 1; i += 0.02) { - points.push(getBezierPoint(i, child.from, child.controlPoints[0], child.controlPoints[1], child.to)); - } - } - }); - } - else if (item.from) { - points.push(item.from); - points.push(item.to); - if (item.name === 'curve') { - for (var i = 0.01; i < 1; i += 0.02) { - points.push(getBezierPoint(i, item.from, item.controlPoints[0], item.controlPoints[1], item.to)); - } - } - } - } + break + case 1: + // offsetY = -offsetY; + if (this.activeRect.width + offsetX < 5 || this.activeRect.height - offsetY < 5) { + return } - return points; - }; - ActiveLayer.prototype.clear = function () { - this.pens = []; - this.sizeCPs = []; - this.rotateCPs = []; - Store.set(this.generateStoreKey('LT:activeNode'), undefined); - }; - // 即将缩放选中的nodes,备份nodes最初大小,方便缩放比例计算 - ActiveLayer.prototype.saveNodeRects = function () { - this.nodeRects = []; - this.childrenRects = {}; - for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { - var item = _a[_i]; - if (item.type && item.from) { - this.nodeRects.push(new Rect(item.from.x, item.from.y, item.rect.width, item.rect.height)); - } - else { - this.nodeRects.push(new Rect(item.rect.x, item.rect.y, item.rect.width, item.rect.height)); - } - this.saveChildrenRects(item); + if (!pt2.shiftKey) { + this.activeRect.ex += offsetX + this.activeRect.y += offsetY + this.activeRect.width += offsetX + this.activeRect.height -= offsetY + } else { + // offsetX = -offsetX; + // offsetY = -offsetY; + this.activeRect.ex += offsetX + this.activeRect.ey += offsetY + this.activeRect.width += offsetX + this.activeRect.height += offsetY } - this.initialSizeCPs = []; - for (var _b = 0, _c = this.sizeCPs; _b < _c.length; _b++) { - var item = _c[_b]; - this.initialSizeCPs.push(item.clone()); + break + case 2: + if (this.activeRect.width + offsetX < 5 || this.activeRect.height + offsetY < 5) { + return } - this.getDockWatchers(); - }; - ActiveLayer.prototype.saveChildrenRects = function (node) { - if (node.type || !node.children) { - return; + this.activeRect.ex += offsetX + this.activeRect.ey += offsetY + this.activeRect.width += offsetX + this.activeRect.height += offsetY + break + case 3: + // offsetX = -offsetX; + if (this.activeRect.width - offsetX < 5 || this.activeRect.height + offsetY < 5) { + return } - for (var _i = 0, _a = node.children; _i < _a.length; _i++) { - var item = _a[_i]; - this.childrenRects[item.id] = new Rect(item.rect.x, item.rect.y, item.rect.width, item.rect.height); - this.childrenRotate[item.id] = item.rotate; - this.saveChildrenRects(item); + if (!pt2.shiftKey) { + this.activeRect.x += offsetX + this.activeRect.ey += offsetY + this.activeRect.width -= offsetX + this.activeRect.height += offsetY + } else { + offsetX = -offsetX + offsetY = -offsetY + this.activeRect.ex += offsetX + this.activeRect.ey += offsetY + this.activeRect.width += offsetX + this.activeRect.height += offsetY } - }; - // pt1 - the point of mouse down. - // pt2 - the point of mouse move. - ActiveLayer.prototype.resize = function (type, pt1, pt2) { - var p1 = new Point(pt1.x, pt1.y); - var p2 = new Point(pt2.x, pt2.y); - if (this.pens.length === 1 && this.pens[0].rotate % 360) { - p1.rotate(-this.pens[0].rotate, this.nodeRects[0].center); - p2.rotate(-this.pens[0].rotate, this.nodeRects[0].center); - } - var x = p2.x - p1.x; - var y = p2.y - p1.y; - var offsetX = x - this.lastOffsetX; - var offsetY = y - this.lastOffsetY; - this.lastOffsetX = x; - this.lastOffsetY = y; - var w = this.activeRect.width; - var h = this.activeRect.height; - if (pt2.shiftKey) { - offsetY = (offsetX * h) / w; - } - // const lines: Line[] = []; - switch (type) { - case 0: - if (this.activeRect.width - offsetX < 5 || this.activeRect.height - offsetY < 5) { - return; - } - if (!pt2.shiftKey) { - // offsetX = -offsetX; - // offsetY = -offsetY; - this.activeRect.x += offsetX; - this.activeRect.y += offsetY; - this.activeRect.width -= offsetX; - this.activeRect.height -= offsetY; - } - else { - offsetX = -offsetX; - offsetY = -offsetY; - this.activeRect.ex += offsetX; - this.activeRect.ey += offsetY; - this.activeRect.width += offsetX; - this.activeRect.height += offsetY; - } - break; - case 1: - // offsetY = -offsetY; - if (this.activeRect.width + offsetX < 5 || this.activeRect.height - offsetY < 5) { - return; - } - if (!pt2.shiftKey) { - this.activeRect.ex += offsetX; - this.activeRect.y += offsetY; - this.activeRect.width += offsetX; - this.activeRect.height -= offsetY; - } - else { - // offsetX = -offsetX; - // offsetY = -offsetY; - this.activeRect.ex += offsetX; - this.activeRect.ey += offsetY; - this.activeRect.width += offsetX; - this.activeRect.height += offsetY; - } - break; - case 2: - if (this.activeRect.width + offsetX < 5 || this.activeRect.height + offsetY < 5) { - return; - } - this.activeRect.ex += offsetX; - this.activeRect.ey += offsetY; - this.activeRect.width += offsetX; - this.activeRect.height += offsetY; - break; - case 3: - // offsetX = -offsetX; - if (this.activeRect.width - offsetX < 5 || this.activeRect.height + offsetY < 5) { - return; - } - if (!pt2.shiftKey) { - this.activeRect.x += offsetX; - this.activeRect.ey += offsetY; - this.activeRect.width -= offsetX; - this.activeRect.height += offsetY; - } - else { - offsetX = -offsetX; - offsetY = -offsetY; - this.activeRect.ex += offsetX; - this.activeRect.ey += offsetY; - this.activeRect.width += offsetX; - this.activeRect.height += offsetY; - } - break; - } - var scaleX = this.activeRect.width / w; - var scaleY = this.activeRect.height / h; - // let i = 0; - for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { - var item = _a[_i]; - if (item.locked) { - continue; - } - switch (item.type) { - case PenType.Line: - break; - default: - item['oldRect'] = item.rect.clone(); - if (!this.options.disableSizeX && + break + } + const scaleX = this.activeRect.width / w + const scaleY = this.activeRect.height / h + // let i = 0; + for (let _i = 0, _a = this.pens; _i < _a.length; _i++) { + const item = _a[_i] + if (item.locked) { + continue + } + switch (item.type) { + case PenType.Line: + break + default: + item.oldRect = item.rect.clone() + if (!this.options.disableSizeX && !pt2.ctrlKey && !item.disableSizeX) { - // item.rect.width = this.nodeRects[i].width + offsetX; - item.rect.width *= scaleX; - if (item.imageWidth) { - item.imageWidth *= scaleX; - } - } - if (!this.options.disableSizeY && + // item.rect.width = this.nodeRects[i].width + offsetX; + item.rect.width *= scaleX + if (item.imageWidth) { + item.imageWidth *= scaleX + } + } + if (!this.options.disableSizeY && !pt2.altKey && !item.disableSizeY) { - // item.rect.height = this.nodeRects[i].height + offsetY; - item.rect.height *= scaleY; - if (item.imageHeight) { - item.imageHeight *= scaleY; - } - } - if ((!this.options.disableSizeX && + // item.rect.height = this.nodeRects[i].height + offsetY; + item.rect.height *= scaleY + if (item.imageHeight) { + item.imageHeight *= scaleY + } + } + if ((!this.options.disableSizeX && pt2.shiftKey && !item.disableSizeX) || (!this.options.disableSizeY && pt2.shiftKey && !item.disableSizeY)) { - // item.rect.width = this.nodeRects[i].width + offsetX; - // item.rect.height = this.nodeRects[i].height + offsetY; - item.rect.width *= scaleX; - item.rect.height *= scaleY; - if (item.imageWidth) { - item.imageWidth *= scaleX; - } - if (item.imageHeight) { - item.imageHeight *= scaleY; - } - } - switch (type) { - case 0: - item.rect.x = item.rect.ex - item.rect.width; - item.rect.y = item.rect.ey - item.rect.height; - break; - case 1: - item.rect.ex = item.rect.x + item.rect.width; - item.rect.y = item.rect.ey - item.rect.height; - break; - case 2: - item.rect.ex = item.rect.x + item.rect.width; - item.rect.ey = item.rect.y + item.rect.height; - break; - case 3: - item.rect.x = item.rect.ex - item.rect.width; - item.rect.ey = item.rect.y + item.rect.height; - break; - } - item.scalePoints(); - item.rect.calcCenter(); - item.init(); - item.calcChildrenRect(); - break; + // item.rect.width = this.nodeRects[i].width + offsetX; + // item.rect.height = this.nodeRects[i].height + offsetY; + item.rect.width *= scaleX + item.rect.height *= scaleY + if (item.imageWidth) { + item.imageWidth *= scaleX } - if (item.parentId) { - var parent_1 = void 0; - for (var _b = 0, _c = this.data.pens; _b < _c.length; _b++) { - var n = _c[_b]; - if (n.id === item.parentId) { - parent_1 = n; - item.calcRectInParent(parent_1); - break; - } - } + if (item.imageHeight) { + item.imageHeight *= scaleY } - // ++i; + } + switch (type) { + case 0: + item.rect.x = item.rect.ex - item.rect.width + item.rect.y = item.rect.ey - item.rect.height + break + case 1: + item.rect.ex = item.rect.x + item.rect.width + item.rect.y = item.rect.ey - item.rect.height + break + case 2: + item.rect.ex = item.rect.x + item.rect.width + item.rect.ey = item.rect.y + item.rect.height + break + case 3: + item.rect.x = item.rect.ex - item.rect.width + item.rect.ey = item.rect.y + item.rect.height + break + } + item.scalePoints() + item.rect.calcCenter() + item.init() + item.calcChildrenRect() + break + } + if (item.parentId) { + let parent_1 = void 0 + for (let _b = 0, _c = this.data.pens; _b < _c.length; _b++) { + const n = _c[_b] + if (n.id === item.parentId) { + parent_1 = n + item.calcRectInParent(parent_1) + break + } } - this.updateLines(); - }; - ActiveLayer.prototype.move = function (x, y) { - if (this.nodeRects.length !== this.pens.length) { - return; + } + // ++i; + } + this.updateLines() + } + ActiveLayer.prototype.move = function (x, y) { + if (this.nodeRects.length !== this.pens.length) { + return + } + let i = 0 + const _loop_1 = function (item) { + if (item.locked) { + return 'continue' + } + if (item instanceof Node) { + const offsetX = this_1.nodeRects[i].x + x - item.rect.x + const offsetY = this_1.nodeRects[i].y + y - item.rect.y + item.translate(offsetX, offsetY) + const lines = this_1.getLinesOfNode(item) + for (let _i = 0, lines_1 = lines; _i < lines_1.length; _i++) { + const line = lines_1[_i] + line.translate(offsetX, offsetY) } - var i = 0; - var _loop_1 = function (item) { - if (item.locked) { - return "continue"; + item.calcChildrenRect() + if (item.parentId && !item.locked) { + let parent_2 = void 0 + for (let _a = 0, _b = this_1.data.pens; _a < _b.length; _a++) { + const n = _b[_a] + if (n.id === item.parentId) { + parent_2 = n + item.calcRectInParent(parent_2) + break } - if (item instanceof Node) { - var offsetX = this_1.nodeRects[i].x + x - item.rect.x; - var offsetY = this_1.nodeRects[i].y + y - item.rect.y; - item.translate(offsetX, offsetY); - var lines = this_1.getLinesOfNode(item); - for (var _i = 0, lines_1 = lines; _i < lines_1.length; _i++) { - var line = lines_1[_i]; - line.translate(offsetX, offsetY); - } - item.calcChildrenRect(); - if (item.parentId && !item.locked) { - var parent_2 = void 0; - for (var _a = 0, _b = this_1.data.pens; _a < _b.length; _a++) { - var n = _b[_a]; - if (n.id === item.parentId) { - parent_2 = n; - item.calcRectInParent(parent_2); - break; - } - } - } + } + } + } + if (item instanceof Line && item.from) { + const offsetX_1 = this_1.nodeRects[i].x + x - item.from.x + const offsetY_1 = this_1.nodeRects[i].y + y - item.from.y + if (item.parentId) { + const items = find(item.parentId, this_1.data.pens) + items.forEach(function (l) { + l.translate(offsetX_1, offsetY_1) + }) + } else { + item.translate(offsetX_1, offsetY_1) + } + } + ++i + } + var this_1 = this + for (let _i = 0, _a = this.pens; _i < _a.length; _i++) { + const item = _a[_i] + _loop_1(item) + } + this.updateLines() + this.topology.dispatch('move', this.pens) + } + ActiveLayer.prototype.getLinesOfNode = function (node) { + const result = [] + const nodesLines = flatNodes([node]) + for (let _i = 0, _a = this.data.pens; _i < _a.length; _i++) { + const pen = _a[_i] + if (!(pen instanceof Line)) { + continue + } + const line = pen + let fromIn = false + let toIn = false + for (let _b = 0, _c = nodesLines.nodes; _b < _c.length; _b++) { + const item = _c[_b] + if (line.from && line.from.id === item.id) { + fromIn = true + } + if (line.to && line.to.id === item.id) { + toIn = true + } + } + if (fromIn && toIn) { + result.push(line) + } + } + return result + } + ActiveLayer.prototype.updateLines = function (pens) { + if (!pens) { + pens = this.pens + } + const allPens = flatNodes(this.data.pens) + const allLines = allPens.lines + let nodes = allPens.nodes + if (!this.options.autoAnchor) { // 非自动瞄点,只要活动层的 nodes + nodes = flatNodes(pens).nodes + } + const lines = [] + for (let _i = 0, allLines_1 = allLines; _i < allLines_1.length; _i++) { + const line = allLines_1[_i] + for (let _a = 0, nodes_1 = nodes; _a < nodes_1.length; _a++) { + const item = nodes_1[_a] + let cnt = 0 + if (line.from && line.from.id === item.id) { + if (line.from.autoAnchor) { + var autoAnchor = item.nearestAnchor(line.to) + if (autoAnchor.index > -1) { + line.from.anchorIndex = autoAnchor.index + line.from.direction = autoAnchor.direction } - if (item instanceof Line && item.from) { - var offsetX_1 = this_1.nodeRects[i].x + x - item.from.x; - var offsetY_1 = this_1.nodeRects[i].y + y - item.from.y; - if (item.parentId) { - var items = find(item.parentId, this_1.data.pens); - items.forEach(function (l) { - l.translate(offsetX_1, offsetY_1); - }); - } - else { - item.translate(offsetX_1, offsetY_1); - } + } + if (line.from.anchorIndex >= 0) { + line.from.x = item.rotatedAnchors[line.from.anchorIndex].x + line.from.y = item.rotatedAnchors[line.from.anchorIndex].y + ++cnt + } + } + if (line.to && line.to.id === item.id) { + if (line.to.autoAnchor) { + var autoAnchor = item.nearestAnchor(line.from) + if (autoAnchor.index > -1) { + line.to.anchorIndex = autoAnchor.index + line.to.direction = autoAnchor.direction } - ++i; - }; - var this_1 = this; - for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { - var item = _a[_i]; - _loop_1(item); + } + if (line.to.anchorIndex >= 0) { + line.to.x = item.rotatedAnchors[line.to.anchorIndex].x + line.to.y = item.rotatedAnchors[line.to.anchorIndex].y + ++cnt + } } - this.updateLines(); - this.topology.dispatch('move', this.pens); - }; - ActiveLayer.prototype.getLinesOfNode = function (node) { - var result = []; - var nodesLines = flatNodes([node]); - for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) { - var pen = _a[_i]; - if (!(pen instanceof Line)) { - continue; - } - var line = pen; - var fromIn = false; - var toIn = false; - for (var _b = 0, _c = nodesLines.nodes; _b < _c.length; _b++) { - var item = _c[_b]; - if (line.from && line.from.id === item.id) { - fromIn = true; - } - if (line.to && line.to.id === item.id) { - toIn = true; - } - } - if (fromIn && toIn) { - result.push(line); - } + if (cnt && !this.data.manualCps) { + line.calcControlPoints() } - return result; - }; - ActiveLayer.prototype.updateLines = function (pens) { - if (!pens) { - pens = this.pens; + line.textRect = undefined + Store.set(this.generateStoreKey('pts-') + line.id, undefined) + lines.push(line) + } + } + Store.set(this.generateStoreKey('LT:updateLines'), lines) + } + ActiveLayer.prototype.offsetRotate = function (angle) { + this.rotating = true + let i = 0 + for (let _i = 0, _a = this.pens; _i < _a.length; _i++) { + const item = _a[_i] + if (!(item instanceof Node)) { + continue + } + const center = this.nodeRects[i].center.clone() + if (this.pens.length > 1) { + center.rotate(angle, this.rect.center) + } + item.rect.x = center.x - item.rect.width / 2 + item.rect.y = center.y - item.rect.height / 2 + item.rect.ex = item.rect.x + item.rect.width + item.rect.ey = item.rect.y + item.rect.height + item.rect.calcCenter() + item.init() + item.offsetRotate = angle + item.calcRotateAnchors(item.rotate + item.offsetRotate) + this.rotateChildren(item) + ++i + } + this.rotate = angle + this.topology.dispatch('rotated', this.pens) + } + ActiveLayer.prototype.rotateChildren = function (node) { + if (node.type !== PenType.Node || !node.children) { + return + } + for (let _i = 0, _a = node.children; _i < _a.length; _i++) { + const item = _a[_i] + if (item.type !== PenType.Node) { + continue + } + const oldCenter = this.childrenRects[item.id].center.clone() + const newCenter = this.childrenRects[item.id].center + .clone() + .rotate(this.rotate, this.rect.center) + const rect = this.childrenRects[item.id].clone() + rect.translate(newCenter.x - oldCenter.x, newCenter.y - oldCenter.y) + item.rect = rect + item.rotate = this.childrenRotate[item.id] + this.rotate + item.init() + this.rotateChildren(item) + } + } + ActiveLayer.prototype.updateRotate = function () { + for (let _i = 0, _a = this.pens; _i < _a.length; _i++) { + const item = _a[_i] + item.rotate += item.offsetRotate + if (item.type === PenType.Node && item.rectInParent) { + item.rectInParent.rotate += item.offsetRotate + } + item.offsetRotate = 0 + } + this.rotate = 0 + this.rotating = false + } + ActiveLayer.prototype.add = function (pen) { + if (this.has(pen)) { + return + } + this.pens.push(pen) + if (pen instanceof Node) { + Store.set(this.generateStoreKey('LT:activeNode'), pen) + } + } + ActiveLayer.prototype.setPens = function (pens) { + this.pens = pens + if (this.pens.length === 1 && this.pens[0] instanceof Node) { + Store.set(this.generateStoreKey('LT:activeNode'), this.pens[0]) + } + } + ActiveLayer.prototype.has = function (pen) { + for (let _i = 0, _a = this.pens; _i < _a.length; _i++) { + const item = _a[_i] + if (item.id === pen.id) { + return true + } + } + return false + } + ActiveLayer.prototype.hasInAll = function (pen, pens) { + if (!pens) { + pens = this.pens + } + for (let _i = 0, pens_1 = pens; _i < pens_1.length; _i++) { + const item = pens_1[_i] + if (item.id === pen.id) { + return true + } + if (item.children) { + const has = this.hasInAll(pen, item.children) + if (has) { + return true } - var allPens = flatNodes(this.data.pens); - var allLines = allPens.lines; - var nodes = allPens.nodes; - if (!this.options.autoAnchor) { // 非自动瞄点,只要活动层的 nodes - nodes = flatNodes(pens).nodes; - } - var lines = []; - for (var _i = 0, allLines_1 = allLines; _i < allLines_1.length; _i++) { - var line = allLines_1[_i]; - for (var _a = 0, nodes_1 = nodes; _a < nodes_1.length; _a++) { - var item = nodes_1[_a]; - var cnt = 0; - if (line.from && line.from.id === item.id) { - if (line.from.autoAnchor) { - var autoAnchor = item.nearestAnchor(line.to); - if (autoAnchor.index > -1) { - line.from.anchorIndex = autoAnchor.index; - line.from.direction = autoAnchor.direction; - } - } - if (line.from.anchorIndex >= 0) { - line.from.x = item.rotatedAnchors[line.from.anchorIndex].x; - line.from.y = item.rotatedAnchors[line.from.anchorIndex].y; - ++cnt; - } - } - if (line.to && line.to.id === item.id) { - if (line.to.autoAnchor) { - var autoAnchor = item.nearestAnchor(line.from); - if (autoAnchor.index > -1) { - line.to.anchorIndex = autoAnchor.index; - line.to.direction = autoAnchor.direction; - } - } - if (line.to.anchorIndex >= 0) { - line.to.x = item.rotatedAnchors[line.to.anchorIndex].x; - line.to.y = item.rotatedAnchors[line.to.anchorIndex].y; - ++cnt; - } - } - if (cnt && !this.data.manualCps) { - line.calcControlPoints(); - } - line.textRect = undefined; - Store.set(this.generateStoreKey('pts-') + line.id, undefined); - lines.push(line); - } - } - Store.set(this.generateStoreKey('LT:updateLines'), lines); - }; - ActiveLayer.prototype.offsetRotate = function (angle) { - this.rotating = true; - var i = 0; - for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { - var item = _a[_i]; - if (!(item instanceof Node)) { - continue; - } - var center = this.nodeRects[i].center.clone(); - if (this.pens.length > 1) { - center.rotate(angle, this.rect.center); - } - item.rect.x = center.x - item.rect.width / 2; - item.rect.y = center.y - item.rect.height / 2; - item.rect.ex = item.rect.x + item.rect.width; - item.rect.ey = item.rect.y + item.rect.height; - item.rect.calcCenter(); - item.init(); - item.offsetRotate = angle; - item.calcRotateAnchors(item.rotate + item.offsetRotate); - this.rotateChildren(item); - ++i; - } - this.rotate = angle; - this.topology.dispatch('rotated', this.pens); - }; - ActiveLayer.prototype.rotateChildren = function (node) { - if (node.type !== PenType.Node || !node.children) { - return; - } - for (var _i = 0, _a = node.children; _i < _a.length; _i++) { - var item = _a[_i]; - if (item.type !== PenType.Node) { - continue; - } - var oldCenter = this.childrenRects[item.id].center.clone(); - var newCenter = this.childrenRects[item.id].center - .clone() - .rotate(this.rotate, this.rect.center); - var rect = this.childrenRects[item.id].clone(); - rect.translate(newCenter.x - oldCenter.x, newCenter.y - oldCenter.y); - item.rect = rect; - item.rotate = this.childrenRotate[item.id] + this.rotate; - item.init(); - this.rotateChildren(item); - } - }; - ActiveLayer.prototype.updateRotate = function () { - for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { - var item = _a[_i]; - item.rotate += item.offsetRotate; - if (item.type === PenType.Node && item.rectInParent) { - item.rectInParent.rotate += item.offsetRotate; - } - item.offsetRotate = 0; - } - this.rotate = 0; - this.rotating = false; - }; - ActiveLayer.prototype.add = function (pen) { - if (this.has(pen)) { - return; - } - this.pens.push(pen); - if (pen instanceof Node) { - Store.set(this.generateStoreKey('LT:activeNode'), pen); - } - }; - ActiveLayer.prototype.setPens = function (pens) { - this.pens = pens; - if (this.pens.length === 1 && this.pens[0] instanceof Node) { - Store.set(this.generateStoreKey('LT:activeNode'), this.pens[0]); - } - }; - ActiveLayer.prototype.has = function (pen) { - for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { - var item = _a[_i]; - if (item.id === pen.id) { - return true; - } - } - return false; - }; - ActiveLayer.prototype.hasInAll = function (pen, pens) { - if (!pens) { - pens = this.pens; - } - for (var _i = 0, pens_1 = pens; _i < pens_1.length; _i++) { - var item = pens_1[_i]; - if (item.id === pen.id) { - return true; - } - if (item.children) { - var has = this.hasInAll(pen, item.children); - if (has) { - return true; - } - } - } - return false; - }; - ActiveLayer.prototype.render = function (ctx) { - var _this = this; - if (this.data.locked > Lock.Readonly || + } + } + return false + } + ActiveLayer.prototype.render = function (ctx) { + const _this = this + if (this.data.locked > Lock.Readonly || this.options.activeColor === 'transparent') { - return; + return + } + if (!this.pens.length) { + return + } + this.pens.forEach(function (pen) { + if (!pen.getTID()) { + pen.setTID(_this.TID) + } + }) + if (this.pens.length === 1 || !this.rotating) { + this.calcControlPoints() + } + ctx.save() + ctx.strokeStyle = this.options.activeColor + ctx.fillStyle = '#fff' + ctx.lineWidth = 1 + const TID = this.TID + const scale = Store.get(this.generateStoreKey('LT:scale')) || 1 + for (let _i = 0, _a = this.pens; _i < _a.length; _i++) { + var item = _a[_i] + if (this.data.locked && item instanceof Node) { + var tmp = new Node(item) + tmp.setTID(TID) + tmp.data = undefined + tmp.fillStyle = undefined + tmp.bkType = 0 + tmp.icon = '' + tmp.image = '' + tmp.text = '' + if (tmp.strokeStyle !== 'transparent') { + tmp.strokeStyle = '#ffffff' + tmp.lineWidth += 2 + tmp.render(ctx) + tmp.strokeStyle = this.options.activeColor + tmp.lineWidth -= 2 } - if (!this.pens.length) { - return; + tmp.render(ctx) + } + if (item instanceof Line) { + var tmp = new Line(item) + tmp.lineWidth *= 2 + tmp.toArrowSize = + (tmp.toArrowSize * scale - 1.5 * tmp.lineWidth) / scale + tmp.fromArrowSize = + (tmp.fromArrowSize * scale - 1.5 * tmp.lineWidth) / scale + tmp.setTID(TID) + tmp.strokeStyle = rgba(0.2, this.options.activeColor) + tmp.borderWidth = 4 + tmp.borderColor = rgba(0.1, this.options.activeColor) + tmp.fromArrowColor = this.options.activeColor + tmp.toArrowColor = this.options.activeColor + tmp.render(ctx) + if (!this.data.locked && !item.locked) { + drawLineFns[item.name] && + drawLineFns[item.name].drawControlPointsFn(ctx, item) } - this.pens.forEach(function (pen) { - if (!pen.getTID()) { - pen.setTID(_this.TID); - } - }); - if (this.pens.length === 1 || !this.rotating) { - this.calcControlPoints(); - } - ctx.save(); - ctx.strokeStyle = this.options.activeColor; - ctx.fillStyle = '#fff'; - ctx.lineWidth = 1; - var TID = this.TID; - var scale = Store.get(this.generateStoreKey('LT:scale')) || 1; - for (var _i = 0, _a = this.pens; _i < _a.length; _i++) { - var item = _a[_i]; - if (this.data.locked && item instanceof Node) { - var tmp = new Node(item); - tmp.setTID(TID); - tmp.data = undefined; - tmp.fillStyle = undefined; - tmp.bkType = 0; - tmp.icon = ''; - tmp.image = ''; - tmp.text = ''; - if (tmp.strokeStyle !== 'transparent') { - tmp.strokeStyle = '#ffffff'; - tmp.lineWidth += 2; - tmp.render(ctx); - tmp.strokeStyle = this.options.activeColor; - tmp.lineWidth -= 2; - } - tmp.render(ctx); - } - if (item instanceof Line) { - var tmp = new Line(item); - tmp.lineWidth *= 2; - tmp.toArrowSize = - (tmp.toArrowSize * scale - 1.5 * tmp.lineWidth) / scale; - tmp.fromArrowSize = - (tmp.fromArrowSize * scale - 1.5 * tmp.lineWidth) / scale; - tmp.setTID(TID); - tmp.strokeStyle = rgba(0.2, this.options.activeColor); - tmp.borderWidth = 4; - tmp.borderColor = rgba(0.1, this.options.activeColor); - tmp.fromArrowColor = this.options.activeColor; - tmp.toArrowColor = this.options.activeColor; - tmp.render(ctx); - if (!this.data.locked && !item.locked) { - drawLineFns[item.name] && - drawLineFns[item.name].drawControlPointsFn(ctx, item); - } - } - } - if (this.pens.length === 1 && this.pens[0].type === PenType.Line) { - ctx.restore(); // 对应前面的 save() , 保持状态一致 - return; - } - // This is diffence between single node and more. - if (this.rotate && this.pens.length > 1) { - ctx.translate(this.rect.center.x, this.rect.center.y); - ctx.rotate((this.rotate * Math.PI) / 180); - ctx.translate(-this.rect.center.x, -this.rect.center.y); - } - if (this.data.locked || this.locked()) { - ctx.restore(); - return; - } - // Occupied territory. - ctx.save(); - ctx.globalAlpha = 0.3; - ctx.translate(0.5, 0.5); - ctx.beginPath(); - ctx.moveTo(this.sizeCPs[0].x, this.sizeCPs[0].y); - ctx.lineTo(this.sizeCPs[1].x, this.sizeCPs[1].y); - ctx.lineTo(this.sizeCPs[2].x, this.sizeCPs[2].y); - ctx.lineTo(this.sizeCPs[3].x, this.sizeCPs[3].y); - ctx.closePath(); - ctx.stroke(); - ctx.restore(); - // Draw rotate control point. - ctx.beginPath(); - ctx.moveTo(this.rotateCPs[0].x, this.rotateCPs[0].y); - ctx.lineTo(this.rotateCPs[1].x, this.rotateCPs[1].y); - ctx.stroke(); - ctx.beginPath(); - ctx.arc(this.rotateCPs[0].x, this.rotateCPs[0].y, 5, 0, Math.PI * 2); - ctx.fill(); - ctx.stroke(); - // Draw size control points. - if (!this.options.hideSizeCP && + } + } + if (this.pens.length === 1 && this.pens[0].type === PenType.Line) { + ctx.restore() // 对应前面的 save() , 保持状态一致 + return + } + // This is diffence between single node and more. + if (this.rotate && this.pens.length > 1) { + ctx.translate(this.rect.center.x, this.rect.center.y) + ctx.rotate((this.rotate * Math.PI) / 180) + ctx.translate(-this.rect.center.x, -this.rect.center.y) + } + if (this.data.locked || this.locked()) { + ctx.restore() + return + } + // Occupied territory. + ctx.save() + ctx.globalAlpha = 0.3 + ctx.translate(0.5, 0.5) + ctx.beginPath() + ctx.moveTo(this.sizeCPs[0].x, this.sizeCPs[0].y) + ctx.lineTo(this.sizeCPs[1].x, this.sizeCPs[1].y) + ctx.lineTo(this.sizeCPs[2].x, this.sizeCPs[2].y) + ctx.lineTo(this.sizeCPs[3].x, this.sizeCPs[3].y) + ctx.closePath() + ctx.stroke() + ctx.restore() + // Draw rotate control point. + ctx.beginPath() + ctx.moveTo(this.rotateCPs[0].x, this.rotateCPs[0].y) + ctx.lineTo(this.rotateCPs[1].x, this.rotateCPs[1].y) + ctx.stroke() + ctx.beginPath() + ctx.arc(this.rotateCPs[0].x, this.rotateCPs[0].y, 5, 0, Math.PI * 2) + ctx.fill() + ctx.stroke() + // Draw size control points. + if (!this.options.hideSizeCP && (this.pens.length > 1 || !this.pens[0].hideSizeCP)) { - ctx.lineWidth = 1; - for (var _b = 0, _c = this.sizeCPs; _b < _c.length; _b++) { - var item = _c[_b]; - ctx.save(); - ctx.beginPath(); - if (this.pens.length === 1 && (this.pens[0].rotate || this.rotate)) { - ctx.translate(item.x, item.y); - ctx.rotate(((this.pens[0].rotate + this.rotate) * Math.PI) / 180); - ctx.translate(-item.x, -item.y); - } - ctx.fillRect(item.x - 4.5, item.y - 4.5, 8, 8); - ctx.strokeRect(item.x - 5.5, item.y - 5.5, 10, 10); - ctx.restore(); - } + ctx.lineWidth = 1 + for (let _b = 0, _c = this.sizeCPs; _b < _c.length; _b++) { + var item = _c[_b] + ctx.save() + ctx.beginPath() + if (this.pens.length === 1 && (this.pens[0].rotate || this.rotate)) { + ctx.translate(item.x, item.y) + ctx.rotate(((this.pens[0].rotate + this.rotate) * Math.PI) / 180) + ctx.translate(-item.x, -item.y) } - ctx.restore(); - }; - ActiveLayer.prototype.calcActiveRect = function () { - if (this.pens.length === 1) { - if (this.pens[0].rect.height === 0) { - // 处理直线这种高度为0的情况 - this.pens[0].rect.height = 1; - } - this.activeRect = deepClone(this.pens[0].rect); - } - else { - this.activeRect = getRect(this.pens); - } - }; - ActiveLayer.prototype.getDockWatchers = function () { - if (this.pens.length === 1) { - this.dockWatchers = this.nodeRects[0].toPoints(); - this.dockWatchers.unshift(this.nodeRects[0].center); - return; - } - if (!this.rect) { - return; - } - this.dockWatchers = this.rect.toPoints(); - this.dockWatchers.unshift(this.rect.center); - }; - return ActiveLayer; -}(Layer)); -export { ActiveLayer }; -//# sourceMappingURL=activeLayer.js.map \ No newline at end of file + ctx.fillRect(item.x - 4.5, item.y - 4.5, 8, 8) + ctx.strokeRect(item.x - 5.5, item.y - 5.5, 10, 10) + ctx.restore() + } + } + ctx.restore() + } + ActiveLayer.prototype.calcActiveRect = function () { + if (this.pens.length === 1) { + if (this.pens[0].rect.height === 0) { + // 处理直线这种高度为0的情况 + this.pens[0].rect.height = 1 + } + this.activeRect = deepClone(this.pens[0].rect) + } else { + this.activeRect = getRect(this.pens) + } + } + ActiveLayer.prototype.getDockWatchers = function () { + if (this.pens.length === 1) { + this.dockWatchers = this.nodeRects[0].toPoints() + this.dockWatchers.unshift(this.nodeRects[0].center) + return + } + if (!this.rect) { + return + } + this.dockWatchers = this.rect.toPoints() + this.dockWatchers.unshift(this.rect.center) + } + return ActiveLayer +}(Layer)) +export { ActiveLayer } +// # sourceMappingURL=activeLayer.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/animateLayer.js b/nezha-fronted/src/components/common/@topology/core/src/animateLayer.js index 898622cd4..9b7d43520 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/animateLayer.js +++ b/nezha-fronted/src/components/common/@topology/core/src/animateLayer.js @@ -1,264 +1,256 @@ -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -import { Store } from 'le5le-store'; -import { PenType } from './models/pen'; -import { Node } from './models/node'; -import { Line } from './models/line'; -import { Layer } from './layer'; -import { s8 } from './utils/uuid'; -import { find } from './utils/canvas'; -var AnimateLayer = /** @class */ (function (_super) { - __extends(AnimateLayer, _super); - function AnimateLayer(options, TID) { - if (options === void 0) { options = {}; } - var _this = _super.call(this, TID) || this; - _this.options = options; - _this.pens = new Map(); - _this.lastNow = 0; - Store.set(_this.generateStoreKey('LT:AnimateLayer'), _this); - if (!_this.options.animateColor) { - _this.options.animateColor = '#ff6600'; - } - _this.subscribeUpdate = Store.subscribe(_this.generateStoreKey('LT:updateLines'), function (lines) { - _this.updateLines(lines); - }); - _this.subscribePlay = Store.subscribe(_this.generateStoreKey('LT:AnimatePlay'), function (params) { - if (params.stop) { - if (params.tag) { - var pens = find(params.tag, _this.data.pens); - pens.forEach(function (item) { - if (_this.pens.has(item.id)) { - _this.pens.get(item.id).animateStart = 0; - } - }); - } - if (params.pen && _this.pens.has(params.pen.id)) { - _this.pens.get(params.pen.id).animateStart = 0; - } - } - else { - if (params.pen) { - if (_this.pens.has(params.pen.id)) { - _this.pens.get(params.pen.id).animateStart = Date.now(); - } - else { - if (params.pen.type) { - _this.pens.set(params.pen.id, _this.getAnimateLine(params.pen)); - } - else { - _this.pens.set(params.pen.id, params.pen); - } - } - } - if (params.tag) { - _this.readyPlay(params.tag, false); - } - } - _this.animate(); - }); - return _this; +import { Store } from 'le5le-store' +import { PenType } from './models/pen' +import { Node } from './models/node' +import { Line } from './models/line' +import { Layer } from './layer' +import { s8 } from './utils/uuid' +import { find } from './utils/canvas' +const __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b }) || + function (d, b) { for (const p in b) if (b.hasOwnProperty(p)) d[p] = b[p] } + return extendStatics(d, b) + } + return function (d, b) { + extendStatics(d, b) + function __ () { this.constructor = d } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()) + } +})() +const AnimateLayer = /** @class */ (function (_super) { + __extends(AnimateLayer, _super) + function AnimateLayer (options, TID) { + if (options === void 0) { options = {} } + const _this = _super.call(this, TID) || this + _this.options = options + _this.pens = new Map() + _this.lastNow = 0 + Store.set(_this.generateStoreKey('LT:AnimateLayer'), _this) + if (!_this.options.animateColor) { + _this.options.animateColor = '#ff6600' } - AnimateLayer.prototype.getAnimateLine = function (item) { - var l = new Line(item); - l.data = l.id; - l.id = s8(); - l.setTID(this.TID); - l.isAnimate = true; - l.toArrow = ''; - if (l.fromArrow && l.fromArrow.indexOf('line') < 0) { - l.animateFromSize = l.fromArrowSize + l.lineWidth * 5; + _this.subscribeUpdate = Store.subscribe(_this.generateStoreKey('LT:updateLines'), function (lines) { + _this.updateLines(lines) + }) + _this.subscribePlay = Store.subscribe(_this.generateStoreKey('LT:AnimatePlay'), function (params) { + if (params.stop) { + if (params.tag) { + const pens = find(params.tag, _this.data.pens) + pens.forEach(function (item) { + if (_this.pens.has(item.id)) { + _this.pens.get(item.id).animateStart = 0 + } + }) } - if (l.toArrow && l.toArrow.indexOf('line') < 0) { - l.animateToSize = l.toArrowSize + l.lineWidth * 5; + if (params.pen && _this.pens.has(params.pen.id)) { + _this.pens.get(params.pen.id).animateStart = 0 } - l.animateStart = item.animateStart; - l.lineCap = 'round'; - l.fillStyle = '#fff'; - l.strokeStyle = l.animateColor || this.options.animateColor; - l.length = l.getLen(); - if (!l.fromArrowColor) { - l.fromArrowColor = l.strokeStyle || Store.get(this.generateStoreKey('LT:color')); + } else { + if (params.pen) { + if (_this.pens.has(params.pen.id)) { + _this.pens.get(params.pen.id).animateStart = Date.now() + } else { + if (params.pen.type) { + _this.pens.set(params.pen.id, _this.getAnimateLine(params.pen)) + } else { + _this.pens.set(params.pen.id, params.pen) + } + } } - if (!l.toArrowColor) { - l.toArrowColor = l.strokeStyle || Store.get(this.generateStoreKey('LT:color')); + if (params.tag) { + _this.readyPlay(params.tag, false) } - return l; - }; - AnimateLayer.prototype.findLine = function (pen) { - for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) { - var item = _a[_i]; - if (item.id === pen.data) { - return item; - } + } + _this.animate() + }) + return _this + } + AnimateLayer.prototype.getAnimateLine = function (item) { + const l = new Line(item) + l.data = l.id + l.id = s8() + l.setTID(this.TID) + l.isAnimate = true + l.toArrow = '' + if (l.fromArrow && l.fromArrow.indexOf('line') < 0) { + l.animateFromSize = l.fromArrowSize + l.lineWidth * 5 + } + if (l.toArrow && l.toArrow.indexOf('line') < 0) { + l.animateToSize = l.toArrowSize + l.lineWidth * 5 + } + l.animateStart = item.animateStart + l.lineCap = 'round' + l.fillStyle = '#fff' + l.strokeStyle = l.animateColor || this.options.animateColor + l.length = l.getLen() + if (!l.fromArrowColor) { + l.fromArrowColor = l.strokeStyle || Store.get(this.generateStoreKey('LT:color')) + } + if (!l.toArrowColor) { + l.toArrowColor = l.strokeStyle || Store.get(this.generateStoreKey('LT:color')) + } + return l + } + AnimateLayer.prototype.findLine = function (pen) { + for (let _i = 0, _a = this.data.pens; _i < _a.length; _i++) { + const item = _a[_i] + if (item.id === pen.data) { + return item + } + } + } + AnimateLayer.prototype.readyPlay = function (tag, auto, pens) { + const _this = this + const readyPens = new Map() + if (!pens) { + pens = this.data.pens + } + pens.forEach(function (pen) { + pen.setTID(_this.TID) + if (!pen.visible || readyPens.get(pen.id)) { + return + } + if ((auto && pen.animatePlay) || (tag && pen.tags.indexOf(tag) > -1)) { + if (!pen.animateStart || pen.animateStart < 1) { + pen.animateStart = Date.now() } - }; - AnimateLayer.prototype.readyPlay = function (tag, auto, pens) { - var _this = this; - var readyPens = new Map(); - if (!pens) { - pens = this.data.pens; + } + if (pen instanceof Node) { + if (pen.animateStart > 0) { + if (!pen.animateReady) { + pen.initAnimate() + } + readyPens.set(pen.id, pen) } - pens.forEach(function (pen) { - pen.setTID(_this.TID); - if (!pen.visible || readyPens.get(pen.id)) { - return; - } - if ((auto && pen.animatePlay) || (tag && pen.tags.indexOf(tag) > -1)) { - if (!pen.animateStart || pen.animateStart < 1) { - pen.animateStart = Date.now(); - } - } - if (pen instanceof Node) { - if (pen.animateStart > 0) { - if (!pen.animateReady) { - pen.initAnimate(); - } - readyPens.set(pen.id, pen); - } - if (pen.children && pen.children.length) { - _this.readyPlay(tag, auto, pen.children); - } - } - else { - if (pen.animateStart > 0) { - readyPens.set(pen.id, _this.getAnimateLine(pen)); - } - else if (_this.pens.has(pen.id)) { - _this.pens.get(pen.id).animateStart = 0; - } - } - }); - readyPens.forEach(function (pen) { - if (pen.type) { - _this.pens.set(pen.data, pen); - } - else { - _this.pens.set(pen.id, pen); - } - }); - }; - AnimateLayer.prototype.animate = function () { - var _this = this; - if (this.timer) { - cancelAnimationFrame(this.timer); + if (pen.children && pen.children.length) { + _this.readyPlay(tag, auto, pen.children) } - this.timer = requestAnimationFrame(function () { - var now = Date.now(); - if (now - _this.lastNow < _this.options.refresh) { - _this.animate(); - return; - } - _this.lastNow = now; - var animated = false; - _this.pens.forEach(function (pen) { - if (!pen.animateStart || pen.animateStart < 1) { - if (pen.type) { - _this.pens.delete(pen.data); - var line = _this.findLine(pen); - if (line) { - line.animateStart = 0; - line.animatePos = pen.animatePos; - } - } - else { - _this.pens.delete(pen.id); - } - return; - } - if (pen.animateStart > now) { - return; - } - if (pen.animateFn) { - if (typeof pen.animateFn === 'function') { - pen.animateFn(); - } - else if (window && window[pen.animateFn]) { - window[pen.animateFn](); - } - else { - // pen.render(); - } - } - else { - pen.animate(now); - } - if (pen.animateStart < 1) { - if (pen.type) { - _this.pens.delete(pen.data); - } - else { - _this.pens.delete(pen.id); - } - if (pen.type === PenType.Line) { - var line = _this.findLine(pen); - if (line) { - line.animateStart = 0; - line.animatePos = pen.animatePos; - } - } - if (pen.nextAnimate) { - _this.readyPlay(pen.nextAnimate, false); - } - } - animated = true; - }); - if (animated) { - Store.set(_this.generateStoreKey('LT:render'), true); - _this.animate(); - } - }); - }; - AnimateLayer.prototype.updateLines = function (lines) { - this.pens.forEach(function (line, key) { - if (!(line instanceof Line)) { - return; - } - for (var _i = 0, lines_1 = lines; _i < lines_1.length; _i++) { - var item = lines_1[_i]; - if (line.data === item.id) { - line.from = item.from; - line.to = item.to; - line.controlPoints = item.controlPoints; - line.length = line.getLen(); - } - } - }); - }; - AnimateLayer.prototype.render = function (ctx) { - var _this = this; - this.pens.forEach(function (line, key) { - if (line.visible && line instanceof Line) { - if (!line.getTID()) { - line.setTID(_this.TID); - } - line.render(ctx); - } - }); - }; - AnimateLayer.prototype.stop = function () { - this.pens.clear(); - if (this.timer) { - cancelAnimationFrame(this.timer); - this.timer = null; + } else { + if (pen.animateStart > 0) { + readyPens.set(pen.id, _this.getAnimateLine(pen)) + } else if (_this.pens.has(pen.id)) { + _this.pens.get(pen.id).animateStart = 0 } - }; - AnimateLayer.prototype.destroy = function () { - this.stop(); - this.subscribeUpdate.unsubscribe(); - this.subscribePlay.unsubscribe(); - }; - return AnimateLayer; -}(Layer)); -export { AnimateLayer }; -//# sourceMappingURL=animateLayer.js.map \ No newline at end of file + } + }) + readyPens.forEach(function (pen) { + if (pen.type) { + _this.pens.set(pen.data, pen) + } else { + _this.pens.set(pen.id, pen) + } + }) + } + AnimateLayer.prototype.animate = function () { + const _this = this + if (this.timer) { + cancelAnimationFrame(this.timer) + } + this.timer = requestAnimationFrame(function () { + const now = Date.now() + if (now - _this.lastNow < _this.options.refresh) { + _this.animate() + return + } + _this.lastNow = now + let animated = false + _this.pens.forEach(function (pen) { + if (!pen.animateStart || pen.animateStart < 1) { + if (pen.type) { + _this.pens.delete(pen.data) + var line = _this.findLine(pen) + if (line) { + line.animateStart = 0 + line.animatePos = pen.animatePos + } + } else { + _this.pens.delete(pen.id) + } + return + } + if (pen.animateStart > now) { + return + } + if (pen.animateFn) { + if (typeof pen.animateFn === 'function') { + pen.animateFn() + } else if (window && window[pen.animateFn]) { + window[pen.animateFn]() + } else { + // pen.render(); + } + } else { + pen.animate(now) + } + if (pen.animateStart < 1) { + if (pen.type) { + _this.pens.delete(pen.data) + } else { + _this.pens.delete(pen.id) + } + if (pen.type === PenType.Line) { + var line = _this.findLine(pen) + if (line) { + line.animateStart = 0 + line.animatePos = pen.animatePos + } + } + if (pen.nextAnimate) { + _this.readyPlay(pen.nextAnimate, false) + } + } + animated = true + }) + if (animated) { + Store.set(_this.generateStoreKey('LT:render'), true) + _this.animate() + } + }) + } + AnimateLayer.prototype.updateLines = function (lines) { + this.pens.forEach(function (line, key) { + if (!(line instanceof Line)) { + return + } + for (let _i = 0, lines_1 = lines; _i < lines_1.length; _i++) { + const item = lines_1[_i] + if (line.data === item.id) { + line.from = item.from + line.to = item.to + line.controlPoints = item.controlPoints + line.length = line.getLen() + } + } + }) + } + AnimateLayer.prototype.render = function (ctx) { + const _this = this + this.pens.forEach(function (line, key) { + if (line.visible && line instanceof Line) { + if (!line.getTID()) { + line.setTID(_this.TID) + } + line.render(ctx) + } + }) + } + AnimateLayer.prototype.stop = function () { + this.pens.clear() + if (this.timer) { + cancelAnimationFrame(this.timer) + this.timer = null + } + } + AnimateLayer.prototype.destroy = function () { + this.stop() + this.subscribeUpdate.unsubscribe() + this.subscribePlay.unsubscribe() + this.subscribeUpdate = null + this.subscribePlay = null + this.pens = null + } + return AnimateLayer +}(Layer)) +export { AnimateLayer } +// # sourceMappingURL=animateLayer.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/canvas.js b/nezha-fronted/src/components/common/@topology/core/src/canvas.js index e1d5c78cd..d8d9f3fd0 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/canvas.js +++ b/nezha-fronted/src/components/common/@topology/core/src/canvas.js @@ -1,89 +1,96 @@ -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -import { Store } from 'le5le-store'; -import { Layer } from './layer'; -var Canvas = /** @class */ (function (_super) { - __extends(Canvas, _super); - function Canvas(parentElem, options, TID) { - if (options === void 0) { options = {}; } - var _this = _super.call(this, TID) || this; - _this.parentElem = parentElem; - _this.options = options; - _this.canvas = document.createElement('canvas'); - _this.width = 0; - _this.height = 0; - _this.subcribe = Store.subscribe(_this.generateStoreKey('topology-data'), function (val) { - _this.data = val; - }); - _this.canvas.style.position = 'absolute'; - _this.canvas.style.left = '0'; - _this.canvas.style.top = '0'; - _this.canvas.style.outline = 'none'; - if (!Canvas.dpiRatio) { - if (!options.extDpiRatio && options.extDpiRatio !== 0) { - if (window && window.devicePixelRatio > 1) { - options.extDpiRatio = 0.25; - } - else { - options.extDpiRatio = 0; - } - } - Canvas.dpiRatio = (window ? window.devicePixelRatio : 0) + options.extDpiRatio; - if (Canvas.dpiRatio < 1) { - Canvas.dpiRatio = 1; - } +import { Store } from 'le5le-store' +import { Layer } from './layer' +const __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b }) || + function (d, b) { for (const p in b) if (b.hasOwnProperty(p)) d[p] = b[p] } + return extendStatics(d, b) + } + return function (d, b) { + extendStatics(d, b) + function __ () { this.constructor = d } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()) + } +})() +const Canvas = /** @class */ (function (_super) { + __extends(Canvas, _super) + function Canvas (parentElem, options, TID) { + if (options === void 0) { options = {} } + const _this = _super.call(this, TID) || this + _this.parentElem = parentElem + _this.options = options + _this.canvas = document.createElement('canvas') + _this.width = 0 + _this.height = 0 + _this.subcribe = Store.subscribe(_this.generateStoreKey('topology-data'), function (val) { + _this.data = val + }) + _this.canvas.style.position = 'absolute' + _this.canvas.style.left = '0' + _this.canvas.style.top = '0' + _this.canvas.style.outline = 'none' + if (!Canvas.dpiRatio) { + if (!options.extDpiRatio && options.extDpiRatio !== 0) { + if (window && window.devicePixelRatio > 1) { + options.extDpiRatio = 0.25 + } else { + options.extDpiRatio = 0 } - return _this; + } + Canvas.dpiRatio = (window ? window.devicePixelRatio : 0) + options.extDpiRatio + if (Canvas.dpiRatio < 1) { + Canvas.dpiRatio = 1 + } } - Canvas.prototype.resize = function (size) { - if (size) { - this.width = size.width | 0; - this.height = size.height | 0; - } - else { - if (this.options.width && this.options.width !== 'auto') { - this.width = +this.options.width; - } - else { - this.width = this.parentElem.clientWidth; - } - if (this.options.height && this.options.height !== 'auto') { - this.height = +this.options.height; - } - else { - this.height = this.parentElem.clientHeight; - } - } - this.canvas.style.width = this.width + 'px'; - this.canvas.style.height = this.height + 'px'; - this.canvas.width = (this.width * Canvas.dpiRatio) | 0; - this.canvas.height = (this.height * Canvas.dpiRatio) | 0; - this.canvas.getContext('2d').scale(Canvas.dpiRatio, Canvas.dpiRatio); - Store.set(this.generateStoreKey('LT:size'), { width: this.canvas.width, height: this.canvas.height }); - }; - Canvas.prototype.render = function () { - var ctx = this.canvas.getContext('2d'); - ctx.clearRect(0, 0, this.canvas.width, this.canvas.height); - }; - Canvas.prototype.getDpiRatio = function () { - return Canvas.dpiRatio; - }; - Canvas.prototype.destroy = function () { - this.subcribe.unsubscribe(); - }; - Canvas.dpiRatio = 0; - return Canvas; -}(Layer)); -export { Canvas }; -//# sourceMappingURL=canvas.js.map \ No newline at end of file + return _this + } + Canvas.prototype.resize = function (size) { + if (size) { + this.width = size.width | 0 + this.height = size.height | 0 + } else { + if (this.options.width && this.options.width !== 'auto') { + this.width = +this.options.width + } else { + this.width = this.parentElem.clientWidth + } + if (this.options.height && this.options.height !== 'auto') { + this.height = +this.options.height + } else { + this.height = this.parentElem.clientHeight + } + } + this.canvas.style.width = this.width + 'px' + this.canvas.style.height = this.height + 'px' + this.canvas.width = (this.width * Canvas.dpiRatio) | 0 + this.canvas.height = (this.height * Canvas.dpiRatio) | 0 + this.canvas.getContext('2d').scale(Canvas.dpiRatio, Canvas.dpiRatio) + Store.set(this.generateStoreKey('LT:size'), { width: this.canvas.width, height: this.canvas.height }) + } + Canvas.prototype.render = function () { + const ctx = this.canvas.getContext('2d') + ctx.clearRect(0, 0, this.canvas.width, this.canvas.height) + } + Canvas.prototype.getDpiRatio = function () { + return Canvas.dpiRatio + } + Canvas.prototype.destroy = function () { + this.subcribe.unsubscribe() + this.activeLayer = null + this.hoverLayer = null + this.animateLayer = null + this.subcribe = null + this.options = null + this.parentElem = null + this.data = null + this.offscreen = null + this.canvas = null + this.bkImg = null + this.render = null + } + Canvas.dpiRatio = 0 + return Canvas +}(Layer)) +export { Canvas } +// # sourceMappingURL=canvas.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/core.js b/nezha-fronted/src/components/common/@topology/core/src/core.js index 1b469ad2e..e3dd36826 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/core.js +++ b/nezha-fronted/src/components/common/@topology/core/src/core.js @@ -86,6 +86,7 @@ const Topology = /** @class */ (function () { } timer = setTimeout(function () { _this.resize() + timer = null }, 100) } this.calibrateMouse = function (pt) { @@ -819,17 +820,17 @@ const Topology = /** @class */ (function () { Store.set(this.generateStoreKey('LT:fontColor'), this.options.fontColor || '#222222') this.setupDom(parent) this.setupSubscribe() - this.setupMouseEvent() + // this.setupMouseEvent() // Wait for parent dom load - setTimeout(function () { - _this.canvasPos = _this.divLayer.canvas.getBoundingClientRect() - }, 500) - setTimeout(function () { - _this.canvasPos = _this.divLayer.canvas.getBoundingClientRect() - }, 1000) - this.cache() + // setTimeout(function () { + // _this.canvasPos = _this.divLayer.canvas.getBoundingClientRect() + // }, 500) + // setTimeout(function () { + // _this.canvasPos = _this.divLayer.canvas.getBoundingClientRect() + // }, 1000) + // this.cache() window.topology = this - this.dispatch('loaded') + // this.dispatch('loaded') } Object.defineProperty(Topology.prototype, 'ramCaches', { // 内存中的 caches 数量 @@ -1917,7 +1918,7 @@ const Topology = /** @class */ (function () { return offset } Topology.prototype.cache = function () { - if (this.options.cacheLen == 0 || this.data.locked) { return } + if (this.options.cacheLen == 0 || this.data && this.data.locked) { return } if (this.caches.index < this.caches.list.length - 1) { this.caches.list.splice(this.caches.index + 1, this.caches.list.length - this.caches.index - 1) // 删除 indexDB 的值 @@ -2964,7 +2965,7 @@ const Topology = /** @class */ (function () { this.activeLayer.destroy() this.hoverLayer.destroy() this.offscreen.destroy() - document.body.removeChild(this.tipMarkdown) + // document.body.removeChild(this.tipMarkdown) window.removeEventListener('resize', this.winResize) this.parentElem.removeEventListener('scroll', this.onScroll) window.removeEventListener('scroll', this.onScroll) @@ -2987,9 +2988,6 @@ const Topology = /** @class */ (function () { this.data = null console.log(this.options) window.topology = null - createCacheTable() - this.divLayer.clear() - this.activeLayer = null this.activeLayer = null this.hoverLayer = null this.animateLayer = null @@ -3001,11 +2999,18 @@ const Topology = /** @class */ (function () { this.subcribeAnimateMoved = null this.subcribeEmit = null this.offscreen = null + this.parentElem.onresize = null this.parentElem = null + this.input = null this.data = null this.caches = null this.clipboard = null - this.gifs = {} + this.gifs = null + this.tipMarkdown = null + this.tipMarkdownContent = null + this.tipMarkdownArrowUp = null + this.tipMarkdownArrowDown = null + delete this } return Topology }()) diff --git a/nezha-fronted/src/components/common/@topology/core/src/divLayer.js b/nezha-fronted/src/components/common/@topology/core/src/divLayer.js index 27c4565fa..1f4b52e02 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/divLayer.js +++ b/nezha-fronted/src/components/common/@topology/core/src/divLayer.js @@ -1,502 +1,527 @@ -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -import { Store } from 'le5le-store'; -import { Lock } from './models/status'; -import { images, PenType } from './models/pen'; -import { Layer } from './layer'; -import { find } from './utils'; -var videos = {}; -var DivLayer = /** @class */ (function (_super) { - __extends(DivLayer, _super); - function DivLayer(parentElem, options, TID) { - if (options === void 0) { options = {}; } - var _this = _super.call(this, TID) || this; - _this.parentElem = parentElem; - _this.options = options; - _this.canvas = document.createElement('div'); - _this.player = document.createElement('div'); - _this.audios = {}; - _this.iframes = {}; - _this.elements = {}; - _this.gifs = {}; - _this.addDiv = function (node) { - if (node.audio) { - if (_this.audios[node.id] && _this.audios[node.id].media.src !== node.audio) { - _this.audios[node.id].media.src = node.audio; - } - setTimeout(function () { - _this.setElemPosition(node, (_this.audios[node.id] && _this.audios[node.id].player) || _this.addMedia(node, 'audio')); - }); - } - if (node.video) { - if (videos[node.id] && videos[node.id].media.src !== node.video) { - videos[node.id].media.src = node.video; - } - setTimeout(function () { - _this.setElemPosition(node, (videos[node.id] && videos[node.id].player) || _this.addMedia(node, 'video')); - }); - } - if (node.iframe) { - if (!_this.iframes[node.id]) { - _this.addIframe(node); - setTimeout(function () { - _this.addDiv(node); - }); - } - else { - if (_this.iframes[node.id].src !== node.iframe) { - _this.iframes[node.id].src = node.iframe; - } - _this.setElemPosition(node, _this.iframes[node.id]); - } - } - if (node.elementId) { - if (!_this.elements[node.id]) { - _this.elements[node.id] = document.getElementById(node.elementId); - if (_this.elements[node.id]) { - _this.canvas.appendChild(_this.elements[node.id]); - } - } - _this.setElemPosition(node, _this.elements[node.id]); - } - if (node.gif) { - if (node.image.indexOf('.gif') < 0) { - node.gif = false; - _this.canvas.removeChild(_this.gifs[node.id]); - _this.gifs[node.id] = undefined; - } - else if (node.img) { - if (_this.gifs[node.id] && _this.gifs[node.id].src !== node.image) { - _this.gifs[node.id].src = node.image; - } - _this.setElemPosition(node, _this.gifs[node.id] || _this.addGif(node)); - } - } - if (node.children) { - for (var _i = 0, _a = node.children; _i < _a.length; _i++) { - var child = _a[_i]; - if (child.type === PenType.Line) { - continue; - } - _this.addDiv(child); - } - } - }; - _this.createPlayer = function () { - _this.player.style.position = 'fixed'; - _this.player.style.outline = 'none'; - _this.player.style.top = '-99999px'; - _this.player.style.height = '40px'; - _this.player.style.padding = '10px 15px'; - _this.player.style.background = 'rgba(200,200,200,.1)'; - _this.player.style.display = 'flex'; - _this.player.style.alignItems = 'center'; - _this.player.style.userSelect = 'initial'; - _this.player.style.pointerEvents = 'initial'; - _this.player.style.zIndex = '1'; - _this.playBtn = document.createElement('i'); - _this.currentTime = document.createElement('span'); - _this.progress = document.createElement('div'); - _this.progressCurrent = document.createElement('div'); - _this.loop = document.createElement('i'); - var fullScreen = document.createElement('i'); - _this.playBtn.className = _this.options.playIcon; - _this.playBtn.style.fontSize = '18px'; - _this.playBtn.style.lineHeight = '20px'; - _this.playBtn.style.cursor = 'pointer'; - _this.currentTime.style.padding = '0 10px'; - _this.currentTime.innerText = '0 / 0'; - _this.progress.style.position = 'relative'; - _this.progress.style.flexGrow = '1'; - _this.progress.style.top = '0'; - _this.progress.style.height = '4px'; - _this.progress.style.background = '#ccc'; - _this.progress.style.borderRadius = '2px'; - _this.progress.style.overflow = 'hidden'; - _this.progress.style.cursor = 'pointer'; - _this.progressCurrent.style.position = 'absolute'; - _this.progressCurrent.style.left = '0'; - _this.progressCurrent.style.top = '0'; - _this.progressCurrent.style.bottom = '0'; - _this.progressCurrent.style.width = '0'; - _this.progressCurrent.style.background = '#52c41a'; - _this.loop.style.margin = '0 10px'; - _this.loop.style.padding = '2px 5px'; - _this.loop.style.borderRadius = '2px'; - _this.loop.className = _this.options.loopIcon; - _this.loop.style.fontSize = '18px'; - _this.loop.style.lineHeight = '20px'; - _this.loop.style.cursor = 'pointer'; - fullScreen.className = _this.options.fullScreenIcon; - fullScreen.style.fontSize = '17px'; - fullScreen.style.lineHeight = '20px'; - fullScreen.style.cursor = 'pointer'; - _this.player.appendChild(_this.playBtn); - _this.player.appendChild(_this.currentTime); - _this.player.appendChild(_this.progress); - _this.progress.appendChild(_this.progressCurrent); - _this.player.appendChild(_this.loop); - _this.player.appendChild(fullScreen); - _this.playBtn.onclick = function () { - if (_this.media.paused) { - _this.media.play(); - _this.playBtn.className = _this.options.pauseIcon; - } - else { - _this.media.pause(); - _this.playBtn.className = _this.options.playIcon; - } - }; - _this.progress.onclick = function (e) { - _this.media.currentTime = (e.offsetX / _this.progress.clientWidth) * _this.media.duration; - }; - _this.loop.onclick = function () { - _this.media.loop = !_this.media.loop; - _this.curNode.playLoop = _this.media.loop; - if (_this.media.loop) { - _this.loop.style.background = '#ddd'; - } - else { - _this.loop.style.background = 'none'; - } - }; - fullScreen.onclick = function () { - _this.media.requestFullscreen(); - }; - }; - _this.getMediaCurrent = function () { - if (!_this.media) { - return; - } - _this.currentTime.innerText = - _this.formatSeconds(_this.media.currentTime) + ' / ' + _this.formatSeconds(_this.media.duration); - _this.progressCurrent.style.width = - (_this.media.currentTime / _this.media.duration) * _this.progress.clientWidth + 'px'; - }; - _this.addMedia = function (node, type) { - var player = document.createElement('div'); - var current = document.createElement('div'); - var media = document.createElement(type); - player.id = node.id; - current.style.position = 'absolute'; - current.style.outline = 'none'; - current.style.left = '0'; - current.style.bottom = '0'; - current.style.height = '2px'; - current.style.background = '#52c41a'; - media.style.position = 'absolute'; - media.style.outline = 'none'; - media.style.left = '0'; - media.style.right = '0'; - media.style.top = '0'; - media.style.bottom = '0'; - if (type === 'video') { - media.style.width = node.rect.width + 'px'; - media.style.height = node.rect.height + 'px'; - } - player.style.background = 'transparent'; - if (node.playType === 1) { - media.autoplay = true; - } - media.loop = node.playLoop; - media.ontimeupdate = function () { - current.style.width = (media.currentTime / media.duration) * node.rect.width + 'px'; - _this.getMediaCurrent(); - if (_this.media === media) { - if (node.playLoop) { - media.loop = true; - _this.loop.style.background = '#ddd'; - } - else { - media.loop = false; - _this.loop.style.background = 'none'; - } - } - }; - media.onended = function () { - Store.set(_this.generateStoreKey('mediaEnd'), node); - if (_this.media === media) { - _this.playBtn.className = _this.options.playIcon; - } - _this.play(node.nextPlay); - }; - media.onloadedmetadata = function () { - _this.getMediaCurrent(); - }; - media.src = node[type]; - player.appendChild(media); - player.appendChild(current); - if (type === 'video') { - videos[node.id] = { - player: player, - current: current, - media: media, - }; - } - else { - _this.audios[node.id] = { - player: player, - current: current, - media: media, - }; - } - _this.canvas.appendChild(player); - return player; - }; - _this.setElemPosition = function (node, elem) { - if (!elem) { - return; - } - elem.style.position = 'absolute'; - elem.style.outline = 'none'; - elem.style.left = node.rect.x + _this.data.x + 'px'; - elem.style.top = node.rect.y + _this.data.y + 'px'; - elem.style.width = node.rect.width + 'px'; - elem.style.height = node.rect.height + 'px'; - elem.style.display = node.visible ? 'inline' : 'none'; // 是否隐藏元素 - if (node.rotate || node.offsetRotate) { - elem.style.transform = "rotate(" + (node.rotate + node.offsetRotate) + "deg)"; - } - if (node.video && videos[node.id] && videos[node.id].media) { - videos[node.id].media.style.width = '100%'; - videos[node.id].media.style.height = '100%'; - } - if (_this.data.locked > Lock.None || node.locked > Lock.None) { - elem.style.userSelect = 'initial'; - elem.style.pointerEvents = 'initial'; - } - else { - elem.style.userSelect = 'none'; - elem.style.pointerEvents = 'none'; - } - }; - _this.removeDiv = function (item) { - if (_this.curNode && item.id === _this.curNode.id) { - _this.curNode = undefined; - _this.media = undefined; - _this.player.style.top = '-99999px'; - } - if (item.audio) { - _this.canvas.removeChild(_this.audios[item.id].player); - _this.audios[item.id] = undefined; - } - if (item.video) { - _this.canvas.removeChild(videos[item.id].player); - videos[item.id] = undefined; - } - if (item.iframe) { - _this.canvas.removeChild(_this.iframes[item.id]); - _this.iframes[item.id] = undefined; - } - if (item.elementId) { - _this.canvas.removeChild(_this.elements[item.id]); - _this.elements[item.id] = undefined; - item.elementId = ''; - } - if (item.gif) { - _this.canvas.removeChild(_this.gifs[item.id]); - _this.gifs[item.id] = undefined; - } - if (item.children) { - for (var _i = 0, _a = item.children; _i < _a.length; _i++) { - var child = _a[_i]; - if (child.type === PenType.Line) { - continue; - } - _this.removeDiv(child); - } - } - }; - if (!_this.options.playIcon) { - _this.options.playIcon = 't-icon t-play'; +import { Store } from 'le5le-store' +import { Lock } from './models/status' +import { images, PenType } from './models/pen' +import { Layer } from './layer' +import { find } from './utils' +const __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b }) || + function (d, b) { for (const p in b) if (b.hasOwnProperty(p)) d[p] = b[p] } + return extendStatics(d, b) + } + return function (d, b) { + extendStatics(d, b) + function __ () { this.constructor = d } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()) + } +})() +let videos = {} +const DivLayer = /** @class */ (function (_super) { + __extends(DivLayer, _super) + function DivLayer (parentElem, options, TID) { + if (options === void 0) { options = {} } + const _this = _super.call(this, TID) || this + _this.parentElem = parentElem + _this.options = options + _this.canvas = document.createElement('div') + _this.player = document.createElement('div') + _this.audios = {} + _this.iframes = {} + _this.elements = {} + _this.gifs = {} + _this.addDiv = function (node) { + if (node.audio) { + if (_this.audios[node.id] && _this.audios[node.id].media.src !== node.audio) { + _this.audios[node.id].media.src = node.audio } - if (!_this.options.pauseIcon) { - _this.options.pauseIcon = 't-icon t-pause'; + setTimeout(function () { + _this.setElemPosition(node, (_this.audios[node.id] && _this.audios[node.id].player) || _this.addMedia(node, 'audio')) + }) + } + if (node.video) { + if (videos[node.id] && videos[node.id].media.src !== node.video) { + videos[node.id].media.src = node.video } - if (!_this.options.fullScreenIcon) { - _this.options.fullScreenIcon = 't-icon t-full-screen'; + setTimeout(function () { + _this.setElemPosition(node, (videos[node.id] && videos[node.id].player) || _this.addMedia(node, 'video')) + }) + } + if (node.iframe) { + if (!_this.iframes[node.id]) { + _this.addIframe(node) + setTimeout(function () { + _this.addDiv(node) + }) + } else { + if (_this.iframes[node.id].src !== node.iframe) { + _this.iframes[node.id].src = node.iframe + } + _this.setElemPosition(node, _this.iframes[node.id]) } - if (!_this.options.loopIcon) { - _this.options.loopIcon = 't-icon t-loop'; + } + if (node.elementId) { + if (!_this.elements[node.id]) { + _this.elements[node.id] = document.getElementById(node.elementId) + if (_this.elements[node.id]) { + _this.canvas.appendChild(_this.elements[node.id]) + } } - _this.canvas.style.position = 'absolute'; - _this.canvas.style.left = '0'; - _this.canvas.style.top = '0'; - _this.canvas.style.outline = 'none'; - _this.canvas.style.background = 'transparent'; - parentElem.appendChild(_this.canvas); - parentElem.appendChild(_this.player); - _this.createPlayer(); - _this.subcribeDiv = Store.subscribe(_this.generateStoreKey('LT:addDiv'), _this.addDiv); - _this.subcribeDiv = Store.subscribe(_this.generateStoreKey('LT:removeDiv'), _this.removeDiv); - _this.subcribePlay = Store.subscribe(_this.generateStoreKey('LT:play'), function (e) { - _this.playOne(e.pen, e.pause); - }); - _this.subcribeNode = Store.subscribe(_this.generateStoreKey('LT:activeNode'), function (node) { - if (!node || (!node.video && !node.audio)) { - _this.player.style.top = '-99999px'; - return; - } - if (node.audio && _this.audios[node.id]) { - _this.media = _this.audios[node.id].media; - } - else if (node.video && videos[node.id]) { - _this.media = videos[node.id].media; - } - else { - return; - } - _this.curNode = node; - var rect = _this.parentElem.getBoundingClientRect(); - _this.player.style.top = rect.top + _this.parentElem.clientHeight - 40 + 'px'; - _this.player.style.left = rect.left + 'px'; - _this.player.style.width = _this.parentElem.clientWidth + 'px'; - _this.getMediaCurrent(); - if (_this.media.paused) { - _this.playBtn.className = _this.options.playIcon; - } - else { - _this.playBtn.className = _this.options.pauseIcon; - } - }); - document.addEventListener('fullscreenchange', function (e) { - if (!_this.media) { - return; - } - if (document.fullscreen) { - _this.media.controls = true; - _this.media.style.userSelect = 'initial'; - _this.media.style.pointerEvents = 'initial'; - } - else { - _this.media.style.userSelect = 'none'; - _this.media.style.pointerEvents = 'none'; - _this.media.controls = false; - } - }); - return _this; + _this.setElemPosition(node, _this.elements[node.id]) + } + if (node.gif) { + if (node.image.indexOf('.gif') < 0) { + node.gif = false + _this.canvas.removeChild(_this.gifs[node.id]) + _this.gifs[node.id] = undefined + } else if (node.img) { + if (_this.gifs[node.id] && _this.gifs[node.id].src !== node.image) { + _this.gifs[node.id].src = node.image + } + if (_this.gifs[node.id]) { + _this.setElemPosition(node, _this.gifs[node.id]) + } else { + _this.addGif(node) + _this.setElemPosition(node, node.id) + } + } + } + if (node.children) { + for (let _i = 0, _a = node.children; _i < _a.length; _i++) { + const child = _a[_i] + if (child.type === PenType.Line) { + continue + } + _this.addDiv(child) + } + } } - DivLayer.prototype.play = function (idOrTag, pause) { - var _this = this; - if (!idOrTag) { - return; + _this.createPlayer = function () { + _this.player.style.position = 'fixed' + _this.player.style.outline = 'none' + _this.player.style.top = '-99999px' + _this.player.style.height = '40px' + _this.player.style.padding = '10px 15px' + _this.player.style.background = 'rgba(200,200,200,.1)' + _this.player.style.display = 'flex' + _this.player.style.alignItems = 'center' + _this.player.style.userSelect = 'initial' + _this.player.style.pointerEvents = 'initial' + _this.player.style.zIndex = '1' + _this.playBtn = document.createElement('i') + _this.currentTime = document.createElement('span') + _this.progress = document.createElement('div') + _this.progressCurrent = document.createElement('div') + _this.loop = document.createElement('i') + _this.myfullScreen = document.createElement('i') + _this.playBtn.className = _this.options.playIcon + _this.playBtn.style.fontSize = '18px' + _this.playBtn.style.lineHeight = '20px' + _this.playBtn.style.cursor = 'pointer' + _this.currentTime.style.padding = '0 10px' + _this.currentTime.innerText = '0 / 0' + _this.progress.style.position = 'relative' + _this.progress.style.flexGrow = '1' + _this.progress.style.top = '0' + _this.progress.style.height = '4px' + _this.progress.style.background = '#ccc' + _this.progress.style.borderRadius = '2px' + _this.progress.style.overflow = 'hidden' + _this.progress.style.cursor = 'pointer' + _this.progressCurrent.style.position = 'absolute' + _this.progressCurrent.style.left = '0' + _this.progressCurrent.style.top = '0' + _this.progressCurrent.style.bottom = '0' + _this.progressCurrent.style.width = '0' + _this.progressCurrent.style.background = '#52c41a' + _this.loop.style.margin = '0 10px' + _this.loop.style.padding = '2px 5px' + _this.loop.style.borderRadius = '2px' + _this.loop.className = _this.options.loopIcon + _this.loop.style.fontSize = '18px' + _this.loop.style.lineHeight = '20px' + _this.loop.style.cursor = 'pointer' + _this.myfullScreen.className = _this.options.fullScreenIcon + _this.myfullScreen.style.fontSize = '17px' + _this.myfullScreen.style.lineHeight = '20px' + _this.myfullScreen.style.cursor = 'pointer' + _this.player.appendChild(_this.playBtn) + _this.player.appendChild(_this.currentTime) + _this.player.appendChild(_this.progress) + _this.progress.appendChild(_this.progressCurrent) + _this.player.appendChild(_this.loop) + _this.player.appendChild(_this.myfullScreen) + _this.playBtn.onclick = function () { + if (_this.media.paused) { + _this.media.play() + _this.playBtn.className = _this.options.pauseIcon + } else { + _this.media.pause() + _this.playBtn.className = _this.options.playIcon } - var pens = find(idOrTag, this.data.pens); - pens.forEach(function (item) { - _this.playOne(item, pause); - }); - }; - DivLayer.prototype.playOne = function (item, pause) { - if (item.audio && this.audios[item.id] && this.audios[item.id].media) { - if (pause) { - this.audios[item.id].media.pause(); - } - else if (this.audios[item.id].media.paused) { - this.audios[item.id].media.play(); - } + } + _this.progress.onclick = function (e) { + _this.media.currentTime = (e.offsetX / _this.progress.clientWidth) * _this.media.duration + } + _this.loop.onclick = function () { + _this.media.loop = !_this.media.loop + _this.curNode.playLoop = _this.media.loop + if (_this.media.loop) { + _this.loop.style.background = '#ddd' + } else { + _this.loop.style.background = 'none' } - else if (item.video && videos[item.id].media) { - if (pause) { - videos[item.id].media.pause(); - } - else if (videos[item.id].media.paused) { - videos[item.id].media.play(); - } + } + _this.myfullScreen.onclick = function () { + _this.media.requestFullscreen() + } + } + _this.getMediaCurrent = function () { + if (!_this.media) { + return + } + _this.currentTime.innerText = + _this.formatSeconds(_this.media.currentTime) + ' / ' + _this.formatSeconds(_this.media.duration) + _this.progressCurrent.style.width = + (_this.media.currentTime / _this.media.duration) * _this.progress.clientWidth + 'px' + } + _this.addMedia = function (node, type) { + let player = document.createElement('div') + let current = document.createElement('div') + let media = document.createElement(type) + player.id = node.id + current.style.position = 'absolute' + current.style.outline = 'none' + current.style.left = '0' + current.style.bottom = '0' + current.style.height = '2px' + current.style.background = '#52c41a' + media.style.position = 'absolute' + media.style.outline = 'none' + media.style.left = '0' + media.style.right = '0' + media.style.top = '0' + media.style.bottom = '0' + if (type === 'video') { + media.style.width = node.rect.width + 'px' + media.style.height = node.rect.height + 'px' + } + player.style.background = 'transparent' + if (node.playType === 1) { + media.autoplay = true + } + media.loop = node.playLoop + media.ontimeupdate = function () { + current.style.width = (media.currentTime / media.duration) * node.rect.width + 'px' + _this.getMediaCurrent() + if (_this.media === media) { + if (node.playLoop) { + media.loop = true + _this.loop.style.background = '#ddd' + } else { + media.loop = false + _this.loop.style.background = 'none' + } } - }; - DivLayer.prototype.addIframe = function (node) { - var iframe = document.createElement('iframe'); - iframe.scrolling = 'no'; - iframe.frameBorder = '0'; - iframe.src = node.iframe; - this.iframes[node.id] = iframe; - this.canvas.appendChild(iframe); - return iframe; - }; - DivLayer.prototype.addGif = function (node) { - this.gifs[node.id] = node.img; - this.canvas.appendChild(node.img); - return node.img; - }; - DivLayer.prototype.clear = function (shallow) { - this.canvas.innerHTML = ''; - this.audios = {}; - videos = {}; - this.iframes = {}; - this.elements = {}; - this.gifs = {}; - if (!shallow) { - // tslint:disable-next-line:forin - for (var key in images) { - delete images[key]; - } + } + media.onended = function () { + Store.set(_this.generateStoreKey('mediaEnd'), node) + if (_this.media === media) { + _this.playBtn.className = _this.options.playIcon } - this.player.style.top = '-99999px'; - }; - DivLayer.prototype.formatSeconds = function (seconds) { - var h = Math.floor(seconds / 3600); - var m = Math.floor(seconds / 60) % 60; - var s = Math.floor(seconds % 60); - var txt = s + ''; - if (m) { - txt = m + ':' + s; + _this.play(node.nextPlay) + } + media.onloadedmetadata = function () { + _this.getMediaCurrent() + } + media.src = node[type] + player.appendChild(media) + player.appendChild(current) + if (type === 'video') { + videos[node.id] = { + player: player, + current: current, + media: media } - else { - txt = '0:' + s; + } else { + _this.audios[node.id] = { + player: player, + current: current, + media: media } - if (h) { - txt = h + ':' + m + ':' + s; + } + _this.canvas.appendChild(player) + setTimeout(() => { + player = null + current = null + media = null + }, 100) + return player + } + _this.setElemPosition = function (node, elem) { + if (!elem) { + return + } + elem.style.position = 'absolute' + elem.style.outline = 'none' + elem.style.left = node.rect.x + _this.data.x + 'px' + elem.style.top = node.rect.y + _this.data.y + 'px' + elem.style.width = node.rect.width + 'px' + elem.style.height = node.rect.height + 'px' + elem.style.display = node.visible ? 'inline' : 'none' // 是否隐藏元素 + if (node.rotate || node.offsetRotate) { + elem.style.transform = 'rotate(' + (node.rotate + node.offsetRotate) + 'deg)' + } + if (node.video && videos[node.id] && videos[node.id].media) { + videos[node.id].media.style.width = '100%' + videos[node.id].media.style.height = '100%' + } + if (_this.data.locked > Lock.None || node.locked > Lock.None) { + elem.style.userSelect = 'initial' + elem.style.pointerEvents = 'initial' + } else { + elem.style.userSelect = 'none' + elem.style.pointerEvents = 'none' + } + } + _this.removeDiv = function (item) { + if (_this.curNode && item.id === _this.curNode.id) { + _this.curNode = undefined + _this.media = undefined + _this.player.style.top = '-99999px' + } + if (item.audio) { + _this.canvas.removeChild(_this.audios[item.id].player) + _this.audios[item.id] = undefined + } + if (item.video) { + _this.canvas.removeChild(videos[item.id].player) + videos[item.id] = undefined + } + if (item.iframe) { + _this.canvas.removeChild(_this.iframes[item.id]) + _this.iframes[item.id] = undefined + } + if (item.elementId) { + _this.canvas.removeChild(_this.elements[item.id]) + _this.elements[item.id] = undefined + item.elementId = '' + } + if (item.gif) { + _this.canvas.removeChild(_this.gifs[item.id]) + _this.gifs[item.id] = undefined + } + if (item.children) { + for (let _i = 0, _a = item.children; _i < _a.length; _i++) { + const child = _a[_i] + if (child.type === PenType.Line) { + continue + } + _this.removeDiv(child) } - return txt; - }; - DivLayer.prototype.resize = function (size) { - if (size) { - this.canvas.style.width = size.width + 'px'; - this.canvas.style.height = size.height + 'px'; - } - else { - if (this.options.width && this.options.width !== 'auto') { - this.canvas.style.width = this.options.width + 'px'; - } - else { - this.canvas.style.width = this.parentElem.clientWidth + 'px'; - } - if (this.options.height && this.options.height !== 'auto') { - this.canvas.style.height = this.options.height + 'px'; - } - else { - this.canvas.style.height = this.parentElem.clientHeight - 8 + 'px'; - } - } - }; - DivLayer.prototype.render = function () { - for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) { - var item = _a[_i]; - if (!item.getTID()) { - item.setTID(this.TID); - } - this.addDiv(item); - } - }; - DivLayer.prototype.destroy = function () { - _super.prototype.destroy.call(this); - this.clear(); - this.subcribeDiv.unsubscribe(); - this.subcribeNode.unsubscribe(); - this.subcribePlay.unsubscribe(); - }; - return DivLayer; -}(Layer)); -export { DivLayer }; -//# sourceMappingURL=divLayer.js.map \ No newline at end of file + } + } + if (!_this.options.playIcon) { + _this.options.playIcon = 't-icon t-play' + } + if (!_this.options.pauseIcon) { + _this.options.pauseIcon = 't-icon t-pause' + } + if (!_this.options.fullScreenIcon) { + _this.options.fullScreenIcon = 't-icon t-full-screen' + } + if (!_this.options.loopIcon) { + _this.options.loopIcon = 't-icon t-loop' + } + _this.canvas.style.position = 'absolute' + _this.canvas.style.left = '0' + _this.canvas.style.top = '0' + _this.canvas.style.outline = 'none' + _this.canvas.style.background = 'transparent' + parentElem.appendChild(_this.canvas) + parentElem.appendChild(_this.player) + _this.createPlayer() + _this.subcribeDiv = Store.subscribe(_this.generateStoreKey('LT:addDiv'), _this.addDiv) + _this.subcribeDiv = Store.subscribe(_this.generateStoreKey('LT:removeDiv'), _this.removeDiv) + _this.subcribePlay = Store.subscribe(_this.generateStoreKey('LT:play'), function (e) { + _this.playOne(e.pen, e.pause) + }) + _this.subcribeNode = Store.subscribe(_this.generateStoreKey('LT:activeNode'), function (node) { + if (!node || (!node.video && !node.audio)) { + _this.player.style.top = '-99999px' + return + } + if (node.audio && _this.audios[node.id]) { + _this.media = _this.audios[node.id].media + } else if (node.video && videos[node.id]) { + _this.media = videos[node.id].media + } else { + return + } + _this.curNode = node + const rect = _this.parentElem.getBoundingClientRect() + _this.player.style.top = rect.top + _this.parentElem.clientHeight - 40 + 'px' + _this.player.style.left = rect.left + 'px' + _this.player.style.width = _this.parentElem.clientWidth + 'px' + _this.getMediaCurrent() + if (_this.media.paused) { + _this.playBtn.className = _this.options.playIcon + } else { + _this.playBtn.className = _this.options.pauseIcon + } + }) + _this.fullscreenchange = function (e) { + if (!_this.media) { + return + } + if (document.fullscreen) { + _this.media.controls = true + _this.media.style.userSelect = 'initial' + _this.media.style.pointerEvents = 'initial' + } else { + _this.media.style.userSelect = 'none' + _this.media.style.pointerEvents = 'none' + _this.media.controls = false + } + } + document.addEventListener('fullscreenchange', _this.fullscreenchange) + return _this + } + DivLayer.prototype.play = function (idOrTag, pause) { + const _this = this + if (!idOrTag) { + return + } + const pens = find(idOrTag, this.data.pens) + pens.forEach(function (item) { + _this.playOne(item, pause) + }) + } + DivLayer.prototype.playOne = function (item, pause) { + if (item.audio && this.audios[item.id] && this.audios[item.id].media) { + if (pause) { + this.audios[item.id].media.pause() + } else if (this.audios[item.id].media.paused) { + this.audios[item.id].media.play() + } + } else if (item.video && videos[item.id].media) { + if (pause) { + videos[item.id].media.pause() + } else if (videos[item.id].media.paused) { + videos[item.id].media.play() + } + } + } + DivLayer.prototype.addIframe = function (node) { + const iframe = document.createElement('iframe') + iframe.scrolling = 'no' + iframe.frameBorder = '0' + iframe.src = node.iframe + this.iframes[node.id] = iframe + this.canvas.appendChild(iframe) + return iframe + } + DivLayer.prototype.addGif = function (node) { + this.gifs[node.id] = node.img + this.canvas.appendChild(node.img) + } + DivLayer.prototype.clear = function (shallow) { + this.canvas.innerHTML = '' + this.audios = {} + videos = {} + this.iframes = {} + this.elements = {} + this.gifs = {} + if (!shallow) { + // tslint:disable-next-line:forin + for (const key in images) { + delete images[key] + } + } + this.player.style.top = '-99999px' + } + DivLayer.prototype.formatSeconds = function (seconds) { + const h = Math.floor(seconds / 3600) + const m = Math.floor(seconds / 60) % 60 + const s = Math.floor(seconds % 60) + let txt = s + '' + if (m) { + txt = m + ':' + s + } else { + txt = '0:' + s + } + if (h) { + txt = h + ':' + m + ':' + s + } + return txt + } + DivLayer.prototype.resize = function (size) { + if (size) { + this.canvas.style.width = size.width + 'px' + this.canvas.style.height = size.height + 'px' + } else { + if (this.options.width && this.options.width !== 'auto') { + this.canvas.style.width = this.options.width + 'px' + } else { + this.canvas.style.width = this.parentElem.clientWidth + 'px' + } + if (this.options.height && this.options.height !== 'auto') { + this.canvas.style.height = this.options.height + 'px' + } else { + this.canvas.style.height = this.parentElem.clientHeight - 8 + 'px' + } + } + } + DivLayer.prototype.render = function () { + for (let _i = 0, _a = this.data.pens; _i < _a.length; _i++) { + const item = _a[_i] + if (!item.getTID()) { + item.setTID(this.TID) + } + this.addDiv(item) + } + } + DivLayer.prototype.destroy = function () { + _super.prototype.destroy.call(this) + this.clear() + this.subcribeDiv.unsubscribe() + this.subcribeNode.unsubscribe() + this.subcribePlay.unsubscribe() + this.parentElem.removeChild(this.canvas) + this.parentElem.removeChild(this.player) + document.removeEventListener('fullscreenchange', this.fullscreenchange) + Object.keys(this.audios).forEach(key => { + this.audios[key] = null + }) + this.myfullScreen.onclick = null + this.playBtn.onclick = null + this.progress.onclick = null + this.loop.onclick = null + this.subcribeDiv = null + this.subcribeNode = null + this.subcribePlay = null + this.parentElem = null + this.options = null + this.canvas = null + this.player = null + this.audios = null + this.iframes = null + this.elements = null + this.gifs = null + this.playBtn = null + this.currentTime = null + this.progress = null + this.progressCurrent = null + this.loop = null + videos = null + this.iframes = null + this.elements = null + this.gifs = null + this.addDiv = null + this.createPlayer = null + this.setElemPosition = null + } + return DivLayer +}(Layer)) +export { DivLayer } +// # sourceMappingURL=divLayer.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/hoverLayer.js b/nezha-fronted/src/components/common/@topology/core/src/hoverLayer.js index d9602d8a3..1e89b17f3 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/hoverLayer.js +++ b/nezha-fronted/src/components/common/@topology/core/src/hoverLayer.js @@ -1,211 +1,211 @@ -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -import { PenType } from './models/pen'; -import { Store } from 'le5le-store'; -import { Lock } from './models/status'; -import { Layer } from './layer'; -import { rgba } from './utils/math'; -var HoverLayer = /** @class */ (function (_super) { - __extends(HoverLayer, _super); - function HoverLayer(options, TID) { - if (options === void 0) { options = {}; } - var _this = _super.call(this, TID) || this; - _this.options = options; - _this.hoverAnchorIndex = -1; - _this.dockLineX = 0; - _this.dockLineY = 0; - Store.set(_this.generateStoreKey('LT:HoverLayer'), _this); - return _this; +import { PenType } from './models/pen' +import { Store } from 'le5le-store' +import { Lock } from './models/status' +import { Layer } from './layer' +import { rgba } from './utils/math' +const __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b }) || + function (d, b) { for (const p in b) if (b.hasOwnProperty(p)) d[p] = b[p] } + return extendStatics(d, b) + } + return function (d, b) { + extendStatics(d, b) + function __ () { this.constructor = d } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()) + } +})() +const HoverLayer = /** @class */ (function (_super) { + __extends(HoverLayer, _super) + function HoverLayer (options, TID) { + if (options === void 0) { options = {} } + const _this = _super.call(this, TID) || this + _this.options = options + _this.hoverAnchorIndex = -1 + _this.dockLineX = 0 + _this.dockLineY = 0 + Store.set(_this.generateStoreKey('LT:HoverLayer'), _this) + return _this + } + HoverLayer.prototype.lineTo = function (to, toArrow) { + if (toArrow === void 0) { toArrow = 'triangleSolid' } + if (!this.line || this.line.locked) { + return } - HoverLayer.prototype.lineTo = function (to, toArrow) { - if (toArrow === void 0) { toArrow = 'triangleSolid'; } - if (!this.line || this.line.locked) { - return; + this.line.setTo(to, toArrow) + if (this.line.from.id || this.line.to.id) { + this.line.calcControlPoints() + } + Store.set(this.generateStoreKey('pts-') + this.line.id, undefined) + Store.set(this.generateStoreKey('LT:updateLines'), [this.line]) + } + HoverLayer.prototype.lineFrom = function (from) { + if (this.line.locked) { + return + } + this.line.setFrom(from, this.line.fromArrow) + if (this.line.from.id || this.line.to.id) { + this.line.calcControlPoints() + } + Store.set(this.generateStoreKey('pts-') + this.line.id, undefined) + Store.set(this.generateStoreKey('LT:updateLines'), [this.line]) + } + HoverLayer.prototype.render = function (ctx) { + const _this = this + if (this.data.locked === Lock.NoEvent || this.options.hoverColor === 'transparent') { + return + } + ctx.fillStyle = this.options.hoverColor + ctx.save() + // anchors + if (this.options.alwaysAnchor) { + this.data.pens.forEach(function (pen) { + if (pen.type === PenType.Line) { + return } - this.line.setTo(to, toArrow); - if (this.line.from.id || this.line.to.id) { - this.line.calcControlPoints(); + if (pen.hideAnchor) { + return } - Store.set(this.generateStoreKey('pts-') + this.line.id, undefined); - Store.set(this.generateStoreKey('LT:updateLines'), [this.line]); - }; - HoverLayer.prototype.lineFrom = function (from) { - if (this.line.locked) { - return; + for (let _i = 0, _a = pen.rotatedAnchors; _i < _a.length; _i++) { + const anchor = _a[_i] + if (anchor.hidden) { + continue + } + ctx.beginPath() + ctx.arc(anchor.x, anchor.y, anchor.radius || _this.options.anchorRadius, 0, Math.PI * 2) + ctx.strokeStyle = anchor.strokeStyle || _this.options.hoverColor + ctx.fillStyle = anchor.fillStyle || _this.options.anchorFillStyle + ctx.fill() + ctx.stroke() } - this.line.setFrom(from, this.line.fromArrow); - if (this.line.from.id || this.line.to.id) { - this.line.calcControlPoints(); + if (_this.options.autoAnchor) { + ctx.beginPath() + ctx.arc(pen.rect.center.x, pen.rect.center.y, pen.rect.center.radius || _this.options.anchorRadius, 0, Math.PI * 2) + ctx.strokeStyle = _this.options.hoverColor + ctx.fillStyle = _this.options.anchorFillStyle + ctx.fill() + ctx.stroke() } - Store.set(this.generateStoreKey('pts-') + this.line.id, undefined); - Store.set(this.generateStoreKey('LT:updateLines'), [this.line]); - }; - HoverLayer.prototype.render = function (ctx) { - var _this = this; - if (this.data.locked === Lock.NoEvent || this.options.hoverColor === 'transparent') { - return; + }) + } + ctx.restore() + if (this.node && !this.data.locked) { + if (!this.node.getTID()) { + this.node.setTID(this.TID) + } + this.root = this.getRoot(this.node) || this.node + if (this.root) { + ctx.save() + ctx.strokeStyle = this.options.dragColor + ctx.globalAlpha = 0.2 + if (this.root.rotate) { + ctx.translate(this.root.rect.center.x, this.root.rect.center.y) + ctx.rotate(((this.root.rotate + this.root.offsetRotate) * Math.PI) / 180) + ctx.translate(-this.root.rect.center.x, -this.root.rect.center.y) } - ctx.fillStyle = this.options.hoverColor; - ctx.save(); - // anchors - if (this.options.alwaysAnchor) { - this.data.pens.forEach(function (pen) { - if (pen.type === PenType.Line) { - return; - } - if (pen.hideAnchor) { - return; - } - for (var _i = 0, _a = pen.rotatedAnchors; _i < _a.length; _i++) { - var anchor = _a[_i]; - if (anchor.hidden) { - continue; - } - ctx.beginPath(); - ctx.arc(anchor.x, anchor.y, anchor.radius || _this.options.anchorRadius, 0, Math.PI * 2); - ctx.strokeStyle = anchor.strokeStyle || _this.options.hoverColor; - ctx.fillStyle = anchor.fillStyle || _this.options.anchorFillStyle; - ctx.fill(); - ctx.stroke(); - } - if (_this.options.autoAnchor) { - ctx.beginPath(); - ctx.arc(pen.rect.center.x, pen.rect.center.y, pen.rect.center.radius || _this.options.anchorRadius, 0, Math.PI * 2); - ctx.strokeStyle = _this.options.hoverColor; - ctx.fillStyle = _this.options.anchorFillStyle; - ctx.fill(); - ctx.stroke(); - } - }); - } - ctx.restore(); - if (this.node && !this.data.locked) { - if (!this.node.getTID()) { - this.node.setTID(this.TID); - } - this.root = this.getRoot(this.node) || this.node; - if (this.root) { - ctx.save(); - ctx.strokeStyle = this.options.dragColor; - ctx.globalAlpha = 0.2; - if (this.root.rotate) { - ctx.translate(this.root.rect.center.x, this.root.rect.center.y); - ctx.rotate(((this.root.rotate + this.root.offsetRotate) * Math.PI) / 180); - ctx.translate(-this.root.rect.center.x, -this.root.rect.center.y); - } - ctx.beginPath(); - ctx.strokeRect(this.root.rect.x, this.root.rect.y, this.root.rect.width, this.root.rect.height); - ctx.restore(); - } - if (!this.options.hideAnchor) { - for (var i = 0; i < this.node.rotatedAnchors.length; ++i) { - if (this.node.locked || + ctx.beginPath() + ctx.strokeRect(this.root.rect.x, this.root.rect.y, this.root.rect.width, this.root.rect.height) + ctx.restore() + } + if (!this.options.hideAnchor) { + for (let i = 0; i < this.node.rotatedAnchors.length; ++i) { + if (this.node.locked || this.node.hideAnchor || (this.node.rotatedAnchors[i].hidden && this.hoverAnchorIndex !== i)) { - continue; - } - ctx.beginPath(); - ctx.arc(this.node.rotatedAnchors[i].x, this.node.rotatedAnchors[i].y, this.node.rotatedAnchors[i].radius || this.options.anchorRadius, 0, Math.PI * 2); - ctx.strokeStyle = this.node.rotatedAnchors[i].strokeStyle || this.options.hoverColor; - ctx.fillStyle = this.node.rotatedAnchors[i].fillStyle || this.options.anchorFillStyle; - ctx.fill(); - ctx.stroke(); - } - } - if (this.options.autoAnchor) { - ctx.beginPath(); - ctx.arc(this.node.rect.center.x, this.node.rect.center.y, this.node.rect.center.radius || this.options.anchorRadius, 0, Math.PI * 2); - ctx.strokeStyle = this.options.hoverColor; - ctx.fillStyle = this.options.anchorFillStyle; - ctx.fill(); - ctx.stroke(); - } + continue + } + ctx.beginPath() + ctx.arc(this.node.rotatedAnchors[i].x, this.node.rotatedAnchors[i].y, this.node.rotatedAnchors[i].radius || this.options.anchorRadius, 0, Math.PI * 2) + ctx.strokeStyle = this.node.rotatedAnchors[i].strokeStyle || this.options.hoverColor + ctx.fillStyle = this.node.rotatedAnchors[i].fillStyle || this.options.anchorFillStyle + ctx.fill() + ctx.stroke() } - if (this.line && !this.data.locked) { - this.root = this.getRoot(this.line); - if (this.root) { - ctx.save(); - ctx.strokeStyle = this.options.dragColor; - ctx.globalAlpha = 0.2; - if (this.root.rotate) { - ctx.translate(this.root.rect.center.x, this.root.rect.center.y); - ctx.rotate(((this.root.rotate + this.root.offsetRotate) * Math.PI) / 180); - ctx.translate(-this.root.rect.center.x, -this.root.rect.center.y); - } - ctx.beginPath(); - ctx.strokeRect(this.root.rect.x, this.root.rect.y, this.root.rect.width, this.root.rect.height); - ctx.restore(); - } + } + if (this.options.autoAnchor) { + ctx.beginPath() + ctx.arc(this.node.rect.center.x, this.node.rect.center.y, this.node.rect.center.radius || this.options.anchorRadius, 0, Math.PI * 2) + ctx.strokeStyle = this.options.hoverColor + ctx.fillStyle = this.options.anchorFillStyle + ctx.fill() + ctx.stroke() + } + } + if (this.line && !this.data.locked) { + this.root = this.getRoot(this.line) + if (this.root) { + ctx.save() + ctx.strokeStyle = this.options.dragColor + ctx.globalAlpha = 0.2 + if (this.root.rotate) { + ctx.translate(this.root.rect.center.x, this.root.rect.center.y) + ctx.rotate(((this.root.rotate + this.root.offsetRotate) * Math.PI) / 180) + ctx.translate(-this.root.rect.center.x, -this.root.rect.center.y) } - if (this.dockAnchor) { - ctx.save(); - ctx.beginPath(); - ctx.arc(this.dockAnchor.x, this.dockAnchor.y, this.dockAnchor.radius || this.options.anchorRadius, 0, Math.PI * 2); - ctx.strokeStyle = this.options.dockStrokeStyle; - ctx.fillStyle = this.options.dockFillStyle; - ctx.fill(); - ctx.stroke(); - ctx.restore(); - } - if (this.hoverLineCP) { - ctx.beginPath(); - ctx.arc(this.hoverLineCP.x, this.hoverLineCP.y, 5, 0, Math.PI * 2); - ctx.fill(); - } - ctx.strokeStyle = rgba(0.5, this.options.hoverColor); - ctx.lineWidth = 1; - if (this.dockLineX > 0) { - var size = Store.get(this.generateStoreKey('LT:size')); - ctx.beginPath(); - ctx.moveTo(this.dockLineX, -this.data.y); - ctx.lineTo(this.dockLineX, size.height); - ctx.stroke(); - } - if (this.dockLineY > 0) { - var size = Store.get(this.generateStoreKey('LT:size')); - ctx.beginPath(); - ctx.moveTo(-this.data.x, this.dockLineY); - ctx.lineTo(size.width, this.dockLineY); - ctx.stroke(); - } - // Select nodes by drag. - if (this.dragRect) { - ctx.fillStyle = rgba(0.2, this.options.dragColor); - ctx.strokeStyle = this.options.dragColor; - ctx.beginPath(); - ctx.strokeRect(this.dragRect.x, this.dragRect.y, this.dragRect.width, this.dragRect.height); - ctx.fillRect(this.dragRect.x, this.dragRect.y, this.dragRect.width, this.dragRect.height); - } - }; - HoverLayer.prototype.getRoot = function (pen) { - if (!pen.parentId) { - return null; - } - for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) { - var item = _a[_i]; - if (item.id === pen.parentId) { - var n = this.getRoot(item); - return n ? n : item; - } - } - return null; - }; - HoverLayer.prototype.clear = function () { - this.node = undefined; - this.line = undefined; - }; - return HoverLayer; -}(Layer)); -export { HoverLayer }; -//# sourceMappingURL=hoverLayer.js.map \ No newline at end of file + ctx.beginPath() + ctx.strokeRect(this.root.rect.x, this.root.rect.y, this.root.rect.width, this.root.rect.height) + ctx.restore() + } + } + if (this.dockAnchor) { + ctx.save() + ctx.beginPath() + ctx.arc(this.dockAnchor.x, this.dockAnchor.y, this.dockAnchor.radius || this.options.anchorRadius, 0, Math.PI * 2) + ctx.strokeStyle = this.options.dockStrokeStyle + ctx.fillStyle = this.options.dockFillStyle + ctx.fill() + ctx.stroke() + ctx.restore() + } + if (this.hoverLineCP) { + ctx.beginPath() + ctx.arc(this.hoverLineCP.x, this.hoverLineCP.y, 5, 0, Math.PI * 2) + ctx.fill() + } + ctx.strokeStyle = rgba(0.5, this.options.hoverColor) + ctx.lineWidth = 1 + if (this.dockLineX > 0) { + var size = Store.get(this.generateStoreKey('LT:size')) + ctx.beginPath() + ctx.moveTo(this.dockLineX, -this.data.y) + ctx.lineTo(this.dockLineX, size.height) + ctx.stroke() + } + if (this.dockLineY > 0) { + var size = Store.get(this.generateStoreKey('LT:size')) + ctx.beginPath() + ctx.moveTo(-this.data.x, this.dockLineY) + ctx.lineTo(size.width, this.dockLineY) + ctx.stroke() + } + // Select nodes by drag. + if (this.dragRect) { + ctx.fillStyle = rgba(0.2, this.options.dragColor) + ctx.strokeStyle = this.options.dragColor + ctx.beginPath() + ctx.strokeRect(this.dragRect.x, this.dragRect.y, this.dragRect.width, this.dragRect.height) + ctx.fillRect(this.dragRect.x, this.dragRect.y, this.dragRect.width, this.dragRect.height) + } + } + HoverLayer.prototype.getRoot = function (pen) { + if (!pen.parentId) { + return null + } + for (let _i = 0, _a = this.data.pens; _i < _a.length; _i++) { + const item = _a[_i] + if (item.id === pen.parentId) { + const n = this.getRoot(item) + return n || item + } + } + return null + } + HoverLayer.prototype.clear = function () { + this.node = undefined + this.line = undefined + } + return HoverLayer +}(Layer)) +export { HoverLayer } +// # sourceMappingURL=hoverLayer.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/layer.js b/nezha-fronted/src/components/common/@topology/core/src/layer.js index ec2f76780..97c772c64 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/layer.js +++ b/nezha-fronted/src/components/common/@topology/core/src/layer.js @@ -1,19 +1,20 @@ -import { Store } from 'le5le-store'; -var Layer = /** @class */ (function () { - function Layer(TID) { - var _this = this; - this.TID = TID; - this.subcribe = Store.subscribe(this.generateStoreKey('topology-data'), function (val) { - _this.data = val; - }); - } - Layer.prototype.generateStoreKey = function (key) { - return this.TID + "-" + key; - }; - Layer.prototype.destroy = function () { - this.subcribe.unsubscribe(); - }; - return Layer; -}()); -export { Layer }; -//# sourceMappingURL=layer.js.map \ No newline at end of file +import { Store } from 'le5le-store' +const Layer = /** @class */ (function () { + function Layer (TID) { + const _this = this + this.TID = TID + this.subcribe = Store.subscribe(this.generateStoreKey('topology-data'), function (val) { + _this.data = val + }) + } + Layer.prototype.generateStoreKey = function (key) { + return this.TID + '-' + key + } + Layer.prototype.destroy = function () { + this.subcribe.unsubscribe() + this.subcribe = null + } + return Layer +}()) +export { Layer } +// # sourceMappingURL=layer.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/circle.js b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/circle.js index 7892d6628..d9264503a 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/circle.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/circle.js @@ -1,24 +1,23 @@ -import { Store } from 'le5le-store'; -export function circleSolid(ctx, from, to, size, fillStyle) { - size += ctx.lineWidth * 3; - var r = size / 2; - if (ctx.lineWidth < 2) { - ctx.lineWidth = 2; - } - ctx.translate(to.x, to.y); - ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)); - ctx.translate(-to.x, -to.y - ctx.lineWidth / 10); - ctx.arc(to.x - r - ctx.lineWidth / 2, to.y, r, 0, 2 * Math.PI); - ctx.stroke(); - if (fillStyle) { - ctx.fillStyle = fillStyle; - } - else { - ctx.fillStyle = ctx.strokeStyle; - } - ctx.fill(); +import { Store } from 'le5le-store' +export function circleSolid (ctx, from, to, size, fillStyle) { + size += ctx.lineWidth * 3 + const r = size / 2 + if (ctx.lineWidth < 2) { + ctx.lineWidth = 2 + } + ctx.translate(to.x, to.y) + ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)) + ctx.translate(-to.x, -to.y - ctx.lineWidth / 10) + ctx.arc(to.x - r - ctx.lineWidth / 2, to.y, r, 0, 2 * Math.PI) + ctx.stroke() + if (fillStyle) { + ctx.fillStyle = fillStyle + } else { + ctx.fillStyle = ctx.strokeStyle + } + ctx.fill() } -export function circle(ctx, from, to, size) { - circleSolid(ctx, from, to, size, Store.get('LT:bkColor') || '#fff'); +export function circle (ctx, from, to, size) { + circleSolid(ctx, from, to, size, Store.get('LT:bkColor') || '#fff') } -//# sourceMappingURL=circle.js.map \ No newline at end of file +// # sourceMappingURL=circle.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/diamond.js b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/diamond.js index 2851265e0..54731b8f7 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/diamond.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/diamond.js @@ -1,32 +1,31 @@ -import { Store } from 'le5le-store'; -export function diamondSolid(ctx, from, to, size, fillStyle) { - size += ctx.lineWidth * 3; - var r = size / 2; - var arrowWidth = ctx.lineWidth / 10; - if (ctx.lineWidth < 2) { - ctx.lineWidth = 2; - arrowWidth = 0; - } - ctx.translate(to.x, to.y); - ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)); - ctx.translate(-to.x - ctx.lineWidth + arrowWidth * 5, -to.y); - ctx.moveTo(to.x, to.y + arrowWidth); - ctx.lineTo(to.x, to.y - arrowWidth); - ctx.lineTo(to.x - r, to.y - r / 2); - ctx.lineTo(to.x - size, to.y - arrowWidth); - ctx.lineTo(to.x - size, to.y + arrowWidth); - ctx.lineTo(to.x - r, to.y + r / 2); - ctx.closePath(); - ctx.stroke(); - if (fillStyle) { - ctx.fillStyle = fillStyle; - } - else { - ctx.fillStyle = ctx.strokeStyle; - } - ctx.fill(); +import { Store } from 'le5le-store' +export function diamondSolid (ctx, from, to, size, fillStyle) { + size += ctx.lineWidth * 3 + const r = size / 2 + let arrowWidth = ctx.lineWidth / 10 + if (ctx.lineWidth < 2) { + ctx.lineWidth = 2 + arrowWidth = 0 + } + ctx.translate(to.x, to.y) + ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)) + ctx.translate(-to.x - ctx.lineWidth + arrowWidth * 5, -to.y) + ctx.moveTo(to.x, to.y + arrowWidth) + ctx.lineTo(to.x, to.y - arrowWidth) + ctx.lineTo(to.x - r, to.y - r / 2) + ctx.lineTo(to.x - size, to.y - arrowWidth) + ctx.lineTo(to.x - size, to.y + arrowWidth) + ctx.lineTo(to.x - r, to.y + r / 2) + ctx.closePath() + ctx.stroke() + if (fillStyle) { + ctx.fillStyle = fillStyle + } else { + ctx.fillStyle = ctx.strokeStyle + } + ctx.fill() } -export function diamond(ctx, from, to, size) { - diamondSolid(ctx, from, to, size, Store.get('LT:bkColor') || '#fff'); +export function diamond (ctx, from, to, size) { + diamondSolid(ctx, from, to, size, Store.get('LT:bkColor') || '#fff') } -//# sourceMappingURL=diamond.js.map \ No newline at end of file +// # sourceMappingURL=diamond.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/line.js b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/line.js index 2a2d13356..763fba64e 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/line.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/line.js @@ -1,42 +1,40 @@ -export function line(ctx, from, to, size) { - size += ctx.lineWidth * 3; - ctx.translate(to.x, to.y); - ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)); - ctx.translate(-to.x - ctx.lineWidth / 5, -to.y - ctx.lineWidth / 5); - ctx.moveTo(to.x, to.y); - ctx.lineTo(to.x - size, to.y - size / 3); - ctx.moveTo(to.x, to.y); - ctx.lineTo(to.x - size, to.y + size / 3); - ctx.stroke(); +export function line (ctx, from, to, size) { + size += ctx.lineWidth * 3 + ctx.translate(to.x, to.y) + ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)) + ctx.translate(-to.x - ctx.lineWidth / 5, -to.y - ctx.lineWidth / 5) + ctx.moveTo(to.x, to.y) + ctx.lineTo(to.x - size, to.y - size / 3) + ctx.moveTo(to.x, to.y) + ctx.lineTo(to.x - size, to.y + size / 3) + ctx.stroke() } -export function lineUp(ctx, from, to, size) { - size += ctx.lineWidth * 3; - ctx.translate(to.x, to.y); - ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)); - ctx.translate(-to.x - ctx.lineWidth / 5, -to.y - ctx.lineWidth / 5); - if (to.x > from.x) { - ctx.moveTo(to.x, to.y); - ctx.lineTo(to.x - size, to.y - size / 3); - } - else { - ctx.moveTo(to.x, to.y); - ctx.lineTo(to.x - size, to.y + size / 3); - } - ctx.stroke(); +export function lineUp (ctx, from, to, size) { + size += ctx.lineWidth * 3 + ctx.translate(to.x, to.y) + ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)) + ctx.translate(-to.x - ctx.lineWidth / 5, -to.y - ctx.lineWidth / 5) + if (to.x > from.x) { + ctx.moveTo(to.x, to.y) + ctx.lineTo(to.x - size, to.y - size / 3) + } else { + ctx.moveTo(to.x, to.y) + ctx.lineTo(to.x - size, to.y + size / 3) + } + ctx.stroke() } -export function lineDown(ctx, from, to, size) { - size += ctx.lineWidth * 3; - ctx.translate(to.x, to.y); - ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)); - ctx.translate(-to.x - ctx.lineWidth / 5, -to.y - ctx.lineWidth / 5); - if (to.x < from.x) { - ctx.moveTo(to.x, to.y); - ctx.lineTo(to.x - size, to.y - size / 3); - } - else { - ctx.moveTo(to.x, to.y); - ctx.lineTo(to.x - size, to.y + size / 3); - } - ctx.stroke(); +export function lineDown (ctx, from, to, size) { + size += ctx.lineWidth * 3 + ctx.translate(to.x, to.y) + ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)) + ctx.translate(-to.x - ctx.lineWidth / 5, -to.y - ctx.lineWidth / 5) + if (to.x < from.x) { + ctx.moveTo(to.x, to.y) + ctx.lineTo(to.x - size, to.y - size / 3) + } else { + ctx.moveTo(to.x, to.y) + ctx.lineTo(to.x - size, to.y + size / 3) + } + ctx.stroke() } -//# sourceMappingURL=line.js.map \ No newline at end of file +// # sourceMappingURL=line.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/triangle.js b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/triangle.js index 7d06d6493..5db610a36 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/triangle.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/arrows/triangle.js @@ -1,29 +1,28 @@ -import { Store } from 'le5le-store'; -export function triangleSolid(ctx, from, to, size, fillStyle) { - size += ctx.lineWidth * 3; - var arrowWidth = ctx.lineWidth / 10; - if (ctx.lineWidth < 2) { - ctx.lineWidth = 2; - arrowWidth = 0; - } - ctx.translate(to.x, to.y); - ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)); - ctx.translate(-to.x - ctx.lineWidth + arrowWidth * 5, -to.y); - ctx.moveTo(to.x, to.y + arrowWidth); - ctx.lineTo(to.x, to.y - arrowWidth); - ctx.lineTo(to.x - size, to.y - size / 3); - ctx.lineTo(to.x - size, to.y + size / 3); - ctx.closePath(); - ctx.stroke(); - if (fillStyle) { - ctx.fillStyle = fillStyle; - } - else { - ctx.fillStyle = ctx.strokeStyle; - } - ctx.fill(); +import { Store } from 'le5le-store' +export function triangleSolid (ctx, from, to, size, fillStyle) { + size += ctx.lineWidth * 3 + let arrowWidth = ctx.lineWidth / 10 + if (ctx.lineWidth < 2) { + ctx.lineWidth = 2 + arrowWidth = 0 + } + ctx.translate(to.x, to.y) + ctx.rotate(Math.atan2(to.y - from.y, to.x - from.x)) + ctx.translate(-to.x - ctx.lineWidth + arrowWidth * 5, -to.y) + ctx.moveTo(to.x, to.y + arrowWidth) + ctx.lineTo(to.x, to.y - arrowWidth) + ctx.lineTo(to.x - size, to.y - size / 3) + ctx.lineTo(to.x - size, to.y + size / 3) + ctx.closePath() + ctx.stroke() + if (fillStyle) { + ctx.fillStyle = fillStyle + } else { + ctx.fillStyle = ctx.strokeStyle + } + ctx.fill() } -export function triangle(ctx, from, to, size) { - triangleSolid(ctx, from, to, size, Store.get('LT:bkColor') || '#fff'); +export function triangle (ctx, from, to, size) { + triangleSolid(ctx, from, to, size, Store.get('LT:bkColor') || '#fff') } -//# sourceMappingURL=triangle.js.map \ No newline at end of file +// # sourceMappingURL=triangle.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/default.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/default.anchor.js index 3e45148be..8f1e337ba 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/default.anchor.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/default.anchor.js @@ -1,9 +1,9 @@ -import { Point } from '../models/point'; -import { Direction } from '../models/direction'; -export function defaultAnchors(node) { - node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); - node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)); +import { Point } from '../models/point' +import { Direction } from '../models/direction' +export function defaultAnchors (node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)) + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)) } -//# sourceMappingURL=default.anchor.js.map \ No newline at end of file +// # sourceMappingURL=default.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/default.js b/nezha-fronted/src/components/common/@topology/core/src/middles/default.js index 49d3619cb..310d4c6c6 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/default.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/default.js @@ -1,213 +1,213 @@ -import { rectangle } from './nodes/rectangle'; -import { circle } from './nodes/circle'; -import { triangle } from './nodes/triangle'; -import { diamond } from './nodes/diamond'; -import { leftArrow, rightArrow, twowayArrow } from './nodes/arrow'; -import { text } from './nodes/text'; -import { line as nodeLine } from './nodes/line'; -import { triangleAnchors } from './nodes/triangle.anchor'; -import { arrowAnchors } from './nodes/arrow.anchor'; -import { lineAnchors } from './nodes/line.anchor'; -import { circleIconRect, circleTextRect } from './nodes/circle.rect'; -import { triangleIconRect, triangleTextRect } from './nodes/triangle.rect'; -import { diamondIconRect, diamondTextRect } from './nodes/diamond.rect'; -import { twowayArrowIconRect, twowayArrowTextRect, leftArrowIconRect, leftArrowTextRect, rightArrowIconRect, rightArrowTextRect, } from './nodes/arrow.rect'; -import { lineIconRect, lineTextRect } from './nodes/line.rect'; -import { line, lineControlPoints, calcLineControlPoints } from './lines/line'; -import { polyline, polylineControlPoints, pointInPolyline, calcPolylineControlPoints, dockPolylineControlPoint, } from './lines/polyline'; -import { curve, curveControlPoints, pointInCurve, calcCurveControlPoints, } from './lines/curve'; -import { calcMindControlPoints, } from './lines/mind'; -import { triangleSolid, triangle as arrowTriangle } from './arrows/triangle'; -import { diamondSolid, diamond as arrowDiamond } from './arrows/diamond'; -import { circleSolid, circle as arrowCircle } from './arrows/circle'; -import { circleAnchors } from './nodes/circle.anchor'; -import { lineUp, lineDown, line as arrowLine } from './arrows/line'; -import { pentagon } from './nodes/pentagon'; -import { pentagonIconRect, pentagonTextRect } from './nodes/pentagon.rect'; -import { pentagonAnchors } from './nodes/pentagon.anchor'; -import { hexagon } from './nodes/hexagon'; -import { hexagonAnchors } from './nodes/hexagon.anchor'; -import { hexagonIconRect, hexagonTextRect } from './nodes/hexagon.rect'; -import { pentagram } from './nodes/pentagram'; -import { pentagramAnchors } from './nodes/pentagram.anchor'; -import { pentagramIconRect, pentagramTextRect } from './nodes/pentagram.rect'; -import { cloud } from './nodes/cloud'; -import { cloudAnchors } from './nodes/cloud.anchor'; -import { cloudIconRect, cloudTextRect } from './nodes/cloud.rect'; -import { message } from './nodes/message'; -import { messageIconRect, messageTextRect } from './nodes/message.rect'; -import { messageAnchors } from './nodes/message.anchor'; -import { file } from './nodes/file'; -import { imageIconRect, imageTextRect } from './nodes/image.rect'; -import { imageAnchors } from './nodes/image.anchor'; -import { cube } from './nodes/cube'; -import { cubeAnchors } from './nodes/cube.anchor'; -import { cubeIconRect, cubeTextRect } from './nodes/cube.rect'; -import { people } from './nodes/people'; -import { peopleIconRect, peopleTextRect } from './nodes/people.rect'; -import { rectangleIconRect, rectangleTextRect } from './nodes/rectangle.rect'; -import { graffiti } from './nodes/graffiti'; -import { graffitiAnchors } from './nodes/graffiti.anchor'; -import { mindNodeAnchors } from './nodes/mindNode.anchor'; -import { mindLine } from './nodes/mindLine'; -import { mindLineAnchors } from './nodes/mindLine.anchor'; -import { lines } from './nodes/lines'; +import { rectangle } from './nodes/rectangle' +import { circle } from './nodes/circle' +import { triangle } from './nodes/triangle' +import { diamond } from './nodes/diamond' +import { leftArrow, rightArrow, twowayArrow } from './nodes/arrow' +import { text } from './nodes/text' +import { line as nodeLine } from './nodes/line' +import { triangleAnchors } from './nodes/triangle.anchor' +import { arrowAnchors } from './nodes/arrow.anchor' +import { lineAnchors } from './nodes/line.anchor' +import { circleIconRect, circleTextRect } from './nodes/circle.rect' +import { triangleIconRect, triangleTextRect } from './nodes/triangle.rect' +import { diamondIconRect, diamondTextRect } from './nodes/diamond.rect' +import { twowayArrowIconRect, twowayArrowTextRect, leftArrowIconRect, leftArrowTextRect, rightArrowIconRect, rightArrowTextRect } from './nodes/arrow.rect' +import { lineIconRect, lineTextRect } from './nodes/line.rect' +import { line, lineControlPoints, calcLineControlPoints } from './lines/line' +import { polyline, polylineControlPoints, pointInPolyline, calcPolylineControlPoints, dockPolylineControlPoint } from './lines/polyline' +import { curve, curveControlPoints, pointInCurve, calcCurveControlPoints } from './lines/curve' +import { calcMindControlPoints } from './lines/mind' +import { triangleSolid, triangle as arrowTriangle } from './arrows/triangle' +import { diamondSolid, diamond as arrowDiamond } from './arrows/diamond' +import { circleSolid, circle as arrowCircle } from './arrows/circle' +import { circleAnchors } from './nodes/circle.anchor' +import { lineUp, lineDown, line as arrowLine } from './arrows/line' +import { pentagon } from './nodes/pentagon' +import { pentagonIconRect, pentagonTextRect } from './nodes/pentagon.rect' +import { pentagonAnchors } from './nodes/pentagon.anchor' +import { hexagon } from './nodes/hexagon' +import { hexagonAnchors } from './nodes/hexagon.anchor' +import { hexagonIconRect, hexagonTextRect } from './nodes/hexagon.rect' +import { pentagram } from './nodes/pentagram' +import { pentagramAnchors } from './nodes/pentagram.anchor' +import { pentagramIconRect, pentagramTextRect } from './nodes/pentagram.rect' +import { cloud } from './nodes/cloud' +import { cloudAnchors } from './nodes/cloud.anchor' +import { cloudIconRect, cloudTextRect } from './nodes/cloud.rect' +import { message } from './nodes/message' +import { messageIconRect, messageTextRect } from './nodes/message.rect' +import { messageAnchors } from './nodes/message.anchor' +import { file } from './nodes/file' +import { imageIconRect, imageTextRect } from './nodes/image.rect' +import { imageAnchors } from './nodes/image.anchor' +import { cube } from './nodes/cube' +import { cubeAnchors } from './nodes/cube.anchor' +import { cubeIconRect, cubeTextRect } from './nodes/cube.rect' +import { people } from './nodes/people' +import { peopleIconRect, peopleTextRect } from './nodes/people.rect' +import { rectangleIconRect, rectangleTextRect } from './nodes/rectangle.rect' +import { graffiti } from './nodes/graffiti' +import { graffitiAnchors } from './nodes/graffiti.anchor' +import { mindNodeAnchors } from './nodes/mindNode.anchor' +import { mindLine } from './nodes/mindLine' +import { mindLineAnchors } from './nodes/mindLine.anchor' +import { lines } from './nodes/lines' // Functions of drawing a node. -export var drawNodeFns = {}; +export var drawNodeFns = {} // Calc the occupy rect of icon. -export var iconRectFns = {}; +export var iconRectFns = {} // Calc the occupy rect of text. -export var textRectFns = {}; +export var textRectFns = {} // Calc the anchors of node. -export var anchorsFns = {}; +export var anchorsFns = {} // Functions of drawing a line. -export var drawLineFns = {}; +export var drawLineFns = {} // Functions of drawing a arrow. -export var drawArrowFns = {}; -function init() { - // ********Default nodes.******* - // Combine - drawNodeFns.combine = rectangle; - // Div - drawNodeFns.div = rectangle; - // graffiti - drawNodeFns.graffiti = graffiti; - anchorsFns.graffiti = graffitiAnchors; - // lines - drawNodeFns.lines = lines; - // Square - drawNodeFns.square = rectangle; - // Rectangle - drawNodeFns.rectangle = rectangle; - iconRectFns.rectangle = rectangleIconRect; - textRectFns.rectangle = rectangleTextRect; - // Ciricle - drawNodeFns.circle = circle; - iconRectFns.circle = circleIconRect; - textRectFns.circle = circleTextRect; - anchorsFns.circle = circleAnchors; - // Triangle - drawNodeFns.triangle = triangle; - anchorsFns.triangle = triangleAnchors; - iconRectFns.triangle = triangleIconRect; - textRectFns.triangle = triangleTextRect; - // Diamond - drawNodeFns.diamond = diamond; - iconRectFns.diamond = diamondIconRect; - textRectFns.diamond = diamondTextRect; - // Hexagon - drawNodeFns.hexagon = hexagon; - iconRectFns.hexagon = hexagonIconRect; - textRectFns.hexagon = hexagonTextRect; - anchorsFns.hexagon = hexagonAnchors; - // Pentagon - drawNodeFns.pentagon = pentagon; - iconRectFns.pentagon = pentagonIconRect; - textRectFns.pentagon = pentagonTextRect; - anchorsFns.pentagon = pentagonAnchors; - // Pentagram - drawNodeFns.pentagram = pentagram; - iconRectFns.pentagram = pentagramIconRect; - textRectFns.pentagram = pentagramTextRect; - anchorsFns.pentagram = pentagramAnchors; - // Left arrow - drawNodeFns.leftArrow = leftArrow; - anchorsFns.leftArrow = arrowAnchors; - iconRectFns.leftArrow = leftArrowIconRect; - textRectFns.leftArrow = leftArrowTextRect; - // Right arrow - drawNodeFns.rightArrow = rightArrow; - anchorsFns.rightArrow = arrowAnchors; - iconRectFns.rightArrow = rightArrowIconRect; - textRectFns.rightArrow = rightArrowTextRect; - // Two-way arrow - drawNodeFns.twowayArrow = twowayArrow; - anchorsFns.twowayArrow = arrowAnchors; - iconRectFns.twowayArrow = twowayArrowIconRect; - textRectFns.twowayArrow = twowayArrowTextRect; - // Cloud - drawNodeFns.cloud = cloud; - anchorsFns.cloud = cloudAnchors; - iconRectFns.cloud = cloudIconRect; - textRectFns.cloud = cloudTextRect; - // Message - drawNodeFns.message = message; - anchorsFns.message = messageAnchors; - iconRectFns.message = messageIconRect; - textRectFns.message = messageTextRect; - // File - drawNodeFns.file = file; - // Text - drawNodeFns.text = text; - iconRectFns.text = lineIconRect; - // Line - drawNodeFns.line = nodeLine; - anchorsFns.line = lineAnchors; - iconRectFns.line = lineIconRect; - textRectFns.line = lineTextRect; - // Image - drawNodeFns.image = function (ctx, node) { }; - iconRectFns.image = imageIconRect; - textRectFns.image = imageTextRect; - anchorsFns.image = imageAnchors; - // Cube - drawNodeFns.cube = cube; - anchorsFns.cube = cubeAnchors; - iconRectFns.cube = cubeIconRect; - textRectFns.cube = cubeTextRect; - // People - drawNodeFns.people = people; - iconRectFns.people = peopleIconRect; - textRectFns.people = peopleTextRect; - // MindNode - drawNodeFns.mindNode = rectangle; - anchorsFns.mindNode = mindNodeAnchors; - iconRectFns.mindNode = rectangleIconRect; - textRectFns.mindNode = rectangleTextRect; - // MindLine - drawNodeFns.mindLine = mindLine; - anchorsFns.mindLine = mindLineAnchors; - // ********end******** - // ********Default lines.******* - drawLineFns.line = { - drawFn: line, - drawControlPointsFn: lineControlPoints, - controlPointsFn: calcLineControlPoints, - pointIn: pointInPolyline, - }; - drawLineFns.polyline = { - drawFn: polyline, - drawControlPointsFn: polylineControlPoints, - controlPointsFn: calcPolylineControlPoints, - dockControlPointFn: dockPolylineControlPoint, - pointIn: pointInPolyline, - }; - drawLineFns.curve = { - drawFn: curve, - drawControlPointsFn: curveControlPoints, - controlPointsFn: calcCurveControlPoints, - pointIn: pointInCurve, - }; - drawLineFns.mind = { - drawFn: curve, - drawControlPointsFn: curveControlPoints, - controlPointsFn: calcMindControlPoints, - pointIn: pointInCurve, - }; - // ********end******** - // ********Default nodes.******* - drawArrowFns.triangleSolid = triangleSolid; - drawArrowFns.triangle = arrowTriangle; - drawArrowFns.diamondSolid = diamondSolid; - drawArrowFns.diamond = arrowDiamond; - drawArrowFns.circleSolid = circleSolid; - drawArrowFns.circle = arrowCircle; - drawArrowFns.line = arrowLine; - drawArrowFns.lineUp = lineUp; - drawArrowFns.lineDown = lineDown; - // ********end******** +export var drawArrowFns = {} +function init () { + // ********Default nodes.******* + // Combine + drawNodeFns.combine = rectangle + // Div + drawNodeFns.div = rectangle + // graffiti + drawNodeFns.graffiti = graffiti + anchorsFns.graffiti = graffitiAnchors + // lines + drawNodeFns.lines = lines + // Square + drawNodeFns.square = rectangle + // Rectangle + drawNodeFns.rectangle = rectangle + iconRectFns.rectangle = rectangleIconRect + textRectFns.rectangle = rectangleTextRect + // Ciricle + drawNodeFns.circle = circle + iconRectFns.circle = circleIconRect + textRectFns.circle = circleTextRect + anchorsFns.circle = circleAnchors + // Triangle + drawNodeFns.triangle = triangle + anchorsFns.triangle = triangleAnchors + iconRectFns.triangle = triangleIconRect + textRectFns.triangle = triangleTextRect + // Diamond + drawNodeFns.diamond = diamond + iconRectFns.diamond = diamondIconRect + textRectFns.diamond = diamondTextRect + // Hexagon + drawNodeFns.hexagon = hexagon + iconRectFns.hexagon = hexagonIconRect + textRectFns.hexagon = hexagonTextRect + anchorsFns.hexagon = hexagonAnchors + // Pentagon + drawNodeFns.pentagon = pentagon + iconRectFns.pentagon = pentagonIconRect + textRectFns.pentagon = pentagonTextRect + anchorsFns.pentagon = pentagonAnchors + // Pentagram + drawNodeFns.pentagram = pentagram + iconRectFns.pentagram = pentagramIconRect + textRectFns.pentagram = pentagramTextRect + anchorsFns.pentagram = pentagramAnchors + // Left arrow + drawNodeFns.leftArrow = leftArrow + anchorsFns.leftArrow = arrowAnchors + iconRectFns.leftArrow = leftArrowIconRect + textRectFns.leftArrow = leftArrowTextRect + // Right arrow + drawNodeFns.rightArrow = rightArrow + anchorsFns.rightArrow = arrowAnchors + iconRectFns.rightArrow = rightArrowIconRect + textRectFns.rightArrow = rightArrowTextRect + // Two-way arrow + drawNodeFns.twowayArrow = twowayArrow + anchorsFns.twowayArrow = arrowAnchors + iconRectFns.twowayArrow = twowayArrowIconRect + textRectFns.twowayArrow = twowayArrowTextRect + // Cloud + drawNodeFns.cloud = cloud + anchorsFns.cloud = cloudAnchors + iconRectFns.cloud = cloudIconRect + textRectFns.cloud = cloudTextRect + // Message + drawNodeFns.message = message + anchorsFns.message = messageAnchors + iconRectFns.message = messageIconRect + textRectFns.message = messageTextRect + // File + drawNodeFns.file = file + // Text + drawNodeFns.text = text + iconRectFns.text = lineIconRect + // Line + drawNodeFns.line = nodeLine + anchorsFns.line = lineAnchors + iconRectFns.line = lineIconRect + textRectFns.line = lineTextRect + // Image + drawNodeFns.image = function (ctx, node) { } + iconRectFns.image = imageIconRect + textRectFns.image = imageTextRect + anchorsFns.image = imageAnchors + // Cube + drawNodeFns.cube = cube + anchorsFns.cube = cubeAnchors + iconRectFns.cube = cubeIconRect + textRectFns.cube = cubeTextRect + // People + drawNodeFns.people = people + iconRectFns.people = peopleIconRect + textRectFns.people = peopleTextRect + // MindNode + drawNodeFns.mindNode = rectangle + anchorsFns.mindNode = mindNodeAnchors + iconRectFns.mindNode = rectangleIconRect + textRectFns.mindNode = rectangleTextRect + // MindLine + drawNodeFns.mindLine = mindLine + anchorsFns.mindLine = mindLineAnchors + // ********end******** + // ********Default lines.******* + drawLineFns.line = { + drawFn: line, + drawControlPointsFn: lineControlPoints, + controlPointsFn: calcLineControlPoints, + pointIn: pointInPolyline + } + drawLineFns.polyline = { + drawFn: polyline, + drawControlPointsFn: polylineControlPoints, + controlPointsFn: calcPolylineControlPoints, + dockControlPointFn: dockPolylineControlPoint, + pointIn: pointInPolyline + } + drawLineFns.curve = { + drawFn: curve, + drawControlPointsFn: curveControlPoints, + controlPointsFn: calcCurveControlPoints, + pointIn: pointInCurve + } + drawLineFns.mind = { + drawFn: curve, + drawControlPointsFn: curveControlPoints, + controlPointsFn: calcMindControlPoints, + pointIn: pointInCurve + } + // ********end******** + // ********Default nodes.******* + drawArrowFns.triangleSolid = triangleSolid + drawArrowFns.triangle = arrowTriangle + drawArrowFns.diamondSolid = diamondSolid + drawArrowFns.diamond = arrowDiamond + drawArrowFns.circleSolid = circleSolid + drawArrowFns.circle = arrowCircle + drawArrowFns.line = arrowLine + drawArrowFns.lineUp = lineUp + drawArrowFns.lineDown = lineDown + // ********end******** } -init(); +init() // registerNode: Register a custom node. // name - The name of node. // drawFn - How to draw. @@ -215,16 +215,16 @@ init(); // iconRectFn - How to get the icon rect. // textRectFn - How to get the text rect. // protect - No overwirte the node if exists. -export function registerNode(name, drawFn, anchorsFn, iconRectFn, textRectFn, protect) { - // Exist - if (drawNodeFns[name] && protect) { - return false; - } - drawNodeFns[name] = drawFn; - anchorsFns[name] = anchorsFn; - iconRectFns[name] = iconRectFn; - textRectFns[name] = textRectFn; - return true; +export function registerNode (name, drawFn, anchorsFn, iconRectFn, textRectFn, protect) { + // Exist + if (drawNodeFns[name] && protect) { + return false + } + drawNodeFns[name] = drawFn + anchorsFns[name] = anchorsFn + iconRectFns[name] = iconRectFn + textRectFns[name] = textRectFn + return true } // registerLine: Register a custom line. // name - The name of line. @@ -233,36 +233,36 @@ export function registerNode(name, drawFn, anchorsFn, iconRectFn, textRectFn, pr // controlPointsFn - How to get the controlPoints. // dockControlPointFn - Dock a point to horizontal/vertial or related position. // force - Overwirte the node if exists. -export function registerLine(name, drawFn, drawControlPointsFn, controlPointsFn, dockControlPointFn, pointInFn, getLength, getCenter, getPointByPos, force) { - if (force === void 0) { force = true; } - // Exist - if (drawLineFns[name] && !force) { - return false; - } - drawLineFns[name] = { - drawFn: drawFn, - drawControlPointsFn: drawControlPointsFn, - controlPointsFn: controlPointsFn, - dockControlPointFn: dockControlPointFn, - pointIn: pointInFn, - getLength: getLength, - getCenter: getCenter, - getPointByPos: getPointByPos, - }; - return true; +export function registerLine (name, drawFn, drawControlPointsFn, controlPointsFn, dockControlPointFn, pointInFn, getLength, getCenter, getPointByPos, force) { + if (force === void 0) { force = true } + // Exist + if (drawLineFns[name] && !force) { + return false + } + drawLineFns[name] = { + drawFn: drawFn, + drawControlPointsFn: drawControlPointsFn, + controlPointsFn: controlPointsFn, + dockControlPointFn: dockControlPointFn, + pointIn: pointInFn, + getLength: getLength, + getCenter: getCenter, + getPointByPos: getPointByPos + } + return true } // registerArrow: Register a custom arrow. // name - the name of arrow. // drawFn - how to draw. // force - Overwirte the node if exists. -export function registerArrow(name, drawFn, protect) { - // Exist - if (drawArrowFns[name] && protect) { - return false; - } - drawArrowFns[name] = drawFn; - return true; +export function registerArrow (name, drawFn, protect) { + // Exist + if (drawArrowFns[name] && protect) { + return false + } + drawArrowFns[name] = drawFn + return true } -window.registerTopologyNode = registerNode; -window.registerTopologyLine = registerLine; -//# sourceMappingURL=default.js.map \ No newline at end of file +window.registerTopologyNode = registerNode +window.registerTopologyLine = registerLine +// # sourceMappingURL=default.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/default.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/default.rect.js index 611454946..969ee277e 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/default.rect.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/default.rect.js @@ -1,19 +1,17 @@ -import { Rect } from '../models/rect'; -export function defaultIconRect(node) { - if (node.image && node.imageWidth) { - node.iconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.imageWidth, node.imageHeight); - } - else if (node.icon && node.iconSize) { - node.iconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.iconSize, node.iconSize); - } - else { - node.iconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, (node.rect.height * 3) / 4 - node.paddingTopNum - node.paddingBottomNum); - } - node.fullIconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum); +import { Rect } from '../models/rect' +export function defaultIconRect (node) { + if (node.image && node.imageWidth) { + node.iconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.imageWidth, node.imageHeight) + } else if (node.icon && node.iconSize) { + node.iconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.iconSize, node.iconSize) + } else { + node.iconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, (node.rect.height * 3) / 4 - node.paddingTopNum - node.paddingBottomNum) + } + node.fullIconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum) } -export function defaultTextRect(node) { - var height = node.rect.height - node.paddingTopNum - node.paddingBottomNum; - node.textRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum + (height * 3) / 4, node.rect.width - node.paddingLeftNum - node.paddingRightNum, height / 4); - node.fullTextRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, height); +export function defaultTextRect (node) { + const height = node.rect.height - node.paddingTopNum - node.paddingBottomNum + node.textRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum + (height * 3) / 4, node.rect.width - node.paddingLeftNum - node.paddingRightNum, height / 4) + node.fullTextRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, height) } -//# sourceMappingURL=default.rect.js.map \ No newline at end of file +// # sourceMappingURL=default.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/index.js b/nezha-fronted/src/components/common/@topology/core/src/middles/index.js index 410e64745..260369402 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/index.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/index.js @@ -1,4 +1,4 @@ -export * from './default'; -export * from './nodes/rectangle'; -export * from './nodes/text'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './default' +export * from './nodes/rectangle' +export * from './nodes/text' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/curve.js b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/curve.js index a73ee0631..373fbcb7e 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/curve.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/curve.js @@ -1,130 +1,128 @@ -import { Store } from 'le5le-store'; -import { Point } from '../../models/point'; -import { Direction } from '../../models/direction'; -import { pointInLine } from '../../utils/canvas'; -import { rgba } from '../../utils/math'; -var distance = 80; -export function curve(ctx, l) { - ctx.beginPath(); - ctx.moveTo(l.from.x, l.from.y); - ctx.bezierCurveTo(l.controlPoints[0].x, l.controlPoints[0].y, l.controlPoints[1].x, l.controlPoints[1].y, l.to.x, l.to.y); - ctx.stroke(); +import { Store } from 'le5le-store' +import { Point } from '../../models/point' +import { Direction } from '../../models/direction' +import { pointInLine } from '../../utils/canvas' +import { rgba } from '../../utils/math' +const distance = 80 +export function curve (ctx, l) { + ctx.beginPath() + ctx.moveTo(l.from.x, l.from.y) + ctx.bezierCurveTo(l.controlPoints[0].x, l.controlPoints[0].y, l.controlPoints[1].x, l.controlPoints[1].y, l.to.x, l.to.y) + ctx.stroke() } -export function curveControlPoints(ctx, l) { - ctx.save(); - ctx.fillStyle = rgba(0.5, ctx.strokeStyle + ''); - ctx.lineWidth = 1; - ctx.beginPath(); - ctx.moveTo(l.from.x, l.from.y); - ctx.lineTo(l.controlPoints[0].x, l.controlPoints[0].y); - ctx.stroke(); - ctx.beginPath(); - ctx.moveTo(l.to.x, l.to.y); - ctx.lineTo(l.controlPoints[1].x, l.controlPoints[1].y); - ctx.stroke(); - ctx.fillStyle = '#fff'; - ctx.lineWidth = 2; - for (var _i = 0, _a = l.controlPoints; _i < _a.length; _i++) { - var item = _a[_i]; - ctx.beginPath(); - ctx.arc(item.x, item.y, 4, 0, Math.PI * 2); - ctx.stroke(); - ctx.fill(); - } - ctx.restore(); +export function curveControlPoints (ctx, l) { + ctx.save() + ctx.fillStyle = rgba(0.5, ctx.strokeStyle + '') + ctx.lineWidth = 1 + ctx.beginPath() + ctx.moveTo(l.from.x, l.from.y) + ctx.lineTo(l.controlPoints[0].x, l.controlPoints[0].y) + ctx.stroke() + ctx.beginPath() + ctx.moveTo(l.to.x, l.to.y) + ctx.lineTo(l.controlPoints[1].x, l.controlPoints[1].y) + ctx.stroke() + ctx.fillStyle = '#fff' + ctx.lineWidth = 2 + for (let _i = 0, _a = l.controlPoints; _i < _a.length; _i++) { + const item = _a[_i] + ctx.beginPath() + ctx.arc(item.x, item.y, 4, 0, Math.PI * 2) + ctx.stroke() + ctx.fill() + } + ctx.restore() } -export function calcCurveControlPoints(l) { - if (!l.from.direction) { - l.from.direction = Direction.Bottom; - } +export function calcCurveControlPoints (l) { + if (!l.from.direction) { + l.from.direction = Direction.Bottom + } + if (!l.to.direction) { + l.to.direction = (l.from.direction + 2) % 4 if (!l.to.direction) { - l.to.direction = (l.from.direction + 2) % 4; - if (!l.to.direction) { - l.to.direction = Direction.Left; - } + l.to.direction = Direction.Left } - l.controlPoints = [getControlPt(l.from, l.to), getControlPt(l.to, l.from)]; - Store.set(generateStoreKey(l, 'pts-') + l.id, undefined); + } + l.controlPoints = [getControlPt(l.from, l.to), getControlPt(l.to, l.from)] + Store.set(generateStoreKey(l, 'pts-') + l.id, undefined) } -export function pointInCurve(point, l) { - var points = Store.get(generateStoreKey(l, 'pts-') + l.id); - if (!points) { - points = [l.from]; - if (l.controlPoints) { - for (var i = 0.01; i < 1; i += 0.01) { - points.push(getBezierPoint(i, l.from, l.controlPoints[0], l.controlPoints[1], l.to)); - } - } - points.push(l.to); - Store.set(generateStoreKey(l, 'pts-') + l.id, points); +export function pointInCurve (point, l) { + let points = Store.get(generateStoreKey(l, 'pts-') + l.id) + if (!points) { + points = [l.from] + if (l.controlPoints) { + for (var i = 0.01; i < 1; i += 0.01) { + points.push(getBezierPoint(i, l.from, l.controlPoints[0], l.controlPoints[1], l.to)) + } } - var cnt = points.length - 1; - for (var i = 0; i < cnt; ++i) { - if (pointInLine(point, points[i], points[i + 1])) { - return true; - } + points.push(l.to) + Store.set(generateStoreKey(l, 'pts-') + l.id, points) + } + const cnt = points.length - 1 + for (var i = 0; i < cnt; ++i) { + if (pointInLine(point, points[i], points[i + 1])) { + return true } - return false; + } + return false } // Get a point in bezier. // pos - The position of point in bezier. It is expressed as a percentage(0 - 1). -export function getBezierPoint(pos, from, cp1, cp2, to) { - var x1 = from.x, y1 = from.y; - var x2 = to.x, y2 = to.y; - var cx1 = cp1.x, cy1 = cp1.y; - var cx2 = cp2.x, cy2 = cp2.y; - var x = x1 * (1 - pos) * (1 - pos) * (1 - pos) + +export function getBezierPoint (pos, from, cp1, cp2, to) { + const x1 = from.x; const y1 = from.y + const x2 = to.x; const y2 = to.y + const cx1 = cp1.x; const cy1 = cp1.y + const cx2 = cp2.x; const cy2 = cp2.y + const x = x1 * (1 - pos) * (1 - pos) * (1 - pos) + 3 * cx1 * pos * (1 - pos) * (1 - pos) + 3 * cx2 * pos * pos * (1 - pos) + - x2 * pos * pos * pos; - var y = y1 * (1 - pos) * (1 - pos) * (1 - pos) + + x2 * pos * pos * pos + const y = y1 * (1 - pos) * (1 - pos) * (1 - pos) + 3 * cy1 * pos * (1 - pos) * (1 - pos) + 3 * cy2 * pos * pos * (1 - pos) + - y2 * pos * pos * pos; - return new Point(x, y); + y2 * pos * pos * pos + return new Point(x, y) } -export function getControlPt(pt, to) { - var point = new Point(pt.x, pt.y, pt.direction, pt.anchorIndex, pt.id); - var dis = window.topologyControlPtDistance || distance; - if ((pt.direction === Direction.Up || pt.direction === Direction.Bottom) && Math.abs(pt.x - to.x) < 3) { - if (to.y > pt.y) { - dis = Math.round((to.y - pt.y) / 3); - point.y += dis; - } - else { - dis = Math.round((pt.y - to.y) / 3); - point.y -= dis; - } - return point; +export function getControlPt (pt, to) { + const point = new Point(pt.x, pt.y, pt.direction, pt.anchorIndex, pt.id) + let dis = window.topologyControlPtDistance || distance + if ((pt.direction === Direction.Up || pt.direction === Direction.Bottom) && Math.abs(pt.x - to.x) < 3) { + if (to.y > pt.y) { + dis = Math.round((to.y - pt.y) / 3) + point.y += dis + } else { + dis = Math.round((pt.y - to.y) / 3) + point.y -= dis } - if ((pt.direction === Direction.Left || pt.direction === Direction.Right) && Math.abs(pt.y - to.y) < 3) { - if (to.x > pt.x) { - dis = Math.round((to.x - pt.x) / 3); - point.x += dis; - } - else { - dis = Math.round((pt.x - to.x) / 3); - point.x -= dis; - } - return point; + return point + } + if ((pt.direction === Direction.Left || pt.direction === Direction.Right) && Math.abs(pt.y - to.y) < 3) { + if (to.x > pt.x) { + dis = Math.round((to.x - pt.x) / 3) + point.x += dis + } else { + dis = Math.round((pt.x - to.x) / 3) + point.x -= dis } - switch (pt.direction) { - case Direction.Up: - point.y -= dis; - break; - case Direction.Right: - point.x += dis; - break; - case Direction.Bottom: - point.y += dis; - break; - case Direction.Left: - point.x -= dis; - break; - } - return point; + return point + } + switch (pt.direction) { + case Direction.Up: + point.y -= dis + break + case Direction.Right: + point.x += dis + break + case Direction.Bottom: + point.y += dis + break + case Direction.Left: + point.x -= dis + break + } + return point } -export function generateStoreKey(pen, key) { - return pen.getTID() + "-" + key; +export function generateStoreKey (pen, key) { + return pen.getTID() + '-' + key } -//# sourceMappingURL=curve.js.map \ No newline at end of file +// # sourceMappingURL=curve.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/line.js b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/line.js index 96a714701..92f00d506 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/line.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/line.js @@ -1,11 +1,11 @@ -export function line(ctx, l) { - ctx.beginPath(); - ctx.moveTo(l.from.x, l.from.y); - ctx.lineTo(l.to.x, l.to.y); - ctx.stroke(); +export function line (ctx, l) { + ctx.beginPath() + ctx.moveTo(l.from.x, l.from.y) + ctx.lineTo(l.to.x, l.to.y) + ctx.stroke() } -export function lineControlPoints(ctx, l) { } -export function calcLineControlPoints(l) { - l.controlPoints = []; +export function lineControlPoints (ctx, l) { } +export function calcLineControlPoints (l) { + l.controlPoints = [] } -//# sourceMappingURL=line.js.map \ No newline at end of file +// # sourceMappingURL=line.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/mind.js b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/mind.js index f0c4b86d7..ac5b5ac97 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/mind.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/mind.js @@ -1,32 +1,32 @@ -import { Store } from 'le5le-store'; -import { Point } from '../../models/point'; -import { Direction } from '../../models/direction'; -import { generateStoreKey } from './curve'; -var distance = 20; -export function calcMindControlPoints(l) { - if (!l.from.direction) { - l.from.direction = Direction.Bottom; - } +import { Store } from 'le5le-store' +import { Point } from '../../models/point' +import { Direction } from '../../models/direction' +import { generateStoreKey } from './curve' +const distance = 20 +export function calcMindControlPoints (l) { + if (!l.from.direction) { + l.from.direction = Direction.Bottom + } + if (!l.to.direction) { + l.to.direction = (l.from.direction + 2) % 4 if (!l.to.direction) { - l.to.direction = (l.from.direction + 2) % 4; - if (!l.to.direction) { - l.to.direction = Direction.Left; - } + l.to.direction = Direction.Left } - switch (l.from.direction) { - case Direction.Up: - l.controlPoints = [new Point(l.from.x, l.from.y - distance), new Point(l.from.x, l.to.y)]; - break; - case Direction.Right: - l.controlPoints = [new Point(l.from.x + distance, l.from.y), new Point(l.from.x, l.to.y)]; - break; - case Direction.Bottom: - l.controlPoints = [new Point(l.from.x, l.from.y + distance), new Point(l.from.x, l.to.y)]; - break; - case Direction.Left: - l.controlPoints = [new Point(l.from.x - distance, l.from.y), new Point(l.from.x, l.to.y)]; - break; - } - Store.set(generateStoreKey(l, 'pts-') + l.id, undefined); + } + switch (l.from.direction) { + case Direction.Up: + l.controlPoints = [new Point(l.from.x, l.from.y - distance), new Point(l.from.x, l.to.y)] + break + case Direction.Right: + l.controlPoints = [new Point(l.from.x + distance, l.from.y), new Point(l.from.x, l.to.y)] + break + case Direction.Bottom: + l.controlPoints = [new Point(l.from.x, l.from.y + distance), new Point(l.from.x, l.to.y)] + break + case Direction.Left: + l.controlPoints = [new Point(l.from.x - distance, l.from.y), new Point(l.from.x, l.to.y)] + break + } + Store.set(generateStoreKey(l, 'pts-') + l.id, undefined) } -//# sourceMappingURL=mind.js.map \ No newline at end of file +// # sourceMappingURL=mind.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/polyline.js b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/polyline.js index 386305eb1..57a494f84 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/lines/polyline.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/lines/polyline.js @@ -1,309 +1,285 @@ -import { Point } from '../../models/point'; -import { Direction } from '../../models/direction'; -import { pointInLine } from '../../utils/canvas'; -var minDistance = 50; -export function polyline(ctx, l) { - ctx.beginPath(); - ctx.moveTo(l.from.x, l.from.y); - for (var _i = 0, _a = l.controlPoints; _i < _a.length; _i++) { - var item = _a[_i]; - ctx.lineTo(item.x, item.y); - } - ctx.lineTo(l.to.x, l.to.y); - ctx.stroke(); +import { Point } from '../../models/point' +import { Direction } from '../../models/direction' +import { pointInLine } from '../../utils/canvas' +const minDistance = 50 +export function polyline (ctx, l) { + ctx.beginPath() + ctx.moveTo(l.from.x, l.from.y) + for (let _i = 0, _a = l.controlPoints; _i < _a.length; _i++) { + const item = _a[_i] + ctx.lineTo(item.x, item.y) + } + ctx.lineTo(l.to.x, l.to.y) + ctx.stroke() } -export function polylineControlPoints(ctx, l) { - ctx.save(); - ctx.fillStyle = '#fff'; - ctx.lineWidth = 2; - for (var _i = 0, _a = l.controlPoints; _i < _a.length; _i++) { - var item = _a[_i]; - ctx.beginPath(); - ctx.arc(item.x, item.y, 4, 0, Math.PI * 2); - ctx.stroke(); - ctx.fill(); - } - ctx.restore(); +export function polylineControlPoints (ctx, l) { + ctx.save() + ctx.fillStyle = '#fff' + ctx.lineWidth = 2 + for (let _i = 0, _a = l.controlPoints; _i < _a.length; _i++) { + const item = _a[_i] + ctx.beginPath() + ctx.arc(item.x, item.y, 4, 0, Math.PI * 2) + ctx.stroke() + ctx.fill() + } + ctx.restore() } -export function calcPolylineControlPoints(l) { - l.controlPoints = []; - var from = getDirectionPoint(l.from, l.to); - if (l.from.direction) { - l.controlPoints.push(from); - } - var to = getDirectionPoint(l.to, l.from); - var pts; - switch (from.direction) { - case Direction.Up: - pts = getNextPointByUp(from, to); - break; - case Direction.Right: - pts = getNextPointByRight(from, to); - break; - case Direction.Bottom: - pts = getNextPointByBottom(from, to); - break; - case Direction.Left: - pts = getNextPointByLeft(from, to); - break; - } - l.controlPoints.push.apply(l.controlPoints, pts); - if (l.to.direction) { - l.controlPoints.push(to); - } +export function calcPolylineControlPoints (l) { + l.controlPoints = [] + const from = getDirectionPoint(l.from, l.to) + if (l.from.direction) { + l.controlPoints.push(from) + } + const to = getDirectionPoint(l.to, l.from) + let pts + switch (from.direction) { + case Direction.Up: + pts = getNextPointByUp(from, to) + break + case Direction.Right: + pts = getNextPointByRight(from, to) + break + case Direction.Bottom: + pts = getNextPointByBottom(from, to) + break + case Direction.Left: + pts = getNextPointByLeft(from, to) + break + } + l.controlPoints.push.apply(l.controlPoints, pts) + if (l.to.direction) { + l.controlPoints.push(to) + } } -export function pointInPolyline(point, l) { - if (!l.controlPoints || !l.controlPoints.length) { - return pointInLine(point, l.from, l.to, l.lineWidth / 2); +export function pointInPolyline (point, l) { + if (!l.controlPoints || !l.controlPoints.length) { + return pointInLine(point, l.from, l.to, l.lineWidth / 2) + } + if (pointInLine(point, l.from, l.controlPoints[0])) { + return true + } + if (pointInLine(point, l.to, l.controlPoints[l.controlPoints.length - 1])) { + return true + } + for (let i = 0; i < l.controlPoints.length - 1; ++i) { + if (pointInLine(point, l.controlPoints[i], l.controlPoints[i + 1])) { + return true } - if (pointInLine(point, l.from, l.controlPoints[0])) { - return true; - } - if (pointInLine(point, l.to, l.controlPoints[l.controlPoints.length - 1])) { - return true; - } - for (var i = 0; i < l.controlPoints.length - 1; ++i) { - if (pointInLine(point, l.controlPoints[i], l.controlPoints[i + 1])) { - return true; - } - } - return false; + } + return false } -export function dockPolylineControlPoint(point, l) { - var pts = [l.from]; - pts.push.apply(pts, l.controlPoints); - pts.push(l.to); - for (var _i = 0, pts_1 = pts; _i < pts_1.length; _i++) { - var item = pts_1[_i]; - if (Math.abs(point.x - item.x) < 7) { - point.x = item.x; - } - if (Math.abs(point.y - item.y) < 7) { - point.y = item.y; - } +export function dockPolylineControlPoint (point, l) { + const pts = [l.from] + pts.push.apply(pts, l.controlPoints) + pts.push(l.to) + for (let _i = 0, pts_1 = pts; _i < pts_1.length; _i++) { + const item = pts_1[_i] + if (Math.abs(point.x - item.x) < 7) { + point.x = item.x } + if (Math.abs(point.y - item.y) < 7) { + point.y = item.y + } + } } -function getDirectionPoint(pt, to) { - var point = pt.clone(); - switch (pt.direction) { - case Direction.Up: - if (to.y < pt.y) { - point.y -= Math.round((pt.y - to.y) / 2); - } - else { - point.y -= minDistance; - } - break; - case Direction.Right: - if (to.x > pt.x) { - point.x += Math.round((to.x - pt.x) / 2); - } - else { - point.x += minDistance; - } - break; - case Direction.Bottom: - if (to.y > pt.y) { - point.y += Math.round((to.y - pt.y) / 2); - } - else { - point.y += minDistance; - } - break; - case Direction.Left: - if (to.x < pt.x) { - point.x -= Math.round((pt.x - to.x) / 2); - } - else { - point.x -= minDistance; - } - break; - } - return point; +function getDirectionPoint (pt, to) { + const point = pt.clone() + switch (pt.direction) { + case Direction.Up: + if (to.y < pt.y) { + point.y -= Math.round((pt.y - to.y) / 2) + } else { + point.y -= minDistance + } + break + case Direction.Right: + if (to.x > pt.x) { + point.x += Math.round((to.x - pt.x) / 2) + } else { + point.x += minDistance + } + break + case Direction.Bottom: + if (to.y > pt.y) { + point.y += Math.round((to.y - pt.y) / 2) + } else { + point.y += minDistance + } + break + case Direction.Left: + if (to.x < pt.x) { + point.x -= Math.round((pt.x - to.x) / 2) + } else { + point.x -= minDistance + } + break + } + return point } -function getNextPointByUp(from, to) { - if (from.x === to.x || from.y === to.y) { - return []; - } - // The to point above the from point. - if (from.y > to.y) { - if (to.direction === Direction.Up && from.y - to.y > 3 * minDistance) { - if (from.x < to.x) { - if (to.x - from.x < minDistance) { - return [new Point(from.x - 2 * minDistance, from.y), new Point(from.x - 2 * minDistance, to.y)]; - } - return [new Point(from.x, to.y)]; - } - else { - if (from.x - to.x < minDistance) { - return [new Point(from.x + 2 * minDistance, from.y), new Point(from.x + 2 * minDistance, to.y)]; - } - return [new Point(from.x, to.y)]; - } +function getNextPointByUp (from, to) { + if (from.x === to.x || from.y === to.y) { + return [] + } + // The to point above the from point. + if (from.y > to.y) { + if (to.direction === Direction.Up && from.y - to.y > 3 * minDistance) { + if (from.x < to.x) { + if (to.x - from.x < minDistance) { + return [new Point(from.x - 2 * minDistance, from.y), new Point(from.x - 2 * minDistance, to.y)] } - else { - // Left top - if ((to.direction === Direction.Left && from.x > to.x) || (to.direction === Direction.Right && from.x < to.x)) { - return [new Point(to.x, from.y)]; - } - return [new Point(from.x, to.y)]; + return [new Point(from.x, to.y)] + } else { + if (from.x - to.x < minDistance) { + return [new Point(from.x + 2 * minDistance, from.y), new Point(from.x + 2 * minDistance, to.y)] } - // The to point below the from point. - } - else { - if (to.direction === Direction.Bottom) { - if (from.x < to.x) { - return getHorizontalPoints(from, to); - } - else { - var pts = getHorizontalPoints(to, from); - return [pts[1], pts[0]]; - } - } - else { - return [new Point(to.x, from.y)]; - } - } -} -function getNextPointByBottom(from, to) { - if (from.x === to.x || from.y === to.y) { - return []; + return [new Point(from.x, to.y)] + } + } else { + // Left top + if ((to.direction === Direction.Left && from.x > to.x) || (to.direction === Direction.Right && from.x < to.x)) { + return [new Point(to.x, from.y)] + } + return [new Point(from.x, to.y)] } // The to point below the from point. - if (from.y < to.y) { - if (to.direction === Direction.Bottom && to.y - from.y > 3 * minDistance) { - if (from.x < to.x) { - if (to.x - from.x < minDistance) { - return [new Point(from.x - 2 * minDistance, from.y), new Point(from.x - 2 * minDistance, to.y)]; - } - return [new Point(from.x, to.y)]; - } - else { - if (from.x - to.x < minDistance) { - return [new Point(from.x + 2 * minDistance, from.y), new Point(from.x + 2 * minDistance, to.y)]; - } - return [new Point(from.x, to.y)]; - } - } - else { - if ((to.direction === Direction.Left && from.x > to.x) || (to.direction === Direction.Right && from.x < to.x)) { - return [new Point(to.x, from.y)]; - } - return [new Point(from.x, to.y)]; - } - // The to point below the from point. - } - else { - if (to.direction === Direction.Up) { - if (from.x < to.x) { - return getHorizontalPoints(from, to); - } - else { - var pts = getHorizontalPoints(to, from); - return [pts[1], pts[0]]; - } - } - else { - return [new Point(to.x, from.y)]; - } + } else { + if (to.direction === Direction.Bottom) { + if (from.x < to.x) { + return getHorizontalPoints(from, to) + } else { + const pts = getHorizontalPoints(to, from) + return [pts[1], pts[0]] + } + } else { + return [new Point(to.x, from.y)] } + } } -function getNextPointByLeft(from, to) { - if (from.x === to.x || from.y === to.y) { - return []; - } - // The to point is on the left. - if (from.x > to.x) { - if (to.direction === Direction.Left && from.x - to.x > 3 * minDistance) { - if (from.y < to.y) { - if (to.y - from.y < minDistance) { - return [new Point(from.x, from.y + 2 * minDistance), new Point(to.x, from.y + 2 * minDistance)]; - } - return [new Point(to.x, from.y)]; - } - else { - if (from.y - to.y < minDistance) { - return [new Point(from.x, from.y - 2 * minDistance), new Point(to.x, from.y - 2 * minDistance)]; - } - return [new Point(to.x, from.y)]; - } +function getNextPointByBottom (from, to) { + if (from.x === to.x || from.y === to.y) { + return [] + } + // The to point below the from point. + if (from.y < to.y) { + if (to.direction === Direction.Bottom && to.y - from.y > 3 * minDistance) { + if (from.x < to.x) { + if (to.x - from.x < minDistance) { + return [new Point(from.x - 2 * minDistance, from.y), new Point(from.x - 2 * minDistance, to.y)] } - else { - if (to.direction === Direction.Left || + return [new Point(from.x, to.y)] + } else { + if (from.x - to.x < minDistance) { + return [new Point(from.x + 2 * minDistance, from.y), new Point(from.x + 2 * minDistance, to.y)] + } + return [new Point(from.x, to.y)] + } + } else { + if ((to.direction === Direction.Left && from.x > to.x) || (to.direction === Direction.Right && from.x < to.x)) { + return [new Point(to.x, from.y)] + } + return [new Point(from.x, to.y)] + } + // The to point below the from point. + } else { + if (to.direction === Direction.Up) { + if (from.x < to.x) { + return getHorizontalPoints(from, to) + } else { + const pts = getHorizontalPoints(to, from) + return [pts[1], pts[0]] + } + } else { + return [new Point(to.x, from.y)] + } + } +} +function getNextPointByLeft (from, to) { + if (from.x === to.x || from.y === to.y) { + return [] + } + // The to point is on the left. + if (from.x > to.x) { + if (to.direction === Direction.Left && from.x - to.x > 3 * minDistance) { + if (from.y < to.y) { + if (to.y - from.y < minDistance) { + return [new Point(from.x, from.y + 2 * minDistance), new Point(to.x, from.y + 2 * minDistance)] + } + return [new Point(to.x, from.y)] + } else { + if (from.y - to.y < minDistance) { + return [new Point(from.x, from.y - 2 * minDistance), new Point(to.x, from.y - 2 * minDistance)] + } + return [new Point(to.x, from.y)] + } + } else { + if (to.direction === Direction.Left || (to.direction === Direction.Up && from.y < to.y) || (to.direction === Direction.Bottom && from.y > to.y)) { - return [new Point(to.x, from.y)]; - } - return [new Point(from.x, to.y)]; - } - // The to point is on the right. - } - else { - if (to.direction === Direction.Right) { - if (from.y < to.y) { - return getVerticalPoints(from, to); - } - else { - var pts = getVerticalPoints(to, from); - return [pts[1], pts[0]]; - } - } - else { - return [new Point(from.x, to.y)]; - } - } -} -function getNextPointByRight(from, to) { - if (from.x === to.x || from.y === to.y) { - return []; + return [new Point(to.x, from.y)] + } + return [new Point(from.x, to.y)] } // The to point is on the right. - if (from.x < to.x) { - if (to.direction === Direction.Right && to.x - from.x > 3 * minDistance) { - if (from.y < to.y) { - if (to.y - from.y < minDistance) { - return [new Point(from.x, from.y - 2 * minDistance), new Point(to.x, from.y - 2 * minDistance)]; - } - return [new Point(to.x, from.y)]; - } - else { - if (from.y - to.y < minDistance) { - return [new Point(from.x, from.y + 2 * minDistance), new Point(to.x, from.y + 2 * minDistance)]; - } - return [new Point(to.x, from.y)]; - } + } else { + if (to.direction === Direction.Right) { + if (from.y < to.y) { + return getVerticalPoints(from, to) + } else { + const pts = getVerticalPoints(to, from) + return [pts[1], pts[0]] + } + } else { + return [new Point(from.x, to.y)] + } + } +} +function getNextPointByRight (from, to) { + if (from.x === to.x || from.y === to.y) { + return [] + } + // The to point is on the right. + if (from.x < to.x) { + if (to.direction === Direction.Right && to.x - from.x > 3 * minDistance) { + if (from.y < to.y) { + if (to.y - from.y < minDistance) { + return [new Point(from.x, from.y - 2 * minDistance), new Point(to.x, from.y - 2 * minDistance)] } - else { - if (to.direction === Direction.Right || + return [new Point(to.x, from.y)] + } else { + if (from.y - to.y < minDistance) { + return [new Point(from.x, from.y + 2 * minDistance), new Point(to.x, from.y + 2 * minDistance)] + } + return [new Point(to.x, from.y)] + } + } else { + if (to.direction === Direction.Right || (to.direction === Direction.Up && from.y < to.y) || (to.direction === Direction.Bottom && from.y > to.y)) { - return [new Point(to.x, from.y)]; - } - return [new Point(from.x, to.y)]; - } - // The to point is on the left. + return [new Point(to.x, from.y)] + } + return [new Point(from.x, to.y)] } - else { - if (to.direction === Direction.Left) { - if (from.y < to.y) { - return getVerticalPoints(from, to); - } - else { - var pts = getVerticalPoints(to, from); - return [pts[1], pts[0]]; - } - } - else { - return [new Point(from.x, to.y)]; - } + // The to point is on the left. + } else { + if (to.direction === Direction.Left) { + if (from.y < to.y) { + return getVerticalPoints(from, to) + } else { + const pts = getVerticalPoints(to, from) + return [pts[1], pts[0]] + } + } else { + return [new Point(from.x, to.y)] } + } } -function getHorizontalPoints(left, right) { - var x = left.x + (right.x - left.x) / 2; - return [new Point(x, left.y), new Point(x, right.y)]; +function getHorizontalPoints (left, right) { + const x = left.x + (right.x - left.x) / 2 + return [new Point(x, left.y), new Point(x, right.y)] } -function getVerticalPoints(up, bottom) { - var y = up.y + (bottom.y - up.y) / 2; - return [new Point(up.x, y), new Point(bottom.x, y)]; +function getVerticalPoints (up, bottom) { + const y = up.y + (bottom.y - up.y) / 2 + return [new Point(up.x, y), new Point(bottom.x, y)] } -//# sourceMappingURL=polyline.js.map \ No newline at end of file +// # sourceMappingURL=polyline.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.anchor.js index 722c7893e..0221a5849 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.anchor.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.anchor.js @@ -1,7 +1,7 @@ -import { Point } from '../../models/point'; -import { Direction } from '../../models/direction'; -export function arrowAnchors(node) { - node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); - node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)); +import { Point } from '../../models/point' +import { Direction } from '../../models/direction' +export function arrowAnchors (node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)) + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)) } -//# sourceMappingURL=arrow.anchor.js.map \ No newline at end of file +// # sourceMappingURL=arrow.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.js index 131ddb52c..768ad3e16 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.js @@ -1,45 +1,45 @@ -export function leftArrow(ctx, node) { - ctx.beginPath(); - ctx.moveTo(node.rect.x, node.rect.y + node.rect.height / 2); - ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y); - ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height / 3); - ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 3); - ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 2) / 3); - // ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + (node.rect.height * 2) / 3); - ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + (node.rect.height * 2) / 3); - ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + (node.rect.height * 2) / 3); - ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height); - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function leftArrow (ctx, node) { + ctx.beginPath() + ctx.moveTo(node.rect.x, node.rect.y + node.rect.height / 2) + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y) + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height / 3) + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 3) + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 2) / 3) + // ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + (node.rect.height * 2) / 3); + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + (node.rect.height * 2) / 3) + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + (node.rect.height * 2) / 3) + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height) + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -export function rightArrow(ctx, node) { - ctx.beginPath(); - ctx.moveTo(node.rect.x, node.rect.y + node.rect.height / 3); - ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + node.rect.height / 3); - ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y); - ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2); - ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + node.rect.height); - ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + (node.rect.height * 2) / 3); - ctx.lineTo(node.rect.x, node.rect.y + (node.rect.height * 2) / 3); - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function rightArrow (ctx, node) { + ctx.beginPath() + ctx.moveTo(node.rect.x, node.rect.y + node.rect.height / 3) + ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + node.rect.height / 3) + ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y) + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2) + ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + node.rect.height) + ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + (node.rect.height * 2) / 3) + ctx.lineTo(node.rect.x, node.rect.y + (node.rect.height * 2) / 3) + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -export function twowayArrow(ctx, node) { - ctx.beginPath(); - ctx.moveTo(node.rect.x, node.rect.y + node.rect.height / 2); - ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y); - ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height / 3); - ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + node.rect.height / 3); - ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y); - ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2); - ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + node.rect.height); - ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + (node.rect.height * 2) / 3); - ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + (node.rect.height * 2) / 3); - ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height); - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function twowayArrow (ctx, node) { + ctx.beginPath() + ctx.moveTo(node.rect.x, node.rect.y + node.rect.height / 2) + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y) + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height / 3) + ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + node.rect.height / 3) + ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y) + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2) + ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + node.rect.height) + ctx.lineTo(node.rect.x + (node.rect.width - node.rect.height / 2), node.rect.y + (node.rect.height * 2) / 3) + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + (node.rect.height * 2) / 3) + ctx.lineTo(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height) + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=arrow.js.map \ No newline at end of file +// # sourceMappingURL=arrow.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.rect.js index 3312eb48e..62fc29887 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.rect.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/arrow.rect.js @@ -1,23 +1,23 @@ -import { Rect } from '../../models/rect'; -export function leftArrowIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '../../models/rect' +export function leftArrowIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function leftArrowTextRect(node) { - node.textRect = new Rect(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height / 3, node.rect.width - node.rect.height / 2, node.rect.height / 3); - node.fullTextRect = node.textRect; +export function leftArrowTextRect (node) { + node.textRect = new Rect(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height / 3, node.rect.width - node.rect.height / 2, node.rect.height / 3) + node.fullTextRect = node.textRect } -export function rightArrowIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +export function rightArrowIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function rightArrowTextRect(node) { - node.textRect = new Rect(node.rect.x, node.rect.y + node.rect.height / 3, node.rect.width - node.rect.height / 2, node.rect.height / 3); - node.fullTextRect = node.textRect; +export function rightArrowTextRect (node) { + node.textRect = new Rect(node.rect.x, node.rect.y + node.rect.height / 3, node.rect.width - node.rect.height / 2, node.rect.height / 3) + node.fullTextRect = node.textRect } -export function twowayArrowIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +export function twowayArrowIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function twowayArrowTextRect(node) { - node.textRect = new Rect(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height / 3, node.rect.width - node.rect.height, node.rect.height / 3); - node.fullTextRect = node.textRect; +export function twowayArrowTextRect (node) { + node.textRect = new Rect(node.rect.x + node.rect.height / 2, node.rect.y + node.rect.height / 3, node.rect.width - node.rect.height, node.rect.height / 3) + node.fullTextRect = node.textRect } -//# sourceMappingURL=arrow.rect.js.map \ No newline at end of file +// # sourceMappingURL=arrow.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.anchor.js index 42e9ae462..51222be8d 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.anchor.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.anchor.js @@ -1,18 +1,18 @@ -import { Point } from '../../models/point'; -import { Direction } from '../../models/direction'; -export function circleAnchors(node) { - node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); - node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)); - for (var i = 5; i < 360; i += 5) { - if (i % 90 === 0) { - continue; - } - var direction = Math.round(i / 90); - var pt = new Point(node.rect.center.x + (Math.sin((i / 180) * Math.PI) * node.rect.width) / 2, node.rect.center.y + (Math.cos((i / 180) * Math.PI) * node.rect.height) / 2, direction); - pt.hidden = true; - node.anchors.push(pt); +import { Point } from '../../models/point' +import { Direction } from '../../models/direction' +export function circleAnchors (node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)) + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)) + for (let i = 5; i < 360; i += 5) { + if (i % 90 === 0) { + continue } + const direction = Math.round(i / 90) + const pt = new Point(node.rect.center.x + (Math.sin((i / 180) * Math.PI) * node.rect.width) / 2, node.rect.center.y + (Math.cos((i / 180) * Math.PI) * node.rect.height) / 2, direction) + pt.hidden = true + node.anchors.push(pt) + } } -//# sourceMappingURL=circle.anchor.js.map \ No newline at end of file +// # sourceMappingURL=circle.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.js index 50033f355..59a951aeb 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.js @@ -1,7 +1,7 @@ -export function circle(ctx, node) { - ctx.beginPath(); - ctx.ellipse(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 2, node.rect.width / 2, node.rect.height / 2, 0, 0, Math.PI * 2); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function circle (ctx, node) { + ctx.beginPath() + ctx.ellipse(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 2, node.rect.width / 2, node.rect.height / 2, 0, 0, Math.PI * 2); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=circle.js.map \ No newline at end of file +// # sourceMappingURL=circle.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.rect.js index 3d6c5d726..05e2e573a 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.rect.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/circle.rect.js @@ -1,27 +1,26 @@ -import { Rect } from '../../models/rect'; -export function circleIconRect(node) { - var w = node.rect.width / 2; - var h = node.rect.height / 2; - if (w > h) { - w = h; - } - else { - h = w; - } - var top = node.rect.height / 10; - if (top < 10) { - top = 10; - } - node.iconRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + top, w, h); +import { Rect } from '../../models/rect' +export function circleIconRect (node) { + let w = node.rect.width / 2 + let h = node.rect.height / 2 + if (w > h) { + w = h + } else { + h = w + } + let top = node.rect.height / 10 + if (top < 10) { + top = 10 + } + node.iconRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + top, w, h) } -export function circleTextRect(node) { - var bottom = node.rect.height / 20; - if (bottom < 5) { - bottom = 0; - } - node.textRect = new Rect(node.rect.x + node.rect.width / 4, node.rect.y + (node.rect.height * 2) / 3 - bottom, node.rect.width / 2, node.rect.height / 3 - 5); - var w = (node.rect.width * 5) / 7; - var h = (node.rect.height * 5) / 7; - node.fullTextRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + (node.rect.height - h) / 2, w, h); +export function circleTextRect (node) { + let bottom = node.rect.height / 20 + if (bottom < 5) { + bottom = 0 + } + node.textRect = new Rect(node.rect.x + node.rect.width / 4, node.rect.y + (node.rect.height * 2) / 3 - bottom, node.rect.width / 2, node.rect.height / 3 - 5) + const w = (node.rect.width * 5) / 7 + const h = (node.rect.height * 5) / 7 + node.fullTextRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + (node.rect.height - h) / 2, w, h) } -//# sourceMappingURL=circle.rect.js.map \ No newline at end of file +// # sourceMappingURL=circle.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.anchor.js index e93fad70f..463fa9c57 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.anchor.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.anchor.js @@ -1,9 +1,9 @@ -import { Point } from '../../models/point'; -import { Direction } from '../../models/direction'; -export function cloudAnchors(node) { - node.anchors.push(new Point(node.rect.x, node.rect.y + (node.rect.height * 3) / 5, Direction.Left)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 9, Direction.Up)); - node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 3) / 5, Direction.Right)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + (node.rect.height * 4) / 5, Direction.Bottom)); +import { Point } from '../../models/point' +import { Direction } from '../../models/direction' +export function cloudAnchors (node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + (node.rect.height * 3) / 5, Direction.Left)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 9, Direction.Up)) + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 3) / 5, Direction.Right)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + (node.rect.height * 4) / 5, Direction.Bottom)) } -//# sourceMappingURL=cloud.anchor.js.map \ No newline at end of file +// # sourceMappingURL=cloud.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.js index ac4abf50b..d8c022c41 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.js @@ -1,11 +1,11 @@ -export function cloud(ctx, node) { - ctx.beginPath(); - ctx.moveTo(node.rect.x + node.rect.width / 5, node.rect.y + (node.rect.height * 13) / 16); - ctx.bezierCurveTo(node.rect.x - node.rect.width / 15, node.rect.y + (node.rect.height * 13) / 16, node.rect.x - node.rect.width / 15, node.rect.y + (node.rect.height * 7) / 16, node.rect.x + node.rect.width / 5, node.rect.y + (node.rect.height * 7) / 16); - ctx.bezierCurveTo(node.rect.x + node.rect.width / 5, node.rect.y, node.rect.x + (node.rect.width * 4) / 5, node.rect.y, node.rect.x + (node.rect.width * 4) / 5, node.rect.y + (node.rect.height * 7) / 16); - ctx.bezierCurveTo(node.rect.x + (node.rect.width * 16) / 15, node.rect.y + (node.rect.height * 7) / 16, node.rect.x + (node.rect.width * 16) / 15, node.rect.y + (node.rect.height * 13) / 16, node.rect.x + (node.rect.width * 4) / 5, node.rect.y + (node.rect.height * 13) / 16); - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function cloud (ctx, node) { + ctx.beginPath() + ctx.moveTo(node.rect.x + node.rect.width / 5, node.rect.y + (node.rect.height * 13) / 16) + ctx.bezierCurveTo(node.rect.x - node.rect.width / 15, node.rect.y + (node.rect.height * 13) / 16, node.rect.x - node.rect.width / 15, node.rect.y + (node.rect.height * 7) / 16, node.rect.x + node.rect.width / 5, node.rect.y + (node.rect.height * 7) / 16) + ctx.bezierCurveTo(node.rect.x + node.rect.width / 5, node.rect.y, node.rect.x + (node.rect.width * 4) / 5, node.rect.y, node.rect.x + (node.rect.width * 4) / 5, node.rect.y + (node.rect.height * 7) / 16) + ctx.bezierCurveTo(node.rect.x + (node.rect.width * 16) / 15, node.rect.y + (node.rect.height * 7) / 16, node.rect.x + (node.rect.width * 16) / 15, node.rect.y + (node.rect.height * 13) / 16, node.rect.x + (node.rect.width * 4) / 5, node.rect.y + (node.rect.height * 13) / 16) + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=cloud.js.map \ No newline at end of file +// # sourceMappingURL=cloud.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.rect.js index 431ccfcee..964188f3e 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.rect.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cloud.rect.js @@ -1,9 +1,9 @@ -import { Rect } from '../../models/rect'; -export function cloudIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '../../models/rect' +export function cloudIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function cloudTextRect(node) { - node.textRect = new Rect(node.rect.x + node.rect.width / 4, node.rect.y + node.rect.height / 4, node.rect.width / 2, (node.rect.height * 6) / 11); - node.fullTextRect = node.textRect; +export function cloudTextRect (node) { + node.textRect = new Rect(node.rect.x + node.rect.width / 4, node.rect.y + node.rect.height / 4, node.rect.width / 2, (node.rect.height * 6) / 11) + node.fullTextRect = node.textRect } -//# sourceMappingURL=cloud.rect.js.map \ No newline at end of file +// # sourceMappingURL=cloud.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.anchor.js index 28878e002..f294e59ac 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.anchor.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.anchor.js @@ -1,10 +1,10 @@ -import { Point } from '../../models/point'; -import { Direction } from '../../models/direction'; -export function cubeAnchors(node) { - var offset = node.z * Math.sin((45 * Math.PI) / 180); - node.anchors.push(new Point(node.rect.x, node.rect.ey - (node.rect.height - offset) / 2, Direction.Left)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + offset / 2, Direction.Up)); - node.anchors.push(new Point(node.rect.ex - offset / 2, node.rect.y + node.rect.height / 2, Direction.Right)); - node.anchors.push(new Point(node.rect.x + (node.rect.width - offset) / 2, node.rect.y + node.rect.height, Direction.Bottom)); +import { Point } from '../../models/point' +import { Direction } from '../../models/direction' +export function cubeAnchors (node) { + const offset = node.z * Math.sin((45 * Math.PI) / 180) + node.anchors.push(new Point(node.rect.x, node.rect.ey - (node.rect.height - offset) / 2, Direction.Left)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + offset / 2, Direction.Up)) + node.anchors.push(new Point(node.rect.ex - offset / 2, node.rect.y + node.rect.height / 2, Direction.Right)) + node.anchors.push(new Point(node.rect.x + (node.rect.width - offset) / 2, node.rect.y + node.rect.height, Direction.Bottom)) } -//# sourceMappingURL=cube.anchor.js.map \ No newline at end of file +// # sourceMappingURL=cube.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.js index dfc8fa904..45e776815 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.js @@ -1,5 +1,5 @@ -import { Cube } from './cube.model'; -export function cube(ctx, node) { - new Cube(node.rect, node.z, node.zRotate, node.fillStyle, node.strokeStyle).render(ctx); +import { Cube } from './cube.model' +export function cube (ctx, node) { + new Cube(node.rect, node.z, node.zRotate, node.fillStyle, node.strokeStyle).render(ctx) } -//# sourceMappingURL=cube.js.map \ No newline at end of file +// # sourceMappingURL=cube.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.model.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.model.js index 4296cedfd..c0fc8b860 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.model.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.model.js @@ -1,64 +1,63 @@ -import { Point } from '../../models/point'; -import { pSBC } from '../../utils/math'; -var Surface = /** @class */ (function () { - function Surface(pt1, pt2, pt3, pt4, fillStyle, strokeStyle) { - if (fillStyle === void 0) { fillStyle = ''; } - if (strokeStyle === void 0) { strokeStyle = ''; } - this.points = []; - this.fillStyle = ''; - this.strokeStyle = ''; - this.points.push(pt1); - this.points.push(pt2); - this.points.push(pt3); - this.points.push(pt4); - this.fillStyle = fillStyle; - this.strokeStyle = strokeStyle || fillStyle; +import { Point } from '../../models/point' +import { pSBC } from '../../utils/math' +const Surface = /** @class */ (function () { + function Surface (pt1, pt2, pt3, pt4, fillStyle, strokeStyle) { + if (fillStyle === void 0) { fillStyle = '' } + if (strokeStyle === void 0) { strokeStyle = '' } + this.points = [] + this.fillStyle = '' + this.strokeStyle = '' + this.points.push(pt1) + this.points.push(pt2) + this.points.push(pt3) + this.points.push(pt4) + this.fillStyle = fillStyle + this.strokeStyle = strokeStyle || fillStyle + } + Surface.prototype.render = function (ctx) { + ctx.save() + ctx.fillStyle = this.fillStyle + ctx.strokeStyle = this.strokeStyle + ctx.beginPath() + for (let i = 0; i < this.points.length; ++i) { + if (i) { + ctx.lineTo(this.points[i].x, this.points[i].y) + } else { + ctx.moveTo(this.points[i].x, this.points[i].y) + } } - Surface.prototype.render = function (ctx) { - ctx.save(); - ctx.fillStyle = this.fillStyle; - ctx.strokeStyle = this.strokeStyle; - ctx.beginPath(); - for (var i = 0; i < this.points.length; ++i) { - if (i) { - ctx.lineTo(this.points[i].x, this.points[i].y); - } - else { - ctx.moveTo(this.points[i].x, this.points[i].y); - } - } - ctx.closePath(); - this.fillStyle && ctx.fill(); - ctx.stroke(); - ctx.restore(); - }; - return Surface; -}()); -export { Surface }; -var Cube = /** @class */ (function () { - function Cube(rect, z, zRotate, fillStyle, strokeStyle) { - if (fillStyle === void 0) { fillStyle = '#ddd'; } - if (strokeStyle === void 0) { strokeStyle = '#ccc'; } - this.surfaces = []; - var offset = z * Math.sin((45 * Math.PI) / 180); - var p1 = new Point(rect.x, rect.y + offset); - var p2 = new Point(rect.ex - offset, rect.y + offset); - var p3 = new Point(rect.ex - offset, rect.ey); - var p4 = new Point(rect.x, rect.ey); - // front - this.surfaces.push(new Surface(p1, p2, p3, p4, fillStyle, strokeStyle)); - // up - this.surfaces.push(new Surface(p1, new Point(rect.x + offset, rect.y), new Point(rect.ex, rect.y), p2, pSBC(0.5, fillStyle), strokeStyle)); - // right - this.surfaces.push(new Surface(p2, new Point(rect.ex, rect.y), new Point(rect.ex, rect.ey - offset), p3, pSBC(0.6, fillStyle), strokeStyle)); + ctx.closePath() + this.fillStyle && ctx.fill() + ctx.stroke() + ctx.restore() + } + return Surface +}()) +export { Surface } +const Cube = /** @class */ (function () { + function Cube (rect, z, zRotate, fillStyle, strokeStyle) { + if (fillStyle === void 0) { fillStyle = '#ddd' } + if (strokeStyle === void 0) { strokeStyle = '#ccc' } + this.surfaces = [] + const offset = z * Math.sin((45 * Math.PI) / 180) + const p1 = new Point(rect.x, rect.y + offset) + const p2 = new Point(rect.ex - offset, rect.y + offset) + const p3 = new Point(rect.ex - offset, rect.ey) + const p4 = new Point(rect.x, rect.ey) + // front + this.surfaces.push(new Surface(p1, p2, p3, p4, fillStyle, strokeStyle)) + // up + this.surfaces.push(new Surface(p1, new Point(rect.x + offset, rect.y), new Point(rect.ex, rect.y), p2, pSBC(0.5, fillStyle), strokeStyle)) + // right + this.surfaces.push(new Surface(p2, new Point(rect.ex, rect.y), new Point(rect.ex, rect.ey - offset), p3, pSBC(0.6, fillStyle), strokeStyle)) + } + Cube.prototype.render = function (ctx) { + for (let _i = 0, _a = this.surfaces; _i < _a.length; _i++) { + const item = _a[_i] + item.render(ctx) } - Cube.prototype.render = function (ctx) { - for (var _i = 0, _a = this.surfaces; _i < _a.length; _i++) { - var item = _a[_i]; - item.render(ctx); - } - }; - return Cube; -}()); -export { Cube }; -//# sourceMappingURL=cube.model.js.map \ No newline at end of file + } + return Cube +}()) +export { Cube } +// # sourceMappingURL=cube.model.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.rect.js index 758f0e314..94c3703ef 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.rect.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/cube.rect.js @@ -1,11 +1,11 @@ -import { Rect } from '../../models/rect'; -export function cubeIconRect(node) { - node.fullIconRect = node.fullTextRect; - node.iconRect = new Rect(node.fullIconRect.x, node.fullIconRect.y, node.fullIconRect.width, (node.fullIconRect.height * 2) / 3); +import { Rect } from '../../models/rect' +export function cubeIconRect (node) { + node.fullIconRect = node.fullTextRect + node.iconRect = new Rect(node.fullIconRect.x, node.fullIconRect.y, node.fullIconRect.width, (node.fullIconRect.height * 2) / 3) } -export function cubeTextRect(node) { - var offset = node.z * Math.sin((45 * Math.PI) / 180); - node.fullTextRect = new Rect(node.rect.x, node.rect.y + offset, node.rect.width - offset, node.rect.height - offset); - node.textRect = new Rect(node.fullTextRect.x + 10, node.fullTextRect.y + (node.fullTextRect.height * 2) / 3, node.fullTextRect.width - 20, node.fullTextRect.height / 3 - 5); +export function cubeTextRect (node) { + const offset = node.z * Math.sin((45 * Math.PI) / 180) + node.fullTextRect = new Rect(node.rect.x, node.rect.y + offset, node.rect.width - offset, node.rect.height - offset) + node.textRect = new Rect(node.fullTextRect.x + 10, node.fullTextRect.y + (node.fullTextRect.height * 2) / 3, node.fullTextRect.width - 20, node.fullTextRect.height / 3 - 5) } -//# sourceMappingURL=cube.rect.js.map \ No newline at end of file +// # sourceMappingURL=cube.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.js index d78c1c8d9..c756e9acc 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.js @@ -1,11 +1,11 @@ -export function diamond(ctx, node) { - ctx.beginPath(); - ctx.moveTo(node.rect.x + node.rect.width / 2, node.rect.y); - ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2); - ctx.lineTo(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height); - ctx.lineTo(node.rect.x, node.rect.y + node.rect.height / 2); - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function diamond (ctx, node) { + ctx.beginPath() + ctx.moveTo(node.rect.x + node.rect.width / 2, node.rect.y) + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2) + ctx.lineTo(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height) + ctx.lineTo(node.rect.x, node.rect.y + node.rect.height / 2) + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=diamond.js.map \ No newline at end of file +// # sourceMappingURL=diamond.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.rect.js index c78afeb28..b41803197 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.rect.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/diamond.rect.js @@ -1,27 +1,26 @@ -import { Rect } from '../../models/rect'; -export function diamondIconRect(node) { - var w = node.rect.width / 3; - var h = node.rect.height / 3; - if (w > h) { - w = h; - } - else { - h = w; - } - var top = node.rect.width / 5; - if (top < 10) { - top = 10; - } - node.iconRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + top, w, h); +import { Rect } from '../../models/rect' +export function diamondIconRect (node) { + let w = node.rect.width / 3 + let h = node.rect.height / 3 + if (w > h) { + w = h + } else { + h = w + } + let top = node.rect.width / 5 + if (top < 10) { + top = 10 + } + node.iconRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + top, w, h) } -export function diamondTextRect(node) { - var bottom = node.rect.height / 10; - if (bottom < 5) { - bottom = 0; - } - node.textRect = new Rect(node.rect.x + node.rect.width / 3, node.rect.y + (node.rect.height * 2) / 3 - bottom, node.rect.width / 3, node.rect.height / 3 - 5); - var w = node.rect.width / 2; - var h = (node.rect.height * 1) / 2; - node.fullTextRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + node.rect.height / 4, w, h); +export function diamondTextRect (node) { + let bottom = node.rect.height / 10 + if (bottom < 5) { + bottom = 0 + } + node.textRect = new Rect(node.rect.x + node.rect.width / 3, node.rect.y + (node.rect.height * 2) / 3 - bottom, node.rect.width / 3, node.rect.height / 3 - 5) + const w = node.rect.width / 2 + const h = (node.rect.height * 1) / 2 + node.fullTextRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + node.rect.height / 4, w, h) } -//# sourceMappingURL=diamond.rect.js.map \ No newline at end of file +// # sourceMappingURL=diamond.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/file.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/file.js index 30fc33523..9c270f73d 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/file.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/file.js @@ -1,16 +1,16 @@ -export function file(ctx, node) { - ctx.beginPath(); - var offsetX = node.rect.width / 6; - ctx.moveTo(node.rect.x, node.rect.y); - ctx.lineTo(node.rect.ex - offsetX, node.rect.y); - ctx.lineTo(node.rect.ex, node.rect.y + offsetX); - ctx.lineTo(node.rect.ex, node.rect.ey); - ctx.lineTo(node.rect.x, node.rect.ey); - ctx.closePath(); - ctx.moveTo(node.rect.ex - offsetX, node.rect.y); - ctx.lineTo(node.rect.ex - offsetX, node.rect.y + offsetX); - ctx.lineTo(node.rect.ex, node.rect.y + offsetX); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function file (ctx, node) { + ctx.beginPath() + const offsetX = node.rect.width / 6 + ctx.moveTo(node.rect.x, node.rect.y) + ctx.lineTo(node.rect.ex - offsetX, node.rect.y) + ctx.lineTo(node.rect.ex, node.rect.y + offsetX) + ctx.lineTo(node.rect.ex, node.rect.ey) + ctx.lineTo(node.rect.x, node.rect.ey) + ctx.closePath() + ctx.moveTo(node.rect.ex - offsetX, node.rect.y) + ctx.lineTo(node.rect.ex - offsetX, node.rect.y + offsetX) + ctx.lineTo(node.rect.ex, node.rect.y + offsetX); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=file.js.map \ No newline at end of file +// # sourceMappingURL=file.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.anchor.js index 681458c20..145beace7 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.anchor.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.anchor.js @@ -1,18 +1,17 @@ -import { Point } from '../../models/point'; -import { Direction } from '../../models/direction'; -export function graffitiAnchors(node) { - if (!node.points || !node.points.length) { - return; - } - var pt1 = node.points[0]; - var pt2 = node.points[node.points.length - 1]; - if (pt1.x < pt2.x) { - node.anchors.push(new Point(pt1.x, pt1.y, Direction.Left)); - node.anchors.push(new Point(pt2.x, pt2.y, Direction.Right)); - } - else { - node.anchors.push(new Point(pt1.x, pt1.y, Direction.Right)); - node.anchors.push(new Point(pt2.x, pt2.y, Direction.Left)); - } +import { Point } from '../../models/point' +import { Direction } from '../../models/direction' +export function graffitiAnchors (node) { + if (!node.points || !node.points.length) { + return + } + const pt1 = node.points[0] + const pt2 = node.points[node.points.length - 1] + if (pt1.x < pt2.x) { + node.anchors.push(new Point(pt1.x, pt1.y, Direction.Left)) + node.anchors.push(new Point(pt2.x, pt2.y, Direction.Right)) + } else { + node.anchors.push(new Point(pt1.x, pt1.y, Direction.Right)) + node.anchors.push(new Point(pt2.x, pt2.y, Direction.Left)) + } } -//# sourceMappingURL=graffiti.anchor.js.map \ No newline at end of file +// # sourceMappingURL=graffiti.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.js index c274a4f1a..61a1b5a62 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/graffiti.js @@ -1,14 +1,14 @@ -export function graffiti(ctx, node) { - if (!node.points || !node.points[0]) { - return; - } - ctx.beginPath(); - ctx.moveTo(node.points[0].x, node.points[0].y); - node.points.forEach(function (pt) { - ctx.lineTo(pt.x, pt.y); - }); - node['closePath'] && !node['doing'] && ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function graffiti (ctx, node) { + if (!node.points || !node.points[0]) { + return + } + ctx.beginPath() + ctx.moveTo(node.points[0].x, node.points[0].y) + node.points.forEach(function (pt) { + ctx.lineTo(pt.x, pt.y) + }) + node.closePath && !node.doing && ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=graffiti.js.map \ No newline at end of file +// # sourceMappingURL=graffiti.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.anchor.js index 3ee3c8fcc..b35eaef9b 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.anchor.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.anchor.js @@ -1,21 +1,21 @@ -import { Point } from '../../models/point'; -import { Direction } from '../../models/direction'; -export function hexagonAnchors(node) { - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); - node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)); - node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); - var ptLT = new Point(node.rect.x + node.rect.width / 10, node.rect.y + node.rect.height / 4, Direction.Left); - ptLT.hidden = true; - node.anchors.push(ptLT); - var ptRT = new Point(node.rect.x + node.rect.width / 10, node.rect.y + (node.rect.height * 3) / 4, Direction.Left); - ptRT.hidden = true; - node.anchors.push(ptRT); - var ptLB = new Point(node.rect.x + (node.rect.width * 9) / 10, node.rect.y + node.rect.height / 4, Direction.Right); - ptLB.hidden = true; - node.anchors.push(ptLB); - var ptRB = new Point(node.rect.x + (node.rect.width * 9) / 10, node.rect.y + (node.rect.height * 3) / 4, Direction.Right); - ptRB.hidden = true; - node.anchors.push(ptRB); +import { Point } from '../../models/point' +import { Direction } from '../../models/direction' +export function hexagonAnchors (node) { + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)) + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)) + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)) + const ptLT = new Point(node.rect.x + node.rect.width / 10, node.rect.y + node.rect.height / 4, Direction.Left) + ptLT.hidden = true + node.anchors.push(ptLT) + const ptRT = new Point(node.rect.x + node.rect.width / 10, node.rect.y + (node.rect.height * 3) / 4, Direction.Left) + ptRT.hidden = true + node.anchors.push(ptRT) + const ptLB = new Point(node.rect.x + (node.rect.width * 9) / 10, node.rect.y + node.rect.height / 4, Direction.Right) + ptLB.hidden = true + node.anchors.push(ptLB) + const ptRB = new Point(node.rect.x + (node.rect.width * 9) / 10, node.rect.y + (node.rect.height * 3) / 4, Direction.Right) + ptRB.hidden = true + node.anchors.push(ptRB) } -//# sourceMappingURL=hexagon.anchor.js.map \ No newline at end of file +// # sourceMappingURL=hexagon.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.js index ec8937f2a..bbf8f0bf1 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.js @@ -1,14 +1,14 @@ -export function hexagon(ctx, node) { - ctx.beginPath(); - var pos = node.rect.width / 5; - ctx.moveTo(node.rect.x + pos, node.rect.y); - ctx.lineTo(node.rect.x + node.rect.width - pos, node.rect.y); - ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2); - ctx.lineTo(node.rect.x + node.rect.width - pos, node.rect.y + node.rect.height); - ctx.lineTo(node.rect.x + pos, node.rect.y + node.rect.height); - ctx.lineTo(node.rect.x, node.rect.y + node.rect.height / 2); - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function hexagon (ctx, node) { + ctx.beginPath() + const pos = node.rect.width / 5 + ctx.moveTo(node.rect.x + pos, node.rect.y) + ctx.lineTo(node.rect.x + node.rect.width - pos, node.rect.y) + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2) + ctx.lineTo(node.rect.x + node.rect.width - pos, node.rect.y + node.rect.height) + ctx.lineTo(node.rect.x + pos, node.rect.y + node.rect.height) + ctx.lineTo(node.rect.x, node.rect.y + node.rect.height / 2) + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=hexagon.js.map \ No newline at end of file +// # sourceMappingURL=hexagon.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.rect.js index 3a2573a2c..bbcc2968a 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.rect.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/hexagon.rect.js @@ -1,14 +1,14 @@ -import { Rect } from '../../models/rect'; -export function hexagonIconRect(node) { - var w = (node.rect.width * 3) / 5; - var h = (node.rect.height * 3) / 4; - node.iconRect = new Rect(node.rect.x + node.rect.width / 5 + node.paddingLeftNum, node.rect.y + node.paddingTopNum, w - node.paddingLeftNum - node.paddingRightNum, h - node.paddingTopNum - node.paddingBottomNum); - node.fullIconRect = new Rect(node.rect.x + node.rect.width / 5 + node.paddingLeftNum, node.rect.y + node.paddingTopNum, w - node.paddingLeftNum - node.paddingRightNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum); +import { Rect } from '../../models/rect' +export function hexagonIconRect (node) { + const w = (node.rect.width * 3) / 5 + const h = (node.rect.height * 3) / 4 + node.iconRect = new Rect(node.rect.x + node.rect.width / 5 + node.paddingLeftNum, node.rect.y + node.paddingTopNum, w - node.paddingLeftNum - node.paddingRightNum, h - node.paddingTopNum - node.paddingBottomNum) + node.fullIconRect = new Rect(node.rect.x + node.rect.width / 5 + node.paddingLeftNum, node.rect.y + node.paddingTopNum, w - node.paddingLeftNum - node.paddingRightNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum) } -export function hexagonTextRect(node) { - var w = (node.rect.width * 3) / 5; - var h = node.rect.height / 4; - node.textRect = new Rect(node.rect.x + node.rect.width / 5 + node.paddingLeftNum, node.rect.y + node.rect.height - h + node.paddingTopNum, w - node.paddingLeftNum - node.paddingRightNum, h); - node.fullTextRect = new Rect(node.rect.x + node.rect.width / 5 + node.paddingLeftNum, node.rect.y + node.paddingTopNum, w - node.paddingLeftNum - node.paddingRightNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum); +export function hexagonTextRect (node) { + const w = (node.rect.width * 3) / 5 + const h = node.rect.height / 4 + node.textRect = new Rect(node.rect.x + node.rect.width / 5 + node.paddingLeftNum, node.rect.y + node.rect.height - h + node.paddingTopNum, w - node.paddingLeftNum - node.paddingRightNum, h) + node.fullTextRect = new Rect(node.rect.x + node.rect.width / 5 + node.paddingLeftNum, node.rect.y + node.paddingTopNum, w - node.paddingLeftNum - node.paddingRightNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum) } -//# sourceMappingURL=hexagon.rect.js.map \ No newline at end of file +// # sourceMappingURL=hexagon.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.anchor.js index bedad822d..f5ff7fe78 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.anchor.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.anchor.js @@ -1,19 +1,18 @@ -import { Point } from '../../models/point'; -import { Direction } from '../../models/direction'; -export function imageAnchors(node) { - var textWidth = 0; - var textHeight = 0; - if (node.text) { - if (node.paddingRightNum) { - textWidth = node.paddingRightNum; - } - else { - textHeight = node.paddingBottomNum || node.lineHeight * node.fontSize * (node.textMaxLine || 1); - } +import { Point } from '../../models/point' +import { Direction } from '../../models/direction' +export function imageAnchors (node) { + let textWidth = 0 + let textHeight = 0 + if (node.text) { + if (node.paddingRightNum) { + textWidth = node.paddingRightNum + } else { + textHeight = node.paddingBottomNum || node.lineHeight * node.fontSize * (node.textMaxLine || 1) } - node.anchors.push(new Point(node.rect.x, node.rect.y + (node.rect.height - textHeight) / 2, Direction.Left)); - node.anchors.push(new Point(node.rect.x + (node.rect.width - textWidth) / 2, node.rect.y, Direction.Up)); - node.anchors.push(new Point(node.rect.x + node.rect.width - textWidth, node.rect.y + (node.rect.height - textHeight) / 2, Direction.Right)); - node.anchors.push(new Point(node.rect.x + (node.rect.width - textWidth) / 2, node.rect.y + node.rect.height - textHeight, Direction.Bottom)); + } + node.anchors.push(new Point(node.rect.x, node.rect.y + (node.rect.height - textHeight) / 2, Direction.Left)) + node.anchors.push(new Point(node.rect.x + (node.rect.width - textWidth) / 2, node.rect.y, Direction.Up)) + node.anchors.push(new Point(node.rect.x + node.rect.width - textWidth, node.rect.y + (node.rect.height - textHeight) / 2, Direction.Right)) + node.anchors.push(new Point(node.rect.x + (node.rect.width - textWidth) / 2, node.rect.y + node.rect.height - textHeight, Direction.Bottom)) } -//# sourceMappingURL=image.anchor.js.map \ No newline at end of file +// # sourceMappingURL=image.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.rect.js index c02e0c152..5152ef54a 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.rect.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/image.rect.js @@ -1,27 +1,25 @@ -import { Rect } from '../../models/rect'; -export function imageIconRect(node) { - var textWidth = 0; - var textHeight = 0; - if (node.text) { - if (node.paddingRightNum) { - textWidth = node.paddingRightNum; - } - else { - textHeight = node.paddingBottomNum || node.lineHeight * node.fontSize * (node.textMaxLine || 1); - } - } - node.iconRect = new Rect(node.rect.x, node.rect.y, node.rect.width - textWidth, node.rect.height - textHeight); - node.fullIconRect = node.rect; -} -export function imageTextRect(node) { +import { Rect } from '../../models/rect' +export function imageIconRect (node) { + let textWidth = 0 + let textHeight = 0 + if (node.text) { if (node.paddingRightNum) { - var width = node.paddingRightNum - 5; - node.textRect = new Rect(node.rect.x + node.rect.width - width, node.rect.y, width, node.rect.height - node.textOffsetY * 2); + textWidth = node.paddingRightNum + } else { + textHeight = node.paddingBottomNum || node.lineHeight * node.fontSize * (node.textMaxLine || 1) } - else { - var height = node.paddingBottomNum || node.lineHeight * node.fontSize * (node.textMaxLine || 1); - node.textRect = new Rect(node.rect.x, node.rect.y + node.rect.height - height, node.rect.width - node.textOffsetX * 2, height); - } - node.fullTextRect = node.rect; + } + node.iconRect = new Rect(node.rect.x, node.rect.y, node.rect.width - textWidth, node.rect.height - textHeight) + node.fullIconRect = node.rect } -//# sourceMappingURL=image.rect.js.map \ No newline at end of file +export function imageTextRect (node) { + if (node.paddingRightNum) { + const width = node.paddingRightNum - 5 + node.textRect = new Rect(node.rect.x + node.rect.width - width, node.rect.y, width, node.rect.height - node.textOffsetY * 2) + } else { + const height = node.paddingBottomNum || node.lineHeight * node.fontSize * (node.textMaxLine || 1) + node.textRect = new Rect(node.rect.x, node.rect.y + node.rect.height - height, node.rect.width - node.textOffsetX * 2, height) + } + node.fullTextRect = node.rect +} +// # sourceMappingURL=image.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.anchor.js index 76c77404d..be35e466a 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.anchor.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.anchor.js @@ -1,14 +1,14 @@ -import { Point } from '../../models/point'; -import { Direction } from '../../models/direction'; -export function lineAnchors(node) { - var y = node.rect.y + node.rect.height / 2; - node.anchors.push(new Point(node.rect.x, y, Direction.Left)); - node.anchors.push(new Point(node.rect.x + node.rect.width, y, Direction.Right)); - var scale = topology.data.scale || 1; // 取全局的 scale 属性 - for (var i = node.rect.x + 5 * scale; i < node.rect.ex; i += 5 * scale) { - var pt = new Point(i, y, Direction.Bottom); - pt.hidden = true; - node.anchors.push(pt); - } +import { Point } from '../../models/point' +import { Direction } from '../../models/direction' +export function lineAnchors (node) { + const y = node.rect.y + node.rect.height / 2 + node.anchors.push(new Point(node.rect.x, y, Direction.Left)) + node.anchors.push(new Point(node.rect.x + node.rect.width, y, Direction.Right)) + const scale = topology.data.scale || 1 // 取全局的 scale 属性 + for (let i = node.rect.x + 5 * scale; i < node.rect.ex; i += 5 * scale) { + const pt = new Point(i, y, Direction.Bottom) + pt.hidden = true + node.anchors.push(pt) + } } -//# sourceMappingURL=line.anchor.js.map \ No newline at end of file +// # sourceMappingURL=line.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.js index 1d713bc55..c4f308d85 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.js @@ -1,8 +1,8 @@ -export function line(ctx, node) { - ctx.beginPath(); - var y = node.rect.y + node.rect.height / 2; - ctx.moveTo(node.rect.x, y); - ctx.lineTo(node.rect.x + node.rect.width, y); - ctx.stroke(); +export function line (ctx, node) { + ctx.beginPath() + const y = node.rect.y + node.rect.height / 2 + ctx.moveTo(node.rect.x, y) + ctx.lineTo(node.rect.x + node.rect.width, y) + ctx.stroke() } -//# sourceMappingURL=line.js.map \ No newline at end of file +// # sourceMappingURL=line.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.rect.js index 27993633f..38b011a53 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.rect.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/line.rect.js @@ -1,9 +1,9 @@ -import { Rect } from '../../models/rect'; -export function lineIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '../../models/rect' +export function lineIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function lineTextRect(node) { - node.fullTextRect = new Rect(node.rect.x + 10, node.rect.y + node.rect.height / 2 - 20, node.rect.width - 20, 20); - node.textRect = node.fullTextRect; +export function lineTextRect (node) { + node.fullTextRect = new Rect(node.rect.x + 10, node.rect.y + node.rect.height / 2 - 20, node.rect.width - 20, 20) + node.textRect = node.fullTextRect } -//# sourceMappingURL=line.rect.js.map \ No newline at end of file +// # sourceMappingURL=line.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/lines.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/lines.js index 899e097c8..e7b01dca8 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/lines.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/lines.js @@ -1,27 +1,25 @@ -export function lines(ctx, node) { - if (!node.points || !node.points[1]) { - return; +export function lines (ctx, node) { + if (!node.points || !node.points[1]) { + return + } + ctx.beginPath() + ctx.moveTo(node.points[0].x, node.points[0].y) + for (let i = 1; i < node.points.length;) { + // curve 控制点 + if (node.points[i].data) { + if (node.points[i + 2]) { + ctx.bezierCurveTo(node.points[i].x, node.points[i].y, node.points[i + 1].x, node.points[i + 1].y, node.points[i + 2].x, node.points[i + 2].y) + i += 2 + } else { + break + } + } else { + ctx.lineTo(node.points[i].x, node.points[i].y) + ++i } - ctx.beginPath(); - ctx.moveTo(node.points[0].x, node.points[0].y); - for (var i = 1; i < node.points.length;) { - // curve 控制点 - if (node.points[i].data) { - if (node.points[i + 2]) { - ctx.bezierCurveTo(node.points[i].x, node.points[i].y, node.points[i + 1].x, node.points[i + 1].y, node.points[i + 2].x, node.points[i + 2].y); - i += 2; - } - else { - break; - } - } - else { - ctx.lineTo(node.points[i].x, node.points[i].y); - ++i; - } - } - node['closePath'] && !node['doing'] && ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); + } + node.closePath && !node.doing && ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=lines.js.map \ No newline at end of file +// # sourceMappingURL=lines.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.anchor.js index f32e0a9a7..32054811b 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.anchor.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.anchor.js @@ -1,9 +1,9 @@ -import { Point } from '../../models/point'; -import { Direction } from '../../models/direction'; -export function messageAnchors(node) { - node.anchors.push(new Point(node.rect.x, node.rect.y + (node.rect.height * 3) / 8, Direction.Left)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); - node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 3) / 8, Direction.Right)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 4, node.rect.ey, Direction.Bottom)); +import { Point } from '../../models/point' +import { Direction } from '../../models/direction' +export function messageAnchors (node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + (node.rect.height * 3) / 8, Direction.Left)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)) + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 3) / 8, Direction.Right)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 4, node.rect.ey, Direction.Bottom)) } -//# sourceMappingURL=message.anchor.js.map \ No newline at end of file +// # sourceMappingURL=message.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.js index deebcd0c9..9cd76032f 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.js @@ -1,14 +1,14 @@ -export function message(ctx, node) { - ctx.beginPath(); - ctx.moveTo(node.rect.x, node.rect.y); - ctx.lineTo(node.rect.x + node.rect.width, node.rect.y); - ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 3) / 4); - ctx.lineTo(node.rect.x + (node.rect.width * 8) / 16, node.rect.y + (node.rect.height * 3) / 4); - ctx.lineTo(node.rect.x + node.rect.width / 4, node.rect.ey); - ctx.lineTo(node.rect.x + (node.rect.width * 5) / 16, node.rect.y + (node.rect.height * 3) / 4); - ctx.lineTo(node.rect.x, node.rect.y + (node.rect.height * 3) / 4); - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function message (ctx, node) { + ctx.beginPath() + ctx.moveTo(node.rect.x, node.rect.y) + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y) + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 3) / 4) + ctx.lineTo(node.rect.x + (node.rect.width * 8) / 16, node.rect.y + (node.rect.height * 3) / 4) + ctx.lineTo(node.rect.x + node.rect.width / 4, node.rect.ey) + ctx.lineTo(node.rect.x + (node.rect.width * 5) / 16, node.rect.y + (node.rect.height * 3) / 4) + ctx.lineTo(node.rect.x, node.rect.y + (node.rect.height * 3) / 4) + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=message.js.map \ No newline at end of file +// # sourceMappingURL=message.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.rect.js index 2b9d5b98a..4843e5abd 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.rect.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/message.rect.js @@ -1,10 +1,10 @@ -import { Rect } from '../../models/rect'; -export function messageIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); - node.fullIconRect = node.iconRect; +import { Rect } from '../../models/rect' +export function messageIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) + node.fullIconRect = node.iconRect } -export function messageTextRect(node) { - node.textRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, (node.rect.height * 3) / 4 - node.paddingTopNum - node.paddingBottomNum); - node.fullTextRect = node.textRect; +export function messageTextRect (node) { + node.textRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, (node.rect.height * 3) / 4 - node.paddingTopNum - node.paddingBottomNum) + node.fullTextRect = node.textRect } -//# sourceMappingURL=message.rect.js.map \ No newline at end of file +// # sourceMappingURL=message.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.anchor.js index 22d18797d..b627bb9b7 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.anchor.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.anchor.js @@ -1,6 +1,6 @@ -import { Point } from '../../models/point'; -export function mindLineAnchors(node) { - node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height, 4)); - node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height, 2)); +import { Point } from '../../models/point' +export function mindLineAnchors (node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height, 4)) + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height, 2)) } -//# sourceMappingURL=mindLine.anchor.js.map \ No newline at end of file +// # sourceMappingURL=mindLine.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.js index 23811acd6..dd8a7a0ab 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindLine.js @@ -1,8 +1,8 @@ -export function mindLine(ctx, node) { - ctx.beginPath(); - ctx.moveTo(node.rect.x, node.rect.y + node.rect.height); - ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height); - ctx.closePath(); - ctx.stroke(); +export function mindLine (ctx, node) { + ctx.beginPath() + ctx.moveTo(node.rect.x, node.rect.y + node.rect.height) + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height) + ctx.closePath() + ctx.stroke() } -//# sourceMappingURL=mindLine.js.map \ No newline at end of file +// # sourceMappingURL=mindLine.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindNode.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindNode.anchor.js index f920a3577..a45b7c4e6 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindNode.anchor.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/mindNode.anchor.js @@ -1,94 +1,90 @@ -import { Point } from '../../models/point'; -import { Direction } from '../../models/direction'; -export function mindNodeAnchors(node) { - var r = borderRadius(node); - // 上四 - var topN = 5; // 上方节点个数,控制位置,实际节点数依然是 4 个 - for (var i = 0; i < topN; i++) { - if (i === 2) { - continue; - } - var x = node.rect.x + (node.rect.width * (i + 1)) / (topN + 1); - var y = node.rect.y; - if (x < node.rect.x + r) { - // 在左侧圆角 - y = getYByCircle(node.rect.x + r, y + r, x, r, -1); - } - else if (x > node.rect.x + node.rect.width - r) { - // 在右侧圆角 - y = getYByCircle(node.rect.x + node.rect.width - r, y + r, x, r, -1); - } - node.anchors.push(new Point(x, y, Direction.Up)); +import { Point } from '../../models/point' +import { Direction } from '../../models/direction' +export function mindNodeAnchors (node) { + const r = borderRadius(node) + // 上四 + const topN = 5 // 上方节点个数,控制位置,实际节点数依然是 4 个 + for (var i = 0; i < topN; i++) { + if (i === 2) { + continue } - // 右三 - var rightN = 3; // 右侧节点数 - for (var i = 0; i < rightN; i++) { - var y = node.rect.y + (node.rect.height * (i + 1)) / (rightN + 1); - var x = node.rect.x + node.rect.width; - if (y < node.rect.y + r) { - // 在上侧圆角以内 - x = getXByCircle(x - r, node.rect.y + r, y, r); - } - else if (y > node.rect.y + node.rect.height - r) { - // 下侧圆角 - x = getXByCircle(x - r, node.rect.y + node.rect.height - r, y, r); - } - node.anchors.push(new Point(x, y, Direction.Right)); + var x = node.rect.x + (node.rect.width * (i + 1)) / (topN + 1) + var y = node.rect.y + if (x < node.rect.x + r) { + // 在左侧圆角 + y = getYByCircle(node.rect.x + r, y + r, x, r, -1) + } else if (x > node.rect.x + node.rect.width - r) { + // 在右侧圆角 + y = getYByCircle(node.rect.x + node.rect.width - r, y + r, x, r, -1) } - // 下四 - var bottomN = 5; // 下侧节点数 - for (var i = 0; i < bottomN; i++) { - if (i === 2) { - continue; - } - var x = node.rect.x + (node.rect.width * (i + 1)) / (bottomN + 1); - var y = node.rect.y + node.rect.height; - if (x < node.rect.x + r) { - // 在左侧圆角 - y = getYByCircle(node.rect.x + r, y - r, x, r); - } - else if (x > node.rect.x + node.rect.width - r) { - // 在右侧圆角 - y = getYByCircle(node.rect.x + node.rect.width - r, y - r, x, r); - } - node.anchors.push(new Point(x, y, Direction.Bottom)); + node.anchors.push(new Point(x, y, Direction.Up)) + } + // 右三 + const rightN = 3 // 右侧节点数 + for (var i = 0; i < rightN; i++) { + var y = node.rect.y + (node.rect.height * (i + 1)) / (rightN + 1) + var x = node.rect.x + node.rect.width + if (y < node.rect.y + r) { + // 在上侧圆角以内 + x = getXByCircle(x - r, node.rect.y + r, y, r) + } else if (y > node.rect.y + node.rect.height - r) { + // 下侧圆角 + x = getXByCircle(x - r, node.rect.y + node.rect.height - r, y, r) } - // 左三 - var leftN = 3; // 左侧节点数 - for (var i = 0; i < leftN; i++) { - var y = node.rect.y + (node.rect.height * (i + 1)) / (leftN + 1); - var x = node.rect.x; - if (y < node.rect.y + r) { - // 在上侧圆角以内 - x = getXByCircle(x + r, node.rect.y + r, y, r, -1); - } - else if (y > node.rect.y + node.rect.height - r) { - // 下侧圆角 - x = getXByCircle(x + r, node.rect.y + node.rect.height - r, y, r, -1); - } - node.anchors.push(new Point(x, y, Direction.Left)); + node.anchors.push(new Point(x, y, Direction.Right)) + } + // 下四 + const bottomN = 5 // 下侧节点数 + for (var i = 0; i < bottomN; i++) { + if (i === 2) { + continue } + var x = node.rect.x + (node.rect.width * (i + 1)) / (bottomN + 1) + var y = node.rect.y + node.rect.height + if (x < node.rect.x + r) { + // 在左侧圆角 + y = getYByCircle(node.rect.x + r, y - r, x, r) + } else if (x > node.rect.x + node.rect.width - r) { + // 在右侧圆角 + y = getYByCircle(node.rect.x + node.rect.width - r, y - r, x, r) + } + node.anchors.push(new Point(x, y, Direction.Bottom)) + } + // 左三 + const leftN = 3 // 左侧节点数 + for (var i = 0; i < leftN; i++) { + var y = node.rect.y + (node.rect.height * (i + 1)) / (leftN + 1) + var x = node.rect.x + if (y < node.rect.y + r) { + // 在上侧圆角以内 + x = getXByCircle(x + r, node.rect.y + r, y, r, -1) + } else if (y > node.rect.y + node.rect.height - r) { + // 下侧圆角 + x = getXByCircle(x + r, node.rect.y + node.rect.height - r, y, r, -1) + } + node.anchors.push(new Point(x, y, Direction.Left)) + } } /** * 得到元素实际计算半径 * @param node 元素 * @returns 元素实际半径 */ -function borderRadius(node) { - var wr = node.borderRadius; - var hr = node.borderRadius; - if (node.borderRadius < 1) { - wr = node.rect.width * node.borderRadius; - hr = node.rect.height * node.borderRadius; - } - var r = wr < hr ? wr : hr; - if (node.rect.width < 2 * r) { - r = node.rect.width / 2; - } - if (node.rect.height < 2 * r) { - r = node.rect.height / 2; - } - return r; +function borderRadius (node) { + let wr = node.borderRadius + let hr = node.borderRadius + if (node.borderRadius < 1) { + wr = node.rect.width * node.borderRadius + hr = node.rect.height * node.borderRadius + } + let r = wr < hr ? wr : hr + if (node.rect.width < 2 * r) { + r = node.rect.width / 2 + } + if (node.rect.height < 2 * r) { + r = node.rect.height / 2 + } + return r } /** * 获取圆的 x 坐标 @@ -98,9 +94,9 @@ function borderRadius(node) { * @param r 半径 * @param sqrt 点可能在左侧,左侧填-1,右侧1(默认值) */ -function getXByCircle(ox, oy, y, r, sqrt) { - if (sqrt === void 0) { sqrt = 1; } - return sqrt * Math.sqrt(Math.pow(r, 2) - Math.pow((y - oy), 2)) + ox; +function getXByCircle (ox, oy, y, r, sqrt) { + if (sqrt === void 0) { sqrt = 1 } + return sqrt * Math.sqrt(Math.pow(r, 2) - Math.pow((y - oy), 2)) + ox } /** * 获取圆的 y 坐标 @@ -110,8 +106,8 @@ function getXByCircle(ox, oy, y, r, sqrt) { * @param r 半径 * @param sqrt 点可以在上侧,也可能在下侧,上侧-1,下侧1(默认) */ -function getYByCircle(ox, oy, x, r, sqrt) { - if (sqrt === void 0) { sqrt = 1; } - return sqrt * Math.sqrt(Math.pow(r, 2) - Math.pow((x - ox), 2)) + oy; +function getYByCircle (ox, oy, x, r, sqrt) { + if (sqrt === void 0) { sqrt = 1 } + return sqrt * Math.sqrt(Math.pow(r, 2) - Math.pow((x - ox), 2)) + oy } -//# sourceMappingURL=mindNode.anchor.js.map \ No newline at end of file +// # sourceMappingURL=mindNode.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.anchor.js index 713c6fb50..71fe63a7a 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.anchor.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.anchor.js @@ -1,10 +1,10 @@ -import { Point } from '../../models/point'; -import { Direction } from '../../models/direction'; -export function pentagonAnchors(node) { - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); - node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 2) / 5, Direction.Right)); - node.anchors.push(new Point(node.rect.x + (node.rect.width * 4) / 5, node.rect.y + node.rect.height, Direction.Bottom)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 5, node.rect.y + node.rect.height, Direction.Bottom)); - node.anchors.push(new Point(node.rect.x, node.rect.y + (node.rect.height * 2) / 5, Direction.Left)); +import { Point } from '../../models/point' +import { Direction } from '../../models/direction' +export function pentagonAnchors (node) { + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)) + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 2) / 5, Direction.Right)) + node.anchors.push(new Point(node.rect.x + (node.rect.width * 4) / 5, node.rect.y + node.rect.height, Direction.Bottom)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 5, node.rect.y + node.rect.height, Direction.Bottom)) + node.anchors.push(new Point(node.rect.x, node.rect.y + (node.rect.height * 2) / 5, Direction.Left)) } -//# sourceMappingURL=pentagon.anchor.js.map \ No newline at end of file +// # sourceMappingURL=pentagon.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.js index 538d9aac5..821d0dfaf 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.js @@ -1,12 +1,12 @@ -export function pentagon(ctx, node) { - ctx.beginPath(); - ctx.moveTo(node.rect.x + node.rect.width / 2, node.rect.y); - ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 2) / 5); - ctx.lineTo(node.rect.x + (node.rect.width * 4) / 5, node.rect.y + node.rect.height); - ctx.lineTo(node.rect.x + node.rect.width / 5, node.rect.y + node.rect.height); - ctx.lineTo(node.rect.x, node.rect.y + (node.rect.height * 2) / 5); - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function pentagon (ctx, node) { + ctx.beginPath() + ctx.moveTo(node.rect.x + node.rect.width / 2, node.rect.y) + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + (node.rect.height * 2) / 5) + ctx.lineTo(node.rect.x + (node.rect.width * 4) / 5, node.rect.y + node.rect.height) + ctx.lineTo(node.rect.x + node.rect.width / 5, node.rect.y + node.rect.height) + ctx.lineTo(node.rect.x, node.rect.y + (node.rect.height * 2) / 5) + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=pentagon.js.map \ No newline at end of file +// # sourceMappingURL=pentagon.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.rect.js index b75134f9e..c7095b54e 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.rect.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagon.rect.js @@ -1,23 +1,22 @@ -import { Rect } from '../../models/rect'; -export function pentagonIconRect(node) { - var w = node.rect.width / 2; - var h = node.rect.height / 2; - if (w > h) { - w = h; - } - else { - h = w; - } - var top = node.rect.height / 7; - if (top < 10) { - top = 10; - } - node.iconRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + top, w, h); +import { Rect } from '../../models/rect' +export function pentagonIconRect (node) { + let w = node.rect.width / 2 + let h = node.rect.height / 2 + if (w > h) { + w = h + } else { + h = w + } + let top = node.rect.height / 7 + if (top < 10) { + top = 10 + } + node.iconRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + top, w, h) } -export function pentagonTextRect(node) { - node.textRect = new Rect(node.rect.x + node.rect.width / 5, node.rect.y + (node.rect.height * 5) / 7, (node.rect.width * 3) / 5, node.rect.height / 4); - var w = (node.rect.width * 3) / 5; - var h = (node.rect.height * 3) / 5; - node.fullTextRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + node.rect.height / 4, w, h); +export function pentagonTextRect (node) { + node.textRect = new Rect(node.rect.x + node.rect.width / 5, node.rect.y + (node.rect.height * 5) / 7, (node.rect.width * 3) / 5, node.rect.height / 4) + const w = (node.rect.width * 3) / 5 + const h = (node.rect.height * 3) / 5 + node.fullTextRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + node.rect.height / 4, w, h) } -//# sourceMappingURL=pentagon.rect.js.map \ No newline at end of file +// # sourceMappingURL=pentagon.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.anchor.js index 5de2f411b..ccae46c9b 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.anchor.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.anchor.js @@ -1,10 +1,10 @@ -import { Point } from '../../models/point'; -import { Direction } from '../../models/direction'; -export function pentagramAnchors(node) { - node.anchors.push(new Point((Math.cos((18 / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin((18 / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2, Direction.Right)); - node.anchors.push(new Point((Math.cos(((18 + 72) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin(((18 + 72) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2, Direction.Up)); - node.anchors.push(new Point((Math.cos(((18 + 72 * 2) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin(((18 + 72 * 2) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2, Direction.Left)); - node.anchors.push(new Point((Math.cos(((18 + 72 * 3) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin(((18 + 72 * 3) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2, Direction.Bottom)); - node.anchors.push(new Point((Math.cos(((18 + 72 * 4) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin(((18 + 72 * 4) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2, Direction.Bottom)); +import { Point } from '../../models/point' +import { Direction } from '../../models/direction' +export function pentagramAnchors (node) { + node.anchors.push(new Point((Math.cos((18 / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin((18 / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2, Direction.Right)) + node.anchors.push(new Point((Math.cos(((18 + 72) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin(((18 + 72) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2, Direction.Up)) + node.anchors.push(new Point((Math.cos(((18 + 72 * 2) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin(((18 + 72 * 2) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2, Direction.Left)) + node.anchors.push(new Point((Math.cos(((18 + 72 * 3) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin(((18 + 72 * 3) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2, Direction.Bottom)) + node.anchors.push(new Point((Math.cos(((18 + 72 * 4) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin(((18 + 72 * 4) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2, Direction.Bottom)) } -//# sourceMappingURL=pentagram.anchor.js.map \ No newline at end of file +// # sourceMappingURL=pentagram.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.js index 2a7ac580d..92ba1285e 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.js @@ -1,11 +1,11 @@ -export function pentagram(ctx, node) { - ctx.beginPath(); - for (var i = 0; i < 5; ++i) { - ctx.lineTo((Math.cos(((18 + 72 * i) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin(((18 + 72 * i) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2); - ctx.lineTo((Math.cos(((54 + 72 * i) / 180) * Math.PI) * node.rect.width) / 4 + node.rect.x + node.rect.width / 2, (-Math.sin(((54 + 72 * i) / 180) * Math.PI) * node.rect.width) / 4 + node.rect.y + node.rect.height / 2); - } - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function pentagram (ctx, node) { + ctx.beginPath() + for (let i = 0; i < 5; ++i) { + ctx.lineTo((Math.cos(((18 + 72 * i) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.x + node.rect.width / 2, (-Math.sin(((18 + 72 * i) / 180) * Math.PI) * node.rect.width) / 2 + node.rect.y + node.rect.height / 2) + ctx.lineTo((Math.cos(((54 + 72 * i) / 180) * Math.PI) * node.rect.width) / 4 + node.rect.x + node.rect.width / 2, (-Math.sin(((54 + 72 * i) / 180) * Math.PI) * node.rect.width) / 4 + node.rect.y + node.rect.height / 2) + } + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=pentagram.js.map \ No newline at end of file +// # sourceMappingURL=pentagram.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.rect.js index f985a33cf..19cf6717f 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.rect.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/pentagram.rect.js @@ -1,11 +1,11 @@ -import { Rect } from '../../models/rect'; -export function pentagramIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '../../models/rect' +export function pentagramIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function pentagramTextRect(node) { - var w = (node.rect.width * 2) / 5; - var h = (node.rect.height * 2) / 5; - node.fullTextRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + (node.rect.height - h) / 2, w, h); - node.textRect = node.fullTextRect; +export function pentagramTextRect (node) { + const w = (node.rect.width * 2) / 5 + const h = (node.rect.height * 2) / 5 + node.fullTextRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + (node.rect.height - h) / 2, w, h) + node.textRect = node.fullTextRect } -//# sourceMappingURL=pentagram.rect.js.map \ No newline at end of file +// # sourceMappingURL=pentagram.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.js index a39937bf4..3bd20d427 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.js @@ -1,17 +1,17 @@ -export function people(ctx, node) { - ctx.beginPath(); - var r = node.rect.width / 4; - var middle = node.rect.x + node.rect.width / 2; - ctx.arc(middle, node.rect.y + r, r, 0, Math.PI * 2); - ctx.moveTo(node.rect.x, node.rect.y + r * 3); - ctx.lineTo(node.rect.ex, node.rect.y + r * 3); - ctx.moveTo(middle, node.rect.y + r * 2); - ctx.lineTo(middle, node.rect.y + r * 4); - ctx.moveTo(middle, node.rect.y + r * 4); - ctx.lineTo(node.rect.x, node.rect.ey); - ctx.moveTo(middle, node.rect.y + r * 4); - ctx.lineTo(node.rect.ex, node.rect.ey); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function people (ctx, node) { + ctx.beginPath() + const r = node.rect.width / 4 + const middle = node.rect.x + node.rect.width / 2 + ctx.arc(middle, node.rect.y + r, r, 0, Math.PI * 2) + ctx.moveTo(node.rect.x, node.rect.y + r * 3) + ctx.lineTo(node.rect.ex, node.rect.y + r * 3) + ctx.moveTo(middle, node.rect.y + r * 2) + ctx.lineTo(middle, node.rect.y + r * 4) + ctx.moveTo(middle, node.rect.y + r * 4) + ctx.lineTo(node.rect.x, node.rect.ey) + ctx.moveTo(middle, node.rect.y + r * 4) + ctx.lineTo(node.rect.ex, node.rect.ey); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=people.js.map \ No newline at end of file +// # sourceMappingURL=people.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.rect.js index 47f39856f..9c64d5d23 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.rect.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/people.rect.js @@ -1,9 +1,9 @@ -import { Rect } from '../../models/rect'; -export function peopleIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '../../models/rect' +export function peopleIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function peopleTextRect(node) { - node.textRect = undefined; - node.fullTextRect = node.textRect; +export function peopleTextRect (node) { + node.textRect = undefined + node.fullTextRect = node.textRect } -//# sourceMappingURL=people.rect.js.map \ No newline at end of file +// # sourceMappingURL=people.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.js index 67054433b..efc8c7b12 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.js @@ -1,25 +1,25 @@ -export function rectangle(ctx, node) { - var wr = node.borderRadius; - var hr = node.borderRadius; - if (node.borderRadius < 1) { - wr = node.rect.width * node.borderRadius; - hr = node.rect.height * node.borderRadius; - } - var r = wr < hr ? wr : hr; - if (node.rect.width < 2 * r) { - r = node.rect.width / 2; - } - if (node.rect.height < 2 * r) { - r = node.rect.height / 2; - } - ctx.beginPath(); - ctx.moveTo(node.rect.x + r, node.rect.y); - ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r); - ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r); - ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r); - ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r); - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function rectangle (ctx, node) { + let wr = node.borderRadius + let hr = node.borderRadius + if (node.borderRadius < 1) { + wr = node.rect.width * node.borderRadius + hr = node.rect.height * node.borderRadius + } + let r = wr < hr ? wr : hr + if (node.rect.width < 2 * r) { + r = node.rect.width / 2 + } + if (node.rect.height < 2 * r) { + r = node.rect.height / 2 + } + ctx.beginPath() + ctx.moveTo(node.rect.x + r, node.rect.y) + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + node.rect.height, r) + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height, node.rect.x, node.rect.y + node.rect.height, r) + ctx.arcTo(node.rect.x, node.rect.y + node.rect.height, node.rect.x, node.rect.y, r) + ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r) + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=rectangle.js.map \ No newline at end of file +// # sourceMappingURL=rectangle.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.rect.js index baa8a5016..2d96c2ab5 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.rect.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/rectangle.rect.js @@ -1,11 +1,11 @@ -import { Rect } from '../../models/rect'; -export function rectangleIconRect(node) { - node.iconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum); - node.fullIconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum); +import { Rect } from '../../models/rect' +export function rectangleIconRect (node) { + node.iconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum) + node.fullIconRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, node.rect.height - node.paddingTopNum - node.paddingBottomNum) } -export function rectangleTextRect(node) { - var height = node.rect.height - node.paddingTopNum - node.paddingBottomNum; - node.textRect = new Rect(node.rect.x + node.paddingLeftNum + height, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum - height, height); - node.fullTextRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, height); +export function rectangleTextRect (node) { + const height = node.rect.height - node.paddingTopNum - node.paddingBottomNum + node.textRect = new Rect(node.rect.x + node.paddingLeftNum + height, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum - height, height) + node.fullTextRect = new Rect(node.rect.x + node.paddingLeftNum, node.rect.y + node.paddingTopNum, node.rect.width - node.paddingLeftNum - node.paddingRightNum, height) } -//# sourceMappingURL=rectangle.rect.js.map \ No newline at end of file +// # sourceMappingURL=rectangle.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/text.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/text.js index 67ffcf9d2..9ba5ac339 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/text.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/text.js @@ -1,270 +1,263 @@ -import { Store } from 'le5le-store'; +import { Store } from 'le5le-store' // getWords: Get the word array from text. A single Chinese character is a word. -export function getWords(txt) { - var words = []; - var word = ''; - if (!txt) { - txt = ''; +export function getWords (txt) { + const words = [] + let word = '' + if (!txt) { + txt = '' + } + for (let i = 0; i < txt.length; ++i) { + const ch = txt.charCodeAt(i) + if (ch < 33 || ch > 126) { + if (word) { + words.push(word) + word = '' + } + words.push(txt[i]) + continue + } else { + word += txt[i] } - for (var i = 0; i < txt.length; ++i) { - var ch = txt.charCodeAt(i); - if (ch < 33 || ch > 126) { - if (word) { - words.push(word); - word = ''; - } - words.push(txt[i]); - continue; - } - else { - word += txt[i]; - } - } - if (word) { - words.push(word); - } - return words; + } + if (word) { + words.push(word) + } + return words } // getWrapLines: Get the lines by wrap. // words - the word array of text, to avoid spliting a word. // maxWidth - the max width of the rect. -export function getWrapLines(ctx, words, maxWidth, fontSize) { - var lines = []; - var currentLine = words[0] || ''; - for (var i = 1; i < words.length; ++i) { - var word = words[i] || ''; - var text_1 = currentLine + word; - var chinese = text_1.match(/[\u4e00-\u9fa5]/g) || ''; - var chineseLen = chinese.length; - if ((text_1.length - chineseLen) * fontSize * 0.5 + chineseLen * fontSize < maxWidth) { - currentLine += word; - } - else { - lines.push(currentLine); - currentLine = word; - } +export function getWrapLines (ctx, words, maxWidth, fontSize) { + const lines = [] + let currentLine = words[0] || '' + for (let i = 1; i < words.length; ++i) { + const word = words[i] || '' + const text_1 = currentLine + word + const chinese = text_1.match(/[\u4e00-\u9fa5]/g) || '' + const chineseLen = chinese.length + if ((text_1.length - chineseLen) * fontSize * 0.5 + chineseLen * fontSize < maxWidth) { + currentLine += word + } else { + lines.push(currentLine) + currentLine = word } - lines.push(currentLine); - return lines; + } + lines.push(currentLine) + return lines } -export function getLines(ctx, pen) { - if (pen.text && !pen.text.split) { - pen.text += ''; - } - var lines = []; - switch (pen.whiteSpace) { - case 'nowrap': - lines.push(pen.text); - break; - case 'pre-line': - lines = pen.text.split(/[\n]/g); - break; - default: - var textRect = pen.getTextRect(); - var paragraphs = pen.text.split(/[\n]/g); - for (var i = 0; i < paragraphs.length; ++i) { - var l = getWrapLines(ctx, getWords(paragraphs[i]), textRect.width, pen.fontSize); - lines.push.apply(lines, l); - } - break; - } - return lines; +export function getLines (ctx, pen) { + if (pen.text && !pen.text.split) { + pen.text += '' + } + let lines = [] + switch (pen.whiteSpace) { + case 'nowrap': + lines.push(pen.text) + break + case 'pre-line': + lines = pen.text.split(/[\n]/g) + break + default: + var textRect = pen.getTextRect() + var paragraphs = pen.text.split(/[\n]/g) + for (let i = 0; i < paragraphs.length; ++i) { + const l = getWrapLines(ctx, getWords(paragraphs[i]), textRect.width, pen.fontSize) + lines.push.apply(lines, l) + } + break + } + return lines } -export function calcTextRect(ctx, pen) { - var lines = getLines(ctx, pen); - var width = 0; - for (var _i = 0, lines_1 = lines; _i < lines_1.length; _i++) { - var item = lines_1[_i]; - ctx.font = (pen.fontStyle || 'normal') + " normal " + (pen.fontWeight || 'normal') + " " + pen.fontSize + "px/" + pen.lineHeight + " " + pen.fontFamily; - var r = ctx.measureText(item); - var w = r.width; - if (w > width) { - width = w; - } +export function calcTextRect (ctx, pen) { + const lines = getLines(ctx, pen) + let width = 0 + for (let _i = 0, lines_1 = lines; _i < lines_1.length; _i++) { + const item = lines_1[_i] + ctx.font = (pen.fontStyle || 'normal') + ' normal ' + (pen.fontWeight || 'normal') + ' ' + pen.fontSize + 'px/' + pen.lineHeight + ' ' + pen.fontFamily + const r = ctx.measureText(item) + const w = r.width + if (w > width) { + width = w } - return { - width: width, - height: lines.length * pen.fontSize * pen.lineHeight, - }; + } + return { + width: width, + height: lines.length * pen.fontSize * pen.lineHeight + } } -function textBk(ctx, str, x, y, height, color) { - if (!str || !color) { - return; - } - var w = ctx.measureText(str).width; - ctx.save(); - ctx.fillStyle = color; - var l = x - w / 2; - var t = y - height / 2; - switch (ctx.textAlign) { - case 'left': - l = x; - break; - case 'right': - l = x - w; - break; - } - switch (ctx.textBaseline) { - case 'top': - t = y; - break; - case 'bottom': - t = y - height; - break; - } - ctx.fillRect(l, t, w, height); - ctx.restore(); +function textBk (ctx, str, x, y, height, color) { + if (!str || !color) { + return + } + const w = ctx.measureText(str).width + ctx.save() + ctx.fillStyle = color + let l = x - w / 2 + let t = y - height / 2 + switch (ctx.textAlign) { + case 'left': + l = x + break + case 'right': + l = x - w + break + } + switch (ctx.textBaseline) { + case 'top': + t = y + break + case 'bottom': + t = y - height + break + } + ctx.fillRect(l, t, w, height) + ctx.restore() } -export function fillText(ctx, lines, x, y, width, height, lineHeight, maxLineLen, bk) { - if (!maxLineLen || maxLineLen > lines.length) { - maxLineLen = lines.length; +export function fillText (ctx, lines, x, y, width, height, lineHeight, maxLineLen, bk) { + if (!maxLineLen || maxLineLen > lines.length) { + maxLineLen = lines.length + } else { + maxLineLen = Math.ceil(maxLineLen) + } + for (let i = 0; i < maxLineLen - 1; ++i) { + if (bk) { + textBk(ctx, lines[i], x, y + i * lineHeight, lineHeight, bk) } - else { - maxLineLen = Math.ceil(maxLineLen); + ctx.fillText(lines[i], x, y + i * lineHeight) + } + if (maxLineLen < lines.length) { + let str = (lines[maxLineLen - 1] || '') + '...' + if (lines[maxLineLen - 1] && ctx.measureText(str).width > width) { + str = lines[maxLineLen - 1].substr(0, lines[maxLineLen - 1].length - 2) + '...' } - for (var i = 0; i < maxLineLen - 1; ++i) { - if (bk) { - textBk(ctx, lines[i], x, y + i * lineHeight, lineHeight, bk); - } - ctx.fillText(lines[i], x, y + i * lineHeight); + if (bk) { + textBk(ctx, str, x, y + (maxLineLen - 1) * lineHeight, lineHeight, bk) } - if (maxLineLen < lines.length) { - var str = (lines[maxLineLen - 1] || '') + '...'; - if (lines[maxLineLen - 1] && ctx.measureText(str).width > width) { - str = lines[maxLineLen - 1].substr(0, lines[maxLineLen - 1].length - 2) + '...'; - } - if (bk) { - textBk(ctx, str, x, y + (maxLineLen - 1) * lineHeight, lineHeight, bk); - } - ctx.fillText(str, x, y + (maxLineLen - 1) * lineHeight); - } - else { - if (bk) { - textBk(ctx, lines[maxLineLen - 1], x, y + (maxLineLen - 1) * lineHeight, lineHeight, bk); - } - ctx.fillText(lines[maxLineLen - 1], x, y + (maxLineLen - 1) * lineHeight); + ctx.fillText(str, x, y + (maxLineLen - 1) * lineHeight) + } else { + if (bk) { + textBk(ctx, lines[maxLineLen - 1], x, y + (maxLineLen - 1) * lineHeight, lineHeight, bk) } + ctx.fillText(lines[maxLineLen - 1], x, y + (maxLineLen - 1) * lineHeight) + } } -export function text(ctx, node) { - if (!node.text) { - return; - } - if (!node.text.split) { - node.text += ''; - } - ctx.save(); - ctx.beginPath(); - delete ctx.shadowColor; - delete ctx.shadowBlur; - ctx.font = (node.fontStyle || 'normal') + " normal " + (node.fontWeight || 'normal') + " " + node.fontSize + "px/" + node.lineHeight + " " + node.fontFamily; - if (node.fontColor) { - ctx.fillStyle = node.fontColor; - } - else { - ctx.fillStyle = Store.get(node.generateStoreKey('LT:fontColor')); - } - if (node.textAlign) { - ctx.textAlign = node.textAlign; - } - if (node.textBaseline) { - ctx.textBaseline = node.textBaseline; - } - var textRect = node.getTextRect(); - if (!textRect) { - ctx.restore(); - return; - } - var lines = getLines(ctx, node); - var lineHeight = node.fontSize * node.lineHeight; - var maxLineLen = node.textMaxLine > 0 && node.textMaxLine < lines.length ? node.textMaxLine : lines.length; - // By default, the text is center aligned. - var x = textRect.x + textRect.width / 2; - var y = textRect.y + (textRect.height - lineHeight * maxLineLen) / 2 + (lineHeight * 4) / 7; - switch (ctx.textAlign) { - case 'left': - x = textRect.x; - break; - case 'right': - x = textRect.x + textRect.width; - break; - } - switch (ctx.textBaseline) { - case 'top': - y = textRect.y + (lineHeight - node.fontSize) / 2; - break; - case 'bottom': - y = textRect.ey - lineHeight * maxLineLen + lineHeight; - break; - } - fillText(ctx, lines, x + node.textOffsetX, y + node.textOffsetY, textRect.width, textRect.height, lineHeight, maxLineLen, node.textBackground); - ctx.restore(); +export function text (ctx, node) { + if (!node.text) { + return + } + if (!node.text.split) { + node.text += '' + } + ctx.save() + ctx.beginPath() + delete ctx.shadowColor + delete ctx.shadowBlur + ctx.font = (node.fontStyle || 'normal') + ' normal ' + (node.fontWeight || 'normal') + ' ' + node.fontSize + 'px/' + node.lineHeight + ' ' + node.fontFamily + if (node.fontColor) { + ctx.fillStyle = node.fontColor + } else { + ctx.fillStyle = Store.get(node.generateStoreKey('LT:fontColor')) + } + if (node.textAlign) { + ctx.textAlign = node.textAlign + } + if (node.textBaseline) { + ctx.textBaseline = node.textBaseline + } + const textRect = node.getTextRect() + if (!textRect) { + ctx.restore() + return + } + const lines = getLines(ctx, node) + const lineHeight = node.fontSize * node.lineHeight + const maxLineLen = node.textMaxLine > 0 && node.textMaxLine < lines.length ? node.textMaxLine : lines.length + // By default, the text is center aligned. + let x = textRect.x + textRect.width / 2 + let y = textRect.y + (textRect.height - lineHeight * maxLineLen) / 2 + (lineHeight * 4) / 7 + switch (ctx.textAlign) { + case 'left': + x = textRect.x + break + case 'right': + x = textRect.x + textRect.width + break + } + switch (ctx.textBaseline) { + case 'top': + y = textRect.y + (lineHeight - node.fontSize) / 2 + break + case 'bottom': + y = textRect.ey - lineHeight * maxLineLen + lineHeight + break + } + fillText(ctx, lines, x + node.textOffsetX, y + node.textOffsetY, textRect.width, textRect.height, lineHeight, maxLineLen, node.textBackground) + ctx.restore() } -export function iconfont(ctx, node) { - ctx.save(); - ctx.textAlign = 'center'; - ctx.textBaseline = 'middle'; - var iconRect = node.getIconRect(); - var x = iconRect.x + iconRect.width / 2; - var y = iconRect.y + iconRect.height / 2; - switch (node.imageAlign) { - case 'top': - y = iconRect.y; - ctx.textBaseline = 'top'; - break; - case 'bottom': - y = iconRect.ey; - ctx.textBaseline = 'bottom'; - break; - case 'left': - x = iconRect.x; - ctx.textAlign = 'left'; - break; - case 'right': - x = iconRect.ex; - ctx.textAlign = 'right'; - break; - case 'left-top': - x = iconRect.x; - y = iconRect.y; - ctx.textAlign = 'left'; - ctx.textBaseline = 'top'; - break; - case 'right-top': - x = iconRect.ex; - y = iconRect.y; - ctx.textAlign = 'right'; - ctx.textBaseline = 'top'; - break; - case 'left-bottom': - x = iconRect.x; - y = iconRect.ey; - ctx.textAlign = 'left'; - ctx.textBaseline = 'bottom'; - break; - case 'right-bottom': - x = iconRect.ex; - y = iconRect.ey; - ctx.textAlign = 'right'; - ctx.textBaseline = 'bottom'; - break; - } - if (node.iconSize > 0) { - ctx.font = node.iconSize + "px " + node.iconFamily; - } - else if (iconRect.width > iconRect.height) { - ctx.font = iconRect.height + "px " + node.iconFamily; - } - else { - ctx.font = iconRect.width + "px " + node.iconFamily; - } - ctx.fillStyle = node.iconColor || Store.get(node.generateStoreKey('LT:iconColor')) || node.fontColor; - if (node.iconRotate) { - ctx.translate(iconRect.center.x, iconRect.center.y); - ctx.rotate((node.iconRotate * Math.PI) / 180); - ctx.translate(-iconRect.center.x, -iconRect.center.y); - } - ctx.beginPath(); - ctx.fillText(node.icon, x, y); - ctx.restore(); +export function iconfont (ctx, node) { + ctx.save() + ctx.textAlign = 'center' + ctx.textBaseline = 'middle' + const iconRect = node.getIconRect() + let x = iconRect.x + iconRect.width / 2 + let y = iconRect.y + iconRect.height / 2 + switch (node.imageAlign) { + case 'top': + y = iconRect.y + ctx.textBaseline = 'top' + break + case 'bottom': + y = iconRect.ey + ctx.textBaseline = 'bottom' + break + case 'left': + x = iconRect.x + ctx.textAlign = 'left' + break + case 'right': + x = iconRect.ex + ctx.textAlign = 'right' + break + case 'left-top': + x = iconRect.x + y = iconRect.y + ctx.textAlign = 'left' + ctx.textBaseline = 'top' + break + case 'right-top': + x = iconRect.ex + y = iconRect.y + ctx.textAlign = 'right' + ctx.textBaseline = 'top' + break + case 'left-bottom': + x = iconRect.x + y = iconRect.ey + ctx.textAlign = 'left' + ctx.textBaseline = 'bottom' + break + case 'right-bottom': + x = iconRect.ex + y = iconRect.ey + ctx.textAlign = 'right' + ctx.textBaseline = 'bottom' + break + } + if (node.iconSize > 0) { + ctx.font = node.iconSize + 'px ' + node.iconFamily + } else if (iconRect.width > iconRect.height) { + ctx.font = iconRect.height + 'px ' + node.iconFamily + } else { + ctx.font = iconRect.width + 'px ' + node.iconFamily + } + ctx.fillStyle = node.iconColor || Store.get(node.generateStoreKey('LT:iconColor')) || node.fontColor + if (node.iconRotate) { + ctx.translate(iconRect.center.x, iconRect.center.y) + ctx.rotate((node.iconRotate * Math.PI) / 180) + ctx.translate(-iconRect.center.x, -iconRect.center.y) + } + ctx.beginPath() + ctx.fillText(node.icon, x, y) + ctx.restore() } -//# sourceMappingURL=text.js.map \ No newline at end of file +// # sourceMappingURL=text.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.anchor.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.anchor.js index dcaacda06..d381ba798 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.anchor.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.anchor.js @@ -1,9 +1,9 @@ -import { Point } from '../../models/point'; -import { Direction } from '../../models/direction'; -export function triangleAnchors(node) { - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); - node.anchors.push(new Point(node.rect.x + (node.rect.width * 3) / 4, node.rect.y + node.rect.height / 2, Direction.Right)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 4, node.rect.y + node.rect.height / 2, Direction.Left)); +import { Point } from '../../models/point' +import { Direction } from '../../models/direction' +export function triangleAnchors (node) { + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)) + node.anchors.push(new Point(node.rect.x + (node.rect.width * 3) / 4, node.rect.y + node.rect.height / 2, Direction.Right)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 4, node.rect.y + node.rect.height / 2, Direction.Left)) } -//# sourceMappingURL=triangle.anchor.js.map \ No newline at end of file +// # sourceMappingURL=triangle.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.js index c0aceff4d..9fd8ab104 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.js @@ -1,10 +1,10 @@ -export function triangle(ctx, node) { - ctx.beginPath(); - ctx.moveTo(node.rect.x + node.rect.width / 2, node.rect.y); - ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height); - ctx.lineTo(node.rect.x, node.rect.y + node.rect.height); - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function triangle (ctx, node) { + ctx.beginPath() + ctx.moveTo(node.rect.x + node.rect.width / 2, node.rect.y) + ctx.lineTo(node.rect.x + node.rect.width, node.rect.y + node.rect.height) + ctx.lineTo(node.rect.x, node.rect.y + node.rect.height) + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=triangle.js.map \ No newline at end of file +// # sourceMappingURL=triangle.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.rect.js b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.rect.js index e79993fbf..48c0c62fa 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.rect.js +++ b/nezha-fronted/src/components/common/@topology/core/src/middles/nodes/triangle.rect.js @@ -1,23 +1,22 @@ -import { Rect } from '../../models/rect'; -export function triangleIconRect(node) { - var w = (node.rect.width * 2) / 7; - var h = (node.rect.height * 2) / 7; - if (w > h) { - w = h; - } - else { - h = w; - } - var top = w; - if (top < 10) { - top = 10; - } - node.iconRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + top, w, h); +import { Rect } from '../../models/rect' +export function triangleIconRect (node) { + let w = (node.rect.width * 2) / 7 + let h = (node.rect.height * 2) / 7 + if (w > h) { + w = h + } else { + h = w + } + let top = w + if (top < 10) { + top = 10 + } + node.iconRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + top, w, h) } -export function triangleTextRect(node) { - node.textRect = new Rect(node.rect.x + node.rect.width / 4, node.rect.y + (node.rect.height * 2) / 3, node.rect.width / 2, node.rect.height / 3 - 5); - var w = node.rect.width / 2; - var h = (node.rect.height * 3) / 7; - node.fullTextRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + node.rect.height / 2 - 5, w, h); +export function triangleTextRect (node) { + node.textRect = new Rect(node.rect.x + node.rect.width / 4, node.rect.y + (node.rect.height * 2) / 3, node.rect.width / 2, node.rect.height / 3 - 5) + const w = node.rect.width / 2 + const h = (node.rect.height * 3) / 7 + node.fullTextRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + node.rect.height / 2 - 5, w, h) } -//# sourceMappingURL=triangle.rect.js.map \ No newline at end of file +// # sourceMappingURL=triangle.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/data.js b/nezha-fronted/src/components/common/@topology/core/src/models/data.js index 666317851..059aa54a9 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/models/data.js +++ b/nezha-fronted/src/components/common/@topology/core/src/models/data.js @@ -1,67 +1,64 @@ -import { Node } from './node'; -import { Line } from './line'; -import { Lock } from './status'; -import { s8 } from '../utils'; -import { Store } from 'le5le-store'; -import { Rect } from './rect'; -export function createData(json, tid) { - var data = { - pens: [], - lineName: 'curve', - fromArrow: '', - toArrow: 'triangleSolid', - scale: 1, - locked: Lock.None, - x: 0, - y: 0, - }; - if (typeof json === 'string') { - json = JSON.parse(json); +import { Node } from './node' +import { Line } from './line' +import { Lock } from './status' +import { s8 } from '../utils' +import { Store } from 'le5le-store' +import { Rect } from './rect' +export function createData (json, tid) { + let data = { + pens: [], + lineName: 'curve', + fromArrow: '', + toArrow: 'triangleSolid', + scale: 1, + locked: Lock.None, + x: 0, + y: 0 + } + if (typeof json === 'string') { + json = JSON.parse(json) + } + data = Object.assign(data, json) + data.pens = [] + if (json) { + // for old data. + if (json.nodes) { + for (let _i = 0, _a = json.nodes; _i < _a.length; _i++) { + var item = _a[_i] + item.TID = tid + data.pens.push(new Node(item)) + } + for (let _b = 0, _c = json.lines; _b < _c.length; _b++) { + var item = _c[_b] + item.TID = tid + data.pens.push(new Line(item)) + } } - data = Object.assign(data, json); - data.pens = []; - if (json) { - // for old data. - if (json.nodes) { - for (var _i = 0, _a = json.nodes; _i < _a.length; _i++) { - var item = _a[_i]; - item.TID = tid; - data.pens.push(new Node(item)); - } - for (var _b = 0, _c = json.lines; _b < _c.length; _b++) { - var item = _c[_b]; - item.TID = tid; - data.pens.push(new Line(item)); - } - } - // end. - json.pens && json.pens.forEach(function (item) { - tid && (item.TID = tid); - if (!item.type) { - data.pens.push(new Node(item)); - } - else { - data.pens.push(new Line(item)); - } - }); - if (json.bkImageRect) { - data.bkImageRect = new Rect(json.bkImageRect.x, json.bkImageRect.y, json.bkImageRect.width, json.bkImageRect.height); - } + // end. + json.pens && json.pens.forEach(function (item) { + tid && (item.TID = tid) + if (!item.type) { + data.pens.push(new Node(item)) + } else { + data.pens.push(new Line(item)) + } + }) + if (json.bkImageRect) { + data.bkImageRect = new Rect(json.bkImageRect.x, json.bkImageRect.y, json.bkImageRect.width, json.bkImageRect.height) } - if (data.mqttOptions) { - var opts = ''; - if (typeof data.mqttOptions === 'object') { - opts = JSON.stringify(data.mqttOptions); - } - else { - opts = data.mqttOptions + ''; - } - data.mqttOptions = JSON.parse(opts); + } + if (data.mqttOptions) { + let opts = '' + if (typeof data.mqttOptions === 'object') { + opts = JSON.stringify(data.mqttOptions) + } else { + opts = data.mqttOptions + '' } - else { - data.mqttOptions = { clientId: s8() }; - } - tid && Store.set(tid + '-topology-data', data); - return data; + data.mqttOptions = JSON.parse(opts) + } else { + data.mqttOptions = { clientId: s8() } + } + tid && Store.set(tid + '-topology-data', data) + return data } -//# sourceMappingURL=data.js.map +// # sourceMappingURL=data.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/direction.js b/nezha-fronted/src/components/common/@topology/core/src/models/direction.js index 04a70a714..2359c5b30 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/models/direction.js +++ b/nezha-fronted/src/components/common/@topology/core/src/models/direction.js @@ -1,9 +1,9 @@ export var Direction; (function (Direction) { - Direction[Direction["None"] = 0] = "None"; - Direction[Direction["Up"] = 1] = "Up"; - Direction[Direction["Right"] = 2] = "Right"; - Direction[Direction["Bottom"] = 3] = "Bottom"; - Direction[Direction["Left"] = 4] = "Left"; -})(Direction || (Direction = {})); -//# sourceMappingURL=direction.js.map \ No newline at end of file + Direction[Direction.None = 0] = 'None' + Direction[Direction.Up = 1] = 'Up' + Direction[Direction.Right = 2] = 'Right' + Direction[Direction.Bottom = 3] = 'Bottom' + Direction[Direction.Left = 4] = 'Left' +})(Direction || (Direction = {})) +// # sourceMappingURL=direction.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/event.js b/nezha-fronted/src/components/common/@topology/core/src/models/event.js index 5ed287b58..1ccf8bd2b 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/models/event.js +++ b/nezha-fronted/src/components/common/@topology/core/src/models/event.js @@ -1,21 +1,21 @@ export var EventType; (function (EventType) { - EventType[EventType["Click"] = 0] = "Click"; - EventType[EventType["DblClick"] = 1] = "DblClick"; - EventType[EventType["WebSocket"] = 2] = "WebSocket"; - EventType[EventType["Mqtt"] = 3] = "Mqtt"; - EventType[EventType["MoveIn"] = 4] = "MoveIn"; - EventType[EventType["MoveOut"] = 5] = "MoveOut"; -})(EventType || (EventType = {})); + EventType[EventType.Click = 0] = 'Click' + EventType[EventType.DblClick = 1] = 'DblClick' + EventType[EventType.WebSocket = 2] = 'WebSocket' + EventType[EventType.Mqtt = 3] = 'Mqtt' + EventType[EventType.MoveIn = 4] = 'MoveIn' + EventType[EventType.MoveOut = 5] = 'MoveOut' +})(EventType || (EventType = {})) export var EventAction; (function (EventAction) { - EventAction[EventAction["Link"] = 0] = "Link"; - EventAction[EventAction["StartAnimate"] = 1] = "StartAnimate"; - EventAction[EventAction["Function"] = 2] = "Function"; - EventAction[EventAction["WindowFn"] = 3] = "WindowFn"; - EventAction[EventAction["SetProps"] = 4] = "SetProps"; - EventAction[EventAction["PauseAnimate"] = 5] = "PauseAnimate"; - EventAction[EventAction["StopAnimate"] = 6] = "StopAnimate"; - EventAction[EventAction["Emit"] = 7] = "Emit"; -})(EventAction || (EventAction = {})); -//# sourceMappingURL=event.js.map \ No newline at end of file + EventAction[EventAction.Link = 0] = 'Link' + EventAction[EventAction.StartAnimate = 1] = 'StartAnimate' + EventAction[EventAction.Function = 2] = 'Function' + EventAction[EventAction.WindowFn = 3] = 'WindowFn' + EventAction[EventAction.SetProps = 4] = 'SetProps' + EventAction[EventAction.PauseAnimate = 5] = 'PauseAnimate' + EventAction[EventAction.StopAnimate = 6] = 'StopAnimate' + EventAction[EventAction.Emit = 7] = 'Emit' +})(EventAction || (EventAction = {})) +// # sourceMappingURL=event.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/index.js b/nezha-fronted/src/components/common/@topology/core/src/models/index.js index 20f5e7e1f..2e743ee8b 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/models/index.js +++ b/nezha-fronted/src/components/common/@topology/core/src/models/index.js @@ -1,10 +1,10 @@ -export * from './data'; -export * from './pen'; -export * from './node'; -export * from './line'; -export * from './direction'; -export * from './point'; -export * from './rect'; -export * from './status'; -export * from './event'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './data' +export * from './pen' +export * from './node' +export * from './line' +export * from './direction' +export * from './point' +export * from './rect' +export * from './status' +export * from './event' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/line.js b/nezha-fronted/src/components/common/@topology/core/src/models/line.js index 9af7ebe74..2b650f42a 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/models/line.js +++ b/nezha-fronted/src/components/common/@topology/core/src/models/line.js @@ -1,551 +1,538 @@ -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -import { Pen, PenType } from './pen'; -import { Point } from './point'; -import { drawLineFns, drawArrowFns } from '../middles'; -import { getBezierPoint } from '../middles/lines/curve'; -import { Store } from 'le5le-store'; -import { lineLen, curveLen } from '../utils/canvas'; -import { text } from '../middles/nodes/text'; -import { Rect } from './rect'; -import { abs } from '../utils/math'; -var Line = /** @class */ (function (_super) { - __extends(Line, _super); - function Line(json) { - var _this = _super.call(this) || this; - var defaultData = { - name: 'curve', - fromArrow: '', - toArrow: '', - controlPoints: [], - fromArrowSize: 5, - toArrowSize: 5, - borderWidth: 0, - borderColor: '#000000', - animateColor: '', - animateSpan: 1, - animateFromSize: 0, - animateToSize: 0, - animateDotSize: 3, - textBackground: '#ffffff' - }; - _this.fromData(defaultData, json); - _this.type = PenType.Line; - if (json.from) { - _this.from = new Point(json.from.x, json.from.y, json.from.direction, json.from.anchorIndex, json.from.id, json.autoAnchor); - } - if (json.to) { - _this.to = new Point(json.to.x, json.to.y, json.to.direction, json.to.anchorIndex, json.to.id, json.autoAnchor); - } - // 暂时兼容老数据 - if (json.name === 'mind' && (!json.controlPoints || json.controlPoints.length > 2)) { - json.controlPoints = undefined; - _this.calcControlPoints(true); - } - // end - else if (json.controlPoints) { - _this.controlPoints = []; - for (var _i = 0, _a = json.controlPoints; _i < _a.length; _i++) { - var item = _a[_i]; - _this.controlPoints.push(new Point(item.x, item.y, item.direction, item.anchorIndex, item.id)); - } - } - if (json.children) { - _this.children = []; - json.children.forEach(function (item) { - _this.children.push(new Line(item)); - }); - } - return _this; +import { Pen, PenType } from './pen' +import { Point } from './point' +import { drawLineFns, drawArrowFns } from '../middles' +import { getBezierPoint } from '../middles/lines/curve' +import { Store } from 'le5le-store' +import { lineLen, curveLen } from '../utils/canvas' +import { text } from '../middles/nodes/text' +import { Rect } from './rect' +import { abs } from '../utils/math' +const __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b }) || + function (d, b) { for (const p in b) if (b.hasOwnProperty(p)) d[p] = b[p] } + return extendStatics(d, b) + } + return function (d, b) { + extendStatics(d, b) + function __ () { this.constructor = d } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()) + } +})() +const Line = /** @class */ (function (_super) { + __extends(Line, _super) + function Line (json) { + const _this = _super.call(this) || this + const defaultData = { + name: 'curve', + fromArrow: '', + toArrow: '', + controlPoints: [], + fromArrowSize: 5, + toArrowSize: 5, + borderWidth: 0, + borderColor: '#000000', + animateColor: '', + animateSpan: 1, + animateFromSize: 0, + animateToSize: 0, + animateDotSize: 3, + textBackground: '#ffffff' } - Line.prototype.setFrom = function (from, fromArrow) { - if (fromArrow === void 0) { fromArrow = ''; } - this.from = from; - this.fromArrow = fromArrow; - this.textRect = undefined; - }; - Line.prototype.setTo = function (to, toArrow) { - if (toArrow === void 0) { toArrow = 'triangleSolid'; } - this.to = to; - this.toArrow = toArrow; - this.textRect = undefined; - }; - Line.prototype.calcControlPoints = function (force) { - if (this.name !== 'line' && this.manualCps && !force) { - return; + _this.fromData(defaultData, json) + _this.type = PenType.Line + if (json.from) { + _this.from = new Point(json.from.x, json.from.y, json.from.direction, json.from.anchorIndex, json.from.id, json.autoAnchor) + } + if (json.to) { + _this.to = new Point(json.to.x, json.to.y, json.to.direction, json.to.anchorIndex, json.to.id, json.autoAnchor) + } + // 暂时兼容老数据 + if (json.name === 'mind' && (!json.controlPoints || json.controlPoints.length > 2)) { + json.controlPoints = undefined + _this.calcControlPoints(true) + } + // end + else if (json.controlPoints) { + _this.controlPoints = [] + for (let _i = 0, _a = json.controlPoints; _i < _a.length; _i++) { + const item = _a[_i] + _this.controlPoints.push(new Point(item.x, item.y, item.direction, item.anchorIndex, item.id)) + } + } + if (json.children) { + _this.children = [] + json.children.forEach(function (item) { + _this.children.push(new Line(item)) + }) + } + return _this + } + Line.prototype.setFrom = function (from, fromArrow) { + if (fromArrow === void 0) { fromArrow = '' } + this.from = from + this.fromArrow = fromArrow + this.textRect = undefined + } + Line.prototype.setTo = function (to, toArrow) { + if (toArrow === void 0) { toArrow = 'triangleSolid' } + this.to = to + this.toArrow = toArrow + this.textRect = undefined + } + Line.prototype.calcControlPoints = function (force) { + if (this.name !== 'line' && this.manualCps && !force) { + return + } + this.textRect = undefined + if (this.from && this.to && drawLineFns[this.name]) { + drawLineFns[this.name].controlPointsFn(this) + } + } + Line.prototype.draw = function (ctx) { + if (this.animateDot) { + ctx.fillStyle = ctx.strokeStyle + if (this.animateType === 'dot') { + ctx.beginPath() + ctx.arc(this.animateDot.x, this.animateDot.y, this.animateDotSize, 0, 2 * Math.PI, false) + ctx.fill() + return + } else if (this.animateType === 'comet') { + const bulles = this.getBubbles() + ctx.save() + for (let _i = 0, bulles_1 = bulles; _i < bulles_1.length; _i++) { + const item = bulles_1[_i] + ctx.globalAlpha = item.a + ctx.beginPath() + ctx.arc(item.pos.x, item.pos.y, item.r, 0, 2 * Math.PI, false) + ctx.fill() } - this.textRect = undefined; - if (this.from && this.to && drawLineFns[this.name]) { - drawLineFns[this.name].controlPointsFn(this); + ctx.restore() + } + } + if (!this.isAnimate && this.borderWidth > 0 && this.borderColor) { + ctx.save() + if (this.lineJoin) { + ctx.lineJoin = this.lineJoin + } + ctx.lineWidth = this.lineWidth + this.borderWidth + ctx.strokeStyle = this.borderColor + if (drawLineFns[this.name]) { + drawLineFns[this.name].drawFn(ctx, this) + } + ctx.restore() + } + switch (this.strokeType) { + case 1: + this.strokeLinearGradient(ctx) + break + } + if ((!this.isAnimate || this.animateType !== 'comet') && drawLineFns[this.name]) { + if (this.lineJoin) { + ctx.lineJoin = this.lineJoin + } + drawLineFns[this.name].drawFn(ctx, this) + } + const scale = Store.get(this.generateStoreKey('LT:scale')) || 1 + if (this.fromArrow && drawArrowFns[this.fromArrow]) { + ctx.save() + ctx.beginPath() + ctx.lineDashOffset = 0 + ctx.setLineDash([]) + ctx.fillStyle = this.fromArrowColor || ctx.strokeStyle + ctx.strokeStyle = ctx.fillStyle + var f = this.to + if (this.name === 'curve') { + f = getBezierPoint(0.95 - this.lineWidth / 100, this.to, this.controlPoints[1], this.controlPoints[0], this.from) + } else if (this.name !== 'line' && this.controlPoints.length) { + f = this.controlPoints[0] + } + drawArrowFns[this.fromArrow](ctx, f, this.from, this.fromArrowSize * scale) + ctx.restore() + } + if (this.toArrow && drawArrowFns[this.toArrow]) { + ctx.save() + ctx.beginPath() + ctx.lineDashOffset = 0 + ctx.setLineDash([]) + ctx.fillStyle = this.toArrowColor || ctx.strokeStyle + ctx.strokeStyle = ctx.fillStyle + var f = this.from + if (this.name === 'curve') { + f = getBezierPoint(0.95 - this.lineWidth / 100, this.from, this.controlPoints[0], this.controlPoints[1], this.to) + } else if (this.name === 'mind') { + f = getBezierPoint(0.96 - this.lineWidth / 100, this.from, this.controlPoints[0], this.controlPoints[1], this.to) + } else if (this.name !== 'line' && this.controlPoints.length) { + f = this.controlPoints[this.controlPoints.length - 1] + } + drawArrowFns[this.toArrow](ctx, f, this.to, this.toArrowSize * scale) + ctx.restore() + } + if (this.text && !this.isAnimate) { + if (!this.textRect) { + this.calcTextRect() + } + text(ctx, this) + } + } + Line.prototype.pointIn = function (pt) { + return drawLineFns[this.name].pointIn(pt, this) + } + Line.prototype.getLen = function () { + switch (this.name) { + case 'line': + return lineLen(this.from, this.to) + case 'polyline': + if (!this.controlPoints || !this.controlPoints.length) { + return lineLen(this.from, this.to) } - }; - Line.prototype.draw = function (ctx) { - if (this.animateDot) { - ctx.fillStyle = ctx.strokeStyle; - if (this.animateType === 'dot') { - ctx.beginPath(); - ctx.arc(this.animateDot.x, this.animateDot.y, this.animateDotSize, 0, 2 * Math.PI, false); - ctx.fill(); - return; - } - else if (this.animateType === 'comet') { - var bulles = this.getBubbles(); - ctx.save(); - for (var _i = 0, bulles_1 = bulles; _i < bulles_1.length; _i++) { - var item = bulles_1[_i]; - ctx.globalAlpha = item.a; - ctx.beginPath(); - ctx.arc(item.pos.x, item.pos.y, item.r, 0, 2 * Math.PI, false); - ctx.fill(); - } - ctx.restore(); - } + var len = 0 + var curPt = this.from + for (let _i = 0, _a = this.controlPoints; _i < _a.length; _i++) { + const pt = _a[_i] + len += lineLen(curPt, pt) + curPt = pt } - if (!this.isAnimate && this.borderWidth > 0 && this.borderColor) { - ctx.save(); - if (this.lineJoin) { - ctx.lineJoin = this.lineJoin; - } - ctx.lineWidth = this.lineWidth + this.borderWidth; - ctx.strokeStyle = this.borderColor; - if (drawLineFns[this.name]) { - drawLineFns[this.name].drawFn(ctx, this); - } - ctx.restore(); + len += lineLen(curPt, this.to) + return len | 0 + case 'curve': + case 'mind': + return curveLen(this.from, this.controlPoints[0], this.controlPoints[1], this.to) + default: + if (drawLineFns[this.name].getLength) { + return drawLineFns[this.name].getLength(this) } - switch (this.strokeType) { - case 1: - this.strokeLinearGradient(ctx); - break; - } - if ((!this.isAnimate || this.animateType !== 'comet') && drawLineFns[this.name]) { - if (this.lineJoin) { - ctx.lineJoin = this.lineJoin; - } - drawLineFns[this.name].drawFn(ctx, this); - } - var scale = Store.get(this.generateStoreKey('LT:scale')) || 1; - if (this.fromArrow && drawArrowFns[this.fromArrow]) { - ctx.save(); - ctx.beginPath(); - ctx.lineDashOffset = 0; - ctx.setLineDash([]); - ctx.fillStyle = this.fromArrowColor || ctx.strokeStyle; - ctx.strokeStyle = ctx.fillStyle; - var f = this.to; - if (this.name === 'curve') { - f = getBezierPoint(0.95 - this.lineWidth / 100, this.to, this.controlPoints[1], this.controlPoints[0], this.from); - } - else if (this.name !== 'line' && this.controlPoints.length) { - f = this.controlPoints[0]; - } - drawArrowFns[this.fromArrow](ctx, f, this.from, this.fromArrowSize * scale); - ctx.restore(); - } - if (this.toArrow && drawArrowFns[this.toArrow]) { - ctx.save(); - ctx.beginPath(); - ctx.lineDashOffset = 0; - ctx.setLineDash([]); - ctx.fillStyle = this.toArrowColor || ctx.strokeStyle; - ctx.strokeStyle = ctx.fillStyle; - var f = this.from; - if (this.name === 'curve') { - f = getBezierPoint(0.95 - this.lineWidth / 100, this.from, this.controlPoints[0], this.controlPoints[1], this.to); - } - else if (this.name === 'mind') { - f = getBezierPoint(0.96 - this.lineWidth / 100, this.from, this.controlPoints[0], this.controlPoints[1], this.to); - } - else if (this.name !== 'line' && this.controlPoints.length) { - f = this.controlPoints[this.controlPoints.length - 1]; - } - drawArrowFns[this.toArrow](ctx, f, this.to, this.toArrowSize * scale); - ctx.restore(); - } - if (this.text && !this.isAnimate) { - if (!this.textRect) { - this.calcTextRect(); - } - text(ctx, this); - } - }; - Line.prototype.pointIn = function (pt) { - return drawLineFns[this.name].pointIn(pt, this); - }; - Line.prototype.getLen = function () { - switch (this.name) { - case 'line': - return lineLen(this.from, this.to); - case 'polyline': - if (!this.controlPoints || !this.controlPoints.length) { - return lineLen(this.from, this.to); - } - var len = 0; - var curPt = this.from; - for (var _i = 0, _a = this.controlPoints; _i < _a.length; _i++) { - var pt = _a[_i]; - len += lineLen(curPt, pt); - curPt = pt; - } - len += lineLen(curPt, this.to); - return len | 0; - case 'curve': - case 'mind': - return curveLen(this.from, this.controlPoints[0], this.controlPoints[1], this.to); - default: - if (drawLineFns[this.name].getLength) { - return drawLineFns[this.name].getLength(this); - } - } - return 0; - }; - Line.prototype.strokeLinearGradient = function (ctx) { - if (!this.lineGradientFromColor || !this.lineGradientToColor) { - return; - } - var from = this.from; - var to = this.to; - // contributor: https://github.com/sunnyguohua/topology - var grd = ctx.createLinearGradient(from.x, from.y, to.x, to.y); - grd.addColorStop(0, this.lineGradientFromColor); - grd.addColorStop(1, this.lineGradientToColor); - ctx.strokeStyle = grd; - }; - Line.prototype.calcTextRect = function () { - var center = this.getCenter(); - var width = Math.abs(this.from.x - this.to.x); - if (width < 100) { - width = 100; - } - if (this.text && !this.text.split) { - this.text += ''; - } - var height = this.lineHeight * + } + return 0 + } + Line.prototype.strokeLinearGradient = function (ctx) { + if (!this.lineGradientFromColor || !this.lineGradientToColor) { + return + } + const from = this.from + const to = this.to + // contributor: https://github.com/sunnyguohua/topology + const grd = ctx.createLinearGradient(from.x, from.y, to.x, to.y) + grd.addColorStop(0, this.lineGradientFromColor) + grd.addColorStop(1, this.lineGradientToColor) + ctx.strokeStyle = grd + } + Line.prototype.calcTextRect = function () { + const center = this.getCenter() + let width = Math.abs(this.from.x - this.to.x) + if (width < 100) { + width = 100 + } + if (this.text && !this.text.split) { + this.text += '' + } + const height = this.lineHeight * this.fontSize * - (this.textMaxLine || (this.text && this.text.split('\n').length) || 1); - this.textRect = new Rect(center.x - width / 2, center.y - height / 2, width, height); - }; - Line.prototype.getTextRect = function () { - // calc every time just in case text line is changed. - this.calcTextRect(); - return this.textRect; - }; - Line.prototype.getCenter = function () { - var center = new Point(this.from.x, this.from.y); - switch (this.name) { - case 'line': - center = this.getLineCenter(this.from, this.to); - break; - case 'polyline': - var i = Math.round(this.controlPoints.length / 2); - center = this.getLineCenter(this.controlPoints[i - 1] || this.from, this.controlPoints[i] || this.to); - break; - case 'curve': - center = getBezierPoint(0.5, this.to, this.controlPoints[1], this.controlPoints[0], this.from); - break; - default: - if (drawLineFns[this.name].getCenter) { - center = drawLineFns[this.name].getCenter(this); - } + (this.textMaxLine || (this.text && this.text.split('\n').length) || 1) + this.textRect = new Rect(center.x - width / 2, center.y - height / 2, width, height) + } + Line.prototype.getTextRect = function () { + // calc every time just in case text line is changed. + this.calcTextRect() + return this.textRect + } + Line.prototype.getCenter = function () { + let center = new Point(this.from.x, this.from.y) + switch (this.name) { + case 'line': + center = this.getLineCenter(this.from, this.to) + break + case 'polyline': + var i = Math.round(this.controlPoints.length / 2) + center = this.getLineCenter(this.controlPoints[i - 1] || this.from, this.controlPoints[i] || this.to) + break + case 'curve': + center = getBezierPoint(0.5, this.to, this.controlPoints[1], this.controlPoints[0], this.from) + break + default: + if (drawLineFns[this.name].getCenter) { + center = drawLineFns[this.name].getCenter(this) } - return center; - }; - Line.prototype.getLineCenter = function (from, to) { - return new Point((from.x + to.x) / 2, (from.y + to.y) / 2); - }; - Line.prototype.getPointByPos = function (pos) { - if (pos <= 0) { - return this.from; + } + return center + } + Line.prototype.getLineCenter = function (from, to) { + return new Point((from.x + to.x) / 2, (from.y + to.y) / 2) + } + Line.prototype.getPointByPos = function (pos) { + if (pos <= 0) { + return this.from + } + switch (this.name) { + case 'line': + return this.getLinePtByPos(this.from, this.to, pos) + case 'polyline': + if (!this.controlPoints || !this.controlPoints.length) { + return this.getLinePtByPos(this.from, this.to, pos) + } else { + const points = [].concat(this.controlPoints, this.to) + let curPt = this.from + for (let _i = 0, points_1 = points; _i < points_1.length; _i++) { + const pt = points_1[_i] + const l = lineLen(curPt, pt) + if (pos > l) { + pos -= l + curPt = pt + } else { + return this.getLinePtByPos(curPt, pt, pos) + } + } + return this.to } - switch (this.name) { - case 'line': - return this.getLinePtByPos(this.from, this.to, pos); - case 'polyline': - if (!this.controlPoints || !this.controlPoints.length) { - return this.getLinePtByPos(this.from, this.to, pos); - } - else { - var points = [].concat(this.controlPoints, this.to); - var curPt = this.from; - for (var _i = 0, points_1 = points; _i < points_1.length; _i++) { - var pt = points_1[_i]; - var l = lineLen(curPt, pt); - if (pos > l) { - pos -= l; - curPt = pt; - } - else { - return this.getLinePtByPos(curPt, pt, pos); - } - } - return this.to; - } - case 'curve': - return getBezierPoint(pos / this.getLen(), this.from, this.controlPoints[0], this.controlPoints[1], this.to); - default: - if (drawLineFns[this.name].getPointByPos) { - return drawLineFns[this.name].getPointByPos(pos, this); - } + case 'curve': + return getBezierPoint(pos / this.getLen(), this.from, this.controlPoints[0], this.controlPoints[1], this.to) + default: + if (drawLineFns[this.name].getPointByPos) { + return drawLineFns[this.name].getPointByPos(pos, this) } - return null; - }; - Line.prototype.getPointByReversePos = function (pos) { - if (pos <= 0) { - return this.to; + } + return null + } + Line.prototype.getPointByReversePos = function (pos) { + if (pos <= 0) { + return this.to + } + switch (this.name) { + case 'line': + return this.getLinePtByPos(this.to, this.from, pos) + case 'polyline': + if (!this.controlPoints || !this.controlPoints.length) { + return this.getLinePtByPos(this.to, this.from, pos) + } else { + const points_3 = [] + this.controlPoints.forEach(function (item) { + points_3.unshift(item) + }) + points_3.unshift(this.to) + let curPt = this.to + for (let _i = 0, points_2 = points_3; _i < points_2.length; _i++) { + const pt = points_2[_i] + const l = lineLen(curPt, pt) + if (pos > l) { + pos -= l + curPt = pt + } else { + return this.getLinePtByPos(curPt, pt, pos) + } + } + return this.from } - switch (this.name) { - case 'line': - return this.getLinePtByPos(this.to, this.from, pos); - case 'polyline': - if (!this.controlPoints || !this.controlPoints.length) { - return this.getLinePtByPos(this.to, this.from, pos); - } - else { - var points_3 = []; - this.controlPoints.forEach(function (item) { - points_3.unshift(item); - }); - points_3.unshift(this.to); - var curPt = this.to; - for (var _i = 0, points_2 = points_3; _i < points_2.length; _i++) { - var pt = points_2[_i]; - var l = lineLen(curPt, pt); - if (pos > l) { - pos -= l; - curPt = pt; - } - else { - return this.getLinePtByPos(curPt, pt, pos); - } - } - return this.from; - } - case 'curve': - return getBezierPoint(pos / this.getLen(), this.to, this.controlPoints[1], this.controlPoints[0], this.from); - default: - if (drawLineFns[this.name].getPointByReversePos) { - return drawLineFns[this.name].getPointByReversePos(pos, this); - } + case 'curve': + return getBezierPoint(pos / this.getLen(), this.to, this.controlPoints[1], this.controlPoints[0], this.from) + default: + if (drawLineFns[this.name].getPointByReversePos) { + return drawLineFns[this.name].getPointByReversePos(pos, this) } - return null; - }; - Line.prototype.getLinePtByPos = function (from, to, pos) { - var length = lineLen(from, to); - if (pos <= 0) { - return from; - } - if (pos >= length) { - return to; - } - var x, y; - x = from.x + (to.x - from.x) * (pos / length); - y = from.y + (to.y - from.y) * (pos / length); - return new Point(x, y); - }; - Line.prototype.calcRectInParent = function (parent) { - var parentW = parent.rect.width - parent.paddingLeftNum - parent.paddingRightNum; - var parentH = parent.rect.height - parent.paddingTopNum - parent.paddingBottomNum; - this.rectInParent = { - x: ((this.from.x - parent.rect.x - parent.paddingLeftNum) * 100) / parentW + '%', - y: ((this.from.y - parent.rect.y - parent.paddingTopNum) * 100) / parentH + '%', - width: 0, - height: 0, - rotate: 0, - }; - }; - // 根据父节点rect计算自己(子节点)的rect - Line.prototype.calcRectByParent = function (parent) { - if (!this.rectInParent) { - return; - } - var parentW = parent.rect.width - parent.paddingLeftNum - parent.paddingRightNum; - var parentH = parent.rect.height - parent.paddingTopNum - parent.paddingBottomNum; - var x = parent.rect.x + + } + return null + } + Line.prototype.getLinePtByPos = function (from, to, pos) { + const length = lineLen(from, to) + if (pos <= 0) { + return from + } + if (pos >= length) { + return to + } + let x, y + x = from.x + (to.x - from.x) * (pos / length) + y = from.y + (to.y - from.y) * (pos / length) + return new Point(x, y) + } + Line.prototype.calcRectInParent = function (parent) { + const parentW = parent.rect.width - parent.paddingLeftNum - parent.paddingRightNum + const parentH = parent.rect.height - parent.paddingTopNum - parent.paddingBottomNum + this.rectInParent = { + x: ((this.from.x - parent.rect.x - parent.paddingLeftNum) * 100) / parentW + '%', + y: ((this.from.y - parent.rect.y - parent.paddingTopNum) * 100) / parentH + '%', + width: 0, + height: 0, + rotate: 0 + } + } + // 根据父节点rect计算自己(子节点)的rect + Line.prototype.calcRectByParent = function (parent) { + if (!this.rectInParent) { + return + } + const parentW = parent.rect.width - parent.paddingLeftNum - parent.paddingRightNum + const parentH = parent.rect.height - parent.paddingTopNum - parent.paddingBottomNum + let x = parent.rect.x + parent.paddingLeftNum + abs(parentW, this.rectInParent.x) + - abs(parentW, this.rectInParent.marginLeft); - var y = parent.rect.y + + abs(parentW, this.rectInParent.marginLeft) + let y = parent.rect.y + parent.paddingTopNum + abs(parentH, this.rectInParent.y) + - abs(parentW, this.rectInParent.marginTop); - if (this.rectInParent.marginLeft === undefined && this.rectInParent.marginRight) { - x -= abs(parentW, this.rectInParent.marginRight); + abs(parentW, this.rectInParent.marginTop) + if (this.rectInParent.marginLeft === undefined && this.rectInParent.marginRight) { + x -= abs(parentW, this.rectInParent.marginRight) + } + if (this.rectInParent.marginTop === undefined && this.rectInParent.marginBottom) { + y -= abs(parentW, this.rectInParent.marginBottom) + } + this.translate(x - this.from.x, y - this.from.y) + } + Line.prototype.initAnimate = function () { + this.animateStart = 0 + this.animateDot = undefined + this.animatePos = 0 + } + Line.prototype.pauseAnimate = function () { + Store.set(this.generateStoreKey('LT:AnimatePlay'), { + pen: this, + stop: true + }) + } + Line.prototype.stopAnimate = function () { + const _this = this + this.pauseAnimate() + this.initAnimate() + setTimeout(function () { + Store.set(_this.generateStoreKey('LT:render'), { + pen: _this, + stop: true + }) + }, 50) + } + Line.prototype.animate = function (now) { + this.animatePos += this.animateSpan + switch (this.animateType) { + case 'beads': + if (this.animateReverse) { + this.lineDashOffset = this.animatePos + } else { + this.lineDashOffset = -this.animatePos } - if (this.rectInParent.marginTop === undefined && this.rectInParent.marginBottom) { - y -= abs(parentW, this.rectInParent.marginBottom); + var len = this.lineWidth + if (len < 5) { + len = 5 } - this.translate(x - this.from.x, y - this.from.y); - }; - Line.prototype.initAnimate = function () { - this.animateStart = 0; - this.animateDot = undefined; - this.animatePos = 0; - }; - Line.prototype.pauseAnimate = function () { - Store.set(this.generateStoreKey('LT:AnimatePlay'), { - pen: this, - stop: true, - }); - }; - Line.prototype.stopAnimate = function () { - var _this = this; - this.pauseAnimate(); - this.initAnimate(); - setTimeout(function () { - Store.set(_this.generateStoreKey('LT:render'), { - pen: _this, - stop: true, - }); - }, 50); - }; - Line.prototype.animate = function (now) { - this.animatePos += this.animateSpan; - switch (this.animateType) { - case 'beads': - if (this.animateReverse) { - this.lineDashOffset = this.animatePos; - } - else { - this.lineDashOffset = -this.animatePos; - } - var len = this.lineWidth; - if (len < 5) { - len = 5; - } - if (this.animateLineDash) { - this.lineDash = this.animateLineDash; - } - else { - this.lineDash = [len, len * 2]; - } - break; - case 'dot': - case 'comet': - this.lineDash = undefined; - var pos = void 0; - if (this.animateReverse) { - pos = this.getPointByReversePos(this.animatePos + this.animateToSize); - } - else { - pos = this.getPointByPos(this.animatePos + this.animateFromSize); - } - this.animateDot = pos; - break; - default: - if (this.animateReverse) { - this.lineDash = [0, this.length - this.animatePos + 1, this.animatePos]; - } - else { - this.lineDash = [this.animatePos, this.length - this.animatePos + 1]; - } - break; + if (this.animateLineDash) { + this.lineDash = this.animateLineDash + } else { + this.lineDash = [len, len * 2] } - if (this.animatePos > this.length + this.animateSpan - this.animateFromSize - this.animateToSize) { - if (++this.animateCycleIndex >= this.animateCycle && this.animateCycle > 0) { - this.animateStart = 0; - this.initAnimate(); - Store.set(this.generateStoreKey('animateEnd'), this); - return; - } - this.animatePos = this.animateSpan; + break + case 'dot': + case 'comet': + this.lineDash = undefined + var pos = void 0 + if (this.animateReverse) { + pos = this.getPointByReversePos(this.animatePos + this.animateToSize) + } else { + pos = this.getPointByPos(this.animatePos + this.animateFromSize) } - }; - Line.prototype.getBubbles = function () { - var bubbles = []; - for (var i = 0; i < 30 && this.animatePos - i > 0; ++i) { - if (this.animateReverse) { - bubbles.push({ - pos: this.getPointByReversePos(this.animatePos - i * 2 + this.animateToSize), - a: 1 - i * 0.03, - r: this.lineWidth - i * 0.01, - }); - } - else { - bubbles.push({ - pos: this.getPointByPos(this.animatePos - i * 2 + this.animateFromSize), - a: 1 - i * 0.03, - r: this.lineWidth - i * 0.01, - }); - } + this.animateDot = pos + break + default: + if (this.animateReverse) { + this.lineDash = [0, this.length - this.animatePos + 1, this.animatePos] + } else { + this.lineDash = [this.animatePos, this.length - this.animatePos + 1] } - return bubbles; - }; - Line.prototype.round = function () { - this.from.round(); - this.to.round(); - }; - Line.prototype.translate = function (x, y) { - if (this.from) { - this.from.x += x; - this.from.y += y; - this.to.x += x; - this.to.y += y; - if (this.text) { - this.textRect = undefined; - } - for (var _i = 0, _a = this.controlPoints; _i < _a.length; _i++) { - var pt = _a[_i]; - pt.x += x; - pt.y += y; - } - } - if (this.children) { - for (var _b = 0, _c = this.children; _b < _c.length; _b++) { - var item = _c[_b]; - item.translate(x, y); - } - } - Store.set(this.generateStoreKey('pts-') + this.id, undefined); - }; - Line.prototype.scale = function (scale, center) { - if (this.from) { - this.from.x = center.x - (center.x - this.from.x) * scale; - this.from.y = center.y - (center.y - this.from.y) * scale; - this.to.x = center.x - (center.x - this.to.x) * scale; - this.to.y = center.y - (center.y - this.to.y) * scale; - this.lineWidth *= scale; - this.borderWidth *= scale; - this.fontSize *= scale; - if (this.text) { - this.textRect = undefined; - } - this.textOffsetX *= scale; - this.textOffsetY *= scale; - for (var _i = 0, _a = this.controlPoints; _i < _a.length; _i++) { - var pt = _a[_i]; - pt.x = center.x - (center.x - pt.x) * scale; - pt.y = center.y - (center.y - pt.y) * scale; - } - } - if (this.children) { - for (var _b = 0, _c = this.children; _b < _c.length; _b++) { - var item = _c[_b]; - item.scale(scale, center); - } - } - Store.set(this.generateStoreKey('pts-') + this.id, undefined); - }; - Line.prototype.hit = function (pt, padding) { - if (padding === void 0) { padding = 0; } - if (this.from.hit(pt, padding) || this.to.hit(pt, padding)) { - return this; - } - }; - Line.prototype.clone = function () { - return new Line(this); - }; - return Line; -}(Pen)); -export { Line }; -//# sourceMappingURL=line.js.map \ No newline at end of file + break + } + if (this.animatePos > this.length + this.animateSpan - this.animateFromSize - this.animateToSize) { + if (++this.animateCycleIndex >= this.animateCycle && this.animateCycle > 0) { + this.animateStart = 0 + this.initAnimate() + Store.set(this.generateStoreKey('animateEnd'), this) + return + } + this.animatePos = this.animateSpan + } + } + Line.prototype.getBubbles = function () { + const bubbles = [] + for (let i = 0; i < 30 && this.animatePos - i > 0; ++i) { + if (this.animateReverse) { + bubbles.push({ + pos: this.getPointByReversePos(this.animatePos - i * 2 + this.animateToSize), + a: 1 - i * 0.03, + r: this.lineWidth - i * 0.01 + }) + } else { + bubbles.push({ + pos: this.getPointByPos(this.animatePos - i * 2 + this.animateFromSize), + a: 1 - i * 0.03, + r: this.lineWidth - i * 0.01 + }) + } + } + return bubbles + } + Line.prototype.round = function () { + this.from.round() + this.to.round() + } + Line.prototype.translate = function (x, y) { + if (this.from) { + this.from.x += x + this.from.y += y + this.to.x += x + this.to.y += y + if (this.text) { + this.textRect = undefined + } + for (let _i = 0, _a = this.controlPoints; _i < _a.length; _i++) { + const pt = _a[_i] + pt.x += x + pt.y += y + } + } + if (this.children) { + for (let _b = 0, _c = this.children; _b < _c.length; _b++) { + const item = _c[_b] + item.translate(x, y) + } + } + Store.set(this.generateStoreKey('pts-') + this.id, undefined) + } + Line.prototype.scale = function (scale, center) { + if (this.from) { + this.from.x = center.x - (center.x - this.from.x) * scale + this.from.y = center.y - (center.y - this.from.y) * scale + this.to.x = center.x - (center.x - this.to.x) * scale + this.to.y = center.y - (center.y - this.to.y) * scale + this.lineWidth *= scale + this.borderWidth *= scale + this.fontSize *= scale + if (this.text) { + this.textRect = undefined + } + this.textOffsetX *= scale + this.textOffsetY *= scale + for (let _i = 0, _a = this.controlPoints; _i < _a.length; _i++) { + const pt = _a[_i] + pt.x = center.x - (center.x - pt.x) * scale + pt.y = center.y - (center.y - pt.y) * scale + } + } + if (this.children) { + for (let _b = 0, _c = this.children; _b < _c.length; _b++) { + const item = _c[_b] + item.scale(scale, center) + } + } + Store.set(this.generateStoreKey('pts-') + this.id, undefined) + } + Line.prototype.hit = function (pt, padding) { + if (padding === void 0) { padding = 0 } + if (this.from.hit(pt, padding) || this.to.hit(pt, padding)) { + return this + } + } + Line.prototype.clone = function () { + return new Line(this) + } + return Line +}(Pen)) +export { Line } +// # sourceMappingURL=line.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/point.js b/nezha-fronted/src/components/common/@topology/core/src/models/point.js index b5e0313e4..a7bcfe7fb 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/models/point.js +++ b/nezha-fronted/src/components/common/@topology/core/src/models/point.js @@ -1,53 +1,53 @@ -var Point = /** @class */ (function () { - function Point(x, y, direction, anchorIndex, id, hidden, autoAnchor) { - this.x = x; - this.y = y; - this.direction = direction; - this.anchorIndex = anchorIndex; - this.id = id; - this.hidden = hidden; - this.autoAnchor = autoAnchor; +const Point = /** @class */ (function () { + function Point (x, y, direction, anchorIndex, id, hidden, autoAnchor) { + this.x = x + this.y = y + this.direction = direction + this.anchorIndex = anchorIndex + this.id = id + this.hidden = hidden + this.autoAnchor = autoAnchor + } + Point.prototype.floor = function () { + this.x |= 0 + this.y |= 0 + } + Point.prototype.round = function () { + this.x = Math.round(this.x) + this.y = Math.round(this.y) + } + Point.prototype.clone = function () { + const pt = new Point(this.x, this.y, this.direction, this.anchorIndex, this.id, this.hidden, this.autoAnchor) + if (this.data) { + pt.data = this.data } - Point.prototype.floor = function () { - this.x |= 0; - this.y |= 0; - }; - Point.prototype.round = function () { - this.x = Math.round(this.x); - this.y = Math.round(this.y); - }; - Point.prototype.clone = function () { - var pt = new Point(this.x, this.y, this.direction, this.anchorIndex, this.id, this.hidden, this.autoAnchor); - if (this.data) { - pt.data = this.data; - } - if (this.mode) { - pt.mode = this.mode; - } - return pt; - }; - Point.prototype.hit = function (pt, radius) { - if (radius === void 0) { radius = 5; } - return pt.x > this.x - radius && pt.x < this.x + radius && pt.y > this.y - radius && pt.y < this.y + radius; - }; - Point.prototype.rotate = function (angle, center) { - if (!angle || angle === 360) { - return this; - } - angle *= Math.PI / 180; - var x = (this.x - center.x) * Math.cos(angle) - (this.y - center.y) * Math.sin(angle) + center.x; - var y = (this.x - center.x) * Math.sin(angle) + (this.y - center.y) * Math.cos(angle) + center.y; - this.x = x; - this.y = y; - return this; - }; - Point.prototype.isSameAs = function (pt) { - return this.anchorIndex === pt.anchorIndex && this.direction === pt.direction && this.id === pt.id; - }; - return Point; -}()); -export { Point }; + if (this.mode) { + pt.mode = this.mode + } + return pt + } + Point.prototype.hit = function (pt, radius) { + if (radius === void 0) { radius = 5 } + return pt.x > this.x - radius && pt.x < this.x + radius && pt.y > this.y - radius && pt.y < this.y + radius + } + Point.prototype.rotate = function (angle, center) { + if (!angle || angle === 360) { + return this + } + angle *= Math.PI / 180 + const x = (this.x - center.x) * Math.cos(angle) - (this.y - center.y) * Math.sin(angle) + center.x + const y = (this.x - center.x) * Math.sin(angle) + (this.y - center.y) * Math.cos(angle) + center.y + this.x = x + this.y = y + return this + } + Point.prototype.isSameAs = function (pt) { + return this.anchorIndex === pt.anchorIndex && this.direction === pt.direction && this.id === pt.id + } + return Point +}()) +export { Point } console.log(132123132123) -window.topologyPoint = Point; -window.Le5leTopologyPoint = Point; -//# sourceMappingURL=point.js.map +window.topologyPoint = Point +window.Le5leTopologyPoint = Point +// # sourceMappingURL=point.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/rect.js b/nezha-fronted/src/components/common/@topology/core/src/models/rect.js index 3f99987fd..ba64eb706 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/models/rect.js +++ b/nezha-fronted/src/components/common/@topology/core/src/models/rect.js @@ -1,94 +1,94 @@ -import { Point } from './point'; -import { pointInRect } from '../utils/canvas'; -var Rect = /** @class */ (function () { - function Rect(x, y, width, height) { - this.x = x; - this.y = y; - this.width = width; - this.height = height; - this.center = new Point(0, 0); - if (width < 0) { - width = 0; - } - if (height < 0) { - height = 0; - } - this.init(); +import { Point } from './point' +import { pointInRect } from '../utils/canvas' +const Rect = /** @class */ (function () { + function Rect (x, y, width, height) { + this.x = x + this.y = y + this.width = width + this.height = height + this.center = new Point(0, 0) + if (width < 0) { + width = 0 } - Rect.prototype.init = function () { - this.ex = this.x + this.width; - this.ey = this.y + this.height; - this.calcCenter(); - }; - Rect.prototype.floor = function () { - this.x |= 0; - this.y |= 0; - this.width |= 0; - this.height |= 0; - this.init(); - }; - Rect.prototype.round = function () { - this.x = Math.round(this.x); - this.y = Math.round(this.y); - this.width = Math.round(this.width); - this.height = Math.round(this.height); - this.init(); - }; - Rect.prototype.clone = function () { - return new Rect(this.x, this.y, this.width, this.height); - }; - Rect.prototype.hit = function (pt, padding) { - if (padding === void 0) { padding = 0; } - return pt && pt.x > this.x - padding && pt.x < this.ex + padding && pt.y > this.y - padding && pt.y < this.ey + padding; - }; - Rect.prototype.hitByRect = function (rect) { - return ((rect.x > this.x && rect.x < this.ex && rect.y > this.y && rect.y < this.ey) || + if (height < 0) { + height = 0 + } + this.init() + } + Rect.prototype.init = function () { + this.ex = this.x + this.width + this.ey = this.y + this.height + this.calcCenter() + } + Rect.prototype.floor = function () { + this.x |= 0 + this.y |= 0 + this.width |= 0 + this.height |= 0 + this.init() + } + Rect.prototype.round = function () { + this.x = Math.round(this.x) + this.y = Math.round(this.y) + this.width = Math.round(this.width) + this.height = Math.round(this.height) + this.init() + } + Rect.prototype.clone = function () { + return new Rect(this.x, this.y, this.width, this.height) + } + Rect.prototype.hit = function (pt, padding) { + if (padding === void 0) { padding = 0 } + return pt && pt.x > this.x - padding && pt.x < this.ex + padding && pt.y > this.y - padding && pt.y < this.ey + padding + } + Rect.prototype.hitByRect = function (rect) { + return ((rect.x > this.x && rect.x < this.ex && rect.y > this.y && rect.y < this.ey) || (rect.ex > this.x && rect.ex < this.ex && rect.y > this.y && rect.y < this.ey) || (rect.ex > this.x && rect.ex < this.ex && rect.ey > this.y && rect.ey < this.ey) || - (rect.x > this.x && rect.x < this.ex && rect.ey > this.y && rect.ey < this.ey)); - }; - Rect.prototype.hitRotate = function (point, rotate, center) { - var pts = this.toPoints(); - for (var _i = 0, pts_1 = pts; _i < pts_1.length; _i++) { - var pt = pts_1[_i]; - pt.rotate(rotate, center); - } - return pointInRect(point, pts); - }; - Rect.prototype.calcCenter = function () { - this.center.x = this.x + this.width / 2; - this.center.y = this.y + this.height / 2; - }; - Rect.prototype.toPoints = function () { - return [ - new Point(this.x, this.y), - new Point(this.ex, this.y), - new Point(this.ex, this.ey), - new Point(this.x, this.ey), - ]; - }; - Rect.prototype.translate = function (x, y) { - this.x += x; - this.y += y; - this.ex += x; - this.ey += y; - this.calcCenter(); - }; - Rect.prototype.scale = function (scale, center, scaleY) { - if (!center) { - center = this.center; - } - if (scaleY === undefined) { - scaleY = scale; - } - this.x = center.x - (center.x - this.x) * scale; - this.y = center.y - (center.y - this.y) * scaleY; - this.width *= scale; - this.height *= scaleY; - this.init(); - }; - return Rect; -}()); -export { Rect }; -window.topologyRect = Rect; -//# sourceMappingURL=rect.js.map \ No newline at end of file + (rect.x > this.x && rect.x < this.ex && rect.ey > this.y && rect.ey < this.ey)) + } + Rect.prototype.hitRotate = function (point, rotate, center) { + const pts = this.toPoints() + for (let _i = 0, pts_1 = pts; _i < pts_1.length; _i++) { + const pt = pts_1[_i] + pt.rotate(rotate, center) + } + return pointInRect(point, pts) + } + Rect.prototype.calcCenter = function () { + this.center.x = this.x + this.width / 2 + this.center.y = this.y + this.height / 2 + } + Rect.prototype.toPoints = function () { + return [ + new Point(this.x, this.y), + new Point(this.ex, this.y), + new Point(this.ex, this.ey), + new Point(this.x, this.ey) + ] + } + Rect.prototype.translate = function (x, y) { + this.x += x + this.y += y + this.ex += x + this.ey += y + this.calcCenter() + } + Rect.prototype.scale = function (scale, center, scaleY) { + if (!center) { + center = this.center + } + if (scaleY === undefined) { + scaleY = scale + } + this.x = center.x - (center.x - this.x) * scale + this.y = center.y - (center.y - this.y) * scaleY + this.width *= scale + this.height *= scaleY + this.init() + } + return Rect +}()) +export { Rect } +window.topologyRect = Rect +// # sourceMappingURL=rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/models/status.js b/nezha-fronted/src/components/common/@topology/core/src/models/status.js index 7f77ff6f2..a449671f5 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/models/status.js +++ b/nezha-fronted/src/components/common/@topology/core/src/models/status.js @@ -1,14 +1,14 @@ export var Lock; (function (Lock) { - Lock[Lock["None"] = 0] = "None"; - Lock[Lock["Readonly"] = 1] = "Readonly"; - Lock[Lock["NoMove"] = 2] = "NoMove"; - Lock[Lock["NoEvent"] = 10] = "NoEvent"; -})(Lock || (Lock = {})); + Lock[Lock.None = 0] = 'None' + Lock[Lock.Readonly = 1] = 'Readonly' + Lock[Lock.NoMove = 2] = 'NoMove' + Lock[Lock.NoEvent = 10] = 'NoEvent' +})(Lock || (Lock = {})) export var AnchorMode; (function (AnchorMode) { - AnchorMode[AnchorMode["Default"] = 0] = "Default"; - AnchorMode[AnchorMode["In"] = 1] = "In"; - AnchorMode[AnchorMode["Out"] = 2] = "Out"; -})(AnchorMode || (AnchorMode = {})); -//# sourceMappingURL=status.js.map \ No newline at end of file + AnchorMode[AnchorMode.Default = 0] = 'Default' + AnchorMode[AnchorMode.In = 1] = 'In' + AnchorMode[AnchorMode.Out = 2] = 'Out' +})(AnchorMode || (AnchorMode = {})) +// # sourceMappingURL=status.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/mqtt.js b/nezha-fronted/src/components/common/@topology/core/src/mqtt.js index f1fdcfdbb..56806ee29 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/mqtt.js +++ b/nezha-fronted/src/components/common/@topology/core/src/mqtt.js @@ -1,27 +1,27 @@ -import * as mqtt from 'mqtt/dist/mqtt.min.js'; -var MQTT = /** @class */ (function () { - function MQTT(url, options, topics, cb) { - this.url = url; - this.options = options; - this.topics = topics; - this.cb = cb; - this.fns = {}; - this.init(); +import * as mqtt from 'mqtt/dist/mqtt.min.js' +const MQTT = /** @class */ (function () { + function MQTT (url, options, topics, cb) { + this.url = url + this.options = options + this.topics = topics + this.cb = cb + this.fns = {} + this.init() + } + MQTT.prototype.init = function () { + this.client = mqtt.connect(this.url, this.options) + this.client.on('message', this.cb) + if (this.topics) { + this.client.subscribe(this.topics.split(',')) } - MQTT.prototype.init = function () { - this.client = mqtt.connect(this.url, this.options); - this.client.on('message', this.cb); - if (this.topics) { - this.client.subscribe(this.topics.split(',')); - } - }; - MQTT.prototype.publish = function (topic, message) { - this.client.publish(topic, message); - }; - MQTT.prototype.close = function () { - this.client.end(); - }; - return MQTT; -}()); -export { MQTT }; -//# sourceMappingURL=mqtt.js.map \ No newline at end of file + } + MQTT.prototype.publish = function (topic, message) { + this.client.publish(topic, message) + } + MQTT.prototype.close = function () { + this.client.end() + } + return MQTT +}()) +export { MQTT } +// # sourceMappingURL=mqtt.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/offscreen.js b/nezha-fronted/src/components/common/@topology/core/src/offscreen.js index 38f246911..974135f6b 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/offscreen.js +++ b/nezha-fronted/src/components/common/@topology/core/src/offscreen.js @@ -1,54 +1,53 @@ -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -import { Store } from 'le5le-store'; -import { Canvas } from './canvas'; -import { rectInRect } from './utils/rect'; -import { Rect, PenType } from './models'; -var Offscreen = /** @class */ (function (_super) { - __extends(Offscreen, _super); - function Offscreen(parentElem, options, TID) { - if (options === void 0) { options = {}; } - var _this = _super.call(this, parentElem, options, TID) || this; - _this.parentElem = parentElem; - _this.options = options; - _this.activeLayer = Store.get(_this.generateStoreKey('LT:ActiveLayer')); - _this.hoverLayer = Store.get(_this.generateStoreKey('LT:HoverLayer')); - _this.animateLayer = Store.get(_this.generateStoreKey('LT:AnimateLayer')); - Store.set(_this.generateStoreKey('LT:offscreen'), _this.canvas); - return _this; +import { Store } from 'le5le-store' +import { Canvas } from './canvas' +import { rectInRect } from './utils/rect' +import { Rect, PenType } from './models' +const __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b }) || + function (d, b) { for (const p in b) if (b.hasOwnProperty(p)) d[p] = b[p] } + return extendStatics(d, b) + } + return function (d, b) { + extendStatics(d, b) + function __ () { this.constructor = d } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()) + } +})() +const Offscreen = /** @class */ (function (_super) { + __extends(Offscreen, _super) + function Offscreen (parentElem, options, TID) { + if (options === void 0) { options = {} } + const _this = _super.call(this, parentElem, options, TID) || this + _this.parentElem = parentElem + _this.options = options + _this.activeLayer = Store.get(_this.generateStoreKey('LT:ActiveLayer')) + _this.hoverLayer = Store.get(_this.generateStoreKey('LT:HoverLayer')) + _this.animateLayer = Store.get(_this.generateStoreKey('LT:AnimateLayer')) + Store.set(_this.generateStoreKey('LT:offscreen'), _this.canvas) + } + Offscreen.prototype.render = function () { + _super.prototype.render.call(this) + const ctx = this.canvas.getContext('2d') + ctx.strokeStyle = this.options.color + const canvasRect = new Rect(-this.data.x, -this.data.y, this.width, this.height) + for (let _i = 0, _a = this.data.pens; _i < _a.length; _i++) { + const item = _a[_i] + if (!item.getTID()) { + item.setTID(this.TID) + } + // 连线类型没有 rect,必渲染 + if (!rectInRect(item.rect, canvasRect) && item.type === PenType.Node) { + continue + } + item.render(ctx) } - Offscreen.prototype.render = function () { - _super.prototype.render.call(this); - var ctx = this.canvas.getContext('2d'); - ctx.strokeStyle = this.options.color; - var canvasRect = new Rect(-this.data.x, -this.data.y, this.width, this.height); - for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) { - var item = _a[_i]; - if (!item.getTID()) { - item.setTID(this.TID); - } - // 连线类型没有 rect,必渲染 - if (!rectInRect(item.rect, canvasRect) && item.type === PenType.Node) { - continue; - } - item.render(ctx); - } - this.activeLayer.render(ctx); - this.animateLayer.render(ctx); - this.hoverLayer.render(ctx); - }; - return Offscreen; -}(Canvas)); -export { Offscreen }; -//# sourceMappingURL=offscreen.js.map \ No newline at end of file + this.activeLayer.render(ctx) + this.animateLayer.render(ctx) + this.hoverLayer.render(ctx) + } + return Offscreen +}(Canvas)) +export { Offscreen } +// # sourceMappingURL=offscreen.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/options.js b/nezha-fronted/src/components/common/@topology/core/src/options.js index 9b3aecfd9..07415d062 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/options.js +++ b/nezha-fronted/src/components/common/@topology/core/src/options.js @@ -1,45 +1,45 @@ export var KeyType; (function (KeyType) { - KeyType[KeyType["Any"] = -1] = "Any"; - KeyType[KeyType["CtrlOrAlt"] = 0] = "CtrlOrAlt"; - KeyType[KeyType["Ctrl"] = 1] = "Ctrl"; - KeyType[KeyType["Shift"] = 2] = "Shift"; - KeyType[KeyType["Alt"] = 3] = "Alt"; - KeyType[KeyType["Right"] = 4] = "Right"; -})(KeyType || (KeyType = {})); + KeyType[KeyType.Any = -1] = 'Any' + KeyType[KeyType.CtrlOrAlt = 0] = 'CtrlOrAlt' + KeyType[KeyType.Ctrl = 1] = 'Ctrl' + KeyType[KeyType.Shift = 2] = 'Shift' + KeyType[KeyType.Alt = 3] = 'Alt' + KeyType[KeyType.Right = 4] = 'Right' +})(KeyType || (KeyType = {})) export var KeydownType; (function (KeydownType) { - KeydownType[KeydownType["None"] = -1] = "None"; - KeydownType[KeydownType["Document"] = 0] = "Document"; - KeydownType[KeydownType["Canvas"] = 1] = "Canvas"; -})(KeydownType || (KeydownType = {})); -export var fontKeys = ['fontColor', 'fontFamily', 'fontSize', 'lineHeight', 'textAlign', 'textBaseline']; + KeydownType[KeydownType.None = -1] = 'None' + KeydownType[KeydownType.Document = 0] = 'Document' + KeydownType[KeydownType.Canvas = 1] = 'Canvas' +})(KeydownType || (KeydownType = {})) +export var fontKeys = ['fontColor', 'fontFamily', 'fontSize', 'lineHeight', 'textAlign', 'textBaseline'] export var DefalutOptions = { - cacheLen: 30, - refresh: 30, - fontColor: '#222222', - fontFamily: '"Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial', - fontSize: 12, - lineHeight: 1.5, - textAlign: 'center', - textBaseline: 'middle', - color: '#222222', - activeColor: '#1890ff', - hoverColor: '#fa541c', - anchorRadius: 4, - anchorFillStyle: '#fff', - dockStrokeStyle: '#fa541c', - dockFillStyle: '#fa541c', - dragColor: '#1890ff', - rotateCursor: '/assets/img/rotate.cur', - hoverCursor: 'pointer', - minScale: 0.3, - maxScale: 5, - anchorSize: 5, - keydown: KeydownType.Document, - viewPadding: 0, - gridSize: 10, - gridColor: '#f3f3f3', - ruleColor: '#888888', -}; -//# sourceMappingURL=options.js.map \ No newline at end of file + cacheLen: 30, + refresh: 30, + fontColor: '#222222', + fontFamily: '"Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial', + fontSize: 12, + lineHeight: 1.5, + textAlign: 'center', + textBaseline: 'middle', + color: '#222222', + activeColor: '#1890ff', + hoverColor: '#fa541c', + anchorRadius: 4, + anchorFillStyle: '#fff', + dockStrokeStyle: '#fa541c', + dockFillStyle: '#fa541c', + dragColor: '#1890ff', + rotateCursor: '/assets/img/rotate.cur', + hoverCursor: 'pointer', + minScale: 0.3, + maxScale: 5, + anchorSize: 5, + keydown: KeydownType.Document, + viewPadding: 0, + gridSize: 10, + gridColor: '#f3f3f3', + ruleColor: '#888888' +} +// # sourceMappingURL=options.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/renderLayer.js b/nezha-fronted/src/components/common/@topology/core/src/renderLayer.js index fdfc9c09f..0f22af1b7 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/renderLayer.js +++ b/nezha-fronted/src/components/common/@topology/core/src/renderLayer.js @@ -1,134 +1,133 @@ -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -import { Store } from 'le5le-store'; -import { Canvas } from './canvas'; -import { rgba } from './utils/math'; -import { Rect } from './models'; -var RenderLayer = /** @class */ (function (_super) { - __extends(RenderLayer, _super); - function RenderLayer(parentElem, options, TID) { - if (options === void 0) { options = {}; } - var _this = _super.call(this, parentElem, options, TID) || this; - _this.parentElem = parentElem; - _this.options = options; - _this.render = function () { - if (_this.data && _this.data.bkImage && !_this.bkImg) { - _this.loadBkImg(_this.render); - return; - } - if (!_this.width || !_this.height || !_this.offscreen) { - return; - } - var ctx = _this.canvas.getContext('2d'); - ctx.clearRect(0, 0, _this.canvas.width, _this.canvas.height); - if (_this.data.bkColor || _this.options.bkColor) { - ctx.fillStyle = _this.data.bkColor || _this.options.bkColor; - ctx.fillRect(0, 0, _this.width, _this.height); - } - if (_this.bkImg && _this.data.bkImageRect) { - ctx.drawImage(_this.bkImg, _this.data.bkImageRect.x, _this.data.bkImageRect.y, _this.data.bkImageRect.width, _this.data.bkImageRect.height); - } - if (_this.data.grid || _this.options.grid) { - _this.grid(); - } - if (_this.data.rule || _this.options.rule) { - _this.rule(); - } - ctx.drawImage(_this.offscreen, 0, 0, _this.width, _this.height); - }; - _this.offscreen = Store.get(_this.generateStoreKey('LT:offscreen')); - _this.parentElem.appendChild(_this.canvas); - _this.data = Store.get(_this.generateStoreKey('topology-data')); - return _this; +import { Store } from 'le5le-store' +import { Canvas } from './canvas' +import { rgba } from './utils/math' +import { Rect } from './models' +const __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b }) || + function (d, b) { for (const p in b) if (b.hasOwnProperty(p)) d[p] = b[p] } + return extendStatics(d, b) + } + return function (d, b) { + extendStatics(d, b) + function __ () { this.constructor = d } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()) + } +})() +const RenderLayer = /** @class */ (function (_super) { + __extends(RenderLayer, _super) + function RenderLayer (parentElem, options, TID) { + if (options === void 0) { options = {} } + const _this = _super.call(this, parentElem, options, TID) || this + _this.parentElem = parentElem + _this.options = options + _this.render = function () { + if (_this.data && _this.data.bkImage && !_this.bkImg) { + _this.loadBkImg(_this) + return + } + if (!_this.width || !_this.height || !_this.offscreen) { + return + } + const ctx = _this.canvas.getContext('2d') + ctx.clearRect(0, 0, _this.canvas.width, _this.canvas.height) + if (_this.data.bkColor || _this.options.bkColor) { + ctx.fillStyle = _this.data.bkColor || _this.options.bkColor + ctx.fillRect(0, 0, _this.width, _this.height) + } + if (_this.bkImg && _this.data.bkImageRect) { + ctx.drawImage(_this.bkImg, _this.data.bkImageRect.x, _this.data.bkImageRect.y, _this.data.bkImageRect.width, _this.data.bkImageRect.height) + } + if (_this.data.grid || _this.options.grid) { + _this.grid() + } + if (_this.data.rule || _this.options.rule) { + _this.rule() + } + ctx.drawImage(_this.offscreen, 0, 0, _this.width, _this.height) } - RenderLayer.prototype.loadBkImg = function (cb) { - var _this = this; - if (!this.data.bkImage) { - return; - } - this.bkImg = new Image(); - this.bkImg.crossOrigin = 'anonymous'; - this.bkImg.src = this.data.bkImage; - this.bkImg.onload = function () { - if (!_this.data.bkImageRect) { - _this.data.bkImageRect = new Rect(0, 0, _this.bkImg.naturalWidth, _this.bkImg.naturalHeight); - } - if (cb) { - cb(); - } - }; - }; - RenderLayer.prototype.clearBkImg = function () { - this.bkImg = undefined; - }; - RenderLayer.prototype.rule = function () { - var ctx = this.canvas.getContext('2d'); - ctx.save(); - ctx.lineWidth = 1; - ctx.strokeStyle = rgba(0.7, this.data.ruleColor || this.options.ruleColor || '#888'); - ctx.beginPath(); - for (var i = 10; i < this.width; i += 10) { - ctx.moveTo(i, 0); - ctx.lineTo(i, 5); - } - for (var i = 10; i < this.height; i += 10) { - ctx.moveTo(0, i); - ctx.lineTo(5, i); - } - ctx.stroke(); - ctx.beginPath(); - ctx.strokeStyle = this.data.ruleColor || this.options.ruleColor || '#888'; - ctx.fillStyle = ctx.strokeStyle; - for (var i = 100; i < this.width; i += 100) { - ctx.moveTo(i, 0); - ctx.lineTo(i, 10); - ctx.fillText(i.toString(), i + 4, 16); - } - for (var i = 100; i < this.height; i += 100) { - ctx.moveTo(0, i); - ctx.lineTo(10, i); - } - ctx.stroke(); - for (var i = 100; i < this.height; i += 100) { - ctx.save(); - ctx.beginPath(); - ctx.translate(16, i - 4); - ctx.rotate((270 * Math.PI) / 180); - ctx.fillText(i.toString(), 0, 0); - ctx.restore(); - } - ctx.restore(); - }; - RenderLayer.prototype.grid = function () { - var ctx = this.canvas.getContext('2d'); - ctx.save(); - ctx.lineWidth = 1; - ctx.strokeStyle = this.data.gridColor || this.options.gridColor || '#f3f3f3'; - ctx.beginPath(); - var size = this.data.gridSize || this.options.gridSize; - for (var i = size; i < this.width; i += size) { - ctx.moveTo(i, 0); - ctx.lineTo(i, this.height); - } - for (var i = size; i < this.height; i += size) { - ctx.moveTo(0, i); - ctx.lineTo(this.width, i); - } - ctx.stroke(); - ctx.restore(); - }; - return RenderLayer; -}(Canvas)); -export { RenderLayer }; -//# sourceMappingURL=renderLayer.js.map \ No newline at end of file + _this.offscreen = Store.get(_this.generateStoreKey('LT:offscreen')) + _this.parentElem.appendChild(_this.canvas) + _this.data = Store.get(_this.generateStoreKey('topology-data')) + } + RenderLayer.prototype.loadBkImg = function (cb) { + const _this = this + if (!this.data.bkImage) { + return + } + this.bkImg = new Image() + this.bkImg.crossOrigin = 'anonymous' + this.bkImg.src = this.data.bkImage + this.bkImg.onload = function () { + if (!_this.data.bkImageRect) { + _this.data.bkImageRect = new Rect(0, 0, _this.bkImg.naturalWidth, _this.bkImg.naturalHeight) + } + if (cb) { + cb() + } + } + } + RenderLayer.prototype.clearBkImg = function () { + this.bkImg = undefined + } + RenderLayer.prototype.rule = function () { + const ctx = this.canvas.getContext('2d') + ctx.save() + ctx.lineWidth = 1 + ctx.strokeStyle = rgba(0.7, this.data.ruleColor || this.options.ruleColor || '#888') + ctx.beginPath() + for (var i = 10; i < this.width; i += 10) { + ctx.moveTo(i, 0) + ctx.lineTo(i, 5) + } + for (var i = 10; i < this.height; i += 10) { + ctx.moveTo(0, i) + ctx.lineTo(5, i) + } + ctx.stroke() + ctx.beginPath() + ctx.strokeStyle = this.data.ruleColor || this.options.ruleColor || '#888' + ctx.fillStyle = ctx.strokeStyle + for (var i = 100; i < this.width; i += 100) { + ctx.moveTo(i, 0) + ctx.lineTo(i, 10) + ctx.fillText(i.toString(), i + 4, 16) + } + for (var i = 100; i < this.height; i += 100) { + ctx.moveTo(0, i) + ctx.lineTo(10, i) + } + ctx.stroke() + for (var i = 100; i < this.height; i += 100) { + ctx.save() + ctx.beginPath() + ctx.translate(16, i - 4) + ctx.rotate((270 * Math.PI) / 180) + ctx.fillText(i.toString(), 0, 0) + ctx.restore() + } + ctx.restore() + } + RenderLayer.prototype.grid = function () { + const ctx = this.canvas.getContext('2d') + ctx.save() + ctx.lineWidth = 1 + ctx.strokeStyle = this.data.gridColor || this.options.gridColor || '#f3f3f3' + ctx.beginPath() + const size = this.data.gridSize || this.options.gridSize + for (var i = size; i < this.width; i += size) { + ctx.moveTo(i, 0) + ctx.lineTo(i, this.height) + } + for (var i = size; i < this.height; i += size) { + ctx.moveTo(0, i) + ctx.lineTo(this.width, i) + } + ctx.stroke() + ctx.restore() + } + return RenderLayer +}(Canvas)) +export { RenderLayer } +// # sourceMappingURL=renderLayer.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/socket.js b/nezha-fronted/src/components/common/@topology/core/src/socket.js index 3049b6db9..19f2b8c44 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/socket.js +++ b/nezha-fronted/src/components/common/@topology/core/src/socket.js @@ -1,24 +1,24 @@ -var Socket = /** @class */ (function () { - function Socket(url, cb) { - this.url = url; - this.cb = cb; - this.fns = {}; - this.init(); +const Socket = /** @class */ (function () { + function Socket (url, cb) { + this.url = url + this.cb = cb + this.fns = {} + this.init() + } + Socket.prototype.init = function () { + const _this = this + this.socket = new WebSocket(this.url) + this.socket.onmessage = this.cb + this.socket.onclose = function () { + console.info('Canvas websocket closed and reconneting...') + _this.init() } - Socket.prototype.init = function () { - var _this = this; - this.socket = new WebSocket(this.url); - this.socket.onmessage = this.cb; - this.socket.onclose = function () { - console.info('Canvas websocket closed and reconneting...'); - _this.init(); - }; - }; - Socket.prototype.close = function () { - this.socket.onclose = undefined; - this.socket.close(); - }; - return Socket; -}()); -export { Socket }; -//# sourceMappingURL=socket.js.map \ No newline at end of file + } + Socket.prototype.close = function () { + this.socket.onclose = undefined + this.socket.close() + } + return Socket +}()) +export { Socket } +// # sourceMappingURL=socket.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/browser.js b/nezha-fronted/src/components/common/@topology/core/src/utils/browser.js index d4ace7502..a7463d06b 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/utils/browser.js +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/browser.js @@ -1,4 +1,4 @@ -export function isMobile() { - return /Android|webOS|iPad|iPhone|iPod|BlackBerry/i.test(navigator.userAgent); +export function isMobile () { + return /Android|webOS|iPad|iPhone|iPod|BlackBerry/i.test(navigator.userAgent) } -//# sourceMappingURL=browser.js.map \ No newline at end of file +// # sourceMappingURL=browser.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/cacheDB.js b/nezha-fronted/src/components/common/@topology/core/src/utils/cacheDB.js index 6f1721d47..4f6cc526a 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/utils/cacheDB.js +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/cacheDB.js @@ -1,103 +1,103 @@ -export function createCacheTable() { - var request = indexedDB.open('topology-caches'); // 默认版本 1 - request.onupgradeneeded = function (e) { - // 建表 - var db = e.target.result; - if (db.objectStoreNames.contains('caches')) { - db.deleteObjectStore('caches'); - } - db.createObjectStore('caches', { - keyPath: 'dbIndex', - }); - }; +export function createCacheTable () { + const request = indexedDB.open('topology-caches') // 默认版本 1 + request.onupgradeneeded = function (e) { + // 建表 + const db = e.target.result + if (db.objectStoreNames.contains('caches')) { + db.deleteObjectStore('caches') + } + db.createObjectStore('caches', { + keyPath: 'dbIndex' + }) + } + request.onsuccess = function (event) { + const db = request.result + if (!db.objectStoreNames.contains('caches')) { + return + } + const get = db.transaction(['caches'], 'readwrite').objectStore('caches') + get.clear() // 创建表格同时清空 + } + request.onerror = function (e) { + console.warn('数据库打开失败' + e) + } +} +export function spliceCache (index) { + const request = indexedDB.open('topology-caches') // 默认版本 1 + request.onsuccess = function (event) { + const db = request.result + if (!db.objectStoreNames.contains('caches')) { + return + } + const get = db.transaction(['caches'], 'readwrite').objectStore('caches') + get.delete(IDBKeyRange.lowerBound(index)) + } + request.onupgradeneeded = function (e) { + // 建表 + const db = e.target.result + if (db.objectStoreNames.contains('caches')) { + db.deleteObjectStore('caches') + } + db.createObjectStore('caches', { + keyPath: 'dbIndex' + }) + } +} +export function pushCache (data, index, length) { + const request = indexedDB.open('topology-caches') // 默认版本 1 + request.onsuccess = function (event) { + const db = request.result + if (!db.objectStoreNames.contains('caches')) { + return + } + const push = db.transaction(['caches'], 'readwrite').objectStore('caches') + data.dbIndex = index + push.add(data) + const result = push.count() + result.onsuccess = function () { + if (result.result > length) { + // 把最前面的一个扔出去 + push.delete(index - length) + } + } + } + request.onupgradeneeded = function (e) { + // 建表 + const db = e.target.result + if (db.objectStoreNames.contains('caches')) { + db.deleteObjectStore('caches') + } + db.createObjectStore('caches', { + keyPath: 'dbIndex' + }) + } +} +export function getCache (index) { + return new Promise(function (resolve, reject) { + const request = indexedDB.open('topology-caches') // 默认版本 1 request.onsuccess = function (event) { - var db = request.result; - if (!db.objectStoreNames.contains('caches')) { - return; - } - var get = db.transaction(['caches'], 'readwrite').objectStore('caches'); - get.clear(); // 创建表格同时清空 - }; - request.onerror = function (e) { - console.warn('数据库打开失败' + e); - }; -} -export function spliceCache(index) { - var request = indexedDB.open('topology-caches'); // 默认版本 1 - request.onsuccess = function (event) { - var db = request.result; - if (!db.objectStoreNames.contains('caches')) { - return; - } - var get = db.transaction(['caches'], 'readwrite').objectStore('caches'); - get.delete(IDBKeyRange.lowerBound(index)); - }; + const db = request.result + if (!db.objectStoreNames.contains('caches')) { + resolve(null) + return + } + const objectStore = db.transaction(['caches']).objectStore('caches') + const get = objectStore.get(index) + get.onsuccess = function () { + // undefined 也传出去 + resolve(get.result) + } + } request.onupgradeneeded = function (e) { - // 建表 - var db = e.target.result; - if (db.objectStoreNames.contains('caches')) { - db.deleteObjectStore('caches'); - } - db.createObjectStore('caches', { - keyPath: 'dbIndex', - }); - }; + // 建表 + const db = e.target.result + if (db.objectStoreNames.contains('caches')) { + db.deleteObjectStore('caches') + } + db.createObjectStore('caches', { + keyPath: 'dbIndex' + }) + } + }) } -export function pushCache(data, index, length) { - var request = indexedDB.open('topology-caches'); // 默认版本 1 - request.onsuccess = function (event) { - var db = request.result; - if (!db.objectStoreNames.contains('caches')) { - return; - } - var push = db.transaction(['caches'], 'readwrite').objectStore('caches'); - data.dbIndex = index; - push.add(data); - var result = push.count(); - result.onsuccess = function () { - if (result.result > length) { - // 把最前面的一个扔出去 - push.delete(index - length); - } - }; - }; - request.onupgradeneeded = function (e) { - // 建表 - var db = e.target.result; - if (db.objectStoreNames.contains('caches')) { - db.deleteObjectStore('caches'); - } - db.createObjectStore('caches', { - keyPath: 'dbIndex', - }); - }; -} -export function getCache(index) { - return new Promise(function (resolve, reject) { - var request = indexedDB.open('topology-caches'); // 默认版本 1 - request.onsuccess = function (event) { - var db = request.result; - if (!db.objectStoreNames.contains('caches')) { - resolve(null); - return; - } - var objectStore = db.transaction(['caches']).objectStore('caches'); - var get = objectStore.get(index); - get.onsuccess = function () { - // undefined 也传出去 - resolve(get.result); - }; - }; - request.onupgradeneeded = function (e) { - // 建表 - var db = e.target.result; - if (db.objectStoreNames.contains('caches')) { - db.deleteObjectStore('caches'); - } - db.createObjectStore('caches', { - keyPath: 'dbIndex', - }); - }; - }); -} -//# sourceMappingURL=cacheDB.js.map \ No newline at end of file +// # sourceMappingURL=cacheDB.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/canvas.js b/nezha-fronted/src/components/common/@topology/core/src/utils/canvas.js index 4d1d6fe76..75a46430e 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/utils/canvas.js +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/canvas.js @@ -1,115 +1,114 @@ -import { Point } from '../models/point'; -export function flatNodes(nodes) { - var result = { - nodes: [], - lines: [], - }; - for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) { - var item = nodes_1[_i]; - if (item.type) { - result.lines.push(item); - continue; - } - result.nodes.push(item); - if (item.children) { - result.nodes.push.apply(result.nodes, flatNodes(item.children).nodes); - result.lines.push.apply(result.lines, flatNodes(item.children).lines); - } +import { Point } from '../models/point' +export function flatNodes (nodes) { + const result = { + nodes: [], + lines: [] + } + for (let _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) { + const item = nodes_1[_i] + if (item.type) { + result.lines.push(item) + continue } - return result; -} -export function find(idOrTag, pens) { - var result = []; - pens.forEach(function (item) { - if (item.id === idOrTag || item.tags.indexOf(idOrTag) > -1) { - result.push(item); - } - if (item.children) { - result.push.apply(result, find(idOrTag, item.children)); - } - }); - return result; -} -export function del(idOrTag, pens) { - var deleted = []; - for (var i = 0; i < pens.length; i++) { - if (pens[i].id === idOrTag || pens[i].tags.indexOf(idOrTag) > -1) { - deleted.push(pens[i]); - pens.splice(i, 1); - --i; - } - else if (pens[i].children) { - deleted.push.apply(deleted, del(idOrTag, pens[i].children)); - } + result.nodes.push(item) + if (item.children) { + result.nodes.push.apply(result.nodes, flatNodes(item.children).nodes) + result.lines.push.apply(result.lines, flatNodes(item.children).lines) } - return deleted; + } + return result } -export function getParent(pens, child) { - var parent; - for (var _i = 0, pens_1 = pens; _i < pens_1.length; _i++) { - var item = pens_1[_i]; - if (item.type) { - continue; - } - if (!item.children) { - continue; - } - for (var _a = 0, _b = item.children; _a < _b.length; _a++) { - var subItem = _b[_a]; - if (subItem.id === child.id) { - return item; - } - if (subItem.type) { - continue; - } - if (subItem.children) { - parent = getParent(subItem.children, child); - if (parent) { - return parent; - } - } - } +export function find (idOrTag, pens) { + const result = [] + pens.forEach(function (item) { + if (item.id === idOrTag || item.tags.indexOf(idOrTag) > -1) { + result.push(item) } - return parent; -} -export function pointInRect(point, vertices) { - if (vertices.length < 3) { - return false; + if (item.children) { + result.push.apply(result, find(idOrTag, item.children)) } - var isIn = false; - var last = vertices[vertices.length - 1]; - for (var _i = 0, vertices_1 = vertices; _i < vertices_1.length; _i++) { - var item = vertices_1[_i]; - if (((last.y > point.y) !== (item.y > point.y))) { - if (item.x + ((point.y - item.y) * (last.x - item.x)) / (last.y - item.y) > point.x) { - isIn = !isIn; - } + }) + return result +} +export function del (idOrTag, pens) { + const deleted = [] + for (let i = 0; i < pens.length; i++) { + if (pens[i].id === idOrTag || pens[i].tags.indexOf(idOrTag) > -1) { + deleted.push(pens[i]) + pens.splice(i, 1) + --i + } else if (pens[i].children) { + deleted.push.apply(deleted, del(idOrTag, pens[i].children)) + } + } + return deleted +} +export function getParent (pens, child) { + let parent + for (let _i = 0, pens_1 = pens; _i < pens_1.length; _i++) { + const item = pens_1[_i] + if (item.type) { + continue + } + if (!item.children) { + continue + } + for (let _a = 0, _b = item.children; _a < _b.length; _a++) { + const subItem = _b[_a] + if (subItem.id === child.id) { + return item + } + if (subItem.type) { + continue + } + if (subItem.children) { + parent = getParent(subItem.children, child) + if (parent) { + return parent } - last = item; + } } - return isIn; + } + return parent } -export function pointInLine(point, from, to, padding) { - if (padding === void 0) { padding = 1; } - var angle = Math.atan2(from.y - to.y, to.x - from.x); - padding = padding > 5 ? padding : 5; - var x = Math.sin(angle) * padding; - var y = Math.cos(angle) * padding; - var points = [ - new Point(from.x - x, from.y - y), - new Point(to.x - x, to.y - y), - new Point(to.x + x, to.y + y), - new Point(from.x + x, from.y + y) - ]; - return pointInRect(point, points); +export function pointInRect (point, vertices) { + if (vertices.length < 3) { + return false + } + let isIn = false + let last = vertices[vertices.length - 1] + for (let _i = 0, vertices_1 = vertices; _i < vertices_1.length; _i++) { + const item = vertices_1[_i] + if (((last.y > point.y) !== (item.y > point.y))) { + if (item.x + ((point.y - item.y) * (last.x - item.x)) / (last.y - item.y) > point.x) { + isIn = !isIn + } + } + last = item + } + return isIn } -export function lineLen(from, to) { - var len = Math.sqrt(Math.pow(Math.abs(from.x - to.x), 2) + Math.pow(Math.abs(from.y - to.y), 2)); - return len | 0; +export function pointInLine (point, from, to, padding) { + if (padding === void 0) { padding = 1 } + const angle = Math.atan2(from.y - to.y, to.x - from.x) + padding = padding > 5 ? padding : 5 + const x = Math.sin(angle) * padding + const y = Math.cos(angle) * padding + const points = [ + new Point(from.x - x, from.y - y), + new Point(to.x - x, to.y - y), + new Point(to.x + x, to.y + y), + new Point(from.x + x, from.y + y) + ] + return pointInRect(point, points) } -export function curveLen(from, cp1, cp2, to) { - var path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - path.setAttribute('d', "M" + from.x + " " + from.y + " C" + cp1.x + " " + cp1.y + " " + cp2.x + " " + cp2.y + " " + to.x + " " + to.y); - return path.getTotalLength() | 0; +export function lineLen (from, to) { + const len = Math.sqrt(Math.pow(Math.abs(from.x - to.x), 2) + Math.pow(Math.abs(from.y - to.y), 2)) + return len | 0 } -//# sourceMappingURL=canvas.js.map \ No newline at end of file +export function curveLen (from, cp1, cp2, to) { + const path = document.createElementNS('http://www.w3.org/2000/svg', 'path') + path.setAttribute('d', 'M' + from.x + ' ' + from.y + ' C' + cp1.x + ' ' + cp1.y + ' ' + cp2.x + ' ' + cp2.y + ' ' + to.x + ' ' + to.y) + return path.getTotalLength() | 0 +} +// # sourceMappingURL=canvas.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/clone.js b/nezha-fronted/src/components/common/@topology/core/src/utils/clone.js index 32ef14905..b267f2ec1 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/utils/clone.js +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/clone.js @@ -1,24 +1,22 @@ -export function deepClone(o) { - if (Array.isArray(o)) { - var arr_1 = []; - o.forEach(function (item) { - arr_1.push(deepClone(item)); - }); - return arr_1; +export function deepClone (o) { + if (Array.isArray(o)) { + const arr_1 = [] + o.forEach(function (item) { + arr_1.push(deepClone(item)) + }) + return arr_1 + } else if (typeof o === 'object') { + if (o === null) { + return null + } else if (o.constructor === RegExp) { + return o } - else if (typeof o === 'object') { - if (o === null) { - return null; - } - else if (o.constructor === RegExp) { - return o; - } - var _o = {}; - for (var key in o) { - _o[key] = deepClone(o[key]); - } - return _o; + const _o = {} + for (const key in o) { + _o[key] = deepClone(o[key]) } - return o; + return _o + } + return o } -//# sourceMappingURL=clone.js.map \ No newline at end of file +// # sourceMappingURL=clone.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/dom.js b/nezha-fronted/src/components/common/@topology/core/src/utils/dom.js index 9b4d7bc9c..2a32279c8 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/utils/dom.js +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/dom.js @@ -1,45 +1,45 @@ -import { Store } from 'le5le-store'; -export function createDiv(node) { - var div = document.createElement('div'); - div.style.position = 'absolute'; - div.style.outline = 'none'; - div.style.left = '-9999px'; - div.style.bottom = '-9999px'; - div.style.width = node.rect.width + 'px'; - div.style.height = node.rect.height + 'px'; - if (node.elementId) { - div.id = node.elementId; +import { Store } from 'le5le-store' +export function createDiv (node) { + const div = document.createElement('div') + div.style.position = 'absolute' + div.style.outline = 'none' + div.style.left = '-9999px' + div.style.bottom = '-9999px' + div.style.width = node.rect.width + 'px' + div.style.height = node.rect.height + 'px' + if (node.elementId) { + div.id = node.elementId + } + return div +} +export function createInput (node) { + const input = document.createElement('input') + input.style.position = 'absolute' + input.style.outline = 'none' + input.style.left = '-9999px' + input.style.bottom = '-9999px' + input.style.width = node.rect.width + 'px' + input.style.height = node.rect.height + 'px' + input.style.border = '1px solid #cdcdcd' + input.classList.add('set-text-input') + if (node.elementId) { + input.id = node.elementId + } + return input +} +export function loadJS (url, callback, render) { + const loaderScript = document.createElement('script') + loaderScript.type = 'text/javascript' + loaderScript.src = url + loaderScript.addEventListener('load', function () { + if (callback) { + callback() } - return div; -} -export function createInput(node) { - var input = document.createElement('input'); - input.style.position = 'absolute'; - input.style.outline = 'none'; - input.style.left = '-9999px'; - input.style.bottom = '-9999px'; - input.style.width = node.rect.width + 'px'; - input.style.height = node.rect.height + 'px'; - input.style.border = '1px solid #cdcdcd'; - input.classList.add('set-text-input'); - if (node.elementId) { - input.id = node.elementId; + // how to do + if (render) { + Store.set('LT:render', true) } - return input; + }) + document.body.appendChild(loaderScript) } -export function loadJS(url, callback, render) { - var loaderScript = document.createElement('script'); - loaderScript.type = 'text/javascript'; - loaderScript.src = url; - loaderScript.addEventListener('load', function () { - if (callback) { - callback(); - } - // how to do - if (render) { - Store.set('LT:render', true); - } - }); - document.body.appendChild(loaderScript); -} -//# sourceMappingURL=dom.js.map \ No newline at end of file +// # sourceMappingURL=dom.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/index.js b/nezha-fronted/src/components/common/@topology/core/src/utils/index.js index 8bdeed728..b0972851c 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/utils/index.js +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/index.js @@ -1,9 +1,9 @@ -export * from './canvas'; -export * from './dom'; -export * from './math'; -export * from './rect'; -export * from './uuid'; -export * from './browser'; -export * from './clone'; -export * from './cacheDB'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './canvas' +export * from './dom' +export * from './math' +export * from './rect' +export * from './uuid' +export * from './browser' +export * from './clone' +export * from './cacheDB' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/math.js b/nezha-fronted/src/components/common/@topology/core/src/utils/math.js index aa8f0baa1..93a4ff52a 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/utils/math.js +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/math.js @@ -1,74 +1,63 @@ // pSBC - Shade Blend Convert - Version 4.0 - 02/18/2019 // https://github.com/PimpTrizkit/PJs/edit/master/pSBC.js -export function pSBCr(d) { - var i = parseInt, m = Math.round; - var n = d.length, x = {}; - if (n > 9) { - var _a = (d = d.split(',')), r = _a[0], g = _a[1], b = _a[2], a = _a[3]; - n = d.length; - if (n < 3 || n > 4) - return null; - (x.r = i(r[3] == 'a' ? r.slice(5) : r.slice(4))), (x.g = i(g)), (x.b = i(b)), (x.a = a ? parseFloat(a) : -1); - } - else { - if (n == 8 || n == 6 || n < 4) - return null; - if (n < 6) - d = '#' + d[1] + d[1] + d[2] + d[2] + d[3] + d[3] + (n > 4 ? d[4] + d[4] : ''); - d = i(d.slice(1), 16); - if (n == 9 || n == 5) - (x.r = (d >> 24) & 255), (x.g = (d >> 16) & 255), (x.b = (d >> 8) & 255), (x.a = m((d & 255) / 0.255) / 1000); - else - (x.r = d >> 16), (x.g = (d >> 8) & 255), (x.b = d & 255), (x.a = -1); - } - return x; +export function pSBCr (d) { + const i = parseInt; const m = Math.round + let n = d.length; const x = {} + if (n > 9) { + const _a = (d = d.split(',')); const r = _a[0]; const g = _a[1]; const b = _a[2]; const a = _a[3] + n = d.length + if (n < 3 || n > 4) { return null } + (x.r = i(r[3] == 'a' ? r.slice(5) : r.slice(4))), (x.g = i(g)), (x.b = i(b)), (x.a = a ? parseFloat(a) : -1) + } else { + if (n == 8 || n == 6 || n < 4) { return null } + if (n < 6) { d = '#' + d[1] + d[1] + d[2] + d[2] + d[3] + d[3] + (n > 4 ? d[4] + d[4] : '') } + d = i(d.slice(1), 16) + if (n == 9 || n == 5) { (x.r = (d >> 24) & 255), (x.g = (d >> 16) & 255), (x.b = (d >> 8) & 255), (x.a = m((d & 255) / 0.255) / 1000) } else { (x.r = d >> 16), (x.g = (d >> 8) & 255), (x.b = d & 255), (x.a = -1) } + } + return x } -export function pSBC(p, c0, c1, l) { - var r, g, b, P, f, t, h, m = Math.round, a = typeof c1 == 'string'; - if (typeof p != 'number' || p < -1 || p > 1 || typeof c0 != 'string' || (c0[0] != 'r' && c0[0] != '#') || (c1 && !a)) - return null; - (h = c0.length > 9), - (h = a ? (c1.length > 9 ? true : c1 == 'c' ? !h : false) : h), - (f = pSBCr(c0)), - (P = p < 0), - (t = c1 && c1 != 'c' ? pSBCr(c1) : P ? { r: 0, g: 0, b: 0, a: -1 } : { r: 255, g: 255, b: 255, a: -1 }), - (p = P ? p * -1 : p), - (P = 1 - p); - if (!f || !t) - return null; - if (l) - (r = m(P * f.r + p * t.r)), (g = m(P * f.g + p * t.g)), (b = m(P * f.b + p * t.b)); - else - (r = m(Math.pow((P * Math.pow(f.r, 2) + p * Math.pow(t.r, 2)), 0.5))), - (g = m(Math.pow((P * Math.pow(f.g, 2) + p * Math.pow(t.g, 2)), 0.5))), - (b = m(Math.pow((P * Math.pow(f.b, 2) + p * Math.pow(t.b, 2)), 0.5))); - (a = f.a), (t = t.a), (f = a >= 0 || t >= 0), (a = f ? (a < 0 ? t : t < 0 ? a : a * P + t * p) : 0); - if (h) - return 'rgb' + (f ? 'a(' : '(') + r + ',' + g + ',' + b + (f ? ',' + m(a * 1000) / 1000 : '') + ')'; - else - return ('#' + - (4294967296 + r * 16777216 + g * 65536 + b * 256 + (f ? m(a * 255) : 0)).toString(16).slice(1, f ? undefined : -2)); +export function pSBC (p, c0, c1, l) { + let r; let g; let b; let P; let f; let t; let h; const m = Math.round; let a = typeof c1 == 'string' + if (typeof p != 'number' || p < -1 || p > 1 || typeof c0 != 'string' || (c0[0] != 'r' && c0[0] != '#') || (c1 && !a)) { return null } + (h = c0.length > 9), + (h = a ? (c1.length > 9 ? true : c1 == 'c' ? !h : false) : h), + (f = pSBCr(c0)), + (P = p < 0), + (t = c1 && c1 != 'c' ? pSBCr(c1) : P ? { r: 0, g: 0, b: 0, a: -1 } : { r: 255, g: 255, b: 255, a: -1 }), + (p = P ? p * -1 : p), + (P = 1 - p) + if (!f || !t) { return null } + if (l) { (r = m(P * f.r + p * t.r)), (g = m(P * f.g + p * t.g)), (b = m(P * f.b + p * t.b)) } else { + (r = m(Math.pow((P * Math.pow(f.r, 2) + p * Math.pow(t.r, 2)), 0.5))), + (g = m(Math.pow((P * Math.pow(f.g, 2) + p * Math.pow(t.g, 2)), 0.5))), + (b = m(Math.pow((P * Math.pow(f.b, 2) + p * Math.pow(t.b, 2)), 0.5))) + } + (a = f.a), (t = t.a), (f = a >= 0 || t >= 0), (a = f ? (a < 0 ? t : t < 0 ? a : a * P + t * p) : 0) + if (h) { return 'rgb' + (f ? 'a(' : '(') + r + ',' + g + ',' + b + (f ? ',' + m(a * 1000) / 1000 : '') + ')' } else { + return ('#' + + (4294967296 + r * 16777216 + g * 65536 + b * 256 + (f ? m(a * 255) : 0)).toString(16).slice(1, f ? undefined : -2)) + } } -export function rgba(p, c) { - var f = pSBCr(c) || { r: 0, g: 0, b: 0 }; - if (f.a < 0) { - return "rgba(" + f.r + "," + f.g + "," + f.b + "," + p + ")"; - } - return "rgba(" + f.r + "," + f.g + "," + f.b + "," + (p + f.a) + ")"; +export function rgba (p, c) { + const f = pSBCr(c) || { r: 0, g: 0, b: 0 } + if (f.a < 0) { + return 'rgba(' + f.r + ',' + f.g + ',' + f.b + ',' + p + ')' + } + return 'rgba(' + f.r + ',' + f.g + ',' + f.b + ',' + (p + f.a) + ')' } -export function abs(num, percent) { - if (+percent) { - return +percent; - } - if (!percent || percent[percent.length - 1] !== '%') { - return 0; - } - percent = percent.substr(0, percent.length - 1); - return (num * +percent) / 100; +export function abs (num, percent) { + if (+percent) { + return +percent + } + if (!percent || percent[percent.length - 1] !== '%') { + return 0 + } + percent = percent.substr(0, percent.length - 1) + return (num * +percent) / 100 } -export function distance(pt1, pt2) { - var x = pt1.x - pt2.x; - var y = pt1.y - pt2.y; - return Math.sqrt(x * x + y * y); +export function distance (pt1, pt2) { + const x = pt1.x - pt2.x + const y = pt1.y - pt2.y + return Math.sqrt(x * x + y * y) } -//# sourceMappingURL=math.js.map \ No newline at end of file +// # sourceMappingURL=math.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/padding.js b/nezha-fronted/src/components/common/@topology/core/src/utils/padding.js index 3e9842b5d..175af0e24 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/utils/padding.js +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/padding.js @@ -4,25 +4,23 @@ * @return {array} output */ export var formatPadding = function (padding) { - var top = 0; - var left = 0; - var right = 0; - var bottom = 0; - if (typeof padding === 'number') { - top = left = right = bottom = padding; - } - else if (typeof padding === 'string') { - var intPadding = parseInt(padding, 10); - top = left = right = bottom = intPadding; - } - else if (Array.isArray(padding)) { - top = padding[0]; - right = !isNil(padding[1]) ? padding[1] : padding[0]; - bottom = !isNil(padding[2]) ? padding[2] : padding[0]; - left = !isNil(padding[3]) ? padding[3] : right; - } - return [top, right, bottom, left]; -}; + let top = 0 + let left = 0 + let right = 0 + let bottom = 0 + if (typeof padding === 'number') { + top = left = right = bottom = padding + } else if (typeof padding === 'string') { + const intPadding = parseInt(padding, 10) + top = left = right = bottom = intPadding + } else if (Array.isArray(padding)) { + top = padding[0] + right = !isNil(padding[1]) ? padding[1] : padding[0] + bottom = !isNil(padding[2]) ? padding[2] : padding[0] + left = !isNil(padding[3]) ? padding[3] : right + } + return [top, right, bottom, left] +} /** * Checks if `value` is `null` or `undefined`. * @@ -41,7 +39,7 @@ export var formatPadding = function (padding) { * isNil(NaN) * // => false */ -function isNil(value) { - return value == null; +function isNil (value) { + return value == null } -//# sourceMappingURL=padding.js.map \ No newline at end of file +// # sourceMappingURL=padding.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/rect.js b/nezha-fronted/src/components/common/@topology/core/src/utils/rect.js index 481c2bdc4..b21f73816 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/utils/rect.js +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/rect.js @@ -1,96 +1,93 @@ -import { Node } from '../models/node'; -import { Line } from '../models/line'; -import { getBezierPoint } from '../middles/lines/curve'; -import { Rect } from '../models/rect'; +import { Node } from '../models/node' +import { Line } from '../models/line' +import { getBezierPoint } from '../middles/lines/curve' +import { Rect } from '../models/rect' /** * 不包含画布偏移量 * */ -export function getRect(pens) { - var points = []; - for (var _i = 0, pens_1 = pens; _i < pens_1.length; _i++) { - var item = pens_1[_i]; - if (item instanceof Node) { - var pts = item.rect.toPoints(); - if (item.rotate) { - for (var _a = 0, pts_1 = pts; _a < pts_1.length; _a++) { - var pt = pts_1[_a]; - pt.rotate(item.rotate, item.rect.center); - } - } - points.push.apply(points, pts); +export function getRect (pens) { + const points = [] + for (let _i = 0, pens_1 = pens; _i < pens_1.length; _i++) { + const item = pens_1[_i] + if (item instanceof Node) { + const pts = item.rect.toPoints() + if (item.rotate) { + for (let _a = 0, pts_1 = pts; _a < pts_1.length; _a++) { + const pt = pts_1[_a] + pt.rotate(item.rotate, item.rect.center) } - else if (item instanceof Line) { - if (item.children) { - item.children.forEach(function (child) { - points.push(child.from); - points.push(child.to); - if (Array.isArray(child.controlPoints)) { - points.push.apply(points, child.controlPoints); - } - if (child.name === 'curve') { - for (var i = 0.01; i < 1; i += 0.02) { - points.push(getBezierPoint(i, child.from, child.controlPoints[0], child.controlPoints[1], child.to)); - } - } - }); - } - else if (item.from) { - points.push(item.from); - points.push(item.to); - if (Array.isArray(item.controlPoints)) { - points.push.apply(points, item.controlPoints); - } - if (item.name === 'curve') { - for (var i = 0.01; i < 1; i += 0.02) { - points.push(getBezierPoint(i, item.from, item.controlPoints[0], item.controlPoints[1], item.to)); - } - } + } + points.push.apply(points, pts) + } else if (item instanceof Line) { + if (item.children) { + item.children.forEach(function (child) { + points.push(child.from) + points.push(child.to) + if (Array.isArray(child.controlPoints)) { + points.push.apply(points, child.controlPoints) + } + if (child.name === 'curve') { + for (let i = 0.01; i < 1; i += 0.02) { + points.push(getBezierPoint(i, child.from, child.controlPoints[0], child.controlPoints[1], child.to)) } + } + }) + } else if (item.from) { + points.push(item.from) + points.push(item.to) + if (Array.isArray(item.controlPoints)) { + points.push.apply(points, item.controlPoints) } + if (item.name === 'curve') { + for (let i = 0.01; i < 1; i += 0.02) { + points.push(getBezierPoint(i, item.from, item.controlPoints[0], item.controlPoints[1], item.to)) + } + } + } } - var _b = getBboxOfPoints(points), x1 = _b.x1, y1 = _b.y1, x2 = _b.x2, y2 = _b.y2; - return new Rect(x1, y1, x2 - x1, y2 - y1); + } + const _b = getBboxOfPoints(points); const x1 = _b.x1; const y1 = _b.y1; const x2 = _b.x2; const y2 = _b.y2 + return new Rect(x1, y1, x2 - x1, y2 - y1) } -export function getBboxOfPoints(points) { - var x1 = Infinity; - var y1 = Infinity; - var x2 = -Infinity; - var y2 = -Infinity; - for (var _i = 0, points_1 = points; _i < points_1.length; _i++) { - var item = points_1[_i]; - var x = item.x, y = item.y; - if (isNaN(x) || isNaN(y)) - continue; - x1 = Math.min(x1, x); - y1 = Math.min(y1, y); - x2 = Math.max(x2, x); - y2 = Math.max(y2, y); - } - return { x1: x1, y1: y1, x2: x2, y2: y2 }; +export function getBboxOfPoints (points) { + let x1 = Infinity + let y1 = Infinity + let x2 = -Infinity + let y2 = -Infinity + for (let _i = 0, points_1 = points; _i < points_1.length; _i++) { + const item = points_1[_i] + const x = item.x; const y = item.y + if (isNaN(x) || isNaN(y)) { continue } + x1 = Math.min(x1, x) + y1 = Math.min(y1, y) + x2 = Math.max(x2, x) + y2 = Math.max(y2, y) + } + return { x1: x1, y1: y1, x2: x2, y2: y2 } } -export function rectInRect(source, target) { - return !( +export function rectInRect (source, target) { + return !( // 括号内表明 在范围外的 四个区域 - source.x > target.ex || source.ex < target.x || source.ey < target.y || source.y > target.ey); + source.x > target.ex || source.ex < target.x || source.ey < target.y || source.y > target.ey) } /** * 合并大小全部传入的 rects * */ -export function getMoreRect() { - var rects = []; - for (var _i = 0; _i < arguments.length; _i++) { - rects[_i] = arguments[_i]; +export function getMoreRect () { + const rects = [] + for (let _i = 0; _i < arguments.length; _i++) { + rects[_i] = arguments[_i] + } + const rect = new Rect(rects[0].x, rects[0].y, rects[0].width, rects[0].height) + for (let i = 1; i < rects.length; i++) { + const currentRect = rects[i] + if (currentRect) { + rect.x > currentRect.x && (rect.x = currentRect.x) + rect.y > currentRect.y && (rect.y = currentRect.y) + rect.ex < currentRect.ex && (rect.ex = currentRect.ex) + rect.ey < currentRect.ey && (rect.ey = currentRect.ey) } - var rect = new Rect(rects[0].x, rects[0].y, rects[0].width, rects[0].height); - for (var i = 1; i < rects.length; i++) { - var currentRect = rects[i]; - if (currentRect) { - rect.x > currentRect.x && (rect.x = currentRect.x); - rect.y > currentRect.y && (rect.y = currentRect.y); - rect.ex < currentRect.ex && (rect.ex = currentRect.ex); - rect.ey < currentRect.ey && (rect.ey = currentRect.ey); - } - } - return new Rect(rect.x, rect.y, rect.ex - rect.x, rect.ey - rect.y); + } + return new Rect(rect.x, rect.y, rect.ex - rect.x, rect.ey - rect.y) } -//# sourceMappingURL=rect.js.map \ No newline at end of file +// # sourceMappingURL=rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/core/src/utils/uuid.js b/nezha-fronted/src/components/common/@topology/core/src/utils/uuid.js index f70ffdf27..3af14ec44 100644 --- a/nezha-fronted/src/components/common/@topology/core/src/utils/uuid.js +++ b/nezha-fronted/src/components/common/@topology/core/src/utils/uuid.js @@ -1,13 +1,13 @@ -export function s4() { - return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); +export function s4 () { + return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1) } -export function s8() { - return (((1 + Math.random()) * 0x100000000) | 0).toString(16).substring(1); +export function s8 () { + return (((1 + Math.random()) * 0x100000000) | 0).toString(16).substring(1) } -export function s12() { - return s4() + s8(); +export function s12 () { + return s4() + s8() } -export function s16() { - return s8() + s8(); +export function s16 () { + return s8() + s8() } -//# sourceMappingURL=uuid.js.map \ No newline at end of file +// # sourceMappingURL=uuid.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/index.js index 2e942cbe9..f20e77a90 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/index.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/index.js @@ -1,13 +1,13 @@ -export * from './src/data'; -export * from './src/subprocess'; -export * from './src/db'; -export * from './src/document'; -export * from './src/internalStorage'; -export * from './src/externStorage'; -export * from './src/queue'; -export * from './src/manually'; -export * from './src/display'; -export * from './src/parallel'; -export * from './src/comment'; -export * from './src/register'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './src/data' +export * from './src/subprocess' +export * from './src/db' +export * from './src/document' +export * from './src/internalStorage' +export * from './src/externStorage' +export * from './src/queue' +export * from './src/manually' +export * from './src/display' +export * from './src/parallel' +export * from './src/comment' +export * from './src/register' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.anchor.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.anchor.js index 4aea35c9f..9f8c65502 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.anchor.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.anchor.js @@ -1,5 +1,5 @@ -import { Point, Direction } from '@topology/core'; -export function flowCommentAnchors(node) { - node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); +import { Point, Direction } from '@topology/core' +export function flowCommentAnchors (node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)) } -//# sourceMappingURL=comment.anchor.js.map \ No newline at end of file +// # sourceMappingURL=comment.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.js index fe057b393..7312fdc77 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/comment.js @@ -1,10 +1,10 @@ -export function flowComment(ctx, node) { - ctx.beginPath(); - var offsetX = node.rect.width / 4; - ctx.moveTo(node.rect.x + offsetX, node.rect.y); - ctx.lineTo(node.rect.x, node.rect.y); - ctx.lineTo(node.rect.x, node.rect.ey); - ctx.lineTo(node.rect.x + offsetX, node.rect.ey); - ctx.stroke(); +export function flowComment (ctx, node) { + ctx.beginPath() + const offsetX = node.rect.width / 4 + ctx.moveTo(node.rect.x + offsetX, node.rect.y) + ctx.lineTo(node.rect.x, node.rect.y) + ctx.lineTo(node.rect.x, node.rect.ey) + ctx.lineTo(node.rect.x + offsetX, node.rect.ey) + ctx.stroke() } -//# sourceMappingURL=comment.js.map \ No newline at end of file +// # sourceMappingURL=comment.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/index.js index 9d1302143..1d7326487 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/index.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/comment/index.js @@ -1,3 +1,3 @@ -export * from './comment'; -export * from './comment.anchor'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './comment' +export * from './comment.anchor' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.anchor.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.anchor.js index 514f86e28..cac00c481 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.anchor.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.anchor.js @@ -1,8 +1,8 @@ -import { Point, Direction } from '@topology/core'; -export function flowDataAnchors(node) { - node.anchors.push(new Point(node.rect.x + node.rect.width / 14, node.rect.y + node.rect.height / 2, Direction.Left)); - node.anchors.push(new Point(node.rect.x + (node.rect.width * 4) / 7, node.rect.y, Direction.Up)); - node.anchors.push(new Point(node.rect.x + (node.rect.width * 13) / 14, node.rect.y + node.rect.height / 2, Direction.Right)); - node.anchors.push(new Point(node.rect.x + (node.rect.width * 3) / 7, node.rect.ey, Direction.Bottom)); +import { Point, Direction } from '@topology/core' +export function flowDataAnchors (node) { + node.anchors.push(new Point(node.rect.x + node.rect.width / 14, node.rect.y + node.rect.height / 2, Direction.Left)) + node.anchors.push(new Point(node.rect.x + (node.rect.width * 4) / 7, node.rect.y, Direction.Up)) + node.anchors.push(new Point(node.rect.x + (node.rect.width * 13) / 14, node.rect.y + node.rect.height / 2, Direction.Right)) + node.anchors.push(new Point(node.rect.x + (node.rect.width * 3) / 7, node.rect.ey, Direction.Bottom)) } -//# sourceMappingURL=data.anchor.js.map \ No newline at end of file +// # sourceMappingURL=data.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.js index d49a37784..eacfedc2d 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.js @@ -1,12 +1,12 @@ -export function flowData(ctx, node) { - ctx.beginPath(); - var offsetX = node.rect.width / 7; - ctx.moveTo(node.rect.x + offsetX, node.rect.y); - ctx.lineTo(node.rect.ex, node.rect.y); - ctx.lineTo(node.rect.x + node.rect.width - offsetX, node.rect.ey); - ctx.lineTo(node.rect.x, node.rect.ey); - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function flowData (ctx, node) { + ctx.beginPath() + const offsetX = node.rect.width / 7 + ctx.moveTo(node.rect.x + offsetX, node.rect.y) + ctx.lineTo(node.rect.ex, node.rect.y) + ctx.lineTo(node.rect.x + node.rect.width - offsetX, node.rect.ey) + ctx.lineTo(node.rect.x, node.rect.ey) + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=data.js.map \ No newline at end of file +// # sourceMappingURL=data.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.rect.js index ffc557720..1f6358943 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.rect.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/data.rect.js @@ -1,9 +1,9 @@ -import { Rect } from '@topology/core'; -export function flowDataIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '@topology/core' +export function flowDataIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function flowDataTextRect(node) { - node.textRect = new Rect(node.rect.x + node.rect.width / 7, node.rect.y, (node.rect.width * 5) / 7, node.rect.height); - node.fullTextRect = node.textRect; +export function flowDataTextRect (node) { + node.textRect = new Rect(node.rect.x + node.rect.width / 7, node.rect.y, (node.rect.width * 5) / 7, node.rect.height) + node.fullTextRect = node.textRect } -//# sourceMappingURL=data.rect.js.map \ No newline at end of file +// # sourceMappingURL=data.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/index.js index 788eb0add..6c4fdde38 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/index.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/data/index.js @@ -1,4 +1,4 @@ -export * from './data'; -export * from './data.anchor'; -export * from './data.rect'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './data' +export * from './data.anchor' +export * from './data.rect' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.js index 28f1ab1cc..1818fca6e 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.js @@ -1,14 +1,14 @@ -export function flowDb(ctx, node) { - ctx.beginPath(); - var offsetY = node.rect.height / 7; - ctx.moveTo(node.rect.x, node.rect.y + offsetY); - ctx.bezierCurveTo(node.rect.x, (node.rect.y - offsetY / 2) | 0, node.rect.ex, (node.rect.y - offsetY / 2) | 0, node.rect.ex, node.rect.y + offsetY); - ctx.lineTo(node.rect.ex, node.rect.ey - offsetY); - ctx.bezierCurveTo(node.rect.ex, (node.rect.ey + offsetY / 2) | 0, node.rect.x, (node.rect.ey + offsetY / 2) | 0, node.rect.x, node.rect.ey - offsetY); - ctx.closePath(); - ctx.moveTo(node.rect.x, node.rect.ey - offsetY); - ctx.bezierCurveTo(node.rect.x, (node.rect.ey - offsetY * 2) | 0, node.rect.ex, (node.rect.ey - offsetY * 2) | 0, node.rect.ex, node.rect.ey - offsetY); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function flowDb (ctx, node) { + ctx.beginPath() + const offsetY = node.rect.height / 7 + ctx.moveTo(node.rect.x, node.rect.y + offsetY) + ctx.bezierCurveTo(node.rect.x, (node.rect.y - offsetY / 2) | 0, node.rect.ex, (node.rect.y - offsetY / 2) | 0, node.rect.ex, node.rect.y + offsetY) + ctx.lineTo(node.rect.ex, node.rect.ey - offsetY) + ctx.bezierCurveTo(node.rect.ex, (node.rect.ey + offsetY / 2) | 0, node.rect.x, (node.rect.ey + offsetY / 2) | 0, node.rect.x, node.rect.ey - offsetY) + ctx.closePath() + ctx.moveTo(node.rect.x, node.rect.ey - offsetY) + ctx.bezierCurveTo(node.rect.x, (node.rect.ey - offsetY * 2) | 0, node.rect.ex, (node.rect.ey - offsetY * 2) | 0, node.rect.ex, node.rect.ey - offsetY); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=db.js.map \ No newline at end of file +// # sourceMappingURL=db.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.rect.js index 2184e95f1..c241436eb 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.rect.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/db.rect.js @@ -1,9 +1,9 @@ -import { Rect } from '@topology/core'; -export function flowDbIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '@topology/core' +export function flowDbIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function flowDbTextRect(node) { - node.textRect = new Rect(node.rect.x, node.rect.y + node.rect.height / 8, node.rect.width, (node.rect.height * 5) / 8); - node.fullTextRect = node.textRect; +export function flowDbTextRect (node) { + node.textRect = new Rect(node.rect.x, node.rect.y + node.rect.height / 8, node.rect.width, (node.rect.height * 5) / 8) + node.fullTextRect = node.textRect } -//# sourceMappingURL=db.rect.js.map \ No newline at end of file +// # sourceMappingURL=db.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/index.js index 08e40a7ad..ebd9d9b2d 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/index.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/db/index.js @@ -1,3 +1,3 @@ -export * from './db'; -export * from './db.rect'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './db' +export * from './db.rect' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.anchor.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.anchor.js index 466f1e9bf..1ac171af7 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.anchor.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.anchor.js @@ -1,8 +1,8 @@ -import { Point, Direction } from '@topology/core'; -export function flowDisplayAnchors(node) { - node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); - node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)); +import { Point, Direction } from '@topology/core' +export function flowDisplayAnchors (node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)) + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)) } -//# sourceMappingURL=display.anchor.js.map \ No newline at end of file +// # sourceMappingURL=display.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.js index 9a2f0e31c..8b95f257f 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.js @@ -1,13 +1,13 @@ -export function flowDisplay(ctx, node) { - ctx.beginPath(); - var offsetX = node.rect.width / 8; - ctx.moveTo(node.rect.x + offsetX, node.rect.y); - ctx.lineTo(node.rect.ex - offsetX, node.rect.y); - ctx.bezierCurveTo(node.rect.ex + offsetX / 3, node.rect.y, node.rect.ex + offsetX / 3, node.rect.ey, node.rect.ex - offsetX, node.rect.ey); - ctx.lineTo(node.rect.x + offsetX, node.rect.ey); - ctx.lineTo(node.rect.x, node.rect.y + node.rect.height / 2); - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function flowDisplay (ctx, node) { + ctx.beginPath() + const offsetX = node.rect.width / 8 + ctx.moveTo(node.rect.x + offsetX, node.rect.y) + ctx.lineTo(node.rect.ex - offsetX, node.rect.y) + ctx.bezierCurveTo(node.rect.ex + offsetX / 3, node.rect.y, node.rect.ex + offsetX / 3, node.rect.ey, node.rect.ex - offsetX, node.rect.ey) + ctx.lineTo(node.rect.x + offsetX, node.rect.ey) + ctx.lineTo(node.rect.x, node.rect.y + node.rect.height / 2) + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=display.js.map \ No newline at end of file +// # sourceMappingURL=display.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.rect.js index 3ab0553de..04489b05e 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.rect.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/display.rect.js @@ -1,9 +1,9 @@ -import { Rect } from '@topology/core'; -export function flowDisplayIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '@topology/core' +export function flowDisplayIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function flowDisplayTextRect(node) { - node.textRect = new Rect(node.rect.x + node.rect.width / 8, node.rect.y, (node.rect.width * 3) / 4, node.rect.height); - node.fullTextRect = node.textRect; +export function flowDisplayTextRect (node) { + node.textRect = new Rect(node.rect.x + node.rect.width / 8, node.rect.y, (node.rect.width * 3) / 4, node.rect.height) + node.fullTextRect = node.textRect } -//# sourceMappingURL=display.rect.js.map \ No newline at end of file +// # sourceMappingURL=display.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/index.js index 7b536b56b..a5fde552c 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/index.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/display/index.js @@ -1,4 +1,4 @@ -export * from './display'; -export * from './display.anchor'; -export * from './display.rect'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './display' +export * from './display.anchor' +export * from './display.rect' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.anchor.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.anchor.js index 5da99c502..7e07066f4 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.anchor.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.anchor.js @@ -1,8 +1,8 @@ -import { Point, Direction } from '@topology/core'; -export function flowDocumentAnchors(node) { - node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); - node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + (node.rect.height * 6) / 7, Direction.Bottom)); +import { Point, Direction } from '@topology/core' +export function flowDocumentAnchors (node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)) + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + node.rect.height / 2, Direction.Right)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + (node.rect.height * 6) / 7, Direction.Bottom)) } -//# sourceMappingURL=document.anchor.js.map \ No newline at end of file +// # sourceMappingURL=document.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.js index 5871cc392..612e57baf 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.js @@ -1,15 +1,15 @@ -export function flowDocument(ctx, node) { - ctx.beginPath(); - var x = node.rect.x + node.rect.width / 2; - var y = node.rect.y + (node.rect.height * 6) / 7; - var offsetY = node.rect.height / 6; - ctx.moveTo(node.rect.x, node.rect.y); - ctx.lineTo(node.rect.ex, node.rect.y); - ctx.lineTo(node.rect.ex, y); - ctx.bezierCurveTo(node.rect.ex - 20, y - offsetY, x + node.rect.width / 5, y - offsetY, x, y); - ctx.bezierCurveTo(x - node.rect.width / 5, y + offsetY, node.rect.x, y + offsetY, node.rect.x, y); - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function flowDocument (ctx, node) { + ctx.beginPath() + const x = node.rect.x + node.rect.width / 2 + const y = node.rect.y + (node.rect.height * 6) / 7 + const offsetY = node.rect.height / 6 + ctx.moveTo(node.rect.x, node.rect.y) + ctx.lineTo(node.rect.ex, node.rect.y) + ctx.lineTo(node.rect.ex, y) + ctx.bezierCurveTo(node.rect.ex - 20, y - offsetY, x + node.rect.width / 5, y - offsetY, x, y) + ctx.bezierCurveTo(x - node.rect.width / 5, y + offsetY, node.rect.x, y + offsetY, node.rect.x, y) + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=document.js.map \ No newline at end of file +// # sourceMappingURL=document.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.rect.js index 8e2e9c55f..cc14b8847 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.rect.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/document.rect.js @@ -1,9 +1,9 @@ -import { Rect } from '@topology/core'; -export function flowDocumentIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '@topology/core' +export function flowDocumentIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function flowDocumentTextRect(node) { - node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, (node.rect.height * 5) / 7); - node.fullTextRect = node.textRect; +export function flowDocumentTextRect (node) { + node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, (node.rect.height * 5) / 7) + node.fullTextRect = node.textRect } -//# sourceMappingURL=document.rect.js.map \ No newline at end of file +// # sourceMappingURL=document.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/index.js index 73fa82f66..259555a06 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/index.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/document/index.js @@ -1,4 +1,4 @@ -export * from './document'; -export * from './document.anchor'; -export * from './document.rect'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './document' +export * from './document.anchor' +export * from './document.rect' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.anchor.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.anchor.js index 10f56ba01..49dc9757e 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.anchor.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.anchor.js @@ -1,8 +1,8 @@ -import { Point, Direction } from '@topology/core'; -export function flowExternStorageAnchors(node) { - node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)); - node.anchors.push(new Point(node.rect.x + (node.rect.width * 8) / 15, node.rect.y, Direction.Up)); - node.anchors.push(new Point(node.rect.x + (node.rect.width * 13) / 14, node.rect.y + node.rect.height / 2, Direction.Right)); - node.anchors.push(new Point(node.rect.x + (node.rect.width * 8) / 15, node.rect.ey, Direction.Bottom)); +import { Point, Direction } from '@topology/core' +export function flowExternStorageAnchors (node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + node.rect.height / 2, Direction.Left)) + node.anchors.push(new Point(node.rect.x + (node.rect.width * 8) / 15, node.rect.y, Direction.Up)) + node.anchors.push(new Point(node.rect.x + (node.rect.width * 13) / 14, node.rect.y + node.rect.height / 2, Direction.Right)) + node.anchors.push(new Point(node.rect.x + (node.rect.width * 8) / 15, node.rect.ey, Direction.Bottom)) } -//# sourceMappingURL=externStorage.anchor.js.map \ No newline at end of file +// # sourceMappingURL=externStorage.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.js index 98394c309..ebf2d07fa 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.js @@ -1,12 +1,12 @@ -export function flowExternStorage(ctx, node) { - ctx.beginPath(); - var offsetX = node.rect.width / 10; - ctx.moveTo(node.rect.x + offsetX * 2, node.rect.y); - ctx.bezierCurveTo(node.rect.x - (offsetX * 2) / 3, node.rect.y, node.rect.x - (offsetX * 2) / 3, node.rect.ey, node.rect.x + offsetX * 2, node.rect.ey); - ctx.lineTo(node.rect.ex, node.rect.ey); - ctx.bezierCurveTo(node.rect.ex - offsetX, node.rect.ey, node.rect.ex - offsetX, node.rect.y, node.rect.ex, node.rect.y); - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function flowExternStorage (ctx, node) { + ctx.beginPath() + const offsetX = node.rect.width / 10 + ctx.moveTo(node.rect.x + offsetX * 2, node.rect.y) + ctx.bezierCurveTo(node.rect.x - (offsetX * 2) / 3, node.rect.y, node.rect.x - (offsetX * 2) / 3, node.rect.ey, node.rect.x + offsetX * 2, node.rect.ey) + ctx.lineTo(node.rect.ex, node.rect.ey) + ctx.bezierCurveTo(node.rect.ex - offsetX, node.rect.ey, node.rect.ex - offsetX, node.rect.y, node.rect.ex, node.rect.y) + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=externStorage.js.map \ No newline at end of file +// # sourceMappingURL=externStorage.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.rect.js index 7217d76e0..f5d27824a 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.rect.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/externStorage.rect.js @@ -1,9 +1,9 @@ -import { Rect } from '@topology/core'; -export function flowExternStorageIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '@topology/core' +export function flowExternStorageIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function flowExternStorageTextRect(node) { - node.textRect = new Rect(node.rect.x + node.rect.width / 6, node.rect.y, (node.rect.width * 3) / 4, node.rect.height); - node.fullTextRect = node.textRect; +export function flowExternStorageTextRect (node) { + node.textRect = new Rect(node.rect.x + node.rect.width / 6, node.rect.y, (node.rect.width * 3) / 4, node.rect.height) + node.fullTextRect = node.textRect } -//# sourceMappingURL=externStorage.rect.js.map \ No newline at end of file +// # sourceMappingURL=externStorage.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/index.js index 1c0ffd989..c6855e19b 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/index.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/externStorage/index.js @@ -1,4 +1,4 @@ -export * from './externStorage'; -export * from './externStorage.anchor'; -export * from './externStorage.rect'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './externStorage' +export * from './externStorage.anchor' +export * from './externStorage.rect' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/index.js index 3ba1d38a2..48dd8d514 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/index.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/index.js @@ -1,3 +1,3 @@ -export * from './internalStorage'; -export * from './internalStorage.rect'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './internalStorage' +export * from './internalStorage.rect' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.js index 8d405fd18..242b1d4e5 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.js @@ -1,16 +1,16 @@ -export function flowInternalStorage(ctx, node) { - ctx.beginPath(); - ctx.moveTo(node.rect.x, node.rect.y); - ctx.lineTo(node.rect.ex, node.rect.y); - ctx.lineTo(node.rect.ex, node.rect.ey); - ctx.lineTo(node.rect.x, node.rect.ey); - ctx.closePath(); - var offset = node.rect.width / 7; - ctx.moveTo(node.rect.x, node.rect.y + offset); - ctx.lineTo(node.rect.ex, node.rect.y + offset); - ctx.moveTo(node.rect.x + offset, node.rect.y); - ctx.lineTo(node.rect.x + offset, node.rect.ey); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function flowInternalStorage (ctx, node) { + ctx.beginPath() + ctx.moveTo(node.rect.x, node.rect.y) + ctx.lineTo(node.rect.ex, node.rect.y) + ctx.lineTo(node.rect.ex, node.rect.ey) + ctx.lineTo(node.rect.x, node.rect.ey) + ctx.closePath() + const offset = node.rect.width / 7 + ctx.moveTo(node.rect.x, node.rect.y + offset) + ctx.lineTo(node.rect.ex, node.rect.y + offset) + ctx.moveTo(node.rect.x + offset, node.rect.y) + ctx.lineTo(node.rect.x + offset, node.rect.ey); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=internalStorage.js.map \ No newline at end of file +// # sourceMappingURL=internalStorage.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.rect.js index c2b926203..b4fd53aa2 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.rect.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/internalStorage/internalStorage.rect.js @@ -1,10 +1,10 @@ -import { Rect } from '@topology/core'; -export function flowInternalStorageIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '@topology/core' +export function flowInternalStorageIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function flowInternalStorageTextRect(node) { - var offset = node.rect.width / 7; - node.textRect = new Rect(node.rect.x + offset, node.rect.y + offset, node.rect.width - offset, node.rect.height - offset); - node.fullTextRect = node.textRect; +export function flowInternalStorageTextRect (node) { + const offset = node.rect.width / 7 + node.textRect = new Rect(node.rect.x + offset, node.rect.y + offset, node.rect.width - offset, node.rect.height - offset) + node.fullTextRect = node.textRect } -//# sourceMappingURL=internalStorage.rect.js.map \ No newline at end of file +// # sourceMappingURL=internalStorage.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/index.js index 69d5e8d72..e6364e0ce 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/index.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/index.js @@ -1,4 +1,4 @@ -export * from './manually'; -export * from './manually.anchor'; -export * from './manually.rect'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './manually' +export * from './manually.anchor' +export * from './manually.rect' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.anchor.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.anchor.js index 07853bcd1..e3826e953 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.anchor.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.anchor.js @@ -1,8 +1,8 @@ -import { Point, Direction } from '@topology/core'; -export function flowManuallyAnchors(node) { - node.anchors.push(new Point(node.rect.x, node.rect.y + (node.rect.height * 5) / 8, Direction.Left)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 8, Direction.Up)); - node.anchors.push(new Point(node.rect.ex, node.rect.y + node.rect.height / 2, Direction.Right)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.ey, Direction.Bottom)); +import { Point, Direction } from '@topology/core' +export function flowManuallyAnchors (node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + (node.rect.height * 5) / 8, Direction.Left)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 8, Direction.Up)) + node.anchors.push(new Point(node.rect.ex, node.rect.y + node.rect.height / 2, Direction.Right)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.ey, Direction.Bottom)) } -//# sourceMappingURL=manually.anchor.js.map \ No newline at end of file +// # sourceMappingURL=manually.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.js index edd138a58..f3a21b25b 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.js @@ -1,12 +1,12 @@ -export function flowManually(ctx, node) { - ctx.beginPath(); - var offsetY = node.rect.height / 4; - ctx.moveTo(node.rect.x, node.rect.y + offsetY); - ctx.lineTo(node.rect.ex, node.rect.y); - ctx.lineTo(node.rect.ex, node.rect.ey); - ctx.lineTo(node.rect.x, node.rect.ey); - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function flowManually (ctx, node) { + ctx.beginPath() + const offsetY = node.rect.height / 4 + ctx.moveTo(node.rect.x, node.rect.y + offsetY) + ctx.lineTo(node.rect.ex, node.rect.y) + ctx.lineTo(node.rect.ex, node.rect.ey) + ctx.lineTo(node.rect.x, node.rect.ey) + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=manually.js.map \ No newline at end of file +// # sourceMappingURL=manually.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.rect.js index 35c4d8b6a..6dd5d4ad5 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.rect.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/manually/manually.rect.js @@ -1,9 +1,9 @@ -import { Rect } from '@topology/core'; -export function flowManuallyIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '@topology/core' +export function flowManuallyIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function flowManuallyTextRect(node) { - node.textRect = new Rect(node.rect.x, node.rect.y + node.rect.height / 4, node.rect.width, (node.rect.height * 3) / 4); - node.fullTextRect = node.textRect; +export function flowManuallyTextRect (node) { + node.textRect = new Rect(node.rect.x, node.rect.y + node.rect.height / 4, node.rect.width, (node.rect.height * 3) / 4) + node.fullTextRect = node.textRect } -//# sourceMappingURL=manually.rect.js.map \ No newline at end of file +// # sourceMappingURL=manually.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/index.js index 60da6db77..f3a02216a 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/index.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/index.js @@ -1,3 +1,3 @@ -export * from './parallel'; -export * from './parallel.anchor'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './parallel' +export * from './parallel.anchor' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.anchor.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.anchor.js index d1546d43c..c2f5e9da3 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.anchor.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.anchor.js @@ -1,6 +1,6 @@ -import { Point, Direction } from '@topology/core'; -export function flowParallelAnchors(node) { - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)); +import { Point, Direction } from '@topology/core' +export function flowParallelAnchors (node) { + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height, Direction.Bottom)) } -//# sourceMappingURL=parallel.anchor.js.map \ No newline at end of file +// # sourceMappingURL=parallel.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.js index 7642aabe4..860ed8de2 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/parallel/parallel.js @@ -1,9 +1,9 @@ -export function flowParallel(ctx, node) { - ctx.beginPath(); - ctx.moveTo(node.rect.x, node.rect.y); - ctx.lineTo(node.rect.ex, node.rect.y); - ctx.moveTo(node.rect.x, node.rect.ey); - ctx.lineTo(node.rect.ex, node.rect.ey); - ctx.stroke(); +export function flowParallel (ctx, node) { + ctx.beginPath() + ctx.moveTo(node.rect.x, node.rect.y) + ctx.lineTo(node.rect.ex, node.rect.y) + ctx.moveTo(node.rect.x, node.rect.ey) + ctx.lineTo(node.rect.ex, node.rect.ey) + ctx.stroke() } -//# sourceMappingURL=parallel.js.map \ No newline at end of file +// # sourceMappingURL=parallel.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/index.js index 9182d276f..f0abcee58 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/index.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/index.js @@ -1,3 +1,3 @@ -export * from './queue'; -export * from './queue.rect'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './queue' +export * from './queue.rect' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.js index 9f874aaca..fa2d90ac7 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.js @@ -1,9 +1,9 @@ -export function flowQueue(ctx, node) { - ctx.beginPath(); - ctx.ellipse(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 2, node.rect.width / 2, node.rect.height / 2, 0, 0, Math.PI * 2); - ctx.moveTo(node.rect.x + node.rect.width / 2, node.rect.ey); - ctx.lineTo(node.rect.ex, node.rect.ey); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function flowQueue (ctx, node) { + ctx.beginPath() + ctx.ellipse(node.rect.x + node.rect.width / 2, node.rect.y + node.rect.height / 2, node.rect.width / 2, node.rect.height / 2, 0, 0, Math.PI * 2) + ctx.moveTo(node.rect.x + node.rect.width / 2, node.rect.ey) + ctx.lineTo(node.rect.ex, node.rect.ey); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=queue.js.map \ No newline at end of file +// # sourceMappingURL=queue.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.rect.js index 1d14b8390..385fbe67e 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.rect.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/queue/queue.rect.js @@ -1,11 +1,11 @@ -import { Rect } from '@topology/core'; -export function flowQueueIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '@topology/core' +export function flowQueueIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function flowQueueTextRect(node) { - var w = (node.rect.width * 5) / 7; - var h = (node.rect.height * 5) / 7; - node.textRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + (node.rect.height - h) / 2, w, h); - node.fullTextRect = node.textRect; +export function flowQueueTextRect (node) { + const w = (node.rect.width * 5) / 7 + const h = (node.rect.height * 5) / 7 + node.textRect = new Rect(node.rect.x + (node.rect.width - w) / 2, node.rect.y + (node.rect.height - h) / 2, w, h) + node.fullTextRect = node.textRect } -//# sourceMappingURL=queue.rect.js.map \ No newline at end of file +// # sourceMappingURL=queue.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/register.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/register.js index 88179ebd1..c5bd4ad4a 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/register.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/register.js @@ -1,26 +1,26 @@ -import { registerNode } from '@topology/core'; -import { flowData, flowDataAnchors, flowDataIconRect, flowDataTextRect } from './data'; -import { flowSubprocess, flowSubprocessIconRect, flowSubprocessTextRect } from './subprocess'; -import { flowDb, flowDbIconRect, flowDbTextRect } from './db'; -import { flowDocument, flowDocumentAnchors, flowDocumentIconRect, flowDocumentTextRect } from './document'; -import { flowInternalStorage, flowInternalStorageIconRect, flowInternalStorageTextRect } from './internalStorage'; -import { flowExternStorage, flowExternStorageAnchors, flowExternStorageIconRect, flowExternStorageTextRect } from './externStorage'; -import { flowQueue, flowQueueIconRect, flowQueueTextRect } from './queue'; -import { flowManually, flowManuallyAnchors, flowManuallyIconRect, flowManuallyTextRect } from './manually'; -import { flowDisplay, flowDisplayAnchors, flowDisplayIconRect, flowDisplayTextRect } from './display'; -import { flowParallel, flowParallelAnchors } from './parallel'; -import { flowComment, flowCommentAnchors } from './comment'; -export function register() { - registerNode('flowData', flowData, flowDataAnchors, flowDataIconRect, flowDataTextRect); - registerNode('flowSubprocess', flowSubprocess, null, flowSubprocessIconRect, flowSubprocessTextRect); - registerNode('flowDb', flowDb, null, flowDbIconRect, flowDbTextRect); - registerNode('flowDocument', flowDocument, flowDocumentAnchors, flowDocumentIconRect, flowDocumentTextRect); - registerNode('flowInternalStorage', flowInternalStorage, null, flowInternalStorageIconRect, flowInternalStorageTextRect); - registerNode('flowExternStorage', flowExternStorage, flowExternStorageAnchors, flowExternStorageIconRect, flowExternStorageTextRect); - registerNode('flowQueue', flowQueue, null, flowQueueIconRect, flowQueueTextRect); - registerNode('flowManually', flowManually, flowManuallyAnchors, flowManuallyIconRect, flowManuallyTextRect); - registerNode('flowDisplay', flowDisplay, flowDisplayAnchors, flowDisplayIconRect, flowDisplayTextRect); - registerNode('flowParallel', flowParallel, flowParallelAnchors, null, null); - registerNode('flowComment', flowComment, flowCommentAnchors, null, null); +import { registerNode } from '@topology/core' +import { flowData, flowDataAnchors, flowDataIconRect, flowDataTextRect } from './data' +import { flowSubprocess, flowSubprocessIconRect, flowSubprocessTextRect } from './subprocess' +import { flowDb, flowDbIconRect, flowDbTextRect } from './db' +import { flowDocument, flowDocumentAnchors, flowDocumentIconRect, flowDocumentTextRect } from './document' +import { flowInternalStorage, flowInternalStorageIconRect, flowInternalStorageTextRect } from './internalStorage' +import { flowExternStorage, flowExternStorageAnchors, flowExternStorageIconRect, flowExternStorageTextRect } from './externStorage' +import { flowQueue, flowQueueIconRect, flowQueueTextRect } from './queue' +import { flowManually, flowManuallyAnchors, flowManuallyIconRect, flowManuallyTextRect } from './manually' +import { flowDisplay, flowDisplayAnchors, flowDisplayIconRect, flowDisplayTextRect } from './display' +import { flowParallel, flowParallelAnchors } from './parallel' +import { flowComment, flowCommentAnchors } from './comment' +export function register () { + registerNode('flowData', flowData, flowDataAnchors, flowDataIconRect, flowDataTextRect) + registerNode('flowSubprocess', flowSubprocess, null, flowSubprocessIconRect, flowSubprocessTextRect) + registerNode('flowDb', flowDb, null, flowDbIconRect, flowDbTextRect) + registerNode('flowDocument', flowDocument, flowDocumentAnchors, flowDocumentIconRect, flowDocumentTextRect) + registerNode('flowInternalStorage', flowInternalStorage, null, flowInternalStorageIconRect, flowInternalStorageTextRect) + registerNode('flowExternStorage', flowExternStorage, flowExternStorageAnchors, flowExternStorageIconRect, flowExternStorageTextRect) + registerNode('flowQueue', flowQueue, null, flowQueueIconRect, flowQueueTextRect) + registerNode('flowManually', flowManually, flowManuallyAnchors, flowManuallyIconRect, flowManuallyTextRect) + registerNode('flowDisplay', flowDisplay, flowDisplayAnchors, flowDisplayIconRect, flowDisplayTextRect) + registerNode('flowParallel', flowParallel, flowParallelAnchors, null, null) + registerNode('flowComment', flowComment, flowCommentAnchors, null, null) } -//# sourceMappingURL=register.js.map \ No newline at end of file +// # sourceMappingURL=register.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/index.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/index.js index 06b9d1e1e..83655bd9d 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/index.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/index.js @@ -1,3 +1,3 @@ -export * from './subprocess'; -export * from './subprocess.rect'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './subprocess' +export * from './subprocess.rect' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.js index 799e25f1d..43f61baca 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.js @@ -1,16 +1,16 @@ -export function flowSubprocess(ctx, node) { - ctx.beginPath(); - var offsetX = node.rect.width / 7; - ctx.moveTo(node.rect.x, node.rect.y); - ctx.lineTo(node.rect.ex, node.rect.y); - ctx.lineTo(node.rect.ex, node.rect.ey); - ctx.lineTo(node.rect.x, node.rect.ey); - ctx.closePath(); - ctx.moveTo(node.rect.x + offsetX, node.rect.y); - ctx.lineTo(node.rect.x + offsetX, node.rect.ey); - ctx.moveTo(node.rect.ex - offsetX, node.rect.y); - ctx.lineTo(node.rect.ex - offsetX, node.rect.ey); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function flowSubprocess (ctx, node) { + ctx.beginPath() + const offsetX = node.rect.width / 7 + ctx.moveTo(node.rect.x, node.rect.y) + ctx.lineTo(node.rect.ex, node.rect.y) + ctx.lineTo(node.rect.ex, node.rect.ey) + ctx.lineTo(node.rect.x, node.rect.ey) + ctx.closePath() + ctx.moveTo(node.rect.x + offsetX, node.rect.y) + ctx.lineTo(node.rect.x + offsetX, node.rect.ey) + ctx.moveTo(node.rect.ex - offsetX, node.rect.y) + ctx.lineTo(node.rect.ex - offsetX, node.rect.ey); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=subprocess.js.map \ No newline at end of file +// # sourceMappingURL=subprocess.js.map diff --git a/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.rect.js b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.rect.js index f01e80dc9..61d6ec549 100644 --- a/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.rect.js +++ b/nezha-fronted/src/components/common/@topology/flow-diagram/src/subprocess/subprocess.rect.js @@ -1,9 +1,9 @@ -import { Rect } from '@topology/core'; -export function flowSubprocessIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '@topology/core' +export function flowSubprocessIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function flowSubprocessTextRect(node) { - node.textRect = new Rect(node.rect.x + node.rect.width / 7, node.rect.y, (node.rect.width * 5) / 7, node.rect.height); - node.fullTextRect = node.textRect; +export function flowSubprocessTextRect (node) { + node.textRect = new Rect(node.rect.x + node.rect.width / 7, node.rect.y, (node.rect.width * 5) / 7, node.rect.height) + node.fullTextRect = node.textRect } -//# sourceMappingURL=subprocess.rect.js.map \ No newline at end of file +// # sourceMappingURL=subprocess.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/layout/index.js b/nezha-fronted/src/components/common/@topology/layout/index.js index 53e15641f..d07c49563 100644 --- a/nezha-fronted/src/components/common/@topology/layout/index.js +++ b/nezha-fronted/src/components/common/@topology/layout/index.js @@ -1,3 +1,3 @@ -export * from './src/align'; -export * from './src/layout'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './src/align' +export * from './src/layout' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/layout/src/align.js b/nezha-fronted/src/components/common/@topology/layout/src/align.js index 2020772b3..c0f44db3e 100644 --- a/nezha-fronted/src/components/common/@topology/layout/src/align.js +++ b/nezha-fronted/src/components/common/@topology/layout/src/align.js @@ -1,63 +1,63 @@ -import { Node } from '@topology/core'; -export function alignNodes(pens, rect, align) { - for (var _i = 0, pens_1 = pens; _i < pens_1.length; _i++) { - var item = pens_1[_i]; - if (!(item instanceof Node)) { - continue; - } - switch (align) { - case 'left': - item.rect.x = rect.x; - break; - case 'right': - item.rect.x = rect.ex - item.rect.width; - break; - case 'top': - item.rect.y = rect.y; - break; - case 'bottom': - item.rect.y = rect.ey - item.rect.height; - break; - case 'center': - item.rect.x = rect.center.x - item.rect.width / 2; - break; - case 'middle': - item.rect.y = rect.center.y - item.rect.height / 2; - break; - } - item.rect.floor(); - item.rect.calcCenter(); - item.init(); - item.calcChildrenRect(); +import { Node } from '@topology/core' +export function alignNodes (pens, rect, align) { + for (let _i = 0, pens_1 = pens; _i < pens_1.length; _i++) { + const item = pens_1[_i] + if (!(item instanceof Node)) { + continue } + switch (align) { + case 'left': + item.rect.x = rect.x + break + case 'right': + item.rect.x = rect.ex - item.rect.width + break + case 'top': + item.rect.y = rect.y + break + case 'bottom': + item.rect.y = rect.ey - item.rect.height + break + case 'center': + item.rect.x = rect.center.x - item.rect.width / 2 + break + case 'middle': + item.rect.y = rect.center.y - item.rect.height / 2 + break + } + item.rect.floor() + item.rect.calcCenter() + item.init() + item.calcChildrenRect() + } } -export function spaceBetween(pens, width) { - var space = 0; - var cnt = 0; - for (var _i = 0, pens_2 = pens; _i < pens_2.length; _i++) { - var item = pens_2[_i]; - if (!(item instanceof Node)) { - continue; - } - space += item.rect.width; - ++cnt; +export function spaceBetween (pens, width) { + let space = 0 + let cnt = 0 + for (let _i = 0, pens_2 = pens; _i < pens_2.length; _i++) { + var item = pens_2[_i] + if (!(item instanceof Node)) { + continue } - space = (width - space) / (cnt - 1); - var left = 0; - for (var _a = 0, pens_3 = pens; _a < pens_3.length; _a++) { - var item = pens_3[_a]; - if (!(item instanceof Node)) { - continue; - } - if (!left) { - left = item.rect.x; - } - item.rect.x = left; - left += item.rect.width + space; - item.rect.floor(); - item.rect.calcCenter(); - item.init(); - item.calcChildrenRect(); + space += item.rect.width + ++cnt + } + space = (width - space) / (cnt - 1) + let left = 0 + for (let _a = 0, pens_3 = pens; _a < pens_3.length; _a++) { + var item = pens_3[_a] + if (!(item instanceof Node)) { + continue } + if (!left) { + left = item.rect.x + } + item.rect.x = left + left += item.rect.width + space + item.rect.floor() + item.rect.calcCenter() + item.init() + item.calcChildrenRect() + } } -//# sourceMappingURL=align.js.map \ No newline at end of file +// # sourceMappingURL=align.js.map diff --git a/nezha-fronted/src/components/common/@topology/layout/src/layout.js b/nezha-fronted/src/components/common/@topology/layout/src/layout.js index 9e279675e..3c953d0ad 100644 --- a/nezha-fronted/src/components/common/@topology/layout/src/layout.js +++ b/nezha-fronted/src/components/common/@topology/layout/src/layout.js @@ -1,50 +1,50 @@ -import { PenType, getRect } from '@topology/core'; -import { alignNodes, spaceBetween } from './align'; -export function layout(pens, params) { - var spaceWidth = params.spaceWidth || 30; - var spaceHeight = params.spaceHeight || 30; - var rect = getRect(pens); - var left = rect.x; - var top = rect.y; - var rows = []; - var row = []; - var maxHeight = 0; - for (var _i = 0, pens_1 = pens; _i < pens_1.length; _i++) { - var item = pens_1[_i]; - if (item.type === PenType.Line) { - continue; - } - if (params.nodeWidth > 0) { - item.rect.width = params.nodeWidth; - } - if (params.nodeHeight > 0) { - item.rect.height = params.nodeHeight; - } - if (item.rect.height > maxHeight) { - maxHeight = item.rect.height; - } - item.rect.x = left; - item.rect.y = top; - item.rect.init(); - row.push(item); - left += item.rect.width + spaceWidth; - if (left > params.maxWidth || (params.maxCount > 0 && row.length >= params.maxCount)) { - rows.push(row); - row = []; - left = rect.x; - top += maxHeight + spaceHeight; - maxHeight = 0; - } +import { PenType, getRect } from '@topology/core' +import { alignNodes, spaceBetween } from './align' +export function layout (pens, params) { + const spaceWidth = params.spaceWidth || 30 + const spaceHeight = params.spaceHeight || 30 + const rect = getRect(pens) + let left = rect.x + let top = rect.y + const rows = [] + let row = [] + let maxHeight = 0 + for (let _i = 0, pens_1 = pens; _i < pens_1.length; _i++) { + var item = pens_1[_i] + if (item.type === PenType.Line) { + continue } - rows.push(row); - for (var _a = 0, rows_1 = rows; _a < rows_1.length; _a++) { - var item = rows_1[_a]; - var r = getRect(item); - r.width = params.maxWidth; - alignNodes(item, r, 'middle'); - if (params.maxCount > 0) { - spaceBetween(item, params.maxWidth); - } + if (params.nodeWidth > 0) { + item.rect.width = params.nodeWidth } + if (params.nodeHeight > 0) { + item.rect.height = params.nodeHeight + } + if (item.rect.height > maxHeight) { + maxHeight = item.rect.height + } + item.rect.x = left + item.rect.y = top + item.rect.init() + row.push(item) + left += item.rect.width + spaceWidth + if (left > params.maxWidth || (params.maxCount > 0 && row.length >= params.maxCount)) { + rows.push(row) + row = [] + left = rect.x + top += maxHeight + spaceHeight + maxHeight = 0 + } + } + rows.push(row) + for (let _a = 0, rows_1 = rows; _a < rows_1.length; _a++) { + var item = rows_1[_a] + const r = getRect(item) + r.width = params.maxWidth + alignNodes(item, r, 'middle') + if (params.maxCount > 0) { + spaceBetween(item, params.maxWidth) + } + } } -//# sourceMappingURL=layout.js.map \ No newline at end of file +// # sourceMappingURL=layout.js.map diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/index.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/index.js index 7dfdd32c0..da99c0d5b 100644 --- a/nezha-fronted/src/components/common/@topology/sequence-diagram/index.js +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/index.js @@ -1,4 +1,4 @@ -export * from './src/lifeline'; -export * from './src/focus'; -export * from './src/register'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './src/lifeline' +export * from './src/focus' +export * from './src/register' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.anchor.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.anchor.js index 085d1da2d..17f24b4d7 100644 --- a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.anchor.js +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.anchor.js @@ -1,15 +1,15 @@ -import { Point, Direction } from '@topology/core'; -export function sequenceFocusAnchors(node) { - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.ey, Direction.Bottom)); - var dis = 5; - for (var i = dis; node.rect.y + i < node.rect.ey; i = i + dis) { - var pt1 = new Point(node.rect.x, node.rect.y + i, Direction.Left); - var pt2 = new Point(node.rect.ex, node.rect.y + i, Direction.Right); - pt1.hidden = true; - pt2.hidden = true; - node.anchors.push(pt1); - node.anchors.push(pt2); - } +import { Point, Direction } from '@topology/core' +export function sequenceFocusAnchors (node) { + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.ey, Direction.Bottom)) + const dis = 5 + for (let i = dis; node.rect.y + i < node.rect.ey; i = i + dis) { + const pt1 = new Point(node.rect.x, node.rect.y + i, Direction.Left) + const pt2 = new Point(node.rect.ex, node.rect.y + i, Direction.Right) + pt1.hidden = true + pt2.hidden = true + node.anchors.push(pt1) + node.anchors.push(pt2) + } } -//# sourceMappingURL=focus.anchor.js.map \ No newline at end of file +// # sourceMappingURL=focus.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.js index ba15e4cd5..d8aa56ed7 100644 --- a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.js +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.js @@ -1,13 +1,12 @@ -export function sequenceFocus(ctx, node) { - ctx.beginPath(); - ctx.rect(node.rect.x, node.rect.y, node.rect.width, node.rect.height); - if (this.fillStyle) { - ctx.fillStyle = this.fillStyle; - } - else { - ctx.fillStyle = '#fff'; - } - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); +export function sequenceFocus (ctx, node) { + ctx.beginPath() + ctx.rect(node.rect.x, node.rect.y, node.rect.width, node.rect.height) + if (this.fillStyle) { + ctx.fillStyle = this.fillStyle + } else { + ctx.fillStyle = '#fff' + } + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() } -//# sourceMappingURL=focus.js.map \ No newline at end of file +// # sourceMappingURL=focus.js.map diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.rect.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.rect.js index 3b1a03067..5434e23f1 100644 --- a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.rect.js +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/focus.rect.js @@ -1,9 +1,9 @@ -import { Rect } from '@topology/core'; -export function sequenceFocusIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '@topology/core' +export function sequenceFocusIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function sequenceFocusTextRect(node) { - node.textRect = new Rect(0, 0, 0, 0); - node.fullTextRect = node.textRect; +export function sequenceFocusTextRect (node) { + node.textRect = new Rect(0, 0, 0, 0) + node.fullTextRect = node.textRect } -//# sourceMappingURL=focus.rect.js.map \ No newline at end of file +// # sourceMappingURL=focus.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/index.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/index.js index cef1c365a..1c21a9d54 100644 --- a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/index.js +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/focus/index.js @@ -1,4 +1,4 @@ -export * from './focus'; -export * from './focus.rect'; -export * from './focus.anchor'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './focus' +export * from './focus.rect' +export * from './focus.anchor' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/index.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/index.js index 6256cc24d..bf8f1dc44 100644 --- a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/index.js +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/index.js @@ -1,4 +1,4 @@ -export * from './lifeline'; -export * from './lifeline.rect'; -export * from './lifeline.anchor'; -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './lifeline' +export * from './lifeline.rect' +export * from './lifeline.anchor' +// # sourceMappingURL=index.js.map diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.anchor.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.anchor.js index b07d7c087..c6b16c787 100644 --- a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.anchor.js +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.anchor.js @@ -1,9 +1,9 @@ -import { Point, Direction } from '@topology/core'; -export function lifelineAnchors(node) { - node.anchors.push(new Point(node.rect.x, node.rect.y + 25, Direction.Left)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)); - node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + 25, Direction.Right)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + 50, Direction.Bottom)); - node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.ey, Direction.Bottom)); +import { Point, Direction } from '@topology/core' +export function lifelineAnchors (node) { + node.anchors.push(new Point(node.rect.x, node.rect.y + 25, Direction.Left)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y, Direction.Up)) + node.anchors.push(new Point(node.rect.x + node.rect.width, node.rect.y + 25, Direction.Right)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.y + 50, Direction.Bottom)) + node.anchors.push(new Point(node.rect.x + node.rect.width / 2, node.rect.ey, Direction.Bottom)) } -//# sourceMappingURL=lifeline.anchor.js.map \ No newline at end of file +// # sourceMappingURL=lifeline.anchor.js.map diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.js index e387404aa..868b57cae 100644 --- a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.js +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.js @@ -1,35 +1,35 @@ -export function lifeline(ctx, node) { - var height = 50; - var wr = node.borderRadius; - var hr = node.borderRadius; - if (node.borderRadius < 1) { - wr = node.rect.width * node.borderRadius; - hr = node.rect.height * node.borderRadius; - } - var r = wr < hr ? wr : hr; - if (node.rect.width < 2 * r) { - r = node.rect.width / 2; - } - if (height < 2 * r) { - r = height / 2; - } - ctx.beginPath(); - ctx.moveTo(node.rect.x + r, node.rect.y); - ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + height, r); - ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + height, node.rect.x, node.rect.y + height, r); - ctx.arcTo(node.rect.x, node.rect.y + height, node.rect.x, node.rect.y, r); - ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r); - ctx.closePath(); - (node.fillStyle || node.bkType) && ctx.fill(); - ctx.stroke(); - ctx.save(); - ctx.beginPath(); - ctx.lineWidth = 1; - ctx.setLineDash([7, 7]); - var middle = node.rect.x + node.rect.width / 2; - ctx.moveTo(middle, node.rect.y + height + 1); - ctx.lineTo(middle, node.rect.ey); - ctx.stroke(); - ctx.restore(); +export function lifeline (ctx, node) { + const height = 50 + let wr = node.borderRadius + let hr = node.borderRadius + if (node.borderRadius < 1) { + wr = node.rect.width * node.borderRadius + hr = node.rect.height * node.borderRadius + } + let r = wr < hr ? wr : hr + if (node.rect.width < 2 * r) { + r = node.rect.width / 2 + } + if (height < 2 * r) { + r = height / 2 + } + ctx.beginPath() + ctx.moveTo(node.rect.x + r, node.rect.y) + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y, node.rect.x + node.rect.width, node.rect.y + height, r) + ctx.arcTo(node.rect.x + node.rect.width, node.rect.y + height, node.rect.x, node.rect.y + height, r) + ctx.arcTo(node.rect.x, node.rect.y + height, node.rect.x, node.rect.y, r) + ctx.arcTo(node.rect.x, node.rect.y, node.rect.x + node.rect.width, node.rect.y, r) + ctx.closePath(); + (node.fillStyle || node.bkType) && ctx.fill() + ctx.stroke() + ctx.save() + ctx.beginPath() + ctx.lineWidth = 1 + ctx.setLineDash([7, 7]) + const middle = node.rect.x + node.rect.width / 2 + ctx.moveTo(middle, node.rect.y + height + 1) + ctx.lineTo(middle, node.rect.ey) + ctx.stroke() + ctx.restore() } -//# sourceMappingURL=lifeline.js.map \ No newline at end of file +// # sourceMappingURL=lifeline.js.map diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.rect.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.rect.js index 557945cc7..e233c04e5 100644 --- a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.rect.js +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/lifeline/lifeline.rect.js @@ -1,9 +1,9 @@ -import { Rect } from '@topology/core'; -export function lifelineIconRect(node) { - node.iconRect = new Rect(0, 0, 0, 0); +import { Rect } from '@topology/core' +export function lifelineIconRect (node) { + node.iconRect = new Rect(0, 0, 0, 0) } -export function lifelineTextRect(node) { - node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, 50); - node.fullTextRect = node.textRect; +export function lifelineTextRect (node) { + node.textRect = new Rect(node.rect.x, node.rect.y, node.rect.width, 50) + node.fullTextRect = node.textRect } -//# sourceMappingURL=lifeline.rect.js.map \ No newline at end of file +// # sourceMappingURL=lifeline.rect.js.map diff --git a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/register.js b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/register.js index 4ac8868ec..78c9a74b7 100644 --- a/nezha-fronted/src/components/common/@topology/sequence-diagram/src/register.js +++ b/nezha-fronted/src/components/common/@topology/sequence-diagram/src/register.js @@ -1,8 +1,8 @@ -import { registerNode } from '@topology/core'; -import { lifeline, lifelineAnchors, lifelineIconRect, lifelineTextRect } from './lifeline'; -import { sequenceFocus, sequenceFocusAnchors, sequenceFocusIconRect, sequenceFocusTextRect } from './focus'; -export function register() { - registerNode('lifeline', lifeline, lifelineAnchors, lifelineIconRect, lifelineTextRect); - registerNode('sequenceFocus', sequenceFocus, sequenceFocusAnchors, sequenceFocusIconRect, sequenceFocusTextRect); +import { registerNode } from '@topology/core' +import { lifeline, lifelineAnchors, lifelineIconRect, lifelineTextRect } from './lifeline' +import { sequenceFocus, sequenceFocusAnchors, sequenceFocusIconRect, sequenceFocusTextRect } from './focus' +export function register () { + registerNode('lifeline', lifeline, lifelineAnchors, lifelineIconRect, lifelineTextRect) + registerNode('sequenceFocus', sequenceFocus, sequenceFocusAnchors, sequenceFocusIconRect, sequenceFocusTextRect) } -//# sourceMappingURL=register.js.map \ No newline at end of file +// # sourceMappingURL=register.js.map diff --git a/nezha-fronted/src/components/common/ChartDiagram/diagram.vue b/nezha-fronted/src/components/common/ChartDiagram/diagram.vue index ba9a23670..ece24ddfd 100644 --- a/nezha-fronted/src/components/common/ChartDiagram/diagram.vue +++ b/nezha-fronted/src/components/common/ChartDiagram/diagram.vue @@ -327,7 +327,7 @@ import { myCubec, myCubeAnchors } from '../project/L5/services/canvas.js' -import {getTopology, getTopologyImg, setTopology, setTopologyImg} from '../js/common' +import { getTopology, getTopologyImg, setTopology, setTopologyImg } from '../js/common' import CanvasProps from '../project/L5/CanvasProps' import topologyTopTool from '../project/L5/topologyTopTool' import popDataMain from '../project/popData/Main' diff --git a/nezha-fronted/src/components/common/bottomBox/tabs/alertMessageTabNew.vue b/nezha-fronted/src/components/common/bottomBox/tabs/alertMessageTabNew.vue index 0b57cdfa6..516d52eaa 100644 --- a/nezha-fronted/src/components/common/bottomBox/tabs/alertMessageTabNew.vue +++ b/nezha-fronted/src/components/common/bottomBox/tabs/alertMessageTabNew.vue @@ -161,7 +161,7 @@ export default { immediate: true, handler (n) { if (n) { - // console.log(n) + // console.log(n) } } } diff --git a/nezha-fronted/src/components/common/bottomBox/tabs/panelTabNew.vue b/nezha-fronted/src/components/common/bottomBox/tabs/panelTabNew.vue index 13bccf885..276d9aa53 100644 --- a/nezha-fronted/src/components/common/bottomBox/tabs/panelTabNew.vue +++ b/nezha-fronted/src/components/common/bottomBox/tabs/panelTabNew.vue @@ -761,7 +761,7 @@ export default { document.body.style.height = 'auto' // document.getElementsByTagName('html')[0].style.overflow = 'visible' const position = dom.getBoundingClientRect() - this.getPdf(dom, -1 * position.left, -1 * position.top,this.searchTime) + this.getPdf(dom, -1 * position.left, -1 * position.top, this.searchTime) // this.getPdf(dom, 0, 0) }, 2000) } diff --git a/nezha-fronted/src/components/common/detailView/list/endpoint/endpointDetail.vue b/nezha-fronted/src/components/common/detailView/list/endpoint/endpointDetail.vue index 7fb683510..fcec0cb52 100644 --- a/nezha-fronted/src/components/common/detailView/list/endpoint/endpointDetail.vue +++ b/nezha-fronted/src/components/common/detailView/list/endpoint/endpointDetail.vue @@ -108,7 +108,7 @@ export default { label: this.$t('project.endpoint.state'), prop: 'state', show: true, - minWidth: 200, + minWidth: 200 } // { // label: this.$t('project.endpoint.status'), diff --git a/nezha-fronted/src/components/common/detailView/view/detailViewRight.vue b/nezha-fronted/src/components/common/detailView/view/detailViewRight.vue index 85df004a8..7b461e674 100644 --- a/nezha-fronted/src/components/common/detailView/view/detailViewRight.vue +++ b/nezha-fronted/src/components/common/detailView/view/detailViewRight.vue @@ -200,7 +200,7 @@ export default { endpointTabTitle: [ { prop: 'panelTab', name: this.$t('overall.detail') }, { prop: 'endpointAlertMessage', name: this.$t('overall.alert') }, - { prop: 'endpointQuery', name: this.$t('project.metrics.metrics') }, + { prop: 'endpointQuery', name: this.$t('project.metrics.metrics') }, { prop: 'log', name: this.$t('overall.logs') } ] }, diff --git a/nezha-fronted/src/components/common/js/tools.js b/nezha-fronted/src/components/common/js/tools.js index 653e3fe72..0473e2214 100644 --- a/nezha-fronted/src/components/common/js/tools.js +++ b/nezha-fronted/src/components/common/js/tools.js @@ -7,7 +7,7 @@ import moment from 'moment-timezone' const exceptClassName = ['prevent-clickoutside', 'config-dropdown', 'nz-pop', 'el-picker', 'chart-box-dropdown', 'metric-dropdown', 'el-cascader__dropdown', 'no-style-class', 'el-message-box', 'nz-dashboard-dropdown', 'el-autocomplete-suggestion', 'nz-temp-box', 'el-time-panel', 'el-dropdown-menu', 'el-select-dropdown'] // clickoutside排除的class(白名单) no-style-class:没有任何样式的class export const clickoutside = { // 初始化指令 - bind(el, binding, vnode) { + bind (el, binding, vnode) { if (!binding.expression) return const unsavedChange = localStorage.getItem('nz-unnsaved-change') let oldValue @@ -17,7 +17,7 @@ export const clickoutside = { } catch (e) { } - function documentHandler(e) { + function documentHandler (e) { if (el.contains(e.target)) { return false } else { @@ -67,16 +67,16 @@ export const clickoutside = { el.__vueClickOutside__ = documentHandler document.addEventListener('mousedown', documentHandler) }, - update(el, binding, vnode) { + update (el, binding, vnode) { el.__newValue__ = binding.value.obj }, - unbind(el, binding) { + unbind (el, binding) { // 解除事件监听 document.removeEventListener('mousedown', el.__vueClickOutside__) delete el.__vueClickOutside__ } } -function isEqual(o1, o2) { +function isEqual (o1, o2) { var isEqualForInner = function (obj1, obj2) { const o1 = obj1 instanceof Object const o2 = obj2 instanceof Object @@ -113,8 +113,8 @@ export const myLoading = { } } } -function myLoadingFunction(el, binding, vnode) { - let className = binding.arg || 'el-loading-mask' +function myLoadingFunction (el, binding, vnode) { + const className = binding.arg || 'el-loading-mask' const ds = el.getElementsByClassName(className)[0] if (binding.value) { if (ds) { @@ -149,7 +149,7 @@ function myLoadingFunction(el, binding, vnode) { // div内部加入内容 // div.innerHTML = '加载中...' // el 元素设置相对定位 div设置绝对定位 - el.setAttribute('class',elClassName + ' elrelative') + el.setAttribute('class', elClassName + ' elrelative') // el.setAttribute('class',className) // 设置绝对定位 div.setAttribute('class', className) @@ -166,7 +166,7 @@ export const cancelWithChange = { const unsavedChange = localStorage.getItem('nz-unnsaved-change') const oldValue = JSON.parse(JSON.stringify(binding.value.obj)) el.__newValue__ = oldValue - function domClick(e) { + function domClick (e) { if (unsavedChange == 'on' && !isEqual(oldValue, el.__newValue__)) { MessageBox.confirm(i18n.t('tip.confirmCancel'), { confirmButtonText: i18n.t('tip.yes'), @@ -184,7 +184,7 @@ export const cancelWithChange = { el.__vueDomClick__ = domClick el.addEventListener('click', domClick) }, - update(el, binding, vnode) { + update (el, binding, vnode) { el.__newValue__ = binding.value.obj }, unbind: function (el, binding) { @@ -196,7 +196,7 @@ export const cancelWithChange = { // 底部上滑框窗口控制 export const bottomBoxWindow = { // 鼠标拖动二级列表 - listResize(vm, e) { + listResize (vm, e) { window.resizing = true const mainListDom = document.querySelector('.main-list') // 主列表 const subBoxDom = document.querySelector('.sub-box') // 副列表 @@ -269,7 +269,7 @@ export const bottomBoxWindow = { document.onmouseup = null } }, - exitFullScreen(vm) { + exitFullScreen (vm) { window.resizing = true const contentRightDom = document.querySelector('.list-page') // 右侧内容区 const contentRightHeight = contentRightDom.offsetHeight// 可视高度 @@ -293,7 +293,7 @@ export const bottomBoxWindow = { }) }, 210) }, - fullScreen(vm) { + fullScreen (vm) { window.resizing = true const contentRightDom = document.querySelector('.list-page') // 右侧内容区 const contentRightHeight = contentRightDom.offsetHeight - 9// 可视高度 @@ -306,7 +306,7 @@ export const bottomBoxWindow = { document.querySelector('.sub-list').style.height = contentRightHeight + 'px' window.resizing = false }, - showSubListWatch(vm, n) { + showSubListWatch (vm, n) { vm.bottomBox.inTransform = n if (!n) { vm.mainTableHeight = vm.$tableHeight.normal // 重置table的高度 @@ -350,7 +350,7 @@ export const bottomBoxWindow = { } } } -export function stringTimeParseToUnix(stringTime) { +export function stringTimeParseToUnix (stringTime) { let time = new Date(stringTime).getTime() let offset = localStorage.getItem('nz-sys-timezone') offset = moment.tz(offset).format('Z') @@ -359,7 +359,7 @@ export function stringTimeParseToUnix(stringTime) { time = time + localOffset - offset * 60 * 60 * 1000 return parseInt(time / 1000) } -export function stringTimeParseToUnixMs(stringTime) { +export function stringTimeParseToUnixMs (stringTime) { let time = new Date(stringTime).getTime() let offset = localStorage.getItem('nz-sys-timezone') offset = moment.tz(offset).format('Z') @@ -368,7 +368,7 @@ export function stringTimeParseToUnixMs(stringTime) { time = time + localOffset - offset * 60 * 60 * 1000 return parseInt(time) } -export function getTime(size, unit) { // 计算时间 +export function getTime (size, unit) { // 计算时间 const now = new Date(bus.computeTimezone(new Date().getTime())) if (unit) { switch (unit) { @@ -409,7 +409,7 @@ export function getTime(size, unit) { // 计算时间 second = second < 10 ? '0' + second : second return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second } -export function calcDurationByStringTime(startTime, endTime) { +export function calcDurationByStringTime (startTime, endTime) { const durationSecond = stringTimeParseToUnix(endTime) - stringTimeParseToUnix(startTime) let result = `${durationSecond % 60}s` if (durationSecond > 60) { @@ -420,7 +420,7 @@ export function calcDurationByStringTime(startTime, endTime) { } return result } -export function calcDurationByStringTimeB(startTime, endTime) { +export function calcDurationByStringTimeB (startTime, endTime) { const durationSecond = stringTimeParseToUnix(endTime) - stringTimeParseToUnix(startTime) let result = `${durationSecond % 60}s` if (durationSecond >= 60 * 60 * 24) { @@ -435,7 +435,7 @@ export function calcDurationByStringTimeB(startTime, endTime) { return result } -export function calcDurationByStringTimeMs(startTime, endTime) { +export function calcDurationByStringTimeMs (startTime, endTime) { let durationSecond = stringTimeParseToUnixMs(endTime) - stringTimeParseToUnixMs(startTime) let result = '' if (durationSecond < 1000) { @@ -457,7 +457,7 @@ export function calcDurationByStringTimeMs(startTime, endTime) { return result } -export function unixTimeParseToString(unixTime, fmt = 'YYYY-MM-DD HH:mm:ss') { +export function unixTimeParseToString (unixTime, fmt = 'YYYY-MM-DD HH:mm:ss') { const date = new Date(unixTime * 1000) const o = { 'M+': date.getMonth() + 1, // 月份 @@ -484,10 +484,10 @@ export const chartResizeTool = { containerBlankWidth: 30, // 容器空白占位宽度(#listContainer的padding) titleHeight: 40, // 标题dom高度 timeouter: null, - stepWidth(containerWidth) { // 单元宽度,参数为容器总宽度 + stepWidth (containerWidth) { // 单元宽度,参数为容器总宽度 return Math.floor((containerWidth - this.containerBlankWidth) / 12) }, - start(vm, originalData, event, chartIndexs) { + start (vm, originalData, event, chartIndexs) { const $self = this const data = JSON.parse(JSON.stringify(originalData)) // 将初始对象复制,后续操作使用复制对象 const shadow = vm.$refs.resizeShadow ? vm.$refs.resizeShadow : vm.$refs[0].resizeShadow // 缩放时底部阴影dom @@ -511,7 +511,7 @@ export const chartResizeTool = { // 3.鼠标松开,将resize-box宽高改为resize-shadow宽高,结束 document.addEventListener('mouseup', mouseupListener) - function moveListener(e) { + function moveListener (e) { const mouseX = e.clientX const mouseY = e.clientY const w = `${Math.floor(originalWidth + (mouseX - mouseOriginalX) - chartBlankWidth)}px` @@ -526,7 +526,7 @@ export const chartResizeTool = { const remainderHeight = (box.offsetHeight + chartBlankHeight - shadowNewHeight) % step // 高的余数 boxStepHandler(remainderWidth, remainderHeight) } - function mouseupListener(e) { + function mouseupListener (e) { data.span = Math.round((shadow.offsetWidth + chartBlankWidth) / step) data.height = Math.round((shadow.offsetHeight + chartBlankHeight) / step) box.style.width = `${Math.floor(data.span * step) - chartBlankWidth}px` @@ -543,7 +543,7 @@ export const chartResizeTool = { document.removeEventListener('mousemove', moveListener) document.removeEventListener('mouseup', mouseupListener) } - function boxStepHandler(width, height, chartIndex) { // param: 宽高变化量,大于0放大,小于0缩小 + function boxStepHandler (width, height, chartIndex) { // param: 宽高变化量,大于0放大,小于0缩小 let widthChange = false let heightChange = false if (width > step / 2) { // 放大shadow宽 @@ -600,7 +600,7 @@ export const chartResizeTool = { // table 方法 export const tableSet = { // 是否需要排序 - sortableShow(prop, from) { + sortableShow (prop, from) { switch (prop) { case 'state': { if (from === 'operationlog' || from === 'alertSilence') { @@ -657,7 +657,7 @@ export const tableSet = { } }, // prop字段 - propTitle(prop, from) { + propTitle (prop, from) { switch (from) { case 'asset': switch (prop) { @@ -781,7 +781,7 @@ export const tableSet = { } }, // 本地正序 - asce(prop) { + asce (prop) { return function (obj1, obj2) { let val1 = obj1[prop] let val2 = obj2[prop] @@ -819,7 +819,7 @@ export const tableSet = { } }, // 本地倒序 - desc(prop) { + desc (prop) { return function (obj1, obj2) { let val1 = obj1[prop] let val2 = obj2[prop] @@ -857,7 +857,7 @@ export const tableSet = { } }, // 转化时间字符串为时间戳 - strTodate(str) { + strTodate (str) { let date = str.trim() date = date.substring(0, 19) date = date.replace(/-/g, '/') // 必须把日期'-'转为'/' @@ -865,7 +865,7 @@ export const tableSet = { } } -export function getMetricTypeValue(queryItem, type) { +export function getMetricTypeValue (queryItem, type) { let copy = JSON.parse(JSON.stringify(queryItem)) switch (type) { case 'min': { @@ -942,31 +942,31 @@ export function getMetricTypeValue(queryItem, type) { } } -export function blankPromise() { +export function blankPromise () { return new Promise(resolve => { resolve() }) } -export function clickLegend(echart, legendName, index) { +export function clickLegend (echart, legendName, index) { if (echart) { // } } -export function showTableTooltip(content, show = true, e) { +export function showTableTooltip (content, show = true, e) { if (show) { const dom = document.querySelector('.table-tooltip') dom.innerHTML = content dom.setAttribute('style', `visibility: visible; top: ${e.clientY - e.offsetY + e.target.offsetHeight * 0.5 - dom.offsetHeight * 0.5}px; left: ${e.clientX - e.offsetX + e.target.offsetWidth}px`) } } -export function hideTableTooltip() { +export function hideTableTooltip () { const dom = document.querySelector('.table-tooltip') dom.setAttribute('style', 'visibility: hidden;') dom.innerHTML = '' } /* 数字转换保留小数,数字很小时转为科学计数法, dot为保留几位小数 */ -export function formatScientificNotation(value, dot = 2) { +export function formatScientificNotation (value, dot = 2) { let val = value ? parseFloat(Number(value).toFixed(dot)) : 0 if (val === 0) { val = Number(value).toPrecision(dot + 1) @@ -982,7 +982,7 @@ export function formatScientificNotation(value, dot = 2) { } } */ /* 处理legend的别名 */ -export function dealLegendAlias(legend, expression) { +export function dealLegendAlias (legend, expression) { if (/\{\{.+\}\}/.test(expression)) { const labelValue = expression.replace(/(\{\{.+?\}\})/g, function (i) { const label = i.substr(i.indexOf('{{') + 2, i.indexOf('}}') - i.indexOf('{{') - 2) diff --git a/nezha-fronted/src/components/common/mixin/subDataList.js b/nezha-fronted/src/components/common/mixin/subDataList.js index 22641b1b8..f072dd2b9 100644 --- a/nezha-fronted/src/components/common/mixin/subDataList.js +++ b/nezha-fronted/src/components/common/mixin/subDataList.js @@ -5,7 +5,7 @@ export default { type: Array }, targetTab: String, - from: String, + from: String }, data () { return { diff --git a/nezha-fronted/src/components/common/project/popData/assetTable.vue b/nezha-fronted/src/components/common/project/popData/assetTable.vue index 430ab2717..993e5b73f 100644 --- a/nezha-fronted/src/components/common/project/popData/assetTable.vue +++ b/nezha-fronted/src/components/common/project/popData/assetTable.vue @@ -114,7 +114,7 @@ export default { label: this.$t('asset.alertNum'), prop: 'alertNum', show: true, - width: 120, + width: 120 }, { label: this.$t('asset.endpointNum2'), prop: 'endpointNum', diff --git a/nezha-fronted/src/components/common/project/topologyL5.vue b/nezha-fronted/src/components/common/project/topologyL5.vue index 7bcd59d10..4558d056c 100644 --- a/nezha-fronted/src/components/common/project/topologyL5.vue +++ b/nezha-fronted/src/components/common/project/topologyL5.vue @@ -782,7 +782,7 @@ export default { return } if (!getTopology(this.topologyIndex)) { - let canvas = new Topology('topology-canvas' + this.topologyIndexF, canvasOptions) + let canvas = new Topology('topology-canvas' + this.topologyIndexF) // canvas.open(data) setTopology(this.topologyIndex, canvas) canvas = null @@ -794,7 +794,7 @@ export default { getTopology(this.topologyIndex).data.name = this.obj.name } getTopology(this.topologyIndex).data.projectId = this.obj.id - getTopology(this.topologyIndex).lock(1) + // getTopology(this.topologyIndex).lock(1) this.getModule()// 获取module resolve() @@ -1753,7 +1753,7 @@ export default { res.data.list.forEach((item, index) => { item.imageName = item.name delete item.name - promiseArr.push(topologyImg['img' + item.id]|| dealImg(`monitor/project/topo/icon/${item.id}/1`, item.id)) + promiseArr.push(topologyImg['img' + item.id] || dealImg(`monitor/project/topo/icon/${item.id}/1`, item.id)) imgArr.push({ ...item }) }) Promise.all(promiseArr).then((res2, header) => { @@ -2286,49 +2286,49 @@ export default { if (getTopology(this.topologyIndex)) { console.log(getTopology(this.topologyIndex)) // getTopology(this.topologyIndex).open({ pens: [] }) - getTopology(this.topologyIndex).off('contextmenu', this.onContextMenu) - getTopology(this.topologyIndex).data.pens.forEach(item => { - item.img = null - item.image = null - item.lastImage = null - }) - getTopology(this.topologyIndex).activeLayer.data.pens.forEach(item => { - item.img = null - item.image = null - item.lastImage = null - }) - getTopology(this.topologyIndex).animateLayer.data.pens.forEach(item => { - item.img = null - item.image = null - item.lastImage = null - }) - getTopology(this.topologyIndex).caches.list.forEach((cache) => { - cache.pens.forEach(item => { - item.img = null - item.image = null - item.lastImage = null - }) - }) - getTopology(this.topologyIndex).animateLayer.data.pens.forEach(item => { - item.img = null - item.image = null - item.lastImage = null - }) - getTopology(this.topologyIndex).canvas.data.pens.forEach(item => { - item.img = null - item.image = null - item.lastImage = null - }) - getTopology(this.topologyIndex).divLayer.data.pens.forEach(item => { - item.img = null - item.image = null - item.lastImage = null - }) - getTopology(this.topologyIndex).hoverLayer.data.pens.forEach(item => { - item.img = null - item.image = null - item.lastImage = null - }) + // getTopology(this.topologyIndex).off('contextmenu', this.onContextMenu) + // getTopology(this.topologyIndex).data.pens.forEach(item => { + // item.img = null + // item.image = null + // item.lastImage = null + // }) + // getTopology(this.topologyIndex).activeLayer.data.pens.forEach(item => { + // item.img = null + // item.image = null + // item.lastImage = null + // }) + // getTopology(this.topologyIndex).animateLayer.data.pens.forEach(item => { + // item.img = null + // item.image = null + // item.lastImage = null + // }) + // getTopology(this.topologyIndex).caches.list.forEach((cache) => { + // cache.pens.forEach(item => { + // item.img = null + // item.image = null + // item.lastImage = null + // }) + // }) + // getTopology(this.topologyIndex).animateLayer.data.pens.forEach(item => { + // item.img = null + // item.image = null + // item.lastImage = null + // }) + // getTopology(this.topologyIndex).canvas.data.pens.forEach(item => { + // item.img = null + // item.image = null + // item.lastImage = null + // }) + // getTopology(this.topologyIndex).divLayer.data.pens.forEach(item => { + // item.img = null + // item.image = null + // item.lastImage = null + // }) + // getTopology(this.topologyIndex).hoverLayer.data.pens.forEach(item => { + // item.img = null + // item.image = null + // item.lastImage = null + // }) getTopology(this.topologyIndex).destroy() const StoreData = le5leStore.get() // const arr = [] diff --git a/nezha-fronted/src/components/common/rightBox/chart/chartTypeShow.js b/nezha-fronted/src/components/common/rightBox/chart/chartTypeShow.js index 849301126..5ef019c40 100644 --- a/nezha-fronted/src/components/common/rightBox/chart/chartTypeShow.js +++ b/nezha-fronted/src/components/common/rightBox/chart/chartTypeShow.js @@ -93,7 +93,7 @@ export default { default: return false } }, - isThresholdConfig(type) { + isThresholdConfig (type) { switch (type) { case 'line': case 'area': diff --git a/nezha-fronted/src/components/common/table/asset/assetTable.vue b/nezha-fronted/src/components/common/table/asset/assetTable.vue index f80c1f57d..f468b513a 100644 --- a/nezha-fronted/src/components/common/table/asset/assetTable.vue +++ b/nezha-fronted/src/components/common/table/asset/assetTable.vue @@ -299,7 +299,7 @@ export default { hideTableTooltip, tableDataSort (item) { let orderBy = '' - let str = item.prop + const str = item.prop if (str === 'dc') { orderBy = str } diff --git a/nezha-fronted/src/components/layout/header.vue b/nezha-fronted/src/components/layout/header.vue index d3a989478..9465ac999 100644 --- a/nezha-fronted/src/components/layout/header.vue +++ b/nezha-fronted/src/components/layout/header.vue @@ -83,7 +83,7 @@ export default { }, data () { return { - username: '', + username: '', name: '', language: 'en', // 顶部菜单相关 diff --git a/nezha-fronted/src/components/page/dashboard/panel.vue b/nezha-fronted/src/components/page/dashboard/panel.vue index ee988fa0a..d436e0cbc 100644 --- a/nezha-fronted/src/components/page/dashboard/panel.vue +++ b/nezha-fronted/src/components/page/dashboard/panel.vue @@ -830,7 +830,7 @@ export default { this.panelReloadOnlyPanel() }, htmlToPdf () { - let dom = document.getElementsByClassName(this.pdfId)[0] + const dom = document.getElementsByClassName(this.pdfId)[0] if (dom) { // dom = dom.getElementsByClassName('vue-grid-layout')[0] this.htmlTitle = this.showPanel.name diff --git a/nezha-fronted/src/store/user.js b/nezha-fronted/src/store/user.js index 930d49e38..b891da96c 100644 --- a/nezha-fronted/src/store/user.js +++ b/nezha-fronted/src/store/user.js @@ -71,7 +71,6 @@ const user = { }, actions: { loginSuccess (store, res) { - const defaultAppearance = { system_name: localStorage.getItem('nz-sys-name'), system_logo: localStorage.getItem('nz-sys-logo'), diff --git a/nezha-fronted/static/config.json b/nezha-fronted/static/config.json index 3151969db..de525c212 100644 --- a/nezha-fronted/static/config.json +++ b/nezha-fronted/static/config.json @@ -1 +1 @@ -{"baseUrl":"http://192.168.40.42:8080/", "version": "22.05"} +{"baseUrl":"/", "version": "22.04"}