57 lines
1.5 KiB
JavaScript
57 lines
1.5 KiB
JavaScript
"use strict";
|
|
|
|
class PopingNotice {
|
|
constructor() {
|
|
this.query_selector = '#poping-notice';
|
|
this.closePopingNotice.addEventListener('click', (event) => {
|
|
this.setVisible(false);
|
|
});
|
|
}
|
|
|
|
setVisible(option) {
|
|
if (option) {
|
|
this.element.classList.add('active');
|
|
} else {
|
|
this.element.classList.remove('active');
|
|
}
|
|
}
|
|
|
|
setMessage(message) {
|
|
if (!message instanceof Array)
|
|
throw 'Message is not instance of Array.';
|
|
let p = document.createElement('p');
|
|
for (let node of message) {
|
|
if (typeof node === "string"
|
|
|| node instanceof String) {
|
|
node = document.createTextNode(node);
|
|
p.appendChild(node);
|
|
} else if ( node instanceof Node) {
|
|
p.appendChild(node);
|
|
} else {
|
|
throw ('Node is not a instance of Node nor a String');
|
|
}
|
|
}
|
|
this.popingNoticeContent.innerHTML = '';
|
|
this.popingNoticeContent.appendChild(p);
|
|
|
|
}
|
|
|
|
get querySelector() {
|
|
return this.query_selector;
|
|
}
|
|
|
|
get element() {
|
|
return document.querySelector(this.querySelector);
|
|
}
|
|
|
|
get popingNoticeContent() {
|
|
return this.element.querySelector('#poping-notice-content');
|
|
}
|
|
|
|
get closePopingNotice() {
|
|
return this.element.querySelector('#close-poping-notice');
|
|
}
|
|
}
|
|
|
|
export { PopingNotice };
|