1
1
const new_bookmark_btn = document . getElementById ( "new_bkm" ) ;
2
- const new_grp = document . getElementById ( "new_grp" ) ;
2
+ const new_grp_btn = document . getElementById ( "new_grp" ) ;
3
3
const overlay = document . querySelector ( ".overlay" ) ;
4
4
const closeBkmModal = document . querySelector ( ".closeBkm" ) ;
5
5
const closeGrpModal = document . querySelector ( ".closeGrp" ) ;
@@ -14,9 +14,15 @@ const getBookmarks = JSON.parse(localStorage.getItem("data"));
14
14
const getGroups = JSON . parse ( localStorage . getItem ( "groups" ) ) ;
15
15
const display_grp = document . getElementById ( "group_list" ) ;
16
16
const display_bkm = document . getElementById ( "bookmarks_list" ) ;
17
+ const groups_list_ul = document . querySelector ( ".list" ) ;
18
+ const bkm_list_ul = document . querySelector ( ".bookmarks_block" ) ;
17
19
20
+ let tab_url ;
21
+ let tab_title ;
22
+ let list_item = "" ;
18
23
let bookmarks_list = [ ] ;
19
24
let groups_list = [ ] ;
25
+ let current_grp ;
20
26
if ( getBookmarks ) {
21
27
bookmarks_list = getBookmarks ;
22
28
}
@@ -25,21 +31,35 @@ if(getGroups){
25
31
groups_list = getGroups ;
26
32
}
27
33
28
- const addBookmark = ( name , url , groupName ) => {
29
- bookmarks_list . push ( { name : name ,
30
- url : url ,
31
- grpName : groupName
34
+ function addBookmark ( name , url , groupName ) {
35
+ bookmarks_list . push ( {
36
+ name : toTitleCase ( name ) ,
37
+ url : url ,
38
+ grpName : groupName
32
39
} ) ;
33
- } ;
40
+ }
34
41
35
- const addGroup = ( name ) => {
42
+ function addGroup ( name ) {
36
43
groups_list . push ( {
37
- name : name
38
- } )
44
+ name : toTitleCase ( name )
45
+ } ) ;
39
46
}
40
47
41
48
function grp_name ( e ) {
42
- console . log ( e ) ;
49
+ let bkm_to_display = [ ] ;
50
+ let bkm_to_display_url = [ ] ;
51
+ bkm_names_list = bookmarks_list . map ( a => a . name ) ;
52
+ bkm_url_list = bookmarks_list . map ( a => a . url ) ;
53
+ let bkm_grp_list = bookmarks_list . map ( a => a . grpName ) ;
54
+ console . log ( bkm_names_list )
55
+ for ( let i = 0 ; i < bookmarks_list . length ; i ++ ) {
56
+ if ( bkm_grp_list [ i ] == e ) {
57
+ bkm_to_display . push ( bkm_names_list [ i ] ) ;
58
+ bkm_to_display_url . push ( bkm_url_list [ i ] ) ;
59
+ console . log ( bkm_to_display )
60
+ }
61
+ }
62
+ render_bkm ( bkm_to_display , bkm_to_display_url ) ;
43
63
}
44
64
45
65
function render_grp ( ) {
@@ -49,28 +69,34 @@ function render_grp(){
49
69
button . href = element . name ;
50
70
button . value = element . name ;
51
71
button . onclick = ( ) => {
72
+ current_grp = element . name ;
52
73
grp_name ( element . name ) ;
74
+ groups_list_ul . classList . add ( "hidden" ) ;
75
+ bkm_list_ul . classList . toggle ( "hidden" ) ;
76
+ new_bookmark_btn . classList . toggle ( "hidden" ) ;
77
+ new_grp_btn . classList . add ( "hidden" ) ;
53
78
} ;
54
79
let li = document . createElement ( 'li' ) ;
55
- button . innerText = toTitleCase ( element . name ) ;
80
+ button . innerText = element . name ;
56
81
li . appendChild ( button ) ;
57
82
display_grp . appendChild ( li ) ;
58
83
} ) ;
59
84
}
60
85
61
- function render_bkm ( ) {
86
+ function render_bkm ( names_list , url_list ) {
62
87
display_bkm . innerText = "" ;
63
- bookmarks_list . forEach ( element => {
64
- let anchor = document . createElement ( 'a' ) ;
65
- anchor . href = `${ element . url } ` ;
66
- let li = document . createElement ( 'li' ) ;
67
- li . innerText = toTitleCase ( element . name ) ;
68
- anchor . appendChild ( li ) ;
69
- display_bkm . appendChild ( anchor ) ;
70
- } ) ;
88
+ list_item = "" ;
89
+ for ( let i = 0 ; i < names_list . length ; i ++ ) {
90
+ list_item += `
91
+ <a href="${ url_list [ i ] } " target="_blank">
92
+ <li>${ names_list [ i ] } </li>
93
+ </a>
94
+ <span class="delete">x</span>
95
+ `
96
+ }
97
+ display_bkm . innerHTML = list_item ;
71
98
}
72
99
73
- let grp = "adsf"
74
100
// Functions Declaration
75
101
function openModal ( e ) {
76
102
e . classList . remove ( "hidden" ) ;
@@ -84,13 +110,13 @@ function closeModal(e){
84
110
render_grp ( ) ;
85
111
}
86
112
113
+
87
114
new_items_submit . addEventListener ( 'click' , ( ) => {
88
- if ( new_bkm_name . value != "" && new_bkm_url . value != "" ) {
89
- addBookmark ( new_bkm_name . value , new_bkm_url . value , grp ) ;
90
- localStorage . setItem ( 'data' , JSON . stringify ( bookmarks_list ) ) ;
91
- new_bkm_name . value = "" ;
92
- new_bkm_url . value = "" ;
93
- }
115
+ addBookmark ( new_bkm_name . value , new_bkm_url . value , current_grp ) ;
116
+ localStorage . setItem ( 'data' , JSON . stringify ( bookmarks_list ) ) ;
117
+ new_bkm_name . value = "" ;
118
+ new_bkm_url . value = "" ;
119
+ grp_name ( current_grp ) ;
94
120
closeModal ( new_items_modal )
95
121
} ) ;
96
122
@@ -104,10 +130,18 @@ new_grp_submit.addEventListener('click', ()=>{
104
130
} ) ;
105
131
106
132
// Open and close New bookmarks modal
107
- new_bookmark_btn . addEventListener ( 'click' , ( ) => { openModal ( new_items_modal ) } )
133
+ new_bookmark_btn . addEventListener ( 'click' , ( ) => {
134
+ chrome . tabs . query ( { active : true , lastFocusedWindow : true } , ( tabs ) => {
135
+ tab_url = tabs [ 0 ] . url ;
136
+ tab_title = tabs [ 0 ] . title ;
137
+ new_bkm_name . value = tab_title ;
138
+ new_bkm_url . value = tab_url ;
139
+ } ) ;
140
+ openModal ( new_items_modal )
141
+ } )
108
142
closeBkmModal . addEventListener ( 'click' , ( ) => { closeModal ( new_items_modal ) } ) ;
109
143
// Open and close New Group Modal
110
- new_grp . addEventListener ( 'click' , ( ) => { openModal ( new_grp_modal ) } ) ;
144
+ new_grp_btn . addEventListener ( 'click' , ( ) => { openModal ( new_grp_modal ) } ) ;
111
145
closeGrpModal . addEventListener ( 'click' , ( ) => { closeModal ( new_grp_modal ) } ) ;
112
146
// Close on clicking on overlay
113
147
overlay . addEventListener ( 'click' , ( ) => {
0 commit comments