Skip to content

Commit ec8f58d

Browse files
author
hikki
committed
v3
1 parent 4d2d9e3 commit ec8f58d

File tree

1 file changed

+45
-55
lines changed

1 file changed

+45
-55
lines changed

resources/assets/component.js

Lines changed: 45 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -195,10 +195,9 @@ window.ComponentDot = class {
195195
}
196196

197197
let search = document.querySelector(`#${this.name} .dot-search`);
198-
let object = this;
199198
search.addEventListener('input', () => {
200199
setTimeout(() =>{
201-
object.search(search);
200+
this.search(search);
202201
}, 500);
203202
});
204203
}
@@ -337,17 +336,16 @@ window.ComponentCascadeDot = class {
337336
this.insert_data = [];
338337
this.delete_data = [];
339338
this.make().makeSelect(select);
340-
let object = this;
341339
setTimeout(() => {
342-
object.selected_label_dom.forEach((D) => {
340+
this.selected_label_dom.forEach((D) => {
343341
D.click();
344342
});
345343
});
346344
this.selectInputDOM.value = JSON.stringify(this.select_data);
347345
let search = document.querySelector(`#${this.name} .dot-search`);
348346
search.addEventListener('input', () => {
349347
setTimeout(()=> {
350-
object.search(search);
348+
this.search(search);
351349
}, 500);
352350
});
353351
}
@@ -492,9 +490,8 @@ window.ComponentCascadeDot = class {
492490
div.setAttribute('data-id', element.getAttribute('data-id'));
493491
div.setAttribute('stack', stack);
494492
div.insertAdjacentHTML('afterbegin',`<span>${element.querySelector('span').textContent}</span>`);
495-
let object = this;
496-
div.addEventListener('click', function () {
497-
object.select(element, stack);
493+
div.addEventListener('click', ()=> {
494+
this.select(element, stack);
498495
});
499496
this.SELECTED_DOM.append(div);
500497
}
@@ -768,10 +765,9 @@ window.ComponentLine = class {
768765
makeBody() {
769766
let records = [];
770767
let tbody = document.createElement('tbody');
771-
let object = this;
772768
let columns = this.COLUMNS;
773769
if (Array.isArray(this.DATA) === false) return;
774-
this.DATA.forEach(function (value, key) {
770+
this.DATA.forEach((value, key)=> {
775771
let tr = document.createElement('tr');
776772
tr.setAttribute('sortable-item', 'sortable-item');
777773
let record = {};
@@ -786,13 +782,13 @@ window.ComponentLine = class {
786782
let td = document.createElement('td');
787783
if (value[column]) {
788784
record[column] = value[column];
789-
object.makeTd(td, columns[column].type, value[column], column);
785+
this.makeTd(td, columns[column].type, value[column], column);
790786
if (columns[column].style) {
791787
td.style = columns[column].style;
792788
}
793789
} else {
794790
record[column] = '';
795-
object.makeTd(td, columns[column].type, '', column);
791+
this.makeTd(td, columns[column].type, '', column);
796792
if (columns[column].style) {
797793
td.style = columns[column].style;
798794
}
@@ -802,13 +798,13 @@ window.ComponentLine = class {
802798
}
803799

804800
let td = document.createElement('td');
805-
object.operateButton(td);
801+
this.operateButton(td);
806802
tr.appendChild(td);
807803
tbody.appendChild(tr);
808804
records.push(record);
809805
});
810-
object.DATA = records;
811-
object.DATA_INPUT.value = JSON.stringify(records);
806+
this.DATA = records;
807+
this.DATA_INPUT.value = JSON.stringify(records);
812808
tbody.setAttribute('sortable-list', 'sortable-list');
813809
tbody.className = 'dlp-scroll';
814810
this.TBODY_DOM = tbody;
@@ -820,41 +816,39 @@ window.ComponentLine = class {
820816
tfoot.insertAdjacentHTML('afterbegin', foot);
821817
this.TABLE_DOM.appendChild(tfoot);
822818
/*insert action*/
823-
let object = this;
824819
let i = document.createElement('i');
825820
i.style.cursor = 'pointer';
826821
i.insertAdjacentHTML('afterbegin', _component.write);
827-
i.addEventListener('click', function () {
828-
let inputs = object.DOM.getElementsByTagName('tfoot')[0].getElementsByTagName('input');
822+
i.addEventListener('click', ()=> {
823+
let inputs = this.DOM.getElementsByTagName('tfoot')[0].getElementsByTagName('input');
829824
let insert = {};
830825
let tr = document.createElement('tr');
831826
tr.setAttribute('sortable-item', 'sortable-item');
832-
tr.setAttribute('data-key', object.DATA.length.toString());
827+
tr.setAttribute('data-key', this.DATA.length.toString());
833828
for (let input of inputs) {
834829
let td = document.createElement('td');
835830
let column = input.getAttribute('data-column');
836831
insert[column] = input.value;
837832

838-
object.makeTd(td, object.COLUMNS[column].type, input.value, column);
839-
if (object.COLUMNS[column].style) {
840-
td.style = object.COLUMNS[column].style;
833+
this.makeTd(td, this.COLUMNS[column].type, input.value, column);
834+
if (this.COLUMNS[column].style) {
835+
td.style = this.COLUMNS[column].style;
841836
}
842837
tr.appendChild(td);
843838
input.value = '';
844839
}
845840
let td = document.createElement('td');
846-
object.operateButton(td);
841+
this.operateButton(td);
847842
tr.appendChild(td);
848-
object.TBODY_DOM.appendChild(tr);
849-
object.DATA.push(insert);
850-
object.DATA_INPUT.value = JSON.stringify(object.DATA);
851-
object.TBODY_DOM.scrollTop = object.TBODY_DOM.scrollHeight;
843+
this.TBODY_DOM.appendChild(tr);
844+
this.DATA.push(insert);
845+
this.DATA_INPUT.value = JSON.stringify(this.DATA);
846+
this.TBODY_DOM.scrollTop = this.TBODY_DOM.scrollHeight;
852847
}, false);
853848
this.DOM.getElementsByClassName('insert_handel')[0].appendChild(i);
854849
}
855850

856851
makeTd(td, type, value, column, attributes) {
857-
let object = this;
858852
switch (type) {
859853
case 'text':
860854
td.insertAdjacentHTML('afterbegin', `<p style="display: block;" class="dlp-text" title="${value}">${value}</p>`);
@@ -868,12 +862,12 @@ window.ComponentLine = class {
868862
if (!attributes.hasOwnProperty(attribute)) continue;
869863
input.setAttribute(attribute, attributes[attribute]);
870864
}
871-
input.addEventListener('input', function () {
872-
let key = this.parentNode.parentNode.getAttribute('data-key');
873-
let column = this.getAttribute('data-column');
874-
if (object.DATA[key]) {
875-
object.DATA[key][column] = this.value;
876-
object.DATA_INPUT.value = JSON.stringify(object.DATA);
865+
input.addEventListener('input', ()=> {
866+
let key = input.parentNode.parentNode.getAttribute('data-key');
867+
let column = input.getAttribute('data-column');
868+
if (this.DATA[key]) {
869+
this.DATA[key][column] = input.value;
870+
this.DATA_INPUT.value = JSON.stringify(this.DATA);
877871
}
878872
}, false);
879873
td.appendChild(input);
@@ -885,7 +879,6 @@ window.ComponentLine = class {
885879
}
886880

887881
operateButton(td) {
888-
let object = this;
889882
if (this.OPTIONS.sortable) {
890883
let M = document.createElement('i');
891884
M.setAttribute('style', 'cursor: pointer;margin-right:5px;');
@@ -898,14 +891,14 @@ window.ComponentLine = class {
898891
let D = document.createElement('span');
899892
D.setAttribute('style', 'cursor: pointer;display: inline-block;');
900893
D.insertAdjacentHTML('afterbegin', _component.trash);
901-
D.addEventListener('click', function () {
902-
let tr = this.parentNode.parentNode;
894+
D.addEventListener('click', ()=> {
895+
let tr = D.parentNode.parentNode;
903896
let tbody = tr.parentNode;
904897
let key = tr.getAttribute('data-key');
905898

906-
object.DATA.splice(key, 1);
899+
this.DATA.splice(key, 1);
907900
tbody.removeChild(tr);
908-
object.DATA_INPUT.value = JSON.stringify(object.DATA);
901+
this.DATA_INPUT.value = JSON.stringify(this.DATA);
909902
for (let node in tbody.childNodes) {
910903
if (!tbody.childNodes.hasOwnProperty(node)) continue;
911904
if (tbody.childNodes[node] instanceof HTMLElement) {
@@ -971,17 +964,16 @@ window.ComponentPlane = class {
971964
/*X*/
972965
let X = document.createElement('i');
973966
X.insertAdjacentHTML('afterbegin', _component.close);
974-
let object = this;
975-
X.addEventListener('click', function () {
976-
if (object.DOM instanceof HTMLElement) {
977-
object.DOM.remove();
967+
X.addEventListener('click', ()=> {
968+
if (this.DOM instanceof HTMLElement) {
969+
this.DOM.remove();
978970
}
979971
if (document.getElementById('kvFileinputModal') instanceof HTMLElement) {
980972
document.getElementById('kvFileinputModal').remove();
981973
}
982974
}, false);
983-
object.DOM.querySelector('.plane-header').append(X);
984-
this.MODEL_BODY_DOM = object.DOM.querySelector('.plane-body');
975+
this.DOM.querySelector('.plane-header').append(X);
976+
this.MODEL_BODY_DOM = this.DOM.querySelector('.plane-body');
985977
}
986978

987979
makeContent() {
@@ -1007,10 +999,9 @@ window.ComponentPlane = class {
1007999
element.innerText = '提交中...';
10081000
let form = this.MODEL_BODY_DOM.getElementsByTagName('form')[0];
10091001
let formdata = new FormData(form);
1010-
let object = this;
1011-
_component.request(this.XHR.url, this.XHR.method, formdata, function (response) {
1012-
if (typeof object.XHR.callback == 'function') {
1013-
object.XHR.callback(response);
1002+
_component.request(this.XHR.url, this.XHR.method, formdata, (response)=> {
1003+
if (typeof this.XHR.callback == 'function') {
1004+
this.XHR.callback(response);
10141005
return;
10151006
}
10161007
if (response.code === 0) {
@@ -1166,11 +1157,10 @@ window.ComponentCascadeLine = class {
11661157
this.URL = url;
11671158
this.make().makeSelect(select).makeHeader();
11681159

1169-
let object = this;
11701160
let search = document.querySelector(`#${this.name} .dot-search`);
11711161
search.addEventListener('input', () => {
11721162
setTimeout(()=> {
1173-
object.search(search);
1163+
this.search(search);
11741164
}, 700);
11751165
});
11761166
}
@@ -1208,7 +1198,7 @@ window.ComponentCascadeLine = class {
12081198
object.PLANE_DOM.remove();
12091199
});
12101200
});
1211-
}).bind(this));
1201+
}));
12121202
I.insertAdjacentHTML('afterbegin',_component.node);
12131203
this.HEADER_DOM.append(I);
12141204
}
@@ -1382,7 +1372,7 @@ window.ComponentCascadeLine = class {
13821372
/*X*/
13831373
let X = document.createElement('i');
13841374
X.insertAdjacentHTML('afterbegin', _component.close);
1385-
X.addEventListener('click', function () {
1375+
X.addEventListener('click', ()=> {
13861376
panelDom.remove();
13871377
}, false);
13881378
panelDom.querySelector('.plane-header').append(X);
@@ -1518,7 +1508,7 @@ window.ComponentCascadeLine = class {
15181508
/*X close panel*/
15191509
let X = document.createElement('i');
15201510
X.insertAdjacentHTML('afterbegin', _component.close);
1521-
X.addEventListener('click', function () {
1511+
X.addEventListener('click', ()=> {
15221512
panelDom.remove();
15231513
}, false);
15241514
panelDom.querySelector('.plane-header').append(X);
@@ -1538,7 +1528,7 @@ window.ComponentCascadeLine = class {
15381528
}, function () {
15391529
object.submit_block = false;
15401530
});
1541-
}).bind(this));
1531+
}));
15421532
D.insertAdjacentHTML('afterbegin',`<span>${data.val}</span><i class="right">${_component.trash}</i>`);
15431533
this.PLANE_BODY.append(D);
15441534
}

0 commit comments

Comments
 (0)