Advertisement
Guest User

Untitled

a guest
Jun 15th, 2019
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.45 KB | None | 0 0
  1. <div id="create">+</div>
  2. <div class="container" id="container">
  3. <div id="oneNote">
  4. <div class="sticky-header">
  5. <span id="lock-icon"><i class="fas fa-lock-open"></i></span>
  6. <span id='title'>New Note</span>
  7. <span><i class="fas fa-times"></i></span>
  8. <span id="toggle-settings" ><i class="fas fa-chevron-down"></i></span>
  9. </div>
  10. <div class="sticky-body">
  11. <textarea name="txtNote" id="txtNote" cols="30" rows="10"></textarea>
  12. </div>
  13. <div class="settings" id="settings" >
  14. <p id="delete-note"><i class="fas fa-trash-alt"></i>Delete Note</p>
  15. <div class="color">
  16. <p><i class="fas fa-paint-roller"></i>Color<i class="fas fa-chevron-right"></i></p>
  17. <div class="color-choice-container">
  18. <a href="#"></a>
  19. <a href="#"></a>
  20. <a href="#"></a>
  21. <a href="#"></a>
  22. <a href="#"></a>
  23. <a href="#"></a>
  24. <a href="#"></a>
  25. <a href="#"></a>
  26. <a href="#"></a>
  27. <a href="#" class="active"></a>
  28. <a href="#"></a>
  29. <a href="#"></a>
  30. <a href="#"></a>
  31. <a href="#"></a>
  32. <a href="#"></a>
  33. <a href="#"></a>
  34. <a href="#"></a>
  35. <a href="#"></a>
  36. </div>
  37. </div>
  38. <div class="opacity">
  39. <p>opacity<i class="fas fa-chevron-right"></i></p>
  40. <div class="opacity-content">
  41. <p data-opacity='1'>100%</p>
  42. <p data-opacity='0.9'>90%</p>
  43. <p data-opacity='0.8'>80%</p>
  44. <p data-opacity='0.7'>70%</p>
  45. <p data-opacity='0.6'>60%</p>
  46. <p data-opacity='0.5'>50%</p>
  47. <p data-opacity='0.4'>40%</p>
  48. <p data-opacity='0.3'>30%</p>
  49. <p data-opacity='0.2'>20%</p>
  50. <p data-opacity='0.1'>10%</p>
  51. </div>
  52. </div>
  53. <p id="edit-title">Edit title</p>
  54. <p id="lock-note-button"><i class="fas fa-lock"></i>Lock note</p>
  55. </div>
  56. </div>
  57. </div>
  58.  
  59. chat.client.addNoteToPage = function (title, noteText) {
  60. // Add the message to the page.
  61. duplicate();
  62. // var newNote = '<div class="sticky-header"><span id="lock-icon"><i class="fas fa-lock-open"></i></span ><span id="title">New Note</span><span><i class="fas fa-times"></i></span><span id="toggle-settings"><i class="fas fa-chevron-down"></i></span></div ><div class="sticky-body"><textarea name="txtNote" id="txtNote" cols="30" rows="10"></textarea></div>';
  63. // $('#oneNote').append(newNote);
  64. };
  65.  
  66. function duplicate() {
  67. var original = document.getElementById('oneNote');
  68. var clone = original.cloneNode(true); // "deep" clone
  69. clone.id = "oneNote" + ++i; // there can only be one element with an ID
  70. //clone.onclick = duplicate; // event handlers are not cloned
  71. $('#create').before(clone);
  72. }
  73.  
  74. var menu_bar = document.getElementById("toggle-settings");
  75. var settings = document.getElementById("settings");
  76. var sticky_header = document.querySelector(".sticky-header");
  77. var edit_title = document.getElementById("edit-title");
  78. var edit_title_box = document.querySelector(".edit-title-box");
  79. var overlay = document.querySelector(".overlay");
  80. var title = document.getElementById("title");
  81. var new_title = document.getElementById("new-title");
  82. var ok_button = document.getElementById("ok");
  83. var cancel_button = document.getElementById("cancel");
  84. var lock_note_button = document.getElementById("lock-note-button");
  85. var lock_note_icon = document.getElementById("lock-icon");
  86. var textarea = document.querySelector("textarea");
  87. var delete_note = document.getElementById("delete-note");
  88. var delete_box = document.querySelector(".delete-box");
  89. var yes_button = document.getElementById("yes");
  90. var no_button = document.getElementById("no");
  91. var container = document.getElementById("container");
  92. var opacity_content = document.querySelectorAll(".opacity-content>p");
  93. var color_container_colors = document.querySelectorAll(
  94. ".color-choice-container a"
  95. );
  96. var color_container = document.querySelector(".color-choice-container");
  97. var active = document.querySelector(".active");
  98. var notice = document.querySelector(".notice");
  99. var opacityArray = [1, 1];
  100. var colorObject = {
  101. old: {
  102. header: "rgb(206, 209, 38)",
  103. body: "rgb(236, 239, 68)"
  104. },
  105. new: {
  106. header: "rgb(206, 209, 38)",
  107. body: "rgb(236, 239, 68)"
  108. }
  109. };
  110.  
  111. menu_bar.addEventListener("click", function () {
  112. var settings_display_prop = window.getComputedStyle(settings).display;
  113. if (settings_display_prop == "none") {
  114. settings.style.display = "block";
  115. } else {
  116. settings.style.display = "none";
  117. }
  118. });
  119.  
  120. edit_title.addEventListener("click", function () {
  121. overlay.style.transform = "scale(1)";
  122. edit_title_box.classList.add("show");
  123. settings.style.display = "none";
  124. });
  125.  
  126. cancel_button.addEventListener("click", function () {
  127. overlay.style.transform = "scale(0)";
  128. edit_title_box.classList.remove("show");
  129. });
  130.  
  131. ok_button.addEventListener("click", function () {
  132. overlay.style.transform = "scale(0)";
  133. if (new_title.value.length > 0) {
  134. title.innerHTML = new_title.value;
  135. }
  136. edit_title_box.classList.remove("show");
  137. });
  138.  
  139. lock_note_button.addEventListener("click", function () {
  140. var lock_icon = lock_note_icon.firstElementChild;
  141. if (lock_icon.classList.contains("fa-lock-open")) {
  142. lock_icon.classList.remove("fa-lock-open");
  143. lock_icon.classList.add("fa-lock");
  144. textarea.disabled = true;
  145. this.innerHTML = '<i class="fas fa-lock"></i> Unlock note';
  146. } else {
  147. lock_icon.classList.remove("fa-lock");
  148. lock_icon.classList.add("fa-lock-open");
  149. textarea.disabled = false;
  150. this.innerHTML = '<i class="fas fa-lock"></i> Lock note';
  151. }
  152. settings.style.display = "none";
  153. });
  154.  
  155. textarea.addEventListener("click", function () {
  156. settings.style.display = "none";
  157. });
  158.  
  159. delete_note.addEventListener("click", function () {
  160. overlay.style.transform = "scale(1)";
  161. delete_box.classList.add("show");
  162. settings.style.display = "none";
  163. });
  164.  
  165. yes_button.addEventListener("click", function () {
  166. title.innerHTML = "New Note";
  167. textarea.value = "";
  168. delete_box.classList.remove("show");
  169. overlay.style.transform = "scale(0)";
  170. });
  171.  
  172. no_button.addEventListener("click", function () {
  173. delete_box.classList.remove("show");
  174. overlay.style.transform = "scale(0)";
  175. });
  176.  
  177. var isdown;
  178. var containerOffset = [];
  179. container.addEventListener(
  180. "mousedown",
  181. function (e) {
  182. isdown = true;
  183. containerOffset = [e.pageX - this.offsetLeft, e.pageY - this.offsetTop];
  184. this.style.opacity = opacityArray[1];
  185. },
  186. true
  187. );
  188.  
  189. document.addEventListener(
  190. "mouseup",
  191. function () {
  192. isdown = false;
  193. },
  194. true
  195. );
  196.  
  197. document.addEventListener(
  198. "mousemove",
  199. function (e) {
  200. e.preventDefault();
  201. if (isdown == true) {
  202. container.style.top = e.clientY - containerOffset[1] + "px";
  203. container.style.left = e.clientX - containerOffset[0] + "px";
  204. }
  205. },
  206. true
  207. );
  208.  
  209. opacity_content.forEach(c => {
  210. c.addEventListener("click", function () {
  211. opacityArray[0] = this.getAttribute("data-opacity");
  212. container.style.opacity = opacityArray[0];
  213. settings.style.display = "none";
  214. });
  215. });
  216.  
  217. document.addEventListener("click", function (e) {
  218. if (!container.contains(e.target)) {
  219. settings.style.display = "none";
  220. container.style.opacity = opacityArray[0];
  221. }
  222. });
  223.  
  224. color_container_colors.forEach(c => {
  225. c.addEventListener("mouseover", function () {
  226. var color = window.getComputedStyle(c).backgroundColor;
  227. var textareaColor = lighterShade(color);
  228. colorObject.new.header = color;
  229. colorObject.new.body = textareaColor;
  230. sticky_header.style.backgroundColor = color;
  231. textarea.style.backgroundColor = textareaColor;
  232. });
  233. c.addEventListener("mouseout", function () {
  234. sticky_header.style.backgroundColor = colorObject.old.header;
  235. textarea.style.backgroundColor = colorObject.old.body;
  236. });
  237. c.addEventListener("click", function () {
  238. colorObject.old.header = colorObject.new.header;
  239. colorObject.old.body = colorObject.new.body;
  240. settings.style.display = "none";
  241. var currActive = document.querySelector(".active");
  242. currActive.removeChild(currActive.childNodes[0]);
  243. currActive.classList.remove("active");
  244. c.classList.add("active");
  245. c.innerHTML = '<i class="fas fa-check"></i>';
  246. });
  247. });
  248.  
  249. function lighterShade(v) {
  250. var colorValue = v
  251. .split("")
  252. .filter(c => !isNaN(c))
  253. .join("")
  254. .split(" ");
  255. colorValue = colorValue.map(c => {
  256. var newNumber = parseInt(c) + 30;
  257. if (newNumber <= 255) return newNumber;
  258. else return 255;
  259. });
  260. return `rgb(${colorValue[0]},${colorValue[1]},${colorValue[2]})`;
  261. }
  262. active.innerHTML = '<i class="fas fa-check"></i>';
  263.  
  264. setTimeout(function () {
  265. notice.style.display = 'none';
  266. }, 10000)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement