mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-06-30 04:59:32 +00:00
Merge pull request #546 from BrianHepler/load_compliments_from_remote_file
Load compliments from remote file
This commit is contained in:
commit
c949548150
@ -28,6 +28,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
- Added option `disabled` for modules.
|
||||
- Added option `address` to set bind address.
|
||||
- Added option `onlyTemp` for currentweather module to show show only current temperature and weather icon.
|
||||
- Added option `remoteFile` to compliments module to load compliment array from filesystem.
|
||||
|
||||
### Updated
|
||||
- Modified translations for Frysk.
|
||||
|
@ -56,6 +56,15 @@ The following properties can be configured:
|
||||
<br><b>Default value:</b> See <i>compliment configuration</i> below.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>remoteFile</code></td>
|
||||
<td>External file from which to load the compliments<br>
|
||||
<br><b>Possible values:</b>Path to a JSON file containing compliments, configured
|
||||
as per the value of the <i>compliments configuration</i> (see below). An object with three arrays:
|
||||
morning, afternoon and evening. - <code>compliments.json</code>
|
||||
<br><b>Default value:</b> <code>null</code> (Do not load from file)
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@ -123,3 +132,32 @@ config: {
|
||||
}
|
||||
}
|
||||
````
|
||||
|
||||
### External Compliment File
|
||||
You may specify an external file that contains the three compliment arrays. This is particularly useful if you have a
|
||||
large number of compliments and do not wish to crowd your `config.js` file with a large array of compliments.
|
||||
Adding the `remoteFile` variable will override an array you specify in the configuration file.
|
||||
|
||||
This file must be straight JSON. Note that the array names need quotes
|
||||
around them ("morning", "afternoon", "evening", "snow", "rain", etc.).
|
||||
#### Example compliments.json file:
|
||||
````json
|
||||
{
|
||||
"morning" : [
|
||||
"Good morning, sunshine!",
|
||||
"Who needs coffee when you have your smile?",
|
||||
"Go get 'em, Tiger!"
|
||||
],
|
||||
"afternoon" : [
|
||||
"Hitting your stride!",
|
||||
"You are making a difference!",
|
||||
"You're more fun than bubble wrap!"
|
||||
],
|
||||
"evening" : [
|
||||
"You made someone smile today, I know it.",
|
||||
"You are making a difference.",
|
||||
"The day was better for your efforts."
|
||||
]
|
||||
}
|
||||
````
|
||||
|
||||
|
@ -29,6 +29,7 @@ Module.register("compliments",{
|
||||
]
|
||||
},
|
||||
updateInterval: 30000,
|
||||
remoteFile: null,
|
||||
fadeSpeed: 4000
|
||||
},
|
||||
|
||||
@ -46,6 +47,12 @@ Module.register("compliments",{
|
||||
|
||||
this.lastComplimentIndex = -1;
|
||||
|
||||
if (this.config.remoteFile != null) {
|
||||
this.complimentFile((response) => {
|
||||
this.config.compliments = JSON.parse(response);
|
||||
});
|
||||
}
|
||||
|
||||
// Schedule update timer.
|
||||
var self = this;
|
||||
setInterval(function() {
|
||||
@ -104,6 +111,21 @@ Module.register("compliments",{
|
||||
|
||||
},
|
||||
|
||||
/* complimentFile(callback)
|
||||
* Retrieve a file from the local filesystem
|
||||
*/
|
||||
complimentFile: function(callback) {
|
||||
var xobj = new XMLHttpRequest();
|
||||
xobj.overrideMimeType("application/json");
|
||||
xobj.open('GET', this.file(this.config.remoteFile), true);
|
||||
xobj.onreadystatechange = function () {
|
||||
if (xobj.readyState == 4 && xobj.status == "200") {
|
||||
callback(xobj.responseText);
|
||||
}
|
||||
};
|
||||
xobj.send(null);
|
||||
},
|
||||
|
||||
/* complimentArray()
|
||||
* Retrieve a random compliment.
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user