Class: Ruflet::UI::Services::RufletServicesComponents::FilePickerControl
- Inherits:
-
Control
- Object
- Control
- Ruflet::UI::Services::RufletServicesComponents::FilePickerControl
- Includes:
- CurrentServiceMethods
- Defined in:
- lib/ruflet_ui/ruflet/ui/services/current_service_methods.rb,
lib/ruflet_ui/ruflet/ui/services/ruflet/filepicker_control.rb
Constant Summary collapse
- TYPE =
"filepicker".freeze
- WIRE =
"FilePicker".freeze
- KEYWORDS =
[:data, :key, :on_result, :on_upload].freeze
Constants inherited from Control
Control::HOST_EXPANDED_TYPES, Control::SCHEMA_METADATA_CACHE
Instance Attribute Summary
Attributes inherited from Control
#children, #id, #props, #runtime_page, #type, #wire_id
Instance Method Summary collapse
- #get_directory_path(dialog_title: nil, initial_directory: nil, timeout: 10, on_result: nil) ⇒ Object
-
#initialize(id: nil, data: nil, key: nil, on_result: nil, on_upload: nil) ⇒ FilePickerControl
constructor
A new instance of FilePickerControl.
- #pick_files(dialog_title: nil, initial_directory: nil, file_type: :any, allowed_extensions: nil, allow_multiple: false, with_data: false, timeout: 10, on_result: nil) ⇒ Object
- #save_file(dialog_title: nil, file_name: nil, initial_directory: nil, file_type: :any, allowed_extensions: nil, src_bytes: nil, timeout: 10, on_result: nil) ⇒ Object
- #upload(files, timeout: 10, on_result: nil) ⇒ Object
Methods inherited from Control
#attach_handler, #emit, generate_id, #has_handler?, #merge_props, #on, #to_patch
Constructor Details
#initialize(id: nil, data: nil, key: nil, on_result: nil, on_upload: nil) ⇒ FilePickerControl
Returns a new instance of FilePickerControl.
12 13 14 15 16 17 18 19 |
# File 'lib/ruflet_ui/ruflet/ui/services/ruflet/filepicker_control.rb', line 12 def initialize(id: nil, data: nil, key: nil, on_result: nil, on_upload: nil) props = {} props[:data] = data unless data.nil? props[:key] = key unless key.nil? props[:on_result] = on_result unless on_result.nil? props[:on_upload] = on_upload unless on_upload.nil? super(type: TYPE, id: id, **props) end |
Instance Method Details
#get_directory_path(dialog_title: nil, initial_directory: nil, timeout: 10, on_result: nil) ⇒ Object
81 82 83 |
# File 'lib/ruflet_ui/ruflet/ui/services/current_service_methods.rb', line 81 def get_directory_path(dialog_title: nil, initial_directory: nil, timeout: 10, on_result: nil) invoke_service_method("get_directory_path", args: service_args(dialog_title: dialog_title, initial_directory: initial_directory), timeout: timeout, on_result: on_result) end |
#pick_files(dialog_title: nil, initial_directory: nil, file_type: :any, allowed_extensions: nil, allow_multiple: false, with_data: false, timeout: 10, on_result: nil) ⇒ Object
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/ruflet_ui/ruflet/ui/services/current_service_methods.rb', line 99 def pick_files(dialog_title: nil, initial_directory: nil, file_type: :any, allowed_extensions: nil, allow_multiple: false, with_data: false, timeout: 10, on_result: nil) invoke_service_method( "pick_files", args: service_args( dialog_title: dialog_title, initial_directory: initial_directory, file_type: file_type, allowed_extensions: allowed_extensions, allow_multiple: allow_multiple, with_data: with_data ), timeout: timeout, on_result: on_result ) end |
#save_file(dialog_title: nil, file_name: nil, initial_directory: nil, file_type: :any, allowed_extensions: nil, src_bytes: nil, timeout: 10, on_result: nil) ⇒ Object
85 86 87 88 89 90 91 92 93 94 95 96 97 |
# File 'lib/ruflet_ui/ruflet/ui/services/current_service_methods.rb', line 85 def save_file(dialog_title: nil, file_name: nil, initial_directory: nil, file_type: :any, allowed_extensions: nil, src_bytes: nil, timeout: 10, on_result: nil) args = service_args( dialog_title: dialog_title, file_name: file_name, initial_directory: initial_directory, file_type: file_type, allowed_extensions: allowed_extensions ) args["src_bytes"] = src_bytes.pack("C*").b if byte_array?(src_bytes) args["src_bytes"] = src_bytes unless src_bytes.nil? || byte_array?(src_bytes) invoke_service_method("save_file", args: args, timeout: timeout, on_result: on_result) end |
#upload(files, timeout: 10, on_result: nil) ⇒ Object
77 78 79 |
# File 'lib/ruflet_ui/ruflet/ui/services/current_service_methods.rb', line 77 def upload(files, timeout: 10, on_result: nil) invoke_service_method("upload", args: { "files" => service_value(files) }, timeout: timeout, on_result: on_result) end |