203
204 if (S.height < 20) { t = '' }
205
206 var e = document.createElement('div') 207
208 e.setAttribute('id', 'nuSectionLeft' + i)
209
216 $('#nuSectionLeft' + i).append('<div id="nuLeftMove' + i + '" data-group="' + g + '" data-section="' + s + '" class="nuDragLine" title="Resize ' + S.label + ' " style="left:0px; bottom:0px; width:139px;">')
217 }
218
219 var e = document.createElement('div') 220
221 e.setAttribute('id', 'nuSection' + i)
222
285
286 let o, S, g, s, T
287
288 for (var i = 0; i < sel.length; i++) { 289 min = Math.min(min, this.sectionOfObject(sel[i].id))
290 }
291
292 grp = $('#nuSection' + min).attr('data-group')
293 sec = $('#nuSection' + min).attr('data-section')
294
295 for (var i = 0; i < sel.length; i++) { 296 o = this.getObject(sel[i].id)
297 S = this.sectionOfObject(sel[i].id)
298 g = $('#nuSection' + S).attr('data-group')
668 nuDragR.dragging = true
669 // var gs = nuDragR.getGroupAndSection(s[0].id);
670
671 for (var i = 0; i < s.length; i++) { 672 var o = nuDragR.getObject(s[i].id)
673 r = Math.max(r, o.left + o.width - (o.borderWidth * 2))
674 }
669 // var gs = nuDragR.getGroupAndSection(s[0].id);
670
671 for (var i = 0; i < s.length; i++) {
672 var o = nuDragR.getObject(s[i].id) 673 r = Math.max(r, o.left + o.width - (o.borderWidth * 2))
674 }
675
673 r = Math.max(r, o.left + o.width - (o.borderWidth * 2))
674 }
675
676 for (var i = 0; i < s.length; i++) { 677 var o = nuDragR.getObject(s[i].id)
678 o.left = r - o.width - (o.borderWidth * 2)
679
674 }
675
676 for (var i = 0; i < s.length; i++) {
677 var o = nuDragR.getObject(s[i].id) 678 o.left = r - o.width - (o.borderWidth * 2)
679
680 nuDragR.setObject(o)
689 nuDragR.dragging = true
690 const gs = nuDragR.getGroupAndSection(s[0].id)
691
692 for (var i = 0; i < s.length; i++) { 693 if (JSON.stringify(nuDragR.getGroupAndSection(s[i].id)) != JSON.stringify(gs)) {
694 return
695 }
698 t = Math.min(t, o.top)
699 }
700
701 for (var i = 0; i < s.length; i++) { 702 // var o = nuDragR.getObject(s[i]);
703 s[i].top = t
704
713 nuDragR.dragging = true
714 const gs = nuDragR.getGroupAndSection(s[0].id)
715
716 for (var i = 0; i < s.length; i++) { 717 if (JSON.stringify(nuDragR.getGroupAndSection(s[i].id)) != JSON.stringify(gs)) {
718 return
719 }
718 return
719 }
720
721 var o = nuDragR.getObject(s[i].id) 722 b = Math.max(b, o.top + o.height - (o.borderWidth * 2))
723 }
724
722 b = Math.max(b, o.top + o.height - (o.borderWidth * 2))
723 }
724
725 for (var i = 0; i < s.length; i++) { 726 var o = nuDragR.getObject(s[i].id)
727 o.top = b - o.height - (o.borderWidth * 2)
728
723 }
724
725 for (var i = 0; i < s.length; i++) {
726 var o = nuDragR.getObject(s[i].id) 727 o.top = b - o.height - (o.borderWidth * 2)
728
729 nuDragR.setObject(o)
741 const d = document.getElementsByClassName('nuDragSelected')
742 nuDragR.dragging = true
743
744 for (var i = 0; i < d.length; i++) { 745 o = new nuOrderedSelectObjects(d[i].id)
746
747 t = Math.min(t, Number(o.top)) // -- calculate highest top
757 const newGap = (b - t - h) / (a.length - 1)
758 let newTop = t
759
760 for (var i = 0; i < s.length - 1; i++) { // -- reposition all Objects ordered by highest (except the last one) 761 $('#' + s[i].id).css('top', newTop) // -- move object
762 newTop = newTop + newGap + Number(s[i].height)
763 }
771 const d = document.getElementsByClassName('nuDragSelected')
772 nuDragR.dragging = true
773
774 for (var i = 0; i < d.length; i++) { 775 o = new nuOrderedSelectObjects(d[i].id)
776
777 l = Math.min(l, Number(o.left)) // -- calculate leftest left
787 const newGap = (b - l - w) / (a.length - 1)
788 let newLeft = l
789
790 for (var i = 0; i < s.length - 1; i++) { // -- reposition all Objects ordered by leftest (except the last one) 791 $('#' + s[i].id).css('left', newLeft) // -- move object
792 newLeft = newLeft + newGap + Number(s[i].width)
793 }
797 const s = document.getElementsByClassName('nuDragSelected')
798 let w = 0
799
800 for (var i = 0; i < s.length; i++) { 801 w = Math.max(w, parseInt(s[i].style.width))
802 }
803
801 w = Math.max(w, parseInt(s[i].style.width))
802 }
803
804 for (var i = 0; i < s.length; i++) { 805 if (parseInt(s[i].style.left) + w < nuDrag.areaWidth()) {
806 s[i].style.width = String(w) + 'px'
807 } else {
816 const s = document.getElementsByClassName('nuDragSelected')
817 let h = 0
818
819 for (var i = 0; i < s.length; i++) { 820 h = Math.max(h, parseInt(s[i].style.height))
821 }
822
822
823 if (nuDrag.multipleSections()) { return }
824
825 for (var i = 0; i < s.length; i++) { 826 s[i].style.height = String(h) + 'px'
827 }
828
833 const s = document.getElementsByClassName('nuDragSelected')
834 let w = 10000000
835
836 for (var i = 0; i < s.length; i++) { 837 w = Math.min(w, parseInt(s[i].style.width))
838 }
839
839
840 if (nuDrag.multipleSections()) { return }
841
842 for (var i = 0; i < s.length; i++) { 843 s[i].style.width = String(w) + 'px'
844 }
845
851 const s = document.getElementsByClassName('nuDragSelected')
852 let h = 10000000
853
854 for (var i = 0; i < s.length; i++) { 855 h = Math.min(h, parseInt(s[i].style.height))
856 }
857
It is recommended to use let
or const
over var
.
This will help prevent re-declaration of variables that are in the global scope when using var
.
ES6 allows programmers to create variables with block scope instead of function scope using the let
and const
keywords.
Block scope is common in many other programming languages and helps programmers avoid mistakes such as this one:
var count = people.length;
var enoughFood = count > sandwiches.length;
if (enoughFood) {
var count = sandwiches.length; // accidentally overriding the count variable
console.log("We have " + count + " sandwiches for everyone. Plenty for all!");
}
// our count variable is no longer accurate
console.log("We have " + count + " people and " + sandwiches.length + " sandwiches!");
Block scoped variables shadow outer declarations instead of writing to them.
NOTE: There are certain edge cases where users might want to consider var. Consider this example:
var lib = lib || { run: () => {} }
Here, lib
might be a library that is exposed to an HTML file using a <script>
tag.
The var
keyword helps avoid re-writing lib
if it has already been declared via an injected script that was executed before this one.
Ideally, you should let bundlers worry about cases like this.
But if you want to use var
anyway, consider using a skipcq comment, or disabling the issue altogether.
Bad Practice
var x = "y";
var CONFIG = {};
Recommended
let x = "y";
const CONFIG = {};