have been able to progress with the typescript setup. However, it seems to be hitting some limits so far that I realize that typescript might not be the right fit for this project.
This commit is contained in:
parent
f034d58367
commit
8802903f0a
5 changed files with 46 additions and 66 deletions
|
@ -32,34 +32,4 @@ $(document).ready(function () {
|
|||
});
|
||||
}
|
||||
|
||||
document.addEventListener('click', function(evt) {
|
||||
if (!document.hasFocus()) {
|
||||
return true;
|
||||
}
|
||||
processSelection();
|
||||
// evt.stopPropagation();
|
||||
// evt.preventDefault();
|
||||
}, false);
|
||||
|
||||
// Find currently selected word
|
||||
function processSelection () {
|
||||
var focused = document.activeElement;
|
||||
var selectedText;
|
||||
if (focused) {
|
||||
try {
|
||||
selectedText = focused.value.substring(
|
||||
focused.selectionStart, focused.selectionEnd);
|
||||
} catch (err) {
|
||||
}
|
||||
}
|
||||
if (selectedText == undefined) {
|
||||
var sel = window.getSelection();
|
||||
var selectedText = sel.toString();
|
||||
}
|
||||
if (selectedText) {
|
||||
currentlySelectedWord = selectedText;
|
||||
displaySelectedWord(currentlySelectedWord);
|
||||
getSensesFromServer(currentlySelectedWord);
|
||||
}
|
||||
}
|
||||
});
|
|
@ -7,8 +7,8 @@ import DataService = require('./data/data.service');
|
|||
import SelectedWordService = require('./selectedWord/selectedWord.service');
|
||||
|
||||
angular.module('tagIt', [])
|
||||
.factory('DataService', DataService)
|
||||
.factory('SelectedWordService', SelectedWordService)
|
||||
.service('DataService', DataService)
|
||||
.service('SelectedWordService', SelectedWordService)
|
||||
.controller('MenuCtrl', MenuCtrl);
|
||||
|
||||
function initAngular () {
|
||||
|
@ -19,7 +19,8 @@ function initAngular () {
|
|||
document.getElementById("tagit-menu"),
|
||||
['tagIt']
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
initAngular();
|
||||
initAngular();
|
||||
|
||||
|
|
|
@ -10,11 +10,16 @@ class MenuCtrl {
|
|||
testWord = "It's working"
|
||||
selectedWord = "No word yet"
|
||||
|
||||
static $inject = ["$scope", "$log", "SelectedWordService"]
|
||||
static $inject = ["$scope", "$log", "SelectedWordService", "DataService"]
|
||||
|
||||
constructor($scope: any, $log: angular.ILogService, SelectedWordService: any) {
|
||||
constructor($scope: any, $log: angular.ILogService,
|
||||
SelectedWordService: any, DataService : any) {
|
||||
$scope.vm = this;
|
||||
SelectedWordService.init();
|
||||
SelectedWordService.controllerToNotify = this.onWordSelected;
|
||||
}
|
||||
|
||||
onWordSelected (newWord : string) {
|
||||
this.selectedWord = newWord;
|
||||
}
|
||||
|
||||
remove() {
|
||||
|
|
|
@ -8,42 +8,48 @@ class SelectedWordService {
|
|||
|
||||
currentlySelectedWord: string
|
||||
$log : ng.ILogService
|
||||
controllerToNotify : (selectedWord : string) => void;
|
||||
|
||||
static $inject = ["$log"];
|
||||
constructor($log: ng.ILogService) {
|
||||
this.$log = $log;
|
||||
this.init();
|
||||
}
|
||||
|
||||
processSelection () {
|
||||
// var focused : any = document.activeElement;
|
||||
// var selectedText : string;
|
||||
// if (focused) {
|
||||
// try {
|
||||
// selectedText = focused.value.substring(
|
||||
// focused.selectionStart, focused.selectionEnd);
|
||||
// } catch (err) {
|
||||
// }
|
||||
// }
|
||||
// if (selectedText == undefined) {
|
||||
// var sel = window.getSelection();
|
||||
// var selectedText = sel.toString();
|
||||
// }
|
||||
// if (selectedText) {
|
||||
// this.currentlySelectedWord = selectedText;
|
||||
// this.$log.debug('text that was selected: ' + selectedText);
|
||||
// }
|
||||
var focused : any = document.activeElement;
|
||||
var selectedText : string;
|
||||
if (focused) {
|
||||
try {
|
||||
selectedText = focused.value.substring(
|
||||
focused.selectionStart, focused.selectionEnd);
|
||||
} catch (err) {
|
||||
}
|
||||
}
|
||||
if (selectedText == undefined) {
|
||||
var sel = window.getSelection();
|
||||
var selectedText = sel.toString();
|
||||
}
|
||||
if (selectedText) {
|
||||
this.currentlySelectedWord = selectedText;
|
||||
this.$log.debug('text that was selected: ' + selectedText);
|
||||
if(this.controllerToNotify) {
|
||||
this.controllerToNotify(selectedText);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
init () {
|
||||
// document.addEventListener('click', function(evt) {
|
||||
// if (!document.hasFocus()) {
|
||||
// return true;
|
||||
// }
|
||||
// this.processSelection();
|
||||
// // clicks should propagate upwards to other things
|
||||
// // evt.stopPropagation();
|
||||
// // evt.preventDefault();
|
||||
// }, false);
|
||||
var that = this;
|
||||
document.addEventListener('click', function (evt) {
|
||||
if (!document.hasFocus()) {
|
||||
return true;
|
||||
}
|
||||
that.processSelection();
|
||||
// clicks should propagate upwards to other things
|
||||
// evt.stopPropagation();
|
||||
// evt.preventDefault();
|
||||
}, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,5 @@
|
|||
"module": "commonjs",
|
||||
"noImplicitAny": true
|
||||
},
|
||||
"files": [
|
||||
"src/index.ts"
|
||||
]
|
||||
"files": []
|
||||
}
|
Loading…
Reference in a new issue