mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-09-21 00:46:07 +02:00
f20ad434ce
API Allow HtmlEditorField to be individually configured BUG Fix incorrect change detection BUG Fix missing i18n files
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]);
|
|
});
|
|
}
|
|
});
|
|
});
|
|
}); |