Changeset View
Changeset View
Standalone View
Standalone View
lib/app/base-chips/field-types/color.js
"use strict"; | |||||
module.exports = { | module.exports = { | ||||
name: "color", | name: "color", | ||||
is_proper_value: function(context, params, new_value) { | is_proper_value(context, params, new_value) { | ||||
const Color = require("color"); //putting it here not to slow down `new Sealious.app()` | const Color = require("color"); //putting it here not to slow down `new Sealious.app()` | ||||
try { | try { | ||||
if (typeof new_value === "string") { | if (typeof new_value === "string") { | ||||
Color(new_value.toLowerCase()); | Color(new_value.toLowerCase()); | ||||
} else { | } else { | ||||
Color(new_value); | Color(new_value); | ||||
} | } | ||||
return Promise.resolve(); | return Promise.resolve(); | ||||
} catch (e) { | } catch (e) { | ||||
return Promise.reject( | return Promise.reject( | ||||
`Value '${new_value}' could not be parsed as a color.` | `Value '${new_value}' could not be parsed as a color.` | ||||
); | ); | ||||
} | } | ||||
}, | }, | ||||
encode: function(context, params, value_in_code) { | encode(context, params, value_in_code) { | ||||
const Color = require("color"); //putting it here not to slow down `new Sealious.app()` | const Color = require("color"); //putting it here not to slow down `new Sealious.app()` | ||||
const color = Color(value_in_code); | const color = Color(value_in_code); | ||||
return color.hexString(); | return color.hexString(); | ||||
}, | }, | ||||
}; | }; |