Skip to content

Feature icon callback option #272

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Aug 30, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,15 +114,15 @@ $.contextMenu is published under the [MIT license](http://www.opensource.org/lic

### Unreleased

* Nothing
* Item icon can now be a callback to dynamically decide on icon class. - ([Issue #158](https://github.com/swisnl/jQuery-contextMenu/issues/158), [Issue #129](https://github.com/swisnl/jQuery-contextMenu/issues/129), [Issue #151](https://github.com/swisnl/jQuery-contextMenu/issues/151), [Issue #249](https://github.com/swisnl/jQuery-contextMenu/issues/249))

#### 1.7.0 (August 29th 2015) ###

* Touch support optimisations (by kccarter76)
* changed .text to .html so there are no extra span's fixed #252
* changed .text to .html so there are no extra span's fixed - ([Issue #252](https://github.com/swisnl/jQuery-contextMenu/issues/252))
* added visibility callback to item definition
* copy the HTML5 icon attribute when creating from HTML5 elements
* growing menu when opening multiple times fixed #197
* growing menu when opening multiple times fixed - ([Issue #197](https://github.com/swisnl/jQuery-contextMenu/issues/197))
* fixed failure to run tests

### 1.6.8 (August 18th 2015) ###
Expand Down
4 changes: 3 additions & 1 deletion demo.html
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,9 @@ <h3 id="code">Example code: Simple Context Menu</h3>
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
"quit": {name: "Quit", icon: function(){
return 'icon icon-quit';
}}
}
});

Expand Down
2 changes: 1 addition & 1 deletion demo/accesskeys.html
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ <h3 id="code">Example code: Accesskeys</h3>
"paste": {name: "Paste", icon: "paste", accesskey: "cool paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
"quit": {name: "Quit", icon: function(){ return 'icon icon-quit'; }}
}
});
});
Expand Down
2 changes: 1 addition & 1 deletion demo/accesskeys_test.html
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ <h3 id="code">Example code: Accesskeys</h3>
"paste": {name: "Paste", icon: "paste", accesskey: "cool paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
"quit": {name: "Quit", icon: function(){ return 'icon icon-quit'; }}
}
});
});
Expand Down
2 changes: 1 addition & 1 deletion demo/callback.html
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ <h3 id="code">Example code: Command's action (callbacks)</h3>
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
"quit": {name: "Quit", icon: function(){ return 'icon icon-quit'; }}
}
});
});
Expand Down
2 changes: 1 addition & 1 deletion demo/callback_test.html
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ <h3 id="code">Example code: Command's action (callbacks)</h3>
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
"quit": {name: "Quit", icon: function(){ return 'icon icon-quit'; }}
}
});
});
Expand Down
2 changes: 1 addition & 1 deletion demo/disabled-menu.html
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ <h3 id="code">Example code: Disabled Context Menu</h3>
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
"quit": {name: "Quit", icon: function(){ return 'icon icon-quit'; }}
}
});

Expand Down
2 changes: 1 addition & 1 deletion demo/dynamic-create.html
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ <h3 id="code">Example code: Dynamic on-demand Menu</h3>
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
"quit": {name: "Quit", icon: function(){ return 'icon icon-quit'; }}
}
};
}
Expand Down
2 changes: 1 addition & 1 deletion demo/dynamic.html
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ <h3 id="code">Example code: Adding new Context Menu Triggers</h3>
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
"quit": {name: "Quit", icon: function(){ return 'icon icon-quit'; }}
}
});
});
Expand Down
6 changes: 3 additions & 3 deletions demo/menu-title.html
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ <h3 id="code">Example code: Menu Title</h3>
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
"quit": {name: "Quit", icon: function(){ return 'icon icon-quit'; }}
}
});

Expand All @@ -132,7 +132,7 @@ <h3 id="code">Example code: Menu Title</h3>
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
"quit": {name: "Quit", icon: function(){ return 'icon icon-quit'; }}
}
});

Expand All @@ -151,7 +151,7 @@ <h3 id="code">Example code: Menu Title</h3>
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
"quit": {name: "Quit", icon: function(){ return 'icon icon-quit'; }}
}
});

Expand Down
2 changes: 1 addition & 1 deletion demo/on-dom-element.html
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ <h3 id="code">Example code: Context Menu on DOM Element</h3>
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
"quit": {name: "Quit", icon: function(){ return 'icon icon-quit'; }}
}
});
});
Expand Down
2 changes: 1 addition & 1 deletion demo/trigger-custom.html
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ <h3 id="code">Example code: Custom Activated Context Menu</h3>
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
"quit": {name: "Quit", icon: function(){ return 'icon icon-quit'; }}
}
});
});
Expand Down
2 changes: 1 addition & 1 deletion demo/trigger-hover-autohide.html
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ <h3 id="code">Example code: Hover Activated Context Menu With Autohide</h3>
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
"quit": {name: "Quit", icon: function(){ return 'icon icon-quit'; }}
}
});
});
Expand Down
2 changes: 1 addition & 1 deletion demo/trigger-hover.html
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ <h3 id="code">Example code: Hover Activated Context Menu</h3>
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
"quit": {name: "Quit", icon: function(){ return 'icon icon-quit'; }}
}
});
});
Expand Down
2 changes: 1 addition & 1 deletion demo/trigger-left-click.html
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ <h3 id="code">Example code: Left-Click Trigger</h3>
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
"quit": {name: "Quit", icon: function(){ return 'icon icon-quit'; }}
}
});
});
Expand Down
13 changes: 12 additions & 1 deletion src/jquery.contextMenu.js
Original file line number Diff line number Diff line change
Expand Up @@ -1105,7 +1105,12 @@ var // currently active contextMenu trigger

// add icons
if (item.icon) {
$t.addClass("icon icon-" + item.icon);
if($.isFunction(item.icon)){
item._icon = item.icon.call(this, $t, key, item)
} else {
item._icon = "icon icon-" + item.icon;
}
$t.addClass(item._icon);
}
}

Expand Down Expand Up @@ -1186,6 +1191,12 @@ var // currently active contextMenu trigger

// dis- / enable item
$item[disabled ? 'addClass' : 'removeClass']('disabled');

if ($.isFunction(item.icon)) {
$item.removeClass(item._icon);
item._icon = item.icon.call(this, $trigger, key, item);
$item.addClass(item._icon);
}

if (item.type) {
// dis- / enable input elements
Expand Down