diff --git a/gulpfile.js b/gulpfile.js index 068c748..0bb3283 100755 --- a/gulpfile.js +++ b/gulpfile.js @@ -35,6 +35,9 @@ gulp.task('clean-js', function() { return del(['tmp/config-page.js']); }); +/** +* @returns {string} +*/ function taskJs() { return browserify('src/scripts/config-page.js', { debug: true }) .transform('deamdify') @@ -49,8 +52,12 @@ gulp.task('clean-sass', function() { return del(['tmp/config-page.scss']); }); +/** +* @returns {string} +*/ function taskSass() { - return gulp.src(['./src/styles/config-page.scss', './src/styles/clay/components/*.scss']) + return gulp.src(['./src/styles/config-page.scss', + './src/styles/clay/components/*.scss']) .pipe(sourceMaps.init()) .pipe(sass({ loadPaths: sassIncludePaths @@ -62,6 +69,9 @@ function taskSass() { gulp.task('sass', gulp.series('clean-sass', taskSass)); +/** +* @returns {string} +*/ function taskInlineHtml() { return gulp.src('src/config-page.html') .pipe(inline()) @@ -79,6 +89,9 @@ function taskInlineHtml() { gulp.task('inlineHtml', gulp.series('js', 'sass', taskInlineHtml)); +/** +* @returns {string} +*/ function taskClay() { return browserify('index.js', { debug: false, @@ -86,7 +99,7 @@ function taskClay() { }) .transform('deamdify') .transform(stringify(stringifyOptions)) - //.transform(autoprefixify, autoprefixerOptions) + // .transform(autoprefixify, autoprefixerOptions) .require(require.resolve('./index'), {expose: clayPackage.name}) .exclude('message_keys') .bundle() @@ -101,6 +114,9 @@ function taskClay() { gulp.task('clay', gulp.series('inlineHtml', taskClay)); +/** +* @returns {string} +*/ function taskDevJs() { return browserify('dev/dev.js', { debug: true }) .transform(stringify(stringifyOptions)) @@ -116,6 +132,9 @@ gulp.task('dev-js', gulp.series('js', 'sass', taskDevJs)); gulp.task('default', gulp.series('clay')); +/** +* @returns {string} +*/ function taskDev() { gulp.watch('src/styles/**/*.scss', ['sass']); gulp.watch(['src/scripts/**/*.js', 'src/templates/**/*.tpl'], ['js']); diff --git a/package.json b/package.json index e10d11e..2b7a571 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,8 @@ "basalt", "chalk", "diorite", - "emery" + "emery", + "flint" ], "resources": { "media": [] diff --git a/src/scripts/components/color.js b/src/scripts/components/color.js index 5773e4c..0fec6ed 100644 --- a/src/scripts/components/color.js +++ b/src/scripts/components/color.js @@ -114,14 +114,15 @@ module.exports = { * @returns {Array} */ function autoLayout() { + const bwWatches = ['aplite', 'diorite', 'flint']; if (!clay.meta.activeWatchInfo || clay.meta.activeWatchInfo.firmware.major === 2 || - ['aplite', 'diorite'].indexOf(clay.meta.activeWatchInfo.platform) > -1 && + bwWatches.indexOf(clay.meta.activeWatchInfo.platform) > -1 && !self.config.allowGray) { return standardLayouts.BLACK_WHITE; } - if (['aplite', 'diorite'].indexOf(clay.meta.activeWatchInfo.platform) > -1 && + if (bwWatches.indexOf(clay.meta.activeWatchInfo.platform) > -1 && self.config.allowGray) { return standardLayouts.GRAY; } diff --git a/src/scripts/lib/utils.js b/src/scripts/lib/utils.js index 58bfc46..1100c5d 100644 --- a/src/scripts/lib/utils.js +++ b/src/scripts/lib/utils.js @@ -44,8 +44,13 @@ module.exports.capabilityMap = { minFwMajor: 0, minFwMinor: 0 }, + PLATFORM_FLINT: { + platforms: ['flint'], + minFwMajor: 0, + minFwMinor: 0 + }, BW: { - platforms: ['aplite', 'diorite'], + platforms: ['aplite', 'diorite', 'flint'], minFwMajor: 0, minFwMinor: 0 }, @@ -55,7 +60,7 @@ module.exports.capabilityMap = { minFwMinor: 0 }, MICROPHONE: { - platforms: ['basalt', 'chalk', 'diorite', 'emery'], + platforms: ['basalt', 'chalk', 'diorite', 'emery', 'flint'], minFwMajor: 0, minFwMinor: 0 }, @@ -70,12 +75,12 @@ module.exports.capabilityMap = { minFwMinor: 4 }, HEALTH: { - platforms: ['basalt', 'chalk', 'diorite', 'emery'], + platforms: ['basalt', 'chalk', 'diorite', 'emery', 'flint'], minFwMajor: 3, minFwMinor: 10 }, RECT: { - platforms: ['aplite', 'basalt', 'diorite', 'emery'], + platforms: ['aplite', 'basalt', 'diorite', 'emery', 'flint'], minFwMajor: 0, minFwMinor: 0 }, @@ -85,7 +90,7 @@ module.exports.capabilityMap = { minFwMinor: 0 }, DISPLAY_144x168: { - platforms: ['aplite', 'basalt', 'diorite'], + platforms: ['aplite', 'basalt', 'diorite', 'flint'], minFwMajor: 0, minFwMinor: 0 }, diff --git a/test/spec/lib/clay-config.js b/test/spec/lib/clay-config.js index abffc45..0d83730 100644 --- a/test/spec/lib/clay-config.js +++ b/test/spec/lib/clay-config.js @@ -92,6 +92,7 @@ describe('ClayConfig', function() { testCapabilities('aplite', 2, 9, ['PLATFORM_CHALK'], 0); testCapabilities('aplite', 2, 9, ['PLATFORM_DIORITE'], 0); testCapabilities('aplite', 2, 9, ['PLATFORM_EMERY'], 0); + testCapabilities('aplite', 2, 9, ['PLATFORM_FLINT'], 0); testCapabilities('aplite', 3, 10, ['BW'], 1); testCapabilities('aplite', 3, 10, ['COLOR'], 0); @@ -112,6 +113,7 @@ describe('ClayConfig', function() { testCapabilities('aplite', 3, 10, ['PLATFORM_CHALK'], 0); testCapabilities('aplite', 3, 10, ['PLATFORM_DIORITE'], 0); testCapabilities('aplite', 3, 10, ['PLATFORM_EMERY'], 0); + testCapabilities('aplite', 3, 10, ['PLATFORM_FLINT'], 0); testCapabilities('basalt', 3, 10, ['BW'], 0); testCapabilities('basalt', 3, 10, ['COLOR'], 1); @@ -134,6 +136,7 @@ describe('ClayConfig', function() { testCapabilities('basalt', 3, 10, ['PLATFORM_CHALK'], 0); testCapabilities('basalt', 3, 10, ['PLATFORM_DIORITE'], 0); testCapabilities('basalt', 3, 10, ['PLATFORM_EMERY'], 0); + testCapabilities('basalt', 3, 10, ['PLATFORM_FLINT'], 0); testCapabilities('chalk', 3, 10, ['BW'], 0); testCapabilities('chalk', 3, 10, ['COLOR'], 1); @@ -156,6 +159,7 @@ describe('ClayConfig', function() { testCapabilities('chalk', 3, 10, ['PLATFORM_CHALK'], 1); testCapabilities('chalk', 3, 10, ['PLATFORM_DIORITE'], 0); testCapabilities('chalk', 3, 10, ['PLATFORM_EMERY'], 0); + testCapabilities('chalk', 3, 10, ['PLATFORM_FLINT'], 0); testCapabilities('diorite', 3, 10, ['BW'], 1); testCapabilities('diorite', 3, 10, ['COLOR'], 0); @@ -178,6 +182,7 @@ describe('ClayConfig', function() { testCapabilities('diorite', 3, 10, ['PLATFORM_CHALK'], 0); testCapabilities('diorite', 3, 10, ['PLATFORM_DIORITE'], 1); testCapabilities('diorite', 3, 10, ['PLATFORM_EMERY'], 0); + testCapabilities('diorite', 3, 10, ['PLATFORM_FLINT'], 0); testCapabilities('emery', 3, 10, ['BW'], 0); testCapabilities('emery', 3, 10, ['COLOR'], 1); @@ -200,6 +205,30 @@ describe('ClayConfig', function() { testCapabilities('emery', 3, 10, ['PLATFORM_CHALK'], 0); testCapabilities('emery', 3, 10, ['PLATFORM_DIORITE'], 0); testCapabilities('emery', 3, 10, ['PLATFORM_EMERY'], 1); + testCapabilities('emery', 3, 10, ['PLATFORM_FLINT'], 0); + + testCapabilities('flint', 3, 10, ['BW'], 1); + testCapabilities('flint', 3, 10, ['COLOR'], 0); + testCapabilities('flint', 3, 10, ['MICROPHONE'], 1); + testCapabilities('flint', 3, 10, ['SMARTSTRAP'], 0); + testCapabilities('flint', 3, 4, ['SMARTSTRAP'], 0); + testCapabilities('flint', 3, 3, ['SMARTSTRAP'], 0); + testCapabilities('flint', 3, 10, ['SMARTSTRAP_POWER'], 0); + testCapabilities('flint', 3, 4, ['SMARTSTRAP_POWER'], 0); + testCapabilities('flint', 3, 3, ['SMARTSTRAP_POWER'], 0); + testCapabilities('flint', 3, 10, ['HEALTH'], 1); + testCapabilities('flint', 3, 9, ['HEALTH'], 0); + testCapabilities('flint', 3, 10, ['RECT'], 1); + testCapabilities('flint', 3, 10, ['ROUND'], 0); + testCapabilities('flint', 3, 10, ['DISPLAY_144x168'], 1); + testCapabilities('flint', 3, 10, ['DISPLAY_180x180_ROUND'], 0); + testCapabilities('flint', 3, 10, ['DISPLAY_200x228'], 0); + testCapabilities('flint', 3, 10, ['PLATFORM_APLITE'], 0); + testCapabilities('flint', 3, 10, ['PLATFORM_BASALT'], 0); + testCapabilities('flint', 3, 10, ['PLATFORM_CHALK'], 0); + testCapabilities('flint', 3, 10, ['PLATFORM_DIORITE'], 0); + testCapabilities('flint', 3, 10, ['PLATFORM_EMERY'], 0); + testCapabilities('flint', 3, 10, ['PLATFORM_FLINT'], 1); testCapabilities('aplite', 3, 10, ['BW', 'HEALTH'], 0, 0); testCapabilities('emery', 3, 10, ['COLOR', 'HEALTH'], 1);