4
.gitignore
vendored
@ -1,8 +1,8 @@
|
|||||||
*.pyc
|
*.pyc
|
||||||
dist
|
/dist/
|
||||||
django_helpdesk.egg-info
|
django_helpdesk.egg-info
|
||||||
docs/html/*
|
docs/html/*
|
||||||
docs/doctrees/*
|
docs/doctrees/*
|
||||||
.coverage
|
.coverage
|
||||||
.project
|
.project
|
||||||
.pydevproject
|
.pydevproject
|
||||||
|
227
LICENSE.3RDPARTY
@ -1,10 +1,18 @@
|
|||||||
This file contains license details for 3rd party software which is
|
This file contains license details for 3rd party software which is
|
||||||
distributed with Jutda Helpdesk.
|
distributed with django-helpdesk.
|
||||||
|
|
||||||
1. License for jQuery & jQuery UI
|
1. License for jQuery & jQuery UI
|
||||||
2. License for jQuery UI 'Smoothness' theme
|
2. License for jQuery UI 'Smoothness' theme
|
||||||
3. License for akismet.py
|
3. License for akismet.py
|
||||||
4. License for jqPlot
|
4. License for jqPlot
|
||||||
|
5. License for StartBootstrap SB Admin v2.0 theme
|
||||||
|
6. License for Raphael
|
||||||
|
7. License for Morris.js
|
||||||
|
8. License for DataTables
|
||||||
|
9. License for Flot
|
||||||
|
10. License for Metis Menu
|
||||||
|
11. License for Bootstrap CSS
|
||||||
|
12. License for Font Awesome
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
@ -37,7 +45,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* jQuery UI screen structure and presentation
|
* jQuery UI screen structure and presentation
|
||||||
* This CSS file was generated by ThemeRoller, a Filament Group Project for jQuery UI
|
* This CSS file was generated by ThemeRoller, a Filament Group Project for
|
||||||
|
jQuery UI
|
||||||
* Author: Scott Jehl, scott@filamentgroup.com, http://www.filamentgroup.com
|
* Author: Scott Jehl, scott@filamentgroup.com, http://www.filamentgroup.com
|
||||||
* Visit ThemeRoller.com
|
* Visit ThemeRoller.com
|
||||||
*/
|
*/
|
||||||
@ -102,3 +111,215 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
THE SOFTWARE.
|
THE SOFTWARE.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
5. License for StartBootstrap SB Admin v2.0 theme
|
||||||
|
|
||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2013-2016 Blackrock Digital LLC.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
6. License for Raphael
|
||||||
|
|
||||||
|
The MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2008-2010 Dmitry Baranovskiy
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
7. License for Morris.js
|
||||||
|
|
||||||
|
Copyright (c) 2013, Olly Smith
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
1. Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||||
|
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
8. License for DataTables
|
||||||
|
|
||||||
|
Copyright (C) 2008-2016, SpryMedia Ltd.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
|
the Software without restriction, including without limitation the rights to
|
||||||
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||||
|
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||||
|
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
9. License for Flot
|
||||||
|
|
||||||
|
Copyright (c) 2007-2014 IOLA and Ole Laursen
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person
|
||||||
|
obtaining a copy of this software and associated documentation
|
||||||
|
files (the "Software"), to deal in the Software without
|
||||||
|
restriction, including without limitation the rights to use,
|
||||||
|
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the
|
||||||
|
Software is furnished to do so, subject to the following
|
||||||
|
conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
|
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
|
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
10. License for Metis Menu
|
||||||
|
|
||||||
|
Copyright (C) 2016, Osman Nuri Okumuş
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
|
the Software without restriction, including without limitation the rights to
|
||||||
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||||
|
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||||
|
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
11. License for Bootstrap CSS
|
||||||
|
|
||||||
|
Copyright (c) 2011-2016 Twitter, Inc.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
12. License for Font Awesome
|
||||||
|
|
||||||
|
|
||||||
|
Font License
|
||||||
|
|
||||||
|
Applies to all desktop and webfont files in the following directory:
|
||||||
|
font-awesome/fonts/.
|
||||||
|
License: SIL OFL 1.1
|
||||||
|
URL: http://scripts.sil.org/OFL
|
||||||
|
|
||||||
|
Code License
|
||||||
|
|
||||||
|
Applies to all CSS and LESS files in the following directories:
|
||||||
|
font-awesome/css/, font-awesome/less/, and font-awesome/scss/.
|
||||||
|
License: MIT License
|
||||||
|
URL: http://opensource.org/licenses/mit-license.html
|
||||||
|
|
||||||
|
Documentation License
|
||||||
|
|
||||||
|
Applies to all Font Awesome project files that are not a part of the Font or
|
||||||
|
Code licenses.
|
||||||
|
License: CC BY 3.0
|
||||||
|
URL: http://creativecommons.org/licenses/by/3.0/
|
||||||
|
|
||||||
|
Brand Icons
|
||||||
|
|
||||||
|
All brand icons are trademarks of their respective owners.
|
||||||
|
The use of these trademarks does not indicate endorsement of the trademark
|
||||||
|
holder by Font Awesome, nor vice versa.
|
||||||
|
Brand icons should only be used to represent the company or product to which
|
||||||
|
they refer.
|
||||||
|
|
||||||
|
|
||||||
|
@ -141,6 +141,7 @@ class AbstractTicketForm(CustomFieldMixin, forms.Form):
|
|||||||
"PublicTicketForm". This Form is not intended to be used directly.
|
"PublicTicketForm". This Form is not intended to be used directly.
|
||||||
"""
|
"""
|
||||||
queue = forms.ChoiceField(
|
queue = forms.ChoiceField(
|
||||||
|
widget=forms.Select(attrs={'class': 'form-control'}),
|
||||||
label=_('Queue'),
|
label=_('Queue'),
|
||||||
required=True,
|
required=True,
|
||||||
choices=()
|
choices=()
|
||||||
@ -149,18 +150,19 @@ class AbstractTicketForm(CustomFieldMixin, forms.Form):
|
|||||||
title = forms.CharField(
|
title = forms.CharField(
|
||||||
max_length=100,
|
max_length=100,
|
||||||
required=True,
|
required=True,
|
||||||
widget=forms.TextInput(attrs={'size': '60'}),
|
widget=forms.TextInput(attrs={'class': 'form-control'}),
|
||||||
label=_('Summary of the problem'),
|
label=_('Summary of the problem'),
|
||||||
)
|
)
|
||||||
|
|
||||||
body = forms.CharField(
|
body = forms.CharField(
|
||||||
widget=forms.Textarea(attrs={'cols': 47, 'rows': 15}),
|
widget=forms.Textarea(attrs={'class': 'form-control'}),
|
||||||
label=_('Description of your issue'),
|
label=_('Description of your issue'),
|
||||||
required=True,
|
required=True,
|
||||||
help_text=_('Please be as descriptive as possible and include all details'),
|
help_text=_('Please be as descriptive as possible and include all details'),
|
||||||
)
|
)
|
||||||
|
|
||||||
priority = forms.ChoiceField(
|
priority = forms.ChoiceField(
|
||||||
|
widget=forms.Select(attrs={'class': 'form-control'}),
|
||||||
choices=Ticket.PRIORITY_CHOICES,
|
choices=Ticket.PRIORITY_CHOICES,
|
||||||
required=True,
|
required=True,
|
||||||
initial='3',
|
initial='3',
|
||||||
@ -169,7 +171,7 @@ class AbstractTicketForm(CustomFieldMixin, forms.Form):
|
|||||||
)
|
)
|
||||||
|
|
||||||
due_date = forms.DateTimeField(
|
due_date = forms.DateTimeField(
|
||||||
widget=extras.SelectDateWidget,
|
widget=forms.TextInput(attrs={'class': 'form-control'}),
|
||||||
required=False,
|
required=False,
|
||||||
label=_('Due on'),
|
label=_('Due on'),
|
||||||
)
|
)
|
||||||
@ -319,12 +321,13 @@ class TicketForm(AbstractTicketForm):
|
|||||||
submitter_email = forms.EmailField(
|
submitter_email = forms.EmailField(
|
||||||
required=False,
|
required=False,
|
||||||
label=_('Submitter E-Mail Address'),
|
label=_('Submitter E-Mail Address'),
|
||||||
widget=forms.TextInput(attrs={'size': '60'}),
|
widget=forms.TextInput(attrs={'class': 'form-control'}),
|
||||||
help_text=_('This e-mail address will receive copies of all public '
|
help_text=_('This e-mail address will receive copies of all public '
|
||||||
'updates to this ticket.'),
|
'updates to this ticket.'),
|
||||||
)
|
)
|
||||||
|
|
||||||
assigned_to = forms.ChoiceField(
|
assigned_to = forms.ChoiceField(
|
||||||
|
widget=forms.Select(attrs={'class': 'form-control'}),
|
||||||
choices=(),
|
choices=(),
|
||||||
required=False,
|
required=False,
|
||||||
label=_('Case owner'),
|
label=_('Case owner'),
|
||||||
@ -378,6 +381,7 @@ class PublicTicketForm(AbstractTicketForm):
|
|||||||
Ticket Form creation for all users (public-facing).
|
Ticket Form creation for all users (public-facing).
|
||||||
"""
|
"""
|
||||||
submitter_email = forms.EmailField(
|
submitter_email = forms.EmailField(
|
||||||
|
widget=forms.TextInput(attrs={'class': 'form-control'}),
|
||||||
required=True,
|
required=True,
|
||||||
label=_('Your E-Mail Address'),
|
label=_('Your E-Mail Address'),
|
||||||
help_text=_('We will e-mail you when your ticket is updated.'),
|
help_text=_('We will e-mail you when your ticket is updated.'),
|
||||||
@ -431,17 +435,19 @@ class UserSettingsForm(forms.Form):
|
|||||||
required=False,
|
required=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
tickets_per_page = forms.IntegerField(
|
tickets_per_page = forms.ChoiceField(
|
||||||
label=_('Number of tickets to show per page'),
|
label=_('Number of tickets to show per page'),
|
||||||
help_text=_('How many tickets do you want to see on the Ticket List page?'),
|
help_text=_('How many tickets do you want to see on the Ticket List page?'),
|
||||||
required=False,
|
required=False,
|
||||||
min_value=1,
|
choices=((10, '10'), (25, '25'), (50, '50'), (100, '100')),
|
||||||
max_value=1000,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
use_email_as_submitter = forms.BooleanField(
|
use_email_as_submitter = forms.BooleanField(
|
||||||
label=_('Use my e-mail address when submitting tickets?'),
|
label=_('Use my e-mail address when submitting tickets?'),
|
||||||
help_text=_('When you submit a ticket, do you want to automatically use your e-mail address as the submitter address? You can type a different e-mail address when entering the ticket if needed, this option only changes the default.'),
|
help_text=_('When you submit a ticket, do you want to automatically '
|
||||||
|
'use your e-mail address as the submitter address? You '
|
||||||
|
'can type a different e-mail address when entering the '
|
||||||
|
'ticket if needed, this option only changes the default.'),
|
||||||
required=False,
|
required=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -454,6 +460,7 @@ class EmailIgnoreForm(forms.ModelForm):
|
|||||||
|
|
||||||
|
|
||||||
class TicketCCForm(forms.ModelForm):
|
class TicketCCForm(forms.ModelForm):
|
||||||
|
''' Adds either an email address or helpdesk user as a CC on a Ticket. Used for processing POST requests. '''
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = TicketCC
|
model = TicketCC
|
||||||
@ -468,7 +475,35 @@ class TicketCCForm(forms.ModelForm):
|
|||||||
self.fields['user'].queryset = users
|
self.fields['user'].queryset = users
|
||||||
|
|
||||||
|
|
||||||
|
class TicketCCUserForm(forms.ModelForm):
|
||||||
|
''' Adds a helpdesk user as a CC on a Ticket '''
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super(TicketCCUserForm, self).__init__(*args, **kwargs)
|
||||||
|
if helpdesk_settings.HELPDESK_STAFF_ONLY_TICKET_CC:
|
||||||
|
users = User.objects.filter(is_active=True, is_staff=True).order_by(User.USERNAME_FIELD)
|
||||||
|
else:
|
||||||
|
users = User.objects.filter(is_active=True).order_by(User.USERNAME_FIELD)
|
||||||
|
self.fields['user'].queryset = users
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = TicketCC
|
||||||
|
exclude = ('ticket', 'email',)
|
||||||
|
|
||||||
|
|
||||||
|
class TicketCCEmailForm(forms.ModelForm):
|
||||||
|
''' Adds an email address as a CC on a Ticket '''
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super(TicketCCEmailForm, self).__init__(*args, **kwargs)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = TicketCC
|
||||||
|
exclude = ('ticket', 'user',)
|
||||||
|
|
||||||
|
|
||||||
class TicketDependencyForm(forms.ModelForm):
|
class TicketDependencyForm(forms.ModelForm):
|
||||||
|
''' Adds a different ticket as a dependency for this Ticket '''
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = TicketDependency
|
model = TicketDependency
|
||||||
|
@ -126,8 +126,9 @@ def process_queue(q, logger):
|
|||||||
try:
|
try:
|
||||||
import socks
|
import socks
|
||||||
except ImportError:
|
except ImportError:
|
||||||
no_socks_msg = "Queue has been configured with proxy settings, but no socks " \
|
no_socks_msg = "Queue has been configured with proxy settings, " \
|
||||||
"library was installed. Try to install PySocks via PyPI."
|
"but no socks library was installed. Try to " \
|
||||||
|
"install PySocks via PyPI."
|
||||||
logger.error(no_socks_msg)
|
logger.error(no_socks_msg)
|
||||||
raise ImportError(no_socks_msg)
|
raise ImportError(no_socks_msg)
|
||||||
|
|
||||||
|
@ -178,7 +178,8 @@ class Queue(models.Model):
|
|||||||
blank=True,
|
blank=True,
|
||||||
null=True,
|
null=True,
|
||||||
help_text=_('If using a local directory, what directory path do you '
|
help_text=_('If using a local directory, what directory path do you '
|
||||||
'wish to poll for new email? Example: /var/lib/mail/helpdesk/'),
|
'wish to poll for new email? '
|
||||||
|
'Example: /var/lib/mail/helpdesk/'),
|
||||||
)
|
)
|
||||||
|
|
||||||
permission_name = models.CharField(
|
permission_name = models.CharField(
|
||||||
@ -231,12 +232,19 @@ class Queue(models.Model):
|
|||||||
logging_type = models.CharField(
|
logging_type = models.CharField(
|
||||||
_('Logging Type'),
|
_('Logging Type'),
|
||||||
max_length=5,
|
max_length=5,
|
||||||
choices=(('none', _('None')), ('debug', _('Debug')), ('info', _('Information')), ('warn', _('Warning')), ('error', _('Error')), ('crit', _('Critical'))),
|
choices=(
|
||||||
|
('none', _('None')),
|
||||||
|
('debug', _('Debug')),
|
||||||
|
('info', _('Information')),
|
||||||
|
('warn', _('Warning')),
|
||||||
|
('error', _('Error')),
|
||||||
|
('crit', _('Critical'))
|
||||||
|
),
|
||||||
blank=True,
|
blank=True,
|
||||||
null=True,
|
null=True,
|
||||||
help_text=_('Set the default logging level. All messages at that '
|
help_text=_('Set the default logging level. All messages at that '
|
||||||
'level or above will be logged to the directory set below. '
|
'level or above will be logged to the directory set '
|
||||||
'If no level is set, logging will be disabled.'),
|
'below. If no level is set, logging will be disabled.'),
|
||||||
)
|
)
|
||||||
|
|
||||||
logging_dir = models.CharField(
|
logging_dir = models.CharField(
|
||||||
@ -486,12 +494,6 @@ class Ticket(models.Model):
|
|||||||
return u"%s-%s" % (self.queue.slug, self.id)
|
return u"%s-%s" % (self.queue.slug, self.id)
|
||||||
ticket_for_url = property(_get_ticket_for_url)
|
ticket_for_url = property(_get_ticket_for_url)
|
||||||
|
|
||||||
def _get_priority_img(self):
|
|
||||||
""" Image-based representation of the priority """
|
|
||||||
from django.conf import settings
|
|
||||||
return u"%shelpdesk/priorities/priority%s.png" % (settings.MEDIA_URL, self.priority)
|
|
||||||
get_priority_img = property(_get_priority_img)
|
|
||||||
|
|
||||||
def _get_priority_css_class(self):
|
def _get_priority_css_class(self):
|
||||||
"""
|
"""
|
||||||
Return the boostrap class corresponding to the priority.
|
Return the boostrap class corresponding to the priority.
|
||||||
@ -500,6 +502,8 @@ class Ticket(models.Model):
|
|||||||
return "warning"
|
return "warning"
|
||||||
elif self.priority == 1:
|
elif self.priority == 1:
|
||||||
return "danger"
|
return "danger"
|
||||||
|
elif self.priority == 5:
|
||||||
|
return "success"
|
||||||
else:
|
else:
|
||||||
return ""
|
return ""
|
||||||
get_priority_css_class = property(_get_priority_css_class)
|
get_priority_css_class = property(_get_priority_css_class)
|
||||||
@ -970,7 +974,7 @@ class KBCategory(models.Model):
|
|||||||
verbose_name_plural = _('Knowledge base categories')
|
verbose_name_plural = _('Knowledge base categories')
|
||||||
|
|
||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
return 'kb_category', (), {'slug': self.slug}
|
return 'helpdesk:kb_category', (), {'slug': self.slug}
|
||||||
get_absolute_url = models.permalink(get_absolute_url)
|
get_absolute_url = models.permalink(get_absolute_url)
|
||||||
|
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 3.6 KiB |
@ -1,5 +0,0 @@
|
|||||||
* Use this template to create new buttons
|
|
||||||
* Typeface: Delicious, Roman, 12pt, Sharp Anti-Aliasing
|
|
||||||
http://www.josbuivenga.demon.nl/delicious.html
|
|
||||||
* Icons: Diagona (10px versions)
|
|
||||||
http://www.pinvoke.com/ - I purchased these before they were creative-commons, I believe this gives me rights to use them without attribution.
|
|
Before Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.5 KiB |
434
helpdesk/static/helpdesk/dist/css/sb-admin-2.css
vendored
Normal file
@ -0,0 +1,434 @@
|
|||||||
|
/*!
|
||||||
|
* Start Bootstrap - SB Admin 2 v3.3.7+1 (http://startbootstrap.com/template-overviews/sb-admin-2)
|
||||||
|
* Copyright 2013-2016 Start Bootstrap
|
||||||
|
* Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap/blob/gh-pages/LICENSE)
|
||||||
|
*/
|
||||||
|
body {
|
||||||
|
background-color: #f8f8f8;
|
||||||
|
}
|
||||||
|
#wrapper {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
#page-wrapper {
|
||||||
|
padding: 0 15px;
|
||||||
|
min-height: 568px;
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
#page-wrapper {
|
||||||
|
position: inherit;
|
||||||
|
margin: 0 0 0 250px;
|
||||||
|
padding: 0 30px;
|
||||||
|
border-left: 1px solid #e7e7e7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.navbar-top-links {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
.navbar-top-links li {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.navbar-top-links li:last-child {
|
||||||
|
margin-right: 15px;
|
||||||
|
}
|
||||||
|
.navbar-top-links li a {
|
||||||
|
padding: 15px;
|
||||||
|
min-height: 50px;
|
||||||
|
}
|
||||||
|
.navbar-top-links .dropdown-menu li {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.navbar-top-links .dropdown-menu li:last-child {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
.navbar-top-links .dropdown-menu li a {
|
||||||
|
padding: 3px 20px;
|
||||||
|
min-height: 0;
|
||||||
|
}
|
||||||
|
.navbar-top-links .dropdown-menu li a div {
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
.navbar-top-links .dropdown-messages,
|
||||||
|
.navbar-top-links .dropdown-tasks,
|
||||||
|
.navbar-top-links .dropdown-alerts {
|
||||||
|
width: 310px;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
.navbar-top-links .dropdown-messages {
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
.navbar-top-links .dropdown-tasks {
|
||||||
|
margin-left: -59px;
|
||||||
|
}
|
||||||
|
.navbar-top-links .dropdown-alerts {
|
||||||
|
margin-left: -123px;
|
||||||
|
}
|
||||||
|
.navbar-top-links .dropdown-user {
|
||||||
|
right: 0;
|
||||||
|
left: auto;
|
||||||
|
}
|
||||||
|
.sidebar .sidebar-nav.navbar-collapse {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
.sidebar .sidebar-search {
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
.sidebar ul li {
|
||||||
|
border-bottom: 1px solid #e7e7e7;
|
||||||
|
}
|
||||||
|
.sidebar ul li a.active {
|
||||||
|
background-color: #eeeeee;
|
||||||
|
}
|
||||||
|
.sidebar .arrow {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
.sidebar .fa.arrow:before {
|
||||||
|
content: "\f104";
|
||||||
|
}
|
||||||
|
.sidebar .active > a > .fa.arrow:before {
|
||||||
|
content: "\f107";
|
||||||
|
}
|
||||||
|
.sidebar .nav-second-level li,
|
||||||
|
.sidebar .nav-third-level li {
|
||||||
|
border-bottom: none !important;
|
||||||
|
}
|
||||||
|
.sidebar .nav-second-level li a {
|
||||||
|
padding-left: 37px;
|
||||||
|
}
|
||||||
|
.sidebar .nav-third-level li a {
|
||||||
|
padding-left: 52px;
|
||||||
|
}
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
.sidebar {
|
||||||
|
z-index: 1;
|
||||||
|
position: absolute;
|
||||||
|
width: 250px;
|
||||||
|
margin-top: 51px;
|
||||||
|
}
|
||||||
|
.navbar-top-links .dropdown-messages,
|
||||||
|
.navbar-top-links .dropdown-tasks,
|
||||||
|
.navbar-top-links .dropdown-alerts {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btn-outline {
|
||||||
|
color: inherit;
|
||||||
|
background-color: transparent;
|
||||||
|
transition: all .5s;
|
||||||
|
}
|
||||||
|
.btn-primary.btn-outline {
|
||||||
|
color: #428bca;
|
||||||
|
}
|
||||||
|
.btn-success.btn-outline {
|
||||||
|
color: #5cb85c;
|
||||||
|
}
|
||||||
|
.btn-info.btn-outline {
|
||||||
|
color: #5bc0de;
|
||||||
|
}
|
||||||
|
.btn-warning.btn-outline {
|
||||||
|
color: #f0ad4e;
|
||||||
|
}
|
||||||
|
.btn-danger.btn-outline {
|
||||||
|
color: #d9534f;
|
||||||
|
}
|
||||||
|
.btn-primary.btn-outline:hover,
|
||||||
|
.btn-success.btn-outline:hover,
|
||||||
|
.btn-info.btn-outline:hover,
|
||||||
|
.btn-warning.btn-outline:hover,
|
||||||
|
.btn-danger.btn-outline:hover {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
.chat {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
.chat li {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
padding-bottom: 5px;
|
||||||
|
border-bottom: 1px dotted #999999;
|
||||||
|
}
|
||||||
|
.chat li.left .chat-body {
|
||||||
|
margin-left: 60px;
|
||||||
|
}
|
||||||
|
.chat li.right .chat-body {
|
||||||
|
margin-right: 60px;
|
||||||
|
}
|
||||||
|
.chat li .chat-body p {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.panel .slidedown .glyphicon,
|
||||||
|
.chat .glyphicon {
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
.chat-panel .panel-body {
|
||||||
|
height: 350px;
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
.login-panel {
|
||||||
|
margin-top: 25%;
|
||||||
|
}
|
||||||
|
.flot-chart {
|
||||||
|
display: block;
|
||||||
|
height: 400px;
|
||||||
|
}
|
||||||
|
.flot-chart-content {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
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: transparent;
|
||||||
|
}
|
||||||
|
table.dataTable thead .sorting_asc:after {
|
||||||
|
content: "\f0de";
|
||||||
|
float: right;
|
||||||
|
font-family: fontawesome;
|
||||||
|
}
|
||||||
|
table.dataTable thead .sorting_desc:after {
|
||||||
|
content: "\f0dd";
|
||||||
|
float: right;
|
||||||
|
font-family: fontawesome;
|
||||||
|
}
|
||||||
|
table.dataTable thead .sorting:after {
|
||||||
|
content: "\f0dc";
|
||||||
|
float: right;
|
||||||
|
font-family: fontawesome;
|
||||||
|
color: rgba(50, 50, 50, 0.5);
|
||||||
|
}
|
||||||
|
.btn-circle {
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
padding: 6px 0;
|
||||||
|
border-radius: 15px;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 1.428571429;
|
||||||
|
}
|
||||||
|
.btn-circle.btn-lg {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
padding: 10px 16px;
|
||||||
|
border-radius: 25px;
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 1.33;
|
||||||
|
}
|
||||||
|
.btn-circle.btn-xl {
|
||||||
|
width: 70px;
|
||||||
|
height: 70px;
|
||||||
|
padding: 10px 16px;
|
||||||
|
border-radius: 35px;
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1.33;
|
||||||
|
}
|
||||||
|
.show-grid [class^="col-"] {
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
background-color: #eee !important;
|
||||||
|
}
|
||||||
|
.show-grid {
|
||||||
|
margin: 15px 0;
|
||||||
|
}
|
||||||
|
.huge {
|
||||||
|
font-size: 40px;
|
||||||
|
}
|
||||||
|
.panel-green {
|
||||||
|
border-color: #5cb85c;
|
||||||
|
}
|
||||||
|
.panel-green > .panel-heading {
|
||||||
|
border-color: #5cb85c;
|
||||||
|
color: white;
|
||||||
|
background-color: #5cb85c;
|
||||||
|
}
|
||||||
|
.panel-green > a {
|
||||||
|
color: #5cb85c;
|
||||||
|
}
|
||||||
|
.panel-green > a:hover {
|
||||||
|
color: #3d8b3d;
|
||||||
|
}
|
||||||
|
.panel-red {
|
||||||
|
border-color: #d9534f;
|
||||||
|
}
|
||||||
|
.panel-red > .panel-heading {
|
||||||
|
border-color: #d9534f;
|
||||||
|
color: white;
|
||||||
|
background-color: #d9534f;
|
||||||
|
}
|
||||||
|
.panel-red > a {
|
||||||
|
color: #d9534f;
|
||||||
|
}
|
||||||
|
.panel-red > a:hover {
|
||||||
|
color: #b52b27;
|
||||||
|
}
|
||||||
|
.panel-yellow {
|
||||||
|
border-color: #f0ad4e;
|
||||||
|
}
|
||||||
|
.panel-yellow > .panel-heading {
|
||||||
|
border-color: #f0ad4e;
|
||||||
|
color: white;
|
||||||
|
background-color: #f0ad4e;
|
||||||
|
}
|
||||||
|
.panel-yellow > a {
|
||||||
|
color: #f0ad4e;
|
||||||
|
}
|
||||||
|
.panel-yellow > a:hover {
|
||||||
|
color: #df8a13;
|
||||||
|
}
|
||||||
|
.timeline {
|
||||||
|
position: relative;
|
||||||
|
padding: 20px 0 20px;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
.timeline:before {
|
||||||
|
content: " ";
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 50%;
|
||||||
|
width: 3px;
|
||||||
|
margin-left: -1.5px;
|
||||||
|
background-color: #eeeeee;
|
||||||
|
}
|
||||||
|
.timeline > li {
|
||||||
|
position: relative;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
.timeline > li:before,
|
||||||
|
.timeline > li:after {
|
||||||
|
content: " ";
|
||||||
|
display: table;
|
||||||
|
}
|
||||||
|
.timeline > li:after {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
.timeline > li:before,
|
||||||
|
.timeline > li:after {
|
||||||
|
content: " ";
|
||||||
|
display: table;
|
||||||
|
}
|
||||||
|
.timeline > li:after {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
.timeline > li > .timeline-panel {
|
||||||
|
float: left;
|
||||||
|
position: relative;
|
||||||
|
width: 46%;
|
||||||
|
padding: 20px;
|
||||||
|
border: 1px solid #d4d4d4;
|
||||||
|
border-radius: 2px;
|
||||||
|
-webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
|
||||||
|
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
|
||||||
|
}
|
||||||
|
.timeline > li > .timeline-panel:before {
|
||||||
|
content: " ";
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
top: 26px;
|
||||||
|
right: -15px;
|
||||||
|
border-top: 15px solid transparent;
|
||||||
|
border-right: 0 solid #ccc;
|
||||||
|
border-bottom: 15px solid transparent;
|
||||||
|
border-left: 15px solid #ccc;
|
||||||
|
}
|
||||||
|
.timeline > li > .timeline-panel:after {
|
||||||
|
content: " ";
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
top: 27px;
|
||||||
|
right: -14px;
|
||||||
|
border-top: 14px solid transparent;
|
||||||
|
border-right: 0 solid #fff;
|
||||||
|
border-bottom: 14px solid transparent;
|
||||||
|
border-left: 14px solid #fff;
|
||||||
|
}
|
||||||
|
.timeline > li > .timeline-badge {
|
||||||
|
z-index: 100;
|
||||||
|
position: absolute;
|
||||||
|
top: 16px;
|
||||||
|
left: 50%;
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
margin-left: -25px;
|
||||||
|
border-radius: 50% 50% 50% 50%;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1.4em;
|
||||||
|
line-height: 50px;
|
||||||
|
color: #fff;
|
||||||
|
background-color: #999999;
|
||||||
|
}
|
||||||
|
.timeline > li.timeline-inverted > .timeline-panel {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
.timeline > li.timeline-inverted > .timeline-panel:before {
|
||||||
|
right: auto;
|
||||||
|
left: -15px;
|
||||||
|
border-right-width: 15px;
|
||||||
|
border-left-width: 0;
|
||||||
|
}
|
||||||
|
.timeline > li.timeline-inverted > .timeline-panel:after {
|
||||||
|
right: auto;
|
||||||
|
left: -14px;
|
||||||
|
border-right-width: 14px;
|
||||||
|
border-left-width: 0;
|
||||||
|
}
|
||||||
|
.timeline-badge.primary {
|
||||||
|
background-color: #2e6da4 !important;
|
||||||
|
}
|
||||||
|
.timeline-badge.success {
|
||||||
|
background-color: #3f903f !important;
|
||||||
|
}
|
||||||
|
.timeline-badge.warning {
|
||||||
|
background-color: #f0ad4e !important;
|
||||||
|
}
|
||||||
|
.timeline-badge.danger {
|
||||||
|
background-color: #d9534f !important;
|
||||||
|
}
|
||||||
|
.timeline-badge.info {
|
||||||
|
background-color: #5bc0de !important;
|
||||||
|
}
|
||||||
|
.timeline-title {
|
||||||
|
margin-top: 0;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
.timeline-body > p,
|
||||||
|
.timeline-body > ul {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
.timeline-body > p + p {
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
ul.timeline:before {
|
||||||
|
left: 40px;
|
||||||
|
}
|
||||||
|
ul.timeline > li > .timeline-panel {
|
||||||
|
width: calc(10%);
|
||||||
|
width: -moz-calc(10%);
|
||||||
|
width: -webkit-calc(10%);
|
||||||
|
}
|
||||||
|
ul.timeline > li > .timeline-badge {
|
||||||
|
top: 16px;
|
||||||
|
left: 15px;
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
ul.timeline > li > .timeline-panel {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
ul.timeline > li > .timeline-panel:before {
|
||||||
|
right: auto;
|
||||||
|
left: -15px;
|
||||||
|
border-right-width: 15px;
|
||||||
|
border-left-width: 0;
|
||||||
|
}
|
||||||
|
ul.timeline > li > .timeline-panel:after {
|
||||||
|
right: auto;
|
||||||
|
left: -14px;
|
||||||
|
border-right-width: 14px;
|
||||||
|
border-left-width: 0;
|
||||||
|
}
|
||||||
|
}
|
5
helpdesk/static/helpdesk/dist/css/sb-admin-2.min.css
vendored
Normal file
47
helpdesk/static/helpdesk/dist/js/sb-admin-2.js
vendored
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
/*!
|
||||||
|
* Start Bootstrap - SB Admin 2 v3.3.7+1 (http://startbootstrap.com/template-overviews/sb-admin-2)
|
||||||
|
* Copyright 2013-2016 Start Bootstrap
|
||||||
|
* Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap/blob/gh-pages/LICENSE)
|
||||||
|
*/
|
||||||
|
$(function() {
|
||||||
|
$('#side-menu').metisMenu();
|
||||||
|
});
|
||||||
|
|
||||||
|
//Loads the correct sidebar on window load,
|
||||||
|
//collapses the sidebar on window resize.
|
||||||
|
// Sets the min-height of #page-wrapper to window size
|
||||||
|
$(function() {
|
||||||
|
$(window).bind("load resize", function() {
|
||||||
|
var topOffset = 50;
|
||||||
|
var width = (this.window.innerWidth > 0) ? this.window.innerWidth : this.screen.width;
|
||||||
|
if (width < 768) {
|
||||||
|
$('div.navbar-collapse').addClass('collapse');
|
||||||
|
topOffset = 100; // 2-row-menu
|
||||||
|
} else {
|
||||||
|
$('div.navbar-collapse').removeClass('collapse');
|
||||||
|
}
|
||||||
|
|
||||||
|
var height = ((this.window.innerHeight > 0) ? this.window.innerHeight : this.screen.height) - 1;
|
||||||
|
height = height - topOffset;
|
||||||
|
if (height < 1) height = 1;
|
||||||
|
if (height > topOffset) {
|
||||||
|
$("#page-wrapper").css("min-height", (height) + "px");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var url = window.location;
|
||||||
|
// var element = $('ul.nav a').filter(function() {
|
||||||
|
// return this.href == url;
|
||||||
|
// }).addClass('active').parent().parent().addClass('in').parent();
|
||||||
|
var element = $('ul.nav a').filter(function() {
|
||||||
|
return this.href == url;
|
||||||
|
}).addClass('active').parent();
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
if (element.is('li')) {
|
||||||
|
element = element.parent().addClass('in').parent();
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
6
helpdesk/static/helpdesk/dist/js/sb-admin-2.min.js
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
/*!
|
||||||
|
* Start Bootstrap - SB Admin 2 v3.3.7+1 (http://startbootstrap.com/template-overviews/sb-admin-2)
|
||||||
|
* Copyright 2013-2016 Start Bootstrap
|
||||||
|
* Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap/blob/gh-pages/LICENSE)
|
||||||
|
*/
|
||||||
|
$(function(){$("#side-menu").metisMenu()}),$(function(){$(window).bind("load resize",function(){var i=50,n=this.window.innerWidth>0?this.window.innerWidth:this.screen.width;n<768?($("div.navbar-collapse").addClass("collapse"),i=100):$("div.navbar-collapse").removeClass("collapse");var e=(this.window.innerHeight>0?this.window.innerHeight:this.screen.height)-1;e-=i,e<1&&(e=1),e>i&&$("#page-wrapper").css("min-height",e+"px")});for(var i=window.location,n=$("ul.nav a").filter(function(){return this.href==i}).addClass("active").parent();;){if(!n.is("li"))break;n=n.parent().addClass("in").parent()}});
|
@ -2,6 +2,26 @@
|
|||||||
Bootstrap overrides
|
Bootstrap overrides
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
.btn-file {
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.btn-file input[type=file] {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
min-width: 100%;
|
||||||
|
min-height: 100%;
|
||||||
|
font-size: 100px;
|
||||||
|
text-align: right;
|
||||||
|
filter: alpha(opacity=0);
|
||||||
|
opacity: 0;
|
||||||
|
outline: none;
|
||||||
|
background: white;
|
||||||
|
cursor: inherit;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
.thumbnail.filterBox {
|
.thumbnail.filterBox {
|
||||||
display: none;
|
display: none;
|
||||||
float: left;
|
float: left;
|
||||||
@ -52,4 +72,4 @@ Add your custom styles here
|
|||||||
padding: 10px 0;
|
padding: 10px 0;
|
||||||
}
|
}
|
||||||
#helpdesk-body {padding-top: 100px;}
|
#helpdesk-body {padding-top: 100px;}
|
||||||
img.brand {padding-right: 30px;}
|
img.brand {padding-right: 30px;}
|
||||||
|
Before Width: | Height: | Size: 180 B |
Before Width: | Height: | Size: 178 B |
Before Width: | Height: | Size: 120 B |
Before Width: | Height: | Size: 105 B |
Before Width: | Height: | Size: 111 B |
Before Width: | Height: | Size: 110 B |
Before Width: | Height: | Size: 119 B |
Before Width: | Height: | Size: 101 B |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 6.2 KiB |
42
helpdesk/static/helpdesk/js/sb-admin-2.js
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
$(function() {
|
||||||
|
$('#side-menu').metisMenu();
|
||||||
|
});
|
||||||
|
|
||||||
|
//Loads the correct sidebar on window load,
|
||||||
|
//collapses the sidebar on window resize.
|
||||||
|
// Sets the min-height of #page-wrapper to window size
|
||||||
|
$(function() {
|
||||||
|
$(window).bind("load resize", function() {
|
||||||
|
var topOffset = 50;
|
||||||
|
var width = (this.window.innerWidth > 0) ? this.window.innerWidth : this.screen.width;
|
||||||
|
if (width < 768) {
|
||||||
|
$('div.navbar-collapse').addClass('collapse');
|
||||||
|
topOffset = 100; // 2-row-menu
|
||||||
|
} else {
|
||||||
|
$('div.navbar-collapse').removeClass('collapse');
|
||||||
|
}
|
||||||
|
|
||||||
|
var height = ((this.window.innerHeight > 0) ? this.window.innerHeight : this.screen.height) - 1;
|
||||||
|
height = height - topOffset;
|
||||||
|
if (height < 1) height = 1;
|
||||||
|
if (height > topOffset) {
|
||||||
|
$("#page-wrapper").css("min-height", (height) + "px");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var url = window.location;
|
||||||
|
// var element = $('ul.nav a').filter(function() {
|
||||||
|
// return this.href == url;
|
||||||
|
// }).addClass('active').parent().parent().addClass('in').parent();
|
||||||
|
var element = $('ul.nav a').filter(function() {
|
||||||
|
return this.href == url;
|
||||||
|
}).addClass('active').parent();
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
if (element.is('li')) {
|
||||||
|
element = element.parent().addClass('in').parent();
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
1
helpdesk/static/helpdesk/less/mixins.less
Normal file
@ -0,0 +1 @@
|
|||||||
|
// Mixins
|
548
helpdesk/static/helpdesk/less/sb-admin-2.less
Normal file
@ -0,0 +1,548 @@
|
|||||||
|
@import "variables.less";
|
||||||
|
@import "mixins.less";
|
||||||
|
|
||||||
|
// Global Styles
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: @gray-lightest;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Wrappers
|
||||||
|
|
||||||
|
#wrapper {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-wrapper {
|
||||||
|
padding: 0 15px;
|
||||||
|
min-height: 568px;
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media(min-width:768px) {
|
||||||
|
#page-wrapper {
|
||||||
|
position: inherit;
|
||||||
|
margin: 0 0 0 250px;
|
||||||
|
padding: 0 30px;
|
||||||
|
border-left: 1px solid darken(@gray-lightest, 6.5%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Navigation
|
||||||
|
|
||||||
|
// --Topbar
|
||||||
|
|
||||||
|
.navbar-top-links {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-top-links li {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-top-links li:last-child {
|
||||||
|
margin-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-top-links li a {
|
||||||
|
padding: 15px;
|
||||||
|
min-height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-top-links .dropdown-menu li {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-top-links .dropdown-menu li:last-child {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-top-links .dropdown-menu li a {
|
||||||
|
padding: 3px 20px;
|
||||||
|
min-height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-top-links .dropdown-menu li a div {
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-top-links .dropdown-messages,
|
||||||
|
.navbar-top-links .dropdown-tasks,
|
||||||
|
.navbar-top-links .dropdown-alerts {
|
||||||
|
width: 310px;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-top-links .dropdown-messages {
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-top-links .dropdown-tasks {
|
||||||
|
margin-left: -59px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-top-links .dropdown-alerts {
|
||||||
|
margin-left: -123px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-top-links .dropdown-user {
|
||||||
|
right: 0;
|
||||||
|
left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
// --Sidebar
|
||||||
|
|
||||||
|
.sidebar {
|
||||||
|
.sidebar-nav.navbar-collapse {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .sidebar-search {
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar ul li {
|
||||||
|
border-bottom: 1px solid darken(@gray-lightest, 6.5%);
|
||||||
|
a {
|
||||||
|
&.active {
|
||||||
|
background-color: @gray-lighter;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .arrow {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .fa.arrow:before {
|
||||||
|
content: "\f104";
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .active > a > .fa.arrow:before {
|
||||||
|
content: "\f107";
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .nav-second-level li,
|
||||||
|
.sidebar .nav-third-level li {
|
||||||
|
border-bottom: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .nav-second-level li a {
|
||||||
|
padding-left: 37px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .nav-third-level li a {
|
||||||
|
padding-left: 52px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media(min-width:768px) {
|
||||||
|
.sidebar {
|
||||||
|
z-index: 1;
|
||||||
|
position: absolute;
|
||||||
|
width: 250px;
|
||||||
|
margin-top: 51px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-top-links .dropdown-messages,
|
||||||
|
.navbar-top-links .dropdown-tasks,
|
||||||
|
.navbar-top-links .dropdown-alerts {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Buttons
|
||||||
|
|
||||||
|
.btn-outline {
|
||||||
|
color: inherit;
|
||||||
|
background-color: transparent;
|
||||||
|
transition: all .5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary.btn-outline {
|
||||||
|
color: @brand-primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-success.btn-outline {
|
||||||
|
color: @brand-success;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-info.btn-outline {
|
||||||
|
color: @brand-info;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-warning.btn-outline {
|
||||||
|
color: @brand-warning;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-danger.btn-outline {
|
||||||
|
color: @brand-danger;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary.btn-outline:hover,
|
||||||
|
.btn-success.btn-outline:hover,
|
||||||
|
.btn-info.btn-outline:hover,
|
||||||
|
.btn-warning.btn-outline:hover,
|
||||||
|
.btn-danger.btn-outline:hover {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Chat Widget
|
||||||
|
|
||||||
|
.chat {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chat li {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
padding-bottom: 5px;
|
||||||
|
border-bottom: 1px dotted @gray-light;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chat li.left .chat-body {
|
||||||
|
margin-left: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chat li.right .chat-body {
|
||||||
|
margin-right: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chat li .chat-body p {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel .slidedown .glyphicon,
|
||||||
|
.chat .glyphicon {
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chat-panel .panel-body {
|
||||||
|
height: 350px;
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Login Page
|
||||||
|
|
||||||
|
.login-panel {
|
||||||
|
margin-top: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Flot Charts Containers
|
||||||
|
|
||||||
|
.flot-chart {
|
||||||
|
display: block;
|
||||||
|
height: 400px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flot-chart-content {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
// DataTables Overrides
|
||||||
|
|
||||||
|
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: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.dataTable thead .sorting_asc:after {
|
||||||
|
content: "\f0de";
|
||||||
|
float: right;
|
||||||
|
font-family: fontawesome;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.dataTable thead .sorting_desc:after {
|
||||||
|
content: "\f0dd";
|
||||||
|
float: right;
|
||||||
|
font-family: fontawesome;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.dataTable thead .sorting:after {
|
||||||
|
content: "\f0dc";
|
||||||
|
float: right;
|
||||||
|
font-family: fontawesome;
|
||||||
|
color: rgba(50,50,50,.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Circle Buttons
|
||||||
|
|
||||||
|
.btn-circle {
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
padding: 6px 0;
|
||||||
|
border-radius: 15px;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 1.428571429;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-circle.btn-lg {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
padding: 10px 16px;
|
||||||
|
border-radius: 25px;
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 1.33;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-circle.btn-xl {
|
||||||
|
width: 70px;
|
||||||
|
height: 70px;
|
||||||
|
padding: 10px 16px;
|
||||||
|
border-radius: 35px;
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1.33;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Grid Demo Elements
|
||||||
|
|
||||||
|
.show-grid [class^="col-"] {
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
background-color: #eee !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.show-grid {
|
||||||
|
margin: 15px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Custom Colored Panels
|
||||||
|
|
||||||
|
.huge {
|
||||||
|
font-size: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-green {
|
||||||
|
border-color: @brand-success;
|
||||||
|
> .panel-heading {
|
||||||
|
border-color: @brand-success;
|
||||||
|
color: white;
|
||||||
|
background-color: @brand-success;
|
||||||
|
}
|
||||||
|
> a {
|
||||||
|
color: @brand-success;
|
||||||
|
&:hover {
|
||||||
|
color: darken(@brand-success, 15%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-red {
|
||||||
|
border-color: @brand-danger;
|
||||||
|
> .panel-heading {
|
||||||
|
border-color: @brand-danger;
|
||||||
|
color: white;
|
||||||
|
background-color: @brand-danger;
|
||||||
|
}
|
||||||
|
> a {
|
||||||
|
color: @brand-danger;
|
||||||
|
&:hover {
|
||||||
|
color: darken(@brand-danger, 15%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-yellow {
|
||||||
|
border-color: @brand-warning;
|
||||||
|
> .panel-heading {
|
||||||
|
border-color: @brand-warning;
|
||||||
|
color: white;
|
||||||
|
background-color: @brand-warning;
|
||||||
|
}
|
||||||
|
> a {
|
||||||
|
color: @brand-warning;
|
||||||
|
&:hover {
|
||||||
|
color: darken(@brand-warning, 15%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Timeline
|
||||||
|
.timeline {
|
||||||
|
position: relative;
|
||||||
|
padding: 20px 0 20px;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline:before {
|
||||||
|
content: " ";
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 50%;
|
||||||
|
width: 3px;
|
||||||
|
margin-left: -1.5px;
|
||||||
|
background-color: #eeeeee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline > li {
|
||||||
|
position: relative;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline > li:before,
|
||||||
|
.timeline > li:after {
|
||||||
|
content: " ";
|
||||||
|
display: table;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline > li:after {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline > li:before,
|
||||||
|
.timeline > li:after {
|
||||||
|
content: " ";
|
||||||
|
display: table;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline > li:after {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline > li > .timeline-panel {
|
||||||
|
float: left;
|
||||||
|
position: relative;
|
||||||
|
width: 46%;
|
||||||
|
padding: 20px;
|
||||||
|
border: 1px solid #d4d4d4;
|
||||||
|
border-radius: 2px;
|
||||||
|
-webkit-box-shadow: 0 1px 6px rgba(0,0,0,0.175);
|
||||||
|
box-shadow: 0 1px 6px rgba(0,0,0,0.175);
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline > li > .timeline-panel:before {
|
||||||
|
content: " ";
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
top: 26px;
|
||||||
|
right: -15px;
|
||||||
|
border-top: 15px solid transparent;
|
||||||
|
border-right: 0 solid #ccc;
|
||||||
|
border-bottom: 15px solid transparent;
|
||||||
|
border-left: 15px solid #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline > li > .timeline-panel:after {
|
||||||
|
content: " ";
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
top: 27px;
|
||||||
|
right: -14px;
|
||||||
|
border-top: 14px solid transparent;
|
||||||
|
border-right: 0 solid #fff;
|
||||||
|
border-bottom: 14px solid transparent;
|
||||||
|
border-left: 14px solid #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline > li > .timeline-badge {
|
||||||
|
z-index: 100;
|
||||||
|
position: absolute;
|
||||||
|
top: 16px;
|
||||||
|
left: 50%;
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
margin-left: -25px;
|
||||||
|
border-radius: 50% 50% 50% 50%;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1.4em;
|
||||||
|
line-height: 50px;
|
||||||
|
color: #fff;
|
||||||
|
background-color: #999999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline > li.timeline-inverted > .timeline-panel {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline > li.timeline-inverted > .timeline-panel:before {
|
||||||
|
right: auto;
|
||||||
|
left: -15px;
|
||||||
|
border-right-width: 15px;
|
||||||
|
border-left-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline > li.timeline-inverted > .timeline-panel:after {
|
||||||
|
right: auto;
|
||||||
|
left: -14px;
|
||||||
|
border-right-width: 14px;
|
||||||
|
border-left-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-badge.primary {
|
||||||
|
background-color: #2e6da4 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-badge.success {
|
||||||
|
background-color: #3f903f !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-badge.warning {
|
||||||
|
background-color: #f0ad4e !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-badge.danger {
|
||||||
|
background-color: #d9534f !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-badge.info {
|
||||||
|
background-color: #5bc0de !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-title {
|
||||||
|
margin-top: 0;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-body > p,
|
||||||
|
.timeline-body > ul {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-body > p + p {
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media(max-width:767px) {
|
||||||
|
ul.timeline:before {
|
||||||
|
left: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.timeline > li > .timeline-panel {
|
||||||
|
width: calc(100% - 90px);
|
||||||
|
width: -moz-calc(100% - 90px);
|
||||||
|
width: -webkit-calc(100% - 90px);
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.timeline > li > .timeline-badge {
|
||||||
|
top: 16px;
|
||||||
|
left: 15px;
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.timeline > li > .timeline-panel {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.timeline > li > .timeline-panel:before {
|
||||||
|
right: auto;
|
||||||
|
left: -15px;
|
||||||
|
border-right-width: 15px;
|
||||||
|
border-left-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.timeline > li > .timeline-panel:after {
|
||||||
|
right: auto;
|
||||||
|
left: -14px;
|
||||||
|
border-right-width: 14px;
|
||||||
|
border-left-width: 0;
|
||||||
|
}
|
||||||
|
}
|
14
helpdesk/static/helpdesk/less/variables.less
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// Variables
|
||||||
|
|
||||||
|
@gray-darker: lighten(#000, 13.5%);
|
||||||
|
@gray-dark: lighten(#000, 20%);
|
||||||
|
@gray: lighten(#000, 33.5%);
|
||||||
|
@gray-light: lighten(#000, 60%);
|
||||||
|
@gray-lighter: lighten(#000, 93.5%);
|
||||||
|
@gray-lightest: lighten(#000, 97.25%);
|
||||||
|
@brand-primary: #428bca;
|
||||||
|
@brand-success: #5cb85c;
|
||||||
|
@brand-info: #5bc0de;
|
||||||
|
@brand-warning: #f0ad4e;
|
||||||
|
@brand-danger: #d9534f;
|
||||||
|
|
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.3 KiB |
@ -1,4 +0,0 @@
|
|||||||
* Typeface: Delicious, Roman, 14pt, Sharp Anti-Aliasing
|
|
||||||
http://www.josbuivenga.demon.nl/delicious.html
|
|
||||||
* Icons: Diagona (16px versions)
|
|
||||||
http://www.pinvoke.com/ - I purchased these before they were creative-commons, I believe this gives me rights to use them without attribution.
|
|
Before Width: | Height: | Size: 3.3 KiB |
101
helpdesk/static/helpdesk/vendor/bootstrap-social/bootstrap-social.css
vendored
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
/*
|
||||||
|
* Social Buttons for Bootstrap
|
||||||
|
*
|
||||||
|
* Copyright 2013-2014 Panayiotis Lipiridis
|
||||||
|
* Licensed under the MIT License
|
||||||
|
*
|
||||||
|
* https://github.com/lipis/bootstrap-social
|
||||||
|
*/
|
||||||
|
|
||||||
|
.btn-social{position:relative;padding-left:44px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-social>:first-child{position:absolute;left:0;top:0;bottom:0;width:32px;line-height:34px;font-size:1.6em;text-align:center;border-right:1px solid rgba(0,0,0,0.2)}
|
||||||
|
.btn-social.btn-lg{padding-left:61px}.btn-social.btn-lg :first-child{line-height:45px;width:45px;font-size:1.8em}
|
||||||
|
.btn-social.btn-sm{padding-left:38px}.btn-social.btn-sm :first-child{line-height:28px;width:28px;font-size:1.4em}
|
||||||
|
.btn-social.btn-xs{padding-left:30px}.btn-social.btn-xs :first-child{line-height:20px;width:20px;font-size:1.2em}
|
||||||
|
.btn-social-icon{position:relative;padding-left:44px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:34px;width:34px;padding:0}.btn-social-icon>:first-child{position:absolute;left:0;top:0;bottom:0;width:32px;line-height:34px;font-size:1.6em;text-align:center;border-right:1px solid rgba(0,0,0,0.2)}
|
||||||
|
.btn-social-icon.btn-lg{padding-left:61px}.btn-social-icon.btn-lg :first-child{line-height:45px;width:45px;font-size:1.8em}
|
||||||
|
.btn-social-icon.btn-sm{padding-left:38px}.btn-social-icon.btn-sm :first-child{line-height:28px;width:28px;font-size:1.4em}
|
||||||
|
.btn-social-icon.btn-xs{padding-left:30px}.btn-social-icon.btn-xs :first-child{line-height:20px;width:20px;font-size:1.2em}
|
||||||
|
.btn-social-icon :first-child{border:none;text-align:center;width:100% !important}
|
||||||
|
.btn-social-icon.btn-lg{height:45px;width:45px;padding-left:0;padding-right:0}
|
||||||
|
.btn-social-icon.btn-sm{height:30px;width:30px;padding-left:0;padding-right:0}
|
||||||
|
.btn-social-icon.btn-xs{height:22px;width:22px;padding-left:0;padding-right:0}
|
||||||
|
.btn-adn{color:#fff;background-color:#d87a68;border-color:rgba(0,0,0,0.2)}.btn-adn:hover,.btn-adn:focus,.btn-adn:active,.btn-adn.active,.open>.dropdown-toggle.btn-adn{color:#fff;background-color:#ce563f;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-adn:active,.btn-adn.active,.open>.dropdown-toggle.btn-adn{background-image:none}
|
||||||
|
.btn-adn.disabled,.btn-adn[disabled],fieldset[disabled] .btn-adn,.btn-adn.disabled:hover,.btn-adn[disabled]:hover,fieldset[disabled] .btn-adn:hover,.btn-adn.disabled:focus,.btn-adn[disabled]:focus,fieldset[disabled] .btn-adn:focus,.btn-adn.disabled:active,.btn-adn[disabled]:active,fieldset[disabled] .btn-adn:active,.btn-adn.disabled.active,.btn-adn[disabled].active,fieldset[disabled] .btn-adn.active{background-color:#d87a68;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-adn .badge{color:#d87a68;background-color:#fff}
|
||||||
|
.btn-bitbucket{color:#fff;background-color:#205081;border-color:rgba(0,0,0,0.2)}.btn-bitbucket:hover,.btn-bitbucket:focus,.btn-bitbucket:active,.btn-bitbucket.active,.open>.dropdown-toggle.btn-bitbucket{color:#fff;background-color:#163758;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-bitbucket:active,.btn-bitbucket.active,.open>.dropdown-toggle.btn-bitbucket{background-image:none}
|
||||||
|
.btn-bitbucket.disabled,.btn-bitbucket[disabled],fieldset[disabled] .btn-bitbucket,.btn-bitbucket.disabled:hover,.btn-bitbucket[disabled]:hover,fieldset[disabled] .btn-bitbucket:hover,.btn-bitbucket.disabled:focus,.btn-bitbucket[disabled]:focus,fieldset[disabled] .btn-bitbucket:focus,.btn-bitbucket.disabled:active,.btn-bitbucket[disabled]:active,fieldset[disabled] .btn-bitbucket:active,.btn-bitbucket.disabled.active,.btn-bitbucket[disabled].active,fieldset[disabled] .btn-bitbucket.active{background-color:#205081;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-bitbucket .badge{color:#205081;background-color:#fff}
|
||||||
|
.btn-dropbox{color:#fff;background-color:#1087dd;border-color:rgba(0,0,0,0.2)}.btn-dropbox:hover,.btn-dropbox:focus,.btn-dropbox:active,.btn-dropbox.active,.open>.dropdown-toggle.btn-dropbox{color:#fff;background-color:#0d6aad;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-dropbox:active,.btn-dropbox.active,.open>.dropdown-toggle.btn-dropbox{background-image:none}
|
||||||
|
.btn-dropbox.disabled,.btn-dropbox[disabled],fieldset[disabled] .btn-dropbox,.btn-dropbox.disabled:hover,.btn-dropbox[disabled]:hover,fieldset[disabled] .btn-dropbox:hover,.btn-dropbox.disabled:focus,.btn-dropbox[disabled]:focus,fieldset[disabled] .btn-dropbox:focus,.btn-dropbox.disabled:active,.btn-dropbox[disabled]:active,fieldset[disabled] .btn-dropbox:active,.btn-dropbox.disabled.active,.btn-dropbox[disabled].active,fieldset[disabled] .btn-dropbox.active{background-color:#1087dd;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-dropbox .badge{color:#1087dd;background-color:#fff}
|
||||||
|
.btn-facebook{color:#fff;background-color:#3b5998;border-color:rgba(0,0,0,0.2)}.btn-facebook:hover,.btn-facebook:focus,.btn-facebook:active,.btn-facebook.active,.open>.dropdown-toggle.btn-facebook{color:#fff;background-color:#2d4373;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-facebook:active,.btn-facebook.active,.open>.dropdown-toggle.btn-facebook{background-image:none}
|
||||||
|
.btn-facebook.disabled,.btn-facebook[disabled],fieldset[disabled] .btn-facebook,.btn-facebook.disabled:hover,.btn-facebook[disabled]:hover,fieldset[disabled] .btn-facebook:hover,.btn-facebook.disabled:focus,.btn-facebook[disabled]:focus,fieldset[disabled] .btn-facebook:focus,.btn-facebook.disabled:active,.btn-facebook[disabled]:active,fieldset[disabled] .btn-facebook:active,.btn-facebook.disabled.active,.btn-facebook[disabled].active,fieldset[disabled] .btn-facebook.active{background-color:#3b5998;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-facebook .badge{color:#3b5998;background-color:#fff}
|
||||||
|
.btn-flickr{color:#fff;background-color:#ff0084;border-color:rgba(0,0,0,0.2)}.btn-flickr:hover,.btn-flickr:focus,.btn-flickr:active,.btn-flickr.active,.open>.dropdown-toggle.btn-flickr{color:#fff;background-color:#cc006a;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-flickr:active,.btn-flickr.active,.open>.dropdown-toggle.btn-flickr{background-image:none}
|
||||||
|
.btn-flickr.disabled,.btn-flickr[disabled],fieldset[disabled] .btn-flickr,.btn-flickr.disabled:hover,.btn-flickr[disabled]:hover,fieldset[disabled] .btn-flickr:hover,.btn-flickr.disabled:focus,.btn-flickr[disabled]:focus,fieldset[disabled] .btn-flickr:focus,.btn-flickr.disabled:active,.btn-flickr[disabled]:active,fieldset[disabled] .btn-flickr:active,.btn-flickr.disabled.active,.btn-flickr[disabled].active,fieldset[disabled] .btn-flickr.active{background-color:#ff0084;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-flickr .badge{color:#ff0084;background-color:#fff}
|
||||||
|
.btn-foursquare{color:#fff;background-color:#f94877;border-color:rgba(0,0,0,0.2)}.btn-foursquare:hover,.btn-foursquare:focus,.btn-foursquare:active,.btn-foursquare.active,.open>.dropdown-toggle.btn-foursquare{color:#fff;background-color:#f71752;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-foursquare:active,.btn-foursquare.active,.open>.dropdown-toggle.btn-foursquare{background-image:none}
|
||||||
|
.btn-foursquare.disabled,.btn-foursquare[disabled],fieldset[disabled] .btn-foursquare,.btn-foursquare.disabled:hover,.btn-foursquare[disabled]:hover,fieldset[disabled] .btn-foursquare:hover,.btn-foursquare.disabled:focus,.btn-foursquare[disabled]:focus,fieldset[disabled] .btn-foursquare:focus,.btn-foursquare.disabled:active,.btn-foursquare[disabled]:active,fieldset[disabled] .btn-foursquare:active,.btn-foursquare.disabled.active,.btn-foursquare[disabled].active,fieldset[disabled] .btn-foursquare.active{background-color:#f94877;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-foursquare .badge{color:#f94877;background-color:#fff}
|
||||||
|
.btn-github{color:#fff;background-color:#444;border-color:rgba(0,0,0,0.2)}.btn-github:hover,.btn-github:focus,.btn-github:active,.btn-github.active,.open>.dropdown-toggle.btn-github{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-github:active,.btn-github.active,.open>.dropdown-toggle.btn-github{background-image:none}
|
||||||
|
.btn-github.disabled,.btn-github[disabled],fieldset[disabled] .btn-github,.btn-github.disabled:hover,.btn-github[disabled]:hover,fieldset[disabled] .btn-github:hover,.btn-github.disabled:focus,.btn-github[disabled]:focus,fieldset[disabled] .btn-github:focus,.btn-github.disabled:active,.btn-github[disabled]:active,fieldset[disabled] .btn-github:active,.btn-github.disabled.active,.btn-github[disabled].active,fieldset[disabled] .btn-github.active{background-color:#444;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-github .badge{color:#444;background-color:#fff}
|
||||||
|
.btn-google-plus{color:#fff;background-color:#dd4b39;border-color:rgba(0,0,0,0.2)}.btn-google-plus:hover,.btn-google-plus:focus,.btn-google-plus:active,.btn-google-plus.active,.open>.dropdown-toggle.btn-google-plus{color:#fff;background-color:#c23321;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-google-plus:active,.btn-google-plus.active,.open>.dropdown-toggle.btn-google-plus{background-image:none}
|
||||||
|
.btn-google-plus.disabled,.btn-google-plus[disabled],fieldset[disabled] .btn-google-plus,.btn-google-plus.disabled:hover,.btn-google-plus[disabled]:hover,fieldset[disabled] .btn-google-plus:hover,.btn-google-plus.disabled:focus,.btn-google-plus[disabled]:focus,fieldset[disabled] .btn-google-plus:focus,.btn-google-plus.disabled:active,.btn-google-plus[disabled]:active,fieldset[disabled] .btn-google-plus:active,.btn-google-plus.disabled.active,.btn-google-plus[disabled].active,fieldset[disabled] .btn-google-plus.active{background-color:#dd4b39;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-google-plus .badge{color:#dd4b39;background-color:#fff}
|
||||||
|
.btn-instagram{color:#fff;background-color:#3f729b;border-color:rgba(0,0,0,0.2)}.btn-instagram:hover,.btn-instagram:focus,.btn-instagram:active,.btn-instagram.active,.open>.dropdown-toggle.btn-instagram{color:#fff;background-color:#305777;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-instagram:active,.btn-instagram.active,.open>.dropdown-toggle.btn-instagram{background-image:none}
|
||||||
|
.btn-instagram.disabled,.btn-instagram[disabled],fieldset[disabled] .btn-instagram,.btn-instagram.disabled:hover,.btn-instagram[disabled]:hover,fieldset[disabled] .btn-instagram:hover,.btn-instagram.disabled:focus,.btn-instagram[disabled]:focus,fieldset[disabled] .btn-instagram:focus,.btn-instagram.disabled:active,.btn-instagram[disabled]:active,fieldset[disabled] .btn-instagram:active,.btn-instagram.disabled.active,.btn-instagram[disabled].active,fieldset[disabled] .btn-instagram.active{background-color:#3f729b;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-instagram .badge{color:#3f729b;background-color:#fff}
|
||||||
|
.btn-linkedin{color:#fff;background-color:#007bb6;border-color:rgba(0,0,0,0.2)}.btn-linkedin:hover,.btn-linkedin:focus,.btn-linkedin:active,.btn-linkedin.active,.open>.dropdown-toggle.btn-linkedin{color:#fff;background-color:#005983;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-linkedin:active,.btn-linkedin.active,.open>.dropdown-toggle.btn-linkedin{background-image:none}
|
||||||
|
.btn-linkedin.disabled,.btn-linkedin[disabled],fieldset[disabled] .btn-linkedin,.btn-linkedin.disabled:hover,.btn-linkedin[disabled]:hover,fieldset[disabled] .btn-linkedin:hover,.btn-linkedin.disabled:focus,.btn-linkedin[disabled]:focus,fieldset[disabled] .btn-linkedin:focus,.btn-linkedin.disabled:active,.btn-linkedin[disabled]:active,fieldset[disabled] .btn-linkedin:active,.btn-linkedin.disabled.active,.btn-linkedin[disabled].active,fieldset[disabled] .btn-linkedin.active{background-color:#007bb6;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-linkedin .badge{color:#007bb6;background-color:#fff}
|
||||||
|
.btn-microsoft{color:#fff;background-color:#2672ec;border-color:rgba(0,0,0,0.2)}.btn-microsoft:hover,.btn-microsoft:focus,.btn-microsoft:active,.btn-microsoft.active,.open>.dropdown-toggle.btn-microsoft{color:#fff;background-color:#125acd;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-microsoft:active,.btn-microsoft.active,.open>.dropdown-toggle.btn-microsoft{background-image:none}
|
||||||
|
.btn-microsoft.disabled,.btn-microsoft[disabled],fieldset[disabled] .btn-microsoft,.btn-microsoft.disabled:hover,.btn-microsoft[disabled]:hover,fieldset[disabled] .btn-microsoft:hover,.btn-microsoft.disabled:focus,.btn-microsoft[disabled]:focus,fieldset[disabled] .btn-microsoft:focus,.btn-microsoft.disabled:active,.btn-microsoft[disabled]:active,fieldset[disabled] .btn-microsoft:active,.btn-microsoft.disabled.active,.btn-microsoft[disabled].active,fieldset[disabled] .btn-microsoft.active{background-color:#2672ec;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-microsoft .badge{color:#2672ec;background-color:#fff}
|
||||||
|
.btn-openid{color:#fff;background-color:#f7931e;border-color:rgba(0,0,0,0.2)}.btn-openid:hover,.btn-openid:focus,.btn-openid:active,.btn-openid.active,.open>.dropdown-toggle.btn-openid{color:#fff;background-color:#da7908;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-openid:active,.btn-openid.active,.open>.dropdown-toggle.btn-openid{background-image:none}
|
||||||
|
.btn-openid.disabled,.btn-openid[disabled],fieldset[disabled] .btn-openid,.btn-openid.disabled:hover,.btn-openid[disabled]:hover,fieldset[disabled] .btn-openid:hover,.btn-openid.disabled:focus,.btn-openid[disabled]:focus,fieldset[disabled] .btn-openid:focus,.btn-openid.disabled:active,.btn-openid[disabled]:active,fieldset[disabled] .btn-openid:active,.btn-openid.disabled.active,.btn-openid[disabled].active,fieldset[disabled] .btn-openid.active{background-color:#f7931e;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-openid .badge{color:#f7931e;background-color:#fff}
|
||||||
|
.btn-pinterest{color:#fff;background-color:#cb2027;border-color:rgba(0,0,0,0.2)}.btn-pinterest:hover,.btn-pinterest:focus,.btn-pinterest:active,.btn-pinterest.active,.open>.dropdown-toggle.btn-pinterest{color:#fff;background-color:#9f191f;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-pinterest:active,.btn-pinterest.active,.open>.dropdown-toggle.btn-pinterest{background-image:none}
|
||||||
|
.btn-pinterest.disabled,.btn-pinterest[disabled],fieldset[disabled] .btn-pinterest,.btn-pinterest.disabled:hover,.btn-pinterest[disabled]:hover,fieldset[disabled] .btn-pinterest:hover,.btn-pinterest.disabled:focus,.btn-pinterest[disabled]:focus,fieldset[disabled] .btn-pinterest:focus,.btn-pinterest.disabled:active,.btn-pinterest[disabled]:active,fieldset[disabled] .btn-pinterest:active,.btn-pinterest.disabled.active,.btn-pinterest[disabled].active,fieldset[disabled] .btn-pinterest.active{background-color:#cb2027;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-pinterest .badge{color:#cb2027;background-color:#fff}
|
||||||
|
.btn-reddit{color:#000;background-color:#eff7ff;border-color:rgba(0,0,0,0.2)}.btn-reddit:hover,.btn-reddit:focus,.btn-reddit:active,.btn-reddit.active,.open>.dropdown-toggle.btn-reddit{color:#000;background-color:#bcddff;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-reddit:active,.btn-reddit.active,.open>.dropdown-toggle.btn-reddit{background-image:none}
|
||||||
|
.btn-reddit.disabled,.btn-reddit[disabled],fieldset[disabled] .btn-reddit,.btn-reddit.disabled:hover,.btn-reddit[disabled]:hover,fieldset[disabled] .btn-reddit:hover,.btn-reddit.disabled:focus,.btn-reddit[disabled]:focus,fieldset[disabled] .btn-reddit:focus,.btn-reddit.disabled:active,.btn-reddit[disabled]:active,fieldset[disabled] .btn-reddit:active,.btn-reddit.disabled.active,.btn-reddit[disabled].active,fieldset[disabled] .btn-reddit.active{background-color:#eff7ff;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-reddit .badge{color:#eff7ff;background-color:#000}
|
||||||
|
.btn-soundcloud{color:#fff;background-color:#f50;border-color:rgba(0,0,0,0.2)}.btn-soundcloud:hover,.btn-soundcloud:focus,.btn-soundcloud:active,.btn-soundcloud.active,.open>.dropdown-toggle.btn-soundcloud{color:#fff;background-color:#c40;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-soundcloud:active,.btn-soundcloud.active,.open>.dropdown-toggle.btn-soundcloud{background-image:none}
|
||||||
|
.btn-soundcloud.disabled,.btn-soundcloud[disabled],fieldset[disabled] .btn-soundcloud,.btn-soundcloud.disabled:hover,.btn-soundcloud[disabled]:hover,fieldset[disabled] .btn-soundcloud:hover,.btn-soundcloud.disabled:focus,.btn-soundcloud[disabled]:focus,fieldset[disabled] .btn-soundcloud:focus,.btn-soundcloud.disabled:active,.btn-soundcloud[disabled]:active,fieldset[disabled] .btn-soundcloud:active,.btn-soundcloud.disabled.active,.btn-soundcloud[disabled].active,fieldset[disabled] .btn-soundcloud.active{background-color:#f50;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-soundcloud .badge{color:#f50;background-color:#fff}
|
||||||
|
.btn-tumblr{color:#fff;background-color:#2c4762;border-color:rgba(0,0,0,0.2)}.btn-tumblr:hover,.btn-tumblr:focus,.btn-tumblr:active,.btn-tumblr.active,.open>.dropdown-toggle.btn-tumblr{color:#fff;background-color:#1c2d3f;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-tumblr:active,.btn-tumblr.active,.open>.dropdown-toggle.btn-tumblr{background-image:none}
|
||||||
|
.btn-tumblr.disabled,.btn-tumblr[disabled],fieldset[disabled] .btn-tumblr,.btn-tumblr.disabled:hover,.btn-tumblr[disabled]:hover,fieldset[disabled] .btn-tumblr:hover,.btn-tumblr.disabled:focus,.btn-tumblr[disabled]:focus,fieldset[disabled] .btn-tumblr:focus,.btn-tumblr.disabled:active,.btn-tumblr[disabled]:active,fieldset[disabled] .btn-tumblr:active,.btn-tumblr.disabled.active,.btn-tumblr[disabled].active,fieldset[disabled] .btn-tumblr.active{background-color:#2c4762;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-tumblr .badge{color:#2c4762;background-color:#fff}
|
||||||
|
.btn-twitter{color:#fff;background-color:#55acee;border-color:rgba(0,0,0,0.2)}.btn-twitter:hover,.btn-twitter:focus,.btn-twitter:active,.btn-twitter.active,.open>.dropdown-toggle.btn-twitter{color:#fff;background-color:#2795e9;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-twitter:active,.btn-twitter.active,.open>.dropdown-toggle.btn-twitter{background-image:none}
|
||||||
|
.btn-twitter.disabled,.btn-twitter[disabled],fieldset[disabled] .btn-twitter,.btn-twitter.disabled:hover,.btn-twitter[disabled]:hover,fieldset[disabled] .btn-twitter:hover,.btn-twitter.disabled:focus,.btn-twitter[disabled]:focus,fieldset[disabled] .btn-twitter:focus,.btn-twitter.disabled:active,.btn-twitter[disabled]:active,fieldset[disabled] .btn-twitter:active,.btn-twitter.disabled.active,.btn-twitter[disabled].active,fieldset[disabled] .btn-twitter.active{background-color:#55acee;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-twitter .badge{color:#55acee;background-color:#fff}
|
||||||
|
.btn-vimeo{color:#fff;background-color:#1ab7ea;border-color:rgba(0,0,0,0.2)}.btn-vimeo:hover,.btn-vimeo:focus,.btn-vimeo:active,.btn-vimeo.active,.open>.dropdown-toggle.btn-vimeo{color:#fff;background-color:#1295bf;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-vimeo:active,.btn-vimeo.active,.open>.dropdown-toggle.btn-vimeo{background-image:none}
|
||||||
|
.btn-vimeo.disabled,.btn-vimeo[disabled],fieldset[disabled] .btn-vimeo,.btn-vimeo.disabled:hover,.btn-vimeo[disabled]:hover,fieldset[disabled] .btn-vimeo:hover,.btn-vimeo.disabled:focus,.btn-vimeo[disabled]:focus,fieldset[disabled] .btn-vimeo:focus,.btn-vimeo.disabled:active,.btn-vimeo[disabled]:active,fieldset[disabled] .btn-vimeo:active,.btn-vimeo.disabled.active,.btn-vimeo[disabled].active,fieldset[disabled] .btn-vimeo.active{background-color:#1ab7ea;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-vimeo .badge{color:#1ab7ea;background-color:#fff}
|
||||||
|
.btn-vk{color:#fff;background-color:#587ea3;border-color:rgba(0,0,0,0.2)}.btn-vk:hover,.btn-vk:focus,.btn-vk:active,.btn-vk.active,.open>.dropdown-toggle.btn-vk{color:#fff;background-color:#466482;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-vk:active,.btn-vk.active,.open>.dropdown-toggle.btn-vk{background-image:none}
|
||||||
|
.btn-vk.disabled,.btn-vk[disabled],fieldset[disabled] .btn-vk,.btn-vk.disabled:hover,.btn-vk[disabled]:hover,fieldset[disabled] .btn-vk:hover,.btn-vk.disabled:focus,.btn-vk[disabled]:focus,fieldset[disabled] .btn-vk:focus,.btn-vk.disabled:active,.btn-vk[disabled]:active,fieldset[disabled] .btn-vk:active,.btn-vk.disabled.active,.btn-vk[disabled].active,fieldset[disabled] .btn-vk.active{background-color:#587ea3;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-vk .badge{color:#587ea3;background-color:#fff}
|
||||||
|
.btn-yahoo{color:#fff;background-color:#720e9e;border-color:rgba(0,0,0,0.2)}.btn-yahoo:hover,.btn-yahoo:focus,.btn-yahoo:active,.btn-yahoo.active,.open>.dropdown-toggle.btn-yahoo{color:#fff;background-color:#500a6f;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-yahoo:active,.btn-yahoo.active,.open>.dropdown-toggle.btn-yahoo{background-image:none}
|
||||||
|
.btn-yahoo.disabled,.btn-yahoo[disabled],fieldset[disabled] .btn-yahoo,.btn-yahoo.disabled:hover,.btn-yahoo[disabled]:hover,fieldset[disabled] .btn-yahoo:hover,.btn-yahoo.disabled:focus,.btn-yahoo[disabled]:focus,fieldset[disabled] .btn-yahoo:focus,.btn-yahoo.disabled:active,.btn-yahoo[disabled]:active,fieldset[disabled] .btn-yahoo:active,.btn-yahoo.disabled.active,.btn-yahoo[disabled].active,fieldset[disabled] .btn-yahoo.active{background-color:#720e9e;border-color:rgba(0,0,0,0.2)}
|
||||||
|
.btn-yahoo .badge{color:#720e9e;background-color:#fff}
|
114
helpdesk/static/helpdesk/vendor/bootstrap-social/bootstrap-social.less
vendored
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
/*
|
||||||
|
* Social Buttons for Bootstrap
|
||||||
|
*
|
||||||
|
* Copyright 2013-2014 Panayiotis Lipiridis
|
||||||
|
* Licensed under the MIT License
|
||||||
|
*
|
||||||
|
* https://github.com/lipis/bootstrap-social
|
||||||
|
*/
|
||||||
|
|
||||||
|
@bs-height-base: (@line-height-computed + @padding-base-vertical * 2);
|
||||||
|
@bs-height-lg: (floor(@font-size-large * @line-height-base) + @padding-large-vertical * 2);
|
||||||
|
@bs-height-sm: (floor(@font-size-small * 1.5) + @padding-small-vertical * 2);
|
||||||
|
@bs-height-xs: (floor(@font-size-small * 1.2) + @padding-small-vertical + 1);
|
||||||
|
|
||||||
|
.btn-social {
|
||||||
|
position: relative;
|
||||||
|
padding-left: (@bs-height-base + @padding-base-horizontal);
|
||||||
|
text-align: left;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
> :first-child {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: @bs-height-base;
|
||||||
|
line-height: (@bs-height-base + 2);
|
||||||
|
font-size: 1.6em;
|
||||||
|
text-align: center;
|
||||||
|
border-right: 1px solid rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
&.btn-lg {
|
||||||
|
padding-left: (@bs-height-lg + @padding-large-horizontal);
|
||||||
|
:first-child {
|
||||||
|
line-height: @bs-height-lg;
|
||||||
|
width: @bs-height-lg;
|
||||||
|
font-size: 1.8em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.btn-sm {
|
||||||
|
padding-left: (@bs-height-sm + @padding-small-horizontal);
|
||||||
|
:first-child {
|
||||||
|
line-height: @bs-height-sm;
|
||||||
|
width: @bs-height-sm;
|
||||||
|
font-size: 1.4em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.btn-xs {
|
||||||
|
padding-left: (@bs-height-xs + @padding-small-horizontal);
|
||||||
|
:first-child {
|
||||||
|
line-height: @bs-height-xs;
|
||||||
|
width: @bs-height-xs;
|
||||||
|
font-size: 1.2em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-social-icon {
|
||||||
|
.btn-social;
|
||||||
|
height: (@bs-height-base + 2);
|
||||||
|
width: (@bs-height-base + 2);
|
||||||
|
padding: 0;
|
||||||
|
:first-child {
|
||||||
|
border: none;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%!important;
|
||||||
|
}
|
||||||
|
&.btn-lg {
|
||||||
|
height: @bs-height-lg;
|
||||||
|
width: @bs-height-lg;
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
&.btn-sm {
|
||||||
|
height: (@bs-height-sm + 2);
|
||||||
|
width: (@bs-height-sm + 2);
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
&.btn-xs {
|
||||||
|
height: (@bs-height-xs + 2);
|
||||||
|
width: (@bs-height-xs + 2);
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-social(@color-bg, @color: #fff) {
|
||||||
|
background-color: @color-bg;
|
||||||
|
.button-variant(@color, @color-bg, rgba(0,0,0,.2));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.btn-adn { .btn-social(#d87a68); }
|
||||||
|
.btn-bitbucket { .btn-social(#205081); }
|
||||||
|
.btn-dropbox { .btn-social(#1087dd); }
|
||||||
|
.btn-facebook { .btn-social(#3b5998); }
|
||||||
|
.btn-flickr { .btn-social(#ff0084); }
|
||||||
|
.btn-foursquare { .btn-social(#f94877); }
|
||||||
|
.btn-github { .btn-social(#444444); }
|
||||||
|
.btn-google-plus { .btn-social(#dd4b39); }
|
||||||
|
.btn-instagram { .btn-social(#3f729b); }
|
||||||
|
.btn-linkedin { .btn-social(#007bb6); }
|
||||||
|
.btn-microsoft { .btn-social(#2672ec); }
|
||||||
|
.btn-openid { .btn-social(#f7931e); }
|
||||||
|
.btn-pinterest { .btn-social(#cb2027); }
|
||||||
|
.btn-reddit { .btn-social(#eff7ff, #000); }
|
||||||
|
.btn-soundcloud { .btn-social(#ff5500); }
|
||||||
|
.btn-tumblr { .btn-social(#2c4762); }
|
||||||
|
.btn-twitter { .btn-social(#55acee); }
|
||||||
|
.btn-vimeo { .btn-social(#1ab7ea); }
|
||||||
|
.btn-vk { .btn-social(#587ea3); }
|
||||||
|
.btn-yahoo { .btn-social(#720e9e); }
|
114
helpdesk/static/helpdesk/vendor/bootstrap-social/bootstrap-social.scss
vendored
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
/*
|
||||||
|
* Social Buttons for Bootstrap
|
||||||
|
*
|
||||||
|
* Copyright 2013-2014 Panayiotis Lipiridis
|
||||||
|
* Licensed under the MIT License
|
||||||
|
*
|
||||||
|
* https://github.com/lipis/bootstrap-social
|
||||||
|
*/
|
||||||
|
|
||||||
|
$bs-height-base: ($line-height-computed + $padding-base-vertical * 2);
|
||||||
|
$bs-height-lg: (floor($font-size-large * $line-height-base) + $padding-large-vertical * 2);
|
||||||
|
$bs-height-sm: (floor($font-size-small * 1.5) + $padding-small-vertical * 2);
|
||||||
|
$bs-height-xs: (floor($font-size-small * 1.2) + $padding-small-vertical + 1);
|
||||||
|
|
||||||
|
.btn-social {
|
||||||
|
position: relative;
|
||||||
|
padding-left: ($bs-height-base + $padding-base-horizontal);
|
||||||
|
text-align: left;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
> :first-child {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: $bs-height-base;
|
||||||
|
line-height: ($bs-height-base + 2);
|
||||||
|
font-size: 1.6em;
|
||||||
|
text-align: center;
|
||||||
|
border-right: 1px solid rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
&.btn-lg {
|
||||||
|
padding-left: ($bs-height-lg + $padding-large-horizontal);
|
||||||
|
:first-child {
|
||||||
|
line-height: $bs-height-lg;
|
||||||
|
width: $bs-height-lg;
|
||||||
|
font-size: 1.8em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.btn-sm {
|
||||||
|
padding-left: ($bs-height-sm + $padding-small-horizontal);
|
||||||
|
:first-child {
|
||||||
|
line-height: $bs-height-sm;
|
||||||
|
width: $bs-height-sm;
|
||||||
|
font-size: 1.4em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.btn-xs {
|
||||||
|
padding-left: ($bs-height-xs + $padding-small-horizontal);
|
||||||
|
:first-child {
|
||||||
|
line-height: $bs-height-xs;
|
||||||
|
width: $bs-height-xs;
|
||||||
|
font-size: 1.2em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-social-icon {
|
||||||
|
@extend .btn-social;
|
||||||
|
height: ($bs-height-base + 2);
|
||||||
|
width: ($bs-height-base + 2);
|
||||||
|
padding: 0;
|
||||||
|
:first-child {
|
||||||
|
border: none;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%!important;
|
||||||
|
}
|
||||||
|
&.btn-lg {
|
||||||
|
height: $bs-height-lg;
|
||||||
|
width: $bs-height-lg;
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
&.btn-sm {
|
||||||
|
height: ($bs-height-sm + 2);
|
||||||
|
width: ($bs-height-sm + 2);
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
&.btn-xs {
|
||||||
|
height: ($bs-height-xs + 2);
|
||||||
|
width: ($bs-height-xs + 2);
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin btn-social($color-bg, $color: #fff) {
|
||||||
|
background-color: $color-bg;
|
||||||
|
@include button-variant($color, $color-bg, rgba(0,0,0,.2));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.btn-adn { @include btn-social(#d87a68); }
|
||||||
|
.btn-bitbucket { @include btn-social(#205081); }
|
||||||
|
.btn-dropbox { @include btn-social(#1087dd); }
|
||||||
|
.btn-facebook { @include btn-social(#3b5998); }
|
||||||
|
.btn-flickr { @include btn-social(#ff0084); }
|
||||||
|
.btn-foursquare { @include btn-social(#f94877); }
|
||||||
|
.btn-github { @include btn-social(#444444); }
|
||||||
|
.btn-google-plus { @include btn-social(#dd4b39); }
|
||||||
|
.btn-instagram { @include btn-social(#3f729b); }
|
||||||
|
.btn-linkedin { @include btn-social(#007bb6); }
|
||||||
|
.btn-microsoft { @include btn-social(#2672ec); }
|
||||||
|
.btn-openid { @include btn-social(#f7931e); }
|
||||||
|
.btn-pinterest { @include btn-social(#cb2027); }
|
||||||
|
.btn-reddit { @include btn-social(#eff7ff, #000); }
|
||||||
|
.btn-soundcloud { @include btn-social(#ff5500); }
|
||||||
|
.btn-tumblr { @include btn-social(#2c4762); }
|
||||||
|
.btn-twitter { @include btn-social(#55acee); }
|
||||||
|
.btn-vimeo { @include btn-social(#1ab7ea); }
|
||||||
|
.btn-vk { @include btn-social(#587ea3); }
|
||||||
|
.btn-yahoo { @include btn-social(#720e9e); }
|
6757
helpdesk/static/helpdesk/vendor/bootstrap/css/bootstrap.css
vendored
Normal file
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 106 KiB |
2377
helpdesk/static/helpdesk/vendor/bootstrap/js/bootstrap.js
vendored
Normal file
314
helpdesk/static/helpdesk/vendor/datatables-plugins/dataTables.bootstrap.css
vendored
Normal file
@ -0,0 +1,314 @@
|
|||||||
|
div.dataTables_length label {
|
||||||
|
font-weight: normal;
|
||||||
|
text-align: left;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.dataTables_length select {
|
||||||
|
width: 75px;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.dataTables_filter {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.dataTables_filter label {
|
||||||
|
font-weight: normal;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.dataTables_filter input {
|
||||||
|
margin-left: 0.5em;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.dataTables_info {
|
||||||
|
padding-top: 8px;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.dataTables_paginate {
|
||||||
|
margin: 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.dataTables_paginate ul.pagination {
|
||||||
|
margin: 2px 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 767px) {
|
||||||
|
div.dataTables_length,
|
||||||
|
div.dataTables_filter,
|
||||||
|
div.dataTables_info,
|
||||||
|
div.dataTables_paginate {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
table.dataTable td,
|
||||||
|
table.dataTable th {
|
||||||
|
-webkit-box-sizing: content-box;
|
||||||
|
-moz-box-sizing: content-box;
|
||||||
|
box-sizing: content-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
table.dataTable {
|
||||||
|
clear: both;
|
||||||
|
margin-top: 6px !important;
|
||||||
|
margin-bottom: 6px !important;
|
||||||
|
max-width: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.dataTable thead .sorting { background: url('../images/sort_both.png') no-repeat center right; }
|
||||||
|
table.dataTable thead .sorting_asc { background: url('../images/sort_asc.png') no-repeat center right; }
|
||||||
|
table.dataTable thead .sorting_desc { background: url('../images/sort_desc.png') no-repeat center right; }
|
||||||
|
|
||||||
|
table.dataTable thead .sorting_asc_disabled { background: url('../images/sort_asc_disabled.png') no-repeat center right; }
|
||||||
|
table.dataTable thead .sorting_desc_disabled { background: url('../images/sort_desc_disabled.png') no-repeat center right; }
|
||||||
|
|
||||||
|
table.dataTable thead > tr > th {
|
||||||
|
padding-left: 18px;
|
||||||
|
padding-right: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.dataTable th:active {
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Scrolling */
|
||||||
|
div.dataTables_scrollHead table {
|
||||||
|
margin-bottom: 0 !important;
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.dataTables_scrollHead table thead tr:last-child th:first-child,
|
||||||
|
div.dataTables_scrollHead table thead tr:last-child td:first-child {
|
||||||
|
border-bottom-left-radius: 0 !important;
|
||||||
|
border-bottom-right-radius: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.dataTables_scrollBody table {
|
||||||
|
border-top: none;
|
||||||
|
margin-top: 0 !important;
|
||||||
|
margin-bottom: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.dataTables_scrollBody tbody tr:first-child th,
|
||||||
|
div.dataTables_scrollBody tbody tr:first-child td {
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.dataTables_scrollFoot table {
|
||||||
|
margin-top: 0 !important;
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Frustratingly the border-collapse:collapse used by Bootstrap makes the column
|
||||||
|
width calculations when using scrolling impossible to align columns. We have
|
||||||
|
to use separate
|
||||||
|
*/
|
||||||
|
table.table-bordered.dataTable {
|
||||||
|
border-collapse: separate !important;
|
||||||
|
}
|
||||||
|
table.table-bordered thead th,
|
||||||
|
table.table-bordered thead td {
|
||||||
|
border-left-width: 0;
|
||||||
|
border-top-width: 0;
|
||||||
|
}
|
||||||
|
table.table-bordered tbody th,
|
||||||
|
table.table-bordered tbody td {
|
||||||
|
border-left-width: 0;
|
||||||
|
border-bottom-width: 0;
|
||||||
|
}
|
||||||
|
table.table-bordered th:last-child,
|
||||||
|
table.table-bordered td:last-child {
|
||||||
|
border-right-width: 0;
|
||||||
|
}
|
||||||
|
div.dataTables_scrollHead table.table-bordered {
|
||||||
|
border-bottom-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* TableTools styles
|
||||||
|
*/
|
||||||
|
.table.dataTable tbody tr.active td,
|
||||||
|
.table.dataTable tbody tr.active th {
|
||||||
|
background-color: #08C;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table.dataTable tbody tr.active:hover td,
|
||||||
|
.table.dataTable tbody tr.active:hover th {
|
||||||
|
background-color: #0075b0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table.dataTable tbody tr.active th > a,
|
||||||
|
.table.dataTable tbody tr.active td > a {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-striped.dataTable tbody tr.active:nth-child(odd) td,
|
||||||
|
.table-striped.dataTable tbody tr.active:nth-child(odd) th {
|
||||||
|
background-color: #017ebc;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.DTTT_selectable tbody tr {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.DTTT .btn:hover {
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.DTTT_dropdown.dropdown-menu {
|
||||||
|
z-index: 2003;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.DTTT_dropdown.dropdown-menu a {
|
||||||
|
color: #333 !important; /* needed only when demo_page.css is included */
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.DTTT_dropdown.dropdown-menu li {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.DTTT_dropdown.dropdown-menu li:hover a {
|
||||||
|
background-color: #0088cc;
|
||||||
|
color: white !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.DTTT_collection_background {
|
||||||
|
z-index: 2002;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* TableTools information display */
|
||||||
|
div.DTTT_print_info {
|
||||||
|
position: fixed;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
width: 400px;
|
||||||
|
height: 150px;
|
||||||
|
margin-left: -200px;
|
||||||
|
margin-top: -75px;
|
||||||
|
text-align: center;
|
||||||
|
color: #333;
|
||||||
|
padding: 10px 30px;
|
||||||
|
opacity: 0.95;
|
||||||
|
|
||||||
|
background-color: white;
|
||||||
|
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||||
|
border-radius: 6px;
|
||||||
|
|
||||||
|
-webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
|
||||||
|
box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
div.DTTT_print_info h6 {
|
||||||
|
font-weight: normal;
|
||||||
|
font-size: 28px;
|
||||||
|
line-height: 28px;
|
||||||
|
margin: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.DTTT_print_info p {
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.dataTables_processing {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
width: 100%;
|
||||||
|
height: 60px;
|
||||||
|
margin-left: -50%;
|
||||||
|
margin-top: -25px;
|
||||||
|
padding-top: 20px;
|
||||||
|
padding-bottom: 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%);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FixedColumns styles
|
||||||
|
*/
|
||||||
|
div.DTFC_LeftHeadWrapper table,
|
||||||
|
div.DTFC_LeftFootWrapper table,
|
||||||
|
div.DTFC_RightHeadWrapper table,
|
||||||
|
div.DTFC_RightFootWrapper table,
|
||||||
|
table.DTFC_Cloned tr.even {
|
||||||
|
background-color: white;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.DTFC_RightHeadWrapper table ,
|
||||||
|
div.DTFC_LeftHeadWrapper table {
|
||||||
|
border-bottom: none !important;
|
||||||
|
margin-bottom: 0 !important;
|
||||||
|
border-top-right-radius: 0 !important;
|
||||||
|
border-bottom-left-radius: 0 !important;
|
||||||
|
border-bottom-right-radius: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.DTFC_RightHeadWrapper table thead tr:last-child th:first-child,
|
||||||
|
div.DTFC_RightHeadWrapper table thead tr:last-child td:first-child,
|
||||||
|
div.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child,
|
||||||
|
div.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child {
|
||||||
|
border-bottom-left-radius: 0 !important;
|
||||||
|
border-bottom-right-radius: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.DTFC_RightBodyWrapper table,
|
||||||
|
div.DTFC_LeftBodyWrapper table {
|
||||||
|
border-top: none;
|
||||||
|
margin: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.DTFC_RightBodyWrapper tbody tr:first-child th,
|
||||||
|
div.DTFC_RightBodyWrapper tbody tr:first-child td,
|
||||||
|
div.DTFC_LeftBodyWrapper tbody tr:first-child th,
|
||||||
|
div.DTFC_LeftBodyWrapper tbody tr:first-child td {
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.DTFC_RightFootWrapper table,
|
||||||
|
div.DTFC_LeftFootWrapper table {
|
||||||
|
border-top: none;
|
||||||
|
margin-top: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FixedHeader styles
|
||||||
|
*/
|
||||||
|
div.FixedHeader_Cloned table {
|
||||||
|
margin: 0 !important
|
||||||
|
}
|
||||||
|
|
186
helpdesk/static/helpdesk/vendor/datatables-plugins/dataTables.bootstrap.js
vendored
Normal file
@ -0,0 +1,186 @@
|
|||||||
|
/*! DataTables Bootstrap 3 integration
|
||||||
|
* ©2011-2014 SpryMedia Ltd - datatables.net/license
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DataTables integration for Bootstrap 3. This requires Bootstrap 3 and
|
||||||
|
* DataTables 1.10 or newer.
|
||||||
|
*
|
||||||
|
* This file sets the defaults and adds options to DataTables to style its
|
||||||
|
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
||||||
|
* for further information.
|
||||||
|
*/
|
||||||
|
(function(window, document, undefined){
|
||||||
|
|
||||||
|
var factory = function( $, DataTable ) {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
|
||||||
|
/* Set the defaults for DataTables initialisation */
|
||||||
|
$.extend( true, DataTable.defaults, {
|
||||||
|
dom:
|
||||||
|
"<'row'<'col-sm-6'l><'col-sm-6'f>>" +
|
||||||
|
"<'row'<'col-sm-12'tr>>" +
|
||||||
|
"<'row'<'col-sm-6'i><'col-sm-6'p>>",
|
||||||
|
renderer: 'bootstrap'
|
||||||
|
} );
|
||||||
|
|
||||||
|
|
||||||
|
/* Default class modification */
|
||||||
|
$.extend( DataTable.ext.classes, {
|
||||||
|
sWrapper: "dataTables_wrapper form-inline dt-bootstrap",
|
||||||
|
sFilterInput: "form-control input-sm",
|
||||||
|
sLengthSelect: "form-control input-sm"
|
||||||
|
} );
|
||||||
|
|
||||||
|
|
||||||
|
/* Bootstrap paging button renderer */
|
||||||
|
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) {
|
||||||
|
var api = new DataTable.Api( settings );
|
||||||
|
var classes = settings.oClasses;
|
||||||
|
var lang = settings.oLanguage.oPaginate;
|
||||||
|
var btnDisplay, btnClass;
|
||||||
|
|
||||||
|
var attach = function( container, buttons ) {
|
||||||
|
var i, ien, node, button;
|
||||||
|
var clickHandler = function ( e ) {
|
||||||
|
e.preventDefault();
|
||||||
|
if ( !$(e.currentTarget).hasClass('disabled') ) {
|
||||||
|
api.page( e.data.action ).draw( false );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
||||||
|
button = buttons[i];
|
||||||
|
|
||||||
|
if ( $.isArray( button ) ) {
|
||||||
|
attach( container, button );
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
btnDisplay = '';
|
||||||
|
btnClass = '';
|
||||||
|
|
||||||
|
switch ( button ) {
|
||||||
|
case 'ellipsis':
|
||||||
|
btnDisplay = '…';
|
||||||
|
btnClass = 'disabled';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'first':
|
||||||
|
btnDisplay = lang.sFirst;
|
||||||
|
btnClass = button + (page > 0 ?
|
||||||
|
'' : ' disabled');
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'previous':
|
||||||
|
btnDisplay = lang.sPrevious;
|
||||||
|
btnClass = button + (page > 0 ?
|
||||||
|
'' : ' disabled');
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'next':
|
||||||
|
btnDisplay = lang.sNext;
|
||||||
|
btnClass = button + (page < pages-1 ?
|
||||||
|
'' : ' disabled');
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'last':
|
||||||
|
btnDisplay = lang.sLast;
|
||||||
|
btnClass = button + (page < pages-1 ?
|
||||||
|
'' : ' disabled');
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
btnDisplay = button + 1;
|
||||||
|
btnClass = page === button ?
|
||||||
|
'active' : '';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( btnDisplay ) {
|
||||||
|
node = $('<li>', {
|
||||||
|
'class': classes.sPageButton+' '+btnClass,
|
||||||
|
'aria-controls': settings.sTableId,
|
||||||
|
'tabindex': settings.iTabIndex,
|
||||||
|
'id': idx === 0 && typeof button === 'string' ?
|
||||||
|
settings.sTableId +'_'+ button :
|
||||||
|
null
|
||||||
|
} )
|
||||||
|
.append( $('<a>', {
|
||||||
|
'href': '#'
|
||||||
|
} )
|
||||||
|
.html( btnDisplay )
|
||||||
|
)
|
||||||
|
.appendTo( container );
|
||||||
|
|
||||||
|
settings.oApi._fnBindAction(
|
||||||
|
node, {action: button}, clickHandler
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
attach(
|
||||||
|
$(host).empty().html('<ul class="pagination"/>').children('ul'),
|
||||||
|
buttons
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* TableTools Bootstrap compatibility
|
||||||
|
* Required TableTools 2.1+
|
||||||
|
*/
|
||||||
|
if ( DataTable.TableTools ) {
|
||||||
|
// Set the classes that TableTools uses to something suitable for Bootstrap
|
||||||
|
$.extend( true, DataTable.TableTools.classes, {
|
||||||
|
"container": "DTTT btn-group",
|
||||||
|
"buttons": {
|
||||||
|
"normal": "btn btn-default",
|
||||||
|
"disabled": "disabled"
|
||||||
|
},
|
||||||
|
"collection": {
|
||||||
|
"container": "DTTT_dropdown dropdown-menu",
|
||||||
|
"buttons": {
|
||||||
|
"normal": "",
|
||||||
|
"disabled": "disabled"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"print": {
|
||||||
|
"info": "DTTT_print_info"
|
||||||
|
},
|
||||||
|
"select": {
|
||||||
|
"row": "active"
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
|
||||||
|
// Have the collection use a bootstrap compatible drop down
|
||||||
|
$.extend( true, DataTable.TableTools.DEFAULTS.oTags, {
|
||||||
|
"collection": {
|
||||||
|
"container": "ul",
|
||||||
|
"button": "li",
|
||||||
|
"liner": "a"
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
|
||||||
|
}; // /factory
|
||||||
|
|
||||||
|
|
||||||
|
// Define as an AMD module if possible
|
||||||
|
if ( typeof define === 'function' && define.amd ) {
|
||||||
|
define( ['jquery', 'datatables'], factory );
|
||||||
|
}
|
||||||
|
else if ( typeof exports === 'object' ) {
|
||||||
|
// Node/CommonJS
|
||||||
|
factory( require('jquery'), require('datatables') );
|
||||||
|
}
|
||||||
|
else if ( jQuery ) {
|
||||||
|
// Otherwise simply initialise as normal, stopping multiple evaluation
|
||||||
|
factory( jQuery, jQuery.fn.dataTable );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
})(window, document);
|
||||||
|
|
8
helpdesk/static/helpdesk/vendor/datatables-plugins/dataTables.bootstrap.min.js
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
/*!
|
||||||
|
DataTables Bootstrap 3 integration
|
||||||
|
©2011-2014 SpryMedia Ltd - datatables.net/license
|
||||||
|
*/
|
||||||
|
(function(){var f=function(c,b){c.extend(!0,b.defaults,{dom:"<'row'<'col-sm-6'l><'col-sm-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-6'i><'col-sm-6'p>>",renderer:"bootstrap"});c.extend(b.ext.classes,{sWrapper:"dataTables_wrapper form-inline dt-bootstrap",sFilterInput:"form-control input-sm",sLengthSelect:"form-control input-sm"});b.ext.renderer.pageButton.bootstrap=function(g,f,p,k,h,l){var q=new b.Api(g),r=g.oClasses,i=g.oLanguage.oPaginate,d,e,o=function(b,f){var j,m,n,a,k=function(a){a.preventDefault();
|
||||||
|
c(a.currentTarget).hasClass("disabled")||q.page(a.data.action).draw(!1)};j=0;for(m=f.length;j<m;j++)if(a=f[j],c.isArray(a))o(b,a);else{e=d="";switch(a){case "ellipsis":d="…";e="disabled";break;case "first":d=i.sFirst;e=a+(0<h?"":" disabled");break;case "previous":d=i.sPrevious;e=a+(0<h?"":" disabled");break;case "next":d=i.sNext;e=a+(h<l-1?"":" disabled");break;case "last":d=i.sLast;e=a+(h<l-1?"":" disabled");break;default:d=a+1,e=h===a?"active":""}d&&(n=c("<li>",{"class":r.sPageButton+" "+
|
||||||
|
e,"aria-controls":g.sTableId,tabindex:g.iTabIndex,id:0===p&&"string"===typeof a?g.sTableId+"_"+a:null}).append(c("<a>",{href:"#"}).html(d)).appendTo(b),g.oApi._fnBindAction(n,{action:a},k))}};o(c(f).empty().html('<ul class="pagination"/>').children("ul"),k)};b.TableTools&&(c.extend(!0,b.TableTools.classes,{container:"DTTT btn-group",buttons:{normal:"btn btn-default",disabled:"disabled"},collection:{container:"DTTT_dropdown dropdown-menu",buttons:{normal:"",disabled:"disabled"}},print:{info:"DTTT_print_info"},
|
||||||
|
select:{row:"active"}}),c.extend(!0,b.TableTools.DEFAULTS.oTags,{collection:{container:"ul",button:"li",liner:"a"}}))};"function"===typeof define&&define.amd?define(["jquery","datatables"],f):"object"===typeof exports?f(require("jquery"),require("datatables")):jQuery&&f(jQuery,jQuery.fn.dataTable)})(window,document);
|
442
helpdesk/static/helpdesk/vendor/datatables-plugins/index.html
vendored
Normal file
@ -0,0 +1,442 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||||
|
|
||||||
|
<title>DataTables Bootstrap 3 example</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="dataTables.bootstrap.css">
|
||||||
|
|
||||||
|
<script type="text/javascript" language="javascript" src="//code.jquery.com/jquery-1.11.1.min.js"></script>
|
||||||
|
<script type="text/javascript" language="javascript" src="//cdn.datatables.net/1.10.3/js/jquery.dataTables.min.js"></script>
|
||||||
|
<script type="text/javascript" language="javascript" src="dataTables.bootstrap.js"></script>
|
||||||
|
<script type="text/javascript" charset="utf-8">
|
||||||
|
$(document).ready(function() {
|
||||||
|
$('#example').dataTable();
|
||||||
|
} );
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0" class="table table-striped table-bordered" id="example">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Rendering engine</th>
|
||||||
|
<th>Browser</th>
|
||||||
|
<th>Platform(s)</th>
|
||||||
|
<th>Engine version</th>
|
||||||
|
<th>CSS grade</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr class="odd gradeX">
|
||||||
|
<td>Trident</td>
|
||||||
|
<td>Internet
|
||||||
|
Explorer 4.0</td>
|
||||||
|
<td>Win 95+</td>
|
||||||
|
<td class="center"> 4</td>
|
||||||
|
<td class="center">X</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="even gradeC">
|
||||||
|
<td>Trident</td>
|
||||||
|
<td>Internet
|
||||||
|
Explorer 5.0</td>
|
||||||
|
<td>Win 95+</td>
|
||||||
|
<td class="center">5</td>
|
||||||
|
<td class="center">C</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="odd gradeA">
|
||||||
|
<td>Trident</td>
|
||||||
|
<td>Internet
|
||||||
|
Explorer 5.5</td>
|
||||||
|
<td>Win 95+</td>
|
||||||
|
<td class="center">5.5</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="even gradeA">
|
||||||
|
<td>Trident</td>
|
||||||
|
<td>Internet
|
||||||
|
Explorer 6</td>
|
||||||
|
<td>Win 98+</td>
|
||||||
|
<td class="center">6</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="odd gradeA">
|
||||||
|
<td>Trident</td>
|
||||||
|
<td>Internet Explorer 7</td>
|
||||||
|
<td>Win XP SP2+</td>
|
||||||
|
<td class="center">7</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="even gradeA">
|
||||||
|
<td>Trident</td>
|
||||||
|
<td>AOL browser (AOL desktop)</td>
|
||||||
|
<td>Win XP</td>
|
||||||
|
<td class="center">6</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Firefox 1.0</td>
|
||||||
|
<td>Win 98+ / OSX.2+</td>
|
||||||
|
<td class="center">1.7</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Firefox 1.5</td>
|
||||||
|
<td>Win 98+ / OSX.2+</td>
|
||||||
|
<td class="center">1.8</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Firefox 2.0</td>
|
||||||
|
<td>Win 98+ / OSX.2+</td>
|
||||||
|
<td class="center">1.8</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Firefox 3.0</td>
|
||||||
|
<td>Win 2k+ / OSX.3+</td>
|
||||||
|
<td class="center">1.9</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Camino 1.0</td>
|
||||||
|
<td>OSX.2+</td>
|
||||||
|
<td class="center">1.8</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Camino 1.5</td>
|
||||||
|
<td>OSX.3+</td>
|
||||||
|
<td class="center">1.8</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Netscape 7.2</td>
|
||||||
|
<td>Win 95+ / Mac OS 8.6-9.2</td>
|
||||||
|
<td class="center">1.7</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Netscape Browser 8</td>
|
||||||
|
<td>Win 98SE+</td>
|
||||||
|
<td class="center">1.7</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Netscape Navigator 9</td>
|
||||||
|
<td>Win 98+ / OSX.2+</td>
|
||||||
|
<td class="center">1.8</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Mozilla 1.0</td>
|
||||||
|
<td>Win 95+ / OSX.1+</td>
|
||||||
|
<td class="center">1</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Mozilla 1.1</td>
|
||||||
|
<td>Win 95+ / OSX.1+</td>
|
||||||
|
<td class="center">1.1</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Mozilla 1.2</td>
|
||||||
|
<td>Win 95+ / OSX.1+</td>
|
||||||
|
<td class="center">1.2</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Mozilla 1.3</td>
|
||||||
|
<td>Win 95+ / OSX.1+</td>
|
||||||
|
<td class="center">1.3</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Mozilla 1.4</td>
|
||||||
|
<td>Win 95+ / OSX.1+</td>
|
||||||
|
<td class="center">1.4</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Mozilla 1.5</td>
|
||||||
|
<td>Win 95+ / OSX.1+</td>
|
||||||
|
<td class="center">1.5</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Mozilla 1.6</td>
|
||||||
|
<td>Win 95+ / OSX.1+</td>
|
||||||
|
<td class="center">1.6</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Mozilla 1.7</td>
|
||||||
|
<td>Win 98+ / OSX.1+</td>
|
||||||
|
<td class="center">1.7</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Mozilla 1.8</td>
|
||||||
|
<td>Win 98+ / OSX.1+</td>
|
||||||
|
<td class="center">1.8</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Seamonkey 1.1</td>
|
||||||
|
<td>Win 98+ / OSX.2+</td>
|
||||||
|
<td class="center">1.8</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Gecko</td>
|
||||||
|
<td>Epiphany 2.20</td>
|
||||||
|
<td>Gnome</td>
|
||||||
|
<td class="center">1.8</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Webkit</td>
|
||||||
|
<td>Safari 1.2</td>
|
||||||
|
<td>OSX.3</td>
|
||||||
|
<td class="center">125.5</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Webkit</td>
|
||||||
|
<td>Safari 1.3</td>
|
||||||
|
<td>OSX.3</td>
|
||||||
|
<td class="center">312.8</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Webkit</td>
|
||||||
|
<td>Safari 2.0</td>
|
||||||
|
<td>OSX.4+</td>
|
||||||
|
<td class="center">419.3</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Webkit</td>
|
||||||
|
<td>Safari 3.0</td>
|
||||||
|
<td>OSX.4+</td>
|
||||||
|
<td class="center">522.1</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Webkit</td>
|
||||||
|
<td>OmniWeb 5.5</td>
|
||||||
|
<td>OSX.4+</td>
|
||||||
|
<td class="center">420</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Webkit</td>
|
||||||
|
<td>iPod Touch / iPhone</td>
|
||||||
|
<td>iPod</td>
|
||||||
|
<td class="center">420.1</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Webkit</td>
|
||||||
|
<td>S60</td>
|
||||||
|
<td>S60</td>
|
||||||
|
<td class="center">413</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Presto</td>
|
||||||
|
<td>Opera 7.0</td>
|
||||||
|
<td>Win 95+ / OSX.1+</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Presto</td>
|
||||||
|
<td>Opera 7.5</td>
|
||||||
|
<td>Win 95+ / OSX.2+</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Presto</td>
|
||||||
|
<td>Opera 8.0</td>
|
||||||
|
<td>Win 95+ / OSX.2+</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Presto</td>
|
||||||
|
<td>Opera 8.5</td>
|
||||||
|
<td>Win 95+ / OSX.2+</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Presto</td>
|
||||||
|
<td>Opera 9.0</td>
|
||||||
|
<td>Win 95+ / OSX.3+</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Presto</td>
|
||||||
|
<td>Opera 9.2</td>
|
||||||
|
<td>Win 88+ / OSX.3+</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Presto</td>
|
||||||
|
<td>Opera 9.5</td>
|
||||||
|
<td>Win 88+ / OSX.3+</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Presto</td>
|
||||||
|
<td>Opera for Wii</td>
|
||||||
|
<td>Wii</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Presto</td>
|
||||||
|
<td>Nokia N800</td>
|
||||||
|
<td>N800</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Presto</td>
|
||||||
|
<td>Nintendo DS browser</td>
|
||||||
|
<td>Nintendo DS</td>
|
||||||
|
<td class="center">8.5</td>
|
||||||
|
<td class="center">C/A<sup>1</sup></td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeC">
|
||||||
|
<td>KHTML</td>
|
||||||
|
<td>Konqureror 3.1</td>
|
||||||
|
<td>KDE 3.1</td>
|
||||||
|
<td class="center">3.1</td>
|
||||||
|
<td class="center">C</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>KHTML</td>
|
||||||
|
<td>Konqureror 3.3</td>
|
||||||
|
<td>KDE 3.3</td>
|
||||||
|
<td class="center">3.3</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>KHTML</td>
|
||||||
|
<td>Konqureror 3.5</td>
|
||||||
|
<td>KDE 3.5</td>
|
||||||
|
<td class="center">3.5</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeX">
|
||||||
|
<td>Tasman</td>
|
||||||
|
<td>Internet Explorer 4.5</td>
|
||||||
|
<td>Mac OS 8-9</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">X</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeC">
|
||||||
|
<td>Tasman</td>
|
||||||
|
<td>Internet Explorer 5.1</td>
|
||||||
|
<td>Mac OS 7.6-9</td>
|
||||||
|
<td class="center">1</td>
|
||||||
|
<td class="center">C</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeC">
|
||||||
|
<td>Tasman</td>
|
||||||
|
<td>Internet Explorer 5.2</td>
|
||||||
|
<td>Mac OS 8-X</td>
|
||||||
|
<td class="center">1</td>
|
||||||
|
<td class="center">C</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Misc</td>
|
||||||
|
<td>NetFront 3.1</td>
|
||||||
|
<td>Embedded devices</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">C</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeA">
|
||||||
|
<td>Misc</td>
|
||||||
|
<td>NetFront 3.4</td>
|
||||||
|
<td>Embedded devices</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">A</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeX">
|
||||||
|
<td>Misc</td>
|
||||||
|
<td>Dillo 0.8</td>
|
||||||
|
<td>Embedded devices</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">X</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeX">
|
||||||
|
<td>Misc</td>
|
||||||
|
<td>Links</td>
|
||||||
|
<td>Text only</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">X</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeX">
|
||||||
|
<td>Misc</td>
|
||||||
|
<td>Lynx</td>
|
||||||
|
<td>Text only</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">X</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeC">
|
||||||
|
<td>Misc</td>
|
||||||
|
<td>IE Mobile</td>
|
||||||
|
<td>Windows Mobile 6</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">C</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeC">
|
||||||
|
<td>Misc</td>
|
||||||
|
<td>PSP browser</td>
|
||||||
|
<td>PSP</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">C</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="gradeU">
|
||||||
|
<td>Other browsers</td>
|
||||||
|
<td>All others</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td class="center">-</td>
|
||||||
|
<td class="center">U</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
106
helpdesk/static/helpdesk/vendor/datatables-responsive/dataTables.responsive.css
vendored
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child,
|
||||||
|
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child {
|
||||||
|
position: relative;
|
||||||
|
padding-left: 30px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child:before,
|
||||||
|
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child:before {
|
||||||
|
top: 8px;
|
||||||
|
left: 4px;
|
||||||
|
height: 16px;
|
||||||
|
width: 16px;
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
color: white;
|
||||||
|
border: 2px solid white;
|
||||||
|
border-radius: 16px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 14px;
|
||||||
|
box-shadow: 0 0 3px #444;
|
||||||
|
box-sizing: content-box;
|
||||||
|
content: '+';
|
||||||
|
background-color: #31b131;
|
||||||
|
}
|
||||||
|
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child.dataTables_empty:before,
|
||||||
|
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child.dataTables_empty:before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child:before,
|
||||||
|
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child:before {
|
||||||
|
content: '-';
|
||||||
|
background-color: #d33333;
|
||||||
|
}
|
||||||
|
table.dataTable.dtr-inline.collapsed > tbody > tr.child td:before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child,
|
||||||
|
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child {
|
||||||
|
padding-left: 27px;
|
||||||
|
}
|
||||||
|
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child:before,
|
||||||
|
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child:before {
|
||||||
|
top: 5px;
|
||||||
|
left: 4px;
|
||||||
|
height: 14px;
|
||||||
|
width: 14px;
|
||||||
|
border-radius: 14px;
|
||||||
|
line-height: 12px;
|
||||||
|
}
|
||||||
|
table.dataTable.dtr-column > tbody > tr > td.control,
|
||||||
|
table.dataTable.dtr-column > tbody > tr > th.control {
|
||||||
|
position: relative;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
table.dataTable.dtr-column > tbody > tr > td.control:before,
|
||||||
|
table.dataTable.dtr-column > tbody > tr > th.control:before {
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
height: 16px;
|
||||||
|
width: 16px;
|
||||||
|
margin-top: -10px;
|
||||||
|
margin-left: -10px;
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
color: white;
|
||||||
|
border: 2px solid white;
|
||||||
|
border-radius: 16px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 14px;
|
||||||
|
box-shadow: 0 0 3px #444;
|
||||||
|
box-sizing: content-box;
|
||||||
|
content: '+';
|
||||||
|
background-color: #31b131;
|
||||||
|
}
|
||||||
|
table.dataTable.dtr-column > tbody > tr.parent td.control:before,
|
||||||
|
table.dataTable.dtr-column > tbody > tr.parent th.control:before {
|
||||||
|
content: '-';
|
||||||
|
background-color: #d33333;
|
||||||
|
}
|
||||||
|
table.dataTable > tbody > tr.child {
|
||||||
|
padding: 0.5em 1em;
|
||||||
|
}
|
||||||
|
table.dataTable > tbody > tr.child:hover {
|
||||||
|
background: transparent !important;
|
||||||
|
}
|
||||||
|
table.dataTable > tbody > tr.child ul {
|
||||||
|
display: inline-block;
|
||||||
|
list-style-type: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
table.dataTable > tbody > tr.child ul li {
|
||||||
|
border-bottom: 1px solid #efefef;
|
||||||
|
padding: 0.5em 0;
|
||||||
|
}
|
||||||
|
table.dataTable > tbody > tr.child ul li:first-child {
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
table.dataTable > tbody > tr.child ul li:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
table.dataTable > tbody > tr.child span.dtr-title {
|
||||||
|
display: inline-block;
|
||||||
|
min-width: 75px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
873
helpdesk/static/helpdesk/vendor/datatables-responsive/dataTables.responsive.js
vendored
Normal file
@ -0,0 +1,873 @@
|
|||||||
|
/*! Responsive 1.0.6
|
||||||
|
* 2014-2015 SpryMedia Ltd - datatables.net/license
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @summary Responsive
|
||||||
|
* @description Responsive tables plug-in for DataTables
|
||||||
|
* @version 1.0.6
|
||||||
|
* @file dataTables.responsive.js
|
||||||
|
* @author SpryMedia Ltd (www.sprymedia.co.uk)
|
||||||
|
* @contact www.sprymedia.co.uk/contact
|
||||||
|
* @copyright Copyright 2014-2015 SpryMedia Ltd.
|
||||||
|
*
|
||||||
|
* This source file is free software, available under the following license:
|
||||||
|
* MIT license - http://datatables.net/license/mit
|
||||||
|
*
|
||||||
|
* This source file is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
|
||||||
|
*
|
||||||
|
* For details please refer to: http://www.datatables.net
|
||||||
|
*/
|
||||||
|
|
||||||
|
(function(window, document, undefined) {
|
||||||
|
|
||||||
|
|
||||||
|
var factory = function( $, DataTable ) {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Responsive is a plug-in for the DataTables library that makes use of
|
||||||
|
* DataTables' ability to change the visibility of columns, changing the
|
||||||
|
* visibility of columns so the displayed columns fit into the table container.
|
||||||
|
* The end result is that complex tables will be dynamically adjusted to fit
|
||||||
|
* into the viewport, be it on a desktop, tablet or mobile browser.
|
||||||
|
*
|
||||||
|
* Responsive for DataTables has two modes of operation, which can used
|
||||||
|
* individually or combined:
|
||||||
|
*
|
||||||
|
* * Class name based control - columns assigned class names that match the
|
||||||
|
* breakpoint logic can be shown / hidden as required for each breakpoint.
|
||||||
|
* * Automatic control - columns are automatically hidden when there is no
|
||||||
|
* room left to display them. Columns removed from the right.
|
||||||
|
*
|
||||||
|
* In additional to column visibility control, Responsive also has built into
|
||||||
|
* options to use DataTables' child row display to show / hide the information
|
||||||
|
* from the table that has been hidden. There are also two modes of operation
|
||||||
|
* for this child row display:
|
||||||
|
*
|
||||||
|
* * Inline - when the control element that the user can use to show / hide
|
||||||
|
* child rows is displayed inside the first column of the table.
|
||||||
|
* * Column - where a whole column is dedicated to be the show / hide control.
|
||||||
|
*
|
||||||
|
* Initialisation of Responsive is performed by:
|
||||||
|
*
|
||||||
|
* * Adding the class `responsive` or `dt-responsive` to the table. In this case
|
||||||
|
* Responsive will automatically be initialised with the default configuration
|
||||||
|
* options when the DataTable is created.
|
||||||
|
* * Using the `responsive` option in the DataTables configuration options. This
|
||||||
|
* can also be used to specify the configuration options, or simply set to
|
||||||
|
* `true` to use the defaults.
|
||||||
|
*
|
||||||
|
* @class
|
||||||
|
* @param {object} settings DataTables settings object for the host table
|
||||||
|
* @param {object} [opts] Configuration options
|
||||||
|
* @requires jQuery 1.7+
|
||||||
|
* @requires DataTables 1.10.1+
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* $('#example').DataTable( {
|
||||||
|
* responsive: true
|
||||||
|
* } );
|
||||||
|
* } );
|
||||||
|
*/
|
||||||
|
var Responsive = function ( settings, opts ) {
|
||||||
|
// Sanity check that we are using DataTables 1.10 or newer
|
||||||
|
if ( ! DataTable.versionCheck || ! DataTable.versionCheck( '1.10.1' ) ) {
|
||||||
|
throw 'DataTables Responsive requires DataTables 1.10.1 or newer';
|
||||||
|
}
|
||||||
|
|
||||||
|
this.s = {
|
||||||
|
dt: new DataTable.Api( settings ),
|
||||||
|
columns: []
|
||||||
|
};
|
||||||
|
|
||||||
|
// Check if responsive has already been initialised on this table
|
||||||
|
if ( this.s.dt.settings()[0].responsive ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// details is an object, but for simplicity the user can give it as a string
|
||||||
|
if ( opts && typeof opts.details === 'string' ) {
|
||||||
|
opts.details = { type: opts.details };
|
||||||
|
}
|
||||||
|
|
||||||
|
this.c = $.extend( true, {}, Responsive.defaults, DataTable.defaults.responsive, opts );
|
||||||
|
settings.responsive = this;
|
||||||
|
this._constructor();
|
||||||
|
};
|
||||||
|
|
||||||
|
Responsive.prototype = {
|
||||||
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
|
* Constructor
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialise the Responsive instance
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
_constructor: function ()
|
||||||
|
{
|
||||||
|
var that = this;
|
||||||
|
var dt = this.s.dt;
|
||||||
|
|
||||||
|
dt.settings()[0]._responsive = this;
|
||||||
|
|
||||||
|
// Use DataTables' private throttle function to avoid processor thrashing
|
||||||
|
$(window).on( 'resize.dtr orientationchange.dtr', dt.settings()[0].oApi._fnThrottle( function () {
|
||||||
|
that._resize();
|
||||||
|
} ) );
|
||||||
|
|
||||||
|
// Destroy event handler
|
||||||
|
dt.on( 'destroy.dtr', function () {
|
||||||
|
$(window).off( 'resize.dtr orientationchange.dtr draw.dtr' );
|
||||||
|
} );
|
||||||
|
|
||||||
|
// Reorder the breakpoints array here in case they have been added out
|
||||||
|
// of order
|
||||||
|
this.c.breakpoints.sort( function (a, b) {
|
||||||
|
return a.width < b.width ? 1 :
|
||||||
|
a.width > b.width ? -1 : 0;
|
||||||
|
} );
|
||||||
|
|
||||||
|
// Determine which columns are already hidden, and should therefore
|
||||||
|
// remain hidden. todo - should this be done? See thread 22677
|
||||||
|
//
|
||||||
|
// this.s.alwaysHidden = dt.columns(':hidden').indexes();
|
||||||
|
|
||||||
|
this._classLogic();
|
||||||
|
this._resizeAuto();
|
||||||
|
|
||||||
|
// Details handler
|
||||||
|
var details = this.c.details;
|
||||||
|
if ( details.type ) {
|
||||||
|
that._detailsInit();
|
||||||
|
this._detailsVis();
|
||||||
|
|
||||||
|
dt.on( 'column-visibility.dtr', function () {
|
||||||
|
that._detailsVis();
|
||||||
|
} );
|
||||||
|
|
||||||
|
// Redraw the details box on each draw. This is used until
|
||||||
|
// DataTables implements a native `updated` event for rows
|
||||||
|
dt.on( 'draw.dtr', function () {
|
||||||
|
dt.rows( {page: 'current'} ).iterator( 'row', function ( settings, idx ) {
|
||||||
|
var row = dt.row( idx );
|
||||||
|
|
||||||
|
if ( row.child.isShown() ) {
|
||||||
|
var info = that.c.details.renderer( dt, idx );
|
||||||
|
row.child( info, 'child' ).show();
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
} );
|
||||||
|
|
||||||
|
$(dt.table().node()).addClass( 'dtr-'+details.type );
|
||||||
|
}
|
||||||
|
|
||||||
|
// First pass - draw the table for the current viewport size
|
||||||
|
this._resize();
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
|
* Private methods
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculate the visibility for the columns in a table for a given
|
||||||
|
* breakpoint. The result is pre-determined based on the class logic if
|
||||||
|
* class names are used to control all columns, but the width of the table
|
||||||
|
* is also used if there are columns which are to be automatically shown
|
||||||
|
* and hidden.
|
||||||
|
*
|
||||||
|
* @param {string} breakpoint Breakpoint name to use for the calculation
|
||||||
|
* @return {array} Array of boolean values initiating the visibility of each
|
||||||
|
* column.
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
_columnsVisiblity: function ( breakpoint )
|
||||||
|
{
|
||||||
|
var dt = this.s.dt;
|
||||||
|
var columns = this.s.columns;
|
||||||
|
var i, ien;
|
||||||
|
|
||||||
|
// Class logic - determine which columns are in this breakpoint based
|
||||||
|
// on the classes. If no class control (i.e. `auto`) then `-` is used
|
||||||
|
// to indicate this to the rest of the function
|
||||||
|
var display = $.map( columns, function ( col ) {
|
||||||
|
return col.auto && col.minWidth === null ?
|
||||||
|
false :
|
||||||
|
col.auto === true ?
|
||||||
|
'-' :
|
||||||
|
$.inArray( breakpoint, col.includeIn ) !== -1;
|
||||||
|
} );
|
||||||
|
|
||||||
|
// Auto column control - first pass: how much width is taken by the
|
||||||
|
// ones that must be included from the non-auto columns
|
||||||
|
var requiredWidth = 0;
|
||||||
|
for ( i=0, ien=display.length ; i<ien ; i++ ) {
|
||||||
|
if ( display[i] === true ) {
|
||||||
|
requiredWidth += columns[i].minWidth;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Second pass, use up any remaining width for other columns. For
|
||||||
|
// scrolling tables we need to subtract the width of the scrollbar. It
|
||||||
|
// may not be requires which makes this sub-optimal, but it would
|
||||||
|
// require another full redraw to make complete use of those extra few
|
||||||
|
// pixels
|
||||||
|
var scrolling = dt.settings()[0].oScroll;
|
||||||
|
var bar = scrolling.sY || scrolling.sX ? scrolling.iBarWidth : 0;
|
||||||
|
var widthAvailable = dt.table().container().offsetWidth - bar;
|
||||||
|
var usedWidth = widthAvailable - requiredWidth;
|
||||||
|
|
||||||
|
// Control column needs to always be included. This makes it sub-
|
||||||
|
// optimal in terms of using the available with, but to stop layout
|
||||||
|
// thrashing or overflow. Also we need to account for the control column
|
||||||
|
// width first so we know how much width is available for the other
|
||||||
|
// columns, since the control column might not be the first one shown
|
||||||
|
for ( i=0, ien=display.length ; i<ien ; i++ ) {
|
||||||
|
if ( columns[i].control ) {
|
||||||
|
usedWidth -= columns[i].minWidth;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Allow columns to be shown (counting from the left) until we run out
|
||||||
|
// of room
|
||||||
|
var empty = false;
|
||||||
|
for ( i=0, ien=display.length ; i<ien ; i++ ) {
|
||||||
|
if ( display[i] === '-' && ! columns[i].control ) {
|
||||||
|
// Once we've found a column that won't fit we don't let any
|
||||||
|
// others display either, or columns might disappear in the
|
||||||
|
// middle of the table
|
||||||
|
if ( empty || usedWidth - columns[i].minWidth < 0 ) {
|
||||||
|
empty = true;
|
||||||
|
display[i] = false;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
display[i] = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
usedWidth -= columns[i].minWidth;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Determine if the 'control' column should be shown (if there is one).
|
||||||
|
// This is the case when there is a hidden column (that is not the
|
||||||
|
// control column). The two loops look inefficient here, but they are
|
||||||
|
// trivial and will fly through. We need to know the outcome from the
|
||||||
|
// first , before the action in the second can be taken
|
||||||
|
var showControl = false;
|
||||||
|
|
||||||
|
for ( i=0, ien=columns.length ; i<ien ; i++ ) {
|
||||||
|
if ( ! columns[i].control && ! columns[i].never && ! display[i] ) {
|
||||||
|
showControl = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for ( i=0, ien=columns.length ; i<ien ; i++ ) {
|
||||||
|
if ( columns[i].control ) {
|
||||||
|
display[i] = showControl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Finally we need to make sure that there is at least one column that
|
||||||
|
// is visible
|
||||||
|
if ( $.inArray( true, display ) === -1 ) {
|
||||||
|
display[0] = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return display;
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create the internal `columns` array with information about the columns
|
||||||
|
* for the table. This includes determining which breakpoints the column
|
||||||
|
* will appear in, based upon class names in the column, which makes up the
|
||||||
|
* vast majority of this method.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
_classLogic: function ()
|
||||||
|
{
|
||||||
|
var that = this;
|
||||||
|
var calc = {};
|
||||||
|
var breakpoints = this.c.breakpoints;
|
||||||
|
var columns = this.s.dt.columns().eq(0).map( function (i) {
|
||||||
|
var className = this.column(i).header().className;
|
||||||
|
|
||||||
|
return {
|
||||||
|
className: className,
|
||||||
|
includeIn: [],
|
||||||
|
auto: false,
|
||||||
|
control: false,
|
||||||
|
never: className.match(/\bnever\b/) ? true : false
|
||||||
|
};
|
||||||
|
} );
|
||||||
|
|
||||||
|
// Simply add a breakpoint to `includeIn` array, ensuring that there are
|
||||||
|
// no duplicates
|
||||||
|
var add = function ( colIdx, name ) {
|
||||||
|
var includeIn = columns[ colIdx ].includeIn;
|
||||||
|
|
||||||
|
if ( $.inArray( name, includeIn ) === -1 ) {
|
||||||
|
includeIn.push( name );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var column = function ( colIdx, name, operator, matched ) {
|
||||||
|
var size, i, ien;
|
||||||
|
|
||||||
|
if ( ! operator ) {
|
||||||
|
columns[ colIdx ].includeIn.push( name );
|
||||||
|
}
|
||||||
|
else if ( operator === 'max-' ) {
|
||||||
|
// Add this breakpoint and all smaller
|
||||||
|
size = that._find( name ).width;
|
||||||
|
|
||||||
|
for ( i=0, ien=breakpoints.length ; i<ien ; i++ ) {
|
||||||
|
if ( breakpoints[i].width <= size ) {
|
||||||
|
add( colIdx, breakpoints[i].name );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if ( operator === 'min-' ) {
|
||||||
|
// Add this breakpoint and all larger
|
||||||
|
size = that._find( name ).width;
|
||||||
|
|
||||||
|
for ( i=0, ien=breakpoints.length ; i<ien ; i++ ) {
|
||||||
|
if ( breakpoints[i].width >= size ) {
|
||||||
|
add( colIdx, breakpoints[i].name );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if ( operator === 'not-' ) {
|
||||||
|
// Add all but this breakpoint (xxx need extra information)
|
||||||
|
|
||||||
|
for ( i=0, ien=breakpoints.length ; i<ien ; i++ ) {
|
||||||
|
if ( breakpoints[i].name.indexOf( matched ) === -1 ) {
|
||||||
|
add( colIdx, breakpoints[i].name );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Loop over each column and determine if it has a responsive control
|
||||||
|
// class
|
||||||
|
columns.each( function ( col, i ) {
|
||||||
|
var classNames = col.className.split(' ');
|
||||||
|
var hasClass = false;
|
||||||
|
|
||||||
|
// Split the class name up so multiple rules can be applied if needed
|
||||||
|
for ( var k=0, ken=classNames.length ; k<ken ; k++ ) {
|
||||||
|
var className = $.trim( classNames[k] );
|
||||||
|
|
||||||
|
if ( className === 'all' ) {
|
||||||
|
// Include in all
|
||||||
|
hasClass = true;
|
||||||
|
col.includeIn = $.map( breakpoints, function (a) {
|
||||||
|
return a.name;
|
||||||
|
} );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if ( className === 'none' || className === 'never' ) {
|
||||||
|
// Include in none (default) and no auto
|
||||||
|
hasClass = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if ( className === 'control' ) {
|
||||||
|
// Special column that is only visible, when one of the other
|
||||||
|
// columns is hidden. This is used for the details control
|
||||||
|
hasClass = true;
|
||||||
|
col.control = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$.each( breakpoints, function ( j, breakpoint ) {
|
||||||
|
// Does this column have a class that matches this breakpoint?
|
||||||
|
var brokenPoint = breakpoint.name.split('-');
|
||||||
|
var re = new RegExp( '(min\\-|max\\-|not\\-)?('+brokenPoint[0]+')(\\-[_a-zA-Z0-9])?' );
|
||||||
|
var match = className.match( re );
|
||||||
|
|
||||||
|
if ( match ) {
|
||||||
|
hasClass = true;
|
||||||
|
|
||||||
|
if ( match[2] === brokenPoint[0] && match[3] === '-'+brokenPoint[1] ) {
|
||||||
|
// Class name matches breakpoint name fully
|
||||||
|
column( i, breakpoint.name, match[1], match[2]+match[3] );
|
||||||
|
}
|
||||||
|
else if ( match[2] === brokenPoint[0] && ! match[3] ) {
|
||||||
|
// Class name matched primary breakpoint name with no qualifier
|
||||||
|
column( i, breakpoint.name, match[1], match[2] );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
|
||||||
|
// If there was no control class, then automatic sizing is used
|
||||||
|
if ( ! hasClass ) {
|
||||||
|
col.auto = true;
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
|
||||||
|
this.s.columns = columns;
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialisation for the details handler
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
_detailsInit: function ()
|
||||||
|
{
|
||||||
|
var that = this;
|
||||||
|
var dt = this.s.dt;
|
||||||
|
var details = this.c.details;
|
||||||
|
|
||||||
|
// The inline type always uses the first child as the target
|
||||||
|
if ( details.type === 'inline' ) {
|
||||||
|
details.target = 'td:first-child';
|
||||||
|
}
|
||||||
|
|
||||||
|
// type.target can be a string jQuery selector or a column index
|
||||||
|
var target = details.target;
|
||||||
|
var selector = typeof target === 'string' ? target : 'td';
|
||||||
|
|
||||||
|
// Click handler to show / hide the details rows when they are available
|
||||||
|
$( dt.table().body() ).on( 'click', selector, function (e) {
|
||||||
|
// If the table is not collapsed (i.e. there is no hidden columns)
|
||||||
|
// then take no action
|
||||||
|
if ( ! $(dt.table().node()).hasClass('collapsed' ) ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check that the row is actually a DataTable's controlled node
|
||||||
|
if ( ! dt.row( $(this).closest('tr') ).length ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// For column index, we determine if we should act or not in the
|
||||||
|
// handler - otherwise it is already okay
|
||||||
|
if ( typeof target === 'number' ) {
|
||||||
|
var targetIdx = target < 0 ?
|
||||||
|
dt.columns().eq(0).length + target :
|
||||||
|
target;
|
||||||
|
|
||||||
|
if ( dt.cell( this ).index().column !== targetIdx ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// $().closest() includes itself in its check
|
||||||
|
var row = dt.row( $(this).closest('tr') );
|
||||||
|
|
||||||
|
if ( row.child.isShown() ) {
|
||||||
|
row.child( false );
|
||||||
|
$( row.node() ).removeClass( 'parent' );
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var info = that.c.details.renderer( dt, row[0] );
|
||||||
|
row.child( info, 'child' ).show();
|
||||||
|
$( row.node() ).addClass( 'parent' );
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the child rows in the table whenever the column visibility changes
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
_detailsVis: function ()
|
||||||
|
{
|
||||||
|
var that = this;
|
||||||
|
var dt = this.s.dt;
|
||||||
|
|
||||||
|
// Find how many columns are hidden
|
||||||
|
var hiddenColumns = dt.columns().indexes().filter( function ( idx ) {
|
||||||
|
var col = dt.column( idx );
|
||||||
|
|
||||||
|
if ( col.visible() ) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Only counts as hidden if it doesn't have the `never` class
|
||||||
|
return $( col.header() ).hasClass( 'never' ) ? null : idx;
|
||||||
|
} );
|
||||||
|
var haveHidden = true;
|
||||||
|
|
||||||
|
if ( hiddenColumns.length === 0 || ( hiddenColumns.length === 1 && this.s.columns[ hiddenColumns[0] ].control ) ) {
|
||||||
|
haveHidden = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( haveHidden ) {
|
||||||
|
// Show all existing child rows
|
||||||
|
dt.rows( { page: 'current' } ).eq(0).each( function (idx) {
|
||||||
|
var row = dt.row( idx );
|
||||||
|
|
||||||
|
if ( row.child() ) {
|
||||||
|
var info = that.c.details.renderer( dt, row[0] );
|
||||||
|
|
||||||
|
// The renderer can return false to have no child row
|
||||||
|
if ( info === false ) {
|
||||||
|
row.child.hide();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
row.child( info, 'child' ).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Hide all existing child rows
|
||||||
|
dt.rows( { page: 'current' } ).eq(0).each( function (idx) {
|
||||||
|
dt.row( idx ).child.hide();
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find a breakpoint object from a name
|
||||||
|
* @param {string} name Breakpoint name to find
|
||||||
|
* @return {object} Breakpoint description object
|
||||||
|
*/
|
||||||
|
_find: function ( name )
|
||||||
|
{
|
||||||
|
var breakpoints = this.c.breakpoints;
|
||||||
|
|
||||||
|
for ( var i=0, ien=breakpoints.length ; i<ien ; i++ ) {
|
||||||
|
if ( breakpoints[i].name === name ) {
|
||||||
|
return breakpoints[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Alter the table display for a resized viewport. This involves first
|
||||||
|
* determining what breakpoint the window currently is in, getting the
|
||||||
|
* column visibilities to apply and then setting them.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
_resize: function ()
|
||||||
|
{
|
||||||
|
var dt = this.s.dt;
|
||||||
|
var width = $(window).width();
|
||||||
|
var breakpoints = this.c.breakpoints;
|
||||||
|
var breakpoint = breakpoints[0].name;
|
||||||
|
var columns = this.s.columns;
|
||||||
|
var i, ien;
|
||||||
|
|
||||||
|
// Determine what breakpoint we are currently at
|
||||||
|
for ( i=breakpoints.length-1 ; i>=0 ; i-- ) {
|
||||||
|
if ( width <= breakpoints[i].width ) {
|
||||||
|
breakpoint = breakpoints[i].name;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Show the columns for that break point
|
||||||
|
var columnsVis = this._columnsVisiblity( breakpoint );
|
||||||
|
|
||||||
|
// Set the class before the column visibility is changed so event
|
||||||
|
// listeners know what the state is. Need to determine if there are
|
||||||
|
// any columns that are not visible but can be shown
|
||||||
|
var collapsedClass = false;
|
||||||
|
for ( i=0, ien=columns.length ; i<ien ; i++ ) {
|
||||||
|
if ( columnsVis[i] === false && ! columns[i].never ) {
|
||||||
|
collapsedClass = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$( dt.table().node() ).toggleClass('collapsed', collapsedClass );
|
||||||
|
|
||||||
|
dt.columns().eq(0).each( function ( colIdx, i ) {
|
||||||
|
dt.column( colIdx ).visible( columnsVis[i] );
|
||||||
|
} );
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine the width of each column in the table so the auto column hiding
|
||||||
|
* has that information to work with. This method is never going to be 100%
|
||||||
|
* perfect since column widths can change slightly per page, but without
|
||||||
|
* seriously compromising performance this is quite effective.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
_resizeAuto: function ()
|
||||||
|
{
|
||||||
|
var dt = this.s.dt;
|
||||||
|
var columns = this.s.columns;
|
||||||
|
|
||||||
|
// Are we allowed to do auto sizing?
|
||||||
|
if ( ! this.c.auto ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Are there any columns that actually need auto-sizing, or do they all
|
||||||
|
// have classes defined
|
||||||
|
if ( $.inArray( true, $.map( columns, function (c) { return c.auto; } ) ) === -1 ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clone the table with the current data in it
|
||||||
|
var tableWidth = dt.table().node().offsetWidth;
|
||||||
|
var columnWidths = dt.columns;
|
||||||
|
var clonedTable = dt.table().node().cloneNode( false );
|
||||||
|
var clonedHeader = $( dt.table().header().cloneNode( false ) ).appendTo( clonedTable );
|
||||||
|
var clonedBody = $( dt.table().body().cloneNode( false ) ).appendTo( clonedTable );
|
||||||
|
|
||||||
|
$( dt.table().footer() ).clone( false ).appendTo( clonedTable );
|
||||||
|
|
||||||
|
// This is a bit slow, but we need to get a clone of each row that
|
||||||
|
// includes all columns. As such, try to do this as little as possible.
|
||||||
|
dt.rows( { page: 'current' } ).indexes().flatten().each( function ( idx ) {
|
||||||
|
var clone = dt.row( idx ).node().cloneNode( true );
|
||||||
|
|
||||||
|
if ( dt.columns( ':hidden' ).flatten().length ) {
|
||||||
|
$(clone).append( dt.cells( idx, ':hidden' ).nodes().to$().clone() );
|
||||||
|
}
|
||||||
|
|
||||||
|
$(clone).appendTo( clonedBody );
|
||||||
|
} );
|
||||||
|
|
||||||
|
var cells = dt.columns().header().to$().clone( false );
|
||||||
|
$('<tr/>')
|
||||||
|
.append( cells )
|
||||||
|
.appendTo( clonedHeader );
|
||||||
|
|
||||||
|
// In the inline case extra padding is applied to the first column to
|
||||||
|
// give space for the show / hide icon. We need to use this in the
|
||||||
|
// calculation
|
||||||
|
if ( this.c.details.type === 'inline' ) {
|
||||||
|
$(clonedTable).addClass( 'dtr-inline collapsed' );
|
||||||
|
}
|
||||||
|
|
||||||
|
var inserted = $('<div/>')
|
||||||
|
.css( {
|
||||||
|
width: 1,
|
||||||
|
height: 1,
|
||||||
|
overflow: 'hidden'
|
||||||
|
} )
|
||||||
|
.append( clonedTable );
|
||||||
|
|
||||||
|
// Remove columns which are not to be included
|
||||||
|
inserted.find('th.never, td.never').remove();
|
||||||
|
|
||||||
|
inserted.insertBefore( dt.table().node() );
|
||||||
|
|
||||||
|
// The cloned header now contains the smallest that each column can be
|
||||||
|
dt.columns().eq(0).each( function ( idx ) {
|
||||||
|
columns[idx].minWidth = cells[ idx ].offsetWidth || 0;
|
||||||
|
} );
|
||||||
|
|
||||||
|
inserted.remove();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List of default breakpoints. Each item in the array is an object with two
|
||||||
|
* properties:
|
||||||
|
*
|
||||||
|
* * `name` - the breakpoint name.
|
||||||
|
* * `width` - the breakpoint width
|
||||||
|
*
|
||||||
|
* @name Responsive.breakpoints
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
Responsive.breakpoints = [
|
||||||
|
{ name: 'desktop', width: Infinity },
|
||||||
|
{ name: 'tablet-l', width: 1024 },
|
||||||
|
{ name: 'tablet-p', width: 768 },
|
||||||
|
{ name: 'mobile-l', width: 480 },
|
||||||
|
{ name: 'mobile-p', width: 320 }
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Responsive default settings for initialisation
|
||||||
|
*
|
||||||
|
* @namespace
|
||||||
|
* @name Responsive.defaults
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
Responsive.defaults = {
|
||||||
|
/**
|
||||||
|
* List of breakpoints for the instance. Note that this means that each
|
||||||
|
* instance can have its own breakpoints. Additionally, the breakpoints
|
||||||
|
* cannot be changed once an instance has been creased.
|
||||||
|
*
|
||||||
|
* @type {Array}
|
||||||
|
* @default Takes the value of `Responsive.breakpoints`
|
||||||
|
*/
|
||||||
|
breakpoints: Responsive.breakpoints,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable / disable auto hiding calculations. It can help to increase
|
||||||
|
* performance slightly if you disable this option, but all columns would
|
||||||
|
* need to have breakpoint classes assigned to them
|
||||||
|
*
|
||||||
|
* @type {Boolean}
|
||||||
|
* @default `true`
|
||||||
|
*/
|
||||||
|
auto: true,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Details control. If given as a string value, the `type` property of the
|
||||||
|
* default object is set to that value, and the defaults used for the rest
|
||||||
|
* of the object - this is for ease of implementation.
|
||||||
|
*
|
||||||
|
* The object consists of the following properties:
|
||||||
|
*
|
||||||
|
* * `renderer` - function that is called for display of the child row data.
|
||||||
|
* The default function will show the data from the hidden columns
|
||||||
|
* * `target` - Used as the selector for what objects to attach the child
|
||||||
|
* open / close to
|
||||||
|
* * `type` - `false` to disable the details display, `inline` or `column`
|
||||||
|
* for the two control types
|
||||||
|
*
|
||||||
|
* @type {Object|string}
|
||||||
|
*/
|
||||||
|
details: {
|
||||||
|
renderer: function ( api, rowIdx ) {
|
||||||
|
var data = api.cells( rowIdx, ':hidden' ).eq(0).map( function ( cell ) {
|
||||||
|
var header = $( api.column( cell.column ).header() );
|
||||||
|
var idx = api.cell( cell ).index();
|
||||||
|
|
||||||
|
if ( header.hasClass( 'control' ) || header.hasClass( 'never' ) ) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Use a non-public DT API method to render the data for display
|
||||||
|
// This needs to be updated when DT adds a suitable method for
|
||||||
|
// this type of data retrieval
|
||||||
|
var dtPrivate = api.settings()[0];
|
||||||
|
var cellData = dtPrivate.oApi._fnGetCellData(
|
||||||
|
dtPrivate, idx.row, idx.column, 'display'
|
||||||
|
);
|
||||||
|
var title = header.text();
|
||||||
|
if ( title ) {
|
||||||
|
title = title + ':';
|
||||||
|
}
|
||||||
|
|
||||||
|
return '<li data-dtr-index="'+idx.column+'">'+
|
||||||
|
'<span class="dtr-title">'+
|
||||||
|
title+
|
||||||
|
'</span> '+
|
||||||
|
'<span class="dtr-data">'+
|
||||||
|
cellData+
|
||||||
|
'</span>'+
|
||||||
|
'</li>';
|
||||||
|
} ).toArray().join('');
|
||||||
|
|
||||||
|
return data ?
|
||||||
|
$('<ul data-dtr-index="'+rowIdx+'"/>').append( data ) :
|
||||||
|
false;
|
||||||
|
},
|
||||||
|
|
||||||
|
target: 0,
|
||||||
|
|
||||||
|
type: 'inline'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* API
|
||||||
|
*/
|
||||||
|
var Api = $.fn.dataTable.Api;
|
||||||
|
|
||||||
|
// Doesn't do anything - work around for a bug in DT... Not documented
|
||||||
|
Api.register( 'responsive()', function () {
|
||||||
|
return this;
|
||||||
|
} );
|
||||||
|
|
||||||
|
Api.register( 'responsive.index()', function ( li ) {
|
||||||
|
li = $(li);
|
||||||
|
|
||||||
|
return {
|
||||||
|
column: li.data('dtr-index'),
|
||||||
|
row: li.parent().data('dtr-index')
|
||||||
|
};
|
||||||
|
} );
|
||||||
|
|
||||||
|
Api.register( 'responsive.rebuild()', function () {
|
||||||
|
return this.iterator( 'table', function ( ctx ) {
|
||||||
|
if ( ctx._responsive ) {
|
||||||
|
ctx._responsive._classLogic();
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
} );
|
||||||
|
|
||||||
|
Api.register( 'responsive.recalc()', function () {
|
||||||
|
return this.iterator( 'table', function ( ctx ) {
|
||||||
|
if ( ctx._responsive ) {
|
||||||
|
ctx._responsive._resizeAuto();
|
||||||
|
ctx._responsive._resize();
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
} );
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Version information
|
||||||
|
*
|
||||||
|
* @name Responsive.version
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
Responsive.version = '1.0.6';
|
||||||
|
|
||||||
|
|
||||||
|
$.fn.dataTable.Responsive = Responsive;
|
||||||
|
$.fn.DataTable.Responsive = Responsive;
|
||||||
|
|
||||||
|
// Attach a listener to the document which listens for DataTables initialisation
|
||||||
|
// events so we can automatically initialise
|
||||||
|
$(document).on( 'init.dt.dtr', function (e, settings, json) {
|
||||||
|
if ( e.namespace !== 'dt' ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( $(settings.nTable).hasClass( 'responsive' ) ||
|
||||||
|
$(settings.nTable).hasClass( 'dt-responsive' ) ||
|
||||||
|
settings.oInit.responsive ||
|
||||||
|
DataTable.defaults.responsive
|
||||||
|
) {
|
||||||
|
var init = settings.oInit.responsive;
|
||||||
|
|
||||||
|
if ( init !== false ) {
|
||||||
|
new Responsive( settings, $.isPlainObject( init ) ? init : {} );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
|
||||||
|
return Responsive;
|
||||||
|
}; // /factory
|
||||||
|
|
||||||
|
|
||||||
|
// Define as an AMD module if possible
|
||||||
|
if ( typeof define === 'function' && define.amd ) {
|
||||||
|
define( ['jquery', 'datatables'], factory );
|
||||||
|
}
|
||||||
|
else if ( typeof exports === 'object' ) {
|
||||||
|
// Node/CommonJS
|
||||||
|
factory( require('jquery'), require('datatables') );
|
||||||
|
}
|
||||||
|
else if ( jQuery && !jQuery.fn.dataTable.Responsive ) {
|
||||||
|
// Otherwise simply initialise as normal, stopping multiple evaluation
|
||||||
|
factory( jQuery, jQuery.fn.dataTable );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
})(window, document);
|
149
helpdesk/static/helpdesk/vendor/datatables-responsive/dataTables.responsive.scss
vendored
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
|
||||||
|
//
|
||||||
|
// Mixins
|
||||||
|
//
|
||||||
|
@mixin control() {
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
color: white;
|
||||||
|
border: 2px solid white;
|
||||||
|
border-radius: 16px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 14px;
|
||||||
|
box-shadow: 0 0 3px #444;
|
||||||
|
box-sizing: content-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin control-open() {
|
||||||
|
content: '+';
|
||||||
|
background-color: #31b131;
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin control-close() {
|
||||||
|
content: '-';
|
||||||
|
background-color: #d33333;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Table styles
|
||||||
|
//
|
||||||
|
table.dataTable {
|
||||||
|
// Styling for the `inline` type
|
||||||
|
&.dtr-inline.collapsed > tbody {
|
||||||
|
> tr > td:first-child,
|
||||||
|
> tr > th:first-child {
|
||||||
|
position: relative;
|
||||||
|
padding-left: 30px;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
top: 8px;
|
||||||
|
left: 4px;
|
||||||
|
height: 16px;
|
||||||
|
width: 16px;
|
||||||
|
@include control;
|
||||||
|
@include control-open;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.dataTables_empty:before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
> tr.parent {
|
||||||
|
> td:first-child:before,
|
||||||
|
> th:first-child:before {
|
||||||
|
@include control-close;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
> tr.child td:before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// DataTables' `compact` styling
|
||||||
|
&.dtr-inline.collapsed.compact > tbody {
|
||||||
|
> tr > td:first-child,
|
||||||
|
> tr > th:first-child {
|
||||||
|
padding-left: 27px;
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
top: 5px;
|
||||||
|
left: 4px;
|
||||||
|
height: 14px;
|
||||||
|
width: 14px;
|
||||||
|
border-radius: 14px;
|
||||||
|
line-height: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Styling for the `column` type
|
||||||
|
&.dtr-column > tbody {
|
||||||
|
> tr > td.control,
|
||||||
|
> tr > th.control {
|
||||||
|
position: relative;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
height: 16px;
|
||||||
|
width: 16px;
|
||||||
|
margin-top: -10px;
|
||||||
|
margin-left: -10px;
|
||||||
|
@include control;
|
||||||
|
@include control-open;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
> tr.parent {
|
||||||
|
td.control:before,
|
||||||
|
th.control:before {
|
||||||
|
@include control-close;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Child row styling
|
||||||
|
> tbody > tr.child {
|
||||||
|
padding: 0.5em 1em;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: transparent !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
display: inline-block;
|
||||||
|
list-style-type: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
li {
|
||||||
|
border-bottom: 1px solid #efefef;
|
||||||
|
padding: 0.5em 0;
|
||||||
|
|
||||||
|
&:first-child {
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
span.dtr-title {
|
||||||
|
display: inline-block;
|
||||||
|
min-width: 75px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.dtr-data {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
185
helpdesk/static/helpdesk/vendor/datatables/css/dataTables.bootstrap.css
vendored
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
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;
|
||||||
|
-moz-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";
|
||||||
|
/* sort */
|
||||||
|
}
|
||||||
|
table.dataTable thead .sorting_asc:after {
|
||||||
|
content: "\e155";
|
||||||
|
/* sort-by-attributes */
|
||||||
|
}
|
||||||
|
table.dataTable thead .sorting_desc:after {
|
||||||
|
content: "\e156";
|
||||||
|
/* sort-by-attributes-alt */
|
||||||
|
}
|
||||||
|
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;
|
||||||
|
}
|
1
helpdesk/static/helpdesk/vendor/datatables/css/dataTables.bootstrap.min.css
vendored
Normal file
@ -0,0 +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;-moz-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}
|
193
helpdesk/static/helpdesk/vendor/datatables/css/dataTables.bootstrap4.css
vendored
Normal file
@ -0,0 +1,193 @@
|
|||||||
|
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: 0.85em;
|
||||||
|
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:before, table.dataTable thead .sorting:after,
|
||||||
|
table.dataTable thead .sorting_asc:before,
|
||||||
|
table.dataTable thead .sorting_asc:after,
|
||||||
|
table.dataTable thead .sorting_desc:before,
|
||||||
|
table.dataTable thead .sorting_desc:after,
|
||||||
|
table.dataTable thead .sorting_asc_disabled:before,
|
||||||
|
table.dataTable thead .sorting_asc_disabled:after,
|
||||||
|
table.dataTable thead .sorting_desc_disabled:before,
|
||||||
|
table.dataTable thead .sorting_desc_disabled:after {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0.9em;
|
||||||
|
display: block;
|
||||||
|
opacity: 0.3;
|
||||||
|
}
|
||||||
|
table.dataTable thead .sorting:before,
|
||||||
|
table.dataTable thead .sorting_asc:before,
|
||||||
|
table.dataTable thead .sorting_desc:before,
|
||||||
|
table.dataTable thead .sorting_asc_disabled:before,
|
||||||
|
table.dataTable thead .sorting_desc_disabled:before {
|
||||||
|
right: 1em;
|
||||||
|
content: "\2191";
|
||||||
|
}
|
||||||
|
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 {
|
||||||
|
right: 0.5em;
|
||||||
|
content: "\2193";
|
||||||
|
}
|
||||||
|
table.dataTable thead .sorting_asc:before,
|
||||||
|
table.dataTable thead .sorting_desc:after {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
table.dataTable thead .sorting_asc_disabled:before,
|
||||||
|
table.dataTable thead .sorting_desc_disabled:after {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
1
helpdesk/static/helpdesk/vendor/datatables/css/dataTables.bootstrap4.min.css
vendored
Normal file
@ -0,0 +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:0.85em;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:before,table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:0.9em;display:block;opacity:0.3}table.dataTable thead .sorting:before,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:before{right:1em;content:"\2191"}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{right:0.5em;content:"\2193"}table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:after{opacity:1}table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{opacity:0}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}
|
116
helpdesk/static/helpdesk/vendor/datatables/css/dataTables.foundation.css
vendored
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
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;
|
||||||
|
}
|
1
helpdesk/static/helpdesk/vendor/datatables/css/dataTables.foundation.min.css
vendored
Normal file
@ -0,0 +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}
|
481
helpdesk/static/helpdesk/vendor/datatables/css/dataTables.jqueryui.css
vendored
Normal file
@ -0,0 +1,481 @@
|
|||||||
|
/*
|
||||||
|
* Table styles
|
||||||
|
*/
|
||||||
|
table.dataTable {
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
clear: both;
|
||||||
|
border-collapse: separate;
|
||||||
|
border-spacing: 0;
|
||||||
|
/*
|
||||||
|
* Header and footer styles
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
* Body styles
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Control feature layout
|
||||||
|
*/
|
||||||
|
.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%, white), color-stop(100%, #dcdcdc));
|
||||||
|
/* Chrome,Safari4+ */
|
||||||
|
background: -webkit-linear-gradient(top, white 0%, #dcdcdc 100%);
|
||||||
|
/* Chrome10+,Safari5.1+ */
|
||||||
|
background: -moz-linear-gradient(top, white 0%, #dcdcdc 100%);
|
||||||
|
/* FF3.6+ */
|
||||||
|
background: -ms-linear-gradient(top, white 0%, #dcdcdc 100%);
|
||||||
|
/* IE10+ */
|
||||||
|
background: -o-linear-gradient(top, white 0%, #dcdcdc 100%);
|
||||||
|
/* Opera 11.10+ */
|
||||||
|
background: linear-gradient(to bottom, white 0%, #dcdcdc 100%);
|
||||||
|
/* W3C */
|
||||||
|
}
|
||||||
|
.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));
|
||||||
|
/* Chrome,Safari4+ */
|
||||||
|
background: -webkit-linear-gradient(top, #585858 0%, #111 100%);
|
||||||
|
/* Chrome10+,Safari5.1+ */
|
||||||
|
background: -moz-linear-gradient(top, #585858 0%, #111 100%);
|
||||||
|
/* FF3.6+ */
|
||||||
|
background: -ms-linear-gradient(top, #585858 0%, #111 100%);
|
||||||
|
/* IE10+ */
|
||||||
|
background: -o-linear-gradient(top, #585858 0%, #111 100%);
|
||||||
|
/* Opera 11.10+ */
|
||||||
|
background: linear-gradient(to bottom, #585858 0%, #111 100%);
|
||||||
|
/* W3C */
|
||||||
|
}
|
||||||
|
.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));
|
||||||
|
/* Chrome,Safari4+ */
|
||||||
|
background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
|
||||||
|
/* Chrome10+,Safari5.1+ */
|
||||||
|
background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
|
||||||
|
/* FF3.6+ */
|
||||||
|
background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
|
||||||
|
/* IE10+ */
|
||||||
|
background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
|
||||||
|
/* Opera 11.10+ */
|
||||||
|
background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);
|
||||||
|
/* W3C */
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Control feature layout
|
||||||
|
*/
|
||||||
|
.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;
|
||||||
|
}
|
1
helpdesk/static/helpdesk/vendor/datatables/css/dataTables.jqueryui.min.css
vendored
Normal file
87
helpdesk/static/helpdesk/vendor/datatables/css/dataTables.material.css
vendored
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
div.dataTables_wrapper div.dataTables_filter {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
div.dataTables_wrapper div.dataTables_filter input {
|
||||||
|
margin-left: 0.5em;
|
||||||
|
}
|
||||||
|
div.dataTables_wrapper div.dataTables_info {
|
||||||
|
padding-top: 10px;
|
||||||
|
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.dataTables_paginate {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
div.dataTables_wrapper div.mdl-grid.dt-table {
|
||||||
|
padding-top: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
div.dataTables_wrapper div.mdl-grid.dt-table > div.mdl-cell {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 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:before, table.dataTable thead .sorting:after,
|
||||||
|
table.dataTable thead .sorting_asc:before,
|
||||||
|
table.dataTable thead .sorting_asc:after,
|
||||||
|
table.dataTable thead .sorting_desc:before,
|
||||||
|
table.dataTable thead .sorting_desc:after,
|
||||||
|
table.dataTable thead .sorting_asc_disabled:before,
|
||||||
|
table.dataTable thead .sorting_asc_disabled:after,
|
||||||
|
table.dataTable thead .sorting_desc_disabled:before,
|
||||||
|
table.dataTable thead .sorting_desc_disabled:after {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 11px;
|
||||||
|
display: block;
|
||||||
|
opacity: 0.3;
|
||||||
|
font-size: 1.3em;
|
||||||
|
}
|
||||||
|
table.dataTable thead .sorting:before,
|
||||||
|
table.dataTable thead .sorting_asc:before,
|
||||||
|
table.dataTable thead .sorting_desc:before,
|
||||||
|
table.dataTable thead .sorting_asc_disabled:before,
|
||||||
|
table.dataTable thead .sorting_desc_disabled:before {
|
||||||
|
right: 1em;
|
||||||
|
content: "\2191";
|
||||||
|
}
|
||||||
|
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 {
|
||||||
|
right: 0.5em;
|
||||||
|
content: "\2193";
|
||||||
|
}
|
||||||
|
table.dataTable thead .sorting_asc:before,
|
||||||
|
table.dataTable thead .sorting_desc:after {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
table.dataTable thead .sorting_asc_disabled:before,
|
||||||
|
table.dataTable thead .sorting_desc_disabled:after {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
1
helpdesk/static/helpdesk/vendor/datatables/css/dataTables.material.min.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em}div.dataTables_wrapper div.dataTables_info{padding-top:10px;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.dataTables_paginate{text-align:right}div.dataTables_wrapper div.mdl-grid.dt-table{padding-top:0;padding-bottom:0}div.dataTables_wrapper div.mdl-grid.dt-table>div.mdl-cell{margin-top:0;margin-bottom: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:before,table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:11px;display:block;opacity:0.3;font-size:1.3em}table.dataTable thead .sorting:before,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:before{right:1em;content:"\2191"}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{right:0.5em;content:"\2193"}table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:after{opacity:1}table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{opacity:0}
|
103
helpdesk/static/helpdesk/vendor/datatables/css/dataTables.semanticui.css
vendored
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
/*
|
||||||
|
* Styling for DataTables with Semantic UI
|
||||||
|
*/
|
||||||
|
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;
|
||||||
|
-moz-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;
|
||||||
|
}
|
1
helpdesk/static/helpdesk/vendor/datatables/css/dataTables.semanticui.min.css
vendored
Normal file
@ -0,0 +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;-moz-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}
|
146
helpdesk/static/helpdesk/vendor/datatables/css/dataTables.uikit.css
vendored
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
table.dataTable {
|
||||||
|
clear: both;
|
||||||
|
margin-top: 6px !important;
|
||||||
|
margin-bottom: 6px !important;
|
||||||
|
max-width: none !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.row.uk-grid.dt-merge-grid {
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
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,
|
||||||
|
table.dataTable thead > tr > td {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
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.sorting:after, table.dataTable thead > tr > th.sorting_asc:after, table.dataTable thead > tr > th.sorting_desc:after,
|
||||||
|
table.dataTable thead > tr > td.sorting:after,
|
||||||
|
table.dataTable thead > tr > td.sorting_asc:after,
|
||||||
|
table.dataTable thead > tr > td.sorting_desc:after {
|
||||||
|
position: absolute;
|
||||||
|
top: 7px;
|
||||||
|
right: 8px;
|
||||||
|
display: block;
|
||||||
|
font-family: 'FontAwesome';
|
||||||
|
}
|
||||||
|
table.dataTable thead > tr > th.sorting:after,
|
||||||
|
table.dataTable thead > tr > td.sorting:after {
|
||||||
|
content: "\f0dc";
|
||||||
|
color: #ddd;
|
||||||
|
font-size: 0.8em;
|
||||||
|
padding-top: 0.12em;
|
||||||
|
}
|
||||||
|
table.dataTable thead > tr > th.sorting_asc:after,
|
||||||
|
table.dataTable thead > tr > td.sorting_asc:after {
|
||||||
|
content: "\f0de";
|
||||||
|
}
|
||||||
|
table.dataTable thead > tr > th.sorting_desc:after,
|
||||||
|
table.dataTable thead > tr > td.sorting_desc:after {
|
||||||
|
content: "\f0dd";
|
||||||
|
}
|
||||||
|
|
||||||
|
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.uk-table-condensed > thead > tr > th {
|
||||||
|
padding-right: 20px;
|
||||||
|
}
|
||||||
|
table.dataTable.uk-table-condensed .sorting:after,
|
||||||
|
table.dataTable.uk-table-condensed .sorting_asc:after,
|
||||||
|
table.dataTable.uk-table-condensed .sorting_desc:after {
|
||||||
|
top: 6px;
|
||||||
|
right: 6px;
|
||||||
|
}
|
1
helpdesk/static/helpdesk/vendor/datatables/css/dataTables.uikit.min.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !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.row.uk-grid.dt-merge-grid{margin-top:5px}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,table.dataTable thead>tr>td{position:relative}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.sorting:after,table.dataTable thead>tr>th.sorting_asc:after,table.dataTable thead>tr>th.sorting_desc:after,table.dataTable thead>tr>td.sorting:after,table.dataTable thead>tr>td.sorting_asc:after,table.dataTable thead>tr>td.sorting_desc:after{position:absolute;top:7px;right:8px;display:block;font-family:'FontAwesome'}table.dataTable thead>tr>th.sorting:after,table.dataTable thead>tr>td.sorting:after{content:"\f0dc";color:#ddd;font-size:0.8em;padding-top:0.12em}table.dataTable thead>tr>th.sorting_asc:after,table.dataTable thead>tr>td.sorting_asc:after{content:"\f0de"}table.dataTable thead>tr>th.sorting_desc:after,table.dataTable thead>tr>td.sorting_desc:after{content:"\f0dd"}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.uk-table-condensed>thead>tr>th{padding-right:20px}table.dataTable.uk-table-condensed .sorting:after,table.dataTable.uk-table-condensed .sorting_asc:after,table.dataTable.uk-table-condensed .sorting_desc:after{top:6px;right:6px}
|
452
helpdesk/static/helpdesk/vendor/datatables/css/jquery.dataTables.css
vendored
Normal file
@ -0,0 +1,452 @@
|
|||||||
|
/*
|
||||||
|
* Table styles
|
||||||
|
*/
|
||||||
|
table.dataTable {
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
clear: both;
|
||||||
|
border-collapse: separate;
|
||||||
|
border-spacing: 0;
|
||||||
|
/*
|
||||||
|
* Header and footer styles
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
* Body styles
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Control feature layout
|
||||||
|
*/
|
||||||
|
.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%, white), color-stop(100%, #dcdcdc));
|
||||||
|
/* Chrome,Safari4+ */
|
||||||
|
background: -webkit-linear-gradient(top, white 0%, #dcdcdc 100%);
|
||||||
|
/* Chrome10+,Safari5.1+ */
|
||||||
|
background: -moz-linear-gradient(top, white 0%, #dcdcdc 100%);
|
||||||
|
/* FF3.6+ */
|
||||||
|
background: -ms-linear-gradient(top, white 0%, #dcdcdc 100%);
|
||||||
|
/* IE10+ */
|
||||||
|
background: -o-linear-gradient(top, white 0%, #dcdcdc 100%);
|
||||||
|
/* Opera 11.10+ */
|
||||||
|
background: linear-gradient(to bottom, white 0%, #dcdcdc 100%);
|
||||||
|
/* W3C */
|
||||||
|
}
|
||||||
|
.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));
|
||||||
|
/* Chrome,Safari4+ */
|
||||||
|
background: -webkit-linear-gradient(top, #585858 0%, #111 100%);
|
||||||
|
/* Chrome10+,Safari5.1+ */
|
||||||
|
background: -moz-linear-gradient(top, #585858 0%, #111 100%);
|
||||||
|
/* FF3.6+ */
|
||||||
|
background: -ms-linear-gradient(top, #585858 0%, #111 100%);
|
||||||
|
/* IE10+ */
|
||||||
|
background: -o-linear-gradient(top, #585858 0%, #111 100%);
|
||||||
|
/* Opera 11.10+ */
|
||||||
|
background: linear-gradient(to bottom, #585858 0%, #111 100%);
|
||||||
|
/* W3C */
|
||||||
|
}
|
||||||
|
.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));
|
||||||
|
/* Chrome,Safari4+ */
|
||||||
|
background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
|
||||||
|
/* Chrome10+,Safari5.1+ */
|
||||||
|
background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
|
||||||
|
/* FF3.6+ */
|
||||||
|
background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
|
||||||
|
/* IE10+ */
|
||||||
|
background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
|
||||||
|
/* Opera 11.10+ */
|
||||||
|
background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);
|
||||||
|
/* W3C */
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
1
helpdesk/static/helpdesk/vendor/datatables/css/jquery.dataTables.min.css
vendored
Normal file
416
helpdesk/static/helpdesk/vendor/datatables/css/jquery.dataTables_themeroller.css
vendored
Normal file
@ -0,0 +1,416 @@
|
|||||||
|
/*
|
||||||
|
* Table styles
|
||||||
|
*/
|
||||||
|
table.dataTable {
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
clear: both;
|
||||||
|
border-collapse: separate;
|
||||||
|
border-spacing: 0;
|
||||||
|
/*
|
||||||
|
* Header and footer styles
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
* Body styles
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
table.dataTable thead th,
|
||||||
|
table.dataTable thead td,
|
||||||
|
table.dataTable tfoot th,
|
||||||
|
table.dataTable tfoot td {
|
||||||
|
padding: 4px 10px;
|
||||||
|
}
|
||||||
|
table.dataTable thead th,
|
||||||
|
table.dataTable tfoot th {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
table.dataTable thead th:active,
|
||||||
|
table.dataTable thead td:active {
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
table.dataTable thead .sorting_asc,
|
||||||
|
table.dataTable thead .sorting_desc,
|
||||||
|
table.dataTable thead .sorting {
|
||||||
|
cursor: pointer;
|
||||||
|
*cursor: hand;
|
||||||
|
}
|
||||||
|
table.dataTable thead th div.DataTables_sort_wrapper {
|
||||||
|
position: relative;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
table.dataTable thead th div.DataTables_sort_wrapper span {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
margin-top: -8px;
|
||||||
|
right: -5px;
|
||||||
|
}
|
||||||
|
table.dataTable thead th.ui-state-default {
|
||||||
|
border-right-width: 0;
|
||||||
|
}
|
||||||
|
table.dataTable thead th.ui-state-default:last-child {
|
||||||
|
border-right-width: 1px;
|
||||||
|
}
|
||||||
|
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 th.center,
|
||||||
|
table.dataTable td.center,
|
||||||
|
table.dataTable td.dataTables_empty {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
table.dataTable th.right,
|
||||||
|
table.dataTable td.right {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
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: #abb9d3;
|
||||||
|
}
|
||||||
|
table.dataTable.hover tbody tr:hover,
|
||||||
|
table.dataTable.hover tbody tr.odd:hover,
|
||||||
|
table.dataTable.hover tbody tr.even:hover, table.dataTable.display tbody tr:hover,
|
||||||
|
table.dataTable.display tbody tr.odd:hover,
|
||||||
|
table.dataTable.display tbody tr.even:hover {
|
||||||
|
background-color: whitesmoke;
|
||||||
|
}
|
||||||
|
table.dataTable.hover tbody tr:hover.selected,
|
||||||
|
table.dataTable.hover tbody tr.odd:hover.selected,
|
||||||
|
table.dataTable.hover tbody tr.even:hover.selected, table.dataTable.display tbody tr:hover.selected,
|
||||||
|
table.dataTable.display tbody tr.odd:hover.selected,
|
||||||
|
table.dataTable.display tbody tr.even:hover.selected {
|
||||||
|
background-color: #a9b7d1;
|
||||||
|
}
|
||||||
|
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: #f9f9f9;
|
||||||
|
}
|
||||||
|
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: #acbad4;
|
||||||
|
}
|
||||||
|
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: #a6b3cd;
|
||||||
|
}
|
||||||
|
table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 {
|
||||||
|
background-color: #a7b5ce;
|
||||||
|
}
|
||||||
|
table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 {
|
||||||
|
background-color: #a9b6d0;
|
||||||
|
}
|
||||||
|
table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
}
|
||||||
|
table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 {
|
||||||
|
background-color: #fbfbfb;
|
||||||
|
}
|
||||||
|
table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 {
|
||||||
|
background-color: #fdfdfd;
|
||||||
|
}
|
||||||
|
table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 {
|
||||||
|
background-color: #acbad4;
|
||||||
|
}
|
||||||
|
table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 {
|
||||||
|
background-color: #adbbd6;
|
||||||
|
}
|
||||||
|
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.display tbody tr.odd:hover > .sorting_1,
|
||||||
|
table.dataTable.display tbody tr.even:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1,
|
||||||
|
table.dataTable.order-column.hover tbody tr.odd:hover > .sorting_1,
|
||||||
|
table.dataTable.order-column.hover tbody tr.even:hover > .sorting_1 {
|
||||||
|
background-color: #eaeaea;
|
||||||
|
}
|
||||||
|
table.dataTable.display tbody tr:hover > .sorting_2,
|
||||||
|
table.dataTable.display tbody tr.odd:hover > .sorting_2,
|
||||||
|
table.dataTable.display tbody tr.even:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2,
|
||||||
|
table.dataTable.order-column.hover tbody tr.odd:hover > .sorting_2,
|
||||||
|
table.dataTable.order-column.hover tbody tr.even:hover > .sorting_2 {
|
||||||
|
background-color: #ebebeb;
|
||||||
|
}
|
||||||
|
table.dataTable.display tbody tr:hover > .sorting_3,
|
||||||
|
table.dataTable.display tbody tr.odd:hover > .sorting_3,
|
||||||
|
table.dataTable.display tbody tr.even:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3,
|
||||||
|
table.dataTable.order-column.hover tbody tr.odd:hover > .sorting_3,
|
||||||
|
table.dataTable.order-column.hover tbody tr.even:hover > .sorting_3 {
|
||||||
|
background-color: #eeeeee;
|
||||||
|
}
|
||||||
|
table.dataTable.display tbody tr:hover.selected > .sorting_1,
|
||||||
|
table.dataTable.display tbody tr.odd:hover.selected > .sorting_1,
|
||||||
|
table.dataTable.display tbody tr.even:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1,
|
||||||
|
table.dataTable.order-column.hover tbody tr.odd:hover.selected > .sorting_1,
|
||||||
|
table.dataTable.order-column.hover tbody tr.even:hover.selected > .sorting_1 {
|
||||||
|
background-color: #a1aec7;
|
||||||
|
}
|
||||||
|
table.dataTable.display tbody tr:hover.selected > .sorting_2,
|
||||||
|
table.dataTable.display tbody tr.odd:hover.selected > .sorting_2,
|
||||||
|
table.dataTable.display tbody tr.even:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2,
|
||||||
|
table.dataTable.order-column.hover tbody tr.odd:hover.selected > .sorting_2,
|
||||||
|
table.dataTable.order-column.hover tbody tr.even:hover.selected > .sorting_2 {
|
||||||
|
background-color: #a2afc8;
|
||||||
|
}
|
||||||
|
table.dataTable.display tbody tr:hover.selected > .sorting_3,
|
||||||
|
table.dataTable.display tbody tr.odd:hover.selected > .sorting_3,
|
||||||
|
table.dataTable.display tbody tr.even:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3,
|
||||||
|
table.dataTable.order-column.hover tbody tr.odd:hover.selected > .sorting_3,
|
||||||
|
table.dataTable.order-column.hover tbody tr.even:hover.selected > .sorting_3 {
|
||||||
|
background-color: #a4b2cb;
|
||||||
|
}
|
||||||
|
table.dataTable.nowrap th, table.dataTable.nowrap td {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
table.dataTable.compact thead th,
|
||||||
|
table.dataTable.compact thead td {
|
||||||
|
padding: 5px 9px;
|
||||||
|
}
|
||||||
|
table.dataTable.compact tfoot th,
|
||||||
|
table.dataTable.compact tfoot td {
|
||||||
|
padding: 5px 9px 3px 9px;
|
||||||
|
}
|
||||||
|
table.dataTable.compact tbody th,
|
||||||
|
table.dataTable.compact tbody td {
|
||||||
|
padding: 4px 5px;
|
||||||
|
}
|
||||||
|
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;
|
||||||
|
-moz-box-sizing: content-box;
|
||||||
|
box-sizing: content-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Control feature layout
|
||||||
|
*/
|
||||||
|
.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.55em;
|
||||||
|
}
|
||||||
|
.dataTables_wrapper .dataTables_paginate {
|
||||||
|
float: right;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
.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;
|
||||||
|
color: #333 !important;
|
||||||
|
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 .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)));
|
||||||
|
/* Chrome,Safari4+ */
|
||||||
|
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%);
|
||||||
|
/* Chrome10+,Safari5.1+ */
|
||||||
|
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%);
|
||||||
|
/* FF3.6+ */
|
||||||
|
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%);
|
||||||
|
/* IE10+ */
|
||||||
|
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%);
|
||||||
|
/* Opera 11.10+ */
|
||||||
|
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%);
|
||||||
|
/* W3C */
|
||||||
|
}
|
||||||
|
.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_scrollBody {
|
||||||
|
*margin-top: -1px;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
}
|
||||||
|
.dataTables_wrapper .ui-widget-header {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
.dataTables_wrapper .ui-toolbar {
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
.dataTables_wrapper:after {
|
||||||
|
visibility: hidden;
|
||||||
|
display: block;
|
||||||
|
content: "";
|
||||||
|
clear: both;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 767px) {
|
||||||
|
.dataTables_wrapper .dataTables_length,
|
||||||
|
.dataTables_wrapper .dataTables_filter,
|
||||||
|
.dataTables_wrapper .dataTables_info,
|
||||||
|
.dataTables_wrapper .dataTables_paginate {
|
||||||
|
float: none;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.dataTables_wrapper .dataTables_filter,
|
||||||
|
.dataTables_wrapper .dataTables_paginate {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
}
|
||||||
|
}
|
BIN
helpdesk/static/helpdesk/vendor/datatables/images/Sorting icons.psd
vendored
Normal file
BIN
helpdesk/static/helpdesk/vendor/datatables/images/favicon.ico
vendored
Normal file
After Width: | Height: | Size: 894 B |
BIN
helpdesk/static/helpdesk/vendor/datatables/images/sort_asc.png
vendored
Normal file
After Width: | Height: | Size: 160 B |
BIN
helpdesk/static/helpdesk/vendor/datatables/images/sort_asc_disabled.png
vendored
Normal file
After Width: | Height: | Size: 148 B |
BIN
helpdesk/static/helpdesk/vendor/datatables/images/sort_both.png
vendored
Normal file
After Width: | Height: | Size: 201 B |
BIN
helpdesk/static/helpdesk/vendor/datatables/images/sort_desc.png
vendored
Normal file
After Width: | Height: | Size: 158 B |
BIN
helpdesk/static/helpdesk/vendor/datatables/images/sort_desc_disabled.png
vendored
Normal file
After Width: | Height: | Size: 146 B |
182
helpdesk/static/helpdesk/vendor/datatables/js/dataTables.bootstrap.js
vendored
Normal file
@ -0,0 +1,182 @@
|
|||||||
|
/*! DataTables Bootstrap 3 integration
|
||||||
|
* ©2011-2015 SpryMedia Ltd - datatables.net/license
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DataTables integration for Bootstrap 3. This requires Bootstrap 3 and
|
||||||
|
* DataTables 1.10 or newer.
|
||||||
|
*
|
||||||
|
* This file sets the defaults and adds options to DataTables to style its
|
||||||
|
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
||||||
|
* for further information.
|
||||||
|
*/
|
||||||
|
(function( factory ){
|
||||||
|
if ( typeof define === 'function' && define.amd ) {
|
||||||
|
// AMD
|
||||||
|
define( ['jquery', 'datatables.net'], function ( $ ) {
|
||||||
|
return factory( $, window, document );
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
else if ( typeof exports === 'object' ) {
|
||||||
|
// CommonJS
|
||||||
|
module.exports = function (root, $) {
|
||||||
|
if ( ! root ) {
|
||||||
|
root = window;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ! $ || ! $.fn.dataTable ) {
|
||||||
|
// Require DataTables, which attaches to jQuery, including
|
||||||
|
// jQuery if needed and have a $ property so we can access the
|
||||||
|
// jQuery object that is used
|
||||||
|
$ = require('datatables.net')(root, $).$;
|
||||||
|
}
|
||||||
|
|
||||||
|
return factory( $, root, root.document );
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Browser
|
||||||
|
factory( jQuery, window, document );
|
||||||
|
}
|
||||||
|
}(function( $, window, document, undefined ) {
|
||||||
|
'use strict';
|
||||||
|
var DataTable = $.fn.dataTable;
|
||||||
|
|
||||||
|
|
||||||
|
/* Set the defaults for DataTables initialisation */
|
||||||
|
$.extend( true, DataTable.defaults, {
|
||||||
|
dom:
|
||||||
|
"<'row'<'col-sm-6'l><'col-sm-6'f>>" +
|
||||||
|
"<'row'<'col-sm-12'tr>>" +
|
||||||
|
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
|
||||||
|
renderer: 'bootstrap'
|
||||||
|
} );
|
||||||
|
|
||||||
|
|
||||||
|
/* Default class modification */
|
||||||
|
$.extend( DataTable.ext.classes, {
|
||||||
|
sWrapper: "dataTables_wrapper form-inline dt-bootstrap",
|
||||||
|
sFilterInput: "form-control input-sm",
|
||||||
|
sLengthSelect: "form-control input-sm",
|
||||||
|
sProcessing: "dataTables_processing panel panel-default"
|
||||||
|
} );
|
||||||
|
|
||||||
|
|
||||||
|
/* Bootstrap paging button renderer */
|
||||||
|
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) {
|
||||||
|
var api = new DataTable.Api( settings );
|
||||||
|
var classes = settings.oClasses;
|
||||||
|
var lang = settings.oLanguage.oPaginate;
|
||||||
|
var aria = settings.oLanguage.oAria.paginate || {};
|
||||||
|
var btnDisplay, btnClass, counter=0;
|
||||||
|
|
||||||
|
var attach = function( container, buttons ) {
|
||||||
|
var i, ien, node, button;
|
||||||
|
var clickHandler = function ( e ) {
|
||||||
|
e.preventDefault();
|
||||||
|
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) {
|
||||||
|
api.page( e.data.action ).draw( 'page' );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
||||||
|
button = buttons[i];
|
||||||
|
|
||||||
|
if ( $.isArray( button ) ) {
|
||||||
|
attach( container, button );
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
btnDisplay = '';
|
||||||
|
btnClass = '';
|
||||||
|
|
||||||
|
switch ( button ) {
|
||||||
|
case 'ellipsis':
|
||||||
|
btnDisplay = '…';
|
||||||
|
btnClass = 'disabled';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'first':
|
||||||
|
btnDisplay = lang.sFirst;
|
||||||
|
btnClass = button + (page > 0 ?
|
||||||
|
'' : ' disabled');
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'previous':
|
||||||
|
btnDisplay = lang.sPrevious;
|
||||||
|
btnClass = button + (page > 0 ?
|
||||||
|
'' : ' disabled');
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'next':
|
||||||
|
btnDisplay = lang.sNext;
|
||||||
|
btnClass = button + (page < pages-1 ?
|
||||||
|
'' : ' disabled');
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'last':
|
||||||
|
btnDisplay = lang.sLast;
|
||||||
|
btnClass = button + (page < pages-1 ?
|
||||||
|
'' : ' disabled');
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
btnDisplay = button + 1;
|
||||||
|
btnClass = page === button ?
|
||||||
|
'active' : '';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( btnDisplay ) {
|
||||||
|
node = $('<li>', {
|
||||||
|
'class': classes.sPageButton+' '+btnClass,
|
||||||
|
'id': idx === 0 && typeof button === 'string' ?
|
||||||
|
settings.sTableId +'_'+ button :
|
||||||
|
null
|
||||||
|
} )
|
||||||
|
.append( $('<a>', {
|
||||||
|
'href': '#',
|
||||||
|
'aria-controls': settings.sTableId,
|
||||||
|
'aria-label': aria[ button ],
|
||||||
|
'data-dt-idx': counter,
|
||||||
|
'tabindex': settings.iTabIndex
|
||||||
|
} )
|
||||||
|
.html( btnDisplay )
|
||||||
|
)
|
||||||
|
.appendTo( container );
|
||||||
|
|
||||||
|
settings.oApi._fnBindAction(
|
||||||
|
node, {action: button}, clickHandler
|
||||||
|
);
|
||||||
|
|
||||||
|
counter++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// IE9 throws an 'unknown error' if document.activeElement is used
|
||||||
|
// inside an iframe or frame.
|
||||||
|
var activeEl;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Because this approach is destroying and recreating the paging
|
||||||
|
// elements, focus is lost on the select button which is bad for
|
||||||
|
// accessibility. So we want to restore focus once the draw has
|
||||||
|
// completed
|
||||||
|
activeEl = $(host).find(document.activeElement).data('dt-idx');
|
||||||
|
}
|
||||||
|
catch (e) {}
|
||||||
|
|
||||||
|
attach(
|
||||||
|
$(host).empty().html('<ul class="pagination"/>').children('ul'),
|
||||||
|
buttons
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( activeEl ) {
|
||||||
|
$(host).find( '[data-dt-idx='+activeEl+']' ).focus();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
return DataTable;
|
||||||
|
}));
|
8
helpdesk/static/helpdesk/vendor/datatables/js/dataTables.bootstrap.min.js
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
/*!
|
||||||
|
DataTables Bootstrap 3 integration
|
||||||
|
©2011-2015 SpryMedia Ltd - datatables.net/license
|
||||||
|
*/
|
||||||
|
(function(b){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(a){return b(a,window,document)}):"object"===typeof exports?module.exports=function(a,d){a||(a=window);if(!d||!d.fn.dataTable)d=require("datatables.net")(a,d).$;return b(d,a,a.document)}:b(jQuery,window,document)})(function(b,a,d){var f=b.fn.dataTable;b.extend(!0,f.defaults,{dom:"<'row'<'col-sm-6'l><'col-sm-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-5'i><'col-sm-7'p>>",renderer:"bootstrap"});b.extend(f.ext.classes,
|
||||||
|
{sWrapper:"dataTables_wrapper form-inline dt-bootstrap",sFilterInput:"form-control input-sm",sLengthSelect:"form-control input-sm",sProcessing:"dataTables_processing panel panel-default"});f.ext.renderer.pageButton.bootstrap=function(a,h,r,m,j,n){var o=new f.Api(a),s=a.oClasses,k=a.oLanguage.oPaginate,t=a.oLanguage.oAria.paginate||{},e,g,p=0,q=function(d,f){var l,h,i,c,m=function(a){a.preventDefault();!b(a.currentTarget).hasClass("disabled")&&o.page()!=a.data.action&&o.page(a.data.action).draw("page")};
|
||||||
|
l=0;for(h=f.length;l<h;l++)if(c=f[l],b.isArray(c))q(d,c);else{g=e="";switch(c){case "ellipsis":e="…";g="disabled";break;case "first":e=k.sFirst;g=c+(0<j?"":" disabled");break;case "previous":e=k.sPrevious;g=c+(0<j?"":" disabled");break;case "next":e=k.sNext;g=c+(j<n-1?"":" disabled");break;case "last":e=k.sLast;g=c+(j<n-1?"":" disabled");break;default:e=c+1,g=j===c?"active":""}e&&(i=b("<li>",{"class":s.sPageButton+" "+g,id:0===r&&"string"===typeof c?a.sTableId+"_"+c:null}).append(b("<a>",{href:"#",
|
||||||
|
"aria-controls":a.sTableId,"aria-label":t[c],"data-dt-idx":p,tabindex:a.iTabIndex}).html(e)).appendTo(d),a.oApi._fnBindAction(i,{action:c},m),p++)}},i;try{i=b(h).find(d.activeElement).data("dt-idx")}catch(u){}q(b(h).empty().html('<ul class="pagination"/>').children("ul"),m);i&&b(h).find("[data-dt-idx="+i+"]").focus()};return f});
|
184
helpdesk/static/helpdesk/vendor/datatables/js/dataTables.bootstrap4.js
vendored
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
/*! DataTables Bootstrap 3 integration
|
||||||
|
* ©2011-2015 SpryMedia Ltd - datatables.net/license
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DataTables integration for Bootstrap 3. This requires Bootstrap 3 and
|
||||||
|
* DataTables 1.10 or newer.
|
||||||
|
*
|
||||||
|
* This file sets the defaults and adds options to DataTables to style its
|
||||||
|
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
||||||
|
* for further information.
|
||||||
|
*/
|
||||||
|
(function( factory ){
|
||||||
|
if ( typeof define === 'function' && define.amd ) {
|
||||||
|
// AMD
|
||||||
|
define( ['jquery', 'datatables.net'], function ( $ ) {
|
||||||
|
return factory( $, window, document );
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
else if ( typeof exports === 'object' ) {
|
||||||
|
// CommonJS
|
||||||
|
module.exports = function (root, $) {
|
||||||
|
if ( ! root ) {
|
||||||
|
root = window;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ! $ || ! $.fn.dataTable ) {
|
||||||
|
// Require DataTables, which attaches to jQuery, including
|
||||||
|
// jQuery if needed and have a $ property so we can access the
|
||||||
|
// jQuery object that is used
|
||||||
|
$ = require('datatables.net')(root, $).$;
|
||||||
|
}
|
||||||
|
|
||||||
|
return factory( $, root, root.document );
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Browser
|
||||||
|
factory( jQuery, window, document );
|
||||||
|
}
|
||||||
|
}(function( $, window, document, undefined ) {
|
||||||
|
'use strict';
|
||||||
|
var DataTable = $.fn.dataTable;
|
||||||
|
|
||||||
|
|
||||||
|
/* Set the defaults for DataTables initialisation */
|
||||||
|
$.extend( true, DataTable.defaults, {
|
||||||
|
dom:
|
||||||
|
"<'row'<'col-md-6'l><'col-md-6'f>>" +
|
||||||
|
"<'row'<'col-md-12'tr>>" +
|
||||||
|
"<'row'<'col-md-5'i><'col-md-7'p>>",
|
||||||
|
renderer: 'bootstrap'
|
||||||
|
} );
|
||||||
|
|
||||||
|
|
||||||
|
/* Default class modification */
|
||||||
|
$.extend( DataTable.ext.classes, {
|
||||||
|
sWrapper: "dataTables_wrapper form-inline dt-bootstrap4",
|
||||||
|
sFilterInput: "form-control input-sm",
|
||||||
|
sLengthSelect: "form-control input-sm",
|
||||||
|
sProcessing: "dataTables_processing panel panel-default",
|
||||||
|
sPageButton: "paginate_button page-item"
|
||||||
|
} );
|
||||||
|
|
||||||
|
|
||||||
|
/* Bootstrap paging button renderer */
|
||||||
|
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) {
|
||||||
|
var api = new DataTable.Api( settings );
|
||||||
|
var classes = settings.oClasses;
|
||||||
|
var lang = settings.oLanguage.oPaginate;
|
||||||
|
var aria = settings.oLanguage.oAria.paginate || {};
|
||||||
|
var btnDisplay, btnClass, counter=0;
|
||||||
|
|
||||||
|
var attach = function( container, buttons ) {
|
||||||
|
var i, ien, node, button;
|
||||||
|
var clickHandler = function ( e ) {
|
||||||
|
e.preventDefault();
|
||||||
|
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) {
|
||||||
|
api.page( e.data.action ).draw( 'page' );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
||||||
|
button = buttons[i];
|
||||||
|
|
||||||
|
if ( $.isArray( button ) ) {
|
||||||
|
attach( container, button );
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
btnDisplay = '';
|
||||||
|
btnClass = '';
|
||||||
|
|
||||||
|
switch ( button ) {
|
||||||
|
case 'ellipsis':
|
||||||
|
btnDisplay = '…';
|
||||||
|
btnClass = 'disabled';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'first':
|
||||||
|
btnDisplay = lang.sFirst;
|
||||||
|
btnClass = button + (page > 0 ?
|
||||||
|
'' : ' disabled');
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'previous':
|
||||||
|
btnDisplay = lang.sPrevious;
|
||||||
|
btnClass = button + (page > 0 ?
|
||||||
|
'' : ' disabled');
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'next':
|
||||||
|
btnDisplay = lang.sNext;
|
||||||
|
btnClass = button + (page < pages-1 ?
|
||||||
|
'' : ' disabled');
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'last':
|
||||||
|
btnDisplay = lang.sLast;
|
||||||
|
btnClass = button + (page < pages-1 ?
|
||||||
|
'' : ' disabled');
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
btnDisplay = button + 1;
|
||||||
|
btnClass = page === button ?
|
||||||
|
'active' : '';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( btnDisplay ) {
|
||||||
|
node = $('<li>', {
|
||||||
|
'class': classes.sPageButton+' '+btnClass,
|
||||||
|
'id': idx === 0 && typeof button === 'string' ?
|
||||||
|
settings.sTableId +'_'+ button :
|
||||||
|
null
|
||||||
|
} )
|
||||||
|
.append( $('<a>', {
|
||||||
|
'href': '#',
|
||||||
|
'aria-controls': settings.sTableId,
|
||||||
|
'aria-label': aria[ button ],
|
||||||
|
'data-dt-idx': counter,
|
||||||
|
'tabindex': settings.iTabIndex,
|
||||||
|
'class': 'page-link'
|
||||||
|
} )
|
||||||
|
.html( btnDisplay )
|
||||||
|
)
|
||||||
|
.appendTo( container );
|
||||||
|
|
||||||
|
settings.oApi._fnBindAction(
|
||||||
|
node, {action: button}, clickHandler
|
||||||
|
);
|
||||||
|
|
||||||
|
counter++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// IE9 throws an 'unknown error' if document.activeElement is used
|
||||||
|
// inside an iframe or frame.
|
||||||
|
var activeEl;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Because this approach is destroying and recreating the paging
|
||||||
|
// elements, focus is lost on the select button which is bad for
|
||||||
|
// accessibility. So we want to restore focus once the draw has
|
||||||
|
// completed
|
||||||
|
activeEl = $(host).find(document.activeElement).data('dt-idx');
|
||||||
|
}
|
||||||
|
catch (e) {}
|
||||||
|
|
||||||
|
attach(
|
||||||
|
$(host).empty().html('<ul class="pagination"/>').children('ul'),
|
||||||
|
buttons
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( activeEl ) {
|
||||||
|
$(host).find( '[data-dt-idx='+activeEl+']' ).focus();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
return DataTable;
|
||||||
|
}));
|
8
helpdesk/static/helpdesk/vendor/datatables/js/dataTables.bootstrap4.min.js
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
/*!
|
||||||
|
DataTables Bootstrap 3 integration
|
||||||
|
©2011-2015 SpryMedia Ltd - datatables.net/license
|
||||||
|
*/
|
||||||
|
(function(b){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(a){return b(a,window,document)}):"object"===typeof exports?module.exports=function(a,d){a||(a=window);if(!d||!d.fn.dataTable)d=require("datatables.net")(a,d).$;return b(d,a,a.document)}:b(jQuery,window,document)})(function(b,a,d){var f=b.fn.dataTable;b.extend(!0,f.defaults,{dom:"<'row'<'col-md-6'l><'col-md-6'f>><'row'<'col-md-12'tr>><'row'<'col-md-5'i><'col-md-7'p>>",renderer:"bootstrap"});b.extend(f.ext.classes,
|
||||||
|
{sWrapper:"dataTables_wrapper form-inline dt-bootstrap4",sFilterInput:"form-control input-sm",sLengthSelect:"form-control input-sm",sProcessing:"dataTables_processing panel panel-default",sPageButton:"paginate_button page-item"});f.ext.renderer.pageButton.bootstrap=function(a,h,r,m,j,n){var o=new f.Api(a),s=a.oClasses,k=a.oLanguage.oPaginate,t=a.oLanguage.oAria.paginate||{},e,g,p=0,q=function(d,f){var l,h,i,c,m=function(a){a.preventDefault();!b(a.currentTarget).hasClass("disabled")&&o.page()!=a.data.action&&
|
||||||
|
o.page(a.data.action).draw("page")};l=0;for(h=f.length;l<h;l++)if(c=f[l],b.isArray(c))q(d,c);else{g=e="";switch(c){case "ellipsis":e="…";g="disabled";break;case "first":e=k.sFirst;g=c+(0<j?"":" disabled");break;case "previous":e=k.sPrevious;g=c+(0<j?"":" disabled");break;case "next":e=k.sNext;g=c+(j<n-1?"":" disabled");break;case "last":e=k.sLast;g=c+(j<n-1?"":" disabled");break;default:e=c+1,g=j===c?"active":""}e&&(i=b("<li>",{"class":s.sPageButton+" "+g,id:0===r&&"string"===typeof c?a.sTableId+
|
||||||
|
"_"+c:null}).append(b("<a>",{href:"#","aria-controls":a.sTableId,"aria-label":t[c],"data-dt-idx":p,tabindex:a.iTabIndex,"class":"page-link"}).html(e)).appendTo(d),a.oApi._fnBindAction(i,{action:c},m),p++)}},i;try{i=b(h).find(d.activeElement).data("dt-idx")}catch(u){}q(b(h).empty().html('<ul class="pagination"/>').children("ul"),m);i&&b(h).find("[data-dt-idx="+i+"]").focus()};return f});
|
174
helpdesk/static/helpdesk/vendor/datatables/js/dataTables.foundation.js
vendored
Normal file
@ -0,0 +1,174 @@
|
|||||||
|
/*! DataTables Foundation integration
|
||||||
|
* ©2011-2015 SpryMedia Ltd - datatables.net/license
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DataTables integration for Foundation. This requires Foundation 5 and
|
||||||
|
* DataTables 1.10 or newer.
|
||||||
|
*
|
||||||
|
* This file sets the defaults and adds options to DataTables to style its
|
||||||
|
* controls using Foundation. See http://datatables.net/manual/styling/foundation
|
||||||
|
* for further information.
|
||||||
|
*/
|
||||||
|
(function( factory ){
|
||||||
|
if ( typeof define === 'function' && define.amd ) {
|
||||||
|
// AMD
|
||||||
|
define( ['jquery', 'datatables.net'], function ( $ ) {
|
||||||
|
return factory( $, window, document );
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
else if ( typeof exports === 'object' ) {
|
||||||
|
// CommonJS
|
||||||
|
module.exports = function (root, $) {
|
||||||
|
if ( ! root ) {
|
||||||
|
root = window;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ! $ || ! $.fn.dataTable ) {
|
||||||
|
$ = require('datatables.net')(root, $).$;
|
||||||
|
}
|
||||||
|
|
||||||
|
return factory( $, root, root.document );
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Browser
|
||||||
|
factory( jQuery, window, document );
|
||||||
|
}
|
||||||
|
}(function( $, window, document, undefined ) {
|
||||||
|
'use strict';
|
||||||
|
var DataTable = $.fn.dataTable;
|
||||||
|
|
||||||
|
// Detect Foundation 5 / 6 as they have different element and class requirements
|
||||||
|
var meta = $('<meta class="foundation-mq"/>').appendTo('head');
|
||||||
|
DataTable.ext.foundationVersion = meta.css('font-family').match(/small|medium|large/) ? 6 : 5;
|
||||||
|
meta.remove();
|
||||||
|
|
||||||
|
|
||||||
|
$.extend( DataTable.ext.classes, {
|
||||||
|
sWrapper: "dataTables_wrapper dt-foundation",
|
||||||
|
sProcessing: "dataTables_processing panel"
|
||||||
|
} );
|
||||||
|
|
||||||
|
|
||||||
|
/* Set the defaults for DataTables initialisation */
|
||||||
|
$.extend( true, DataTable.defaults, {
|
||||||
|
dom:
|
||||||
|
"<'row'<'small-6 columns'l><'small-6 columns'f>r>"+
|
||||||
|
"t"+
|
||||||
|
"<'row'<'small-6 columns'i><'small-6 columns'p>>",
|
||||||
|
renderer: 'foundation'
|
||||||
|
} );
|
||||||
|
|
||||||
|
|
||||||
|
/* Page button renderer */
|
||||||
|
DataTable.ext.renderer.pageButton.foundation = function ( settings, host, idx, buttons, page, pages ) {
|
||||||
|
var api = new DataTable.Api( settings );
|
||||||
|
var classes = settings.oClasses;
|
||||||
|
var lang = settings.oLanguage.oPaginate;
|
||||||
|
var aria = settings.oLanguage.oAria.paginate || {};
|
||||||
|
var btnDisplay, btnClass;
|
||||||
|
var tag;
|
||||||
|
var v5 = DataTable.ext.foundationVersion === 5;
|
||||||
|
|
||||||
|
var attach = function( container, buttons ) {
|
||||||
|
var i, ien, node, button;
|
||||||
|
var clickHandler = function ( e ) {
|
||||||
|
e.preventDefault();
|
||||||
|
if ( !$(e.currentTarget).hasClass('unavailable') && api.page() != e.data.action ) {
|
||||||
|
api.page( e.data.action ).draw( 'page' );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
||||||
|
button = buttons[i];
|
||||||
|
|
||||||
|
if ( $.isArray( button ) ) {
|
||||||
|
attach( container, button );
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
btnDisplay = '';
|
||||||
|
btnClass = '';
|
||||||
|
tag = null;
|
||||||
|
|
||||||
|
switch ( button ) {
|
||||||
|
case 'ellipsis':
|
||||||
|
btnDisplay = '…';
|
||||||
|
btnClass = 'unavailable disabled';
|
||||||
|
tag = null;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'first':
|
||||||
|
btnDisplay = lang.sFirst;
|
||||||
|
btnClass = button + (page > 0 ?
|
||||||
|
'' : ' unavailable disabled');
|
||||||
|
tag = page > 0 ? 'a' : null;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'previous':
|
||||||
|
btnDisplay = lang.sPrevious;
|
||||||
|
btnClass = button + (page > 0 ?
|
||||||
|
'' : ' unavailable disabled');
|
||||||
|
tag = page > 0 ? 'a' : null;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'next':
|
||||||
|
btnDisplay = lang.sNext;
|
||||||
|
btnClass = button + (page < pages-1 ?
|
||||||
|
'' : ' unavailable disabled');
|
||||||
|
tag = page < pages-1 ? 'a' : null;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'last':
|
||||||
|
btnDisplay = lang.sLast;
|
||||||
|
btnClass = button + (page < pages-1 ?
|
||||||
|
'' : ' unavailable disabled');
|
||||||
|
tag = page < pages-1 ? 'a' : null;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
btnDisplay = button + 1;
|
||||||
|
btnClass = page === button ?
|
||||||
|
'current' : '';
|
||||||
|
tag = page === button ?
|
||||||
|
null : 'a';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( v5 ) {
|
||||||
|
tag = 'a';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( btnDisplay ) {
|
||||||
|
node = $('<li>', {
|
||||||
|
'class': classes.sPageButton+' '+btnClass,
|
||||||
|
'aria-controls': settings.sTableId,
|
||||||
|
'aria-label': aria[ button ],
|
||||||
|
'tabindex': settings.iTabIndex,
|
||||||
|
'id': idx === 0 && typeof button === 'string' ?
|
||||||
|
settings.sTableId +'_'+ button :
|
||||||
|
null
|
||||||
|
} )
|
||||||
|
.append( tag ?
|
||||||
|
$('<'+tag+'/>', {'href': '#'} ).html( btnDisplay ) :
|
||||||
|
btnDisplay
|
||||||
|
)
|
||||||
|
.appendTo( container );
|
||||||
|
|
||||||
|
settings.oApi._fnBindAction(
|
||||||
|
node, {action: button}, clickHandler
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
attach(
|
||||||
|
$(host).empty().html('<ul class="pagination"/>').children('ul'),
|
||||||
|
buttons
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
return DataTable;
|
||||||
|
}));
|
8
helpdesk/static/helpdesk/vendor/datatables/js/dataTables.foundation.min.js
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
/*!
|
||||||
|
DataTables Foundation integration
|
||||||
|
©2011-2015 SpryMedia Ltd - datatables.net/license
|
||||||
|
*/
|
||||||
|
(function(d){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(a){return d(a,window,document)}):"object"===typeof exports?module.exports=function(a,b){a||(a=window);if(!b||!b.fn.dataTable)b=require("datatables.net")(a,b).$;return d(b,a,a.document)}:d(jQuery,window,document)})(function(d){var a=d.fn.dataTable,b=d('<meta class="foundation-mq"/>').appendTo("head");a.ext.foundationVersion=b.css("font-family").match(/small|medium|large/)?6:5;b.remove();d.extend(a.ext.classes,
|
||||||
|
{sWrapper:"dataTables_wrapper dt-foundation",sProcessing:"dataTables_processing panel"});d.extend(!0,a.defaults,{dom:"<'row'<'small-6 columns'l><'small-6 columns'f>r>t<'row'<'small-6 columns'i><'small-6 columns'p>>",renderer:"foundation"});a.ext.renderer.pageButton.foundation=function(b,l,r,s,e,i){var m=new a.Api(b),t=b.oClasses,j=b.oLanguage.oPaginate,u=b.oLanguage.oAria.paginate||{},f,h,g,v=5===a.ext.foundationVersion,q=function(a,n){var k,o,p,c,l=function(a){a.preventDefault();!d(a.currentTarget).hasClass("unavailable")&&
|
||||||
|
m.page()!=a.data.action&&m.page(a.data.action).draw("page")};k=0;for(o=n.length;k<o;k++)if(c=n[k],d.isArray(c))q(a,c);else{h=f="";g=null;switch(c){case "ellipsis":f="…";h="unavailable disabled";g=null;break;case "first":f=j.sFirst;h=c+(0<e?"":" unavailable disabled");g=0<e?"a":null;break;case "previous":f=j.sPrevious;h=c+(0<e?"":" unavailable disabled");g=0<e?"a":null;break;case "next":f=j.sNext;h=c+(e<i-1?"":" unavailable disabled");g=e<i-1?"a":null;break;case "last":f=j.sLast;h=c+(e<i-1?
|
||||||
|
"":" unavailable disabled");g=e<i-1?"a":null;break;default:f=c+1,h=e===c?"current":"",g=e===c?null:"a"}v&&(g="a");f&&(p=d("<li>",{"class":t.sPageButton+" "+h,"aria-controls":b.sTableId,"aria-label":u[c],tabindex:b.iTabIndex,id:0===r&&"string"===typeof c?b.sTableId+"_"+c:null}).append(g?d("<"+g+"/>",{href:"#"}).html(f):f).appendTo(a),b.oApi._fnBindAction(p,{action:c},l))}};q(d(l).empty().html('<ul class="pagination"/>').children("ul"),s)};return a});
|
164
helpdesk/static/helpdesk/vendor/datatables/js/dataTables.jqueryui.js
vendored
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
/*! DataTables jQuery UI integration
|
||||||
|
* ©2011-2014 SpryMedia Ltd - datatables.net/license
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DataTables integration for jQuery UI. This requires jQuery UI and
|
||||||
|
* DataTables 1.10 or newer.
|
||||||
|
*
|
||||||
|
* This file sets the defaults and adds options to DataTables to style its
|
||||||
|
* controls using jQuery UI. See http://datatables.net/manual/styling/jqueryui
|
||||||
|
* for further information.
|
||||||
|
*/
|
||||||
|
(function( factory ){
|
||||||
|
if ( typeof define === 'function' && define.amd ) {
|
||||||
|
// AMD
|
||||||
|
define( ['jquery', 'datatables.net'], function ( $ ) {
|
||||||
|
return factory( $, window, document );
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
else if ( typeof exports === 'object' ) {
|
||||||
|
// CommonJS
|
||||||
|
module.exports = function (root, $) {
|
||||||
|
if ( ! root ) {
|
||||||
|
root = window;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ! $ || ! $.fn.dataTable ) {
|
||||||
|
$ = require('datatables.net')(root, $).$;
|
||||||
|
}
|
||||||
|
|
||||||
|
return factory( $, root, root.document );
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Browser
|
||||||
|
factory( jQuery, window, document );
|
||||||
|
}
|
||||||
|
}(function( $, window, document, undefined ) {
|
||||||
|
'use strict';
|
||||||
|
var DataTable = $.fn.dataTable;
|
||||||
|
|
||||||
|
|
||||||
|
var sort_prefix = 'css_right ui-icon ui-icon-';
|
||||||
|
var toolbar_prefix = 'fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-';
|
||||||
|
|
||||||
|
/* Set the defaults for DataTables initialisation */
|
||||||
|
$.extend( true, DataTable.defaults, {
|
||||||
|
dom:
|
||||||
|
'<"'+toolbar_prefix+'tl ui-corner-tr"lfr>'+
|
||||||
|
't'+
|
||||||
|
'<"'+toolbar_prefix+'bl ui-corner-br"ip>',
|
||||||
|
renderer: 'jqueryui'
|
||||||
|
} );
|
||||||
|
|
||||||
|
|
||||||
|
$.extend( DataTable.ext.classes, {
|
||||||
|
"sWrapper": "dataTables_wrapper dt-jqueryui",
|
||||||
|
|
||||||
|
/* Full numbers paging buttons */
|
||||||
|
"sPageButton": "fg-button ui-button ui-state-default",
|
||||||
|
"sPageButtonActive": "ui-state-disabled",
|
||||||
|
"sPageButtonDisabled": "ui-state-disabled",
|
||||||
|
|
||||||
|
/* Features */
|
||||||
|
"sPaging": "dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi "+
|
||||||
|
"ui-buttonset-multi paging_", /* Note that the type is postfixed */
|
||||||
|
|
||||||
|
/* Sorting */
|
||||||
|
"sSortAsc": "ui-state-default sorting_asc",
|
||||||
|
"sSortDesc": "ui-state-default sorting_desc",
|
||||||
|
"sSortable": "ui-state-default sorting",
|
||||||
|
"sSortableAsc": "ui-state-default sorting_asc_disabled",
|
||||||
|
"sSortableDesc": "ui-state-default sorting_desc_disabled",
|
||||||
|
"sSortableNone": "ui-state-default sorting_disabled",
|
||||||
|
"sSortIcon": "DataTables_sort_icon",
|
||||||
|
|
||||||
|
/* Scrolling */
|
||||||
|
"sScrollHead": "dataTables_scrollHead "+"ui-state-default",
|
||||||
|
"sScrollFoot": "dataTables_scrollFoot "+"ui-state-default",
|
||||||
|
|
||||||
|
/* Misc */
|
||||||
|
"sHeaderTH": "ui-state-default",
|
||||||
|
"sFooterTH": "ui-state-default"
|
||||||
|
} );
|
||||||
|
|
||||||
|
|
||||||
|
DataTable.ext.renderer.header.jqueryui = function ( settings, cell, column, classes ) {
|
||||||
|
// Calculate what the unsorted class should be
|
||||||
|
var noSortAppliedClass = sort_prefix+'carat-2-n-s';
|
||||||
|
var asc = $.inArray('asc', column.asSorting) !== -1;
|
||||||
|
var desc = $.inArray('desc', column.asSorting) !== -1;
|
||||||
|
|
||||||
|
if ( !column.bSortable || (!asc && !desc) ) {
|
||||||
|
noSortAppliedClass = '';
|
||||||
|
}
|
||||||
|
else if ( asc && !desc ) {
|
||||||
|
noSortAppliedClass = sort_prefix+'carat-1-n';
|
||||||
|
}
|
||||||
|
else if ( !asc && desc ) {
|
||||||
|
noSortAppliedClass = sort_prefix+'carat-1-s';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Setup the DOM structure
|
||||||
|
$('<div/>')
|
||||||
|
.addClass( 'DataTables_sort_wrapper' )
|
||||||
|
.append( cell.contents() )
|
||||||
|
.append( $('<span/>')
|
||||||
|
.addClass( classes.sSortIcon+' '+noSortAppliedClass )
|
||||||
|
)
|
||||||
|
.appendTo( cell );
|
||||||
|
|
||||||
|
// Attach a sort listener to update on sort
|
||||||
|
$(settings.nTable).on( 'order.dt', function ( e, ctx, sorting, columns ) {
|
||||||
|
if ( settings !== ctx ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var colIdx = column.idx;
|
||||||
|
|
||||||
|
cell
|
||||||
|
.removeClass( classes.sSortAsc +" "+classes.sSortDesc )
|
||||||
|
.addClass( columns[ colIdx ] == 'asc' ?
|
||||||
|
classes.sSortAsc : columns[ colIdx ] == 'desc' ?
|
||||||
|
classes.sSortDesc :
|
||||||
|
column.sSortingClass
|
||||||
|
);
|
||||||
|
|
||||||
|
cell
|
||||||
|
.find( 'span.'+classes.sSortIcon )
|
||||||
|
.removeClass(
|
||||||
|
sort_prefix+'triangle-1-n' +" "+
|
||||||
|
sort_prefix+'triangle-1-s' +" "+
|
||||||
|
sort_prefix+'carat-2-n-s' +" "+
|
||||||
|
sort_prefix+'carat-1-n' +" "+
|
||||||
|
sort_prefix+'carat-1-s'
|
||||||
|
)
|
||||||
|
.addClass( columns[ colIdx ] == 'asc' ?
|
||||||
|
sort_prefix+'triangle-1-n' : columns[ colIdx ] == 'desc' ?
|
||||||
|
sort_prefix+'triangle-1-s' :
|
||||||
|
noSortAppliedClass
|
||||||
|
);
|
||||||
|
} );
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* TableTools jQuery UI compatibility
|
||||||
|
* Required TableTools 2.1+
|
||||||
|
*/
|
||||||
|
if ( DataTable.TableTools ) {
|
||||||
|
$.extend( true, DataTable.TableTools.classes, {
|
||||||
|
"container": "DTTT_container ui-buttonset ui-buttonset-multi",
|
||||||
|
"buttons": {
|
||||||
|
"normal": "DTTT_button ui-button ui-state-default"
|
||||||
|
},
|
||||||
|
"collection": {
|
||||||
|
"container": "DTTT_collection ui-buttonset ui-buttonset-multi"
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return DataTable;
|
||||||
|
}));
|
9
helpdesk/static/helpdesk/vendor/datatables/js/dataTables.jqueryui.min.js
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
/*!
|
||||||
|
DataTables jQuery UI integration
|
||||||
|
©2011-2014 SpryMedia Ltd - datatables.net/license
|
||||||
|
*/
|
||||||
|
(function(a){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(b){return a(b,window,document)}):"object"===typeof exports?module.exports=function(b,d){b||(b=window);if(!d||!d.fn.dataTable)d=require("datatables.net")(b,d).$;return a(d,b,b.document)}:a(jQuery,window,document)})(function(a){var b=a.fn.dataTable;a.extend(!0,b.defaults,{dom:'<"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-tl ui-corner-tr"lfr>t<"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-bl ui-corner-br"ip>',
|
||||||
|
renderer:"jqueryui"});a.extend(b.ext.classes,{sWrapper:"dataTables_wrapper dt-jqueryui",sPageButton:"fg-button ui-button ui-state-default",sPageButtonActive:"ui-state-disabled",sPageButtonDisabled:"ui-state-disabled",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sSortAsc:"ui-state-default sorting_asc",sSortDesc:"ui-state-default sorting_desc",sSortable:"ui-state-default sorting",sSortableAsc:"ui-state-default sorting_asc_disabled",sSortableDesc:"ui-state-default sorting_desc_disabled",
|
||||||
|
sSortableNone:"ui-state-default sorting_disabled",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead ui-state-default",sScrollFoot:"dataTables_scrollFoot ui-state-default",sHeaderTH:"ui-state-default",sFooterTH:"ui-state-default"});b.ext.renderer.header.jqueryui=function(b,h,e,c){var f="css_right ui-icon ui-icon-carat-2-n-s",g=-1!==a.inArray("asc",e.asSorting),i=-1!==a.inArray("desc",e.asSorting);!e.bSortable||!g&&!i?f="":g&&!i?f="css_right ui-icon ui-icon-carat-1-n":!g&&i&&(f="css_right ui-icon ui-icon-carat-1-s");
|
||||||
|
a("<div/>").addClass("DataTables_sort_wrapper").append(h.contents()).append(a("<span/>").addClass(c.sSortIcon+" "+f)).appendTo(h);a(b.nTable).on("order.dt",function(a,g,i,j){b===g&&(a=e.idx,h.removeClass(c.sSortAsc+" "+c.sSortDesc).addClass("asc"==j[a]?c.sSortAsc:"desc"==j[a]?c.sSortDesc:e.sSortingClass),h.find("span."+c.sSortIcon).removeClass("css_right ui-icon ui-icon-triangle-1-n css_right ui-icon ui-icon-triangle-1-s css_right ui-icon ui-icon-carat-2-n-s css_right ui-icon ui-icon-carat-1-n css_right ui-icon ui-icon-carat-1-s").addClass("asc"==
|
||||||
|
j[a]?"css_right ui-icon ui-icon-triangle-1-n":"desc"==j[a]?"css_right ui-icon ui-icon-triangle-1-s":f))})};b.TableTools&&a.extend(!0,b.TableTools.classes,{container:"DTTT_container ui-buttonset ui-buttonset-multi",buttons:{normal:"DTTT_button ui-button ui-state-default"},collection:{container:"DTTT_collection ui-buttonset ui-buttonset-multi"}});return b});
|
191
helpdesk/static/helpdesk/vendor/datatables/js/dataTables.material.js
vendored
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
/*! DataTables Bootstrap 3 integration
|
||||||
|
* ©2011-2015 SpryMedia Ltd - datatables.net/license
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DataTables integration for Bootstrap 3. This requires Bootstrap 3 and
|
||||||
|
* DataTables 1.10 or newer.
|
||||||
|
*
|
||||||
|
* This file sets the defaults and adds options to DataTables to style its
|
||||||
|
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
||||||
|
* for further information.
|
||||||
|
*/
|
||||||
|
(function( factory ){
|
||||||
|
if ( typeof define === 'function' && define.amd ) {
|
||||||
|
// AMD
|
||||||
|
define( ['jquery', 'datatables.net'], function ( $ ) {
|
||||||
|
return factory( $, window, document );
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
else if ( typeof exports === 'object' ) {
|
||||||
|
// CommonJS
|
||||||
|
module.exports = function (root, $) {
|
||||||
|
if ( ! root ) {
|
||||||
|
root = window;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ! $ || ! $.fn.dataTable ) {
|
||||||
|
// Require DataTables, which attaches to jQuery, including
|
||||||
|
// jQuery if needed and have a $ property so we can access the
|
||||||
|
// jQuery object that is used
|
||||||
|
$ = require('datatables.net')(root, $).$;
|
||||||
|
}
|
||||||
|
|
||||||
|
return factory( $, root, root.document );
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Browser
|
||||||
|
factory( jQuery, window, document );
|
||||||
|
}
|
||||||
|
}(function( $, window, document, undefined ) {
|
||||||
|
'use strict';
|
||||||
|
var DataTable = $.fn.dataTable;
|
||||||
|
|
||||||
|
|
||||||
|
/* Set the defaults for DataTables initialisation */
|
||||||
|
$.extend( true, DataTable.defaults, {
|
||||||
|
dom:
|
||||||
|
"<'mdl-grid'"+
|
||||||
|
"<'mdl-cell mdl-cell--6-col'l>"+
|
||||||
|
"<'mdl-cell mdl-cell--6-col'f>"+
|
||||||
|
">"+
|
||||||
|
"<'mdl-grid dt-table'"+
|
||||||
|
"<'mdl-cell mdl-cell--12-col'tr>"+
|
||||||
|
">"+
|
||||||
|
"<'mdl-grid'"+
|
||||||
|
"<'mdl-cell mdl-cell--4-col'i>"+
|
||||||
|
"<'mdl-cell mdl-cell--8-col'p>"+
|
||||||
|
">",
|
||||||
|
renderer: 'material'
|
||||||
|
} );
|
||||||
|
|
||||||
|
|
||||||
|
/* Default class modification */
|
||||||
|
$.extend( DataTable.ext.classes, {
|
||||||
|
sWrapper: "dataTables_wrapper form-inline dt-material",
|
||||||
|
sFilterInput: "form-control input-sm",
|
||||||
|
sLengthSelect: "form-control input-sm",
|
||||||
|
sProcessing: "dataTables_processing panel panel-default"
|
||||||
|
} );
|
||||||
|
|
||||||
|
|
||||||
|
/* Bootstrap paging button renderer */
|
||||||
|
DataTable.ext.renderer.pageButton.material = function ( settings, host, idx, buttons, page, pages ) {
|
||||||
|
var api = new DataTable.Api( settings );
|
||||||
|
var classes = settings.oClasses;
|
||||||
|
var lang = settings.oLanguage.oPaginate;
|
||||||
|
var aria = settings.oLanguage.oAria.paginate || {};
|
||||||
|
var btnDisplay, btnClass, counter=0;
|
||||||
|
|
||||||
|
var attach = function( container, buttons ) {
|
||||||
|
var i, ien, node, button, disabled, active;
|
||||||
|
var clickHandler = function ( e ) {
|
||||||
|
e.preventDefault();
|
||||||
|
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) {
|
||||||
|
api.page( e.data.action ).draw( 'page' );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
||||||
|
button = buttons[i];
|
||||||
|
|
||||||
|
if ( $.isArray( button ) ) {
|
||||||
|
attach( container, button );
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
btnDisplay = '';
|
||||||
|
active = false;
|
||||||
|
|
||||||
|
switch ( button ) {
|
||||||
|
case 'ellipsis':
|
||||||
|
btnDisplay = '…';
|
||||||
|
btnClass = 'disabled';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'first':
|
||||||
|
btnDisplay = lang.sFirst;
|
||||||
|
btnClass = button + (page > 0 ?
|
||||||
|
'' : ' disabled');
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'previous':
|
||||||
|
btnDisplay = lang.sPrevious;
|
||||||
|
btnClass = button + (page > 0 ?
|
||||||
|
'' : ' disabled');
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'next':
|
||||||
|
btnDisplay = lang.sNext;
|
||||||
|
btnClass = button + (page < pages-1 ?
|
||||||
|
'' : ' disabled');
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'last':
|
||||||
|
btnDisplay = lang.sLast;
|
||||||
|
btnClass = button + (page < pages-1 ?
|
||||||
|
'' : ' disabled');
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
btnDisplay = button + 1;
|
||||||
|
btnClass = '';
|
||||||
|
active = page === button;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( active ) {
|
||||||
|
btnClass += ' mdl-button--raised mdl-button--colored';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( btnDisplay ) {
|
||||||
|
node = $('<button>', {
|
||||||
|
'class': 'mdl-button '+btnClass,
|
||||||
|
'id': idx === 0 && typeof button === 'string' ?
|
||||||
|
settings.sTableId +'_'+ button :
|
||||||
|
null,
|
||||||
|
'aria-controls': settings.sTableId,
|
||||||
|
'aria-label': aria[ button ],
|
||||||
|
'data-dt-idx': counter,
|
||||||
|
'tabindex': settings.iTabIndex,
|
||||||
|
'disabled': btnClass.indexOf('disabled') !== -1
|
||||||
|
} )
|
||||||
|
.html( btnDisplay )
|
||||||
|
.appendTo( container );
|
||||||
|
|
||||||
|
settings.oApi._fnBindAction(
|
||||||
|
node, {action: button}, clickHandler
|
||||||
|
);
|
||||||
|
|
||||||
|
counter++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// IE9 throws an 'unknown error' if document.activeElement is used
|
||||||
|
// inside an iframe or frame.
|
||||||
|
var activeEl;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Because this approach is destroying and recreating the paging
|
||||||
|
// elements, focus is lost on the select button which is bad for
|
||||||
|
// accessibility. So we want to restore focus once the draw has
|
||||||
|
// completed
|
||||||
|
activeEl = $(host).find(document.activeElement).data('dt-idx');
|
||||||
|
}
|
||||||
|
catch (e) {}
|
||||||
|
|
||||||
|
attach(
|
||||||
|
$(host).empty().html('<div class="pagination"/>').children(),
|
||||||
|
buttons
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( activeEl ) {
|
||||||
|
$(host).find( '[data-dt-idx='+activeEl+']' ).focus();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
return DataTable;
|
||||||
|
}));
|
8
helpdesk/static/helpdesk/vendor/datatables/js/dataTables.material.min.js
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
/*!
|
||||||
|
DataTables Bootstrap 3 integration
|
||||||
|
©2011-2015 SpryMedia Ltd - datatables.net/license
|
||||||
|
*/
|
||||||
|
(function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(a){return c(a,window,document)}):"object"===typeof exports?module.exports=function(a,d){a||(a=window);if(!d||!d.fn.dataTable)d=require("datatables.net")(a,d).$;return c(d,a,a.document)}:c(jQuery,window,document)})(function(c,a,d){var g=c.fn.dataTable;c.extend(!0,g.defaults,{dom:"<'mdl-grid'<'mdl-cell mdl-cell--6-col'l><'mdl-cell mdl-cell--6-col'f>><'mdl-grid dt-table'<'mdl-cell mdl-cell--12-col'tr>><'mdl-grid'<'mdl-cell mdl-cell--4-col'i><'mdl-cell mdl-cell--8-col'p>>",
|
||||||
|
renderer:"material"});c.extend(g.ext.classes,{sWrapper:"dataTables_wrapper form-inline dt-material",sFilterInput:"form-control input-sm",sLengthSelect:"form-control input-sm",sProcessing:"dataTables_processing panel panel-default"});g.ext.renderer.pageButton.material=function(a,h,r,s,i,n){var o=new g.Api(a),l=a.oLanguage.oPaginate,t=a.oLanguage.oAria.paginate||{},f,e,p=0,q=function(d,g){var m,h,j,b,k=function(a){a.preventDefault();!c(a.currentTarget).hasClass("disabled")&&o.page()!=a.data.action&&
|
||||||
|
o.page(a.data.action).draw("page")};m=0;for(h=g.length;m<h;m++)if(b=g[m],c.isArray(b))q(d,b);else{f="";j=!1;switch(b){case "ellipsis":f="…";e="disabled";break;case "first":f=l.sFirst;e=b+(0<i?"":" disabled");break;case "previous":f=l.sPrevious;e=b+(0<i?"":" disabled");break;case "next":f=l.sNext;e=b+(i<n-1?"":" disabled");break;case "last":f=l.sLast;e=b+(i<n-1?"":" disabled");break;default:f=b+1,e="",j=i===b}j&&(e+=" mdl-button--raised mdl-button--colored");f&&(j=c("<button>",{"class":"mdl-button "+
|
||||||
|
e,id:0===r&&"string"===typeof b?a.sTableId+"_"+b:null,"aria-controls":a.sTableId,"aria-label":t[b],"data-dt-idx":p,tabindex:a.iTabIndex,disabled:-1!==e.indexOf("disabled")}).html(f).appendTo(d),a.oApi._fnBindAction(j,{action:b},k),p++)}},k;try{k=c(h).find(d.activeElement).data("dt-idx")}catch(u){}q(c(h).empty().html('<div class="pagination"/>').children(),s);k&&c(h).find("[data-dt-idx="+k+"]").focus()};return g});
|