forked from mbk-lab/rui_orig
Changed the main DatePicker listener
This commit is contained in:
parent
05fa725003
commit
4e7dd37f6a
20
README-ru.md
20
README-ru.md
|
@ -3184,9 +3184,9 @@ NumberChangedEvent). Основной слушатель события име
|
||||||
|
|
||||||
Дополнительные слушатели события могут иметь следующий формат
|
Дополнительные слушатели события могут иметь следующий формат
|
||||||
|
|
||||||
func(picker NumberPicker, newValue string)
|
func(picker NumberPicker, newValue float64)
|
||||||
func(newValue, oldValue string)
|
func(newValue, oldValue float64)
|
||||||
func(newValue string)
|
func(newValue float64)
|
||||||
func(picker NumberPicker)
|
func(picker NumberPicker)
|
||||||
func()
|
func()
|
||||||
|
|
||||||
|
@ -3232,13 +3232,21 @@ NumberChangedEvent). Основной слушатель события име
|
||||||
Для отслеживания изменения вводимого значения используется событие "date-changed" (константа
|
Для отслеживания изменения вводимого значения используется событие "date-changed" (константа
|
||||||
DateChangedEvent). Основной слушатель события имеет следующий формат:
|
DateChangedEvent). Основной слушатель события имеет следующий формат:
|
||||||
|
|
||||||
func(picker DatePicker, newDate time.Time)
|
func(picker DatePicker, newDate, oldDate time.Time)
|
||||||
|
|
||||||
где второй аргумент это новое значение даты
|
где второй аргумент это новое значение даты, третий аргумент - предыдущее значение даты.
|
||||||
|
|
||||||
|
Дополнительные слушатели события могут иметь следующий формат
|
||||||
|
|
||||||
|
func(picker DatePicker, newDate time.Time)
|
||||||
|
func(newDate, oldDate time.Time)
|
||||||
|
func(newDate time.Time)
|
||||||
|
func(picker DatePicker)
|
||||||
|
func()
|
||||||
|
|
||||||
Получить текущий список слушателей изменения даты можно с помощью функции
|
Получить текущий список слушателей изменения даты можно с помощью функции
|
||||||
|
|
||||||
func GetDateChangedListeners(view View, subviewID ...string) []func(DatePicker, time.Time)
|
func GetDateChangedListeners(view View, subviewID ...string) []func(DatePicker, time.Time, time.Time)
|
||||||
|
|
||||||
## TimePicker
|
## TimePicker
|
||||||
|
|
||||||
|
|
20
README.md
20
README.md
|
@ -3147,9 +3147,9 @@ where the second argument is the new value, the third argument is the previous v
|
||||||
|
|
||||||
Additional event listeners can have the following format
|
Additional event listeners can have the following format
|
||||||
|
|
||||||
func(picker NumberPicker, newValue string)
|
func(picker NumberPicker, newValue float64)
|
||||||
func(newValue, oldValue string)
|
func(newValue, oldValue float64)
|
||||||
func(newValue string)
|
func(newValue float64)
|
||||||
func(picker NumberPicker)
|
func(picker NumberPicker)
|
||||||
func()
|
func()
|
||||||
|
|
||||||
|
@ -3196,13 +3196,21 @@ You can read the values of these properties using the functions:
|
||||||
The "date-changed" event (DateChangedEvent constant) is used to track the change in the entered value.
|
The "date-changed" event (DateChangedEvent constant) is used to track the change in the entered value.
|
||||||
The main event listener has the following format:
|
The main event listener has the following format:
|
||||||
|
|
||||||
func(picker DatePicker, newDate time.Time)
|
func(picker DatePicker, newDate, oldDate time.Time)
|
||||||
|
|
||||||
where the second argument is the new date value
|
where the second argument is the new date value, the third argument is the previous date value.
|
||||||
|
|
||||||
|
Additional event listeners can have the following format
|
||||||
|
|
||||||
|
func(picker DatePicker, newDate time.Time)
|
||||||
|
func(newDate, oldDate time.Time)
|
||||||
|
func(newDate time.Time)
|
||||||
|
func(picker DatePicker)
|
||||||
|
func()
|
||||||
|
|
||||||
You can get the current list of date change listeners using the function
|
You can get the current list of date change listeners using the function
|
||||||
|
|
||||||
func GetDateChangedListeners(view View, subviewID ...string) []func(DatePicker, time.Time)
|
func GetDateChangedListeners(view View, subviewID ...string) []func(DatePicker, time.Time, time.Time)
|
||||||
|
|
||||||
## TimePicker
|
## TimePicker
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ type DatePicker interface {
|
||||||
|
|
||||||
type datePickerData struct {
|
type datePickerData struct {
|
||||||
viewData
|
viewData
|
||||||
dateChangedListeners []func(DatePicker, time.Time)
|
dateChangedListeners []func(DatePicker, time.Time, time.Time)
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewDatePicker create new DatePicker object and return it
|
// NewDatePicker create new DatePicker object and return it
|
||||||
|
@ -40,7 +40,7 @@ func newDatePicker(session Session) View {
|
||||||
func (picker *datePickerData) init(session Session) {
|
func (picker *datePickerData) init(session Session) {
|
||||||
picker.viewData.init(session)
|
picker.viewData.init(session)
|
||||||
picker.tag = "DatePicker"
|
picker.tag = "DatePicker"
|
||||||
picker.dateChangedListeners = []func(DatePicker, time.Time){}
|
picker.dateChangedListeners = []func(DatePicker, time.Time, time.Time){}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (picker *datePickerData) String() string {
|
func (picker *datePickerData) String() string {
|
||||||
|
@ -69,7 +69,7 @@ func (picker *datePickerData) remove(tag string) {
|
||||||
switch tag {
|
switch tag {
|
||||||
case DateChangedEvent:
|
case DateChangedEvent:
|
||||||
if len(picker.dateChangedListeners) > 0 {
|
if len(picker.dateChangedListeners) > 0 {
|
||||||
picker.dateChangedListeners = []func(DatePicker, time.Time){}
|
picker.dateChangedListeners = []func(DatePicker, time.Time, time.Time){}
|
||||||
picker.propertyChangedEvent(tag)
|
picker.propertyChangedEvent(tag)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
@ -94,13 +94,14 @@ func (picker *datePickerData) remove(tag string) {
|
||||||
|
|
||||||
case DatePickerValue:
|
case DatePickerValue:
|
||||||
if _, ok := picker.properties[DatePickerValue]; ok {
|
if _, ok := picker.properties[DatePickerValue]; ok {
|
||||||
|
oldDate := GetDatePickerValue(picker)
|
||||||
delete(picker.properties, DatePickerValue)
|
delete(picker.properties, DatePickerValue)
|
||||||
date := GetDatePickerValue(picker)
|
date := GetDatePickerValue(picker)
|
||||||
if picker.created {
|
if picker.created {
|
||||||
picker.session.callFunc("setInputValue", picker.htmlID(), date.Format(dateFormat))
|
picker.session.callFunc("setInputValue", picker.htmlID(), date.Format(dateFormat))
|
||||||
}
|
}
|
||||||
for _, listener := range picker.dateChangedListeners {
|
for _, listener := range picker.dateChangedListeners {
|
||||||
listener(picker, date)
|
listener(picker, date, oldDate)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return
|
return
|
||||||
|
@ -226,7 +227,7 @@ func (picker *datePickerData) set(tag string, value any) bool {
|
||||||
picker.session.callFunc("setInputValue", picker.htmlID(), date.Format(dateFormat))
|
picker.session.callFunc("setInputValue", picker.htmlID(), date.Format(dateFormat))
|
||||||
}
|
}
|
||||||
for _, listener := range picker.dateChangedListeners {
|
for _, listener := range picker.dateChangedListeners {
|
||||||
listener(picker, date)
|
listener(picker, date, oldDate)
|
||||||
}
|
}
|
||||||
picker.propertyChangedEvent(tag)
|
picker.propertyChangedEvent(tag)
|
||||||
}
|
}
|
||||||
|
@ -234,12 +235,12 @@ func (picker *datePickerData) set(tag string, value any) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
case DateChangedEvent:
|
case DateChangedEvent:
|
||||||
listeners, ok := valueToEventListeners[DatePicker, time.Time](value)
|
listeners, ok := valueToEventWithOldListeners[DatePicker, time.Time](value)
|
||||||
if !ok {
|
if !ok {
|
||||||
notCompatibleType(tag, value)
|
notCompatibleType(tag, value)
|
||||||
return false
|
return false
|
||||||
} else if listeners == nil {
|
} else if listeners == nil {
|
||||||
listeners = []func(DatePicker, time.Time){}
|
listeners = []func(DatePicker, time.Time, time.Time){}
|
||||||
}
|
}
|
||||||
picker.dateChangedListeners = listeners
|
picker.dateChangedListeners = listeners
|
||||||
picker.propertyChangedEvent(tag)
|
picker.propertyChangedEvent(tag)
|
||||||
|
@ -318,7 +319,7 @@ func (picker *datePickerData) handleCommand(self View, command string, data Data
|
||||||
picker.properties[DatePickerValue] = value
|
picker.properties[DatePickerValue] = value
|
||||||
if value != oldValue {
|
if value != oldValue {
|
||||||
for _, listener := range picker.dateChangedListeners {
|
for _, listener := range picker.dateChangedListeners {
|
||||||
listener(picker, value)
|
listener(picker, value, oldValue)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -410,6 +411,6 @@ func GetDatePickerValue(view View, subviewID ...string) time.Time {
|
||||||
// GetDateChangedListeners returns the DateChangedListener list of an DatePicker subview.
|
// GetDateChangedListeners returns the DateChangedListener list of an DatePicker subview.
|
||||||
// If there are no listeners then the empty list is returned
|
// If there are no listeners then the empty list is returned
|
||||||
// If the second argument (subviewID) is not specified or it is "" then a value from the first argument (view) is returned.
|
// If the second argument (subviewID) is not specified or it is "" then a value from the first argument (view) is returned.
|
||||||
func GetDateChangedListeners(view View, subviewID ...string) []func(DatePicker, time.Time) {
|
func GetDateChangedListeners(view View, subviewID ...string) []func(DatePicker, time.Time, time.Time) {
|
||||||
return getEventListeners[DatePicker, time.Time](view, subviewID, DateChangedEvent)
|
return getEventWithOldListeners[DatePicker, time.Time](view, subviewID, DateChangedEvent)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue