@@ -27,7 +27,7 @@ import { breadthFirstSearch } from '../../utils/search.util'
27
27
export default {
28
28
data () {
29
29
return {
30
- elementStorage : {}
30
+ // elementStore : {}
31
31
}
32
32
},
33
33
name: ' Icons' ,
@@ -40,22 +40,36 @@ export default {
40
40
' activeHTML' ,
41
41
' activeLayer'
42
42
]),
43
- // elementStorage: function () {
44
- // console.log('computed: elementStorage')
45
- // if (this.activeComponent) {
46
- // return {
47
-
48
- // }
49
- // }
50
- // return {
51
-
52
- // }
53
- // }
43
+ elementStorage : function () {
44
+ // console.log('computed: elementStorage')
45
+ let computedElementalStorage = {}
46
+ if (this .activeComponent ) {
47
+ this .componentMap [this .activeComponent ].htmlList .forEach (el => {
48
+ if (! computedElementalStorage[el .text ]) {
49
+ computedElementalStorage[el .text ] = 1
50
+ } else {
51
+ computedElementalStorage[el .text ] += 1
52
+ }
53
+ })
54
+ } else if (this .activeComponent === ' ' ) {
55
+ // console.log(`watching activeComponent, current active is ''`)
56
+ // if component was switched from existing component to '', reset cache and update items
57
+ if (computedElementalStorage !== {}) computedElementalStorage = {}
58
+ this .selectedElementList .forEach (el => {
59
+ if (! computedElementalStorage[el .text ]) {
60
+ computedElementalStorage[el .text ] = 1
61
+ } else {
62
+ computedElementalStorage[el .text ] += 1
63
+ }
64
+ })
65
+ }
66
+ return computedElementalStorage
67
+ }
54
68
},
55
69
methods: {
56
70
// Logic to decide where to place selected html element
57
71
changeState (elementName ) {
58
- // console.log('this.elementStorage : ', this.elementStorage)
72
+ console .log (' changeState inside Icons.vue : ' , this .elementStorage )
59
73
// if no active component & creating a new component: add html to selectedElement list
60
74
if (this .activeComponent === ' ' ) {
61
75
this .$emit (' getClickedIcon' , { elementName, date: Date .now () })
@@ -74,166 +88,167 @@ export default {
74
88
}
75
89
},
76
90
watch: {
77
- // watch for changes to selectedElementList when creating a component
78
- selectedElementList : function () {
79
- console .log (' watching selectedElementList' );
80
- if (this .activeComponent === ' ' ) {
81
- this .elementStorage = {}
82
- this .selectedElementList .forEach (el => {
83
- // if user adds an element and the element is not inside of component, give it a value of 1
84
- if (! this .elementStorage [el .text ]) {
85
- this .elementStorage [el .text ] = 1
86
- } else {
87
- // otherwise increment count by 1
88
- this .elementStorage [el .text ] += 1
89
- }
90
- })
91
- }
92
- // console.log('storage is ', this.elementStorage)
93
- },
94
- // watch for changes to activeLayer when creating a component
95
- activeLayer: {
96
- deep: true ,
97
- handler () {
98
- console .log (' watch: activeLayer' );
99
- if (this .activeComponent ) {
100
- this .elementStorage = {}
101
- if (this .activeLayer .id !== ' ' && this .activeHTML === ' ' ) {
102
- let activeLayerObj = breadthFirstSearch (
103
- this .componentMap [this .activeComponent ].htmlList ,
104
- this .activeLayer .id
105
- )
106
- activeLayerObj .children .forEach (el => {
107
- if (! this .elementStorage [el .text ]) {
108
- this .elementStorage [el .text ] = 1
109
- } else {
110
- this .elementStorage [el .text ] += 1
111
- }
112
- })
113
- }
114
- }
115
- }
116
- },
117
- // if componentMap is updated (i.e. element is added to component's htmlList), elementStorage will update its cache of elements & frequency
118
- componentMap: {
119
- deep: true ,
120
- // handler logic for where to increment html element count in element storage
121
- handler () {
122
- console .log (' watch: componentMap' );
123
- // console.log('watching componentMap');
124
- // console.log('activecomponent is ', this.activeComponent)
125
- // console.log('htmlList', this.componentMap[this.activeComponent].htmlList)
126
- if (this .activeComponent ) {
127
- this .elementStorage = {}
128
- if (this .activeLayer .id !== ' ' && this .activeHTML === ' ' ) {
129
- let activeLayerObj = breadthFirstSearch (
130
- this .componentMap [this .activeComponent ].htmlList ,
131
- this .activeLayer .id
132
- )
133
- activeLayerObj .children .forEach (el => {
134
- if (! this .elementStorage [el .text ]) {
135
- this .elementStorage [el .text ] = 1
136
- } else {
137
- this .elementStorage [el .text ] += 1
138
- }
139
- })
140
- } else if (this .activeHTML !== ' ' ) {
141
- let activeHtmlObj = breadthFirstSearch (
142
- this .componentMap [this .activeComponent ].htmlList ,
143
- this .activeHTML
144
- )
145
- activeHtmlObj .children .forEach (el => {
146
- if (! this .elementStorage [el .text ]) {
147
- this .elementStorage [el .text ] = 1
148
- } else {
149
- this .elementStorage [el .text ] += 1
150
- }
151
- })
152
- } else {
153
- this .componentMap [this .activeComponent ].htmlList .forEach (el => {
154
- if (! this .elementStorage [el .text ]) {
155
- this .elementStorage [el .text ] = 1
156
- } else {
157
- this .elementStorage [el .text ] += 1
158
- }
159
- })
160
- }
161
- // console.log('elementStorage is ', this.elementStorage);
162
- }
163
- }
164
- },
165
- // watch for changes to the activeHTML to decide where to place our html element
166
- activeHTML : function () {
167
- this .elementStorage = {}
168
- console .log (' watch: activeHTML' );
169
- if (this .activeHTML !== ' ' ) {
170
- let activeHtmlObj = breadthFirstSearch (
171
- this .componentMap [this .activeComponent ].htmlList ,
172
- this .activeHTML
173
- )
174
- activeHtmlObj .children .forEach (el => {
175
- if (! this .elementStorage [el .text ]) {
176
- this .elementStorage [el .text ] = 1
177
- } else {
178
- this .elementStorage [el .text ] += 1
179
- }
180
- })
181
- } else {
182
- if (this .activeLayer .id !== ' ' && this .activeHTML === ' ' ) {
183
- let activeLayerObj = breadthFirstSearch (
184
- this .componentMap [this .activeComponent ].htmlList ,
185
- this .activeLayer .id
186
- )
187
- activeLayerObj .children .forEach (el => {
188
- if (! this .elementStorage [el .text ]) {
189
- this .elementStorage [el .text ] = 1
190
- } else {
191
- this .elementStorage [el .text ] += 1
192
- }
193
- })
194
- } else {
195
- this .componentMap [this .activeComponent ].htmlList .forEach (el => {
196
- if (! this .elementStorage [el .text ]) {
197
- this .elementStorage [el .text ] = 1
198
- } else {
199
- this .elementStorage [el .text ] += 1
200
- }
201
- })
202
- }
203
- }
204
- },
91
+ // // watch for changes to selectedElementList when creating a component
92
+ // selectedElementList: function () {
93
+ // console.log('watching selectedElementList');
94
+ // if (this.activeComponent === '') {
95
+ // this.elementStorage = {}
96
+ // this.selectedElementList.forEach(el => {
97
+ // // if user adds an element and the element is not inside of component, give it a value of 1
98
+ // if (!this.elementStorage[el.text]) {
99
+ // this.elementStorage[el.text] = 1
100
+ // } else {
101
+ // // otherwise increment count by 1
102
+ // this.elementStorage[el.text] += 1
103
+ // }
104
+ // })
105
+ // }
106
+ // // console.log('storage is ', this.elementStorage)
107
+ // },
108
+ // // watch for changes to activeLayer when creating a component
109
+ // activeLayer: {
110
+ // deep: true,
111
+ // handler () {
112
+ // console.log('watch: activeLayer');
113
+ // if (this.activeComponent) {
114
+ // this.elementStorage = {}
115
+ // if (this.activeLayer.id !== '' && this.activeHTML === '') {
116
+ // let activeLayerObj = breadthFirstSearch(
117
+ // this.componentMap[this.activeComponent].htmlList,
118
+ // this.activeLayer.id
119
+ // )
120
+ // activeLayerObj.children.forEach(el => {
121
+ // if (!this.elementStorage[el.text]) {
122
+ // this.elementStorage[el.text] = 1
123
+ // } else {
124
+ // this.elementStorage[el.text] += 1
125
+ // }
126
+ // })
127
+ // }
128
+ // }
129
+ // }
130
+ // },
131
+ // // if componentMap is updated (i.e. element is added to component's htmlList), elementStorage will update its cache of elements & frequency
132
+ // componentMap: {
133
+ // deep: true,
134
+ // // handler logic for where to increment html element count in element storage
135
+ // handler () {
136
+ // console.log('watch: componentMap');
137
+ // // console.log('watching componentMap');
138
+ // // console.log('activecomponent is ', this.activeComponent)
139
+ // // console.log('htmlList', this.componentMap[this.activeComponent].htmlList)
140
+ // if (this.activeComponent) {
141
+ // this.elementStorage = {}
142
+ // if (this.activeLayer.id !== '' && this.activeHTML === '') {
143
+ // let activeLayerObj = breadthFirstSearch(
144
+ // this.componentMap[this.activeComponent].htmlList,
145
+ // this.activeLayer.id
146
+ // )
147
+ // activeLayerObj.children.forEach(el => {
148
+ // if (!this.elementStorage[el.text]) {
149
+ // this.elementStorage[el.text] = 1
150
+ // } else {
151
+ // this.elementStorage[el.text] += 1
152
+ // }
153
+ // })
154
+ // } else if (this.activeHTML !== '') {
155
+ // let activeHtmlObj = breadthFirstSearch(
156
+ // this.componentMap[this.activeComponent].htmlList,
157
+ // this.activeHTML
158
+ // )
159
+ // activeHtmlObj.children.forEach(el => {
160
+ // if (!this.elementStorage[el.text]) {
161
+ // this.elementStorage[el.text] = 1
162
+ // } else {
163
+ // this.elementStorage[el.text] += 1
164
+ // }
165
+ // })
166
+ // } else {
167
+ // this.componentMap[this.activeComponent].htmlList.forEach(el => {
168
+ // if (!this.elementStorage[el.text]) {
169
+ // this.elementStorage[el.text] = 1
170
+ // } else {
171
+ // this.elementStorage[el.text] += 1
172
+ // }
173
+ // })
174
+ // }
175
+ // // console.log('elementStorage is ', this.elementStorage);
176
+ // }
177
+ // }
178
+ // },
179
+ // // watch for changes to the activeHTML to decide where to place our html element
180
+ // activeHTML: function () {
181
+ // this.elementStorage = {}
182
+ // console.log('watch: activeHTML');
183
+ // if (this.activeHTML !== '') {
184
+ // let activeHtmlObj = breadthFirstSearch(
185
+ // this.componentMap[this.activeComponent].htmlList,
186
+ // this.activeHTML
187
+ // )
188
+ // activeHtmlObj.children.forEach(el => {
189
+ // if (!this.elementStorage[el.text]) {
190
+ // this.elementStorage[el.text] = 1
191
+ // } else {
192
+ // this.elementStorage[el.text] += 1
193
+ // }
194
+ // })
195
+ // } else {
196
+ // if (this.activeLayer.id !== '' && this.activeHTML === '') {
197
+ // let activeLayerObj = breadthFirstSearch(
198
+ // this.componentMap[this.activeComponent].htmlList,
199
+ // this.activeLayer.id
200
+ // )
201
+ // activeLayerObj.children.forEach(el => {
202
+ // if (!this.elementStorage[el.text]) {
203
+ // this.elementStorage[el.text] = 1
204
+ // } else {
205
+ // this.elementStorage[el.text] += 1
206
+ // }
207
+ // })
208
+ // } else {
209
+ // this.componentMap[this.activeComponent].htmlList.forEach(el => {
210
+ // if (!this.elementStorage[el.text]) {
211
+ // this.elementStorage[el.text] = 1
212
+ // } else {
213
+ // this.elementStorage[el.text] += 1
214
+ // }
215
+ // })
216
+ // }
217
+ // }
218
+ // },
205
219
// if activeComponent is updated, elementStorage will update its cache of elements & frequency to reflect new active component
206
- activeComponent: {
207
- // deep: true,
208
- handler () {
209
- // console.log('watching activeComponent', this.activeComponent);
210
- console .log (' watch: activeComponent' );
211
- if (this .activeComponent ) {
212
- this .elementStorage = {}
213
- this .componentMap [this .activeComponent ].htmlList .forEach (el => {
214
- if (! this .elementStorage [el .text ]) {
215
- this .elementStorage [el .text ] = 1
216
- } else {
217
- this .elementStorage [el .text ] += 1
218
- }
219
- })
220
- // console.log('elementStorage is ', this.elementStorage);
221
- } else if (this .activeComponent === ' ' ) {
222
- // console.log(`watching activeComponent, current active is ''`)
223
- // if component was switched from existing component to '', reset cache and update items
224
- if (this .elementStorage !== {}) this .elementStorage = {}
225
- this .selectedElementList .forEach (el => {
226
- if (! this .elementStorage [el .text ]) {
227
- this .elementStorage [el .text ] = 1
228
- } else {
229
- this .elementStorage [el .text ] += 1
230
- }
231
- })
232
- }
233
- }
234
- }
220
+ // activeComponent: {
221
+ // // deep: true,
222
+ // handler () {
223
+ // // console.log('watching activeComponent', this.activeComponent);
224
+ // console.log('watch: activeComponent');
225
+ // if (this.activeComponent) {
226
+ // this.elementStorage = {}
227
+ // this.componentMap[this.activeComponent].htmlList.forEach(el => {
228
+ // if (!this.elementStorage[el.text]) {
229
+ // this.elementStorage[el.text] = 1
230
+ // } else {
231
+ // this.elementStorage[el.text] += 1
232
+ // }
233
+ // })
234
+ // // console.log('elementStorage is ', this.elementStorage);
235
+ // } else if (this.activeComponent === '') {
236
+ // // console.log(`watching activeComponent, current active is ''`)
237
+ // // if component was switched from existing component to '', reset cache and update items
238
+ // if (this.elementStorage !== {}) this.elementStorage = {}
239
+ // this.selectedElementList.forEach(el => {
240
+ // if (!this.elementStorage[el.text]) {
241
+ // this.elementStorage[el.text] = 1
242
+ // } else {
243
+ // this.elementStorage[el.text] += 1
244
+ // }
245
+ // })
246
+ // }
247
+ // }
248
+ // }
235
249
}
236
250
}
251
+
237
252
</script >
238
253
239
254
<style scoped>
0 commit comments