setup_top_menu.js 1.9 KB
Newer Older
1
const app = require('../../app');
N
nem035 已提交
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
const Server = require('../../server');
const Toast = require('../toast');

module.exports = () => {

  // shared
  $('#shared').mouseup(function() {
    $(this).select();
  });

  $('#btn_share').click(function() {

    const $icon = $(this).find('.fa-share');
    $icon.addClass('fa-spin fa-spin-faster');

    Server.shareScratchPaper().then((url) => {
      $icon.removeClass('fa-spin fa-spin-faster');
      $('#shared').removeClass('collapse');
      $('#shared').val(url);
      Toast.showInfoToast('Shareable link is created.');
    });
  });

  // control

27
  $('#btn_run').click(function() {
N
nem035 已提交
28
    $('#btn_trace').click();
29 30
    $('#btn_pause').removeClass('active');
    $(this).addClass('active');
31
    var err = app.getEditor().execute();
N
nem035 已提交
32 33 34 35 36 37
    if (err) {
      console.error(err);
      Toast.showErrorToast(err);
    }
  });
  $('#btn_pause').click(function() {
38 39
    $('#btn_run').removeClass('active');
    $(this).addClass('active');
40 41
    if (app.getTracerManager().isPause()) {
      app.getTracerManager().resumeStep();
N
nem035 已提交
42
    } else {
43
      app.getTracerManager().pauseStep();
N
nem035 已提交
44 45 46
    }
  });
  $('#btn_prev').click(() => {
47 48
    $('#btn_run').removeClass('active');
    $('#btn_pause').addClass('active');
49 50
    app.getTracerManager().pauseStep();
    app.getTracerManager().prevStep();
N
nem035 已提交
51 52
  });
  $('#btn_next').click(() => {
53 54
    $('#btn_run').removeClass('active');
    $('#btn_pause').addClass('active');
55 56
    app.getTracerManager().pauseStep();
    app.getTracerManager().nextStep();
N
nem035 已提交
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
  });

  // description & trace

  $('#btn_desc').click(function() {
    $('.tab_container > .tab').removeClass('active');
    $('#tab_desc').addClass('active');
    $('.tab_bar > button').removeClass('active');
    $(this).addClass('active');
  });

  $('#btn_trace').click(function() {
    $('.tab_container > .tab').removeClass('active');
    $('#tab_module').addClass('active');
    $('.tab_bar > button').removeClass('active');
    $(this).addClass('active');
  });

75
};