Skip to content

Commit ecffa98

Browse files
committed
Removing complexity
1 parent 1526b50 commit ecffa98

File tree

12 files changed

+345
-222
lines changed

12 files changed

+345
-222
lines changed

.codeclimate.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,8 @@ ratings:
1717
paths:
1818
- "src/**.js"
1919
exclude_paths:
20-
- dist/**/*
21-
- spec/**/*
20+
- "dist/**/*"
21+
- "spec/**/*""
22+
- "examples/**/*"
23+
- "*.conf.js"
24+
- "*.config.js"

dist/jquery.sidr.js

Lines changed: 35 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44
(function () {
55
'use strict';
66

7+
var sidrStatus = {
8+
moving: false,
9+
opened: false
10+
};
11+
712
var store = {};
813

914
var store$1 = {
@@ -15,33 +20,6 @@ var store$1 = {
1520
}
1621
};
1722

18-
function execute(action, name, callback) {
19-
var menu = store$1.get(name);
20-
21-
switch (action) {
22-
case 'open':
23-
menu.open(callback);
24-
break;
25-
case 'close':
26-
menu.close(callback);
27-
break;
28-
case 'reload':
29-
menu.reload();
30-
break;
31-
case 'toggle':
32-
menu.toggle(callback);
33-
break;
34-
default:
35-
console.error('Method ' + action + ' does not exist on sidr');
36-
break;
37-
}
38-
}
39-
40-
var sidrStatus = {
41-
moving: false,
42-
opened: false
43-
};
44-
4523
var getMethod = function getMethod(methodName) {
4624
return function (name, callback) {
4725
// Check arguments
@@ -52,7 +30,8 @@ var getMethod = function getMethod(methodName) {
5230
name = 'sidr';
5331
}
5432

55-
execute(methodName, name, callback);
33+
var menu = store$1.get(name);
34+
menu[methodName](callback);
5635
};
5736
};
5837

@@ -121,6 +100,19 @@ function addPrefix(item, attribute) {
121100
}
122101
}
123102

103+
function getTransitionPrefix(property, style) {
104+
var prefix = void 0;
105+
var prefixes = ['moz', 'webkit', 'o', 'ms'];
106+
for (var i = 0; i < prefixes.length; i++) {
107+
prefix = prefixes[i];
108+
if (prefix + property in style) {
109+
return prefix;
110+
}
111+
}
112+
113+
return false;
114+
}
115+
124116
var dom = {
125117
id: function id(elementId) {
126118
return document.getElementById(elementId);
@@ -174,21 +166,9 @@ var dom = {
174166
if (property in style) {
175167
supported = true;
176168
} else {
177-
var prefixes = ['moz', 'webkit', 'o', 'ms'];
178-
var prefix = void 0;
179-
var i = void 0;
180-
181169
property = property.charAt(0).toUpperCase() + property.substr(1);
182-
supported = function () {
183-
for (i = 0; i < prefixes.length; i++) {
184-
prefix = prefixes[i];
185-
if (prefix + property in style) {
186-
return true;
187-
}
188-
}
189-
190-
return false;
191-
}();
170+
var prefix = getTransitionPrefix(property, style);
171+
supported = !!prefix;
192172
cssProperty = supported ? prefix + property : null;
193173
property = supported ? '-' + prefix + '-' + property.toLowerCase() : null;
194174
if (prefix === 'webkit') {
@@ -198,12 +178,7 @@ var dom = {
198178
}
199179
}
200180

201-
return {
202-
cssProperty: cssProperty,
203-
supported: supported,
204-
property: property,
205-
event: event
206-
};
181+
return { cssProperty: cssProperty, supported: supported, property: property, event: event };
207182
}()
208183
};
209184

@@ -281,6 +256,14 @@ function changeClasses(element, action, classes) {
281256
}
282257
}
283258

259+
function setProperty(element, prop, value) {
260+
element[prop] = value;
261+
}
262+
263+
function getProperty(element, prop, value) {
264+
return element[prop];
265+
}
266+
284267
var BaseElement = function () {
285268
function BaseElement(element) {
286269
classCallCheck(this, BaseElement);
@@ -325,18 +308,18 @@ var BaseElement = function () {
325308
key: 'html',
326309
value: function html(value) {
327310
if (value) {
328-
this.element.innerHTML = value;
311+
setProperty(this.element, 'innerHTML', value);
329312
} else {
330-
return this.element.innerHTML;
313+
return getProperty(this.element, 'innerHTML');
331314
}
332315
}
333316
}, {
334317
key: 'scrollTop',
335318
value: function scrollTop(value) {
336319
if (value) {
337-
this.element.scrollTop = value;
320+
setProperty(this.element, 'scrollTop', value);
338321
} else {
339-
return this.element.scrollTop;
322+
return getProperty(this.element, 'scrollTop');
340323
}
341324
}
342325
}, {

dist/jquery.sidr.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/sidr.js

Lines changed: 30 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,19 @@ function addPrefix(item, attribute) {
8282
}
8383
}
8484

85+
function getTransitionPrefix(property, style) {
86+
var prefix = void 0;
87+
var prefixes = ['moz', 'webkit', 'o', 'ms'];
88+
for (var i = 0; i < prefixes.length; i++) {
89+
prefix = prefixes[i];
90+
if (prefix + property in style) {
91+
return prefix;
92+
}
93+
}
94+
95+
return false;
96+
}
97+
8598
var dom = {
8699
id: function id(elementId) {
87100
return document.getElementById(elementId);
@@ -135,21 +148,9 @@ var dom = {
135148
if (property in style) {
136149
supported = true;
137150
} else {
138-
var prefixes = ['moz', 'webkit', 'o', 'ms'];
139-
var prefix = void 0;
140-
var i = void 0;
141-
142151
property = property.charAt(0).toUpperCase() + property.substr(1);
143-
supported = function () {
144-
for (i = 0; i < prefixes.length; i++) {
145-
prefix = prefixes[i];
146-
if (prefix + property in style) {
147-
return true;
148-
}
149-
}
150-
151-
return false;
152-
}();
152+
var prefix = getTransitionPrefix(property, style);
153+
supported = !!prefix;
153154
cssProperty = supported ? prefix + property : null;
154155
property = supported ? '-' + prefix + '-' + property.toLowerCase() : null;
155156
if (prefix === 'webkit') {
@@ -159,12 +160,7 @@ var dom = {
159160
}
160161
}
161162

162-
return {
163-
cssProperty: cssProperty,
164-
supported: supported,
165-
property: property,
166-
event: event
167-
};
163+
return { cssProperty: cssProperty, supported: supported, property: property, event: event };
168164
}()
169165
};
170166

@@ -242,6 +238,14 @@ function changeClasses(element, action, classes) {
242238
}
243239
}
244240

241+
function setProperty(element, prop, value) {
242+
element[prop] = value;
243+
}
244+
245+
function getProperty(element, prop, value) {
246+
return element[prop];
247+
}
248+
245249
var BaseElement = function () {
246250
function BaseElement(element) {
247251
classCallCheck(this, BaseElement);
@@ -286,18 +290,18 @@ var BaseElement = function () {
286290
key: 'html',
287291
value: function html(value) {
288292
if (value) {
289-
this.element.innerHTML = value;
293+
setProperty(this.element, 'innerHTML', value);
290294
} else {
291-
return this.element.innerHTML;
295+
return getProperty(this.element, 'innerHTML');
292296
}
293297
}
294298
}, {
295299
key: 'scrollTop',
296300
value: function scrollTop(value) {
297301
if (value) {
298-
this.element.scrollTop = value;
302+
setProperty(this.element, 'scrollTop', value);
299303
} else {
300-
return this.element.scrollTop;
304+
return getProperty(this.element, 'scrollTop');
301305
}
302306
}
303307
}, {
@@ -635,28 +639,6 @@ var Menu = function (_BaseElement) {
635639
return Menu;
636640
}(BaseElement);
637641

638-
function execute(action, name, callback) {
639-
var menu = store$1.get(name);
640-
641-
switch (action) {
642-
case 'open':
643-
menu.open(callback);
644-
break;
645-
case 'close':
646-
menu.close(callback);
647-
break;
648-
case 'reload':
649-
menu.reload();
650-
break;
651-
case 'toggle':
652-
menu.toggle(callback);
653-
break;
654-
default:
655-
console.error('Method ' + action + ' does not exist on sidr');
656-
break;
657-
}
658-
}
659-
660642
var getMethod = function getMethod(methodName) {
661643
return function (name, callback) {
662644
// Check arguments
@@ -667,7 +649,8 @@ var getMethod = function getMethod(methodName) {
667649
name = 'sidr';
668650
}
669651

670-
execute(methodName, name, callback);
652+
var menu = store$1.get(name);
653+
menu[methodName](callback);
671654
};
672655
};
673656

dist/sidr.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

spec/execute.spec.js

Lines changed: 0 additions & 65 deletions
This file was deleted.

0 commit comments

Comments
 (0)