OutlineController.js 756 B

123456789101112131415161718192021222324252627
  1. import App from '../../../base'
  2. import OutlinePane from '../components/OutlinePane'
  3. import { react2angular } from 'react2angular'
  4. App.controller('OutlineController', function($scope, ide) {
  5. $scope.isTexFile = false
  6. $scope.outline = []
  7. $scope.$on('outline-manager:outline-changed', onOutlineChange)
  8. function onOutlineChange(e, outlineInfo) {
  9. $scope.$applyAsync(() => {
  10. $scope.isTexFile = outlineInfo.isTexFile
  11. $scope.outline = outlineInfo.outline
  12. })
  13. }
  14. $scope.jumpToLine = lineNo => {
  15. ide.outlineManager.jumpToLine(lineNo)
  16. }
  17. })
  18. // Wrap React component as Angular component. Only needed for "top-level" component
  19. App.component(
  20. 'outlinePane',
  21. react2angular(OutlinePane, ['outline', 'jumpToLine', 'isTexFile'])
  22. )