summaryrefslogtreecommitdiffstats
path: root/public/ng/js/utils/tabs.js
diff options
context:
space:
mode:
authorfuxiaohei <fuxiaohei@vip.qq.com>2014-09-25 21:52:58 +0800
committerfuxiaohei <fuxiaohei@vip.qq.com>2014-09-25 21:52:58 +0800
commit7c30ae7002f203aac1841fefdf535b0d017aabbf (patch)
treedbbf215903c63e7c4838522ba68b20ed11e61a27 /public/ng/js/utils/tabs.js
parent089d934547c88a8c3c7ce5587fcc2481cc98f3a3 (diff)
downloadgitea-7c30ae7002f203aac1841fefdf535b0d017aabbf.tar.gz
gitea-7c30ae7002f203aac1841fefdf535b0d017aabbf.zip
is utils improvement
Diffstat (limited to 'public/ng/js/utils/tabs.js')
-rw-r--r--public/ng/js/utils/tabs.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/public/ng/js/utils/tabs.js b/public/ng/js/utils/tabs.js
new file mode 100644
index 0000000000..2e2731eff0
--- /dev/null
+++ b/public/ng/js/utils/tabs.js
@@ -0,0 +1,45 @@
+/*
+ js tabs and tabbed content plugin
+ */
+function Tabs(selector) {
+
+ function hide($nav) {
+ console.log("hide", $nav);
+ $nav.removeClass("js-tab-nav-show");
+ $($nav.data("tab-target")).removeClass("js-tab-show").hide();
+ }
+
+ function show($nav) {
+ console.log("show", $nav);
+ $nav.addClass("js-tab-nav-show");
+ $($nav.data("tab-target")).addClass("js-tab-show").show();
+ }
+
+ var $e = $(selector);
+ if ($e.length) {
+ // pre-assign init index
+ var $current = $e.find('.js-tab-nav-show');
+ if ($current.length) {
+ $($current.data("tab-target")).addClass("js-tab-show");
+ }
+ // bind nav click
+ $e.on("click", ".js-tab-nav", function (e) {
+ e.preventDefault();
+ var $this = $(this);
+ // is showing, not change.
+ if ($this.hasClass("js-tab-nav-show")) {
+ return;
+ }
+ $current = $e.find(".js-tab-nav-show").eq(0);
+ hide($current);
+ show($this);
+ });
+ console.log("init tabs @", selector)
+ }
+}
+
+$.fn.extend({
+ tabs: function () {
+ Tabs(this);
+ }
+}); \ No newline at end of file