Commit bac6ea47 authored by Madhur's avatar Madhur

some part completed

parent 1dde516f
<!DOCTYPE html>
<html ng-app="emojiApp">
<head>
......@@ -5,6 +6,7 @@
<link type="text/stylesheet" rel="stylesheet" href="css/nanoscroller.css" />
<link type="text/stylesheet" rel="stylesheet" href="css/emoji.css" />
<link type="text/stylesheet" rel="stylesheet" href="css/style.css" />
<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
</head>
<body ng-controller="emojiController">
......@@ -12,8 +14,8 @@
<div class="myform">
<div my-form>
<textarea id="messageInput" ng-enter="replyToUser()" ng-model="messagetext" placeholder="Write a message..." class="ng-untouched ng-valid ng-dirty ng-valid-parse" style="display: none;"></textarea>
<div my-form emoji-message="emojiMessage">
<textarea id="messageInput" ng-enter="replyToUser()" ng-model="emojiMessage.messagetext" placeholder="Write a message..."></textarea>
<div style="margin-right:10px;margin-top:5px;" class="im_emoji_btn" id="emojibtn" style="cursor:pointer">
......@@ -23,12 +25,12 @@
<div style="text-align:left;height:50px;width:500px"> String with Colons: </div>
<div>
<div class="form-control" style="height:50px;width:500px" ng-bind-html="messagetext"></div>
<div class="form-control" style="height:50px;width:500px" ng-bind="emojiMessage.messagetext"></div>
</div>
<div> String with UTF Chars: (Will not display fine in input box) </div>
<div>
<input class="form-control" ng-model="messagetext"> </div>
<input class="form-control" ng-model="emojiMessage.messagetext"> </div>
</div>
......@@ -37,14 +39,16 @@
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript" src="js/angular-sanitize.js"></script>
<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="js/emoji.js"></script>
<script type="text/javascript" src="js/jquery.emojiarea.js"></script>
<script type="text/javascript" src="js/app.js"></script>
<script type="text/javascript" src="js/config.js"></script>
<script type="text/javascript" src="js/jquery.emojiarea.js"></script>
<script type="text/javascript" src="js/emoji.js"></script>
<script type="text/javascript" src="js/emojiController.js"></script>
<script type="text/javascript" src="js/emojiDirectives.js"></script>
......
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -2,11 +2,9 @@
var emojiApp = angular.module("emojiApp", ['ngSanitize']);
emojiApp.config(function(ConfigProvider)
emojiApp.config(function()
{
var Config = ConfigProvider.$get();
var icons = {},
reverseIcons = {},
i, j, hex, name, dataItem, row, column, totalColumns;
......
This diff is collapsed.
'use strict';
emojiApp.controller('emojiController', ['$scope', function($scope) {
emojiApp.controller('emojiController', ['$scope', '$log', function($scope, $log) {
$scope.emoji = {};
$scope.emojiMessage={};
$scope.emoji.replyToUser = function()
{
alert('You typed' + $scope.messagetext);
}
}]);
'use strict';
emojiApp.directive('myForm', ['$http', '$interpolate', function($http, $interpolate)
emojiApp.directive('myForm', ['$timeout', '$http', '$interpolate', function($timeout, $http, $interpolate)
{
// Runs during compile
return {
......@@ -9,10 +9,11 @@ emojiApp.directive('myForm', ['$http', '$interpolate', function($http, $interpol
// priority: 1,
// terminal: true,
scope:
{}, // {} = isolate, true = child, false/undefined = no change
{
emojiMessage: '='
},
// controller: function($scope, $element, $attrs, $transclude) {},
// require: 'ngModel', // Array = multiple requires, ? = optional, ^ = check parent elements
restrict: 'AE', // E = Element, A = Attribute, C = Class, M = Comment
// template: '',
// templateUrl: '',
// replace: true,
......@@ -54,6 +55,7 @@ emojiApp.directive('myForm', ['$http', '$interpolate', function($http, $interpol
var updatePromise;
$(richTextarea)
.on('DOMNodeInserted', onPastedImageEvent)
.on(
'keyup',
function(e)
......@@ -65,10 +67,14 @@ emojiApp.directive('myForm', ['$http', '$interpolate', function($http, $interpol
$scope
.$apply(function()
{
$scope.messagetext = richTextarea.textContent;
$scope.emojiMessage.messagetext = richTextarea.textContent;
});
}
$timeout.cancel(updatePromise);
updatePromise = $timeout(
updateValue, 1000);
});
}
......@@ -160,6 +166,72 @@ emojiApp.directive('myForm', ['$http', '$interpolate', function($http, $interpol
}
};
function onPastedImageEvent(e)
{
var element = (e.originalEvent || e).target,
src = (element ||
{}).src || '',
remove = false;
if (src.substr(0, 5) == 'data:')
{
remove = true;
var blob = dataUrlToBlob(src);
ErrorService.confirm(
{
type: 'FILE_CLIPBOARD_PASTE'
}).then(function()
{
$scope.draftMessage.files = [blob];
$scope.draftMessage.isMedia = true;
});
setZeroTimeout(function()
{
element.parentNode.removeChild(element);
})
}
else if (src && !src.match(/img\/blank\.gif/))
{
var replacementNode = document.createTextNode(' ' + src + ' ');
setTimeout(function()
{
element.parentNode.replaceChild(replacementNode, element);
}, 100);
}
};
function onPasteEvent(e)
{
console.log("onPasteEvent");
var cData = (e.originalEvent || e).clipboardData,
items = cData && cData.items || [],
files = [],
file, i;
for (i = 0; i < items.length; i++)
{
if (items[i].kind == 'file')
{
file = items[i].getAsFile();
files.push(file);
}
}
if (files.length > 0)
{
ErrorService.confirm(
{
type: 'FILES_CLIPBOARD_PASTE',
files: files
}).then(function()
{
$scope.draftMessage.files = files;
$scope.draftMessage.isMedia = true;
});
}
}
function onKeyDown(e)
{
if (e.keyCode == 9 && !e.shiftKey && !e.ctrlKey && !e.metaKey && !$modalStack.getTop())
......@@ -169,8 +241,10 @@ emojiApp.directive('myForm', ['$http', '$interpolate', function($http, $interpol
}
}
$(document).on('keydown', onKeyDown);
$(document).on('paste', onPasteEvent);
var sendAwaiting = false;
function focusField()
{
onContentLoaded(function()
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -26,8 +26,6 @@
var TAGS_BLOCK = [ 'p', 'div', 'pre', 'form' ];
var KEY_ESC = 27;
var KEY_TAB = 9;
var Config = {};
Config.Mobile = false;
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
......@@ -497,10 +495,11 @@
var alt = node.getAttribute('alt') || '';
if (alt) {
var code = alt.substring(1, alt.length - 1);
var smileyCode = Config.map[code];
//var smileyCode = Config.map[code];
//if (smileyCode)
line.push(code);
if (smileyCode)
line.push(smileyCode);
}
return;
} else if (tagName === 'br') {
......@@ -509,7 +508,7 @@
var children = node.childNodes;
for (var i = 0; i < children.length; i++) {
// sanitizeNode(children[i]);
sanitizeNode(children[i]);
}
if (isBlock && line.length)
......
......@@ -6,7 +6,7 @@ var util = require('util'),
url = require('url'),
events = require('events');
var DEFAULT_PORT = 8000;
var DEFAULT_PORT = 8001;
var DEFAULT_HOST = 'localhost';
function main(argv) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment