GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

Code Duplication    Length = 76-87 lines in 2 locations

symphony/assets/js/src/symphony.drawer.js 2 locations

@@ 41-127 (lines=87) @@
38
39
		// Expand drawer
40
		objects.on('expand.drawer', function expand(event, speed, stay) {
41
			var drawer = $(this),
42
				position = drawer.data('position'),
43
				buttons = $('.button.drawer'),
44
				button = buttons.filter('[href="#' + drawer.attr('id') + '"]'),
45
				samePositionButtons = buttons.filter('.' + position),
46
				context = drawer.data('context') ? '.' + drawer.data('context') : '',
47
				height = getHeight();
48
49
			drawer.trigger('expandstart.drawer');
50
51
			speed = (typeof speed === 'undefined' ? settings.speed : speed);
52
			stay = (typeof stay === 'undefined' ? false : true);
53
54
			// update button state
55
			samePositionButtons.removeClass('selected');
56
57
			// Close opened drawers from same region
58
			$('.drawer.' + position).filter(function(index) {
59
				return $(this).data('open');
60
			}).trigger('collapse.drawer', [speed, true]);
61
62
			if (position === 'vertical-left') {
63
				drawer.css({
64
					width: 0,
65
					height: height,
66
					display: 'block'
67
				})
68
				.animate({
69
					width: settings.verticalWidth
70
				}, {
71
					duration: speed,
72
					step: function(now, fx){
73
						form.css('margin-left', now + 1); // +1px right border
74
					},
75
					complete: function() {
76
						form.css('margin-left', settings.verticalWidth + 1); // +1px right border
77
						drawer.trigger('expandstop.drawer');
78
					}
79
				});
80
			}
81
			else if (position === 'vertical-right') {
82
				drawer.css({
83
					width: 0,
84
					height: height,
85
					display: 'block'
86
				})
87
				.animate({
88
					width: settings.verticalWidth
89
				}, {
90
					duration: speed,
91
					step: function(now, fx){
92
						form.css('margin-right', now + 1); // +1px left border
93
					},
94
					complete: function() {
95
						form.css('margin-right', settings.verticalWidth + 1); // +1px right border
96
						drawer.trigger('expandstop.drawer');
97
					}
98
				});
99
			}
100
			else if (position === 'horizontal') {
101
				drawer.animate({
102
					height: 'show'
103
				}, {
104
					duration: speed,
105
					complete: function() {
106
						drawer.trigger('expandstop.drawer');
107
					}
108
				});
109
			}
110
111
			button.addClass('selected');
112
113
			// store state
114
			if(Symphony.Support.localStorage === true) {
115
				// Put in a try/catch incase we exceed storage space
116
				try {
117
					window.localStorage['symphony.drawer.' + drawer.attr('id') + context] = 'opened';
118
				}
119
				catch(e) {
120
					window.onerror(e.message);
121
				}
122
			}
123
124
			wrapper.addClass('drawer-' + position);
125
			drawer.data('open', true);
126
		});
127
128
		// Collapse drawer
129
		objects.on('collapse.drawer', function collapse(event, speed, stay) {
130
			var drawer = $(this),
@@ 130-205 (lines=76) @@
127
128
		// Collapse drawer
129
		objects.on('collapse.drawer', function collapse(event, speed, stay) {
130
			var drawer = $(this),
131
				position = drawer.data('position'),
132
				buttons = $('.button.drawer'),
133
				button = buttons.filter('[href="#' + drawer.attr('id') + '"]'),
134
				context = drawer.data('context') ? '.' + drawer.data('context') : '';
135
136
			drawer.trigger('collapsestart.drawer');
137
138
			speed = (typeof speed === 'undefined' ? settings.speed : speed);
139
			stay = (typeof stay === 'undefined' ? false : true);
140
141
			// update button state
142
			button.removeClass('selected');
143
144
			if (position === 'vertical-left') {
145
				drawer.animate({
146
					width: 0
147
				}, {
148
					duration: speed,
149
					step: function(now, fx){
150
						if (!stay) {
151
							form.css('margin-left', now);
152
						}
153
					},
154
					complete: function() {
155
						drawer.css({
156
							display: 'none'
157
						})
158
						.trigger('collapsestop.drawer');
159
					}
160
				});
161
			}
162
			else if (position === 'vertical-right') {
163
				drawer.animate({
164
					width: 0
165
				}, {
166
					duration: speed,
167
					step: function(now, fx){
168
						if (!stay) {
169
							form.css('margin-right', now);
170
						}
171
					},
172
					complete: function() {
173
						drawer.css({
174
							display: 'none'
175
						})
176
						.trigger('collapsestop.drawer');
177
					}
178
				});
179
			}
180
			else if (position === 'horizontal') {
181
				drawer.animate({
182
					height: 'hide'
183
				}, {
184
					duration: speed,
185
					complete: function() {
186
						drawer.trigger('collapsestop.drawer');
187
					}
188
				});
189
			}
190
191
			// store state
192
			if(Symphony.Support.localStorage === true) {
193
				// Put in a try/catch incase we exceed storage space
194
				try {
195
					window.localStorage['symphony.drawer.' + drawer.attr('id') + context] = 'closed';
196
				}
197
				catch(e) {
198
					window.onerror(e.message);
199
				}
200
			}
201
202
			wrapper.removeClass('drawer-' + position);
203
			drawer.data('open', false);
204
		});
205
206
		// Resize drawers
207
		$(window).on('resize.drawer load.drawer', function() {
208
			var height = getHeight();