Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
build
.lock-waf_darwin_build
node_modules
npm-debug.log
29 changes: 15 additions & 14 deletions appinfo.json
Original file line number Diff line number Diff line change
@@ -1,24 +1,25 @@
{
"appKeys": {
"COLOR_BACKGROUND": 5,
"COLOR_HOUR_HAND": 9,
"COLOR_HOUR_MARKS": 7,
"COLOR_LABEL": 6,
"COLOR_MINUTE_HAND": 10,
"COLOR_MINUTE_MARKS": 8,
"COLOR_SECOND_HAND": 11,
"SHOW_DATE": 3,
"SHOW_NUMBERS": 1,
"SHOW_SECOND_HAND": 2,
"SHOW_TEMPERATURE": 4,
"TEMPERATURE": 0
"TEMPERATURE": 0,
"SHOW_NUMBERS": 1,
"SHOW_SECOND_HAND": 2,
"SHOW_DATE": 3,
"SHOW_TEMPERATURE": 4,
"SHOW_STEPS": 5,
"COLOR_BACKGROUND": 6,
"COLOR_LABEL": 7,
"COLOR_HOUR_MARKS": 8,
"COLOR_MINUTE_MARKS": 9,
"COLOR_HOUR_HAND": 10,
"COLOR_MINUTE_HAND": 11,
"COLOR_SECOND_HAND": 12
},
"capabilities": [
"location",
"configurable"
],
"companyName": "Nicko Guyer",
"longName": "Engineering",
"longName": "Engineering Steps",
"projectType": "native",
"resources": {
"media": []
Expand All @@ -31,7 +32,7 @@
"chalk"
],
"uuid": "ff541ca4-a444-4513-879a-35ff9ec48a1b",
"versionLabel": "1.6",
"versionLabel": "1.7",
"watchapp": {
"watchface": true
}
Expand Down
115 changes: 5 additions & 110 deletions config/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,10 @@ <h1 class='title'>Engineering</h1>
Temperature
<input id='show_temperature_checkbox' type='checkbox' class='item-toggle' checked="true">
</label>
<label class='item'>
Steps
<input id='show_steps_checkbox' type='checkbox' class='item-toggle' checked="true">
</label>
</div>
</div>

Expand All @@ -97,115 +101,6 @@ <h1 class='title'>Engineering</h1>
<input id='submit_button' type='button' class='item-button' value='SAVE'>
</div>
</div>
<script src='js/main.min.js'></script>
</body>
<script>
function getConfigData() {
var backgroundColorPicker = document.getElementById('background_color_picker');
var labelColorPicker = document.getElementById('label_color_picker');
var hourMarkColorPicker = document.getElementById('hour_mark_color_picker');
var minuteMarkColorPicker = document.getElementById('minute_mark_color_picker');
var hourHandColorPicker = document.getElementById('hour_hand_color_picker');
var minuteHandColorPicker = document.getElementById('minute_hand_color_picker');
var secondHandColorPicker = document.getElementById('second_hand_color_picker');
var numbersCheckbox = document.getElementById('show_numbers_checkbox');
var secondHandCheckbox = document.getElementById('show_second_hand_checkbox');
var dateCheckbox = document.getElementById('show_date_checkbox');
var temperatureCheckbox = document.getElementById('show_temperature_checkbox');
var imperialUnits = document.getElementById('imperial_radio');
var metricUnits = document.getElementById('metric_radio');

var units = 'imperial';
if (metricUnits.checked) {
units = 'metric';
}

var options = {
'background_color': backgroundColorPicker.value,
'label_color': labelColorPicker.value,
'hour_mark_color': hourMarkColorPicker.value,
'minute_mark_color': minuteMarkColorPicker.value,
'hour_hand_color': hourHandColorPicker.value,
'minute_hand_color': minuteHandColorPicker.value,
'second_hand_color': secondHandColorPicker.value,
'show_numbers': numbersCheckbox.checked,
'show_second_hand': secondHandCheckbox.checked,
'show_date': dateCheckbox.checked,
'show_temperature': temperatureCheckbox.checked,
'units': units
};

// Save for next launch
localStorage['background_color'] = options['background_color'];
localStorage['label_color'] = options['label_color'];
localStorage['hour_mark_color'] = options['hour_mark_color'];
localStorage['minute_mark_color'] = options['minute_mark_color'];
localStorage['hour_hand_color'] = options['hour_hand_color'];
localStorage['minute_hand_color'] = options['minute_hand_color'];
localStorage['second_hand_color'] = options['second_hand_color'];
localStorage['show_numbers'] = options['show_numbers'];
localStorage['show_second_hand'] = options['show_second_hand'];
localStorage['show_date'] = options['show_date'];
localStorage['show_temperature'] = options['show_temperature'];
localStorage['units'] = options['units'];

console.log('Got options: ' + JSON.stringify(options));
return options;
}

function getQueryParam(variable, defaultValue) {
var query = location.search.substring(1);
var vars = query.split('&');
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split('=');
if (pair[0] === variable) {
return decodeURIComponent(pair[1]);
}
}
return defaultValue || false;
}

var submitButton = document.getElementById('submit_button');
submitButton.addEventListener('click', function() {
console.log('Submit');

// Set the return URL depending on the runtime environment
var return_to = getQueryParam('return_to', 'pebblejs://close#');
document.location = return_to + encodeURIComponent(JSON.stringify(getConfigData()));
});

(function() {
var backgroundColorPicker = document.getElementById('background_color_picker');
var labelColorPicker = document.getElementById('label_color_picker');
var hourMarkColorPicker = document.getElementById('hour_mark_color_picker');
var minuteMarkColorPicker = document.getElementById('minute_mark_color_picker');
var hourHandColorPicker = document.getElementById('hour_hand_color_picker');
var minuteHandColorPicker = document.getElementById('minute_hand_color_picker');
var secondHandColorPicker = document.getElementById('second_hand_color_picker');
var numbersCheckbox = document.getElementById('show_numbers_checkbox');
var secondHandCheckbox = document.getElementById('show_second_hand_checkbox');
var dateCheckbox = document.getElementById('show_date_checkbox');
var temperatureCheckbox = document.getElementById('show_temperature_checkbox');
var imperialUnits = document.getElementById('imperial_radio');
var metricUnits = document.getElementById('metric_radio');

// Load any previously saved configuration, if available
if (localStorage['background_color']) backgroundColorPicker.value = localStorage['background_color'];
if (localStorage['label_color']) labelColorPicker.value = localStorage['label_color'];
if (localStorage['hour_mark_color']) hourMarkColorPicker.value = localStorage['hour_mark_color'];
if (localStorage['minute_mark_color']) minuteMarkColorPicker.value = localStorage['minute_mark_color'];
if (localStorage['hour_hand_color']) hourHandColorPicker.value = localStorage['hour_hand_color'];
if (localStorage['minute_hand_color']) minuteHandColorPicker.value = localStorage['minute_hand_color'];
if (localStorage['second_hand_color']) secondHandColorPicker.value = localStorage['second_hand_color'];
if (localStorage['show_numbers']) numbersCheckbox.checked = JSON.parse(localStorage['show_numbers']);
if (localStorage['show_second_hand']) secondHandCheckbox.checked = JSON.parse(localStorage['show_second_hand']);
if (localStorage['show_date']) dateCheckbox.checked = JSON.parse(localStorage['show_date']);
if (localStorage['show_temperature']) temperatureCheckbox.checked = JSON.parse(localStorage['show_temperature']);
if (localStorage['units']) {
if (localStorage['units'] == 'metric') {
metricUnits.checked = true;
imperialUnits.checked = false;
}
}
})();
</script>
</html>
113 changes: 113 additions & 0 deletions config/js/main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
function getConfigData() {
var backgroundColorPicker = document.getElementById('background_color_picker');
var labelColorPicker = document.getElementById('label_color_picker');
var hourMarkColorPicker = document.getElementById('hour_mark_color_picker');
var minuteMarkColorPicker = document.getElementById('minute_mark_color_picker');
var hourHandColorPicker = document.getElementById('hour_hand_color_picker');
var minuteHandColorPicker = document.getElementById('minute_hand_color_picker');
var secondHandColorPicker = document.getElementById('second_hand_color_picker');
var numbersCheckbox = document.getElementById('show_numbers_checkbox');
var secondHandCheckbox = document.getElementById('show_second_hand_checkbox');
var dateCheckbox = document.getElementById('show_date_checkbox');
var stepsCheckbox = document.getElementById('show_steps_checkbox');
var temperatureCheckbox = document.getElementById('show_temperature_checkbox');
var imperialUnits = document.getElementById('imperial_radio');
var metricUnits = document.getElementById('metric_radio');

var units = 'imperial';
if (metricUnits.checked) {
units = 'metric';
}

var options = {
'background_color': backgroundColorPicker.value,
'label_color': labelColorPicker.value,
'hour_mark_color': hourMarkColorPicker.value,
'minute_mark_color': minuteMarkColorPicker.value,
'hour_hand_color': hourHandColorPicker.value,
'minute_hand_color': minuteHandColorPicker.value,
'second_hand_color': secondHandColorPicker.value,
'show_numbers': numbersCheckbox.checked,
'show_second_hand': secondHandCheckbox.checked,
'show_date': dateCheckbox.checked,
'show_steps': stepsCheckbox.checked,
'show_temperature': temperatureCheckbox.checked,
'units': units
};

// Save for next launch
localStorage.background_color = options.background_color;
localStorage.label_color = options.label_color;
localStorage.hour_mark_color = options.hour_mark_color;
localStorage.minute_mark_color = options.minute_mark_color;
localStorage.hour_hand_color = options.hour_hand_color;
localStorage.minute_hand_color = options.minute_hand_color;
localStorage.second_hand_color = options.second_hand_color;
localStorage.show_numbers = options.show_numbers;
localStorage.show_second_hand = options.show_second_hand;
localStorage.show_date = options.show_date;
localStorage.show_steps = options.show_steps;
localStorage.show_temperature = options.show_temperature;
localStorage.units = options.units;

console.log('Got options: ' + JSON.stringify(options));
return options;
}

function getQueryParam(variable, defaultValue) {
var query = location.search.substring(1);
var vars = query.split('&');
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split('=');
if (pair[0] === variable) {
return decodeURIComponent(pair[1]);
}
}
return defaultValue || false;
}

var submitButton = document.getElementById('submit_button');
submitButton.addEventListener('click', function() {
console.log('Submit');

// Set the return URL depending on the runtime environment
var return_to = getQueryParam('return_to', 'pebblejs://close#');
document.location = return_to + encodeURIComponent(JSON.stringify(getConfigData()));
});

(function() {
var backgroundColorPicker = document.getElementById('background_color_picker');
var labelColorPicker = document.getElementById('label_color_picker');
var hourMarkColorPicker = document.getElementById('hour_mark_color_picker');
var minuteMarkColorPicker = document.getElementById('minute_mark_color_picker');
var hourHandColorPicker = document.getElementById('hour_hand_color_picker');
var minuteHandColorPicker = document.getElementById('minute_hand_color_picker');
var secondHandColorPicker = document.getElementById('second_hand_color_picker');
var numbersCheckbox = document.getElementById('show_numbers_checkbox');
var secondHandCheckbox = document.getElementById('show_second_hand_checkbox');
var dateCheckbox = document.getElementById('show_date_checkbox');
var stepsCheckbox = document.getElementById('show_steps_checkbox');
var temperatureCheckbox = document.getElementById('show_temperature_checkbox');
var imperialUnits = document.getElementById('imperial_radio');
var metricUnits = document.getElementById('metric_radio');

// Load any previously saved configuration, if available
if (localStorage['background_color']) backgroundColorPicker.value = localStorage['background_color'];
if (localStorage['label_color']) labelColorPicker.value = localStorage['label_color'];
if (localStorage['hour_mark_color']) hourMarkColorPicker.value = localStorage['hour_mark_color'];
if (localStorage['minute_mark_color']) minuteMarkColorPicker.value = localStorage['minute_mark_color'];
if (localStorage['hour_hand_color']) hourHandColorPicker.value = localStorage['hour_hand_color'];
if (localStorage['minute_hand_color']) minuteHandColorPicker.value = localStorage['minute_hand_color'];
if (localStorage['second_hand_color']) secondHandColorPicker.value = localStorage['second_hand_color'];
if (localStorage['show_numbers']) numbersCheckbox.checked = JSON.parse(localStorage['show_numbers']);
if (localStorage['show_second_hand']) secondHandCheckbox.checked = JSON.parse(localStorage['show_second_hand']);
if (localStorage['show_date']) dateCheckbox.checked = JSON.parse(localStorage['show_date']);
if (localStorage['show_steps']) stepsCheckbox.checked = JSON.parse(localStorage['show_steps']);
if (localStorage['show_temperature']) temperatureCheckbox.checked = JSON.parse(localStorage['show_temperature']);
if (localStorage['units']) {
if (localStorage['units'] == 'metric') {
metricUnits.checked = true;
imperialUnits.checked = false;
}
}
})();
1 change: 1 addition & 0 deletions config/js/main.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions gulp/paths.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"src": {
"scripts": ["config/js/main.js"]
},
"dest": {
"scripts": {
"dir": "config/js",
"name": "main.min.js"
}
}
}
13 changes: 13 additions & 0 deletions gulp/tasks/scripts.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
module.exports = (gulp, plugins, paths)=> {
console.log('paths.src.scripts', paths.src.scripts);
console.log('paths.dest.scripts.name', paths.dest.scripts.name);
return ()=> {
return gulp.src(paths.src.scripts)
.pipe(plugins.debug())
.pipe(plugins.jshint())
.pipe(plugins.jshint.reporter('jshint-stylish'))
.pipe(plugins.concat(paths.dest.scripts.name))
.pipe(plugins.uglify())
.pipe(gulp.dest(paths.dest.scripts.dir));
}
};
11 changes: 11 additions & 0 deletions gulpfile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
var gulp = require('gulp');
var plugins = require('gulp-load-plugins')();
var paths = require('./gulp/paths.json');

gulp.on("error", function (err) { console.log("Oops: %s", err);});

// Concat & Minify & Lint Our JS
gulp.task('scripts', require('./gulp/tasks/scripts')(gulp, plugins, paths));

gulp.task('default', ['build']);
gulp.task('build', ['scripts']);
30 changes: 30 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"name": "pebble-engineering-steps",
"version": "1.0.0",
"description": "A fork of pebble-engineering by nguyer that incorporates Pebble Health steps.",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/kencaron/pebble-engineering.git"
},
"author": "Ken Caron",
"license": "ISC",
"bugs": {
"url": "https://github.com/kencaron/pebble-engineering/issues"
},
"homepage": "https://github.com/kencaron/pebble-engineering#readme",
"devDependencies": {
"gulp": "^3.9.1",
"gulp-concat": "^2.6.0",
"gulp-debug": "^2.1.2",
"gulp-jshint": "^2.0.0",
"gulp-load-plugins": "^1.2.0",
"gulp-uglify": "^1.5.2",
"jshint": "^2.9.1",
"jshint-stylish": "^2.1.0",
"slate": "https://git@github.com:pebble/slate.git"
}
}
Loading