annotate js/mpiwg.js @ 115:014efa0923be

removed limit from testing in getSubtreeAsList.
author casties
date Wed, 29 May 2013 10:08:52 +0200
parents bba951ea7479
children f2be4e850d0c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
66
68b3d71eed27 formatting for preprint list. javascript for foldable divs.
casties
parents:
diff changeset
1 /*
68b3d71eed27 formatting for preprint list. javascript for foldable divs.
casties
parents:
diff changeset
2 * Javascript for MPIWG website
112
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
3 * (C) 2013 MPIWG Berlin
88
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
4 */
66
68b3d71eed27 formatting for preprint list. javascript for foldable divs.
casties
parents:
diff changeset
5
112
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
6 /*
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
7 * AjaxSlider plugin.
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
8 */
108
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
9 (function ($) {
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
10 $.fn.AjaxSlider = function (opts) {
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
11 var settings = $.extend({
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
12 dataUrl : null,
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
13 dataSel : '',
112
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
14 windowSel : 'div.slidewindow',
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
15 contentSel : 'div.row',
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
16 buttonWidth : '20px',
108
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
17 scrollBy: '100px',
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
18 }, opts);
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
19 var url = settings.dataUrl + ' ' + settings.dataSel;
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
20 var $slider = this;
112
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
21 var sliderW = this.width() - 2 * settings.buttonWidth;
108
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
22 var sliderH = this.height();
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
23 this.load(url, function () {
112
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
24 var $window = $slider.find(settings.windowSel);
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
25 // fix window width and height and hide overflow
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
26 $window.css({'width':sliderW, 'height':sliderH, 'margin':'0 '+settings.buttonWidth,
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
27 'overflow':'hidden', 'position':'relative'});
108
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
28 // content will be moved
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
29 var $content = $slider.find(settings.contentSel);
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
30 $content.css({'position':'absolute', 'left':'0'});
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
31 $slider.find('.slidebutton.prev').show().on('click', function () {
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
32 $content.animate({'left':'+='+settings.scrollBy}, 'fast');
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
33 });
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
34 $slider.find('.slidebutton.next').show().on('click', function () {
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
35 $content.animate({'left':'-='+settings.scrollBy}, 'fast');
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
36 });
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
37 });
113
bba951ea7479 micro fix.
casties
parents: 112
diff changeset
38 };
108
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
39 }(jQuery));
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
40
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
41
66
68b3d71eed27 formatting for preprint list. javascript for foldable divs.
casties
parents:
diff changeset
42 $(document).ready(function() {
88
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
43 /*
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
44 * autosubmit forms
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
45 */
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
46 $('form.autosubmit').find('.autosubmit').change(function() {
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
47 this.form.submit();
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
48 });
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
49 // hide submit button
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
50 $('form.autosubmit input[type="submit"].autosubmit').hide();
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
51
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
52 /*
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
53 * foldout divs
103
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
54 *
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
55 * foldable: .foldable is ancestor of .fold_head and .fold_body
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
56 * that are folded simultaneously.
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
57 *
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
58 * foldableById: .foldableById is ancestor of multiple .fold_head and .fold_body
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
59 * where each pair has a common unique .foldId_xxx.
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
60 *
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
61 * Clicking on .fold_head folds and unfolds .fold_body.
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
62 *
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
63 * If .foldable has .initially_open .fold_body is initially shown, else its
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
64 * initally hidden.
88
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
65 */
103
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
66 $('.foldable').each(function () {
88
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
67 var $this = $(this);
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
68 var $head = $this.find('.fold_head');
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
69 var $img = $head.find('img');
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
70 var $body = $this.find('.fold_body');
103
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
71 $head.on('click', function () {
88
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
72 $body.slideToggle('fast');
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
73 $img.toggle();
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
74 }).css('cursor', 'pointer');
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
75 if (! $this.hasClass('initially_open')) {
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
76 // hide body initially
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
77 $body.hide();
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
78 $img.toggle();
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
79 }
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
80 });
107
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
81 $('.foldable2').each(function () {
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
82 var $this = $(this);
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
83 var $head = $this.find('.fold_head2');
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
84 var $img = $head.find('img');
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
85 var $body = $this.find('.fold_body2');
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
86 $head.on('click', function () {
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
87 $body.slideToggle('fast');
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
88 $img.toggle();
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
89 }).css('cursor', 'pointer');
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
90 if (! $this.hasClass('initially_open')) {
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
91 // hide body initially
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
92 $body.hide();
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
93 $img.toggle();
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
94 }
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
95 });
103
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
96 $('.foldableById').each(function () {
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
97 var $container = $(this);
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
98 var io = $container.hasClass('initially_open');
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
99 var $heads = $container.find('.fold_head');
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
100 $heads.each(function () {
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
101 var $this = $(this);
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
102 var $img = $this.find('img');
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
103 var id = null;
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
104 // find id in class
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
105 var cls = $this.attr('class').split(' ');
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
106 for (var i = 0; i < cls.length; ++i) {
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
107 var c = cls[i];
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
108 if (c.startsWith('foldId_')) {
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
109 id = c;
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
110 break;
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
111 }
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
112 }
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
113 if (id == null) return;
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
114 // get body using id
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
115 var $body = $container.find('.fold_body.'+id);
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
116 $this.on('click', function () {
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
117 $body.slideToggle('fast');
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
118 $img.toggle();
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
119 });
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
120 if (!io) {
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
121 // hide body initially
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
122 $body.hide();
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
123 $img.toggle();
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
124 }
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
125 }).css('cursor', 'pointer');
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
126 });
88
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
127 });