Mercurial > hg > LGServices
annotate src/main/webapp/resources/js/tablesaw.js @ 105:16a0796e3871 default tip
remove "console.log" from general.js
author | Calvin Yeh <cyeh@mpipw-berlin.mpg.com> |
---|---|
date | Fri, 29 Sep 2017 16:18:02 +0200 |
parents | 89a5ca7d44f7 |
children |
rev | line source |
---|---|
35
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1 /*! Tablesaw - v2.0.2 - 2015-10-28 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2 * https://github.com/filamentgroup/tablesaw |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3 * Copyright (c) 2015 Filament Group; Licensed */ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4 /* |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5 * tablesaw: A set of plugins for responsive tables |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6 * Stack and Column Toggle tables |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7 * Copyright (c) 2013 Filament Group, Inc. |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8 * MIT License |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9 */ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11 if( typeof Tablesaw === "undefined" ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12 Tablesaw = { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13 i18n: { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14 modes: [ 'Stack', 'Swipe', 'Toggle' ], |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15 columns: 'Col<span class=\"a11y-sm\">umn</span>s', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16 columnBtnText: 'Columns', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17 columnsDialogError: 'No eligible columns.', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18 sort: 'Sort' |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20 // cut the mustard |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21 mustard: 'querySelector' in document && |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22 ( !window.blackberry || window.WebKitPoint ) && |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23 !window.operamini |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26 if( !Tablesaw.config ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
27 Tablesaw.config = {}; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
28 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
29 if( Tablesaw.mustard ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
30 jQuery( document.documentElement ).addClass( 'tablesaw-enhanced' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
31 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
32 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
33 ;(function( $ ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
34 var pluginName = "table", |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
35 classes = { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
36 toolbar: "tablesaw-bar" |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
37 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
38 events = { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
39 create: "tablesawcreate", |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
40 destroy: "tablesawdestroy", |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
41 refresh: "tablesawrefresh" |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
42 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
43 defaultMode = "stack", |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
44 initSelector = "table[data-tablesaw-mode],table[data-tablesaw-sortable]"; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
45 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
46 var Table = function( element ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
47 if( !element ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
48 throw new Error( "Tablesaw requires an element." ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
49 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
50 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
51 this.table = element; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
52 this.$table = $( element ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
53 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
54 this.mode = this.$table.attr( "data-tablesaw-mode" ) || defaultMode; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
55 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
56 this.init(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
57 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
58 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
59 Table.prototype.init = function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
60 // assign an id if there is none |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
61 if ( !this.$table.attr( "id" ) ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
62 this.$table.attr( "id", pluginName + "-" + Math.round( Math.random() * 10000 ) ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
63 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
64 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
65 this.createToolbar(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
66 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
67 var colstart = this._initCells(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
68 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
69 this.$table.trigger( events.create, [ this, colstart ] ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
70 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
71 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
72 Table.prototype._initCells = function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
73 var colstart, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
74 thrs = this.table.querySelectorAll( "thead tr" ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
75 self = this; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
76 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
77 $( thrs ).each( function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
78 var coltally = 0; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
79 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
80 $( this ).children().each( function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
81 var span = parseInt( this.getAttribute( "colspan" ), 10 ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
82 sel = ":nth-child(" + ( coltally + 1 ) + ")"; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
83 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
84 colstart = coltally + 1; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
85 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
86 if( span ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
87 for( var k = 0; k < span - 1; k++ ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
88 coltally++; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
89 sel += ", :nth-child(" + ( coltally + 1 ) + ")"; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
90 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
91 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
92 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
93 // Store "cells" data on header as a reference to all cells in the same column as this TH |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
94 this.cells = self.$table.find("tr").not( thrs[0] ).not( this ).children().filter( sel ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
95 coltally++; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
96 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
97 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
98 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
99 return colstart; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
100 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
101 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
102 Table.prototype.refresh = function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
103 this._initCells(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
104 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
105 this.$table.trigger( events.refresh ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
106 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
107 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
108 Table.prototype.createToolbar = function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
109 // Insert the toolbar |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
110 // TODO move this into a separate component |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
111 var $toolbar = this.$table.prev().filter( '.' + classes.toolbar ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
112 if( !$toolbar.length ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
113 $toolbar = $( '<div>' ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
114 .addClass( classes.toolbar ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
115 .insertBefore( this.$table ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
116 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
117 this.$toolbar = $toolbar; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
118 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
119 if( this.mode ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
120 this.$toolbar.addClass( 'mode-' + this.mode ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
121 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
122 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
123 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
124 Table.prototype.destroy = function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
125 // Don’t remove the toolbar. Some of the table features are not yet destroy-friendly. |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
126 this.$table.prev().filter( '.' + classes.toolbar ).each(function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
127 this.className = this.className.replace( /\bmode\-\w*\b/gi, '' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
128 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
129 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
130 var tableId = this.$table.attr( 'id' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
131 $( document ).unbind( "." + tableId ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
132 $( window ).unbind( "." + tableId ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
133 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
134 // other plugins |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
135 this.$table.trigger( events.destroy, [ this ] ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
136 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
137 this.$table.removeAttr( 'data-tablesaw-mode' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
138 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
139 this.$table.removeData( pluginName ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
140 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
141 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
142 // Collection method. |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
143 $.fn[ pluginName ] = function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
144 return this.each( function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
145 var $t = $( this ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
146 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
147 if( $t.data( pluginName ) ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
148 return; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
149 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
150 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
151 var table = new Table( this ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
152 $t.data( pluginName, table ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
153 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
154 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
155 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
156 $( document ).on( "enhance.tablesaw", function( e ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
157 // Cut the mustard |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
158 if( Tablesaw.mustard ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
159 $( e.target ).find( initSelector )[ pluginName ](); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
160 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
161 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
162 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
163 }( jQuery )); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
164 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
165 ;(function( win, $, undefined ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
166 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
167 var classes = { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
168 stackTable: 'tablesaw-stack', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
169 cellLabels: 'tablesaw-cell-label', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
170 cellContentLabels: 'tablesaw-cell-content' |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
171 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
172 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
173 var data = { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
174 obj: 'tablesaw-stack' |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
175 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
176 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
177 var attrs = { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
178 labelless: 'data-tablesaw-no-labels', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
179 hideempty: 'data-tablesaw-hide-empty' |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
180 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
181 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
182 var Stack = function( element ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
183 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
184 this.$table = $( element ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
185 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
186 this.labelless = this.$table.is( '[' + attrs.labelless + ']' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
187 this.hideempty = this.$table.is( '[' + attrs.hideempty + ']' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
188 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
189 if( !this.labelless ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
190 // allHeaders references headers, plus all THs in the thead, which may include several rows, or not |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
191 this.allHeaders = this.$table.find( "th" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
192 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
193 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
194 this.$table.data( data.obj, this ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
195 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
196 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
197 Stack.prototype.init = function( colstart ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
198 this.$table.addClass( classes.stackTable ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
199 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
200 if( this.labelless ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
201 return; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
202 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
203 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
204 // get headers in reverse order so that top-level headers are appended last |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
205 var reverseHeaders = $( this.allHeaders ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
206 var hideempty = this.hideempty; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
207 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
208 // create the hide/show toggles |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
209 reverseHeaders.each(function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
210 var $t = $( this ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
211 $cells = $( this.cells ).filter(function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
212 return !$( this ).parent().is( "[" + attrs.labelless + "]" ) && ( !hideempty || !$( this ).is( ":empty" ) ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
213 }), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
214 hierarchyClass = $cells.not( this ).filter( "thead th" ).length && " tablesaw-cell-label-top", |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
215 // TODO reduce coupling with sortable |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
216 $sortableButton = $t.find( ".tablesaw-sortable-btn" ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
217 html = $sortableButton.length ? $sortableButton.html() : $t.html(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
218 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
219 if( html !== "" ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
220 if( hierarchyClass ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
221 var iteration = parseInt( $( this ).attr( "colspan" ), 10 ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
222 filter = ""; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
223 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
224 if( iteration ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
225 filter = "td:nth-child("+ iteration +"n + " + ( colstart ) +")"; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
226 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
227 $cells.filter( filter ).prepend( "<b class='" + classes.cellLabels + hierarchyClass + "'>" + html + "</b>" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
228 } else { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
229 $cells.wrapInner( "<span class='" + classes.cellContentLabels + "'></span>" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
230 $cells.prepend( "<b class='" + classes.cellLabels + "'>" + html + "</b>" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
231 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
232 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
233 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
234 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
235 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
236 Stack.prototype.destroy = function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
237 this.$table.removeClass( classes.stackTable ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
238 this.$table.find( '.' + classes.cellLabels ).remove(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
239 this.$table.find( '.' + classes.cellContentLabels ).each(function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
240 $( this ).replaceWith( this.childNodes ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
241 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
242 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
243 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
244 // on tablecreate, init |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
245 $( document ).on( "tablesawcreate", function( e, Tablesaw, colstart ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
246 if( Tablesaw.mode === 'stack' ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
247 var table = new Stack( Tablesaw.table ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
248 table.init( colstart ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
249 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
250 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
251 } ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
252 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
253 $( document ).on( "tablesawdestroy", function( e, Tablesaw ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
254 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
255 if( Tablesaw.mode === 'stack' ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
256 $( Tablesaw.table ).data( data.obj ).destroy(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
257 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
258 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
259 } ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
260 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
261 }( this, jQuery )); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
262 ;(function( $ ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
263 var pluginName = "tablesawbtn", |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
264 methods = { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
265 _create: function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
266 return $( this ).each(function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
267 $( this ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
268 .trigger( "beforecreate." + pluginName ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
269 [ pluginName ]( "_init" ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
270 .trigger( "create." + pluginName ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
271 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
272 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
273 _init: function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
274 var oEl = $( this ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
275 sel = this.getElementsByTagName( "select" )[ 0 ]; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
276 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
277 if( sel ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
278 $( this ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
279 .addClass( "btn-select" ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
280 [ pluginName ]( "_select", sel ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
281 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
282 return oEl; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
283 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
284 _select: function( sel ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
285 var update = function( oEl, sel ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
286 var opts = $( sel ).find( "option" ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
287 label, el, children; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
288 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
289 opts.each(function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
290 var opt = this; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
291 if( opt.selected ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
292 label = document.createTextNode( opt.text ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
293 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
294 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
295 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
296 children = oEl.childNodes; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
297 if( opts.length > 0 ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
298 for( var i = 0, l = children.length; i < l; i++ ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
299 el = children[ i ]; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
300 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
301 if( el && el.nodeType === 3 ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
302 oEl.replaceChild( label, el ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
303 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
304 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
305 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
306 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
307 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
308 update( this, sel ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
309 $( this ).bind( "change refresh", function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
310 update( this, sel ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
311 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
312 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
313 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
314 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
315 // Collection method. |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
316 $.fn[ pluginName ] = function( arrg, a, b, c ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
317 return this.each(function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
318 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
319 // if it's a method |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
320 if( arrg && typeof( arrg ) === "string" ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
321 return $.fn[ pluginName ].prototype[ arrg ].call( this, a, b, c ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
322 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
323 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
324 // don't re-init |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
325 if( $( this ).data( pluginName + "active" ) ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
326 return $( this ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
327 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
328 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
329 // otherwise, init |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
330 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
331 $( this ).data( pluginName + "active", true ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
332 $.fn[ pluginName ].prototype._create.call( this ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
333 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
334 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
335 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
336 // add methods |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
337 $.extend( $.fn[ pluginName ].prototype, methods ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
338 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
339 }( jQuery )); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
340 ;(function( win, $, undefined ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
341 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
342 var ColumnToggle = function( element ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
343 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
344 this.$table = $( element ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
345 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
346 this.classes = { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
347 columnToggleTable: 'tablesaw-columntoggle', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
348 columnBtnContain: 'tablesaw-columntoggle-btnwrap tablesaw-advance', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
349 columnBtn: 'tablesaw-columntoggle-btn tablesaw-nav-btn down', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
350 popup: 'tablesaw-columntoggle-popup', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
351 priorityPrefix: 'tablesaw-priority-', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
352 // TODO duplicate class, also in tables.js |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
353 toolbar: 'tablesaw-bar' |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
354 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
355 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
356 // Expose headers and allHeaders properties on the widget |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
357 // headers references the THs within the first TR in the table |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
358 this.headers = this.$table.find( 'tr:first > th' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
359 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
360 this.$table.data( 'tablesaw-coltoggle', this ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
361 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
362 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
363 ColumnToggle.prototype.init = function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
364 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
365 var tableId, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
366 id, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
367 $menuButton, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
368 $popup, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
369 $menu, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
370 $btnContain, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
371 self = this; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
372 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
373 this.$table.addClass( this.classes.columnToggleTable ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
374 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
375 tableId = this.$table.attr( "id" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
376 id = tableId + "-popup"; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
377 $btnContain = $( "<div class='" + this.classes.columnBtnContain + "'></div>" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
378 $menuButton = $( "<a href='#" + id + "' class='btn btn-micro " + this.classes.columnBtn +"' data-popup-link>" + |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
379 "<span>" + Tablesaw.i18n.columnBtnText + "</span></a>" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
380 $popup = $( "<div class='dialog-table-coltoggle " + this.classes.popup + "' id='" + id + "'></div>" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
381 $menu = $( "<div class='btn-group'></div>" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
382 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
383 var hasNonPersistentHeaders = false; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
384 $( this.headers ).not( "td" ).each( function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
385 var $this = $( this ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
386 priority = $this.attr("data-tablesaw-priority"), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
387 $cells = self.$getCells( this ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
388 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
389 if( priority && priority !== "persist" ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
390 $cells.addClass( self.classes.priorityPrefix + priority ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
391 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
392 $("<label><input type='checkbox' checked>" + $this.text() + "</label>" ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
393 .appendTo( $menu ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
394 .children( 0 ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
395 .data( "tablesaw-header", this ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
396 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
397 hasNonPersistentHeaders = true; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
398 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
399 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
400 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
401 if( !hasNonPersistentHeaders ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
402 $menu.append( '<label>' + Tablesaw.i18n.columnsDialogError + '</label>' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
403 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
404 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
405 $menu.appendTo( $popup ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
406 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
407 // bind change event listeners to inputs - TODO: move to a private method? |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
408 $menu.find( 'input[type="checkbox"]' ).on( "change", function(e) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
409 var checked = e.target.checked; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
410 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
411 self.$getCellsFromCheckbox( e.target ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
412 .toggleClass( "tablesaw-cell-hidden", !checked ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
413 .toggleClass( "tablesaw-cell-visible", checked ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
414 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
415 self.$table.trigger( 'tablesawcolumns' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
416 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
417 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
418 $menuButton.appendTo( $btnContain ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
419 $btnContain.appendTo( this.$table.prev().filter( '.' + this.classes.toolbar ) ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
420 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
421 var closeTimeout; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
422 function openPopup() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
423 $btnContain.addClass( 'visible' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
424 $menuButton.removeClass( 'down' ).addClass( 'up' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
425 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
426 $( document ).unbind( 'click.' + tableId, closePopup ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
427 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
428 window.clearTimeout( closeTimeout ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
429 closeTimeout = window.setTimeout(function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
430 $( document ).one( 'click.' + tableId, closePopup ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
431 }, 15 ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
432 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
433 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
434 function closePopup( event ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
435 // Click came from inside the popup, ignore. |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
436 if( event && $( event.target ).closest( "." + self.classes.popup ).length ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
437 return; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
438 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
439 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
440 $( document ).unbind( 'click.' + tableId ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
441 $menuButton.removeClass( 'up' ).addClass( 'down' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
442 $btnContain.removeClass( 'visible' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
443 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
444 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
445 $menuButton.on( "click.tablesaw", function( event ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
446 event.preventDefault(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
447 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
448 if( !$btnContain.is( ".visible" ) ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
449 openPopup(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
450 } else { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
451 closePopup(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
452 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
453 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
454 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
455 $popup.appendTo( $btnContain ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
456 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
457 this.$menu = $menu; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
458 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
459 $(window).on( "resize." + tableId, function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
460 self.refreshToggle(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
461 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
462 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
463 this.refreshToggle(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
464 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
465 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
466 ColumnToggle.prototype.$getCells = function( th ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
467 return $( th ).add( th.cells ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
468 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
469 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
470 ColumnToggle.prototype.$getCellsFromCheckbox = function( checkbox ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
471 var th = $( checkbox ).data( "tablesaw-header" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
472 return this.$getCells( th ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
473 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
474 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
475 ColumnToggle.prototype.refreshToggle = function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
476 var self = this; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
477 this.$menu.find( "input" ).each( function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
478 this.checked = self.$getCellsFromCheckbox( this ).eq( 0 ).css( "display" ) === "table-cell"; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
479 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
480 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
481 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
482 ColumnToggle.prototype.refreshPriority = function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
483 var self = this; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
484 $(this.headers).not( "td" ).each( function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
485 var $this = $( this ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
486 priority = $this.attr("data-tablesaw-priority"), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
487 $cells = $this.add( this.cells ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
488 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
489 if( priority && priority !== "persist" ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
490 $cells.addClass( self.classes.priorityPrefix + priority ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
491 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
492 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
493 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
494 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
495 ColumnToggle.prototype.destroy = function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
496 // table toolbars, document and window .tableId events |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
497 // removed in parent tables.js destroy method |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
498 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
499 this.$table.removeClass( this.classes.columnToggleTable ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
500 this.$table.find( 'th, td' ).each(function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
501 var $cell = $( this ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
502 $cell.removeClass( 'tablesaw-cell-hidden' ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
503 .removeClass( 'tablesaw-cell-visible' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
504 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
505 this.className = this.className.replace( /\bui\-table\-priority\-\d\b/g, '' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
506 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
507 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
508 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
509 // on tablecreate, init |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
510 $( document ).on( "tablesawcreate", function( e, Tablesaw ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
511 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
512 if( Tablesaw.mode === 'columntoggle' ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
513 var table = new ColumnToggle( Tablesaw.table ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
514 table.init(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
515 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
516 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
517 } ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
518 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
519 $( document ).on( "tablesawdestroy", function( e, Tablesaw ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
520 if( Tablesaw.mode === 'columntoggle' ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
521 $( Tablesaw.table ).data( 'tablesaw-coltoggle' ).destroy(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
522 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
523 } ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
524 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
525 }( this, jQuery )); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
526 ;(function( win, $, undefined ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
527 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
528 $.extend( Tablesaw.config, { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
529 swipe: { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
530 horizontalThreshold: 15, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
531 verticalThreshold: 30 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
532 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
533 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
534 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
535 function isIE8() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
536 var div = document.createElement('div'), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
537 all = div.getElementsByTagName('i'); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
538 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
539 div.innerHTML = '<!--[if lte IE 8]><i></i><![endif]-->'; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
540 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
541 return !!all.length; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
542 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
543 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
544 function createSwipeTable( $table ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
545 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
546 var $btns = $( "<div class='tablesaw-advance'></div>" ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
547 $prevBtn = $( "<a href='#' class='tablesaw-nav-btn btn btn-micro left' title='Previous Column'></a>" ).appendTo( $btns ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
548 $nextBtn = $( "<a href='#' class='tablesaw-nav-btn btn btn-micro right' title='Next Column'></a>" ).appendTo( $btns ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
549 hideBtn = 'disabled', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
550 persistWidths = 'tablesaw-fix-persist', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
551 $headerCells = $table.find( "thead th" ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
552 $headerCellsNoPersist = $headerCells.not( '[data-tablesaw-priority="persist"]' ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
553 headerWidths = [], |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
554 $head = $( document.head || 'head' ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
555 tableId = $table.attr( 'id' ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
556 // TODO switch this to an nth-child feature test |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
557 supportsNthChild = !isIE8(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
558 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
559 if( !$headerCells.length ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
560 throw new Error( "tablesaw swipe: no header cells found. Are you using <th> inside of <thead>?" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
561 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
562 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
563 // Calculate initial widths |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
564 $table.css('width', 'auto'); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
565 $headerCells.each(function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
566 headerWidths.push( $( this ).outerWidth() ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
567 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
568 $table.css( 'width', '' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
569 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
570 $btns.appendTo( $table.prev().filter( '.tablesaw-bar' ) ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
571 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
572 $table.addClass( "tablesaw-swipe" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
573 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
574 if( !tableId ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
575 tableId = 'tableswipe-' + Math.round( Math.random() * 10000 ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
576 $table.attr( 'id', tableId ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
577 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
578 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
579 function $getCells( headerCell ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
580 return $( headerCell.cells ).add( headerCell ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
581 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
582 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
583 function showColumn( headerCell ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
584 $getCells( headerCell ).removeClass( 'tablesaw-cell-hidden' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
585 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
586 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
587 function hideColumn( headerCell ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
588 $getCells( headerCell ).addClass( 'tablesaw-cell-hidden' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
589 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
590 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
591 function persistColumn( headerCell ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
592 $getCells( headerCell ).addClass( 'tablesaw-cell-persist' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
593 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
594 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
595 function isPersistent( headerCell ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
596 return $( headerCell ).is( '[data-tablesaw-priority="persist"]' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
597 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
598 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
599 function unmaintainWidths() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
600 $table.removeClass( persistWidths ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
601 $( '#' + tableId + '-persist' ).remove(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
602 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
603 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
604 function maintainWidths() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
605 var prefix = '#' + tableId + '.tablesaw-swipe ', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
606 styles = [], |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
607 tableWidth = $table.width(), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
608 hash = [], |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
609 newHash; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
610 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
611 $headerCells.each(function( index ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
612 var width; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
613 if( isPersistent( this ) ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
614 width = $( this ).outerWidth(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
615 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
616 // Only save width on non-greedy columns (take up less than 75% of table width) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
617 if( width < tableWidth * 0.75 ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
618 hash.push( index + '-' + width ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
619 styles.push( prefix + ' .tablesaw-cell-persist:nth-child(' + ( index + 1 ) + ') { width: ' + width + 'px; }' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
620 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
621 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
622 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
623 newHash = hash.join( '_' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
624 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
625 $table.addClass( persistWidths ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
626 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
627 var $style = $( '#' + tableId + '-persist' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
628 // If style element not yet added OR if the widths have changed |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
629 if( !$style.length || $style.data( 'hash' ) !== newHash ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
630 // Remove existing |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
631 $style.remove(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
632 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
633 if( styles.length ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
634 $( '<style>' + styles.join( "\n" ) + '</style>' ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
635 .attr( 'id', tableId + '-persist' ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
636 .data( 'hash', newHash ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
637 .appendTo( $head ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
638 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
639 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
640 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
641 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
642 function getNext(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
643 var next = [], |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
644 checkFound; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
645 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
646 $headerCellsNoPersist.each(function( i ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
647 var $t = $( this ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
648 isHidden = $t.css( "display" ) === "none" || $t.is( ".tablesaw-cell-hidden" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
649 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
650 if( !isHidden && !checkFound ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
651 checkFound = true; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
652 next[ 0 ] = i; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
653 } else if( isHidden && checkFound ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
654 next[ 1 ] = i; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
655 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
656 return false; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
657 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
658 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
659 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
660 return next; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
661 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
662 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
663 function getPrev(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
664 var next = getNext(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
665 return [ next[ 1 ] - 1 , next[ 0 ] - 1 ]; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
666 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
667 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
668 function nextpair( fwd ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
669 return fwd ? getNext() : getPrev(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
670 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
671 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
672 function canAdvance( pair ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
673 return pair[ 1 ] > -1 && pair[ 1 ] < $headerCellsNoPersist.length; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
674 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
675 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
676 function matchesMedia() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
677 var matchMedia = $table.attr( "data-tablesaw-swipe-media" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
678 return !matchMedia || ( "matchMedia" in win ) && win.matchMedia( matchMedia ).matches; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
679 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
680 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
681 function fakeBreakpoints() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
682 if( !matchesMedia() ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
683 return; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
684 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
685 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
686 var extraPaddingPixels = 20, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
687 containerWidth = $table.parent().width(), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
688 persist = [], |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
689 sum = 0, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
690 sums = [], |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
691 visibleNonPersistantCount = $headerCells.length; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
692 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
693 $headerCells.each(function( index ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
694 var $t = $( this ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
695 isPersist = $t.is( '[data-tablesaw-priority="persist"]' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
696 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
697 persist.push( isPersist ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
698 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
699 sum += headerWidths[ index ] + ( isPersist ? 0 : extraPaddingPixels ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
700 sums.push( sum ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
701 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
702 // is persistent or is hidden |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
703 if( isPersist || sum > containerWidth ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
704 visibleNonPersistantCount--; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
705 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
706 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
707 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
708 var needsNonPersistentColumn = visibleNonPersistantCount === 0; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
709 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
710 $headerCells.each(function( index ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
711 if( persist[ index ] ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
712 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
713 // for visual box-shadow |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
714 persistColumn( this ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
715 return; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
716 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
717 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
718 if( sums[ index ] <= containerWidth || needsNonPersistentColumn ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
719 needsNonPersistentColumn = false; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
720 showColumn( this ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
721 } else { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
722 hideColumn( this ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
723 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
724 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
725 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
726 if( supportsNthChild ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
727 unmaintainWidths(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
728 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
729 $table.trigger( 'tablesawcolumns' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
730 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
731 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
732 function advance( fwd ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
733 var pair = nextpair( fwd ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
734 if( canAdvance( pair ) ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
735 if( isNaN( pair[ 0 ] ) ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
736 if( fwd ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
737 pair[0] = 0; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
738 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
739 else { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
740 pair[0] = $headerCellsNoPersist.length - 1; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
741 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
742 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
743 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
744 if( supportsNthChild ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
745 maintainWidths(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
746 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
747 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
748 hideColumn( $headerCellsNoPersist.get( pair[ 0 ] ) ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
749 showColumn( $headerCellsNoPersist.get( pair[ 1 ] ) ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
750 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
751 $table.trigger( 'tablesawcolumns' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
752 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
753 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
754 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
755 $prevBtn.add( $nextBtn ).click(function( e ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
756 advance( !!$( e.target ).closest( $nextBtn ).length ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
757 e.preventDefault(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
758 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
759 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
760 function getCoord( event, key ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
761 return ( event.touches || event.originalEvent.touches )[ 0 ][ key ]; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
762 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
763 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
764 $table |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
765 .bind( "touchstart.swipetoggle", function( e ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
766 var originX = getCoord( e, 'pageX' ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
767 originY = getCoord( e, 'pageY' ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
768 x, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
769 y; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
770 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
771 $( win ).off( "resize", fakeBreakpoints ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
772 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
773 $( this ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
774 .bind( "touchmove", function( e ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
775 x = getCoord( e, 'pageX' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
776 y = getCoord( e, 'pageY' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
777 var cfg = Tablesaw.config.swipe; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
778 if( Math.abs( x - originX ) > cfg.horizontalThreshold && Math.abs( y - originY ) < cfg.verticalThreshold ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
779 e.preventDefault(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
780 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
781 }) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
782 .bind( "touchend.swipetoggle", function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
783 var cfg = Tablesaw.config.swipe; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
784 if( Math.abs( y - originY ) < cfg.verticalThreshold ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
785 if( x - originX < -1 * cfg.horizontalThreshold ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
786 advance( true ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
787 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
788 if( x - originX > cfg.horizontalThreshold ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
789 advance( false ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
790 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
791 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
792 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
793 window.setTimeout(function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
794 $( win ).on( "resize", fakeBreakpoints ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
795 }, 300); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
796 $( this ).unbind( "touchmove touchend" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
797 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
798 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
799 }) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
800 .bind( "tablesawcolumns.swipetoggle", function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
801 $prevBtn[ canAdvance( getPrev() ) ? "removeClass" : "addClass" ]( hideBtn ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
802 $nextBtn[ canAdvance( getNext() ) ? "removeClass" : "addClass" ]( hideBtn ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
803 }) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
804 .bind( "tablesawnext.swipetoggle", function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
805 advance( true ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
806 } ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
807 .bind( "tablesawprev.swipetoggle", function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
808 advance( false ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
809 } ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
810 .bind( "tablesawdestroy.swipetoggle", function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
811 var $t = $( this ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
812 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
813 $t.removeClass( 'tablesaw-swipe' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
814 $t.prev().filter( '.tablesaw-bar' ).find( '.tablesaw-advance' ).remove(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
815 $( win ).off( "resize", fakeBreakpoints ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
816 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
817 $t.unbind( ".swipetoggle" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
818 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
819 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
820 fakeBreakpoints(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
821 $( win ).on( "resize", fakeBreakpoints ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
822 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
823 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
824 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
825 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
826 // on tablecreate, init |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
827 $( document ).on( "tablesawcreate", function( e, Tablesaw ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
828 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
829 if( Tablesaw.mode === 'swipe' ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
830 createSwipeTable( Tablesaw.$table ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
831 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
832 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
833 } ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
834 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
835 }( this, jQuery )); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
836 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
837 ;(function( $ ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
838 function getSortValue( cell ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
839 return $.map( cell.childNodes, function( el ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
840 var $el = $( el ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
841 if( $el.is( 'input, select' ) ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
842 return $el.val(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
843 } else if( $el.hasClass( 'tablesaw-cell-label' ) ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
844 return; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
845 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
846 return $.trim( $el.text() ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
847 }).join( '' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
848 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
849 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
850 var pluginName = "tablesaw-sortable", |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
851 initSelector = "table[data-" + pluginName + "]", |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
852 sortableSwitchSelector = "[data-" + pluginName + "-switch]", |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
853 attrs = { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
854 defaultCol: "data-tablesaw-sortable-default-col", |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
855 numericCol: "data-tablesaw-sortable-numeric" |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
856 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
857 classes = { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
858 head: pluginName + "-head", |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
859 ascend: pluginName + "-ascending", |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
860 descend: pluginName + "-descending", |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
861 switcher: pluginName + "-switch", |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
862 tableToolbar: 'tablesaw-toolbar', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
863 sortButton: pluginName + "-btn" |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
864 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
865 methods = { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
866 _create: function( o ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
867 return $( this ).each(function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
868 var init = $( this ).data( "init" + pluginName ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
869 if( init ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
870 return false; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
871 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
872 $( this ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
873 .data( "init"+ pluginName, true ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
874 .trigger( "beforecreate." + pluginName ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
875 [ pluginName ]( "_init" , o ) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
876 .trigger( "create." + pluginName ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
877 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
878 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
879 _init: function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
880 var el = $( this ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
881 heads, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
882 $switcher; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
883 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
884 var addClassToTable = function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
885 el.addClass( pluginName ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
886 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
887 addClassToHeads = function( h ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
888 $.each( h , function( i , v ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
889 $( v ).addClass( classes.head ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
890 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
891 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
892 makeHeadsActionable = function( h , fn ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
893 $.each( h , function( i , v ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
894 var b = $( "<button class='" + classes.sortButton + "'/>" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
895 b.bind( "click" , { col: v } , fn ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
896 $( v ).wrapInner( b ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
897 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
898 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
899 clearOthers = function( sibs ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
900 $.each( sibs , function( i , v ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
901 var col = $( v ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
902 col.removeAttr( attrs.defaultCol ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
903 col.removeClass( classes.ascend ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
904 col.removeClass( classes.descend ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
905 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
906 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
907 headsOnAction = function( e ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
908 if( $( e.target ).is( 'a[href]' ) ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
909 return; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
910 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
911 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
912 e.stopPropagation(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
913 var head = $( this ).parent(), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
914 v = e.data.col, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
915 newSortValue = heads.index( head ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
916 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
917 clearOthers( head.siblings() ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
918 if( head.hasClass( classes.descend ) ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
919 el[ pluginName ]( "sortBy" , v , true); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
920 newSortValue += '_asc'; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
921 } else { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
922 el[ pluginName ]( "sortBy" , v ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
923 newSortValue += '_desc'; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
924 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
925 if( $switcher ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
926 $switcher.find( 'select' ).val( newSortValue ).trigger( 'refresh' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
927 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
928 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
929 e.preventDefault(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
930 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
931 handleDefault = function( heads ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
932 $.each( heads , function( idx , el ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
933 var $el = $( el ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
934 if( $el.is( "[" + attrs.defaultCol + "]" ) ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
935 if( !$el.hasClass( classes.descend ) ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
936 $el.addClass( classes.ascend ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
937 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
938 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
939 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
940 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
941 addSwitcher = function( heads ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
942 $switcher = $( '<div>' ).addClass( classes.switcher ).addClass( classes.tableToolbar ).html(function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
943 var html = [ '<label>' + Tablesaw.i18n.sort + ':' ]; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
944 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
945 html.push( '<span class="btn btn-small"> <select>' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
946 heads.each(function( j ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
947 var $t = $( this ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
948 var isDefaultCol = $t.is( "[" + attrs.defaultCol + "]" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
949 var isDescending = $t.hasClass( classes.descend ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
950 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
951 var hasNumericAttribute = $t.is( '[data-sortable-numeric]' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
952 var numericCount = 0; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
953 // Check only the first four rows to see if the column is numbers. |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
954 var numericCountMax = 5; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
955 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
956 $( this.cells ).slice( 0, numericCountMax ).each(function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
957 if( !isNaN( parseInt( getSortValue( this ), 10 ) ) ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
958 numericCount++; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
959 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
960 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
961 var isNumeric = numericCount === numericCountMax; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
962 if( !hasNumericAttribute ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
963 $t.attr( "data-sortable-numeric", isNumeric ? "" : "false" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
964 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
965 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
966 html.push( '<option' + ( isDefaultCol && !isDescending ? ' selected' : '' ) + ' value="' + j + '_asc">' + $t.text() + ' ' + ( isNumeric ? '↑' : '(A-Z)' ) + '</option>' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
967 html.push( '<option' + ( isDefaultCol && isDescending ? ' selected' : '' ) + ' value="' + j + '_desc">' + $t.text() + ' ' + ( isNumeric ? '↓' : '(Z-A)' ) + '</option>' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
968 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
969 html.push( '</select></span></label>' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
970 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
971 return html.join(''); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
972 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
973 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
974 var $toolbar = el.prev().filter( '.tablesaw-bar' ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
975 $firstChild = $toolbar.children().eq( 0 ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
976 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
977 if( $firstChild.length ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
978 $switcher.insertBefore( $firstChild ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
979 } else { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
980 $switcher.appendTo( $toolbar ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
981 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
982 $switcher.find( '.btn' ).tablesawbtn(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
983 $switcher.find( 'select' ).on( 'change', function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
984 var val = $( this ).val().split( '_' ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
985 head = heads.eq( val[ 0 ] ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
986 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
987 clearOthers( head.siblings() ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
988 el[ pluginName ]( 'sortBy', head.get( 0 ), val[ 1 ] === 'asc' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
989 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
990 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
991 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
992 addClassToTable(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
993 heads = el.find( "thead th[data-" + pluginName + "-col]" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
994 addClassToHeads( heads ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
995 makeHeadsActionable( heads , headsOnAction ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
996 handleDefault( heads ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
997 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
998 if( el.is( sortableSwitchSelector ) ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
999 addSwitcher( heads, el.find('tbody tr:nth-child(-n+3)') ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1000 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1001 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1002 getColumnNumber: function( col ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1003 return $( col ).prevAll().length; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1004 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1005 getTableRows: function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1006 return $( this ).find( "tbody tr" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1007 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1008 sortRows: function( rows , colNum , ascending, col ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1009 var cells, fn, sorted; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1010 var getCells = function( rows ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1011 var cells = []; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1012 $.each( rows , function( i , r ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1013 var element = $( r ).children().get( colNum ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1014 cells.push({ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1015 element: element, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1016 cell: getSortValue( element ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1017 rowNum: i |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1018 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1019 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1020 return cells; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1021 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1022 getSortFxn = function( ascending, forceNumeric ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1023 var fn, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1024 regex = /[^\-\+\d\.]/g; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1025 if( ascending ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1026 fn = function( a , b ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1027 if( forceNumeric ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1028 return parseFloat( a.cell.replace( regex, '' ) ) - parseFloat( b.cell.replace( regex, '' ) ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1029 } else { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1030 return a.cell.toLowerCase() > b.cell.toLowerCase() ? 1 : -1; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1031 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1032 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1033 } else { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1034 fn = function( a , b ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1035 if( forceNumeric ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1036 return parseFloat( b.cell.replace( regex, '' ) ) - parseFloat( a.cell.replace( regex, '' ) ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1037 } else { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1038 return a.cell.toLowerCase() < b.cell.toLowerCase() ? 1 : -1; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1039 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1040 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1041 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1042 return fn; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1043 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1044 applyToRows = function( sorted , rows ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1045 var newRows = [], i, l, cur; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1046 for( i = 0, l = sorted.length ; i < l ; i++ ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1047 cur = sorted[ i ].rowNum; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1048 newRows.push( rows[cur] ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1049 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1050 return newRows; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1051 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1052 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1053 cells = getCells( rows ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1054 var customFn = $( col ).data( 'tablesaw-sort' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1055 fn = ( customFn && typeof customFn === "function" ? customFn( ascending ) : false ) || |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1056 getSortFxn( ascending, $( col ).is( '[data-sortable-numeric]' ) && !$( col ).is( '[data-sortable-numeric="false"]' ) ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1057 sorted = cells.sort( fn ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1058 rows = applyToRows( sorted , rows ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1059 return rows; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1060 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1061 replaceTableRows: function( rows ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1062 var el = $( this ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1063 body = el.find( "tbody" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1064 body.html( rows ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1065 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1066 makeColDefault: function( col , a ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1067 var c = $( col ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1068 c.attr( attrs.defaultCol , "true" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1069 if( a ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1070 c.removeClass( classes.descend ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1071 c.addClass( classes.ascend ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1072 } else { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1073 c.removeClass( classes.ascend ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1074 c.addClass( classes.descend ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1075 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1076 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1077 sortBy: function( col , ascending ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1078 var el = $( this ), colNum, rows; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1079 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1080 colNum = el[ pluginName ]( "getColumnNumber" , col ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1081 rows = el[ pluginName ]( "getTableRows" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1082 rows = el[ pluginName ]( "sortRows" , rows , colNum , ascending, col ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1083 el[ pluginName ]( "replaceTableRows" , rows ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1084 el[ pluginName ]( "makeColDefault" , col , ascending ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1085 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1086 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1087 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1088 // Collection method. |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1089 $.fn[ pluginName ] = function( arrg ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1090 var args = Array.prototype.slice.call( arguments , 1), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1091 returnVal; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1092 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1093 // if it's a method |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1094 if( arrg && typeof( arrg ) === "string" ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1095 returnVal = $.fn[ pluginName ].prototype[ arrg ].apply( this[0], args ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1096 return (typeof returnVal !== "undefined")? returnVal:$(this); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1097 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1098 // check init |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1099 if( !$( this ).data( pluginName + "data" ) ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1100 $( this ).data( pluginName + "active", true ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1101 $.fn[ pluginName ].prototype._create.call( this , arrg ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1102 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1103 return $(this); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1104 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1105 // add methods |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1106 $.extend( $.fn[ pluginName ].prototype, methods ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1107 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1108 $( document ).on( "tablesawcreate", function( e, Tablesaw ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1109 if( Tablesaw.$table.is( initSelector ) ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1110 Tablesaw.$table[ pluginName ](); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1111 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1112 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1113 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1114 }( jQuery )); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1115 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1116 ;(function( win, $, undefined ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1117 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1118 var MM = { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1119 attr: { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1120 init: 'data-tablesaw-minimap' |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1121 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1122 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1123 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1124 function createMiniMap( $table ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1125 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1126 var $btns = $( '<div class="tablesaw-advance minimap">' ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1127 $dotNav = $( '<ul class="tablesaw-advance-dots">' ).appendTo( $btns ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1128 hideDot = 'tablesaw-advance-dots-hide', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1129 $headerCells = $table.find( 'thead th' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1130 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1131 // populate dots |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1132 $headerCells.each(function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1133 $dotNav.append( '<li><i></i></li>' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1134 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1135 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1136 $btns.appendTo( $table.prev().filter( '.tablesaw-bar' ) ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1137 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1138 function showMinimap( $table ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1139 var mq = $table.attr( MM.attr.init ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1140 return !mq || win.matchMedia && win.matchMedia( mq ).matches; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1141 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1142 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1143 function showHideNav(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1144 if( !showMinimap( $table ) ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1145 $btns.hide(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1146 return; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1147 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1148 $btns.show(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1149 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1150 // show/hide dots |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1151 var dots = $dotNav.find( "li" ).removeClass( hideDot ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1152 $table.find( "thead th" ).each(function(i){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1153 if( $( this ).css( "display" ) === "none" ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1154 dots.eq( i ).addClass( hideDot ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1155 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1156 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1157 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1158 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1159 // run on init and resize |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1160 showHideNav(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1161 $( win ).on( "resize", showHideNav ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1162 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1163 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1164 $table |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1165 .bind( "tablesawcolumns.minimap", function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1166 showHideNav(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1167 }) |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1168 .bind( "tablesawdestroy.minimap", function(){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1169 var $t = $( this ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1170 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1171 $t.prev().filter( '.tablesaw-bar' ).find( '.tablesaw-advance' ).remove(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1172 $( win ).off( "resize", showHideNav ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1173 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1174 $t.unbind( ".minimap" ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1175 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1176 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1177 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1178 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1179 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1180 // on tablecreate, init |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1181 $( document ).on( "tablesawcreate", function( e, Tablesaw ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1182 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1183 if( ( Tablesaw.mode === 'swipe' || Tablesaw.mode === 'columntoggle' ) && Tablesaw.$table.is( '[ ' + MM.attr.init + ']' ) ){ |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1184 createMiniMap( Tablesaw.$table ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1185 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1186 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1187 } ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1188 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1189 }( this, jQuery )); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1190 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1191 ;(function( win, $ ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1192 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1193 var S = { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1194 selectors: { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1195 init: 'table[data-tablesaw-mode-switch]' |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1196 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1197 attributes: { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1198 excludeMode: 'data-tablesaw-mode-exclude' |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1199 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1200 classes: { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1201 main: 'tablesaw-modeswitch', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1202 toolbar: 'tablesaw-toolbar' |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1203 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1204 modes: [ 'stack', 'swipe', 'columntoggle' ], |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1205 init: function( table ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1206 var $table = $( table ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1207 ignoreMode = $table.attr( S.attributes.excludeMode ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1208 $toolbar = $table.prev().filter( '.tablesaw-bar' ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1209 modeVal = '', |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1210 $switcher = $( '<div>' ).addClass( S.classes.main + ' ' + S.classes.toolbar ).html(function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1211 var html = [ '<label>' + Tablesaw.i18n.columns + ':' ], |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1212 dataMode = $table.attr( 'data-tablesaw-mode' ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1213 isSelected; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1214 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1215 html.push( '<span class="btn btn-small"> <select>' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1216 for( var j=0, k = S.modes.length; j<k; j++ ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1217 if( ignoreMode && ignoreMode.toLowerCase() === S.modes[ j ] ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1218 continue; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1219 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1220 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1221 isSelected = dataMode === S.modes[ j ]; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1222 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1223 if( isSelected ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1224 modeVal = S.modes[ j ]; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1225 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1226 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1227 html.push( '<option' + |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1228 ( isSelected ? ' selected' : '' ) + |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1229 ' value="' + S.modes[ j ] + '">' + Tablesaw.i18n.modes[ j ] + '</option>' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1230 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1231 html.push( '</select></span></label>' ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1232 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1233 return html.join(''); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1234 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1235 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1236 var $otherToolbarItems = $toolbar.find( '.tablesaw-advance' ).eq( 0 ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1237 if( $otherToolbarItems.length ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1238 $switcher.insertBefore( $otherToolbarItems ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1239 } else { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1240 $switcher.appendTo( $toolbar ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1241 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1242 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1243 $switcher.find( '.btn' ).tablesawbtn(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1244 $switcher.find( 'select' ).bind( 'change', S.onModeChange ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1245 }, |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1246 onModeChange: function() { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1247 var $t = $( this ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1248 $switcher = $t.closest( '.' + S.classes.main ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1249 $table = $t.closest( '.tablesaw-bar' ).nextUntil( $table ).eq( 0 ), |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1250 val = $t.val(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1251 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1252 $switcher.remove(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1253 $table.data( 'table' ).destroy(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1254 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1255 $table.attr( 'data-tablesaw-mode', val ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1256 $table.table(); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1257 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1258 }; |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1259 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1260 $( win.document ).on( "tablesawcreate", function( e, Tablesaw ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1261 if( Tablesaw.$table.is( S.selectors.init ) ) { |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1262 S.init( Tablesaw.table ); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1263 } |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1264 }); |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1265 |
89a5ca7d44f7
new: rename branch to task, add fields in task table, add scroll bar
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1266 })( this, jQuery ); |