소스 검색

Added start and stop hook

Sorunome 11 년 전
부모
커밋
71876fbe8b
1개의 변경된 파일36개의 추가작업 그리고 53개의 파일을 삭제
  1. 36 53
      app/www/data/plugins/oldMessages/script.js

+ 36 - 53
app/www/data/plugins/oldMessages/script.js

@@ -1,56 +1,38 @@
-if(typeof $.fn.selectRange !-'undefined'){
-	$.fn.selectRange = function(start, end) {
-		return this.each(function() {
-			if(this.setSelectionRange) {
-				this.focus();
-				this.setSelectionRange(start, end);
-			} else if(this.createTextRange) {
-				var range = this.createTextRange();
-				range.collapse(true);
-				range.moveEnd('character', end);
-				range.moveStart('character', start);
-				range.select();
-			}
-		});
-	};
-
-}
-$("#input").keydown(function(e){
-	var oldMessages = [],
-		room = room = $o.ui.tabs.current().name,
-		temp = $.localStorage('oldMessages-'+room);
-	if (temp!=null){
-		oldMessages = temp.split("\n");
-	}
-	if ($('#input').data('oldMessageCounter')==oldMessages.length){
-		$('#input').data('currentMessage',$('#input').val());
-	}
-	if (oldMessages.length!=0){
-		switch(e.which){
-			case 38:
-				if ($('#input').data('oldMessageCounter')!=0){
-					$('#input').data('oldMessageCounter',$('#input').data('oldMessageCounter')-1);
-				}
-				$('#input').val(oldMessages[$('#input').data('oldMessageCounter')]);
-			break;
-			case 40:
-				if ($('#input').data('oldMessageCounter')!=oldMessages.length){
-					$('#input').data('oldMessageCounter',$('#input').data('oldMessageCounter')+1);
-				}
-				if ($('#input').data('oldMessageCounter')==oldMessages.length){
-					$('#input').val($('#input').data('currentMessage'));
-				}else{
+hook("start",function(name){
+	$("#input").keydown(function oldMessagesKeyHandle(e){
+		var oldMessages = [],
+			room = room = $o.ui.tabs.current().name,
+			temp = $.localStorage('oldMessages-'+room);
+		if (temp!=null){
+			oldMessages = temp.split("\n");
+		}
+		if ($('#input').data('oldMessageCounter')==oldMessages.length){
+			$('#input').data('currentMessage',$('#input').val());
+		}
+		if (oldMessages.length!=0){
+			switch(e.which){
+				case 38:
+					if ($('#input').data('oldMessageCounter')!=0){
+						$('#input').data('oldMessageCounter',$('#input').data('oldMessageCounter')-1);
+					}
 					$('#input').val(oldMessages[$('#input').data('oldMessageCounter')]);
-				}
-			break;
+				break;
+				case 40:
+					if ($('#input').data('oldMessageCounter')!=oldMessages.length){
+						$('#input').data('oldMessageCounter',$('#input').data('oldMessageCounter')+1);
+					}
+					if ($('#input').data('oldMessageCounter')==oldMessages.length){
+						$('#input').val($('#input').data('currentMessage'));
+					}else{
+						$('#input').val(oldMessages[$('#input').data('oldMessageCounter')]);
+					}
+				break;
+			}
 		}
-		temp = $('#input').val().length;
-		$('#input').selectRange(temp,temp);
-	}
-});
-$('#input').data({
-	'oldMessageCounter':1,
-	'currentMessage':''
+	}).data({
+		'oldMessageCounter':1,
+		'currentMessage':''
+	});
 });
 hook("tabswitch",function(newT,oldT){
 	var oldMessages = [],
@@ -83,5 +65,6 @@ hook("send",function(msg,room){
 	$.localStorage('oldMessages-'+room,oldMessages.join("\n"));
 	$('#input').data('oldMessageCounter',oldMessages.length);
 });
-
-// $('#myel').data('key','val');
+hook("stop",function(name){
+	$('#input').off(oldMessagesKeyHandle);
+});