修改bug
This commit is contained in:
@ -1,45 +1,89 @@
|
|||||||
class eventBinding {
|
class EventBinding {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.element = {}
|
this.element = {}
|
||||||
}
|
}
|
||||||
static event = {}
|
static event = {}
|
||||||
|
|
||||||
getEvent(name) {
|
getEvent(name) {
|
||||||
return eventBinding.event[name]
|
return EventBinding.event[name]
|
||||||
}
|
}
|
||||||
|
|
||||||
getEventAll() {
|
getEventAll() {
|
||||||
return eventBinding.event
|
return EventBinding.event
|
||||||
}
|
}
|
||||||
|
|
||||||
setEvent(name, event) {
|
setEvent(name, event) {
|
||||||
eventBinding.event[name] = event
|
EventBinding.event[name] = event
|
||||||
}
|
}
|
||||||
|
|
||||||
on(that, elements) {
|
on(that, elements) {
|
||||||
|
this.element = {}
|
||||||
for (let i = 0; i < elements.length; i++) {
|
for (let i = 0; i < elements.length; i++) {
|
||||||
let Event = []
|
|
||||||
let isEvent = false
|
|
||||||
let removeName = []
|
|
||||||
if (!elements[i] || !elements[i].attributes) {
|
if (!elements[i] || !elements[i].attributes) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
let Event = {
|
||||||
|
'input': [],
|
||||||
|
'change': [],
|
||||||
|
'blur': [],
|
||||||
|
'click': []
|
||||||
|
}
|
||||||
|
let isEvent = false
|
||||||
|
let removeName = []
|
||||||
for (let m of elements[i].attributes) {
|
for (let m of elements[i].attributes) {
|
||||||
switch (m.name) {
|
switch (m.name) {
|
||||||
case '@model': {
|
case '@model': {
|
||||||
isEvent = true
|
isEvent = true
|
||||||
if (elements[i].type == 'checkbox') {
|
if (elements[i].type == 'checkbox') {
|
||||||
Event.push((e) => { that[m.value] = e.target.checked })
|
Event.change.push((e) => { that[m.value] = e.target.checked })
|
||||||
elements[i].checked = that[m.value]
|
elements[i].checked = that[m.value]
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Event.push((e) => {
|
if (elements[i].type == 'number') {
|
||||||
let value = e.target.value
|
Event.input.push((e) => {
|
||||||
if (e.target.type == 'number') {
|
if (e.target.value || e.target.value === 0) {
|
||||||
value = Number(value)
|
let value = e.target.value
|
||||||
}
|
value = Number(value)
|
||||||
that[m.value] = value
|
if (e.data != '.' && (e.data != '-' || e.target.value)) {
|
||||||
})
|
if (((!e.target.max) && (!e.target.min)) || ((value <= Number(e.target.max)) && value >= Number(e.target.min))) {
|
||||||
|
// that[m.value] = value
|
||||||
|
value = value
|
||||||
|
}
|
||||||
|
if ((e.target.max) && value > Number(e.target.max)) {
|
||||||
|
value = Number(e.target.max)
|
||||||
|
}
|
||||||
|
if ((e.target.min) && value < Number(e.target.min)) {
|
||||||
|
value = Number(e.target.min)
|
||||||
|
}
|
||||||
|
// if ((e.target.dataset.min) && value < Number(e.target.dataset.min)) {
|
||||||
|
// value = Number(e.target.dataset.min)
|
||||||
|
// }
|
||||||
|
that[m.value] = value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
Event.blur.push((e) => {
|
||||||
|
let value = e.target.value
|
||||||
|
if (e.target.value || (e.target.dataset.null !== 'undefined' && e.target.dataset.null !== '' && !Boolean(e.target.dataset.null))) {
|
||||||
|
value = Number(value)
|
||||||
|
if ((e.target.max) && value > Number(e.target.max)) {
|
||||||
|
value = Number(e.target.max)
|
||||||
|
}
|
||||||
|
if ((e.target.min) && value < Number(e.target.min)) {
|
||||||
|
value = Number(e.target.min)
|
||||||
|
}
|
||||||
|
if ((e.target.dataset.min) && value < Number(e.target.dataset.min)) {
|
||||||
|
value = Number(e.target.dataset.min)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
that[m.value] = value
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Event.input.push((e) => {
|
||||||
|
that[m.value] = e.target.value
|
||||||
|
})
|
||||||
|
}
|
||||||
if (elements[i].nodeName == 'IMG') {
|
if (elements[i].nodeName == 'IMG') {
|
||||||
elements[i].src = that[m.value]
|
elements[i].src = that[m.value]
|
||||||
}
|
}
|
||||||
@ -57,13 +101,13 @@ class eventBinding {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case '@click': {
|
case '@click': {
|
||||||
elements[i].addEventListener('click', (e) => {
|
isEvent = true
|
||||||
if (typeof (that.Dialog[m.value]) === 'function') {
|
Event.click.push((e) => {
|
||||||
that.Dialog[m.value](e)
|
if (typeof (that[m.value]) === 'function') {
|
||||||
|
that[m.value](e)
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
removeName.push(m.name)
|
removeName.push(m.name)
|
||||||
// elements[i].attributes.removeNamedItem(m.name)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -74,19 +118,18 @@ class eventBinding {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isEvent) {
|
if (isEvent) {
|
||||||
let ventType = 'input'
|
for (let key in Event) {
|
||||||
if (elements[i].tagName != 'INPUT' || elements[i].type == 'checkbox') {
|
if (Event[key].length > 0) {
|
||||||
ventType = 'change'
|
elements[i].addEventListener(key, (e) => {
|
||||||
}
|
for (let t = 0; t < Event[key].length; t++) {
|
||||||
elements[i].addEventListener(ventType, (e) => {
|
Event[key][t](e)
|
||||||
for (let t = 0; t < Event.length; t++) {
|
}
|
||||||
Event[t](e)
|
});
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const EventBinding = new eventBinding();
|
|
||||||
export default EventBinding;
|
export default EventBinding;
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
*/
|
*/
|
||||||
import Dialog from '../../../Obj/Element/Dialog';
|
import Dialog from '../../../Obj/Element/Dialog';
|
||||||
import { html } from "./_element";
|
import { html } from "./_element";
|
||||||
import EventBinding from '../../../Obj/Element/Dialog/eventBinding';
|
import EventBinding from './eventBinding';
|
||||||
import { syncData } from '../../MultiViewportMode'
|
import { syncData } from '../../MultiViewportMode'
|
||||||
import Tools from '../../../Tools'
|
import Tools from '../../../Tools'
|
||||||
import TimeLine from './TimeLine'
|
import TimeLine from './TimeLine'
|
||||||
|
@ -45,10 +45,6 @@ class EventBinding {
|
|||||||
let value = e.target.value
|
let value = e.target.value
|
||||||
value = Number(value)
|
value = Number(value)
|
||||||
if (e.data != '.' && (e.data != '-' || e.target.value)) {
|
if (e.data != '.' && (e.data != '-' || e.target.value)) {
|
||||||
if (((!e.target.max) && (!e.target.min)) || ((value <= Number(e.target.max)) && value >= Number(e.target.min))) {
|
|
||||||
// that[m.value] = value
|
|
||||||
value = value
|
|
||||||
}
|
|
||||||
if ((e.target.max) && value > Number(e.target.max)) {
|
if ((e.target.max) && value > Number(e.target.max)) {
|
||||||
value = Number(e.target.max)
|
value = Number(e.target.max)
|
||||||
}
|
}
|
||||||
@ -58,10 +54,8 @@ class EventBinding {
|
|||||||
if ((e.target.dataset.min) && value < Number(e.target.dataset.min)) {
|
if ((e.target.dataset.min) && value < Number(e.target.dataset.min)) {
|
||||||
value = Number(e.target.dataset.min)
|
value = Number(e.target.dataset.min)
|
||||||
}
|
}
|
||||||
that[m.value] = value
|
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
})
|
|
||||||
Event.blur.push((e) => {
|
Event.blur.push((e) => {
|
||||||
let value = e.target.value
|
let value = e.target.value
|
||||||
if (e.target.value || (e.target.dataset.null !== 'undefined' && e.target.dataset.null !== '' && !Boolean(e.target.dataset.null))) {
|
if (e.target.value || (e.target.dataset.null !== 'undefined' && e.target.dataset.null !== '' && !Boolean(e.target.dataset.null))) {
|
||||||
|
Reference in New Issue
Block a user