forked from mbk-lab/rui_orig
Updated readme
This commit is contained in:
parent
a98d97ea8d
commit
2288487f75
|
@ -0,0 +1,19 @@
|
|||
# v0.3.0
|
||||
|
||||
* Added FilePicker
|
||||
* Added DownloadFile and DownloadFileData function to the Session interface
|
||||
* Updated comments and readme
|
||||
* Added the FilePicker example to the demo
|
||||
* Bug fixing
|
||||
|
||||
# v0.2.0
|
||||
|
||||
* Added "animation" and "transition" properties, Animation interface, animation events
|
||||
* Renamed ColorPropery constant to ColorTag
|
||||
* Updated readme
|
||||
* Added the Animation example to the demo
|
||||
* Bug fixing
|
||||
|
||||
# v0.1.1
|
||||
|
||||
* Bug fixing
|
87
README-ru.md
87
README-ru.md
|
@ -2735,6 +2735,87 @@ ColorChangedEvent). Основной слушатель события имее
|
|||
|
||||
func GetColorChangedListeners(view View, subviewID string) []func(ColorPicker, Color)
|
||||
|
||||
## FilePicker
|
||||
|
||||
Элемент FilePicker расширяет интерфейс View и предназначен для выбора одного или нескольких файлов.
|
||||
|
||||
Для создания FilePicker используется функция:
|
||||
|
||||
func NewFilePicker(session Session, params Params) FilePicker
|
||||
|
||||
Булевское свойство "multiple" (константа Multiple) используется для установки режима выбора нескольких файлов.
|
||||
Значение "true" включает режим выбора нескольких файлов, "false" включает режим выбора одиночного файл.
|
||||
Значение по умолчанию "false".
|
||||
|
||||
Вы можете ограничить выбор только определенными типами файлов. Для этого используется свойство "accept" (константа Accept).
|
||||
Данному свойству присваивается список разрешенных расширений файлов и/или mime-типов. Значение можно задавать или в виде
|
||||
строки (элементы при этом разделяются запятыми) или в виде массива строк. Примеры
|
||||
|
||||
rui.Set(view, "myFilePicker", rui.Accept, "png, jpg, jpeg")
|
||||
rui.Set(view, "myFilePicker", rui.Accept, []string{"png", "jpg", "jpeg"})
|
||||
rui.Set(view, "myFilePicker", rui.Accept, "image/*")
|
||||
|
||||
Для доступа к выбранным файлам используются две функции интерфейса FilePicker:
|
||||
|
||||
Files() []FileInfo
|
||||
LoadFile(file FileInfo, result func(FileInfo, []byte))
|
||||
|
||||
а также соответствующие им глобальные функции
|
||||
|
||||
func GetFilePickerFiles(view View, subviewID string) []FileInfo
|
||||
func LoadFilePickerFile(view View, subviewID string, file FileInfo, result func(FileInfo, []byte))
|
||||
|
||||
Функции Files/GetFilePickerFiles возвращают список выбранных файлов в виде среза структур FileInfo. Структура FileInfo объявлена как
|
||||
|
||||
type FileInfo struct {
|
||||
// Name - the file's name.
|
||||
Name string
|
||||
// LastModified specifying the date and time at which the file was last modified
|
||||
LastModified time.Time
|
||||
// Size - the size of the file in bytes.
|
||||
Size int64
|
||||
// MimeType - the file's MIME type.
|
||||
MimeType string
|
||||
}
|
||||
|
||||
FileInfo содержит только информацию о файле, но не сам файл. Функция LoadFile/LoadFilePickerFile позволяет загрузить
|
||||
содержимое одного из выбранных файлов. Функция LoadFile асинхронная. После загрузки содержимое выбранного файла
|
||||
передается функции-аргументу LoadFile. Пример
|
||||
|
||||
if filePicker := rui.FilePickerByID(view, "myFilePicker"); filePicker != nil {
|
||||
if files := filePicker.Files(); len(files) > 0 {
|
||||
filePicker.LoadFile(files[0], func(file rui.FileInfo, data []byte) {
|
||||
if data != nil {
|
||||
// ...
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
эквивалентно
|
||||
|
||||
if files := rui.GetFilePickerFiles(view, "myFilePicker"); len(files) > 0 {
|
||||
rui.LoadFilePickerFile(view, "myFilePicker", files[0], func(file rui.FileInfo, data []byte) {
|
||||
if data != nil {
|
||||
// ...
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Если во время загрузки файла произойдет ошибка, то значение data передаваемое в функцию результата будет равно nil,
|
||||
а описание ошибки будет записано в лог
|
||||
|
||||
Для отслеживания изменения списка выбранных файлов используется событие "file-selected-event"
|
||||
(константа FileSelectedEvent). Основной слушатель события имеет следующий формат:
|
||||
|
||||
func(picker FilePicker, files []FileInfo))
|
||||
|
||||
где второй аргумент это новое значение списка выбранных файлов.
|
||||
|
||||
Получить текущий список слушателей изменения списка файлов можно с помощью функции
|
||||
|
||||
func GetFileSelectedListeners(view View, subviewID string) []func(FilePicker, []FileInfo)
|
||||
|
||||
## DropDownList
|
||||
|
||||
Элемент DropDownList расширяет интерфейс View и предназначен для выбора значения из выпадающего списка.
|
||||
|
@ -4160,6 +4241,12 @@ Safari и Firefox.
|
|||
|
||||
rui.Set(session.RootView(), viewID, tag, value)
|
||||
|
||||
* DownloadFile(path string) - загружает (сохраняет) на стороне клиента файл расположенный по заданному пути на сервере.
|
||||
Используется когда клиенту надо передать с сервера какой-либо файл.
|
||||
|
||||
* DownloadFileData(filename string, data []byte) - загружает (сохраняет) на стороне клиента файл с заданным именем и
|
||||
заданным содержимым. Обычно используется для передачи файла сгенерированного в памяти сервера.
|
||||
|
||||
## Формат описания ресурсов
|
||||
|
||||
Ресурсы приложения (темы, View, переводы) могут быть описаны в виде текста (utf-8). Данный текст помещается
|
||||
|
|
89
README.md
89
README.md
|
@ -2702,6 +2702,89 @@ You can get the current list of date change listeners using the function
|
|||
|
||||
func GetColorChangedListeners(view View, subviewID string) []func(ColorPicker, Color)
|
||||
|
||||
## FilePicker
|
||||
|
||||
The FilePicker element extends the View interface to select one or more files.
|
||||
|
||||
To create a FilePicker, the function is used:
|
||||
|
||||
func NewFilePicker(session Session, params Params) FilePicker
|
||||
|
||||
The boolean property "multiple" (constant Multiple) is used to set the mode of selecting multiple files.
|
||||
The value "true" enables the selection of multiple files, "false" enables the selection of a single file.
|
||||
The default is "false".
|
||||
|
||||
You can restrict the selection to only certain types of files. To do this, use the "accept" property (constant Accept).
|
||||
This property is assigned a list of allowed file extensions and / or mime-types.
|
||||
The value can be specified either as a string (elements are separated by commas) or as an array of strings. Examples
|
||||
|
||||
rui.Set(view, "myFilePicker", rui.Accept, "png, jpg, jpeg")
|
||||
rui.Set(view, "myFilePicker", rui.Accept, []string{"png", "jpg", "jpeg"})
|
||||
rui.Set(view, "myFilePicker", rui.Accept, "image/*")
|
||||
|
||||
Two functions of the FilePicker interface are used to access the selected files:
|
||||
|
||||
Files() []FileInfo
|
||||
LoadFile(file FileInfo, result func(FileInfo, []byte))
|
||||
|
||||
as well as the corresponding global functions
|
||||
|
||||
func GetFilePickerFiles(view View, subviewID string) []FileInfo
|
||||
func LoadFilePickerFile(view View, subviewID string, file FileInfo, result func(FileInfo, []byte))
|
||||
|
||||
The Files/GetFilePickerFiles functions return a list of the selected files as a slice of FileInfo structures.
|
||||
The FileInfo structure is declared as
|
||||
|
||||
type FileInfo struct {
|
||||
// Name - the file's name.
|
||||
Name string
|
||||
// LastModified specifying the date and time at which the file was last modified
|
||||
LastModified time.Time
|
||||
// Size - the size of the file in bytes.
|
||||
Size int64
|
||||
// MimeType - the file's MIME type.
|
||||
MimeType string
|
||||
}
|
||||
|
||||
FileInfo contains only information about the file, not the file content.
|
||||
The LoadFile/LoadFilePickerFile function allows you to load the contents of one of the selected files.
|
||||
The LoadFile function is asynchronous. After loading, the contents of the selected file are passed to the argument-function of the LoadFile.
|
||||
Example
|
||||
|
||||
if filePicker := rui.FilePickerByID(view, "myFilePicker"); filePicker != nil {
|
||||
if files := filePicker.Files(); len(files) > 0 {
|
||||
filePicker.LoadFile(files[0], func(file rui.FileInfo, data []byte) {
|
||||
if data != nil {
|
||||
// ...
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
equivalent to
|
||||
|
||||
if files := rui.GetFilePickerFiles(view, "myFilePicker"); len(files) > 0 {
|
||||
rui.LoadFilePickerFile(view, "myFilePicker", files[0], func(file rui.FileInfo, data []byte) {
|
||||
if data != nil {
|
||||
// ...
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
If an error occurs while loading the file, the data value passed to the result function will be nil,
|
||||
and the error description will be written to the log
|
||||
|
||||
The "file-selected-event" event (constant FileSelectedEvent) is used to track changes in the list of selected files.
|
||||
The main event listener has the following format:
|
||||
|
||||
func(picker FilePicker, files []FileInfo))
|
||||
|
||||
where the second argument is the new value of the list of selected files.
|
||||
|
||||
You can get the current list of listeners of the list of files changing using the function
|
||||
|
||||
func GetFileSelectedListeners(view View, subviewID string) []func(FilePicker, []FileInfo)
|
||||
|
||||
## DropDownList
|
||||
|
||||
The DropDownList element extends the View interface and is designed to select a value from a drop-down list.
|
||||
|
@ -4123,6 +4206,12 @@ Returns false if no topic with this name was found. Themes named "" are the defa
|
|||
|
||||
rui.Set(session.RootView(), viewID, tag, value)
|
||||
|
||||
* DownloadFile(path string) downloads (saves) on the client side the file located at the specified path on the server.
|
||||
It is used when the client needs to transfer a file from the server.
|
||||
|
||||
* DownloadFileData(filename string, data [] byte) downloads (saves) on the client side a file
|
||||
with a specified name and specified content. Typically used to transfer a file generated in server memory.
|
||||
|
||||
## Resource description format
|
||||
|
||||
Application resources (themes, views, translations) can be described as text (utf-8).
|
||||
|
|
Loading…
Reference in New Issue