@dataloop-ai/components 0.17.109 → 0.17.111
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -41,7 +41,7 @@ export default defineComponent({
|
|
|
41
41
|
default: 3
|
|
42
42
|
}
|
|
43
43
|
},
|
|
44
|
-
emits: ['update:modelValue'],
|
|
44
|
+
emits: ['update:modelValue', 'layout-changed'],
|
|
45
45
|
computed: {
|
|
46
46
|
gridStyles(): object {
|
|
47
47
|
return {
|
|
@@ -88,10 +88,14 @@ export default defineComponent({
|
|
|
88
88
|
const htmlElement = element as HTMLElement
|
|
89
89
|
htmlElement.style.order = `${orderIndex}`
|
|
90
90
|
htmlElement.style.gridColumn = gridTemplate[orderIndex - 1]
|
|
91
|
-
htmlElement.addEventListener('
|
|
91
|
+
htmlElement.addEventListener('position-changing', (e) => {
|
|
92
92
|
if (!isCustomEvent(e)) return
|
|
93
93
|
this.changePosition(e)
|
|
94
94
|
})
|
|
95
|
+
htmlElement.addEventListener(
|
|
96
|
+
'position-changed',
|
|
97
|
+
this.layoutChanged.bind(this)
|
|
98
|
+
)
|
|
95
99
|
})
|
|
96
100
|
},
|
|
97
101
|
changePosition(e: CustomEvent) {
|
|
@@ -123,7 +127,14 @@ export default defineComponent({
|
|
|
123
127
|
side,
|
|
124
128
|
this.maxElementsPerRow
|
|
125
129
|
)
|
|
130
|
+
// Update modelValue is required to trigger visualization of the changes
|
|
126
131
|
this.$emit('update:modelValue', newLayout)
|
|
132
|
+
if (e.detail.endDragging) {
|
|
133
|
+
this.layoutChanged()
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
layoutChanged() {
|
|
137
|
+
this.$emit('layout-changed', this.modelValue)
|
|
127
138
|
}
|
|
128
139
|
}
|
|
129
140
|
})
|
|
@@ -128,13 +128,17 @@ export default defineComponent({
|
|
|
128
128
|
const target = getElementAbove(e.target as HTMLElement, 'dl-widget')
|
|
129
129
|
const change = {
|
|
130
130
|
source: this.draggedWidget,
|
|
131
|
-
target
|
|
131
|
+
target,
|
|
132
|
+
endDragging: true
|
|
132
133
|
}
|
|
134
|
+
const wrapper = this.$refs.wrapper as HTMLElement
|
|
133
135
|
if (target && this.draggedWidget) {
|
|
134
|
-
const event = new CustomEvent('
|
|
136
|
+
const event = new CustomEvent('position-changing', {
|
|
135
137
|
detail: change
|
|
136
138
|
})
|
|
137
|
-
|
|
139
|
+
wrapper.dispatchEvent(event)
|
|
140
|
+
} else {
|
|
141
|
+
wrapper.dispatchEvent(new CustomEvent('position-changed'))
|
|
138
142
|
}
|
|
139
143
|
window.removeEventListener('mousemove', this.moveClone)
|
|
140
144
|
window.removeEventListener('mouseup', this.stopDragging)
|
|
@@ -165,7 +169,7 @@ export default defineComponent({
|
|
|
165
169
|
this.hoveredWidget,
|
|
166
170
|
'widget-wrapper'
|
|
167
171
|
)
|
|
168
|
-
const event = new CustomEvent('
|
|
172
|
+
const event = new CustomEvent('position-changing', {
|
|
169
173
|
detail: {
|
|
170
174
|
source: this.$refs.wrapper,
|
|
171
175
|
target: targetWidget,
|
|
@@ -131,6 +131,13 @@ export default defineComponent({
|
|
|
131
131
|
default: 'left',
|
|
132
132
|
validator: (v: string) =>
|
|
133
133
|
['left', 'right', 'justify', 'center'].includes(v)
|
|
134
|
+
},
|
|
135
|
+
/**
|
|
136
|
+
* the % of the parent element that triggers the tooltips visibility
|
|
137
|
+
*/
|
|
138
|
+
triggerPercentage: {
|
|
139
|
+
type: Number,
|
|
140
|
+
default: 1
|
|
134
141
|
}
|
|
135
142
|
},
|
|
136
143
|
setup(props, { emit, attrs }) {
|
|
@@ -266,9 +273,10 @@ export default defineComponent({
|
|
|
266
273
|
}
|
|
267
274
|
|
|
268
275
|
function CheckAnchorElVisiblity(domElement: any) {
|
|
276
|
+
const intersectionRatio = props.triggerPercentage ?? 1
|
|
269
277
|
return new Promise((resolve) => {
|
|
270
278
|
const o = new IntersectionObserver(([entry]) => {
|
|
271
|
-
resolve(entry.intersectionRatio
|
|
279
|
+
resolve(entry.intersectionRatio >= intersectionRatio)
|
|
272
280
|
o.disconnect()
|
|
273
281
|
})
|
|
274
282
|
o.observe(domElement)
|