1
- document . addEventListener ( 'click' , ( Event ) =>
2
- {
1
+ document . addEventListener ( 'click' , ( Event ) => {
3
2
4
- document . querySelector ( '.Search' ) . style . backgroundColor = "white" ;
5
- document . querySelector ( '.Search' ) . classList . add ( 'Search-Shadow' ) ;
3
+ document . querySelector ( '.Search' ) . style . backgroundColor = "white" ;
4
+ document . querySelector ( '.Search' ) . classList . add ( 'Search-Shadow' ) ;
6
5
7
- const Box = document . getElementById ( 'Search-Text' ) ;
8
-
9
- if ( ! Box . contains ( Event . target ) ) {
6
+ const Box = document . getElementById ( 'Search-Text' ) ;
10
7
11
- document . querySelector ( '.Search' ) . classList . remove ( 'Search-Shadow' ) ;
12
- document . querySelector ( '.Search' ) . style . backgroundColor = "#F1F3F4" ;
13
- }
8
+ if ( ! Box . contains ( Event . target ) ) {
9
+
10
+ document . querySelector ( '.Search' ) . classList . remove ( 'Search-Shadow' ) ;
11
+ document . querySelector ( '.Search' ) . style . backgroundColor = "#F1F3F4" ;
12
+ }
14
13
} ) ;
15
14
15
+ function LocalStore ( ) {
16
+ let Notes = [ ] ;
17
+ let All = document . querySelectorAll ( 'textarea' ) ;
18
+ All . forEach ( ( element ) => {
19
+ if ( element . value )
20
+ return Notes . push ( element . value ) ;
21
+ } ) ;
22
+ localStorage . setItem ( 'Notes' , JSON . stringify ( Notes ) ) ;
23
+ }
16
24
17
- document . querySelector ( '.Call' ) . addEventListener ( 'click' , ( ) =>
18
- {
25
+ document . querySelector ( '.Call' ) . addEventListener ( 'click' , AddingNote = ( Para = ' ' ) => {
19
26
20
- let NewNote = document . createElement ( 'div' ) ;
27
+ let NewNote = document . createElement ( 'div' ) ;
21
28
NewNote . classList . add ( 'Note-Box' ) ;
22
29
23
- let HTMLData =
24
- `<div class="Operations">
25
- <div class="Images">
26
- <img class="Edit" src="/Icons/Edit.png" alt="Edit Here">
27
- <img class="Del" src="/Icons/Delete.png" alt="Delete Here">
30
+
31
+ const HTMLData =
32
+ `<div class="Operations">
33
+ <div class="Images">
34
+ <img class="Save" src="/Icons/Save.png" alt="Save Here">
35
+ <img class="Del" src="/Icons/Delete.png" alt="Delete Here">
36
+ </div>
28
37
</div>
29
- </div>
30
- <p class="Note-Text">
31
- </p>
38
+ <p class="Note-Text Note-Display">
39
+ </p>
32
40
<textarea name="Write" id="Area" class="Note-Text" cols="100%"></textarea>`
33
41
34
- NewNote . insertAdjacentHTML ( 'afterbegin' , HTMLData ) ;
35
- document . querySelector ( '.All-Notes' ) . appendChild ( NewNote ) ;
42
+ NewNote . insertAdjacentHTML ( 'afterbegin' , HTMLData ) ;
43
+ document . querySelector ( '.All-Notes' ) . appendChild ( NewNote ) ;
44
+
45
+
46
+ NewNote . querySelector ( '.Del' ) . addEventListener ( 'click' , ( ) => {
47
+ let Ans = confirm ( 'Are You Sure to Delete this Note ? ' ) ;
48
+ if ( Ans == true ) {
49
+ NewNote . remove ( ) ;
50
+ }
51
+ LocalStore ( ) ;
52
+ } ) ;
53
+
54
+
55
+ NewNote . querySelector ( '.Save' ) . addEventListener ( 'click' , ( ) => {
56
+
57
+ if ( NewNote . querySelector ( 'textarea' ) . value == '' ) {
58
+ NewNote . remove ( ) ;
59
+ LocalStore ( ) ;
60
+ }
61
+ else {
62
+ NewNote . querySelector ( '.Note-Display' ) . innerHTML = NewNote . querySelector ( '#Area' ) . value ;
63
+ NewNote . querySelector ( '.Note-Display' ) . style . display = 'block' ;
64
+ NewNote . querySelector ( '#Area' ) . style . setProperty ( 'display' , 'none' , 'important' ) ;
65
+ }
66
+ LocalStore ( ) ;
67
+ } ) ;
68
+ if ( Para != '[object PointerEvent]' ) {
69
+ NewNote . querySelector ( '#Area' ) . innerHTML = Para ;
70
+ NewNote . querySelector ( '.Note-Display' ) . style . display = "none" ;
71
+ NewNote . querySelector ( '#Area' ) . style . display = "block" ;
72
+ LocalStore ( ) ;
73
+ }
74
+ else {
75
+ NewNote . querySelector ( '#Area' ) . style . display = "block" ;
76
+ NewNote . querySelector ( '.Note-Display' ) . style . display = "none" ;
77
+ }
78
+ } ) ;
36
79
37
- NewNote . querySelector ( '.Del' ) . addEventListener ( 'click' , ( ) =>
80
+ let GetNotes = JSON . parse ( localStorage . getItem ( 'Notes' ) ) ;
81
+ if ( GetNotes ) {
82
+ GetNotes . forEach ( Element => {
83
+ AddingNote ( Element ) ;
84
+ } ) ;
85
+ }
86
+
87
+ // ===================================
88
+
89
+ document . querySelector ( '.Search-Click' ) . addEventListener ( 'click' , ( ) =>
90
+ {
91
+
92
+ let Key = document . querySelector ( '#Search-Text' ) . value ;
93
+ let GetNotes = JSON . parse ( localStorage . getItem ( 'Notes' ) ) ;
94
+ if ( GetNotes ) {
95
+ GetNotes . forEach ( Element => {
96
+ if ( Element . search ( Key ) != - 1 )
38
97
{
39
- let Ans = confirm ( 'Are You Sure to Delete this Note ? ' ) ;
40
- if ( Ans == true )
41
- {
42
- NewNote . remove ( ) ;
98
+ let All = document . querySelectorAll ( 'textarea' ) ;
99
+ All . forEach ( ( element ) => {
100
+ if ( element . value == Element ) {
101
+ let Getter = document . querySelector ( 'textarea' ) . parentNode ;
102
+ document . querySelector ( '.All-Notes' ) . appendChild ( Getter ) ;
43
103
}
44
- } )
104
+ } ) ;
105
+ }
106
+ else
107
+ {
108
+ let All = document . querySelectorAll ( 'textarea' ) ;
109
+ All . forEach ( ( element ) => {
110
+ if ( element . value == Element ) {
111
+ let Getter = document . querySelector ( 'textarea' ) . parentNode ;
112
+ document . querySelector ( '.All-Notes' ) . removeChild ( Getter ) ;
113
+ }
114
+ } ) ;
115
+ }
116
+ } ) ;
117
+ }
45
118
} ) ;
0 commit comments