Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
blocks:app-note:textfile [2021-05-10 14:07] mattias [Behind the Scenes] |
blocks:app-note:textfile [2021-05-10 15:18] (current) mattias [The text file] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | Work In Progress | ||
====== Use a text file to provide some text data to Blocks ====== | ====== Use a text file to provide some text data to Blocks ====== | ||
- | This application note shows how you can use a list of text from a .TXT file as a data source and use that in Blocks. The data in this example lists a number | + | This application note shows how you can use a list of text from a .TXT file as a data source and use that in Blocks. The data in this example lists the capital cities |
Line 9: | Line 8: | ||
==== Installation and Usage ==== | ==== Installation and Usage ==== | ||
- | You need a computer with a running blocks server and a web browser to run this application note. Here's the {{ : | + | You need a computer with a running blocks server and a web browser to run this application note. Here's the {{: |
- Start Blocks. | - Start Blocks. | ||
- Open the Blocks editor using the Admin button. | - Open the Blocks editor using the Admin button. | ||
- | - Log in using the proper credentials (default | + | - Log in using the proper credentials (default |
- | - Open a second browser window to the same address as the editor window, but replace /edit/xxx with / | + | - Open a second browser window to the same address as the editor window but replace /edit/xxx with / |
- | - A list of of cities should appear in the simulated visitor Spot browser window. | + | - A list of cities should appear in the simulated visitor Spot browser window. |
- Try the shuffle button to see how the user script shuffles the order. | - Try the shuffle button to see how the user script shuffles the order. | ||
Line 22: | Line 21: | ||
- | ==== The block ==== | + | ==== The Block ==== |
- | Open up the block in the editor to see how the list has been composed.. | + | Open up the block in the editor to see how the list has been composed. |
- | The root block is a composition with a scroller and a button. | + | The root block is a composition with a scroller and a button. |
{{: | {{: | ||
- | The scroller uses the child replication feature in Blocks and is bound to the user scripts | + | The scroller uses the child replication feature in Blocks and is bound to the user script |
{{: | {{: | ||
Line 37: | Line 36: | ||
{{: | {{: | ||
- | From this template item, all the other Text blocks will automaticly | + | From this template item, all the other Text blocks will automatically |
===== The Tasks ===== | ===== The Tasks ===== | ||
- | Open the task manager and take a look at the example tasks. | + | Open the task manager and look at the example tasks. |
- | The LogTexts task will log the whole list of items one by one. This is done wit a loop that loops though the index one by one and logs the lines value of all index positions. | + | The LogTexts task will log the whole list of items one by one. This is done with a loop that loops though the index one by one and logs the lines value of all index positions. |
{{: | {{: | ||
- | The Shuffle task will just trigger the callable // | + | The Shuffle task will just trigger the callable // |
{{: | {{: | ||
- | The last task is just picking a random item and logging it, like a raffel | + | The last task is just picking a random item and logging it, like it would in a raffle |
{{: | {{: | ||
- | ===== Behind | + | ===== The text file ===== |
+ | |||
+ | The file we use as source is a plain text file with a carriage return in between every data entry, | ||
+ | If a SimpleFile is used to read a text file and the file is kept at the default location only the filename must be specified. If you want to user some other folder the full file path must be used. | ||
+ | |||
+ | :!: This user script can only access files stored locally | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ===== The user script ===== | ||
+ | |||
+ | As with all user scripts the script is kept in the Pixilab-Blocks-root under / | ||
+ | As you may recall Blocks scripts usually come in pairs with one .js and one .ts file. The js file is what Blocks ultimately uses and the .ts file is the source file. Please read the [[blocks: | ||
+ | |||
+ | The name of the text file to read is hardcoded in the script. If you want to change this, you will need to have a Blocks developers environment set up on your computer. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | If you would want to run two instances of the same user script you would have to duplicate the .ts file and change the name of the copy to something unique. The name of a user script and the name of the export class must be identical since blocks will find the export class based on filename. | ||
+ | |||
+ | {{: |