@@ -83,77 +83,22 @@ function launchParticlesJS(tag_id, params){
83
83
}
84
84
} ;
85
85
86
- /* params settings */
87
- if ( params ) {
88
- if ( params . particles ) {
89
- var paramsForParticles = params . particles ;
90
- if ( paramsForParticles . color ) pJS . particles . color = paramsForParticles . color ;
91
- if ( paramsForParticles . color_random ) pJS . particles . color_random = paramsForParticles . color_random ;
92
- if ( paramsForParticles . shape ) pJS . particles . shape = paramsForParticles . shape ;
93
- if ( paramsForParticles . opacity ) {
94
- var paramsForOpacity = paramsForParticles . opacity ;
95
- if ( typeof paramsForOpacity == 'object' ) pJS . particles . opacity . opacity = paramsForOpacity . opacity ;
96
- else pJS . particles . opacity . opacity = paramsForOpacity ;
97
- if ( paramsForOpacity . anim ) {
98
- var paramsForOpacityAnim = paramsForOpacity . anim ;
99
- if ( paramsForOpacityAnim . enable == false || paramsForOpacityAnim . enable ) pJS . particles . opacity . anim . enable = paramsForOpacityAnim . enable ;
100
- if ( paramsForOpacityAnim . speed ) pJS . particles . opacity . anim . speed = paramsForOpacityAnim . speed ;
101
- if ( paramsForOpacityAnim . opacity_min ) pJS . particles . opacity . anim . opacity_min = paramsForOpacityAnim . opacity_min ;
102
- if ( paramsForOpacityAnim . sync == false || paramsForOpacityAnim . sync ) pJS . particles . opacity . anim . sync = paramsForOpacityAnim . sync ;
103
- }
104
- }
105
- if ( paramsForParticles . size ) pJS . particles . size = paramsForParticles . size ;
106
- if ( paramsForParticles . size_random == false ) pJS . particles . size_random = paramsForParticles . size_random ;
107
- if ( paramsForParticles . nb ) pJS . particles . nb = paramsForParticles . nb ;
108
- if ( paramsForParticles . line_linked ) {
109
- var paramsForLineLinked = paramsForParticles . line_linked ;
110
- if ( paramsForLineLinked . enable_auto == false ) pJS . particles . line_linked . enable_auto = paramsForLineLinked . enable_auto ;
111
- if ( paramsForLineLinked . distance ) pJS . particles . line_linked . distance = paramsForLineLinked . distance ;
112
- if ( paramsForLineLinked . color ) pJS . particles . line_linked . color = paramsForLineLinked . color ;
113
- if ( paramsForLineLinked . opacity ) pJS . particles . line_linked . opacity = paramsForLineLinked . opacity ;
114
- if ( paramsForLineLinked . width ) pJS . particles . line_linked . width = paramsForLineLinked . width ;
115
- if ( paramsForLineLinked . condensed_mode ) {
116
- var paramsForCondensedMode = paramsForLineLinked . condensed_mode ;
117
- if ( paramsForCondensedMode . enable == false ) pJS . particles . line_linked . condensed_mode . enable = paramsForCondensedMode . enable ;
118
- if ( paramsForCondensedMode . rotateX ) pJS . particles . line_linked . condensed_mode . rotateX = paramsForCondensedMode . rotateX ;
119
- if ( paramsForCondensedMode . rotateY ) pJS . particles . line_linked . condensed_mode . rotateY = paramsForCondensedMode . rotateY ;
120
- }
121
- }
122
- if ( paramsForParticles . anim ) {
123
- var paramsForAnim = paramsForParticles . anim ;
124
- if ( paramsForAnim . enable == false ) pJS . particles . anim . enable = paramsForAnim . enable ;
125
- if ( paramsForAnim . speed ) pJS . particles . anim . speed = paramsForAnim . speed ;
126
- }
127
- }
128
- if ( params . interactivity ) {
129
- var paramsForInteractivity = params . interactivity ;
130
- if ( paramsForInteractivity . enable == false ) pJS . interactivity . enable = paramsForInteractivity . enable ;
131
- if ( paramsForInteractivity . mouse ) {
132
- if ( paramsForInteractivity . mouse . distance ) pJS . interactivity . mouse . distance = paramsForInteractivity . mouse . distance ;
133
- }
134
- if ( paramsForInteractivity . detect_on ) pJS . interactivity . detect_on = paramsForInteractivity . detect_on ;
135
- if ( paramsForInteractivity . mode == false || paramsForInteractivity . mode ) pJS . interactivity . mode = paramsForInteractivity . mode ;
136
- if ( paramsForInteractivity . line_linked ) {
137
- if ( paramsForInteractivity . line_linked . opacity ) pJS . interactivity . line_linked . opacity = paramsForInteractivity . line_linked . opacity ;
138
- }
139
- if ( paramsForInteractivity . events ) {
140
- var paramsForEvents = paramsForInteractivity . events ;
141
- if ( paramsForEvents . onclick ) {
142
- var paramsForOnclick = paramsForEvents . onclick ;
143
- if ( paramsForOnclick . enable == false ) pJS . interactivity . events . onclick . enable = false ;
144
- if ( paramsForOnclick . mode != 'push' ) pJS . interactivity . events . onclick . mode = paramsForOnclick . mode ;
145
- if ( paramsForOnclick . nb ) pJS . interactivity . events . onclick . nb = paramsForOnclick . nb ;
146
- }
147
- if ( paramsForEvents . onresize ) {
148
- var paramsForOnresize = paramsForEvents . onresize ;
149
- if ( paramsForOnresize . enable == false ) pJS . interactivity . events . onresize . enable = false ;
150
- if ( paramsForOnresize . mode ) pJS . interactivity . events . onresize . mode = paramsForOnresize . mode ;
151
- if ( paramsForOnresize . density_auto == false || paramsForOnresize . density_auto ) pJS . interactivity . events . onresize . density_auto = paramsForOnresize . density_auto ;
152
- if ( paramsForOnresize . density_area ) pJS . interactivity . events . onresize . density_area = paramsForOnresize . density_area ;
153
- }
86
+ Object . deepExtend = function ( destination , source ) {
87
+ for ( var property in source ) {
88
+ if ( source [ property ] && source [ property ] . constructor &&
89
+ source [ property ] . constructor === Object ) {
90
+ destination [ property ] = destination [ property ] || { } ;
91
+ arguments . callee ( destination [ property ] , source [ property ] ) ;
92
+ } else {
93
+ destination [ property ] = source [ property ] ;
154
94
}
155
95
}
156
- pJS . retina_detect = params . retina_detect ;
96
+ return destination ;
97
+ } ;
98
+
99
+ /* params settings */
100
+ if ( params ) {
101
+ Object . deepExtend ( pJS , params ) ;
157
102
}
158
103
159
104
/* convert hex colors to rgb */
0 commit comments