375
回編集
編集の要約なし タグ: モバイル編集 モバイルウェブ編集 |
編集の要約なし タグ: モバイル編集 モバイルウェブ編集 |
||
251行目: | 251行目: | ||
} | } | ||
/** | |||
* @returns {this} | |||
*/ | |||
setNotArticleClass() { | setNotArticleClass() { | ||
if (this.wgIsArticle && !this.wgIsMainPage) return; | if (this.wgIsArticle && !this.wgIsMainPage) return this; | ||
MobileUIBuilder | MobileUIBuilder | ||
258行目: | 261行目: | ||
.classList | .classList | ||
.add("mobile-ui-not-article"); | .add("mobile-ui-not-article"); | ||
return this; | |||
} | } | ||
/** | |||
* @returns {this} | |||
*/ | |||
assembleRightMenuButton() { | assembleRightMenuButton() { | ||
if (!this.wgUserId) return; | if (!this.wgUserId) return this; | ||
if (!MobileUIBuilder.authenticatedBody) return; | if (!MobileUIBuilder.authenticatedBody) return this; | ||
if (MobileUIBuilder.rightMenuButtonElement) return; | if (MobileUIBuilder.rightMenuButtonElement) return this; | ||
const userButton = MobileUIBuilder.userButton; | const userButton = MobileUIBuilder.userButton; | ||
277行目: | 285行目: | ||
"mobile-ui-icon-puzzle", | "mobile-ui-icon-puzzle", | ||
); | ); | ||
button.addEventListener("click", function (event) { | button.addEventListener("click", function (event) { | ||
event.preventDefault(); | event.preventDefault(); | ||
294行目: | 303行目: | ||
buttonWrapper.append(button); | buttonWrapper.append(button); | ||
MobileUIBuilder.headerElement.append(buttonWrapper); | MobileUIBuilder.headerElement.append(buttonWrapper); | ||
return this; | |||
} | } | ||
/** | |||
* @returns {this} | |||
*/ | |||
prebuild() { | prebuild() { | ||
this.setNotArticleClass() | return this | ||
.setNotArticleClass() | |||
.assembleRightMenuButton(); | |||
} | } | ||
/** | /** | ||
* @param {MobileUI} mobileUI | * @param {MobileUI} mobileUI | ||
* @returns {this} | |||
*/ | */ | ||
modify(mobileUI) { | modify(mobileUI) { | ||
const leftMenu = MobileUIBuilder.menuElement; | const leftMenu = MobileUIBuilder.menuElement; | ||
if (leftMenu.classList.contains(MobileUIBuilder.leftMenuClass)) return; | if (leftMenu.classList.contains(MobileUIBuilder.leftMenuClass)) return this; | ||
MobileUIBuilder.setRightMenuVisible(false); | MobileUIBuilder.setRightMenuVisible(false); | ||
333行目: | 349行目: | ||
leftMenu.classList.add(MobileUIBuilder.leftMenuClass); | leftMenu.classList.add(MobileUIBuilder.leftMenuClass); | ||
return this; | |||
} | } | ||
/** | /** | ||
* @param {MobileUI} mobileUI | * @param {MobileUI} mobileUI | ||
* @returns {this} | |||
*/ | */ | ||
build(mobileUI) { | build(mobileUI) { | ||
if (MobileUIBuilder.menuElement) { | if (MobileUIBuilder.menuElement) { | ||
this.modify(mobileUI); | this.modify(mobileUI); | ||
return; | return this; | ||
} | } | ||
358行目: | 377行目: | ||
observer.observe(MobileUIBuilder.menuContainerElement, { childList: true }); | observer.observe(MobileUIBuilder.menuContainerElement, { childList: true }); | ||
return this; | |||
} | } | ||
} | } |