MCPcopy Create free account
hub / github.com/Involt/Involt / defineElement

Function defineElement

www/core/framework.js:7–252  ·  view source on GitHub ↗
($t)

Source from the content-addressed store, hash-verified

5*/
6
7var defineElement = function($t){
8
9 var involtElement = {
10 name: null,
11 pin: null,
12 value: 0,
13 range: null,
14 min: 0,
15 max: 255,
16 step: 1,
17 fn: null
18 };
19
20 var classes = $t.attr('class').trim().split(' ');
21 var ardIndex = classes.indexOf('ard');
22 involtElement.name = classes[ardIndex+1];
23
24 if(['bar','knob'].indexOf(involtElement.name) > -1) involtElement.max = 1024;
25
26 var searchInClasses = function(name){
27 return name.startsWith(prop+'-');
28 };
29
30 var defineValue = function(data){
31 if(Array.isArray(data)){
32 for(var i=0; i<data.length; i++){
33 if(!isNaN(data[i])) data[i] = parseInt(data[i]);
34 };
35 if(data.length == 1) data = data[0];
36 }
37 else{
38 if(!isNaN(data)) data = parseInt(data);
39 }
40
41 return data;
42 };
43
44 for(prop in involtElement){
45
46 if(typeof $t.attr(prop) !== 'undefined') involtElement[prop] = defineValue($t.attr(prop));
47 else {
48
49 var propInClass = classes.find(searchInClasses);
50
51 if(typeof propInClass !== 'undefined'){
52 var classData = propInClass.split('-');
53 classData.shift();
54 involtElement[prop] = defineValue(classData);
55 };
56 };
57
58 };
59
60 if(involtElement.range != null){
61 involtElement.min = involtElement.range[0];
62 involtElement.max = involtElement.range[1];
63 };
64

Callers 1

framework.jsFile · 0.85

Calls 2

defineValueFunction · 0.85
$Function · 0.85

Tested by

no test coverage detected