「MediaWiki:Minerva.js」の版間の差分
(Mobileスキンのメニューに要素を追加するコード) |
細編集の要約なし |
||
| 1行目: | 1行目: | ||
/***************************** | /***************************** | ||
Mobileスキンのメニューを追加するコード。 | |||
PARAMS_ARTICLES_MENU: メニューの最上段ブロックの下に新たに追加するブロックの内容 | |||
PARAMS_ARTICLES_MENU: | |||
パラメータ: [表示名, アイコンクラス名, 記事名] | パラメータ: [表示名, アイコンクラス名, 記事名] | ||
*****************************/ | *****************************/ | ||
const PARAMS_ARTICLES_MENU = [ | const PARAMS_ARTICLES_MENU = [ | ||
['シリーズ紹介', 'minerva-icon--die', '大乱闘スマッシュブラザーズシリーズ'], | ['シリーズ紹介', 'minerva-icon--die', '大乱闘スマッシュブラザーズシリーズ'], | ||
| 24行目: | 21行目: | ||
var DOM_NAVIGATION = $('#p-navigation'); | var DOM_NAVIGATION = $('#p-navigation'); | ||
/** | /** | ||
* | * | ||
| 80行目: | 66行目: | ||
} | } | ||
makeArticlesMenu(PARAMS_ARTICLES_MENU); | makeArticlesMenu(PARAMS_ARTICLES_MENU); | ||
//メモ:ES6には未対応。 | //メモ:ES6には未対応。 | ||
/* | |||
const PARAMS_NAVIGATIONS_MENU = [['最近の更新', 'minerva-icon--history', '特別:最近の更新']]; | |||
function addToNavigationsMenu(params) { | |||
const items = params.map(function (a) { | |||
return makeMenuItemChild(a[0], a[1], a[2]); | |||
}).join(''); | |||
console.log(items); | |||
DOM_NAVIGATION.append(items); | |||
} | |||
*/ | |||
2024年7月20日 (土) 15:17時点における版
/*****************************
Mobileスキンのメニューを追加するコード。
PARAMS_ARTICLES_MENU: メニューの最上段ブロックの下に新たに追加するブロックの内容
パラメータ: [表示名, アイコンクラス名, 記事名]
*****************************/
const PARAMS_ARTICLES_MENU = [
['シリーズ紹介', 'minerva-icon--die', '大乱闘スマッシュブラザーズシリーズ'],
['ファイター', 'minerva-icon--die', 'ファイター'],
['アクション', 'minerva-icon--die', 'アクション'],
['テクニック', 'minerva-icon--die', 'テクニック'],
['ゲームモード', 'minerva-icon--die', 'ゲームモード'],
['ステージ', 'minerva-icon--die', 'ステージ'],
['アイテム', 'minerva-icon--die', 'アイテム'],
['音楽', 'minerva-icon--die', '音楽'],
];
//設定ここまで
//注意:oo-ui-iconElementアイコン系はそれが存在するページを開いたことがある状態じゃないと表示できない
//以下、コード記述。
var WIKI_URL = '/myappswiki/index.php';
var DOM_NAVIGATION = $('#p-navigation');
/**
*
* @param items {(string, string, string)[][]}
*/
function makeArticlesMenu(params) {
const items = makeMenuItemsParent(
params.map(function (a) {
return makeMenuItemChild(a[0], a[1], a[2]);
})
);
DOM_NAVIGATION.after(items);
}
/**
* @param children {string[]}
*/
function makeMenuItemsParent(children) {
const strChildren = children.join('');
return '<ul class="toggle-list__list">' + strChildren + '</ul>';
}
/**
* @param label {string}
* @param icon {string}
* @param pagename {string}
*/
function makeMenuItemChild(label, icon, pagename) {
const a =
'<li class="toggle-list-item "> \
<a class="toggle-list-item__anchor " href="' +
WIKI_URL +
'/' +
pagename +
'" data-mw="interface"> \
<span class="minerva-icon ' +
icon +
'"></span> \
<span class="toggle-list-item__label">' +
label +
'</span> \
</a> \
</li>';
return a;
}
makeArticlesMenu(PARAMS_ARTICLES_MENU);
//メモ:ES6には未対応。
/*
const PARAMS_NAVIGATIONS_MENU = [['最近の更新', 'minerva-icon--history', '特別:最近の更新']];
function addToNavigationsMenu(params) {
const items = params.map(function (a) {
return makeMenuItemChild(a[0], a[1], a[2]);
}).join('');
console.log(items);
DOM_NAVIGATION.append(items);
}
*/