|
67 | 67 | element: 'datatable-classes', |
68 | 68 | columns: [ |
69 | 69 | { name: 'Name', formula: (r) => { return helper.html.render.link('/'+r.id, r.name); }}, |
70 | | - { name: 'Score', formula: (r) => { |
71 | | - let score = 0; |
72 | | - if (!map.dependencies[r.id]) score++; |
73 | | - if (r.isApiVersionOld === true) score++; |
74 | | - if (r.isSharingMissing === true) score++; |
75 | | - if (r.needsRecompilation === true) score++; |
76 | | - if (!r.fastCoverage || r.fastCoverage < 0.85) score++; |
77 | | - return score; |
78 | | - }}, |
79 | | - { name: 'API', formula: (r) => { |
80 | | - if (r.isApiVersionOld === true) |
81 | | - return helper.html.render.icon('redFlag') + ' ' + r.apiVersion; |
82 | | - return r.apiVersion; |
83 | | - }}, |
| 70 | + { name: 'Score', type: 'numeric', property: '##score##' }, |
| 71 | + { name: 'API', type: 'numeric', property: 'apiVersion', |
| 72 | + scoreFormula: (r) => { |
| 73 | + if (r.isApiVersionOld === true) return 1; |
| 74 | + } |
| 75 | + }, |
84 | 76 | { name: 'Package', property: 'namespace' }, |
85 | | - { name: 'Status', formula: (r) => { |
86 | | - if (r.needsRecompilation === true) { |
87 | | - countRecompileApexClasses++; |
88 | | - return helper.html.render.icon('redFlag') + ' Recompile!'; |
| 77 | + { name: 'Status', |
| 78 | + formula: (r) => { |
| 79 | + if (r.needsRecompilation === true) { |
| 80 | + countRecompileApexClasses++; |
| 81 | + return 'Recompile!'; |
| 82 | + } |
| 83 | + return 'OK'; |
| 84 | + }, |
| 85 | + scoreFormula: (r) => { |
| 86 | + if (r.needsRecompilation === true) return 1; |
89 | 87 | } |
90 | | - return helper.html.render.icon('greenFlag') + ' OK'; |
91 | | - }}, |
| 88 | + }, |
92 | 89 | { name: 'Access', property: 'specifiedAccess' }, |
93 | 90 | { name: 'Abst.', property: 'isAbstract', formula: (r) => { return helper.html.render.checkbox(r.isAbstract); }}, |
94 | 91 | { name: 'Type', property: 'isInterface', formula: (r) => { return r.isInterface === false ? 'Class' : 'Interface'; }}, |
|
97 | 94 | if (r.interfaces) { r.interfaces.forEach(e => html += e + '<br />'); } |
98 | 95 | return html; |
99 | 96 | }}, |
100 | | - { name: 'Size', property: 'length' }, |
101 | | - { name: 'Methods', property: 'methodsCount' }, |
102 | | - { name: 'Inner Cls.', property: 'innerClassesCount' }, |
| 97 | + { name: 'Size', type: 'numeric', property: 'length' }, |
| 98 | + { name: 'Methods', type: 'numeric', property: 'methodsCount' }, |
| 99 | + { name: 'Inner Cls.', type: 'numeric', property: 'innerClassesCount' }, |
103 | 100 | { name: 'Annot.', formula: (r) => { |
104 | 101 | let html = ''; |
105 | 102 | if (r.annotations) { r.annotations.forEach(e => html += e.name + '<br />'); } |
106 | 103 | return html; |
107 | 104 | }}, |
108 | | - { name: 'Sharing', property: 'specifiedSharing', formula: (r) => { |
109 | | - if (r.isSharingMissing === true) |
110 | | - return helper.html.render.icon('redFlag') + ' Not specified!'; |
111 | | - return r.specifiedSharing; |
112 | | - }}, |
113 | | - { name: 'Coverage', property: 'fastCoverage', formula: (r) => { |
114 | | - let html = ''; |
115 | | - if (!r.fastCoverage || r.fastCoverage < 0.85) html += helper.html.render.icon('redFlag') + ' '; |
116 | | - html += helper.html.render.percentage(r.fastCoverage); |
117 | | - return html; |
118 | | - }}, |
119 | | - { name: 'Dependencies', formula: (r) => { |
120 | | - const dep = map.dependencies[r.id]; |
121 | | - if (dep) return helper.html.render.dependencies(r.id, r.name, dep); |
122 | | - return helper.html.render.icon('redFlag') + ' No dependency.'; |
123 | | - }} |
| 105 | + { name: 'Sharing', property: 'specifiedSharing', |
| 106 | + formula: (r) => { |
| 107 | + if (r.isSharingMissing === true) return 'Not specified!'; |
| 108 | + return r.specifiedSharing; |
| 109 | + }, |
| 110 | + scoreFormula: (r) => { |
| 111 | + if (r.isSharingMissing === true) return 1; |
| 112 | + } |
| 113 | + }, |
| 114 | + { name: 'Coverage', type: 'numeric', property: 'fastCoverage', |
| 115 | + formula: (r) => { |
| 116 | + return helper.html.render.percentage(r.fastCoverage); |
| 117 | + }, |
| 118 | + scoreFormula: (r) => { |
| 119 | + if (!r.fastCoverage || r.fastCoverage < 0.85) return 1; |
| 120 | + } |
| 121 | + }, |
| 122 | + { name: 'Dependencies', |
| 123 | + formula: (r) => { |
| 124 | + const dep = map.dependencies[r.id]; |
| 125 | + if (dep) return helper.html.render.dependencies(r.id, r.name, dep); |
| 126 | + return 'No dependency'; |
| 127 | + }, |
| 128 | + scoreFormula: (r) => { |
| 129 | + if (!map.dependencies[r.id]) return 1; |
| 130 | + } |
| 131 | + } |
124 | 132 | ], |
125 | 133 | data: map.apexClasses, |
126 | 134 | sorting: { name: 'Score', order: 'desc' }, |
127 | | - coloring: { name: 'Score', formula: (s) => { return s > 0 ? helper.html.render.color('highlight') : ''; }}, |
128 | 135 | filtering: { formula: (r) => { return r.size !== -1 && r.isTest === false; }}, |
129 | 136 | showSearch: true |
130 | 137 | }); |
|
145 | 152 | element: 'datatable-triggers', |
146 | 153 | columns: [ |
147 | 154 | { name: 'Name', formula: (r) => { return helper.html.render.link('/'+r.id, r.name); }}, |
148 | | - { name: 'Score', formula: (r) => { |
149 | | - let score = 0; |
150 | | - if (!map.dependencies[r.id]) score++; |
151 | | - if (r.isApiVersionOld === true) score++; |
152 | | - if (r.isActive === false) score++; |
153 | | - if (r.length > 5000) score++; |
154 | | - return score; |
155 | | - }}, |
156 | | - { name: 'API', formula: (r) => { |
157 | | - if (r.isApiVersionOld === true) |
158 | | - return helper.html.render.icon('redFlag') + ' ' + r.apiVersion; |
159 | | - return r.apiVersion; |
160 | | - }}, |
| 155 | + { name: 'Score', type: 'numeric', property: '##score##' }, |
| 156 | + { name: 'API', type: 'numeric', property: 'apiVersion', |
| 157 | + scoreFormula: (r) => { |
| 158 | + if (r.isApiVersionOld === true) return 1; |
| 159 | + } |
| 160 | + }, |
161 | 161 | { name: 'Package', property: 'namespace' }, |
162 | | - { name: 'Active', property: 'isActive', formula: (r) => { return helper.html.render.checkbox(r.isActive); }}, |
163 | | - { name: 'Status', formula: (r) => { return helper.html.render.icon('greenFlag') + ' OK'; }}, |
164 | | - { name: 'Size', property: 'length', formula: (r) => { |
165 | | - if (r.length > 5000) |
166 | | - return helper.html.render.icon('redFlag') + ' ' + r.length; |
167 | | - return r.length; |
168 | | - }}, |
| 162 | + { name: 'Active', property: 'isActive', |
| 163 | + formula: (r) => { |
| 164 | + return helper.html.render.checkbox(r.isActive); |
| 165 | + }, |
| 166 | + scoreFormula: (r) => { |
| 167 | + if (r.isActive === false) return 1; |
| 168 | + } |
| 169 | + }, |
| 170 | + { name: 'Size', type: 'numeric', property: 'length', |
| 171 | + scoreFormula: (r) => { |
| 172 | + if (r.length > 5000) return 1; |
| 173 | + } |
| 174 | + }, |
169 | 175 | { name: 'SObject', formula: (r) => { |
170 | 176 | const objName = map.customObjects[r.sobject]; |
171 | 177 | return objName ? objName.developerName : r.sobject; |
|
182 | 188 | if (r.annotations) { r.annotations.forEach(e => html += e.name + '<br />'); } |
183 | 189 | return html; |
184 | 190 | }}, |
185 | | - { name: 'Dependencies', formula: (r) => { |
186 | | - const dep = map.dependencies[r.id]; |
187 | | - if (dep) return helper.html.render.dependencies(r.id, r.name, dep); |
188 | | - return helper.html.render.icon('redFlag') + ' No dependency.'; |
189 | | - }} |
| 191 | + { name: 'Dependencies', |
| 192 | + formula: (r) => { |
| 193 | + const dep = map.dependencies[r.id]; |
| 194 | + if (dep) return helper.html.render.dependencies(r.id, r.name, dep); |
| 195 | + return 'No dependency'; |
| 196 | + }, |
| 197 | + scoreFormula: (r) => { |
| 198 | + if (!map.dependencies[r.id]) return 1; |
| 199 | + } |
| 200 | + } |
190 | 201 | ], |
191 | 202 | data: map.apexTriggers, |
192 | 203 | sorting: { name: 'Score', order: 'desc' }, |
193 | | - coloring: { name: 'Score', formula: (s) => { return s > 0 ? helper.html.render.color('highlight') : ''; }}, |
194 | 204 | showSearch: true |
195 | 205 | }); |
196 | 206 | }, |
|
0 commit comments