SharePoint 2010 リスト/ライブラリ アイテム コンテクスト メニューで任意の項目を非表示にする

SharePoint 2010
スポンサーリンク

SharePoint 2010 向けの投稿は初めてかもしれないですね。今回は、リストやライブラリのアイテム コンテクスト メニューで表示されるメニューのうち、任意のメニューを非表示にするカスタマイズをご紹介します。このメニューは、スクリプトで描画されているので、厳密にいえばスクリプト ファイル(core.js など)の上書きが必要になるのですが、より簡単に出来る方法として、今回は CSS で非表示にします。

コンテクスト メニューとは、アイテム タイトルの右側にある「▼」をクリックした際に表示されるメニューのことです。

20130731-1

メニューを非表示にするスタイル記述方法

何でも良いのですが、今回は「通知」と「権限の管理」を非表示にします。リストやライブラリのビュー ページや、Web パーツを配置したページに「コンテンツ エディター」Web パーツを配置し、下記のスタイルを書き込みます。

<style>
li[CUICommand="Subscribe"].ms-MenuUIULItem,
li[CUICommand="ManagePermissions"].ms-MenuUIULItem{
	display:none;
}
</style>

カスタマイズは以上です。ページの編集を保存し、再度コンテクスト メニューを表示すると、非表示になっていることが確認できます。

20130731-2

メニューの指定方法

コンテクスト メニューはリスト タグで構成されており、また、各メニューには「CUICommand」や「sequence」という属性が割り当てられています。そのため、スタイルのセレクタで、このいずれかの属性を指定することで、任意のメニューの表示を操作できます。

下記に代表的なメニューと、それぞれの属性のマッピング表を示します。「CUICommand」に関しては、全てのメニューに割り当てられているわけではないことに注意が必要です。

メニューCUICommandsequence
アイテムの表示/プロパティの表示ViewProperties200
アイテムの編集/プロパティの編集EditProperties220
ブラウザーで表示255
ブラウザーで編集256
ドキュメントの編集EditDocument260
チェックアウトCheckOut300
チェックインCheckIn300
チェックアウトの破棄DiscardCheckOut310
メジャー バージョンの発行Publish320
承認の取り消しCancelApproval330
バージョン履歴ViewVersions800
承認/却下Moderate850
ポリシー準拠の詳細898
ワークフローViewWorkflows900
通知Subscribe1100
送信SendTo400
権限の管理ManagePermissions1160
削除Delete1190

さいごに

このカスタマイズ方法は、あくまでも「非表示」であるため、リボン メニューからの操作は権限に応じて可能です。ただ、「ユーザーに不必要なメニューは、なるべく表示させたくない」というご要望は良く聞くので、使う機会はそれなりにあるかもしれませんね。

タイトルとURLをコピーしました