Difference between revisions of "Download (UI Object)"
(2 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
:[[File:UI Object download.png]] | :[[File:UI Object download.png]] | ||
− | For security reasons, in order to select the file to be downloaded, a server-side userCommand callback is called when the button is pressed, receiving the object's id and value as parameters, and must return a full pathname of the file to be downloaded. Only if the returned pathname is a valid file under the HSYCO main directory, the file will be actually served to the client for download. | + | For security reasons, in order to select the file to be downloaded, a server-side userCommand callback is called when the button is pressed, receiving the object's id and value as parameters, and must return a full pathname of the file to be downloaded. |
− | The value parameter can be set to any string value, that should be interpreted by the server-side userCommand code to set the pathname for download, if authorised. Because of the way it is implemented, the download object can only be used with server code written in JavaScript or Java. If the application being developed has no strong security implications, a simple JavaScript callback code like this, or its Java equivalent, would allow serving any file by specifying the full pathname in the value parameter of the download object: | + | |
+ | Only if the returned pathname is a valid file under the HSYCO main directory, the file will be actually served to the client for download. | ||
+ | |||
+ | The value parameter can be set to any string value, that should be interpreted by the server-side userCommand code to set the pathname for download, if authorised. | ||
+ | |||
+ | Because of the way it is implemented, the download object can only be used with server code written in JavaScript or Java. | ||
+ | |||
+ | If the application being developed has no strong security implications, a simple JavaScript callback code like this, or its Java equivalent, would allow serving any file by specifying the full pathname in the value parameter of the download object: | ||
function userCommand(session, userid, name, param) : { | function userCommand(session, userid, name, param) : { | ||
Line 17: | Line 24: | ||
For an object with a list of downloads, see [[DownloadList]]. | For an object with a list of downloads, see [[DownloadList]]. | ||
+ | |||
== Parameters == | == Parameters == |
Latest revision as of 23:03, 13 February 2017
This object is used to download a file from the HSYCO Server to the local storage of the user's client device.
For security reasons, in order to select the file to be downloaded, a server-side userCommand callback is called when the button is pressed, receiving the object's id and value as parameters, and must return a full pathname of the file to be downloaded.
Only if the returned pathname is a valid file under the HSYCO main directory, the file will be actually served to the client for download.
The value parameter can be set to any string value, that should be interpreted by the server-side userCommand code to set the pathname for download, if authorised.
Because of the way it is implemented, the download object can only be used with server code written in JavaScript or Java.
If the application being developed has no strong security implications, a simple JavaScript callback code like this, or its Java equivalent, would allow serving any file by specifying the full pathname in the value parameter of the download object:
function userCommand(session, userid, name, param) : { if (name == "download") { return param; } }
For a custom image version, see DownloadImage.
For an object with a list of downloads, see DownloadList.
Contents
Parameters
- id: the object's ID, used by UISets. Required
- position: the object's position. Use the pixels or rows and columns coordinates format
- color: the color of the button. It can assume any of the skin's color values (E.g. for the "blue" skin, the possible values are: b - blue; g - green; gr - gray; r - red; y - yellow; glass)
- label: the text label on the button. It can contain HTML tags
- value: value passed to the Java callback method and event in EVENTS
Syntax
(download!<id> <position>; <color>; <label>; <value>)
E.g.
(download!user1 r3c1; gr; label; myfile)
UI Attributes
Common attributes
Name | Value | Description |
---|---|---|
pos | x<x>y<y> | Position specified as x/y coordinates. E.g. x-5y10 |
visible | true | Default. Show the object |
false | Hide the object | |
blink | true | slow | Blink the object at a slow speed |
fast | Blink the object at a fast speed | |
false | Stop the blinking | |
opacity | 0.0 ... 1.0 | Object opacity from 0 (not visible) to 1 (fully visible) |
rotation | 0 ... 360 | Object rotation in degrees. Images are rotated around the center point, all other objects are rotated around the top left corner |
Button attributes
Name | Value | Description |
---|---|---|
style | red,green,blue... | Set the button's style (color). Styles vary depending on the selected skin |
enabled | true | Default. Enable the button |
false | Disable the button |
Label attributes
Name | Value | Description |
---|---|---|
label | <string> | Label's text. Can contain HTML tags |
fontfamily | <family name> | A prioritized list of font family names |
fontsize | <size> | Font size in pixels. E.g. 15px |
fontcolor | <CSS color> | Font color |
fontstyle | normal | Normal font style, default |
italic | Italic font style | |
oblique | Oblique font style | |
fontweight | normal | Normal characters, default |
bold | Thick characters | |
bolder | Thicker characters | |
lighter | Lighter characters | |
100 ... 900 | Defines from thin to thick characters. 400 is the same as normal, and 700 is the same as bold |
Download attributes
Name | Value | Description |
---|---|---|
value | <string> | Set the value to be sent when clicked |