|
|
@@ -281,16 +281,15 @@ export function vmsMessageCtrl(obj, X, Y){
|
|
|
let phaseNumPosition = vmsDiv.children().eq(2).children().eq(0);
|
|
|
let intervalNumPosition = vmsDiv.children().eq(2).children().eq(1);
|
|
|
let closePosition = vmsDiv.children().eq(0).children().eq(0);
|
|
|
- let intervalArr = setVmsInterval(msgs, imgPosition, phaseNumPosition, intervalNumPosition);
|
|
|
let vmsInfo = _vmsMap.get(obj.ID);
|
|
|
vmsInfo.set('div', vmsDiv);
|
|
|
- vmsInfo.set('intervalArr', intervalArr);
|
|
|
+ setVmsInterval(msgs, imgPosition, phaseNumPosition, intervalNumPosition, 0, obj.ID);
|
|
|
+ //vmsInfo.set('intervalArr', intervalArr);
|
|
|
|
|
|
dragEvent(vmsDiv, 'vms-box');
|
|
|
|
|
|
closePosition.on('click', function(){
|
|
|
- clearInterval(vmsInfo.get('intervalArr')[0]);
|
|
|
- clearInterval(vmsInfo.get('intervalArr')[1]);
|
|
|
+ clearTimeout(vmsInfo.get('interval'));
|
|
|
vmsInfo.get('div').remove();
|
|
|
vmsInfo.delete('div');
|
|
|
});
|
|
|
@@ -342,35 +341,30 @@ export function vmsMessageCtrl(obj, X, Y){
|
|
|
* @param {*} position vms 이미지 위치
|
|
|
* @param {*} phase phase 번호 텍스트 위치
|
|
|
* @param {*} num 카운트 텍스트 위치
|
|
|
- * @returns 인터벌 배열
|
|
|
*/
|
|
|
-export function setVmsInterval(data, position, phase, num){
|
|
|
- let idx = 1;
|
|
|
- let intervalNum = 4;
|
|
|
- $(position).prop('src', 'data:image/png;base64,'+ data[0].vms_dspl_msg_imag);
|
|
|
- $(phase).text(`1/${data.length}`);
|
|
|
- $(num).text(intervalNum--);
|
|
|
-
|
|
|
- //카운트 표시 인터벌
|
|
|
- let timeInterval = setInterval(()=>{
|
|
|
+export function setVmsInterval(data, position, phase, num, idx, id){
|
|
|
+ if (data[idx]) {
|
|
|
+ $(position).prop('src', 'data:image/png;base64,'+ data[idx].vms_dspl_msg_imag);
|
|
|
+ let time = data[idx].dspl_hh;
|
|
|
+ let intervalNum = data[idx].dspl_hh;
|
|
|
+ idx++;
|
|
|
$(num).text(intervalNum--);
|
|
|
- if(intervalNum === 0){
|
|
|
- intervalNum = 4;
|
|
|
- };
|
|
|
- }, 1000);
|
|
|
-
|
|
|
- //4초마다 이미지 변경 인터벌
|
|
|
- let interval = setInterval(() => {
|
|
|
- if(data[1]){
|
|
|
- $(position).prop('src', 'data:image/png;base64,'+ data[idx++].vms_dspl_msg_imag);
|
|
|
- $(phase).text(`${idx}/${data.length}`);
|
|
|
- if(idx === data.length){
|
|
|
- idx = 0;
|
|
|
- }
|
|
|
+ $(phase).text(idx + '/' + data.length);
|
|
|
+ let timeInterval = setInterval(()=>{
|
|
|
+ $(num).text(intervalNum--);
|
|
|
+ if(intervalNum === 0){
|
|
|
+ clearInterval(timeInterval);
|
|
|
+ }
|
|
|
+ }, 1000);
|
|
|
+ if(idx === data.length){
|
|
|
+ idx = 0;
|
|
|
}
|
|
|
- }, 4000);
|
|
|
-
|
|
|
- return [interval, timeInterval];
|
|
|
+ let interval = setTimeout(() => {
|
|
|
+ window.clearTimeout(interval);
|
|
|
+ setVmsInterval(data, position, phase, num, idx, id);
|
|
|
+ }, time * 1000);
|
|
|
+ _vmsMap.get(id).set('interval', interval);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|