Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var nw = require('nw.gui');
- var settingWindow = nw.Window.get();
- let screenSetting = require('../scripts/screen_settings');
- let shareSettingScreen = require('../scripts/shareSettingScreen');
- // let enableHotkey = require('../scripts/utils/EnableHotKeyUtils');
- var LocalStorageUtils = require('../scripts/utils/LocalStorageUtils');
- let validateCredentials = require('../scripts/ValidateCredentials');
- let screenSettingObj = new screenSetting();
- let shareSettingScreenObj = new shareSettingScreen();
- let markAreaPrevText = "Ctrl+Shift+P";
- let fullAreaPrevText = "Ctrl+Shift+Q";
- let webAreaPrevText = "Ctrl+Shift+R";
- let window_actions = require('../scripts/utils/windowActions');
- let settings_win = new window_actions(settingWindow);
- var isModifierPresent = false;
- var settingScreen = {
- settings: GeneralSettings.read(),
- imageCaptureKey: "",
- key: [],
- keyBool: {},
- counter: 0,
- result: "",
- fullScreenHotKeyOptions: {},
- markAreaHotKeyOptions: {},
- webScreenHotKeyOptions: {},
- shareSettingScreenApiItem: "",
- loginCredentials: [],
- init: function () {
- global.globalsettingWindowInst = settingWindow;
- // enableHotkey.setHotKeys(GeneralSettings, HotKeysSettings);
- screenSettingObj.is_window_resizable(settingWindow);
- $('#showWelcomeScreen')[0].checked = this.settings.show_welcome_screen;
- $('#tool_bar_fade_id')[0].checked = this.settings.tool_bar_fade;
- this.writeHotkeys();
- this.writeToolBarFadeTime();
- var that = this;
- /* TODO : we can palce belwo code in common file, its is ussing in settings screen also *******/
- $('ul.tabs li').click(function () {
- var tab_id = $(this).attr('data-tab');
- $('ul.tabs li').removeClass('active');
- $('.tab-content').removeClass('current');
- $(this).addClass('active');
- $("#" + tab_id).addClass('current');
- if (tab_id === 'tab2') {
- $('#jiraUrlhr').hide();
- $("#jiraUrlPara").hide();
- $("#JiraUrlInput").hide();
- $('#errorMessageId').hide();
- that.checkCredentialAvailability();
- }
- });
- $('#apiList li').click(function () {
- $('#errorMessageId').hide();
- settingScreen.shareSettingScreenApiItem = $(this).attr('id');
- settingScreen.checkCredentialAvailability(this);
- that.resetScreenForJira();
- });
- settingWindow.show();
- },
- resetScreenForJira: function() {
- if(settingScreen.shareSettingScreenApiItem != "jira") {
- $('#jiraUrlhr').hide();
- $("#jiraUrlPara").hide();
- $("#JiraUrlInput").hide();
- }else {
- $('#jiraUrlhr').show();
- $("#jiraUrlPara").show();
- $("#JiraUrlInput").show();
- }
- },
- resetShareSettingsForm: function (selected) {
- console.log(selected);
- $('ul.lists li').removeClass('selected');
- $(selected).addClass('selected');
- },
- writeHotkeys: function () {
- document.getElementById('img_mark_area_id').innerHTML = GeneralSettings.read().hk[0];
- document.getElementById('img_full_area_id').innerHTML = GeneralSettings.read().hk[1];
- document.getElementById('img_web_area_id').innerHTML = GeneralSettings.read().hk[2];
- },
- writeToolBarFadeTime: function () {
- $('#tool_bar_fade_text_id').val(GeneralSettings.read().tool_bar_fade_time);
- },
- capture: function (e) {
- var e = e || event;
- var flag = 0, i;
- // ctrl alt shift right-cmd left-cmd
- isModifierPresent = isModifierPresent || (e.keyCode == 16 || e.keyCode == 17 || e.keyCode == 18 || e.keyCode == 91 || e.keyCode == 93);
- this.keyBool[`${e.keyCode}`] = (e.type == 'keydown');
- // error
- if (e.type == 'keydown' && e.keyCode != 229) {
- if (this.key[this.counter - 1] != e.keyCode) {
- this.key[this.counter] = e.keyCode;
- this.counter++;
- }
- }
- for (i = 0; i < this.key.length; i++) {
- if (this.keyBool[this.key[i]]) {
- flag = 1;
- break;
- }
- }
- if (flag == 0) {
- this.counter = 0;
- if(isModifierPresent)
- this.log(isModifierPresent);
- }
- },
- log: function (checkModifier) {
- var y = 0, l = this.key.length, i, t;
- var str = null;
- var target = $(event.target);
- if (checkModifier) {
- checkModifier = false;
- for (i = 0; i < l; i++) {
- if (str == null) {
- str = this.keyCodes[this.key[i]];
- } else {
- str += '+';
- str += this.keyCodes[this.key[i]];
- }
- //console.log(str);
- }
- } else {
- if (target.is("#img_mark_area_id")) {
- str = markAreaPrevText;
- }
- else if (target.is("#img_full_area_id")) {
- str = fullAreaPrevText;
- }
- else if (target.is("#img_web_area_id")) {
- str = webAreaPrevText;
- }
- }
- this.result = str;
- // alert("alert str -> "+str);
- console.log(str);
- if (target.is("#img_mark_area_id")) {
- settingScreen.setMarkAreaImageHotKey(str);
- }
- else if (target.is("#img_full_area_id")) {
- settingScreen.setFullScreenImageHotKey(str);
- }
- else if (target.is("#img_web_area_id")) {
- settingScreen.setWebScreenImageHotKey(str);
- }
- this.key = [];
- },
- keyCodes: {
- 8: "Delete",
- 9: "Tab",
- 13: "Enter",
- 16: "Shift",
- 17: "Ctrl",
- 18: "Alt",
- 33: "PageUp",
- 34: "PageDown",
- 35: "End",
- 36: "Home ",
- 37: "Left",
- 38: "Up",
- 39: "Right",
- 40: "Down",
- 45: "Insert ",
- 46: "Delete",
- 48: "0",
- 49: "1",
- 50: "2",
- 51: "3",
- 52: "4",
- 53: "5",
- 54: "6",
- 55: "7",
- 56: "8",
- 57: "9",
- 65: "A",
- 66: "B",
- 67: "C",
- 68: "D",
- 69: "E",
- 70: "F",
- 71: "G",
- 72: "H",
- 73: "I",
- 74: "J",
- 75: "K",
- 76: "L",
- 77: "M",
- 78: "N",
- 79: "O",
- 80: "P",
- 81: "Q",
- 82: "R",
- 83: "S",
- 84: "T",
- 85: "U",
- 86: "V",
- 87: "W",
- 88: "X",
- 89: "Y",
- 90: "Z",
- // 91: "Left ⌘",
- 91: "Command",
- 92: "right window key ",
- // 93: "Right ⌘",
- 93: "Command",
- 112: "F1 ",
- 113: "F2 ",
- 114: "F3 ",
- 115: "F4 ",
- 116: "F5 ",
- 117: "F6 ",
- 118: "F7 ",
- 119: "F8 ",
- 120: "F9 ",
- 121: "F10",
- 122: "F11",
- 123: "F12",
- 124: "F13",
- 125: "F14",
- 126: "F15",
- 127: "F16",
- 128: "F17",
- 129: "F18",
- 130: "F19",
- 131: "F20",
- 132: "F21",
- 133: "F22",
- 134: "F23",
- 135: "F24",
- 176: "Next",
- 177: "Previous",
- 178: "Stop",
- 179: "Play",
- 187: "Equal",
- 188: "Comma",
- 189: "Dash ",
- 190: "Period ",
- 191: "Slash",
- 219: "BracketLeft",
- 220: "Backslash ",
- 221: "BracketRight",
- 223: "Backquote",
- },
- unregisterPrevHotKey: function(prevHotKey) {
- console.log("prevHotKey -> "+prevHotKey);
- if(prevHotKey!=undefined || prevHotKey!=null) {
- HotKeyOptions = {
- key: prevHotKey,
- active: () => {
- },
- failed: (err) => {
- // console.log("ERROR in SC is : " + err)
- }
- }
- try{
- // var HotKeyOptionsshortcut = new nw.Shortcut(HotKeyOptions);
- // let unRegisterShortcut;
- // if(prevHotKey == markAreaPrevText)
- // unRegisterShortcut = global._BUGSHOT_MARKAREA_HOTKEY_OPTIONS;
- //unRegisterShortcut = LocalStorageUtils.get('markAreaHotKeyOptionsshortcut');
- // let HotKeyOptionsshortcut = new nw.Shortcut(unRegisterShortcut);
- // console.log(JSON.stringify(HotKeyOptionsshortcut));
- nw.App.unregisterGlobalHotKey(HotKeyOptionsshortcut);
- console.log("successful -> ");
- }catch(e) {
- console.log("unsuccessful -> " +e);
- }
- }
- },
- setMarkAreaImageHotKey: function (str) {
- this.markAreaHotKeyOptions = {
- key: str,
- active: () => {
- // settingWindow.reload();
- },
- failed: (err) => {
- console.log("ERROR in SC is : " + err)
- }
- }
- try {
- var markAreaHotKeyOptionsshortcut = new nw.Shortcut(this.markAreaHotKeyOptions);
- $("#img_mark_area_id").css("color", "#ff6500");
- document.getElementById("img_mark_area_id").innerHTML = this.markAreaHotKeyOptions.key;
- // if(this.isTextOutsideBox("img_mark_area_id")) {
- // console.log("sbcjksb");
- // $("#img_mark_area_id").css("font-size", "10px");
- // document.getElementById("img_mark_area_id").innerHTML = this.markAreaHotKeyOptions.key;
- // }
- // else{
- // $("#img_mark_area_id").css("font-size", "12px");
- // }
- } catch (e) {
- $("#img_mark_area_id").css("color", "red");
- document.getElementById("img_mark_area_id").innerHTML = "invalid key";
- HotKeysSettings.set(0, markAreaPrevText);
- }
- },
- setFullScreenImageHotKey: function (str) {
- this.fullScreenHotKeyOptions = {
- key: str,
- active: () => {
- //
- },
- failed: (err) => {
- console.log(err)
- }
- }
- try {
- var fullScreenHotKeyOptionsshortcut = new nw.Shortcut(this.fullScreenHotKeyOptions);
- // nw.App.registerGlobalHotKey(fullScreenHotKeyOptionsshortcut);
- $("#img_full_area_id").css("color", "#ff6500");
- document.getElementById("img_full_area_id").innerHTML = this.fullScreenHotKeyOptions.key;
- } catch (e) {
- $("#img_full_area_id").css("color", "red");
- document.getElementById("img_full_area_id").innerHTML = "invalid key";
- HotKeysSettings.set(1, fullAreaPrevText);
- }
- },
- setWebScreenImageHotKey: function (str) {
- this.webScreenHotKeyOptions = {
- key: str,
- active: () => {
- //
- },
- failed: (err) => {
- console.log(err)
- }
- }
- try {
- var webScreenHotKeyOptionsshortcut = new nw.Shortcut(this.webScreenHotKeyOptions);
- // nw.App.registerGlobalHotKey(webScreenHotKeyOptionsshortcut);
- $("#img_web_area_id").css("color", "#ff6500");
- document.getElementById("img_web_area_id").innerHTML = this.webScreenHotKeyOptions.key;
- } catch (e) {
- $("#img_web_area_id").css("color", "red");
- document.getElementById("img_web_area_id").innerHTML = "invalid key";
- HotKeysSettings.set(2, webAreaPrevText);
- }
- },
- cancelSettings: function () {
- // nw.Window.open('../views/docker.html', LocalStorageUtils.get('dockerConfig'));
- settings_win.close();
- },
- saveSettings: function () {
- this.fadeToolBar();
- this.showWelcomeScreen();
- if (!isNaN($('#tool_bar_fade_text_id').val()) && $('#tool_bar_fade_text_id').val() > 0)
- GeneralSettings.update({ tool_bar_fade_time: $('#tool_bar_fade_text_id').val() });
- settingScreen.unregisterPrevHotKey(markAreaPrevText);
- settingScreen.unregisterPrevHotKey(fullAreaPrevText);
- settingScreen.unregisterPrevHotKey(webAreaPrevText);
- this.saveHotKeys();
- if (global.globalDockerInst != undefined || global.globalDockerInst != null){
- global.globalDockerInst.close();
- }
- // let dockerConfig = LocalStorageUtils.get('dockerConfig');
- // nw.Window.open('../views/docker.html', dockerConfig);
- settings_win.close();
- },
- saveHotKeys: function () {
- HotKeysSettings.set(0, $("#img_mark_area_id").text());
- HotKeysSettings.set(1, $('#img_full_area_id').text());
- HotKeysSettings.set(2, $('#img_web_area_id').text());
- },
- showWelcomeScreen: function () {
- if ($('#showWelcomeScreen')[0].checked)
- GeneralSettings.update({ show_welcome_screen: true });
- else
- GeneralSettings.update({ show_welcome_screen: false });
- },
- fadeToolBar: function () {
- if ($('#tool_bar_fade_id')[0].checked)
- GeneralSettings.update({ tool_bar_fade: true });
- else
- GeneralSettings.update({ tool_bar_fade: false });
- },
- saveUserLoginDetails: function() {
- var Url="";
- var username = $('#usernameInput').val();
- var password = $('#passwordInput').val();
- if(username!='' && password!=''){
- if(settingScreen.shareSettingScreenApiItem == 'reqtest' || settingScreen.shareSettingScreenApiItem == 'jira') {
- Url = this.getUrl();
- if(Url != "") {
- if(validateCredentials.save(Url,username,password,settingScreen.shareSettingScreenApiItem)){
- $('#errorMessageId').hide();
- alert("Credential Saved");
- }
- else {
- this.showErrorAndResetScreenIfNotSaved();
- }
- }else{
- this.showErrorAndResetScreenIfNotSaved();
- }
- }else{
- if(validateCredentials.save(Url,username,password,settingScreen.shareSettingScreenApiItem)){
- $('#errorMessageId').hide();
- alert("Credential Saved");
- }
- else
- this.showErrorAndResetScreenIfNotSaved();
- }
- }else {
- this.showErrorAndResetScreenIfNotSaved();
- }
- },
- getUrl: function() {
- var Url;
- if(settingScreen.shareSettingScreenApiItem == 'reqtest')
- Url = "http://reqtest.com/";
- else if(settingScreen.shareSettingScreenApiItem == 'jira')
- Url = $('#JiraUrlInput').val();
- return Url;
- },
- showErrorAndResetScreenIfNotSaved: function() {
- $('#errorMessageId').show();
- if(settingScreen.shareSettingScreenApiItem == 'reqtest'){
- $('#errorMessageId').text('');
- $('#errorMessageId').text("ReqTest API error. Try again or contact your testing tool administrator. ");
- }
- else if(settingScreen.shareSettingScreenApiItem == 'jira'){
- $('#errorMessageId').text('');
- $('#errorMessageId').text("Jira API error. Try again or contact your testing tool administrator. ");
- }
- this.resetScreenForJira();
- // let id = '#'+shareSettingScreenApiItem;
- // this.resetloginScreenForm(id);
- },
- fillRequiredFields: function(selected) {
- console.log(selected);
- // $("#usernameInput").prop("readonly", false);
- $("#usernameInput").val(this.loginCredentials[1]);
- // $('#passwordPara').show();
- $('#passwordInput').val(this.loginCredentials[2]);
- // $('hr').show();
- if(selected == "#jira" || settingScreen.shareSettingScreenApiItem == "jira") {
- $("#jiraUrlPara").show();
- $("#JiraUrlInput").show().val(this.loginCredentials[3]).focus();
- $("#jiraUrlhr").show();
- } else {
- $("#usernameInput").focus();
- $("#jiraUrlPara").hide();
- $("#JiraUrlInput").hide();
- $("#jiraUrlhr").hide();
- }
- },
- checkCredentialAvailability: function(selected) {
- if(selected == undefined) {
- this.loginCredentials = shareSettingScreenObj.read();
- if(this.loginCredentials[0] == undefined)
- selected = '#reqtest';
- else
- selected = '#'+this.loginCredentials[0];
- settingScreen.shareSettingScreenApiItem = this.loginCredentials[0];
- }
- else
- this.loginCredentials = shareSettingScreenObj.read(settingScreen.shareSettingScreenApiItem);
- if(settingScreen.shareSettingScreenApiItem == "reqtest") {
- $("#usernamePara").text("Email");
- }
- else{
- $("#usernamePara").text("Username");
- }
- this.resetShareSettingsForm(selected);
- this.fillRequiredFields(selected);
- // if(this.loginCredentials[1]!="") {
- // if(validateCredentials.checkCredentialValidity()) {
- // $('#errorMessageId').hide();
- // }else {
- // $('#errorMessageId').show();
- // }
- // }
- // else{
- // $('#errorMessageId').hide();
- // }
- },
- }
- $(document).ready(() => {
- document.getElementById('tool_bar_fade_text_id').onkeydown = function(e) {
- if(!((e.keyCode > 95 && e.keyCode < 106)
- || (e.keyCode > 47 && e.keyCode < 58)
- || e.keyCode == 8)) {
- return false;
- }
- }
- $('#img_mark_area_id, #img_full_area_id, #img_web_area_id').bind('focus', function (event) {
- var target = $(event.target);
- if (target.is("#img_mark_area_id")) {
- markAreaPrevText = $('#img_mark_area_id').text();
- }
- else if (target.is("#img_full_area_id")) {
- fullAreaPrevText = $('#img_full_area_id').text();
- }
- else if (target.is("#img_web_area_id")) {
- webAreaPrevText = $('#img_web_area_id').text();
- }
- });
- settingWindow.on('close', function() {
- // this.hide();
- if(!LocalStorageUtils.get('shouldHotKeyBeEnabled') || LocalStorageUtils.get('shouldHotKeyBeEnabled') == undefined) {
- LocalStorageUtils.set('shouldHotKeyBeEnabled', false);
- let dockerConfig = LocalStorageUtils.get('dockerConfig');
- nw.Window.open('../views/docker.html', dockerConfig);
- LocalStorageUtils.removeItem('meta_id');
- }
- this.close(true); // true - to bypass the close event
- });
- $('#minimize_screen').click(() => {
- settings_win.minimize();
- })
- $('#maximize_screen').click(() => {
- settings_win.maxRestore();
- })
- $('#img_mark_area_id, #img_full_area_id, #img_web_area_id').bind('blur', function (event) {
- $(this).css("color", "#ff6500");
- var target = $(event.target);
- if (target.is("#img_mark_area_id")) {
- if ($('#img_mark_area_id').html() === "invalid key")
- $('#img_mark_area_id').html(markAreaPrevText);
- }
- else if (target.is("#img_full_area_id")) {
- if ($('#img_full_area_id').html() === "invalid key")
- $('#img_full_area_id').html(fullAreaPrevText);
- }
- else if (target.is("#img_web_area_id")) {
- if ($('#img_web_area_id').html() === "invalid key")
- $('#img_web_area_id').html(webAreaPrevText);
- }
- });
- $('#img_mark_area_id, #img_full_area_id, #img_web_area_id').mouseout(function (event) {
- $(this).css("color", "#ff6500");
- var target = $(event.target);
- if (target.is("#img_mark_area_id")) {
- if ($('#img_mark_area_id').html() === "invalid key")
- $('#img_mark_area_id').html(markAreaPrevText);
- }
- else if (target.is("#img_full_area_id")) {
- if ($('#img_full_area_id').html() === "invalid key")
- $('#img_full_area_id').html(fullAreaPrevText);
- }
- else if (target.is("#img_web_area_id")) {
- if ($('#img_web_area_id').html() === "invalid key")
- $('#img_web_area_id').html(webAreaPrevText);
- }
- });
- $('.hot_key_text').on('keydown keyup', function (event) {
- settingScreen.capture(event);
- })
- settingScreen.init();
- });
Add Comment
Please, Sign In to add comment