mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
3b0a9f4ba2
# Conflicts: # admin/javascript/LeftAndMain.Menu.js # control/HTTPRequest.php # css/GridField.css # css/GridField.css.map # docs/en/02_Developer_Guides/03_Forms/Field_types/01_Common_Subclasses.md # docs/en/02_Developer_Guides/06_Testing/00_Unit_Testing.md # docs/en/02_Developer_Guides/06_Testing/index.md # docs/en/02_Developer_Guides/14_Files/01_File_Management.md # docs/en/02_Developer_Guides/14_Files/02_Images.md # filesystem/Upload.php # javascript/HtmlEditorField.js # model/Image.php # model/connect/MySQLDatabase.php # model/fieldtypes/Enum.php # model/versioning/Versioned.php # scss/GridField.scss
73 lines
1.7 KiB
JavaScript
73 lines
1.7 KiB
JavaScript
(function (global, factory) {
|
|
if (typeof define === "function" && define.amd) {
|
|
define('ss.TabSet', ['./jQuery'], factory);
|
|
} else if (typeof exports !== "undefined") {
|
|
factory(require('./jQuery'));
|
|
} else {
|
|
var mod = {
|
|
exports: {}
|
|
};
|
|
factory(global.jQuery);
|
|
global.ssTabSet = mod.exports;
|
|
}
|
|
})(this, function (_jQuery) {
|
|
'use strict';
|
|
|
|
var _jQuery2 = _interopRequireDefault(_jQuery);
|
|
|
|
function _interopRequireDefault(obj) {
|
|
return obj && obj.__esModule ? obj : {
|
|
default: obj
|
|
};
|
|
}
|
|
|
|
_jQuery2.default.entwine('ss', function ($) {
|
|
$('.ss-tabset').entwine({
|
|
IgnoreTabState: false,
|
|
onadd: function onadd() {
|
|
var hash = window.location.hash;
|
|
this.redrawTabs();
|
|
|
|
if (hash !== '') {
|
|
this.openTabFromURL(hash);
|
|
}
|
|
|
|
this._super();
|
|
},
|
|
onremove: function onremove() {
|
|
if (this.data('tabs')) this.tabs('destroy');
|
|
|
|
this._super();
|
|
},
|
|
redrawTabs: function redrawTabs() {
|
|
this.rewriteHashlinks();
|
|
this.tabs();
|
|
},
|
|
openTabFromURL: function openTabFromURL(hash) {
|
|
var $trigger;
|
|
$.each(this.find('.cms-panel-link'), function () {
|
|
if (this.href.indexOf(hash) !== -1 && $(hash).length === 1) {
|
|
$trigger = $(this);
|
|
return false;
|
|
}
|
|
});
|
|
|
|
if ($trigger === void 0) {
|
|
return;
|
|
}
|
|
|
|
$(window).one('ajaxComplete', function () {
|
|
$trigger.click();
|
|
});
|
|
},
|
|
rewriteHashlinks: function rewriteHashlinks() {
|
|
$(this).find('ul a').each(function () {
|
|
if (!$(this).attr('href')) return;
|
|
var matches = $(this).attr('href').match(/#.*/);
|
|
if (!matches) return;
|
|
$(this).attr('href', document.location.href.replace(/#.*/, '') + matches[0]);
|
|
});
|
|
}
|
|
});
|
|
});
|
|
}); |