color.js 669 B

123456789101112131415161718192021
  1. import Parchment from 'parchment';
  2. class ColorAttributor extends Parchment.Attributor.Style {
  3. value(domNode) {
  4. let value = super.value(domNode);
  5. if (!value.startsWith('rgb(')) return value;
  6. value = value.replace(/^[^\d]+/, '').replace(/[^\d]+$/, '');
  7. return '#' + value.split(',').map(function(component) {
  8. return ('00' + parseInt(component).toString(16)).slice(-2);
  9. }).join('');
  10. }
  11. }
  12. let ColorClass = new Parchment.Attributor.Class('color', 'ql-color', {
  13. scope: Parchment.Scope.INLINE
  14. });
  15. let ColorStyle = new ColorAttributor('color', 'color', {
  16. scope: Parchment.Scope.INLINE
  17. });
  18. export { ColorAttributor, ColorClass, ColorStyle };