[]
Sheets.ContextMenu.MenuView
• new MenuView()
MenuViewを表します。
▸ createMenuItemElement(menuItemData
): HTMLElement
メニュー項目ビューを作成します。
実例
window.addEventListener('load', function() {
var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
var activeSheet = spread.getActiveSheet();
activeSheet.setValue(0,0,'please right click');
activeSheet.setValue(1,0,'you will find there is a new context menu item "Change BackColor"');
activeSheet.setValue(2,0,'click it');
var selectWithABackgroundColor = {
text: "Change BackColor",
name: "changeColorWithBg",
workArea: "viewport",
subMenu: [
{
name: "selectColorPicker",
command: "changeBackColor"
}
]
};
spread.contextMenu.menuData.push(selectWithABackgroundColor);
var changeBackgroundColorCommand = {
canUndo: false,
execute: function(spread, options) {
spread.suspendPaint();
spread.options.backColor = options.commandOptions;
spread.resumePaint();
}
};
var commandManager = spread.commandManager();
commandManager.register("changeBackColor", changeBackgroundColorCommand, null, false, false, false, false);
function CustomMenuView() {
}
CustomMenuView.prototype = new GC.Spread.Sheets.ContextMenu.MenuView();
CustomMenuView.prototype.createMenuItemElement = function(menuItemData) {
var self = this;
if (menuItemData.name === "selectColorPicker") {
var containers = GC.Spread.Sheets.ContextMenu.MenuView.prototype.createMenuItemElement.call(self, menuItemData);
var supMenuItemContainer = containers[0];
while (supMenuItemContainer.firstChild) {
supMenuItemContainer.removeChild(supMenuItemContainer.firstChild);
}
var colorPicker = createColorpicker();
supMenuItemContainer.appendChild(colorPicker);
return supMenuItemContainer;
} else {
var menuItemView = GC.Spread.Sheets.ContextMenu.MenuView.prototype.createMenuItemElement.call(self, menuItemData);
return menuItemView;
}
};
CustomMenuView.prototype.getCommandOptions = function(menuItemData, host, event) {
if (menuItemData && menuItemData.name === "selectColorPicker") {
var ele = event.target || event.srcElement;
return ele.style.backgroundColor;
}
};
CustomMenuView.prototype.getCommandOptions = function(menuItemData, host, event) {
if (menuItemData && menuItemData.name === "selectColorPicker") {
var ele = event.target || event.srcElement;
return ele.style.backgroundColor;
}
};
var colors = ['rgb(255,255,255)', 'rgb(0,255,255)', 'rgb(255,0,255)', 'rgb(255,255,0)', 'rgb(255,0,0)',
'rgb(0,255,0)', 'rgb(0,0,255)', 'rgb(0,0,0)'];
function createColorpicker() {
var colorPicker = document.createElement('div');
colorPicker.className = 'colorPickerContent';
for (var j = 0; j < 8; j++) {
var colorDom = document.createElement("div");
colorDom.className = 'colorDom';
colorDom.style.width = 14 + 'px';
colorDom.style.height = 14 + 'px';
colorDom.style.margin = "0 0 0 6px";
colorDom.style.display = 'inline-block';
colorDom.style['backgroundColor'] = colors[j];
colorPicker.appendChild(colorDom);
}
return colorPicker;
}
spread.contextMenu.menuView = new CustomMenuView();
});
名前 | 型 | 説明 |
---|---|---|
menuItemData |
IMenuItemData |
表示するメニュー項目のデータ |
HTMLElement
メニュー項目ビュー
▸ getCommandOptions(menuItemData
, host
, event
): any
指定したメニュー項目のコマンドオプションを取得します。
実例
var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
function CustomMenuView() {
}
CustomMenuView.prototype = new GC.Spread.Sheets.ContextMenu.MenuView();
CustomMenuView.prototype.getCommandOptions = function (menuItemData, host, event) {
if (menuItemData && menuItemData.name === "markWithABg") {
var ele = event.target || event.srcElement;
if (ele.className.indexOf("colorpicker-div-inner-colorcell") !== -1) {
ele = ele.parentElement;
}
return ele.style.background;
}
};
名前 | 型 | 説明 |
---|---|---|
menuItemData |
IMenuItemData |
クリックされたメニュー項目のデータ |
host |
Object |
クリックされたメニュー項目のコンテナー |
event |
Object |
マウスクリックイベント |
any
指定したメニュー項目のコマンドオプション
▸ maxHeight(value?
): number
| void
説明
コンテキストメニューの最大の高さを取得または設定します。
実例
var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
spread.contextMenu.menuView.maxHeight(400);
名前 | 型 |
---|---|
value? |
number |
number
| void
コンテキストメニューの最大高さの数値を表します。
▸ scrollable(value?
): boolean
| void
説明
コンテキストメニューがスクロール可能かどうかを取得または設定します。
実例
var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
spread.contextMenu.menuView.scrollable(false);
名前 | 型 |
---|---|
value? |
boolean |
boolean
| void
コンテキストメニューがスクロールできるかどうかを表します。