aboutsummaryrefslogtreecommitdiff
path: root/public/ng/js/utils/tabs.js
diff options
context:
space:
mode:
authorMichael Boke <michael@mbict.nl>2014-10-03 22:51:07 +0200
committerMichael Boke <michael@mbict.nl>2014-10-03 22:51:07 +0200
commitba1270df2d3d835b397317f133963e7b517242f1 (patch)
tree1265a142a1fd9951d30ae11648e7fbfb5806e594 /public/ng/js/utils/tabs.js
parentba0feadc34400cb91ff23f66096884d862651cdd (diff)
parent405ee14711ab946bd709ec28a526890c40cbc03b (diff)
Merge remote-tracking branch 'upstream/master'
Conflicts: conf/app.ini
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 00000000..2e2731ef
--- /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