diff --git a/README.md b/README.md index 2c4ea84..cef372f 100644 --- a/README.md +++ b/README.md @@ -524,6 +524,7 @@ export default { | windowList | 播放窗口列表,播放窗口数量大于1的话可以配置此项,会显示和窗口对应数量的时间轴,只有一个窗口的话请直接使用基本时间轴,对象数组类型,对象字段见表1-5 | Array | — | [] | | baseTimeLineHeight | 当显示windowList时的基础时间轴高度 | Number | — | 50 | | initSelectWindowTimeLineIndex | 初始选中的窗口时间轴索引 | Number | — | -1 | +| maxClickDistance(v0.1.2+) | 鼠标按下和松开的距离小于该值认为是点击事件 | Number | — | 3 | ### 表1-1 timeRange对象的字段格式 @@ -576,6 +577,7 @@ export default { | click_timeSegments | 点击到了基础时间轴里的时间段时触发 | timeSegments(点击到的时间段,数组类型) | | click_window_timeSegments | 点击到了窗口时间轴里的时间段时触发 | timeSegments(点击到的时间段,数组类型)、index(时间轴索引)、item(时间轴数据) | | change_window_time_line | 点击窗口时间轴进行切换选中时触发 | index(时间轴索引)、item(时间轴数据) | +| click_timeline(v0.1.2+) | 时间轴的点击事件 | time(点击位置对应的时间戳)、 date(点击位置对应的日期时间字符串)、 x(点击位置相对时间轴左侧的距离) | ## 方法 diff --git a/demo/package-lock.json b/demo/package-lock.json index 054f18e..dab2731 100644 --- a/demo/package-lock.json +++ b/demo/package-lock.json @@ -5,7 +5,6 @@ "requires": true, "packages": { "": { - "name": "demo", "version": "0.1.0", "dependencies": { "core-js": "^3.8.3", @@ -3111,6 +3110,8 @@ "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.11.0.tgz", "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -3122,7 +3123,9 @@ "version": "1.0.0", "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/ajv-keywords": { "version": "3.5.2", @@ -12688,7 +12691,6 @@ "integrity": "sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==", "dev": true, "requires": { - "@babel/core": "^7.12.16", "@babel/helper-compilation-targets": "^7.12.16", "@babel/helper-module-imports": "^7.12.13", "@babel/plugin-proposal-class-properties": "^7.12.13", @@ -12701,7 +12703,6 @@ "@vue/babel-plugin-jsx": "^1.0.3", "@vue/babel-preset-jsx": "^1.1.2", "babel-plugin-dynamic-import-node": "^2.3.3", - "core-js": "^3.8.3", "core-js-compat": "^3.8.3", "semver": "^7.3.4" }, @@ -13319,15 +13320,14 @@ "resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, - "requires": { - "ajv": "^8.0.0" - }, + "requires": {}, "dependencies": { "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.11.0.tgz", + "version": "https://registry.npmmirror.com/ajv/-/ajv-8.11.0.tgz", "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, + "optional": true, + "peer": true, "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -13339,7 +13339,9 @@ "version": "1.0.0", "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "dev": true, + "optional": true, + "peer": true } } }, diff --git a/package/package-lock.json b/package/package-lock.json index 11ad430..d3b5e30 100644 --- a/package/package-lock.json +++ b/package/package-lock.json @@ -1,13 +1,13 @@ { "name": "@wanglin1994/video-timeline", - "version": "0.1.0", + "version": "0.1.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@wanglin1994/video-timeline", - "version": "0.1.0", - "license": "ISC", + "version": "0.1.1", + "license": "MIT", "dependencies": { "dayjs": "^1.10.3" } diff --git a/package/package.json b/package/package.json index 5c88697..9b0091d 100644 --- a/package/package.json +++ b/package/package.json @@ -1,6 +1,6 @@ { "name": "@wanglin1994/video-timeline", - "version": "0.1.1", + "version": "0.1.2", "description": "一个基于Vue2的时间轴组件,一般用于监控视频的回放。", "main": "index.js", "scripts": {}, diff --git a/package/src/index.vue b/package/src/index.vue index d9709ed..b3e5bb9 100644 --- a/package/src/index.vue +++ b/package/src/index.vue @@ -3,7 +3,7 @@ backgroundColor: backgroundColor, }" @touchstart="onTouchstart" @touchmove="onTouchmove" @mousedown="onMousedown" @mouseout="onMouseout" @mousemove="onMousemove" @mouseleave="onMouseleave"> - +
= this.maxClickDistance) { + return + } + this.mousedownXUseByDiscriminateClick = 0 + const PX_PER_MS = this.width / this.totalMS // px/ms + let time = this.startTimestamp + x / PX_PER_MS + let date = dayjs(time).format('YYYY-MM-DD HH:mm:ss') + this.$emit('click_timeline', time, date, x) } } }