yzToolbar.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /**
  2. * Create by sxd
  3. * date 2018-04-11
  4. * Description:
  5. */
  6. import $ from 'jquery';
  7. import boxContent from './box/boxContent';
  8. var yzToolbar = function(){
  9. this.menu = [{
  10. name: 'table',
  11. title: '表格',
  12. icon: 'fa-table'
  13. },{
  14. name: 'underline',
  15. title: '下划线',
  16. icon: 'fa-minus'
  17. },{
  18. name: 'picture',
  19. title: '图片',
  20. icon: 'fa-file-image-o',
  21. },{
  22. name: 'component',
  23. title: '组件框',
  24. icon: 'fa-square'
  25. },{
  26. name: 'subject',
  27. title: '无',
  28. icon: 'fa-list-alt'
  29. }];
  30. // 问题编号
  31. this.subjectNum = null;
  32. // 获取当前需要插入的Dom
  33. this.currentContent = null;
  34. };
  35. yzToolbar.prototype.toolbarContent = function () {
  36. // 形成toolbar 结构
  37. let toolDom = document.createElement('div');
  38. let ulDom = document.createElement('ul');
  39. this.menu.forEach( (item) => {
  40. let liDom = document.createElement('li');
  41. let spanDom = document.createElement('span');
  42. let liText = document.createTextNode(item.title);
  43. spanDom.className = `icon fa ${item.icon}`;
  44. liDom.setAttribute('title',item.title);
  45. liDom.appendChild(spanDom);
  46. liDom.appendChild(liText);
  47. ulDom.appendChild(liDom);
  48. if( item.name == 'component' ){
  49. liDom.addEventListener('click', () => {
  50. this.addComponent(liDom);
  51. },!0);
  52. }
  53. });
  54. toolDom.className = 'toolbar';
  55. toolDom.appendChild(ulDom);
  56. toolDom.setAttribute('id','toolbar');
  57. return toolDom;
  58. };
  59. yzToolbar.prototype.setSubjectTitle = function(pNum,content) {
  60. this.subjectNum = pNum;
  61. this.currentContent = content;
  62. this.menu.forEach( (item) => {
  63. if( item.name == 'subject' ){
  64. item.title = '正在编辑' + pNum;
  65. if( pNum == 'none' ){
  66. item.title = '无';
  67. }
  68. }
  69. });
  70. };
  71. yzToolbar.prototype.addComponent = function(dom) {
  72. if(this.subjectNum == 'none' || !this.subjectNum){
  73. alert('请选择主观题');return;
  74. }
  75. console.log(this.currentContent);
  76. this.currentContent.addComponent(1);
  77. };
  78. export default yzToolbar;