├── LICENSE ├── README.md ├── anode ├── index.html ├── patches.js └── s.css ├── img ├── anode-logo.png ├── anode-transparent.png ├── meeblip-logo.png ├── meeblip-transparent-offwhite.png ├── meeblip-transparent-white.png ├── meeblip-transparent.png ├── quick-start │ ├── gen-rand.png │ ├── link-for-patch-no-dialog.png │ ├── link-for-patch.png │ ├── patch-link.png │ ├── patches.png │ ├── port-chan.png │ ├── send.png │ └── sequencer.png ├── triode-logo.png ├── triode-transparent-offwhite.png └── triode-transparent-white.png ├── index.html ├── lib ├── DataTables │ ├── AutoFill-2.1.3 │ │ ├── css │ │ │ ├── autoFill.bootstrap.css │ │ │ ├── autoFill.bootstrap.min.css │ │ │ ├── autoFill.dataTables.css │ │ │ ├── autoFill.dataTables.min.css │ │ │ ├── autoFill.foundation.css │ │ │ ├── autoFill.foundation.min.css │ │ │ ├── autoFill.jqueryui.css │ │ │ ├── autoFill.jqueryui.min.css │ │ │ ├── autoFill.semanticui.css │ │ │ └── autoFill.semanticui.min.css │ │ └── js │ │ │ ├── autoFill.bootstrap.js │ │ │ ├── autoFill.bootstrap.min.js │ │ │ ├── autoFill.foundation.js │ │ │ ├── autoFill.foundation.min.js │ │ │ ├── autoFill.jqueryui.js │ │ │ ├── autoFill.jqueryui.min.js │ │ │ ├── autoFill.semanticui.js │ │ │ ├── autoFill.semanticui.min.js │ │ │ ├── dataTables.autoFill.js │ │ │ └── dataTables.autoFill.min.js │ ├── DataTables-1.10.13 │ │ ├── css │ │ │ ├── dataTables.bootstrap.css │ │ │ ├── dataTables.bootstrap.min.css │ │ │ ├── dataTables.foundation.css │ │ │ ├── dataTables.foundation.min.css │ │ │ ├── dataTables.jqueryui.css │ │ │ ├── dataTables.jqueryui.min.css │ │ │ ├── dataTables.semanticui.css │ │ │ ├── dataTables.semanticui.min.css │ │ │ ├── jquery.dataTables.css │ │ │ ├── jquery.dataTables.min.css │ │ │ └── jquery.dataTables_themeroller.css │ │ ├── images │ │ │ ├── sort_asc.png │ │ │ ├── sort_asc_disabled.png │ │ │ ├── sort_both.png │ │ │ ├── sort_desc.png │ │ │ └── sort_desc_disabled.png │ │ └── js │ │ │ ├── dataTables.bootstrap.js │ │ │ ├── dataTables.bootstrap.min.js │ │ │ ├── dataTables.foundation.js │ │ │ ├── dataTables.foundation.min.js │ │ │ ├── dataTables.jqueryui.js │ │ │ ├── dataTables.jqueryui.min.js │ │ │ ├── dataTables.semanticui.js │ │ │ ├── dataTables.semanticui.min.js │ │ │ ├── jquery.dataTables.js │ │ │ └── jquery.dataTables.min.js │ ├── datatables.css │ ├── datatables.js │ ├── datatables.min.css │ └── datatables.min.js ├── bootstrap-3.3.7-dist │ ├── css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ └── js │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ └── npm.js ├── editor.js ├── images │ ├── ui-bg_glass_55_fbf9ee_1x400.png │ ├── ui-bg_glass_65_ffffff_1x400.png │ ├── ui-bg_glass_75_dadada_1x400.png │ ├── ui-bg_glass_75_e6e6e6_1x400.png │ ├── ui-bg_glass_95_fef1ec_1x400.png │ ├── ui-bg_highlight-soft_75_cccccc_1x100.png │ ├── ui-icons_222222_256x240.png │ ├── ui-icons_2e83ff_256x240.png │ ├── ui-icons_454545_256x240.png │ ├── ui-icons_888888_256x240.png │ └── ui-icons_cd0a0a_256x240.png ├── jquery-2.1.4.js ├── jquery-2.2.4.min.js ├── jquery-ui.css ├── jquery-ui.min.js ├── jquery-ui.structure.css ├── jquery-ui.theme.css ├── jquery.knob.min.js ├── jsrender.js ├── jsrender.min.js ├── midiAccess.js └── sequencer.js └── triode ├── index.html ├── patches.js └── s.css /README.md: -------------------------------------------------------------------------------- 1 | Web tools for MeeBlip control and editing 2 | 3 | To create patches: 4 | * Tweak knobs and switches 5 | * Select the MIDI port and channel your MeeBlip is using 6 | * Click the "send" button to send MIDI config data to your MeeBlip. (Make sure you've got the right port and channel selected!) 7 | 8 | Click the "patch link" button to save your patch. Save the link to a bookmarks folder, put it in a web page, email it to a friend, share it on Twitter, etc. By saving patch URLs you can create shareable libraries of sounds for your MeeBlip! 9 | 10 | # Running Locally 11 | 12 | 1. Clone repo 13 | 2. `cd ` 14 | 3. Run `python -m SimpleHTTPServer 8000` 15 | 4. Load http://localhost:8000 in browser 16 | -------------------------------------------------------------------------------- /anode/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | MeeBlip anode 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 | 33 |
34 | 35 |
36 | 37 | 38 |
39 | 40 |
41 | 42 | 43 |
44 |

envelope

45 |
46 | 47 |

amp decay

48 | 49 | 50 |
51 |
52 | 53 |

filter decay

54 | 55 | 56 |
57 | 58 |
59 |

sustain

60 | 61 | 62 |
63 |
64 | 65 |
66 |

filter

67 |
68 | 69 |

cutoff

70 | 71 | 72 |
73 |
74 | 75 |
 
76 | 77 |
78 |

oscillators

79 |
80 | 81 |

wave

82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 |
rangebank abank b
93 | 100 | 113 | 114 |
115 | 116 |
117 |

detune

118 | 119 |
120 | 121 |
122 |
123 |

octave

124 | 125 | 126 |
127 | 128 |
129 |

wave bank

130 | 131 | 132 |
133 |
134 | 135 |
136 | 137 |
138 |

lfo

139 |
140 | 141 |

rate

142 | 143 | 144 |
145 | 146 |
147 |

depth

148 | 149 |
150 | 151 |
152 |

dest

153 | 154 | 155 |
156 |
157 | 158 |
 
159 | 160 |
161 |

MIDI only

162 | 163 |
164 |

glide

165 | 166 |
167 | 168 |
169 |

vcf env amount

170 | 171 |
172 | 173 |
174 |

lfo random

175 | 176 | 177 |
178 | 179 |
180 |

lfo note retrigger

181 | 182 | 183 |
184 | 185 |
186 |

osc b wave

187 | 188 | 189 |
190 | 191 |
 
192 | 193 |
194 |
195 |

amp attack

196 | 197 |
198 | 199 |
200 |

filter attack

201 | 202 |
203 |
204 | 205 |
206 | 207 |
208 | 209 | 307 | 308 |
 
309 |
310 | 311 | 312 | 313 | -------------------------------------------------------------------------------- /anode/patches.js: -------------------------------------------------------------------------------- 1 | var patches = [ 2 | 3 | { 4 | name: "squiggles", 5 | href: "?aDecay=127&fDecay=127&sustain=127&fCut=27&wave=48&detune=62&octave=127&pwmSweep=127&lRate=83&lDepth=127&lDest=0&glide=64&vcfEnvAmount=88&lRand=127&lNoteRetrig=127&oscBWave=127&aAttck=0&fAttck=0", 6 | description: "bleeps with lfo random" 7 | }, 8 | { 9 | name: "chunked", 10 | href: "?aDecay=99&fDecay=57&sustain=127&fCut=92&wave=16&detune=107&octave=0&pwmSweep=0&lRate=30&lDepth=0&lDest=0&glide=35&vcfEnvAmount=95&lRand=0&lNoteRetrig=127&oscBWave=0&aAttck=50&fAttck=8", 11 | description: "power chord riffing" 12 | }, 13 | { 14 | name: "buzz", 15 | href: "?aDecay=64&fDecay=84&sustain=127&fCut=95&wave=32&detune=64&octave=127&pwmSweep=127&lRate=80&lDepth=34&lDest=127&glide=96&vcfEnvAmount=124&lRand=0&lNoteRetrig=127&oscBWave=127&aAttck=0&fAttck=0", 16 | description: "buzz tone with glide" 17 | }, 18 | { 19 | name: "phlead", 20 | href: "?aDecay=100&fDecay=101&sustain=127&fCut=89&wave=0&detune=69&octave=0&pwmSweep=0&lRate=58&lDepth=16&lDest=127&glide=30&vcfEnvAmount=64&lRand=0&lNoteRetrig=127&oscBWave=0&aAttck=0&fAttck=0", 21 | description: "big pwm sound" 22 | }, 23 | { 24 | name: "slooow fall", 25 | href: "?aDecay=74&fDecay=127&sustain=127&fCut=100&wave=112&detune=64&octave=0&pwmSweep=127&lRate=1&lDepth=127&lDest=0&glide=30&vcfEnvAmount=127&lRand=0&lNoteRetrig=0&oscBWave=0&aAttck=0&fAttck=43", 26 | description: "it's a long way down" 27 | }, 28 | { 29 | name: "ah ah ah ah ah", 30 | href: "?aDecay=99&fDecay=116&sustain=127&fCut=65&wave=0&detune=28&octave=127&pwmSweep=0&lRate=10&lDepth=100&lDest=127&glide=0&vcfEnvAmount=102&lRand=0&lNoteRetrig=0&oscBWave=0&aAttck=82&fAttck=0", 31 | description: "reminds me of harmonized guitar part in zep's black dog" 32 | }, 33 | { 34 | name: "harpsiblip", 35 | href: "?aDecay=90&fDecay=24&sustain=0&fCut=75&wave=112&detune=64&octave=127&pwmSweep=0&lRate=0&lDepth=0&lDest=127&glide=0&vcfEnvAmount=44&lRand=0&lNoteRetrig=0&oscBWave=0&aAttck=0&fAttck=65", 36 | description: "kind of a harpsichord-ish thing" 37 | }, 38 | { 39 | name: "shorty", 40 | href: "?aDecay=80&fDecay=94&sustain=0&fCut=40&wave=48&detune=64&octave=127&pwmSweep=127&lRate=23&lDepth=16&lDest=127&glide=0&vcfEnvAmount=99&lRand=0&lNoteRetrig=127&oscBWave=0&aAttck=0&fAttck=65", 41 | description: "softer sound with quick release" 42 | } 43 | 44 | ]; -------------------------------------------------------------------------------- /anode/s.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: 'Open Sans', sans-serif; 3 | background: #ddd; 4 | margin: 0 auto 0 0; 5 | padding-top: 0; 6 | } 7 | 8 | #container { 9 | background: #fff; 10 | border-right: 4px solid #676; 11 | border-top: 4px solid #676; 12 | border-top-right-radius: 6px; 13 | border-bottom-right-radius: 6px; 14 | border-bottom: 4px solid #676; 15 | margin: 0; 16 | padding-top: 5px; 17 | padding-left: 2%; 18 | padding-bottom: 0; 19 | width: 790px; 20 | } 21 | 22 | h1 { 23 | font-size: 1.5em; 24 | } 25 | 26 | #titleBar { 27 | margin-bottom: 12px; 28 | } 29 | 30 | #titleBar #meeblip { 31 | width: 200px; 32 | position: relative; 33 | left: -12px; 34 | top: 15px; 35 | z-index: 100; 36 | } 37 | 38 | #titleBar #anode { 39 | width: 75px; 40 | position: relative; 41 | left: -98px; 42 | top: -16px; 43 | z-index: 0; 44 | } 45 | 46 | #controlBar { 47 | font-size: 1em; 48 | } 49 | 50 | #envelope { 51 | float: left; 52 | } 53 | 54 | #filter { 55 | 56 | } 57 | 58 | #oscillators { 59 | float: left; 60 | } 61 | 62 | #waveBanks { 63 | position: relative; 64 | font-size: .7em; 65 | border: 1px solid #333; 66 | width: 170px; 67 | text-align: center; 68 | top: -10px; 69 | left: 5px; 70 | } 71 | 72 | #waveBanks tr { 73 | } 74 | 75 | #waveBanks td { 76 | } 77 | 78 | #patchBrowser { 79 | /*margin-left: 5px;*/ 80 | padding-top: 16px; 81 | font-size: .7em; 82 | } 83 | 84 | #patchTable { 85 | border: 0px solid #000; 86 | border-collapse: collapse; 87 | padding: 0; 88 | text-align: center; 89 | width: 360px; 90 | } 91 | 92 | #patchTable thead { 93 | display: none; 94 | } 95 | 96 | #patchTableBody { 97 | } 98 | 99 | #patchTable_filter { 100 | margin-bottom: 20px; 101 | text-transform: lowercase; 102 | } 103 | 104 | #patchTable_info, #patchTable_paginate { 105 | text-transform: lowercase; 106 | margin-top: 12px; 107 | } 108 | 109 | #patchTable tr:hover {background-color: #eee} 110 | 111 | #patchTable tr { 112 | /*padding: 0; 113 | margin: 0;*/ 114 | } 115 | 116 | #patchTable a { 117 | font-weight: bold; 118 | } 119 | 120 | #patchTable td { 121 | border: 1px solid #000; 122 | padding: 8px; 123 | margin: 0; 124 | } 125 | 126 | #lfo { 127 | 128 | } 129 | 130 | #shareUrl { 131 | font-size: .7em; 132 | } 133 | 134 | .ui-dialog-titlebar { 135 | font-size: .7em !important; 136 | } 137 | 138 | input.controlButton { 139 | font-size: .7em; 140 | font-weight: bold; 141 | color: #000; 142 | font-family: 'Open Sans', sans-serif; 143 | font-style: normal; 144 | text-transform: uppercase; 145 | } 146 | 147 | .ui-button-text { 148 | font-size: .7em; 149 | } 150 | 151 | .knobGroup { 152 | border: 0px solid #000; 153 | margin-right: 2%; 154 | } 155 | 156 | .groupRight { 157 | padding-left: 385px; 158 | } 159 | 160 | .knobGroup h3 { 161 | font-size: .8em; 162 | text-transform: uppercase; 163 | font-weight: 700; 164 | } 165 | 166 | .knobLabelPair { 167 | width: 110px; 168 | float: left; 169 | } 170 | 171 | .knobLabelPairStacked { 172 | width: 105px; 173 | } 174 | 175 | .knobLabelPairWide { 176 | border: 0px solid #000; 177 | width: 145px; 178 | float: left; 179 | } 180 | 181 | .knobLabelPairTopRel { 182 | width: 110px; 183 | float: left; 184 | position: relative; 185 | top: -28px; 186 | } 187 | 188 | .knobGroup h2 { 189 | text-align: center; 190 | text-transform: uppercase; 191 | width: 370px; 192 | padding: 3px; 193 | background: #000; 194 | color: #fff; 195 | font-size: .9em; 196 | } 197 | 198 | .clear { 199 | clear: both; 200 | } 201 | 202 | .dialogHeader .ui-dialog .ui-dialog-titlebar { 203 | margin: 0; 204 | } 205 | 206 | .dialogHeader .ui-widget-header { 207 | background: #000; 208 | color: #fff; 209 | border: 0; 210 | } 211 | 212 | .dialogHeader .ui-corner-all { 213 | border-bottom-right-radius: 0px; 214 | border-bottom-left-radius: 0px; 215 | border-top-right-radius: 0px; 216 | border-top-left-radius: 0px; 217 | } 218 | 219 | #midiOnly h2 { 220 | width: 757px; 221 | } 222 | 223 | a { 224 | color: #000; 225 | /*text-shadow: 2px 2px #000;*/ 226 | } 227 | 228 | a:visited { 229 | color: #000; 230 | } 231 | 232 | a:hover { 233 | /*background-color: #ffb3b3; 234 | padding: 2px;*/ 235 | } -------------------------------------------------------------------------------- /img/anode-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/img/anode-logo.png -------------------------------------------------------------------------------- /img/anode-transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/img/anode-transparent.png -------------------------------------------------------------------------------- /img/meeblip-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/img/meeblip-logo.png -------------------------------------------------------------------------------- /img/meeblip-transparent-offwhite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/img/meeblip-transparent-offwhite.png -------------------------------------------------------------------------------- /img/meeblip-transparent-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/img/meeblip-transparent-white.png -------------------------------------------------------------------------------- /img/meeblip-transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/img/meeblip-transparent.png -------------------------------------------------------------------------------- /img/quick-start/gen-rand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/img/quick-start/gen-rand.png -------------------------------------------------------------------------------- /img/quick-start/link-for-patch-no-dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/img/quick-start/link-for-patch-no-dialog.png -------------------------------------------------------------------------------- /img/quick-start/link-for-patch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/img/quick-start/link-for-patch.png -------------------------------------------------------------------------------- /img/quick-start/patch-link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/img/quick-start/patch-link.png -------------------------------------------------------------------------------- /img/quick-start/patches.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/img/quick-start/patches.png -------------------------------------------------------------------------------- /img/quick-start/port-chan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/img/quick-start/port-chan.png -------------------------------------------------------------------------------- /img/quick-start/send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/img/quick-start/send.png -------------------------------------------------------------------------------- /img/quick-start/sequencer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/img/quick-start/sequencer.png -------------------------------------------------------------------------------- /img/triode-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/img/triode-logo.png -------------------------------------------------------------------------------- /img/triode-transparent-offwhite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/img/triode-transparent-offwhite.png -------------------------------------------------------------------------------- /img/triode-transparent-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/img/triode-transparent-white.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | MeeBlip Web MIDI Patch Editors 9 | 10 | 11 | 12 | 13 | 14 | 98 | 99 | 100 | 101 | 102 |
103 |
104 |
105 |
106 |

MeeBlip Editors

107 |

Create and share patches for MeeBlip anode and triode synths, using Web MIDI editors for Chrome, Chromium, and Opera.

108 |
109 |
110 |
111 | 112 |
113 |
114 | 117 |
118 |
119 | 122 | 123 |
124 |
125 | 126 |
127 |
128 |

Quick Start Guide

129 |

The MeeBlip Web editor lets you explore the sounds your MeeBlip hardware can make, all with just a computer, a MIDI interface, and a compatible Web browser on any operating system. There's nothing to download, and you can share your results via URL or Twitter. Edit your patch, send it to your MeeBlip via MIDI, and then hear what it sounds like using an included sequencer. Here's how to get started:

130 |
    131 |
  1. Choose your hardware. Click one of the buttons above to select an editor customized for your model of MeeBlip - triode or anode.
  2. 132 |
  3. Configure MIDI output. Select the correct MIDI interface device/port and channel for your MeeBlip, via the control bar just under the logo: . Remember, to select a MIDI channel for the MeeBlip, press and release the MIDI SET button on the back panel of your hardware, look for the LED to blink, then move one of the knobs. (The eight knobs on triode correspond to channels 1-8; the four bottom knobs on anode correspond to channels 1-4.)
  4. 133 |
  5. Make, randomize, or load a patch. Now, create your patch by adjusting the on-screen knobs and switches right in your browser. You can control parameters that are normally accessible only via MIDI, too. And the editor works to generate new ideas: use the button to generate a random config. Or, load up a sample patch from the patch browser, by clicking the PATCHES button)
  6. 134 |
  7. Send the patch to your hardware. To hear the patch you've created, loaded, or randomized, you need to first transfer the MIDI data to your MeeBlip. Click the SEND button to transmit your patch over MIDI. If your port and channel settings are correct, you'll be able to hear the resulting patch by using the sequencer in this browser editor, or by sending notes from other music software on your computer. (Or if your MeeBlip is connected to a MIDI chain with a keyboard or other input device, you can use that.)
  8. 135 |
  9. Hear how it sounds with a sequencer. Don't have a keyboard or DAW handy? No problem! Click the button to launch an 8-step sequencer and try out your sounds right from the editor. (Tip: the sequencer can continue playing when its dialog is closed. So you can load up new patches while the sequencer plays in the background.)
  10. 136 |
  11. Save and share. Patches are stored as unique Web URLs, making them easy to save and share. Click the PATCH LINK button, and you'll see a link labeled "link for the current patch." Right-click (or control-click on Mac) to copy the link URL or bookmark it in your browser. the link for the current patch
  12. 137 | 138 |
  13. Tweet your favorite sounds. Share patch links on Twitter and discover new ones, by following our Twitter bot, @meeblipbot! Tag with #meeblip to help other users find and try your patches.
  14. 139 |
  15. Explore the code. Code is open source and available on GitHub. Want to learn about how Web MIDI works? Got an idea for a Web-powered MeeBlip hack? Take a look, fork us, and share your results!
  16. 140 |
141 |
142 |
143 |
144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/css/autoFill.bootstrap.css: -------------------------------------------------------------------------------- 1 | div.dt-autofill-handle { 2 | position: absolute; 3 | height: 8px; 4 | width: 8px; 5 | z-index: 102; 6 | box-sizing: border-box; 7 | border: 1px solid #337ab7; 8 | background: #337ab7; 9 | } 10 | 11 | div.dt-autofill-select { 12 | position: absolute; 13 | z-index: 1001; 14 | background-color: #337ab7; 15 | background-image: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px); 16 | } 17 | div.dt-autofill-select.top, div.dt-autofill-select.bottom { 18 | height: 3px; 19 | margin-top: -1px; 20 | } 21 | div.dt-autofill-select.left, div.dt-autofill-select.right { 22 | width: 3px; 23 | margin-left: -1px; 24 | } 25 | 26 | div.dt-autofill-list { 27 | position: fixed; 28 | top: 50%; 29 | left: 50%; 30 | width: 500px; 31 | margin-left: -250px; 32 | background-color: white; 33 | border-radius: 6px; 34 | box-shadow: 0 0 5px #555; 35 | border: 2px solid #444; 36 | z-index: 11; 37 | box-sizing: border-box; 38 | padding: 1.5em 2em; 39 | } 40 | div.dt-autofill-list ul { 41 | display: table; 42 | margin: 0; 43 | padding: 0; 44 | list-style: none; 45 | width: 100%; 46 | } 47 | div.dt-autofill-list ul li { 48 | display: table-row; 49 | } 50 | div.dt-autofill-list ul li:last-child div.dt-autofill-question, div.dt-autofill-list ul li:last-child div.dt-autofill-button { 51 | border-bottom: none; 52 | } 53 | div.dt-autofill-list ul li:hover { 54 | background-color: #f6f6f6; 55 | } 56 | div.dt-autofill-list div.dt-autofill-question { 57 | display: table-cell; 58 | padding: 0.5em 0; 59 | border-bottom: 1px solid #ccc; 60 | } 61 | div.dt-autofill-list div.dt-autofill-question input[type=number] { 62 | padding: 6px; 63 | width: 30px; 64 | margin: -2px 0; 65 | } 66 | div.dt-autofill-list div.dt-autofill-button { 67 | display: table-cell; 68 | padding: 0.5em 0; 69 | border-bottom: 1px solid #ccc; 70 | } 71 | 72 | div.dt-autofill-background { 73 | position: fixed; 74 | top: 0; 75 | left: 0; 76 | width: 100%; 77 | height: 100%; 78 | background: rgba(0, 0, 0, 0.7); 79 | background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); 80 | z-index: 10; 81 | } 82 | -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/css/autoFill.bootstrap.min.css: -------------------------------------------------------------------------------- 1 | div.dt-autofill-handle{position:absolute;height:8px;width:8px;z-index:102;box-sizing:border-box;border:1px solid #337ab7;background:#337ab7}div.dt-autofill-select{position:absolute;z-index:1001;background-color:#337ab7;background-image:repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255,255,255,0.5) 5px, rgba(255,255,255,0.5) 10px)}div.dt-autofill-select.top,div.dt-autofill-select.bottom{height:3px;margin-top:-1px}div.dt-autofill-select.left,div.dt-autofill-select.right{width:3px;margin-left:-1px}div.dt-autofill-list{position:fixed;top:50%;left:50%;width:500px;margin-left:-250px;background-color:white;border-radius:6px;box-shadow:0 0 5px #555;border:2px solid #444;z-index:11;box-sizing:border-box;padding:1.5em 2em}div.dt-autofill-list ul{display:table;margin:0;padding:0;list-style:none;width:100%}div.dt-autofill-list ul li{display:table-row}div.dt-autofill-list ul li:last-child div.dt-autofill-question,div.dt-autofill-list ul li:last-child div.dt-autofill-button{border-bottom:none}div.dt-autofill-list ul li:hover{background-color:#f6f6f6}div.dt-autofill-list div.dt-autofill-question{display:table-cell;padding:0.5em 0;border-bottom:1px solid #ccc}div.dt-autofill-list div.dt-autofill-question input[type=number]{padding:6px;width:30px;margin:-2px 0}div.dt-autofill-list div.dt-autofill-button{display:table-cell;padding:0.5em 0;border-bottom:1px solid #ccc}div.dt-autofill-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:10} 2 | -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/css/autoFill.dataTables.css: -------------------------------------------------------------------------------- 1 | div.dt-autofill-handle { 2 | position: absolute; 3 | height: 8px; 4 | width: 8px; 5 | z-index: 102; 6 | box-sizing: border-box; 7 | border: 1px solid #316ad1; 8 | background: linear-gradient(to bottom, #abcffb 0%, #4989de 100%); 9 | } 10 | 11 | div.dt-autofill-select { 12 | position: absolute; 13 | z-index: 1001; 14 | background-color: #4989de; 15 | background-image: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px); 16 | } 17 | div.dt-autofill-select.top, div.dt-autofill-select.bottom { 18 | height: 3px; 19 | margin-top: -1px; 20 | } 21 | div.dt-autofill-select.left, div.dt-autofill-select.right { 22 | width: 3px; 23 | margin-left: -1px; 24 | } 25 | 26 | div.dt-autofill-list { 27 | position: fixed; 28 | top: 50%; 29 | left: 50%; 30 | width: 500px; 31 | margin-left: -250px; 32 | background-color: white; 33 | border-radius: 6px; 34 | box-shadow: 0 0 5px #555; 35 | border: 2px solid #444; 36 | z-index: 11; 37 | box-sizing: border-box; 38 | padding: 1.5em 2em; 39 | } 40 | div.dt-autofill-list ul { 41 | display: table; 42 | margin: 0; 43 | padding: 0; 44 | list-style: none; 45 | width: 100%; 46 | } 47 | div.dt-autofill-list ul li { 48 | display: table-row; 49 | } 50 | div.dt-autofill-list ul li:last-child div.dt-autofill-question, div.dt-autofill-list ul li:last-child div.dt-autofill-button { 51 | border-bottom: none; 52 | } 53 | div.dt-autofill-list ul li:hover { 54 | background-color: #f6f6f6; 55 | } 56 | div.dt-autofill-list div.dt-autofill-question { 57 | display: table-cell; 58 | padding: 0.5em 0; 59 | border-bottom: 1px solid #ccc; 60 | } 61 | div.dt-autofill-list div.dt-autofill-question input[type=number] { 62 | padding: 6px; 63 | width: 30px; 64 | margin: -2px 0; 65 | } 66 | div.dt-autofill-list div.dt-autofill-button { 67 | display: table-cell; 68 | padding: 0.5em 0; 69 | border-bottom: 1px solid #ccc; 70 | } 71 | div.dt-autofill-list div.dt-autofill-button button { 72 | color: white; 73 | margin: 0; 74 | padding: 6px 12px; 75 | text-align: center; 76 | border: 1px solid #2e6da4; 77 | background-color: #337ab7; 78 | border-radius: 4px; 79 | cursor: pointer; 80 | vertical-align: middle; 81 | } 82 | 83 | div.dt-autofill-background { 84 | position: fixed; 85 | top: 0; 86 | left: 0; 87 | width: 100%; 88 | height: 100%; 89 | background: rgba(0, 0, 0, 0.7); 90 | background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); 91 | z-index: 10; 92 | } 93 | -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/css/autoFill.dataTables.min.css: -------------------------------------------------------------------------------- 1 | div.dt-autofill-handle{position:absolute;height:8px;width:8px;z-index:102;box-sizing:border-box;border:1px solid #316ad1;background:linear-gradient(to bottom, #abcffb 0%, #4989de 100%)}div.dt-autofill-select{position:absolute;z-index:1001;background-color:#4989de;background-image:repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255,255,255,0.5) 5px, rgba(255,255,255,0.5) 10px)}div.dt-autofill-select.top,div.dt-autofill-select.bottom{height:3px;margin-top:-1px}div.dt-autofill-select.left,div.dt-autofill-select.right{width:3px;margin-left:-1px}div.dt-autofill-list{position:fixed;top:50%;left:50%;width:500px;margin-left:-250px;background-color:white;border-radius:6px;box-shadow:0 0 5px #555;border:2px solid #444;z-index:11;box-sizing:border-box;padding:1.5em 2em}div.dt-autofill-list ul{display:table;margin:0;padding:0;list-style:none;width:100%}div.dt-autofill-list ul li{display:table-row}div.dt-autofill-list ul li:last-child div.dt-autofill-question,div.dt-autofill-list ul li:last-child div.dt-autofill-button{border-bottom:none}div.dt-autofill-list ul li:hover{background-color:#f6f6f6}div.dt-autofill-list div.dt-autofill-question{display:table-cell;padding:0.5em 0;border-bottom:1px solid #ccc}div.dt-autofill-list div.dt-autofill-question input[type=number]{padding:6px;width:30px;margin:-2px 0}div.dt-autofill-list div.dt-autofill-button{display:table-cell;padding:0.5em 0;border-bottom:1px solid #ccc}div.dt-autofill-list div.dt-autofill-button button{color:white;margin:0;padding:6px 12px;text-align:center;border:1px solid #2e6da4;background-color:#337ab7;border-radius:4px;cursor:pointer;vertical-align:middle}div.dt-autofill-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:10} 2 | -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/css/autoFill.foundation.css: -------------------------------------------------------------------------------- 1 | div.dt-autofill-handle { 2 | position: absolute; 3 | height: 8px; 4 | width: 8px; 5 | z-index: 102; 6 | box-sizing: border-box; 7 | border: 1px solid #008CBA; 8 | background: #008CBA; 9 | } 10 | 11 | div.dt-autofill-select { 12 | position: absolute; 13 | z-index: 1001; 14 | background-color: #008CBA; 15 | background-image: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px); 16 | } 17 | div.dt-autofill-select.top, div.dt-autofill-select.bottom { 18 | height: 3px; 19 | margin-top: -1px; 20 | } 21 | div.dt-autofill-select.left, div.dt-autofill-select.right { 22 | width: 3px; 23 | margin-left: -1px; 24 | } 25 | 26 | div.dt-autofill-list { 27 | position: fixed; 28 | top: 50%; 29 | left: 50%; 30 | width: 500px; 31 | margin-left: -250px; 32 | background-color: white; 33 | border-radius: 6px; 34 | box-shadow: 0 0 5px #555; 35 | border: 2px solid #444; 36 | z-index: 11; 37 | box-sizing: border-box; 38 | padding: 1.5em 2em; 39 | } 40 | div.dt-autofill-list ul { 41 | display: table; 42 | margin: 0; 43 | padding: 0; 44 | list-style: none; 45 | width: 100%; 46 | } 47 | div.dt-autofill-list ul li { 48 | display: table-row; 49 | } 50 | div.dt-autofill-list ul li:last-child div.dt-autofill-question, div.dt-autofill-list ul li:last-child div.dt-autofill-button { 51 | border-bottom: none; 52 | } 53 | div.dt-autofill-list ul li:hover { 54 | background-color: #f6f6f6; 55 | } 56 | div.dt-autofill-list div.dt-autofill-question { 57 | display: table-cell; 58 | padding: 0.5em 0; 59 | border-bottom: 1px solid #ccc; 60 | } 61 | div.dt-autofill-list div.dt-autofill-question input[type=number] { 62 | padding: 6px; 63 | width: 30px; 64 | margin: -2px 0; 65 | } 66 | div.dt-autofill-list div.dt-autofill-button { 67 | display: table-cell; 68 | padding: 0.5em 0; 69 | border-bottom: 1px solid #ccc; 70 | } 71 | 72 | div.dt-autofill-background { 73 | position: fixed; 74 | top: 0; 75 | left: 0; 76 | width: 100%; 77 | height: 100%; 78 | background: rgba(0, 0, 0, 0.7); 79 | background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); 80 | z-index: 10; 81 | } 82 | 83 | div.dt-autofill-list button { 84 | margin: 0; 85 | } 86 | -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/css/autoFill.foundation.min.css: -------------------------------------------------------------------------------- 1 | div.dt-autofill-handle{position:absolute;height:8px;width:8px;z-index:102;box-sizing:border-box;border:1px solid #008CBA;background:#008CBA}div.dt-autofill-select{position:absolute;z-index:1001;background-color:#008CBA;background-image:repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255,255,255,0.5) 5px, rgba(255,255,255,0.5) 10px)}div.dt-autofill-select.top,div.dt-autofill-select.bottom{height:3px;margin-top:-1px}div.dt-autofill-select.left,div.dt-autofill-select.right{width:3px;margin-left:-1px}div.dt-autofill-list{position:fixed;top:50%;left:50%;width:500px;margin-left:-250px;background-color:white;border-radius:6px;box-shadow:0 0 5px #555;border:2px solid #444;z-index:11;box-sizing:border-box;padding:1.5em 2em}div.dt-autofill-list ul{display:table;margin:0;padding:0;list-style:none;width:100%}div.dt-autofill-list ul li{display:table-row}div.dt-autofill-list ul li:last-child div.dt-autofill-question,div.dt-autofill-list ul li:last-child div.dt-autofill-button{border-bottom:none}div.dt-autofill-list ul li:hover{background-color:#f6f6f6}div.dt-autofill-list div.dt-autofill-question{display:table-cell;padding:0.5em 0;border-bottom:1px solid #ccc}div.dt-autofill-list div.dt-autofill-question input[type=number]{padding:6px;width:30px;margin:-2px 0}div.dt-autofill-list div.dt-autofill-button{display:table-cell;padding:0.5em 0;border-bottom:1px solid #ccc}div.dt-autofill-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:10}div.dt-autofill-list button{margin:0} 2 | -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/css/autoFill.jqueryui.css: -------------------------------------------------------------------------------- 1 | div.dt-autofill-handle { 2 | position: absolute; 3 | height: 8px; 4 | width: 8px; 5 | z-index: 102; 6 | box-sizing: border-box; 7 | border: 1px solid #316ad1; 8 | background: linear-gradient(to bottom, #abcffb 0%, #4989de 100%); 9 | } 10 | 11 | div.dt-autofill-select { 12 | position: absolute; 13 | z-index: 1001; 14 | background-color: #4989de; 15 | background-image: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px); 16 | } 17 | div.dt-autofill-select.top, div.dt-autofill-select.bottom { 18 | height: 3px; 19 | margin-top: -1px; 20 | } 21 | div.dt-autofill-select.left, div.dt-autofill-select.right { 22 | width: 3px; 23 | margin-left: -1px; 24 | } 25 | 26 | div.dt-autofill-list { 27 | position: fixed; 28 | top: 50%; 29 | left: 50%; 30 | width: 500px; 31 | margin-left: -250px; 32 | background-color: white; 33 | border-radius: 6px; 34 | box-shadow: 0 0 5px #555; 35 | border: 2px solid #444; 36 | z-index: 11; 37 | box-sizing: border-box; 38 | padding: 1.5em 2em; 39 | } 40 | div.dt-autofill-list ul { 41 | display: table; 42 | margin: 0; 43 | padding: 0; 44 | list-style: none; 45 | width: 100%; 46 | } 47 | div.dt-autofill-list ul li { 48 | display: table-row; 49 | } 50 | div.dt-autofill-list ul li:last-child div.dt-autofill-question, div.dt-autofill-list ul li:last-child div.dt-autofill-button { 51 | border-bottom: none; 52 | } 53 | div.dt-autofill-list ul li:hover { 54 | background-color: #f6f6f6; 55 | } 56 | div.dt-autofill-list div.dt-autofill-question { 57 | display: table-cell; 58 | padding: 0.5em 0; 59 | border-bottom: 1px solid #ccc; 60 | } 61 | div.dt-autofill-list div.dt-autofill-question input[type=number] { 62 | padding: 6px; 63 | width: 30px; 64 | margin: -2px 0; 65 | } 66 | div.dt-autofill-list div.dt-autofill-button { 67 | display: table-cell; 68 | padding: 0.5em 0; 69 | border-bottom: 1px solid #ccc; 70 | } 71 | 72 | div.dt-autofill-background { 73 | position: fixed; 74 | top: 0; 75 | left: 0; 76 | width: 100%; 77 | height: 100%; 78 | background: rgba(0, 0, 0, 0.7); 79 | background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); 80 | z-index: 10; 81 | } 82 | 83 | div.dt-autofill-list button { 84 | padding: 0.35em 1em; 85 | } 86 | -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/css/autoFill.jqueryui.min.css: -------------------------------------------------------------------------------- 1 | div.dt-autofill-handle{position:absolute;height:8px;width:8px;z-index:102;box-sizing:border-box;border:1px solid #316ad1;background:linear-gradient(to bottom, #abcffb 0%, #4989de 100%)}div.dt-autofill-select{position:absolute;z-index:1001;background-color:#4989de;background-image:repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255,255,255,0.5) 5px, rgba(255,255,255,0.5) 10px)}div.dt-autofill-select.top,div.dt-autofill-select.bottom{height:3px;margin-top:-1px}div.dt-autofill-select.left,div.dt-autofill-select.right{width:3px;margin-left:-1px}div.dt-autofill-list{position:fixed;top:50%;left:50%;width:500px;margin-left:-250px;background-color:white;border-radius:6px;box-shadow:0 0 5px #555;border:2px solid #444;z-index:11;box-sizing:border-box;padding:1.5em 2em}div.dt-autofill-list ul{display:table;margin:0;padding:0;list-style:none;width:100%}div.dt-autofill-list ul li{display:table-row}div.dt-autofill-list ul li:last-child div.dt-autofill-question,div.dt-autofill-list ul li:last-child div.dt-autofill-button{border-bottom:none}div.dt-autofill-list ul li:hover{background-color:#f6f6f6}div.dt-autofill-list div.dt-autofill-question{display:table-cell;padding:0.5em 0;border-bottom:1px solid #ccc}div.dt-autofill-list div.dt-autofill-question input[type=number]{padding:6px;width:30px;margin:-2px 0}div.dt-autofill-list div.dt-autofill-button{display:table-cell;padding:0.5em 0;border-bottom:1px solid #ccc}div.dt-autofill-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:10}div.dt-autofill-list button{padding:0.35em 1em} 2 | -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/css/autoFill.semanticui.css: -------------------------------------------------------------------------------- 1 | div.dt-autofill-handle { 2 | position: absolute; 3 | height: 8px; 4 | width: 8px; 5 | z-index: 102; 6 | box-sizing: border-box; 7 | border: 1px solid #888; 8 | background: #888; 9 | } 10 | 11 | div.dt-autofill-select { 12 | position: absolute; 13 | z-index: 1001; 14 | background-color: #888; 15 | background-image: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px); 16 | } 17 | div.dt-autofill-select.top, div.dt-autofill-select.bottom { 18 | height: 3px; 19 | margin-top: -1px; 20 | } 21 | div.dt-autofill-select.left, div.dt-autofill-select.right { 22 | width: 3px; 23 | margin-left: -1px; 24 | } 25 | 26 | div.dt-autofill-list { 27 | position: fixed; 28 | top: 50%; 29 | left: 50%; 30 | width: 500px; 31 | margin-left: -250px; 32 | background-color: white; 33 | border-radius: 6px; 34 | box-shadow: 0 0 5px #555; 35 | border: 2px solid #444; 36 | z-index: 11; 37 | box-sizing: border-box; 38 | padding: 1.5em 2em; 39 | } 40 | div.dt-autofill-list ul { 41 | display: table; 42 | margin: 0; 43 | padding: 0; 44 | list-style: none; 45 | width: 100%; 46 | } 47 | div.dt-autofill-list ul li { 48 | display: table-row; 49 | } 50 | div.dt-autofill-list ul li:last-child div.dt-autofill-question, div.dt-autofill-list ul li:last-child div.dt-autofill-button { 51 | border-bottom: none; 52 | } 53 | div.dt-autofill-list ul li:hover { 54 | background-color: #f6f6f6; 55 | } 56 | div.dt-autofill-list div.dt-autofill-question { 57 | display: table-cell; 58 | padding: 0.5em 0; 59 | border-bottom: 1px solid #ccc; 60 | } 61 | div.dt-autofill-list div.dt-autofill-question input[type=number] { 62 | padding: 6px; 63 | width: 30px; 64 | margin: -2px 0; 65 | } 66 | div.dt-autofill-list div.dt-autofill-button { 67 | display: table-cell; 68 | padding: 0.5em 0; 69 | border-bottom: 1px solid #ccc; 70 | } 71 | 72 | div.dt-autofill-background { 73 | position: fixed; 74 | top: 0; 75 | left: 0; 76 | width: 100%; 77 | height: 100%; 78 | background: rgba(0, 0, 0, 0.7); 79 | background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); 80 | z-index: 10; 81 | } 82 | -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/css/autoFill.semanticui.min.css: -------------------------------------------------------------------------------- 1 | div.dt-autofill-handle{position:absolute;height:8px;width:8px;z-index:102;box-sizing:border-box;border:1px solid #888;background:#888}div.dt-autofill-select{position:absolute;z-index:1001;background-color:#888;background-image:repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255,255,255,0.5) 5px, rgba(255,255,255,0.5) 10px)}div.dt-autofill-select.top,div.dt-autofill-select.bottom{height:3px;margin-top:-1px}div.dt-autofill-select.left,div.dt-autofill-select.right{width:3px;margin-left:-1px}div.dt-autofill-list{position:fixed;top:50%;left:50%;width:500px;margin-left:-250px;background-color:white;border-radius:6px;box-shadow:0 0 5px #555;border:2px solid #444;z-index:11;box-sizing:border-box;padding:1.5em 2em}div.dt-autofill-list ul{display:table;margin:0;padding:0;list-style:none;width:100%}div.dt-autofill-list ul li{display:table-row}div.dt-autofill-list ul li:last-child div.dt-autofill-question,div.dt-autofill-list ul li:last-child div.dt-autofill-button{border-bottom:none}div.dt-autofill-list ul li:hover{background-color:#f6f6f6}div.dt-autofill-list div.dt-autofill-question{display:table-cell;padding:0.5em 0;border-bottom:1px solid #ccc}div.dt-autofill-list div.dt-autofill-question input[type=number]{padding:6px;width:30px;margin:-2px 0}div.dt-autofill-list div.dt-autofill-button{display:table-cell;padding:0.5em 0;border-bottom:1px solid #ccc}div.dt-autofill-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:10} 2 | -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/js/autoFill.bootstrap.js: -------------------------------------------------------------------------------- 1 | /*! Bootstrap integration for DataTables' AutoFill 2 | * ©2015 SpryMedia Ltd - datatables.net/license 3 | */ 4 | 5 | (function( factory ){ 6 | if ( typeof define === 'function' && define.amd ) { 7 | // AMD 8 | define( ['jquery', 'datatables.net-bs', 'datatables.net-autofill'], function ( $ ) { 9 | return factory( $, window, document ); 10 | } ); 11 | } 12 | else if ( typeof exports === 'object' ) { 13 | // CommonJS 14 | module.exports = function (root, $) { 15 | if ( ! root ) { 16 | root = window; 17 | } 18 | 19 | if ( ! $ || ! $.fn.dataTable ) { 20 | $ = require('datatables.net-bs')(root, $).$; 21 | } 22 | 23 | if ( ! $.fn.dataTable.AutoFill ) { 24 | require('datatables.net-autofill')(root, $); 25 | } 26 | 27 | return factory( $, root, root.document ); 28 | }; 29 | } 30 | else { 31 | // Browser 32 | factory( jQuery, window, document ); 33 | } 34 | }(function( $, window, document, undefined ) { 35 | 'use strict'; 36 | var DataTable = $.fn.dataTable; 37 | 38 | 39 | DataTable.AutoFill.classes.btn = 'btn btn-primary'; 40 | 41 | 42 | return DataTable; 43 | })); -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/js/autoFill.bootstrap.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | Bootstrap integration for DataTables' AutoFill 3 | ©2015 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(a){"function"===typeof define&&define.amd?define(["jquery","datatables.net-bs","datatables.net-autofill"],function(b){return a(b,window,document)}):"object"===typeof exports?module.exports=function(b,c){b||(b=window);if(!c||!c.fn.dataTable)c=require("datatables.net-bs")(b,c).$;c.fn.dataTable.AutoFill||require("datatables.net-autofill")(b,c);return a(c,b,b.document)}:a(jQuery,window,document)})(function(a){a=a.fn.dataTable;a.AutoFill.classes.btn="btn btn-primary";return a}); 6 | -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/js/autoFill.foundation.js: -------------------------------------------------------------------------------- 1 | /*! Foundation integration for DataTables' AutoFill 2 | * ©2015 SpryMedia Ltd - datatables.net/license 3 | */ 4 | 5 | (function( factory ){ 6 | if ( typeof define === 'function' && define.amd ) { 7 | // AMD 8 | define( ['jquery', 'datatables.net-zf', 'datatables.net-autofill'], function ( $ ) { 9 | return factory( $, window, document ); 10 | } ); 11 | } 12 | else if ( typeof exports === 'object' ) { 13 | // CommonJS 14 | module.exports = function (root, $) { 15 | if ( ! root ) { 16 | root = window; 17 | } 18 | 19 | if ( ! $ || ! $.fn.dataTable ) { 20 | $ = require('datatables.net-zf')(root, $).$; 21 | } 22 | 23 | if ( ! $.fn.dataTable.AutoFill ) { 24 | require('datatables.net-autofill')(root, $); 25 | } 26 | 27 | return factory( $, root, root.document ); 28 | }; 29 | } 30 | else { 31 | // Browser 32 | factory( jQuery, window, document ); 33 | } 34 | }(function( $, window, document, undefined ) { 35 | 'use strict'; 36 | var DataTable = $.fn.dataTable; 37 | 38 | 39 | DataTable.AutoFill.classes.btn = 'button tiny'; 40 | 41 | 42 | return DataTable; 43 | })); -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/js/autoFill.foundation.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | Foundation integration for DataTables' AutoFill 3 | ©2015 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(a){"function"===typeof define&&define.amd?define(["jquery","datatables.net-zf","datatables.net-autofill"],function(b){return a(b,window,document)}):"object"===typeof exports?module.exports=function(b,c){b||(b=window);if(!c||!c.fn.dataTable)c=require("datatables.net-zf")(b,c).$;c.fn.dataTable.AutoFill||require("datatables.net-autofill")(b,c);return a(c,b,b.document)}:a(jQuery,window,document)})(function(a){a=a.fn.dataTable;a.AutoFill.classes.btn="button tiny";return a}); 6 | -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/js/autoFill.jqueryui.js: -------------------------------------------------------------------------------- 1 | /*! jQuery UI integration for DataTables' AutoFill 2 | * ©2015 SpryMedia Ltd - datatables.net/license 3 | */ 4 | 5 | (function( factory ){ 6 | if ( typeof define === 'function' && define.amd ) { 7 | // AMD 8 | define( ['jquery', 'datatables.net-jqui', 'datatables.net-autofill'], function ( $ ) { 9 | return factory( $, window, document ); 10 | } ); 11 | } 12 | else if ( typeof exports === 'object' ) { 13 | // CommonJS 14 | module.exports = function (root, $) { 15 | if ( ! root ) { 16 | root = window; 17 | } 18 | 19 | if ( ! $ || ! $.fn.dataTable ) { 20 | $ = require('datatables.net-jqui')(root, $).$; 21 | } 22 | 23 | if ( ! $.fn.dataTable.AutoFill ) { 24 | require('datatables.net-autofill')(root, $); 25 | } 26 | 27 | return factory( $, root, root.document ); 28 | }; 29 | } 30 | else { 31 | // Browser 32 | factory( jQuery, window, document ); 33 | } 34 | }(function( $, window, document, undefined ) { 35 | 'use strict'; 36 | var DataTable = $.fn.dataTable; 37 | 38 | 39 | DataTable.AutoFill.classes.btn = 'ui-button ui-state-default ui-corner-all'; 40 | 41 | 42 | return DataTable; 43 | })); 44 | -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/js/autoFill.jqueryui.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | jQuery UI integration for DataTables' AutoFill 3 | ©2015 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(a){"function"===typeof define&&define.amd?define(["jquery","datatables.net-jqui","datatables.net-autofill"],function(b){return a(b,window,document)}):"object"===typeof exports?module.exports=function(b,c){b||(b=window);if(!c||!c.fn.dataTable)c=require("datatables.net-jqui")(b,c).$;c.fn.dataTable.AutoFill||require("datatables.net-autofill")(b,c);return a(c,b,b.document)}:a(jQuery,window,document)})(function(a){a=a.fn.dataTable;a.AutoFill.classes.btn="ui-button ui-state-default ui-corner-all"; 6 | return a}); 7 | -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/js/autoFill.semanticui.js: -------------------------------------------------------------------------------- 1 | /*! Bootstrap integration for DataTables' AutoFill 2 | * ©2015 SpryMedia Ltd - datatables.net/license 3 | */ 4 | 5 | (function( factory ){ 6 | if ( typeof define === 'function' && define.amd ) { 7 | // AMD 8 | define( ['jquery', 'datatables.net-se', 'datatables.net-autofill'], function ( $ ) { 9 | return factory( $, window, document ); 10 | } ); 11 | } 12 | else if ( typeof exports === 'object' ) { 13 | // CommonJS 14 | module.exports = function (root, $) { 15 | if ( ! root ) { 16 | root = window; 17 | } 18 | 19 | if ( ! $ || ! $.fn.dataTable ) { 20 | $ = require('datatables.net-se')(root, $).$; 21 | } 22 | 23 | if ( ! $.fn.dataTable.AutoFill ) { 24 | require('datatables.net-autofill')(root, $); 25 | } 26 | 27 | return factory( $, root, root.document ); 28 | }; 29 | } 30 | else { 31 | // Browser 32 | factory( jQuery, window, document ); 33 | } 34 | }(function( $, window, document, undefined ) { 35 | 'use strict'; 36 | var DataTable = $.fn.dataTable; 37 | 38 | 39 | DataTable.AutoFill.classes.btn = 'ui button'; 40 | 41 | 42 | return DataTable; 43 | })); -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/js/autoFill.semanticui.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | Bootstrap integration for DataTables' AutoFill 3 | ©2015 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(a){"function"===typeof define&&define.amd?define(["jquery","datatables.net-se","datatables.net-autofill"],function(b){return a(b,window,document)}):"object"===typeof exports?module.exports=function(b,c){b||(b=window);if(!c||!c.fn.dataTable)c=require("datatables.net-se")(b,c).$;c.fn.dataTable.AutoFill||require("datatables.net-autofill")(b,c);return a(c,b,b.document)}:a(jQuery,window,document)})(function(a){a=a.fn.dataTable;a.AutoFill.classes.btn="ui button";return a}); 6 | -------------------------------------------------------------------------------- /lib/DataTables/AutoFill-2.1.3/js/dataTables.autoFill.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | AutoFill 2.1.3 3 | ©2008-2016 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(e){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(l){return e(l,window,document)}):"object"===typeof exports?module.exports=function(l,i){l||(l=window);if(!i||!i.fn.dataTable)i=require("datatables.net")(l,i).$;return e(i,l,l.document)}:e(jQuery,window,document)})(function(e,l,i,q){var k=e.fn.dataTable,o=0,j=function(c,b){if(!k.versionCheck||!k.versionCheck("1.10.8"))throw"Warning: AutoFill requires DataTables 1.10.8 or greater";this.c=e.extend(!0,{},k.defaults.autoFill, 6 | j.defaults,b);this.s={dt:new k.Api(c),namespace:".autoFill"+o++,scroll:{},scrollInterval:null,handle:{height:0,width:0}};this.dom={handle:e('
'),select:{top:e('
'),right:e('
'),bottom:e('
'),left:e('
')},background:e('
'),list:e('
'+this.s.dt.i18n("autoFill.info", 7 | "")+"
    "),dtScroll:null,offsetParent:null};this._constructor()};e.extend(j.prototype,{_constructor:function(){var c=this,b=this.s.dt,a=e("div.dataTables_scrollBody",this.s.dt.table().container());a.length&&(this.dom.dtScroll=a,"static"===a.css("position")&&a.css("position","relative"));this._focusListener();this.dom.handle.on("mousedown",function(a){c._mousedown(a);return false});b.on("destroy.autoFill",function(){b.off(".autoFill");e(b.table().body()).off(c.s.namespace);e(i.body).off(c.s.namespace)})}, 8 | _attach:function(c){var b=this.s.dt,a=b.cell(c).index(),d=this.dom.handle,f=this.s.handle;if(!a||-1===b.columns(this.c.columns).indexes().indexOf(a.column))this._detach();else{this.dom.offsetParent||(this.dom.offsetParent=e(b.table().node()).offsetParent());if(!f.height||!f.width)d.appendTo("body"),f.height=d.outerHeight(),f.width=d.outerWidth();b=this._getPosition(c,this.dom.offsetParent);this.dom.attachedTo=c;d.css({top:b.top+c.offsetHeight-f.height,left:b.left+c.offsetWidth-f.width}).appendTo(this.dom.offsetParent)}}, 9 | _actionSelector:function(c){var b=this,a=this.s.dt,d=j.actions,f=[];e.each(d,function(b,d){d.available(a,c)&&f.push(b)});if(1===f.length&&!1===this.c.alwaysAsk){var h=d[f[0]].execute(a,c);this._update(h,c)}else{var g=this.dom.list.children("ul").empty();f.push("cancel");e.each(f,function(f,h){g.append(e("
  • ").append('
    '+d[h].option(a,c)+"
    ").append(e('
    ').append(e('").on("click",function(){var f=d[h].execute(a,c,e(this).closest("li"));b._update(f,c);b.dom.background.remove();b.dom.list.remove()}))))});this.dom.background.appendTo("body");this.dom.list.appendTo("body");this.dom.list.css("margin-top",-1*(this.dom.list.outerHeight()/2))}},_detach:function(){this.dom.attachedTo=null;this.dom.handle.detach()},_drawSelection:function(c){var b=this.s.dt,a=this.s.start,d=e(this.dom.start),f=e(c),h={row:b.rows({page:"current"}).nodes().indexOf(f.parent()[0]), 11 | column:f.index()},c=b.column.index("toData",h.column);if(b.cell(f).any()&&-1!==b.columns(this.c.columns).indexes().indexOf(c)){this.s.end=h;var g,b=a.row=b;d--)a.push(d);return a},_shiftScroll:function(c){var b=this,a=this.s.scroll,d=!1,f=c.pageY-i.body.scrollTop,e=c.pageX-i.body.scrollLeft,g,j,k,l;65>f?g=-5:f>a.windowHeight-65&&(g=5);65>e?j=-5:e>a.windowWidth-65&&(j=5);null!==a.dtTop&&c.pageY 19 | a.dtTop+a.dtHeight-65&&(k=5);null!==a.dtLeft&&c.pageXa.dtLeft+a.dtWidth-65&&(l=5);g||j||k||l?(a.windowVert=g,a.windowHoriz=j,a.dtVert=k,a.dtHoriz=l,d=!0):this.s.scrollInterval&&(clearInterval(this.s.scrollInterval),this.s.scrollInterval=null);!this.s.scrollInterval&&d&&(this.s.scrollInterval=setInterval(function(){if(a.windowVert)i.body.scrollTop=i.body.scrollTop+a.windowVert;if(a.windowHoriz)i.body.scrollLeft=i.body.scrollLeft+a.windowHoriz;if(a.dtVert|| 20 | a.dtHoriz){var c=b.dom.dtScroll[0];if(a.dtVert)c.scrollTop=c.scrollTop+a.dtVert;if(a.dtHoriz)c.scrollLeft=c.scrollLeft+a.dtHoriz}},20))},_update:function(c,b){if(!1!==c){var a=this.s.dt,d;this._emitEvent("preAutoFill",[a,b]);this._editor(b);if(null!==this.c.update?this.c.update:!this.c.editor){for(var f=0,e=b.length;f')},execute:function(c,b,a){for(var c=1*b[0][0].data,a=1*e("input",a).val(),d=0,f=b.length;d"+b[0][0].label+"")},execute:function(c,b){for(var a=b[0][0].data,d=0,f=b.length;d tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting, 69 | table.dataTable thead > tr > td.sorting_asc, 70 | table.dataTable thead > tr > td.sorting_desc, 71 | table.dataTable thead > tr > td.sorting { 72 | padding-right: 30px; 73 | } 74 | table.dataTable thead > tr > th:active, 75 | table.dataTable thead > tr > td:active { 76 | outline: none; 77 | } 78 | table.dataTable thead .sorting, 79 | table.dataTable thead .sorting_asc, 80 | table.dataTable thead .sorting_desc, 81 | table.dataTable thead .sorting_asc_disabled, 82 | table.dataTable thead .sorting_desc_disabled { 83 | cursor: pointer; 84 | position: relative; 85 | } 86 | table.dataTable thead .sorting:after, 87 | table.dataTable thead .sorting_asc:after, 88 | table.dataTable thead .sorting_desc:after, 89 | table.dataTable thead .sorting_asc_disabled:after, 90 | table.dataTable thead .sorting_desc_disabled:after { 91 | position: absolute; 92 | bottom: 8px; 93 | right: 8px; 94 | display: block; 95 | font-family: 'Glyphicons Halflings'; 96 | opacity: 0.5; 97 | } 98 | table.dataTable thead .sorting:after { 99 | opacity: 0.2; 100 | content: "\e150"; 101 | /* sort */ 102 | } 103 | table.dataTable thead .sorting_asc:after { 104 | content: "\e155"; 105 | /* sort-by-attributes */ 106 | } 107 | table.dataTable thead .sorting_desc:after { 108 | content: "\e156"; 109 | /* sort-by-attributes-alt */ 110 | } 111 | table.dataTable thead .sorting_asc_disabled:after, 112 | table.dataTable thead .sorting_desc_disabled:after { 113 | color: #eee; 114 | } 115 | 116 | div.dataTables_scrollHead table.dataTable { 117 | margin-bottom: 0 !important; 118 | } 119 | 120 | div.dataTables_scrollBody table { 121 | border-top: none; 122 | margin-top: 0 !important; 123 | margin-bottom: 0 !important; 124 | } 125 | div.dataTables_scrollBody table thead .sorting:after, 126 | div.dataTables_scrollBody table thead .sorting_asc:after, 127 | div.dataTables_scrollBody table thead .sorting_desc:after { 128 | display: none; 129 | } 130 | div.dataTables_scrollBody table tbody tr:first-child th, 131 | div.dataTables_scrollBody table tbody tr:first-child td { 132 | border-top: none; 133 | } 134 | 135 | div.dataTables_scrollFoot table { 136 | margin-top: 0 !important; 137 | border-top: none; 138 | } 139 | 140 | @media screen and (max-width: 767px) { 141 | div.dataTables_wrapper div.dataTables_length, 142 | div.dataTables_wrapper div.dataTables_filter, 143 | div.dataTables_wrapper div.dataTables_info, 144 | div.dataTables_wrapper div.dataTables_paginate { 145 | text-align: center; 146 | } 147 | } 148 | table.dataTable.table-condensed > thead > tr > th { 149 | padding-right: 20px; 150 | } 151 | table.dataTable.table-condensed .sorting:after, 152 | table.dataTable.table-condensed .sorting_asc:after, 153 | table.dataTable.table-condensed .sorting_desc:after { 154 | top: 6px; 155 | right: 6px; 156 | } 157 | 158 | table.table-bordered.dataTable th, 159 | table.table-bordered.dataTable td { 160 | border-left-width: 0; 161 | } 162 | table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, 163 | table.table-bordered.dataTable td:last-child, 164 | table.table-bordered.dataTable td:last-child { 165 | border-right-width: 0; 166 | } 167 | table.table-bordered.dataTable tbody th, 168 | table.table-bordered.dataTable tbody td { 169 | border-bottom-width: 0; 170 | } 171 | 172 | div.dataTables_scrollHead table.table-bordered { 173 | border-bottom-width: 0; 174 | } 175 | 176 | div.table-responsive > div.dataTables_wrapper > div.row { 177 | margin: 0; 178 | } 179 | div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child { 180 | padding-left: 0; 181 | } 182 | div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child { 183 | padding-right: 0; 184 | } 185 | -------------------------------------------------------------------------------- /lib/DataTables/DataTables-1.10.13/css/dataTables.bootstrap.min.css: -------------------------------------------------------------------------------- 1 | table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:75px;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:8px;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:8px;right:8px;display:block;font-family:'Glyphicons Halflings';opacity:0.5}table.dataTable thead .sorting:after{opacity:0.2;content:"\e150"}table.dataTable thead .sorting_asc:after{content:"\e155"}table.dataTable thead .sorting_desc:after{content:"\e156"}table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{color:#eee}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody table thead .sorting:after,div.dataTables_scrollBody table thead .sorting_asc:after,div.dataTables_scrollBody table thead .sorting_desc:after{display:none}div.dataTables_scrollBody table tbody tr:first-child th,div.dataTables_scrollBody table tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-condensed>thead>tr>th{padding-right:20px}table.dataTable.table-condensed .sorting:after,table.dataTable.table-condensed .sorting_asc:after,table.dataTable.table-condensed .sorting_desc:after{top:6px;right:6px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:0}table.table-bordered.dataTable tbody th,table.table-bordered.dataTable tbody td{border-bottom-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:last-child{padding-right:0} 2 | -------------------------------------------------------------------------------- /lib/DataTables/DataTables-1.10.13/css/dataTables.foundation.css: -------------------------------------------------------------------------------- 1 | table.dataTable { 2 | clear: both; 3 | margin: 0.5em 0 !important; 4 | max-width: none !important; 5 | width: 100%; 6 | } 7 | table.dataTable td, 8 | table.dataTable th { 9 | -webkit-box-sizing: content-box; 10 | box-sizing: content-box; 11 | } 12 | table.dataTable td.dataTables_empty, 13 | table.dataTable th.dataTables_empty { 14 | text-align: center; 15 | } 16 | table.dataTable.nowrap th, table.dataTable.nowrap td { 17 | white-space: nowrap; 18 | } 19 | 20 | div.dataTables_wrapper { 21 | position: relative; 22 | } 23 | div.dataTables_wrapper div.dataTables_length label { 24 | float: left; 25 | text-align: left; 26 | margin-bottom: 0; 27 | } 28 | div.dataTables_wrapper div.dataTables_length select { 29 | width: 75px; 30 | margin-bottom: 0; 31 | } 32 | div.dataTables_wrapper div.dataTables_filter label { 33 | float: right; 34 | margin-bottom: 0; 35 | } 36 | div.dataTables_wrapper div.dataTables_filter input { 37 | display: inline-block !important; 38 | width: auto !important; 39 | margin-bottom: 0; 40 | margin-left: 0.5em; 41 | } 42 | div.dataTables_wrapper div.dataTables_info { 43 | padding-top: 2px; 44 | } 45 | div.dataTables_wrapper div.dataTables_paginate { 46 | float: right; 47 | margin: 0; 48 | } 49 | div.dataTables_wrapper div.dataTables_processing { 50 | position: absolute; 51 | top: 50%; 52 | left: 50%; 53 | width: 200px; 54 | margin-left: -100px; 55 | margin-top: -26px; 56 | text-align: center; 57 | padding: 1rem 0; 58 | } 59 | 60 | table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting, 61 | table.dataTable thead > tr > td.sorting_asc, 62 | table.dataTable thead > tr > td.sorting_desc, 63 | table.dataTable thead > tr > td.sorting { 64 | padding-right: 1.5rem; 65 | } 66 | table.dataTable thead > tr > th:active, 67 | table.dataTable thead > tr > td:active { 68 | outline: none; 69 | } 70 | table.dataTable thead .sorting, 71 | table.dataTable thead .sorting_asc, 72 | table.dataTable thead .sorting_desc { 73 | cursor: pointer; 74 | } 75 | table.dataTable thead .sorting, 76 | table.dataTable thead .sorting_asc, 77 | table.dataTable thead .sorting_desc, 78 | table.dataTable thead .sorting_asc_disabled, 79 | table.dataTable thead .sorting_desc_disabled { 80 | background-repeat: no-repeat; 81 | background-position: center right; 82 | } 83 | table.dataTable thead .sorting { 84 | background-image: url("../images/sort_both.png"); 85 | } 86 | table.dataTable thead .sorting_asc { 87 | background-image: url("../images/sort_asc.png"); 88 | } 89 | table.dataTable thead .sorting_desc { 90 | background-image: url("../images/sort_desc.png"); 91 | } 92 | table.dataTable thead .sorting_asc_disabled { 93 | background-image: url("../images/sort_asc_disabled.png"); 94 | } 95 | table.dataTable thead .sorting_desc_disabled { 96 | background-image: url("../images/sort_desc_disabled.png"); 97 | } 98 | 99 | div.dataTables_scrollHead table { 100 | margin-bottom: 0 !important; 101 | } 102 | 103 | div.dataTables_scrollBody table { 104 | border-top: none; 105 | margin-top: 0 !important; 106 | margin-bottom: 0 !important; 107 | } 108 | div.dataTables_scrollBody table tbody tr:first-child th, 109 | div.dataTables_scrollBody table tbody tr:first-child td { 110 | border-top: none; 111 | } 112 | 113 | div.dataTables_scrollFoot table { 114 | margin-top: 0 !important; 115 | border-top: none; 116 | } 117 | -------------------------------------------------------------------------------- /lib/DataTables/DataTables-1.10.13/css/dataTables.foundation.min.css: -------------------------------------------------------------------------------- 1 | table.dataTable{clear:both;margin:0.5em 0 !important;max-width:none !important;width:100%}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper{position:relative}div.dataTables_wrapper div.dataTables_length label{float:left;text-align:left;margin-bottom:0}div.dataTables_wrapper div.dataTables_length select{width:75px;margin-bottom:0}div.dataTables_wrapper div.dataTables_filter label{float:right;margin-bottom:0}div.dataTables_wrapper div.dataTables_filter input{display:inline-block !important;width:auto !important;margin-bottom:0;margin-left:0.5em}div.dataTables_wrapper div.dataTables_info{padding-top:2px}div.dataTables_wrapper div.dataTables_paginate{float:right;margin:0}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1rem 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:1.5rem}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc{cursor:pointer}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("../images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("../images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("../images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("../images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("../images/sort_desc_disabled.png")}div.dataTables_scrollHead table{margin-bottom:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody table tbody tr:first-child th,div.dataTables_scrollBody table tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot table{margin-top:0 !important;border-top:none} 2 | -------------------------------------------------------------------------------- /lib/DataTables/DataTables-1.10.13/css/dataTables.jqueryui.min.css: -------------------------------------------------------------------------------- 1 | table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px}table.dataTable tbody tr{background-color:#ffffff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{-webkit-box-sizing:content-box;box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-o-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table,.dataTables_wrapper.no-footer div.dataTables_scrollBody table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}}table.dataTable thead th div.DataTables_sort_wrapper{position:relative}table.dataTable thead th div.DataTables_sort_wrapper span{position:absolute;top:50%;margin-top:-8px;right:-18px}table.dataTable thead th.ui-state-default,table.dataTable tfoot th.ui-state-default{border-left-width:0}table.dataTable thead th.ui-state-default:first-child,table.dataTable tfoot th.ui-state-default:first-child{border-left-width:1px}.dataTables_wrapper .dataTables_paginate .fg-button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;border:1px solid transparent}.dataTables_wrapper .dataTables_paginate .fg-button:active{outline:none}.dataTables_wrapper .dataTables_paginate .fg-button:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.dataTables_wrapper .dataTables_paginate .fg-button:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.dataTables_wrapper .ui-widget-header{font-weight:normal}.dataTables_wrapper .ui-toolbar{padding:8px}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:none}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:inherit} 2 | -------------------------------------------------------------------------------- /lib/DataTables/DataTables-1.10.13/css/dataTables.semanticui.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Styling for DataTables with Semantic UI 3 | */ 4 | table.dataTable.table { 5 | margin: 0; 6 | } 7 | table.dataTable.table thead th, 8 | table.dataTable.table thead td { 9 | position: relative; 10 | } 11 | table.dataTable.table thead th.sorting, table.dataTable.table thead th.sorting_asc, table.dataTable.table thead th.sorting_desc, 12 | table.dataTable.table thead td.sorting, 13 | table.dataTable.table thead td.sorting_asc, 14 | table.dataTable.table thead td.sorting_desc { 15 | padding-right: 20px; 16 | } 17 | table.dataTable.table thead th.sorting:after, table.dataTable.table thead th.sorting_asc:after, table.dataTable.table thead th.sorting_desc:after, 18 | table.dataTable.table thead td.sorting:after, 19 | table.dataTable.table thead td.sorting_asc:after, 20 | table.dataTable.table thead td.sorting_desc:after { 21 | position: absolute; 22 | top: 12px; 23 | right: 8px; 24 | display: block; 25 | font-family: Icons; 26 | } 27 | table.dataTable.table thead th.sorting:after, 28 | table.dataTable.table thead td.sorting:after { 29 | content: "\f0dc"; 30 | color: #ddd; 31 | font-size: 0.8em; 32 | } 33 | table.dataTable.table thead th.sorting_asc:after, 34 | table.dataTable.table thead td.sorting_asc:after { 35 | content: "\f0de"; 36 | } 37 | table.dataTable.table thead th.sorting_desc:after, 38 | table.dataTable.table thead td.sorting_desc:after { 39 | content: "\f0dd"; 40 | } 41 | table.dataTable.table td, 42 | table.dataTable.table th { 43 | -webkit-box-sizing: content-box; 44 | box-sizing: content-box; 45 | } 46 | table.dataTable.table td.dataTables_empty, 47 | table.dataTable.table th.dataTables_empty { 48 | text-align: center; 49 | } 50 | table.dataTable.table.nowrap th, 51 | table.dataTable.table.nowrap td { 52 | white-space: nowrap; 53 | } 54 | 55 | div.dataTables_wrapper div.dataTables_length select { 56 | vertical-align: middle; 57 | min-height: 2.7142em; 58 | } 59 | div.dataTables_wrapper div.dataTables_length .ui.selection.dropdown { 60 | min-width: 0; 61 | } 62 | div.dataTables_wrapper div.dataTables_filter input { 63 | margin-left: 0.5em; 64 | } 65 | div.dataTables_wrapper div.dataTables_info { 66 | padding-top: 13px; 67 | white-space: nowrap; 68 | } 69 | div.dataTables_wrapper div.dataTables_processing { 70 | position: absolute; 71 | top: 50%; 72 | left: 50%; 73 | width: 200px; 74 | margin-left: -100px; 75 | text-align: center; 76 | } 77 | div.dataTables_wrapper div.row.dt-table { 78 | padding: 0; 79 | } 80 | div.dataTables_wrapper div.dataTables_scrollHead table.dataTable { 81 | border-bottom-right-radius: 0; 82 | border-bottom-left-radius: 0; 83 | border-bottom: none; 84 | } 85 | div.dataTables_wrapper div.dataTables_scrollBody thead .sorting:after, 86 | div.dataTables_wrapper div.dataTables_scrollBody thead .sorting_asc:after, 87 | div.dataTables_wrapper div.dataTables_scrollBody thead .sorting_desc:after { 88 | display: none; 89 | } 90 | div.dataTables_wrapper div.dataTables_scrollBody table.dataTable { 91 | border-radius: 0; 92 | border-top: none; 93 | border-bottom-width: 0; 94 | } 95 | div.dataTables_wrapper div.dataTables_scrollBody table.dataTable.no-footer { 96 | border-bottom-width: 1px; 97 | } 98 | div.dataTables_wrapper div.dataTables_scrollFoot table.dataTable { 99 | border-top-right-radius: 0; 100 | border-top-left-radius: 0; 101 | border-top: none; 102 | } 103 | -------------------------------------------------------------------------------- /lib/DataTables/DataTables-1.10.13/css/dataTables.semanticui.min.css: -------------------------------------------------------------------------------- 1 | table.dataTable.table{margin:0}table.dataTable.table thead th,table.dataTable.table thead td{position:relative}table.dataTable.table thead th.sorting,table.dataTable.table thead th.sorting_asc,table.dataTable.table thead th.sorting_desc,table.dataTable.table thead td.sorting,table.dataTable.table thead td.sorting_asc,table.dataTable.table thead td.sorting_desc{padding-right:20px}table.dataTable.table thead th.sorting:after,table.dataTable.table thead th.sorting_asc:after,table.dataTable.table thead th.sorting_desc:after,table.dataTable.table thead td.sorting:after,table.dataTable.table thead td.sorting_asc:after,table.dataTable.table thead td.sorting_desc:after{position:absolute;top:12px;right:8px;display:block;font-family:Icons}table.dataTable.table thead th.sorting:after,table.dataTable.table thead td.sorting:after{content:"\f0dc";color:#ddd;font-size:0.8em}table.dataTable.table thead th.sorting_asc:after,table.dataTable.table thead td.sorting_asc:after{content:"\f0de"}table.dataTable.table thead th.sorting_desc:after,table.dataTable.table thead td.sorting_desc:after{content:"\f0dd"}table.dataTable.table td,table.dataTable.table th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable.table td.dataTables_empty,table.dataTable.table th.dataTables_empty{text-align:center}table.dataTable.table.nowrap th,table.dataTable.table.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{vertical-align:middle;min-height:2.7142em}div.dataTables_wrapper div.dataTables_length .ui.selection.dropdown{min-width:0}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em}div.dataTables_wrapper div.dataTables_info{padding-top:13px;white-space:nowrap}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;text-align:center}div.dataTables_wrapper div.row.dt-table{padding:0}div.dataTables_wrapper div.dataTables_scrollHead table.dataTable{border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom:none}div.dataTables_wrapper div.dataTables_scrollBody thead .sorting:after,div.dataTables_wrapper div.dataTables_scrollBody thead .sorting_asc:after,div.dataTables_wrapper div.dataTables_scrollBody thead .sorting_desc:after{display:none}div.dataTables_wrapper div.dataTables_scrollBody table.dataTable{border-radius:0;border-top:none;border-bottom-width:0}div.dataTables_wrapper div.dataTables_scrollBody table.dataTable.no-footer{border-bottom-width:1px}div.dataTables_wrapper div.dataTables_scrollFoot table.dataTable{border-top-right-radius:0;border-top-left-radius:0;border-top:none} 2 | -------------------------------------------------------------------------------- /lib/DataTables/DataTables-1.10.13/css/jquery.dataTables.min.css: -------------------------------------------------------------------------------- 1 | table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc{cursor:pointer;*cursor:hand}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("../images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("../images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("../images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("../images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("../images/sort_desc_disabled.png")}table.dataTable tbody tr{background-color:#ffffff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{-webkit-box-sizing:content-box;box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-o-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table,.dataTables_wrapper.no-footer div.dataTables_scrollBody table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}} 2 | -------------------------------------------------------------------------------- /lib/DataTables/DataTables-1.10.13/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/lib/DataTables/DataTables-1.10.13/images/sort_asc.png -------------------------------------------------------------------------------- /lib/DataTables/DataTables-1.10.13/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/lib/DataTables/DataTables-1.10.13/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /lib/DataTables/DataTables-1.10.13/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/lib/DataTables/DataTables-1.10.13/images/sort_both.png -------------------------------------------------------------------------------- /lib/DataTables/DataTables-1.10.13/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/lib/DataTables/DataTables-1.10.13/images/sort_desc.png -------------------------------------------------------------------------------- /lib/DataTables/DataTables-1.10.13/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeeBlip/meeblip-web/65fb2b242f331d3f3199e8627bee0eec1523fc3a/lib/DataTables/DataTables-1.10.13/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /lib/DataTables/DataTables-1.10.13/js/dataTables.bootstrap.js: -------------------------------------------------------------------------------- 1 | /*! DataTables Bootstrap 3 integration 2 | * ©2011-2015 SpryMedia Ltd - datatables.net/license 3 | */ 4 | 5 | /** 6 | * DataTables integration for Bootstrap 3. This requires Bootstrap 3 and 7 | * DataTables 1.10 or newer. 8 | * 9 | * This file sets the defaults and adds options to DataTables to style its 10 | * controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap 11 | * for further information. 12 | */ 13 | (function( factory ){ 14 | if ( typeof define === 'function' && define.amd ) { 15 | // AMD 16 | define( ['jquery', 'datatables.net'], function ( $ ) { 17 | return factory( $, window, document ); 18 | } ); 19 | } 20 | else if ( typeof exports === 'object' ) { 21 | // CommonJS 22 | module.exports = function (root, $) { 23 | if ( ! root ) { 24 | root = window; 25 | } 26 | 27 | if ( ! $ || ! $.fn.dataTable ) { 28 | // Require DataTables, which attaches to jQuery, including 29 | // jQuery if needed and have a $ property so we can access the 30 | // jQuery object that is used 31 | $ = require('datatables.net')(root, $).$; 32 | } 33 | 34 | return factory( $, root, root.document ); 35 | }; 36 | } 37 | else { 38 | // Browser 39 | factory( jQuery, window, document ); 40 | } 41 | }(function( $, window, document, undefined ) { 42 | 'use strict'; 43 | var DataTable = $.fn.dataTable; 44 | 45 | 46 | /* Set the defaults for DataTables initialisation */ 47 | $.extend( true, DataTable.defaults, { 48 | dom: 49 | "<'row'<'col-sm-6'l><'col-sm-6'f>>" + 50 | "<'row'<'col-sm-12'tr>>" + 51 | "<'row'<'col-sm-5'i><'col-sm-7'p>>", 52 | renderer: 'bootstrap' 53 | } ); 54 | 55 | 56 | /* Default class modification */ 57 | $.extend( DataTable.ext.classes, { 58 | sWrapper: "dataTables_wrapper form-inline dt-bootstrap", 59 | sFilterInput: "form-control input-sm", 60 | sLengthSelect: "form-control input-sm", 61 | sProcessing: "dataTables_processing panel panel-default" 62 | } ); 63 | 64 | 65 | /* Bootstrap paging button renderer */ 66 | DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { 67 | var api = new DataTable.Api( settings ); 68 | var classes = settings.oClasses; 69 | var lang = settings.oLanguage.oPaginate; 70 | var aria = settings.oLanguage.oAria.paginate || {}; 71 | var btnDisplay, btnClass, counter=0; 72 | 73 | var attach = function( container, buttons ) { 74 | var i, ien, node, button; 75 | var clickHandler = function ( e ) { 76 | e.preventDefault(); 77 | if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { 78 | api.page( e.data.action ).draw( 'page' ); 79 | } 80 | }; 81 | 82 | for ( i=0, ien=buttons.length ; i 0 ? 101 | '' : ' disabled'); 102 | break; 103 | 104 | case 'previous': 105 | btnDisplay = lang.sPrevious; 106 | btnClass = button + (page > 0 ? 107 | '' : ' disabled'); 108 | break; 109 | 110 | case 'next': 111 | btnDisplay = lang.sNext; 112 | btnClass = button + (page < pages-1 ? 113 | '' : ' disabled'); 114 | break; 115 | 116 | case 'last': 117 | btnDisplay = lang.sLast; 118 | btnClass = button + (page < pages-1 ? 119 | '' : ' disabled'); 120 | break; 121 | 122 | default: 123 | btnDisplay = button + 1; 124 | btnClass = page === button ? 125 | 'active' : ''; 126 | break; 127 | } 128 | 129 | if ( btnDisplay ) { 130 | node = $('
  • ', { 131 | 'class': classes.sPageButton+' '+btnClass, 132 | 'id': idx === 0 && typeof button === 'string' ? 133 | settings.sTableId +'_'+ button : 134 | null 135 | } ) 136 | .append( $('', { 137 | 'href': '#', 138 | 'aria-controls': settings.sTableId, 139 | 'aria-label': aria[ button ], 140 | 'data-dt-idx': counter, 141 | 'tabindex': settings.iTabIndex 142 | } ) 143 | .html( btnDisplay ) 144 | ) 145 | .appendTo( container ); 146 | 147 | settings.oApi._fnBindAction( 148 | node, {action: button}, clickHandler 149 | ); 150 | 151 | counter++; 152 | } 153 | } 154 | } 155 | }; 156 | 157 | // IE9 throws an 'unknown error' if document.activeElement is used 158 | // inside an iframe or frame. 159 | var activeEl; 160 | 161 | try { 162 | // Because this approach is destroying and recreating the paging 163 | // elements, focus is lost on the select button which is bad for 164 | // accessibility. So we want to restore focus once the draw has 165 | // completed 166 | activeEl = $(host).find(document.activeElement).data('dt-idx'); 167 | } 168 | catch (e) {} 169 | 170 | attach( 171 | $(host).empty().html('