compile.js 929 B

12345678910111213141516171819202122232425
  1. import { config } from 'grav-config';
  2. import request from '../utils/request';
  3. export default ({ preview = false, exportScss = false, color_scheme = {}, fonts = {}, callback = () => {} } = {}) => {
  4. let task = exportScss ? 'exportScss' : 'compileScss';
  5. // console.log(config);
  6. const URI = `${config.base_url_relative}.json/task:${task}`;
  7. request(URI, {
  8. method: 'post',
  9. body: Object.assign({}, preview ? { preview } : null, color_scheme)
  10. }, callback);
  11. };
  12. export const prepareElement = (element) => {
  13. element.data('busy_right_now', true);
  14. if (!element.data('current_icon')) {
  15. element.data('current_icon', element.find('.fa').attr('class'));
  16. }
  17. element.find('.fa').attr('class', 'fa fa-fw fa-spin fa-refresh');
  18. };
  19. export const resetElement = (element) => {
  20. element.data('busy_right_now', false);
  21. element.find('.fa').attr('class', element.data('current_icon'));
  22. };