12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- require(['../addons/bootstrapcontextmenu/js/bootstrap-contextmenu'], function (undefined) {
- if (Config.controllername == 'index' && Config.actionname == 'index') {
- $("body").append(
- '<div id="context-menu">' +
- '<ul class="dropdown-menu" role="menu">' +
- '<li><a tabindex="-1" data-operate="refresh"><i class="fa fa-refresh fa-fw"></i>刷新</a></li>' +
- '<li><a tabindex="-1" data-operate="refreshTable"><i class="fa fa-table fa-fw"></i>刷新表格</a></li>' +
- '<li><a tabindex="-1" data-operate="close"><i class="fa fa-close fa-fw"></i>关闭</a></li>' +
- '<li><a tabindex="-1" data-operate="closeOther"><i class="fa fa-window-close-o fa-fw"></i>关闭其他</a></li>' +
- '<li class="divider"></li>' +
- '<li><a tabindex="-1" data-operate="closeAll"><i class="fa fa-power-off fa-fw"></i>关闭全部</a></li>' +
- '</ul>' +
- '</div>');
- $(".nav-addtabs").contextmenu({
- target: "#context-menu",
- scopes: 'li[role=presentation]',
- onItem: function (e, event) {
- var $element = $(event.target);
- var tab_id = e.attr('id');
- var id = tab_id.substr('tab_'.length);
- var con_id = 'con_' + id;
- switch ($element.data('operate')) {
- case 'refresh':
- $("#" + con_id + " iframe").attr('src', function (i, val) {
- return val;
- });
- break;
- case 'refreshTable':
- try {
- if ($("#" + con_id + " iframe").contents().find(".btn-refresh").size() > 0) {
- $("#" + con_id + " iframe")[0].contentWindow.$(".btn-refresh").trigger("click");
- }
- } catch (e) {
- }
- break;
- case 'close':
- if (e.find(".close-tab").length > 0) {
- e.find(".close-tab").click();
- }
- break;
- case 'closeOther':
- e.parent().find("li[role='presentation']").each(function () {
- if ($(this).attr('id') == tab_id) {
- return;
- }
- if ($(this).find(".close-tab").length > 0) {
- $(this).find(".close-tab").click();
- }
- });
- break;
- case 'closeAll':
- e.parent().find("li[role='presentation']").each(function () {
- if ($(this).find(".close-tab").length > 0) {
- $(this).find(".close-tab").click();
- }
- });
- break;
- default:
- break;
- }
- }
- });
- }
- $(document).on('click', function () { // iframe内点击 隐藏菜单
- try {
- top.window.$(".nav-addtabs").contextmenu("closemenu");
- } catch (e) {
- }
- });
- });
|