|
|
(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("../model/AbstractModel"); require("../model/UserModel"); require("../view/AbstractView"); require("../view/UserView"); var ChatMessageViewModel_1 = require("../viewmodel/ChatMessageViewModel"); var ChatController = /** @class */ (function () { function ChatController(model, view) { this._model = model; this._view = view; } Object.defineProperty(ChatController.prototype, "model", { /** * Getter model * @return {Model} */ get: function () { return this._model; }, /** * Setter model * @param {Model} value */ set: function (value) { this._model = value; }, enumerable: true, configurable: true }); Object.defineProperty(ChatController.prototype, "view", { /** * Getter view * @return {View} */ get: function () { return this._view; }, /** * Setter view * @param {View} value */ set: function (value) { this._view = value; }, enumerable: true, configurable: true }); /** * eventHandler */ ChatController.prototype.eventHandler = function (vm) { this.model.someBusinessMethod(vm); }; ChatController.prototype.test = function () { var chatMessageViewModels = []; var chatMessageViewModelMock = new ChatMessageViewModel_1.ChatMessageViewModel(); chatMessageViewModelMock.fromUser = "user1"; chatMessageViewModelMock.toUser = "user2"; chatMessageViewModelMock.messageCipher = ""; chatMessageViewModelMock.messageTime = new Date(); chatMessageViewModels.push(chatMessageViewModelMock); }; return ChatController; }()); exports.ChatController = ChatController;
},{"../model/AbstractModel":4,"../model/UserModel":7,"../view/AbstractView":12,"../view/UserView":14,"../viewmodel/ChatMessageViewModel":16}],2:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("../model/AbstractModel"); require("../model/UserModel"); require("../view/AbstractView"); require("../view/UserView"); var ActiveUserViewModel_1 = require("../viewmodel/ActiveUserViewModel"); var UserController = /** @class */ (function () { function UserController(model, view) { this._model = model; this._view = view; } Object.defineProperty(UserController.prototype, "model", { /** * Getter model * @return {Model} */ get: function () { return this._model; }, /** * Setter model * @param {Model} value */ set: function (value) { this._model = value; }, enumerable: true, configurable: true }); Object.defineProperty(UserController.prototype, "view", { /** * Getter view * @return {View} */ get: function () { return this._view; }, /** * Setter view * @param {View} value */ set: function (value) { this._view = value; }, enumerable: true, configurable: true }); /** * eventHandler */ UserController.prototype.eventHandler = function (vm) { this.model.someBusinessMethod(vm); }; UserController.prototype.test = function () { var activeUsersMock = []; var activeUserViewModelMock = new ActiveUserViewModel_1.ActiveUserViewModel(); activeUserViewModelMock.userName = "some user"; activeUserViewModelMock.lastActive = "3 hrs ago"; activeUserViewModelMock.online = true; activeUsersMock.push(activeUserViewModelMock); activeUserViewModelMock = new ActiveUserViewModel_1.ActiveUserViewModel(); activeUserViewModelMock.lastActive = "3 hrs ago"; activeUserViewModelMock.online = true; activeUserViewModelMock.userName = "some user 2"; activeUsersMock.push(activeUserViewModelMock); this.eventHandler(activeUsersMock); }; return UserController; }()); exports.UserController = UserController;
},{"../model/AbstractModel":4,"../model/UserModel":7,"../view/AbstractView":12,"../view/UserView":14,"../viewmodel/ActiveUserViewModel":15}],3:[function(require,module,exports){ (function (global){ "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var UserModel_1 = require("./model/UserModel"); var UserView_1 = require("./view/UserView"); var UserController_1 = require("./controller/UserController"); var loglevel_1 = __importDefault((typeof window !== "undefined" ? window['log'] : typeof global !== "undefined" ? global['log'] : null)); var handlebars_1 = __importDefault((typeof window !== "undefined" ? window['Handlebars'] : typeof global !== "undefined" ? global['Handlebars'] : null)); var markdown_it_1 = __importDefault((typeof window !== "undefined" ? window['markdownit'] : typeof global !== "undefined" ? global['markdownit'] : null)); var ChatModel_1 = require("./model/ChatModel"); var ChatView_1 = require("./view/ChatView"); var ChatController_1 = require("./controller/ChatController"); var JsonAPI_1 = require("./singleton/JsonAPI"); var SJCLEncryptionService_1 = require("./service/SJCLEncryptionService"); var LogLevelLoggerService_1 = require("./service/LogLevelLoggerService"); // import { logger } from "./singleton/Logger";
// var markdownit = require('markdown-it');
var md = new markdown_it_1.default(); var logger = new LogLevelLoggerService_1.LogLevelLogger(); var userBox = document.getElementById('contacts-box'); loglevel_1.default.setLevel("TRACE"); var userModel = new UserModel_1.UserModel(); // const userModel = ModelFactory.createModel("USER");
// @ts-ignore: Argument of type 'HTMLElement | null' is not assignable to parameter of type 'HTMLElement'. Type 'null' is not assignable to type 'HTMLElement'.
var userView = new UserView_1.UserView(userModel, userBox); // console.log(userBox);
userModel.attach(userView); // userView.model
var userController = new UserController_1.UserController(userModel, userView); userController.test(); // userModel.someBusinessMethod(activeUsersMock);
loglevel_1.default.info("hello"); var chatModel = new ChatModel_1.ChatModel(); // @ts-ignore: Argument of type 'HTMLElement | null' is not assignable to parameter of type 'HTMLElement'. Type 'null' is not assignable to type 'HTMLElement'.
var chatView = new ChatView_1.ChatView(chatModel, userBox); var chatController = new ChatController_1.ChatController(chatModel, chatView); function someFunc(vm) { // log.info(vm);
// logger.info(vm)
} logger.info("test"); // someFunc(activeUserViewModelMock);
// @ts-ignore: Object is possibly 'null'.
var source = document.getElementById("msg_container_template").innerHTML; var msgContainerTemplate = handlebars_1.default.compile(source); JsonAPI_1.JsonAPI.ActiveUsersGET; var encryptionService = new SJCLEncryptionService_1.SJCLEncryptionService(); var ct = encryptionService.encrypt("password", "data"); console.log(encryptionService.decrypt("password", ct));
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"./controller/ChatController":1,"./controller/UserController":2,"./model/ChatModel":5,"./model/UserModel":7,"./service/LogLevelLoggerService":8,"./service/SJCLEncryptionService":9,"./singleton/JsonAPI":10,"./view/ChatView":13,"./view/UserView":14}],4:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true });
},{}],5:[function(require,module,exports){ "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", { value: true }); var FetchErrorHandler_1 = require("./FetchErrorHandler"); var ChatModel = /** @class */ (function () { function ChatModel() { /** * @type {Observer[]} List of subscribers. In real life, the list of * subscribers can be stored more comprehensively (categorized by event * type, etc.). */ this.observers = []; // @ts-ignore: Cannot find name 'hostAddress'.
this.getActiveUsersUrl = ""; } /** * The subscription management methods. */ ChatModel.prototype.attach = function (observer) { console.log('Subject: Attached an observer.'); this.observers.push(observer); }; ChatModel.prototype.detach = function (observer) { var observerIndex = this.observers.indexOf(observer); this.observers.splice(observerIndex, 1); console.log('Subject: Detached an observer.'); }; /** * Trigger an update in each subscriber. */ ChatModel.prototype.notify = function () { console.log('Subject: Notifying observers...'); for (var _i = 0, _a = this.observers; _i < _a.length; _i++) { var observer = _a[_i]; observer.update(this.state); } }; ChatModel.prototype.someBusinessMethod = function (activeuserList) { this.state = activeuserList; this.helperMethod(); console.log("Subject: My state has just changed"); console.log(activeuserList); this.notify(); }; /** * getActiveUsers */ ChatModel.prototype.getActiveUsers = function () { var _this = this; this.getActiveUsersAjax(":") .then(function (data) { // // activeUsers = data;
// sessionStorage.setItem('activeUsers', JSON.stringify(data));
// console.log(sessionStorage.getItem('activeUsers'));
console.log("Subject: received ajax active users"); _this.state = data; _this.notify(); }); }; ChatModel.prototype.getActiveUsersAjax = function (authToken2) { return __awaiter(this, void 0, void 0, function () { var headers, response, data; return __generator(this, function (_a) { switch (_a.label) { case 0: headers = new Headers(); // headers.append('Authorization', basicAuthToken);
headers.append('X-AUTH-TOKEN', authToken2); return [4 /*yield*/, fetch(this.getActiveUsersUrl, { method: 'GET', headers: headers })]; case 1: response = _a.sent(); console.log(response.clone()); if (FetchErrorHandler_1.fetchErrorHandler(response.clone())) { return [2 /*return*/, null]; } return [4 /*yield*/, response.json()]; case 2: data = _a.sent(); return [2 /*return*/, data]; } }); }); }; ChatModel.prototype.helperMethod = function () { }; return ChatModel; }()); exports.ChatModel = ChatModel;
},{"./FetchErrorHandler":6}],6:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function fetchErrorHandler(response) { // alertify.success('Current position : ' + alertify.get('notifier', 'position'));
if (!response.ok) { return response.text().catch(function (err) { // the status was not ok and there is no json body
// throw new Error(response.statusText);
// window.alert(sprintf('Some error occured. Http code is %s', response.status));
// alertify.error(sprintf('Some error occured. Http code is %s', response.status));
return true; }).then(function (json) { // the status was not ok but there is a json body
// throw new Error(json.error.message); // example error message returned by a REST API
// window.alert(sprintf('Error: %s (Http code %s)', json, response.status));
// alertify.error(sprintf('Some error occured. Http code is %s', response.status));
console.log(json); return true; }); } } exports.fetchErrorHandler = fetchErrorHandler;
},{}],7:[function(require,module,exports){ "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", { value: true }); var FetchErrorHandler_1 = require("./FetchErrorHandler"); var UserModel = /** @class */ (function () { function UserModel() { /** * @type {Observer[]} List of subscribers. In real life, the list of * subscribers can be stored more comprehensively (categorized by event * type, etc.). */ this.observers = []; // @ts-ignore: Cannot find name 'hostAddress'.
this.getActiveUsersUrl = ""; } /** * The subscription management methods. */ UserModel.prototype.attach = function (observer) { console.log('Subject: Attached an observer.'); this.observers.push(observer); }; UserModel.prototype.detach = function (observer) { var observerIndex = this.observers.indexOf(observer); this.observers.splice(observerIndex, 1); console.log('Subject: Detached an observer.'); }; /** * Trigger an update in each subscriber. */ UserModel.prototype.notify = function () { console.log('Subject: Notifying observers...'); for (var _i = 0, _a = this.observers; _i < _a.length; _i++) { var observer = _a[_i]; observer.update(this.state); } }; UserModel.prototype.someBusinessMethod = function (activeuserList) { this.state = activeuserList; this.helperMethod(); console.log("Subject: My state has just changed"); console.log(activeuserList); this.notify(); }; /** * getActiveUsers */ UserModel.prototype.getActiveUsers = function () { var _this = this; this.getActiveUsersAjax(":") .then(function (data) { // // activeUsers = data;
// sessionStorage.setItem('activeUsers', JSON.stringify(data));
// console.log(sessionStorage.getItem('activeUsers'));
console.log("Subject: received ajax active users"); _this.state = data; _this.notify(); }); }; UserModel.prototype.getActiveUsersAjax = function (authToken2) { return __awaiter(this, void 0, void 0, function () { var headers, response, data; return __generator(this, function (_a) { switch (_a.label) { case 0: headers = new Headers(); // headers.append('Authorization', basicAuthToken);
headers.append('X-AUTH-TOKEN', authToken2); return [4 /*yield*/, fetch(this.getActiveUsersUrl, { method: 'GET', headers: headers })]; case 1: response = _a.sent(); console.log(response.clone()); if (FetchErrorHandler_1.fetchErrorHandler(response.clone())) { return [2 /*return*/, null]; } return [4 /*yield*/, response.json()]; case 2: data = _a.sent(); return [2 /*return*/, data]; } }); }); }; UserModel.prototype.helperMethod = function () { }; return UserModel; }()); exports.UserModel = UserModel;
},{"./FetchErrorHandler":6}],8:[function(require,module,exports){ (function (global){ "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var loglevel_1 = __importDefault((typeof window !== "undefined" ? window['log'] : typeof global !== "undefined" ? global['log'] : null)); var LogLevelLogger = /** @class */ (function () { function LogLevelLogger() { loglevel_1.default.setLevel("DEBUG"); } LogLevelLogger.prototype.info = function (message) { loglevel_1.default.info(message); }; LogLevelLogger.prototype.warn = function (message) { loglevel_1.default.warn(message); }; LogLevelLogger.prototype.error = function (message) { loglevel_1.default.error(message); }; LogLevelLogger.prototype.debug = function (message) { loglevel_1.default.debug(message); }; return LogLevelLogger; }()); exports.LogLevelLogger = LogLevelLogger;
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],9:[function(require,module,exports){ (function (global){ "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var sjcl_1 = __importDefault((typeof window !== "undefined" ? window['sjcl'] : typeof global !== "undefined" ? global['sjcl'] : null)); var SJCLEncryptionService = /** @class */ (function () { function SJCLEncryptionService() { this.params = { mode: "gcm", ts: 128, adata: "", iter: 10000 }; } SJCLEncryptionService.prototype.encrypt = function (passphrase, plainText) { return sjcl_1.default.encrypt(passphrase, plainText, this.params); }; SJCLEncryptionService.prototype.decrypt = function (passphrase, cipher) { return sjcl_1.default.decrypt(passphrase, cipher, undefined, undefined); }; return SJCLEncryptionService; }()); exports.SJCLEncryptionService = SJCLEncryptionService;
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],10:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var JsonAPI; (function (JsonAPI) { // @ts-ignore: Cannot find name 'hostAddress'.
JsonAPI.ActiveUsersGET = "/api/chat/get/active-users/"; })(JsonAPI = exports.JsonAPI || (exports.JsonAPI = {}));
},{}],11:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var TemplateFactory = /** @class */ (function () { function TemplateFactory() { } TemplateFactory.getTemplate = function () { // @ts-ignore: Object is possibly 'null'.
var source = document.getElementById("user-contact-online-template").innerHTML; var msgContainerTemplate = Handlebars.compile(source); return msgContainerTemplate; }; return TemplateFactory; }()); exports.TemplateFactory = TemplateFactory;
},{}],12:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true });
},{}],13:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var TemplateFactory_1 = require("../template/TemplateFactory"); var ChatView = /** @class */ (function () { // private userBoxes: any[] = [];
function ChatView(model, element) { this._model = model; this._element = element; } Object.defineProperty(ChatView.prototype, "model", { /** * Getter model * @return {Model} */ get: function () { return this._model; }, enumerable: true, configurable: true }); Object.defineProperty(ChatView.prototype, "element", { /** * Getter element * @return {any} */ get: function () { return this._element; }, enumerable: true, configurable: true }); // /**
// * Setter model
// * @param {Model} value
// */
// public set model(value: Model) {
// this._model = value;
// }
// /**
// * Setter element
// * @param {any} value
// */
// public set element(value: any) {
// this._element = value;
// }
ChatView.prototype.update = function (data) { var template = TemplateFactory_1.TemplateFactory.getTemplate(); var html = ""; data.forEach(function (element) { html += template(element); }); this.element.innerHTML = html; this.addUserCallBacks(); console.log(this.element.innerHTML); }; ChatView.prototype.helper = function () { }; ChatView.prototype.addUserCallBacks = function () { var userBoxes = document.getElementsByClassName('user-box'); for (var i = 0; i < userBoxes.length; i++) { var userBox = userBoxes[i]; userBoxes[i].addEventListener('click', this.userCallBack.bind(this, userBox)); } }; ChatView.prototype.userCallBack = function (el) { var current = document.getElementsByClassName('user-box active'); var passphrase = ""; if (current.length > 0) { if (passphrase == '') { // alert('Please input passphrase')
// alertify.error('Please enter a passphrase');
// return;
} current[0].className = current[0].className.replace(" active", ""); } // Add the active class to the current/clicked button
else if (current.length == 0) { var elem_1 = document.getElementById('passphrase-initial'); passphrase = ""; if (passphrase == '') { // // alert('Please input passphrase')
// // alertify.error('Please enter a passphrase');
// return;
} // @ts-ignore: Object is possibly 'null'.
document.getElementById('no-user-selected').hidden = true; // @ts-ignore: Object is possibly 'null'.
document.getElementById('chat-card').hidden = false; // @ts-ignore: Object is possibly 'null'.
elem_1.hidden = true; } // console.log(this.getElementsByClassName('to-user-span'));
var elem = el.getElementsByClassName('to-user-span')[0]; var userName = elem.innerText; // @ts-ignore: Object is possibly 'null'.
document.getElementById('user-name-span').innerText = userName; // populateMessages(userName, passphrase);
sessionStorage.setItem('selectedUser', userName); el.className += " active"; }; return ChatView; }()); exports.ChatView = ChatView;
},{"../template/TemplateFactory":11}],14:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var TemplateFactory_1 = require("../template/TemplateFactory"); var UserView = /** @class */ (function () { // private userBoxes: any[] = [];
function UserView(model, element) { this._model = model; this._element = element; } Object.defineProperty(UserView.prototype, "model", { /** * Getter model * @return {Model} */ get: function () { return this._model; }, enumerable: true, configurable: true }); Object.defineProperty(UserView.prototype, "element", { /** * Getter element * @return {any} */ get: function () { return this._element; }, enumerable: true, configurable: true }); // /**
// * Setter model
// * @param {Model} value
// */
// public set model(value: Model) {
// this._model = value;
// }
// /**
// * Setter element
// * @param {any} value
// */
// public set element(value: any) {
// this._element = value;
// }
UserView.prototype.update = function (data) { var template = TemplateFactory_1.TemplateFactory.getTemplate(); var html = ""; data.forEach(function (element) { html += template(element); }); this.element.innerHTML = html; this.addUserCallBacks(); console.log(this.element.innerHTML); }; UserView.prototype.helper = function () { }; UserView.prototype.addUserCallBacks = function () { var userBoxes = document.getElementsByClassName('user-box'); for (var i = 0; i < userBoxes.length; i++) { var userBox = userBoxes[i]; userBoxes[i].addEventListener('click', this.userCallBack.bind(this, userBox)); } }; UserView.prototype.userCallBack = function (el) { var current = document.getElementsByClassName('user-box active'); var passphrase = ""; if (current.length > 0) { if (passphrase == '') { // alert('Please input passphrase')
// alertify.error('Please enter a passphrase');
// return;
} current[0].className = current[0].className.replace(" active", ""); } // Add the active class to the current/clicked button
else if (current.length == 0) { var elem_1 = document.getElementById('passphrase-initial'); passphrase = ""; if (passphrase == '') { // // alert('Please input passphrase')
// // alertify.error('Please enter a passphrase');
// return;
} // @ts-ignore: Object is possibly 'null'.
document.getElementById('no-user-selected').hidden = true; // @ts-ignore: Object is possibly 'null'.
document.getElementById('chat-card').hidden = false; // @ts-ignore: Object is possibly 'null'.
elem_1.hidden = true; } // console.log(this.getElementsByClassName('to-user-span'));
var elem = el.getElementsByClassName('to-user-span')[0]; var userName = elem.innerText; // @ts-ignore: Object is possibly 'null'.
document.getElementById('user-name-span').innerText = userName; // populateMessages(userName, passphrase);
sessionStorage.setItem('selectedUser', userName); el.className += " active"; }; return UserView; }()); exports.UserView = UserView;
},{"../template/TemplateFactory":11}],15:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ActiveUserViewModel = /** @class */ (function () { function ActiveUserViewModel() { } return ActiveUserViewModel; }()); exports.ActiveUserViewModel = ActiveUserViewModel;
},{}],16:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ChatMessageViewModel = /** @class */ (function () { function ChatMessageViewModel() { } return ChatMessageViewModel; }()); exports.ChatMessageViewModel = ChatMessageViewModel;
},{}]},{},[3]) //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Vzci9sb2NhbC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJzcmMvY29udHJvbGxlci9DaGF0Q29udHJvbGxlci50cyIsInNyYy9jb250cm9sbGVyL1VzZXJDb250cm9sbGVyLnRzIiwic3JjL21haW4udHMiLCJzcmMvbW9kZWwvQ2hhdE1vZGVsLnRzIiwic3JjL21vZGVsL0ZldGNoRXJyb3JIYW5kbGVyLnRzIiwic3JjL21vZGVsL1VzZXJNb2RlbC50cyIsInNyYy9zZXJ2aWNlL0xvZ0xldmVsTG9nZ2VyU2VydmljZS50cyIsInNyYy9zZXJ2aWNlL1NKQ0xFbmNyeXB0aW9uU2VydmljZS50cyIsInNyYy9zaW5nbGV0b24vSnNvbkFQSS50cyIsInNyYy90ZW1wbGF0ZS9UZW1wbGF0ZUZhY3RvcnkudHMiLCJzcmMvdmlldy9DaGF0Vmlldy50cyIsInNyYy92aWV3L1VzZXJWaWV3LnRzIiwic3JjL3ZpZXdtb2RlbC9BY3RpdmVVc2VyVmlld01vZGVsLnRzIiwic3JjL3ZpZXdtb2RlbC9DaGF0TWVzc2FnZVZpZXdNb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0FDQ0Esa0NBQStCO0FBQy9CLDhCQUEyQjtBQUMzQixnQ0FBNkI7QUFDN0IsNEJBQXlCO0FBR3pCLDBFQUF5RTtBQUV6RTtJQUtJLHdCQUFZLEtBQVksRUFBRSxJQUFVO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFNRCxzQkFBVyxpQ0FBSztRQUpoQjs7O1dBR0c7YUFDSDtZQUNJLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN2QixDQUFDO1FBVUQ7OztXQUdHO2FBQ0gsVUFBaUIsS0FBWTtZQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUss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
|