From 38430ddb8612fce15a2f1c940f9bd57d4da3e70b Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期四, 16 九月 2021 11:59:39 +0800
Subject: [PATCH] add new key

---
 components/uni-swipe-action-item/bindingx.js |  488 +++++++++++++++++++++++++++---------------------------
 1 files changed, 244 insertions(+), 244 deletions(-)

diff --git a/components/uni-swipe-action-item/bindingx.js b/components/uni-swipe-action-item/bindingx.js
index 59c592e..50b9241 100644
--- a/components/uni-swipe-action-item/bindingx.js
+++ b/components/uni-swipe-action-item/bindingx.js
@@ -1,245 +1,245 @@
-const BindingX = uni.requireNativePlugin('bindingx');
-const dom = uni.requireNativePlugin('dom');
-const animation = uni.requireNativePlugin('animation');
-
-export default {
-	data() {
-		return {
-			right: 0,
-			button: [],
-			preventGesture: false
-		}
-	},
-
-	watch: {
-		show(newVal) {
-			if (!this.position || JSON.stringify(this.position) === '{}') return;
-			if (this.autoClose) return
-			if (this.isInAnimation) return
-			if (newVal) {
-				this.open()
-			} else {
-				this.close()
-			}
-		},
-	},
-	created() {
-		if (this.swipeaction.children !== undefined) {
-			this.swipeaction.children.push(this)
-		}
-	},
-	mounted() {
-		this.boxSelector = this.getEl(this.$refs['selector-box-hock']);
-		this.selector = this.getEl(this.$refs['selector-content-hock']);
-		this.buttonSelector = this.getEl(this.$refs['selector-button-hock']);
-		this.position = {}
-		this.x = 0
-		setTimeout(() => {
-			this.getSelectorQuery()
-		}, 200)
-	},
-	beforeDestroy() {
-		if (this.timing) {
-			BindingX.unbind({
-				token: this.timing.token,
-				eventType: 'timing'
-			})
-		}
-		if (this.eventpan) {
-			BindingX.unbind({
-				token: this.eventpan.token,
-				eventType: 'pan'
-			})
-		} 
-		this.swipeaction.children.forEach((item, index) => {
-			if (item === this) {
-				this.swipeaction.children.splice(index, 1)
-			}
-		})
-	},
-	methods: {
-		onClick(index, item) {
-			this.$emit('click', {
-				content: item,
-				index
-			})
-		},
-		touchstart(e) {
-			if (this.isInAnimation) return
-			if (this.stop) return
-			this.stop = true
-			if (this.autoClose) {
-				this.swipeaction.closeOther(this)
-			}
-			let endWidth = this.right
-			let boxStep = `(x+${this.x})`
-			let pageX = `${boxStep}> ${-endWidth} && ${boxStep} < 0?${boxStep}:(x+${this.x} < 0? ${-endWidth}:0)`
-
-			let props = [{
-				element: this.selector,
-				property: 'transform.translateX',
-				expression: pageX
-			}]
-
-			let left = 0
-			for (let i = 0; i < this.options.length; i++) {
-				let buttonSelectors = this.getEl(this.$refs['button-hock'][i]);
-				if (this.button.length === 0 || !this.button[i] || !this.button[i].width) return
-				let moveMix = endWidth - left
-				left += this.button[i].width
-				let step = `(${this.x}+x)/${endWidth}`
-				let moveX = `(${step}) * ${moveMix}`
-				let pageButtonX = `${moveX}&& (x+${this.x} > ${-endWidth})?${moveX}:${-moveMix}`
-				props.push({
-					element: buttonSelectors,
-					property: 'transform.translateX',
-					expression: pageButtonX
-				})
-			}
-
-			this.eventpan = this._bind(this.boxSelector, props, 'pan', (e) => {
-				if (e.state === 'end') {
-					this.x = e.deltaX + this.x;
-					if (this.x < -endWidth) {
-						this.x = -endWidth
-					}
-					if (this.x > 0) {
-						this.x = 0
-					}
-					this.stop = false
-					this.bindTiming();
-				}
-			})
-		},
-		touchend(e) {
-			this.$nextTick(() => {
-				if (this.isopen && !this.isDrag && !this.isInAnimation) {
-					this.close()
-				}
-			})
-		},
-		bindTiming() {
-			if (this.isopen) {
-				this.move(this.x, -this.right)
-			} else {
-				this.move(this.x, -40)
-			}
-		},
-		move(left, value) {
-			if (left >= value) {
-				this.close()
-			} else {
-				this.open()
-			}
-		},
-		/**
-		 * 寮�鍚痵wipe
-		 */
-		open() {
-			this.animation(true)
-		},
-		/**
-		 * 鍏抽棴swipe
-		 */
-		close() {
-			this.animation(false)
-		},
-		/**
-		 * 寮�鍚叧闂姩鐢�
-		 * @param {Object} type
-		 */
-		animation(type) {
-			this.isDrag = true
-			let endWidth = this.right
-			let time = 200
-			this.isInAnimation = true;
-
-			let exit = `t>${time}`;
-			let translate_x_expression = `easeOutExpo(t,${this.x},${type?(-endWidth-this.x):(-this.x)},${time})`
-			let props = [{
-				element: this.selector,
-				property: 'transform.translateX',
-				expression: translate_x_expression
-			}]
-
-			let left = 0
-			for (let i = 0; i < this.options.length; i++) {
-				let buttonSelectors = this.getEl(this.$refs['button-hock'][i]);
-				if (this.button.length === 0 || !this.button[i] || !this.button[i].width) return
-				let moveMix = endWidth - left
-				left += this.button[i].width
-				let step = `${this.x}/${endWidth}`
-				let moveX = `(${step}) * ${moveMix}`
-				let pageButtonX = `easeOutExpo(t,${moveX},${type ? -moveMix + '-' + moveX: 0 + '-' + moveX},${time})`
-				props.push({
-					element: buttonSelectors,
-					property: 'transform.translateX',
-					expression: pageButtonX
-				})
-			}
-
-			this.timing = BindingX.bind({
-				eventType: 'timing',
-				exitExpression: exit,
-				props: props
-			}, (e) => {
-				if (e.state === 'end' || e.state === 'exit') {
-					this.x = type ? -endWidth : 0
-					this.isInAnimation = false;
-
-					this.isopen = this.isopen || false
-					if (this.isopen !== type) {
-						this.$emit('change', type)
-					}
-					this.isopen = type
-					this.isDrag = false
-				}
-			});
-		},
-		/**
-		 * 缁戝畾  BindingX
-		 * @param {Object} anchor
-		 * @param {Object} props
-		 * @param {Object} fn
-		 */
-		_bind(anchor, props, eventType, fn) {
-			return BindingX.bind({
-				anchor,
-				eventType,
-				props
-			}, (e) => {
-				typeof(fn) === 'function' && fn(e)
-			});
-		},
-		/**
-		 * 鑾峰彇ref
-		 * @param {Object} el
-		 */
-		getEl(el) {
-			return el.ref
-		},
-		/**
-		 * 鑾峰彇鑺傜偣淇℃伅
-		 */
-		getSelectorQuery() {
-			dom.getComponentRect(this.$refs['selector-content-hock'], (data) => {
-				if (this.position.content) return
-				this.position.content = data.size
-			})
-			for (let i = 0; i < this.options.length; i++) {
-				dom.getComponentRect(this.$refs['button-hock'][i], (data) => {
-					if (!this.button) {
-						this.button = []
-					}
-					if (this.options.length === this.button.length) return
-					this.button.push(data.size)
-					this.right += data.size.width
-					if (this.autoClose) return
-					if (this.show) {
-						this.open()
-					}
-				})
-			}
-		}
-	}
+const BindingX = uni.requireNativePlugin('bindingx');
+const dom = uni.requireNativePlugin('dom');
+const animation = uni.requireNativePlugin('animation');
+
+export default {
+	data() {
+		return {
+			right: 0,
+			button: [],
+			preventGesture: false
+		}
+	},
+
+	watch: {
+		show(newVal) {
+			if (!this.position || JSON.stringify(this.position) === '{}') return;
+			if (this.autoClose) return
+			if (this.isInAnimation) return
+			if (newVal) {
+				this.open()
+			} else {
+				this.close()
+			}
+		},
+	},
+	created() {
+		if (this.swipeaction.children !== undefined) {
+			this.swipeaction.children.push(this)
+		}
+	},
+	mounted() {
+		this.boxSelector = this.getEl(this.$refs['selector-box-hock']);
+		this.selector = this.getEl(this.$refs['selector-content-hock']);
+		this.buttonSelector = this.getEl(this.$refs['selector-button-hock']);
+		this.position = {}
+		this.x = 0
+		setTimeout(() => {
+			this.getSelectorQuery()
+		}, 200)
+	},
+	beforeDestroy() {
+		if (this.timing) {
+			BindingX.unbind({
+				token: this.timing.token,
+				eventType: 'timing'
+			})
+		}
+		if (this.eventpan) {
+			BindingX.unbind({
+				token: this.eventpan.token,
+				eventType: 'pan'
+			})
+		} 
+		this.swipeaction.children.forEach((item, index) => {
+			if (item === this) {
+				this.swipeaction.children.splice(index, 1)
+			}
+		})
+	},
+	methods: {
+		onClick(index, item) {
+			this.$emit('click', {
+				content: item,
+				index
+			})
+		},
+		touchstart(e) {
+			if (this.isInAnimation) return
+			if (this.stop) return
+			this.stop = true
+			if (this.autoClose) {
+				this.swipeaction.closeOther(this)
+			}
+			let endWidth = this.right
+			let boxStep = `(x+${this.x})`
+			let pageX = `${boxStep}> ${-endWidth} && ${boxStep} < 0?${boxStep}:(x+${this.x} < 0? ${-endWidth}:0)`
+
+			let props = [{
+				element: this.selector,
+				property: 'transform.translateX',
+				expression: pageX
+			}]
+
+			let left = 0
+			for (let i = 0; i < this.options.length; i++) {
+				let buttonSelectors = this.getEl(this.$refs['button-hock'][i]);
+				if (this.button.length === 0 || !this.button[i] || !this.button[i].width) return
+				let moveMix = endWidth - left
+				left += this.button[i].width
+				let step = `(${this.x}+x)/${endWidth}`
+				let moveX = `(${step}) * ${moveMix}`
+				let pageButtonX = `${moveX}&& (x+${this.x} > ${-endWidth})?${moveX}:${-moveMix}`
+				props.push({
+					element: buttonSelectors,
+					property: 'transform.translateX',
+					expression: pageButtonX
+				})
+			}
+
+			this.eventpan = this._bind(this.boxSelector, props, 'pan', (e) => {
+				if (e.state === 'end') {
+					this.x = e.deltaX + this.x;
+					if (this.x < -endWidth) {
+						this.x = -endWidth
+					}
+					if (this.x > 0) {
+						this.x = 0
+					}
+					this.stop = false
+					this.bindTiming();
+				}
+			})
+		},
+		touchend(e) {
+			this.$nextTick(() => {
+				if (this.isopen && !this.isDrag && !this.isInAnimation) {
+					this.close()
+				}
+			})
+		},
+		bindTiming() {
+			if (this.isopen) {
+				this.move(this.x, -this.right)
+			} else {
+				this.move(this.x, -40)
+			}
+		},
+		move(left, value) {
+			if (left >= value) {
+				this.close()
+			} else {
+				this.open()
+			}
+		},
+		/**
+		 * 寮�鍚痵wipe
+		 */
+		open() {
+			this.animation(true)
+		},
+		/**
+		 * 鍏抽棴swipe
+		 */
+		close() {
+			this.animation(false)
+		},
+		/**
+		 * 寮�鍚叧闂姩鐢�
+		 * @param {Object} type
+		 */
+		animation(type) {
+			this.isDrag = true
+			let endWidth = this.right
+			let time = 200
+			this.isInAnimation = true;
+
+			let exit = `t>${time}`;
+			let translate_x_expression = `easeOutExpo(t,${this.x},${type?(-endWidth-this.x):(-this.x)},${time})`
+			let props = [{
+				element: this.selector,
+				property: 'transform.translateX',
+				expression: translate_x_expression
+			}]
+
+			let left = 0
+			for (let i = 0; i < this.options.length; i++) {
+				let buttonSelectors = this.getEl(this.$refs['button-hock'][i]);
+				if (this.button.length === 0 || !this.button[i] || !this.button[i].width) return
+				let moveMix = endWidth - left
+				left += this.button[i].width
+				let step = `${this.x}/${endWidth}`
+				let moveX = `(${step}) * ${moveMix}`
+				let pageButtonX = `easeOutExpo(t,${moveX},${type ? -moveMix + '-' + moveX: 0 + '-' + moveX},${time})`
+				props.push({
+					element: buttonSelectors,
+					property: 'transform.translateX',
+					expression: pageButtonX
+				})
+			}
+
+			this.timing = BindingX.bind({
+				eventType: 'timing',
+				exitExpression: exit,
+				props: props
+			}, (e) => {
+				if (e.state === 'end' || e.state === 'exit') {
+					this.x = type ? -endWidth : 0
+					this.isInAnimation = false;
+
+					this.isopen = this.isopen || false
+					if (this.isopen !== type) {
+						this.$emit('change', type)
+					}
+					this.isopen = type
+					this.isDrag = false
+				}
+			});
+		},
+		/**
+		 * 缁戝畾  BindingX
+		 * @param {Object} anchor
+		 * @param {Object} props
+		 * @param {Object} fn
+		 */
+		_bind(anchor, props, eventType, fn) {
+			return BindingX.bind({
+				anchor,
+				eventType,
+				props
+			}, (e) => {
+				typeof(fn) === 'function' && fn(e)
+			});
+		},
+		/**
+		 * 鑾峰彇ref
+		 * @param {Object} el
+		 */
+		getEl(el) {
+			return el.ref
+		},
+		/**
+		 * 鑾峰彇鑺傜偣淇℃伅
+		 */
+		getSelectorQuery() {
+			dom.getComponentRect(this.$refs['selector-content-hock'], (data) => {
+				if (this.position.content) return
+				this.position.content = data.size
+			})
+			for (let i = 0; i < this.options.length; i++) {
+				dom.getComponentRect(this.$refs['button-hock'][i], (data) => {
+					if (!this.button) {
+						this.button = []
+					}
+					if (this.options.length === this.button.length) return
+					this.button.push(data.size)
+					this.right += data.size.width
+					if (this.autoClose) return
+					if (this.show) {
+						this.open()
+					}
+				})
+			}
+		}
+	}
 }

--
Gitblit v1.8.0