mirror of
https://github.com/Hopiu/django-fobi.git
synced 2026-05-18 01:21:07 +00:00
prepare 0.5.1; add fancy datetime picker widgets for datetime and date plugins when using bootstrap 3 theme
This commit is contained in:
parent
9723715596
commit
e02165375d
27 changed files with 10432 additions and 8 deletions
|
|
@ -15,6 +15,13 @@ are used for versioning (schema follows below):
|
|||
0.3.4 to 0.4).
|
||||
- All backwards incompatible changes are mentioned in this document.
|
||||
|
||||
0.5.1
|
||||
-------------------------------------
|
||||
2015-04-21
|
||||
|
||||
- DateTime picker widget added for Bootstrap 3 theme for `datetime` and `date`
|
||||
plugins.
|
||||
|
||||
0.5
|
||||
-------------------------------------
|
||||
2015-04-06
|
||||
|
|
|
|||
14
LICENSES.rst
14
LICENSES.rst
|
|
@ -11,6 +11,12 @@ Licensing information:
|
|||
|
||||
- Apache license 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
|
||||
|
||||
Bootstrap 3 Datepicker
|
||||
==============================
|
||||
http://eonasdan.github.io/bootstrap-datetimepicker/
|
||||
|
||||
- MIT (http://opensource.org/licenses/mit-license.html)
|
||||
|
||||
django-autoslug
|
||||
==============================
|
||||
https://bitbucket.org/neithere/django-autoslug
|
||||
|
|
@ -87,6 +93,14 @@ Licensing information:
|
|||
|
||||
- BSD (https://github.com/pmcelhaney/jQuery-Slugify-Plugin/blob/master/LICENSE).
|
||||
|
||||
moment.js
|
||||
==============================
|
||||
http://momentjs.com/
|
||||
|
||||
Licensing information:
|
||||
|
||||
- MIT (http://opensource.org/licenses/mit-license.html)
|
||||
|
||||
ordereddict
|
||||
==============================
|
||||
https://pypi.python.org/pypi/ordereddict
|
||||
|
|
|
|||
|
|
@ -13,6 +13,9 @@ recursive-include src/fobi/static *
|
|||
#prune src/fobi/static/jquery-ui/development-bundle
|
||||
|
||||
recursive-include src/fobi/contrib/themes/bootstrap3/static *
|
||||
recursive-include src/fobi/contrib/themes/bootstrap3/widgets/form_elements/datetime_bootstrap3_widget/static *
|
||||
recursive-include src/fobi/contrib/themes/bootstrap3/widgets/form_elements/date_bootstrap3_widget/static *
|
||||
recursive-include src/fobi/contrib/themes/bootstrap3/widgets/form_elements/dummy_bootstrap3_widget/static *
|
||||
recursive-include src/fobi/contrib/themes/foundation5/static *
|
||||
recursive-include src/fobi/contrib/themes/simple/static *
|
||||
recursive-include src/fobi/contrib/themes/djangocms_admin_style_theme/static *
|
||||
|
|
@ -24,6 +27,7 @@ recursive-include src/fobi/contrib/plugins/form_handlers/db_store/static *
|
|||
recursive-include src/fobi/templates *
|
||||
|
||||
recursive-include src/fobi/contrib/themes/bootstrap3/templates *
|
||||
#recursive-include src/fobi/contrib/themes/bootstrap3/widgets/form_elements/datetime_bootstrap3_widget/templates *
|
||||
recursive-include src/fobi/contrib/themes/foundation5/templates *
|
||||
recursive-include src/fobi/contrib/themes/foundation5/widgets/form_handlers/db_store_foundation5_widget/templates *
|
||||
recursive-include src/fobi/contrib/themes/simple/templates *
|
||||
|
|
|
|||
|
|
@ -187,6 +187,9 @@ INSTALLED_APPS = (
|
|||
# ************************ Bootstrap 3 theme ****************************
|
||||
# ***********************************************************************
|
||||
'fobi.contrib.themes.bootstrap3', # Bootstrap 3 theme
|
||||
# DateTime widget
|
||||
'fobi.contrib.themes.bootstrap3.widgets.form_elements.datetime_bootstrap3_widget',
|
||||
'fobi.contrib.themes.bootstrap3.widgets.form_elements.date_bootstrap3_widget',
|
||||
|
||||
# ***********************************************************************
|
||||
# ************************ Foundation 5 theme ***************************
|
||||
|
|
|
|||
4
setup.py
4
setup.py
|
|
@ -35,6 +35,8 @@ static_dirs = [
|
|||
"src/fobi/static", # Core static
|
||||
|
||||
"src/fobi/contrib/themes/bootstrap3/static", # Bootstrap3
|
||||
"src/fobi/contrib/themes/bootstrap3/widgets/form_elements/datetime_bootstrap3_widget/static", # Bootstrap3 datetime widget
|
||||
"src/fobi/contrib/themes/bootstrap3/widgets/form_elements/date_bootstrap3_widget/static", # Bootstrap3 date widget
|
||||
"src/fobi/contrib/themes/foundation5/static", # Foundation5
|
||||
"src/fobi/contrib/themes/simple/static", # Simple
|
||||
"src/fobi/contrib/themes/djangocms_admin_style_theme/static", # djangocms_admin_style_theme
|
||||
|
|
@ -63,7 +65,7 @@ for static_dir in static_dirs:
|
|||
for locale_dir in locale_dirs:
|
||||
locale_files += [os.path.join(locale_dir, f) for f in os.listdir(locale_dir)]
|
||||
|
||||
version = '0.5'
|
||||
version = '0.5.1'
|
||||
|
||||
install_requires = [
|
||||
'Pillow>=2.0.0',
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
__title__ = 'django-fobi'
|
||||
__version__ = '0.5'
|
||||
__build__ = 0x000035
|
||||
__version__ = '0.5.1'
|
||||
__build__ = 0x000036
|
||||
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
|
||||
__copyright__ = '2014-2015 Artur Barseghyan'
|
||||
__license__ = 'GPL 2.0/LGPL 2.1'
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
from __future__ import absolute_import
|
||||
|
||||
__title__ = 'fobi.contrib.plugins.form_elements.fields.date.widgets'
|
||||
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
|
||||
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
|
||||
__license__ = 'GPL 2.0/LGPL 2.1'
|
||||
__all__ = ('BaseDatePluginWidget',)
|
||||
|
||||
from fobi.base import FormElementPluginWidget
|
||||
from fobi.contrib.plugins.form_elements.fields.date import UID
|
||||
|
||||
class BaseDatePluginWidget(FormElementPluginWidget):
|
||||
"""
|
||||
Base date form element plugin widget.
|
||||
"""
|
||||
plugin_uid = UID
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
from __future__ import absolute_import
|
||||
|
||||
__title__ = 'fobi.contrib.plugins.form_elements.fields.datetime.widgets'
|
||||
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
|
||||
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
|
||||
__license__ = 'GPL 2.0/LGPL 2.1'
|
||||
__all__ = ('BaseDateTimePluginWidget',)
|
||||
|
||||
from fobi.base import FormElementPluginWidget
|
||||
from fobi.contrib.plugins.form_elements.fields.datetime import UID
|
||||
|
||||
class BaseDateTimePluginWidget(FormElementPluginWidget):
|
||||
"""
|
||||
Base datetime form element plugin widget.
|
||||
"""
|
||||
plugin_uid = UID
|
||||
366
src/fobi/contrib/themes/bootstrap3/static/bootstrap3/css/bootstrap-datetimepicker.min.css
vendored
Normal file
366
src/fobi/contrib/themes/bootstrap3/static/bootstrap3/css/bootstrap-datetimepicker.min.css
vendored
Normal file
|
|
@ -0,0 +1,366 @@
|
|||
/*!
|
||||
* Datetimepicker for Bootstrap 3
|
||||
* ! version : 4.7.14
|
||||
* https://github.com/Eonasdan/bootstrap-datetimepicker/
|
||||
*/
|
||||
.bootstrap-datetimepicker-widget {
|
||||
list-style: none;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu {
|
||||
margin: 2px 0;
|
||||
padding: 4px;
|
||||
width: 19em;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
|
||||
width: 38em;
|
||||
}
|
||||
}
|
||||
@media (min-width: 992px) {
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
|
||||
width: 38em;
|
||||
}
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
|
||||
width: 38em;
|
||||
}
|
||||
}
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu:before,
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu:after {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.bottom:before {
|
||||
border-left: 7px solid transparent;
|
||||
border-right: 7px solid transparent;
|
||||
border-bottom: 7px solid #cccccc;
|
||||
border-bottom-color: rgba(0, 0, 0, 0.2);
|
||||
top: -7px;
|
||||
left: 7px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.bottom:after {
|
||||
border-left: 6px solid transparent;
|
||||
border-right: 6px solid transparent;
|
||||
border-bottom: 6px solid white;
|
||||
top: -6px;
|
||||
left: 8px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.top:before {
|
||||
border-left: 7px solid transparent;
|
||||
border-right: 7px solid transparent;
|
||||
border-top: 7px solid #cccccc;
|
||||
border-top-color: rgba(0, 0, 0, 0.2);
|
||||
bottom: -7px;
|
||||
left: 6px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.top:after {
|
||||
border-left: 6px solid transparent;
|
||||
border-right: 6px solid transparent;
|
||||
border-top: 6px solid white;
|
||||
bottom: -6px;
|
||||
left: 7px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before {
|
||||
left: auto;
|
||||
right: 6px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after {
|
||||
left: auto;
|
||||
right: 7px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .list-unstyled {
|
||||
margin: 0;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget a[data-action] {
|
||||
padding: 6px 0;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget a[data-action]:active {
|
||||
box-shadow: none;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .timepicker-hour,
|
||||
.bootstrap-datetimepicker-widget .timepicker-minute,
|
||||
.bootstrap-datetimepicker-widget .timepicker-second {
|
||||
width: 54px;
|
||||
font-weight: bold;
|
||||
font-size: 1.2em;
|
||||
margin: 0;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget button[data-action] {
|
||||
padding: 6px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
content: "Increment Hours";
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
content: "Increment Minutes";
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
content: "Decrement Hours";
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
content: "Decrement Minutes";
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
content: "Show Hours";
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
content: "Show Minutes";
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
content: "Toggle AM/PM";
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="clear"]::after {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
content: "Clear the picker";
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="today"]::after {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
content: "Set the date to today";
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .picker-switch {
|
||||
text-align: center;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .picker-switch::after {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
content: "Toggle Date and Time Screens";
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .picker-switch td {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
height: auto;
|
||||
width: auto;
|
||||
line-height: inherit;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .picker-switch td span {
|
||||
line-height: 2.5;
|
||||
height: 2.5em;
|
||||
width: 100%;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table td,
|
||||
.bootstrap-datetimepicker-widget table th {
|
||||
text-align: center;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table th {
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
width: 20px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table th.picker-switch {
|
||||
width: 145px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table th.disabled,
|
||||
.bootstrap-datetimepicker-widget table th.disabled:hover {
|
||||
background: none;
|
||||
color: #777777;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table th.prev::after {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
content: "Previous Month";
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table th.next::after {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
content: "Next Month";
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table thead tr:first-child th {
|
||||
cursor: pointer;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table thead tr:first-child th:hover {
|
||||
background: #eeeeee;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table td {
|
||||
height: 54px;
|
||||
line-height: 54px;
|
||||
width: 54px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table td.cw {
|
||||
font-size: .8em;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
color: #777777;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table td.day {
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
width: 20px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table td.day:hover,
|
||||
.bootstrap-datetimepicker-widget table td.hour:hover,
|
||||
.bootstrap-datetimepicker-widget table td.minute:hover,
|
||||
.bootstrap-datetimepicker-widget table td.second:hover {
|
||||
background: #eeeeee;
|
||||
cursor: pointer;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table td.old,
|
||||
.bootstrap-datetimepicker-widget table td.new {
|
||||
color: #777777;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table td.today {
|
||||
position: relative;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table td.today:before {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border: 0 0 7px 7px solid transparent;
|
||||
border-bottom-color: #337ab7;
|
||||
border-top-color: rgba(0, 0, 0, 0.2);
|
||||
position: absolute;
|
||||
bottom: 4px;
|
||||
right: 4px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table td.active,
|
||||
.bootstrap-datetimepicker-widget table td.active:hover {
|
||||
background-color: #337ab7;
|
||||
color: #ffffff;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table td.active.today:before {
|
||||
border-bottom-color: #fff;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table td.disabled,
|
||||
.bootstrap-datetimepicker-widget table td.disabled:hover {
|
||||
background: none;
|
||||
color: #777777;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table td span {
|
||||
display: inline-block;
|
||||
width: 54px;
|
||||
height: 54px;
|
||||
line-height: 54px;
|
||||
margin: 2px 1.5px;
|
||||
cursor: pointer;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table td span:hover {
|
||||
background: #eeeeee;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table td span.active {
|
||||
background-color: #337ab7;
|
||||
color: #ffffff;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table td span.old {
|
||||
color: #777777;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table td span.disabled,
|
||||
.bootstrap-datetimepicker-widget table td span.disabled:hover {
|
||||
background: none;
|
||||
color: #777777;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget.usetwentyfour td.hour {
|
||||
height: 27px;
|
||||
line-height: 27px;
|
||||
}
|
||||
.input-group.date .input-group-addon {
|
||||
cursor: pointer;
|
||||
}
|
||||
.sr-only {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
8
src/fobi/contrib/themes/bootstrap3/static/bootstrap3/js/bootstrap-datetimepicker.min.js
vendored
Normal file
8
src/fobi/contrib/themes/bootstrap3/static/bootstrap3/js/bootstrap-datetimepicker.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
0
src/fobi/contrib/themes/bootstrap3/widgets/__init__.py
Normal file
0
src/fobi/contrib/themes/bootstrap3/widgets/__init__.py
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
===============================================================================
|
||||
fobi.contrib.themes.bootstrap3.widgets.form_elements.date_bootstrap3_widget
|
||||
===============================================================================
|
||||
A fancy date picker widget to the ``date`` plugin (for Bootstrap 3
|
||||
theme).
|
||||
|
||||
Installation
|
||||
===============================================
|
||||
1. Add ``fobi.contrib.themes.bootstrap3.widgets.form_elements.date_bootstrap3_widget``
|
||||
to the ``INSTALLED_APPS`` in your ``settings.py``.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
INSTALLED_APPS = (
|
||||
# ...
|
||||
'fobi.contrib.themes.bootstrap3',
|
||||
'fobi.contrib.themes.bootstrap3.widgets.form_elements.date_bootstrap3_widget',
|
||||
'fobi.contrib.plugins.form_elements.fields.date',
|
||||
# ...
|
||||
)
|
||||
|
||||
2. Specify ``bootstrap3`` as a default theme in your ``settings.py``:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
FOBI_DEFAULT_THEME = 'bootstrap3'
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
__title__ = 'fobi.contrib.themes.bootstrap3.widgets.form_elements.date_bootstrap3_widget'
|
||||
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
|
||||
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
|
||||
__license__ = 'GPL 2.0/LGPL 2.1'
|
||||
__all__ = ('default_app_config',)
|
||||
|
||||
default_app_config = 'fobi.contrib.themes.bootstrap3.widgets.form_elements.date_bootstrap3_widget.apps.Config'
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
__title__ = 'fobi.contrib.themes.bootstrap3.widgets.form_elements.date_bootstrap3_widget.apps'
|
||||
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
|
||||
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
|
||||
__license__ = 'GPL 2.0/LGPL 2.1'
|
||||
__all__ = ('Config',)
|
||||
|
||||
try:
|
||||
from django.apps import AppConfig
|
||||
|
||||
class Config(AppConfig):
|
||||
name = 'fobi.contrib.themes.bootstrap3.widgets.form_elements.date_bootstrap3_widget'
|
||||
label = 'fobi_contrib_themes_bootstrap3_widgets_form_elements_date_bootstrap3_widget'
|
||||
|
||||
except ImportError:
|
||||
pass
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
__title__ = 'fobi.contrib.themes.bootstrap3.widgets.form_elements.date_bootstrap3_widget.fobi_form_elements'
|
||||
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
|
||||
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
|
||||
__license__ = 'GPL 2.0/LGPL 2.1'
|
||||
__all__ = ('DatePluginWidget',)
|
||||
|
||||
from fobi.base import form_element_plugin_widget_registry
|
||||
from fobi.contrib.themes.bootstrap3 import UID
|
||||
from fobi.contrib.plugins.form_elements.fields.date.widgets import (
|
||||
BaseDatePluginWidget
|
||||
)
|
||||
|
||||
class DatePluginWidget(BaseDatePluginWidget):
|
||||
"""
|
||||
Date plugin widget for Boootstrap 3.
|
||||
"""
|
||||
theme_uid = UID
|
||||
media_js = [
|
||||
'js/moment-with-locales.js',
|
||||
'bootstrap3/js/bootstrap-datetimepicker.min.js',
|
||||
'bootstrap3/js/fobi.plugin.date-bootstrap3-widget.js',
|
||||
]
|
||||
media_css = [
|
||||
'bootstrap3/css/bootstrap-datetimepicker.min.css',
|
||||
#'datetime/css/fobi.plugin.date-bootstrap3-widget.css',
|
||||
]
|
||||
|
||||
|
||||
# Registering the widget
|
||||
form_element_plugin_widget_registry.register(DatePluginWidget)
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
;
|
||||
|
||||
$(document).ready(function() {
|
||||
$('input[type="date"]').datetimepicker({
|
||||
format: 'YYYY-MM-DD'
|
||||
});
|
||||
});
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
===============================================================================
|
||||
fobi.contrib.themes.bootstrap3.widgets.form_elements.datetime_bootstrap3_widget
|
||||
===============================================================================
|
||||
A fancy datetime picker widget to the ``datetime`` plugin (for Bootstrap 3
|
||||
theme).
|
||||
|
||||
Installation
|
||||
===============================================
|
||||
1. Add ``fobi.contrib.themes.bootstrap3.widgets.form_elements.datetime_bootstrap3_widget``
|
||||
to the ``INSTALLED_APPS`` in your ``settings.py``.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
INSTALLED_APPS = (
|
||||
# ...
|
||||
'fobi.contrib.themes.bootstrap3',
|
||||
'fobi.contrib.themes.bootstrap3.widgets.form_elements.datetime_bootstrap3_widget',
|
||||
'fobi.contrib.plugins.form_elements.fields.datetime',
|
||||
# ...
|
||||
)
|
||||
|
||||
2. Specify ``bootstrap3`` as a default theme in your ``settings.py``:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
FOBI_DEFAULT_THEME = 'bootstrap3'
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
__title__ = 'fobi.contrib.themes.bootstrap3.widgets.form_elements.datetime_bootstrap3_widget'
|
||||
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
|
||||
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
|
||||
__license__ = 'GPL 2.0/LGPL 2.1'
|
||||
__all__ = ('default_app_config',)
|
||||
|
||||
default_app_config = 'fobi.contrib.themes.bootstrap3.widgets.form_elements.datetime_bootstrap3_widget.apps.Config'
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
__title__ = 'fobi.contrib.themes.bootstrap3.widgets.form_elements.datetime_bootstrap3_widget.apps'
|
||||
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
|
||||
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
|
||||
__license__ = 'GPL 2.0/LGPL 2.1'
|
||||
__all__ = ('Config',)
|
||||
|
||||
try:
|
||||
from django.apps import AppConfig
|
||||
|
||||
class Config(AppConfig):
|
||||
name = 'fobi.contrib.themes.bootstrap3.widgets.form_elements.datetime_bootstrap3_widget'
|
||||
label = 'fobi_contrib_themes_bootstrap3_widgets_form_elements_datetime_bootstrap3_widget'
|
||||
|
||||
except ImportError:
|
||||
pass
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
__title__ = 'fobi.contrib.themes.bootstrap3.widgets.form_elements.datetime_bootstrap3_widget.fobi_form_elements'
|
||||
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
|
||||
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
|
||||
__license__ = 'GPL 2.0/LGPL 2.1'
|
||||
__all__ = ('DateTimePluginWidget',)
|
||||
|
||||
from fobi.base import form_element_plugin_widget_registry
|
||||
from fobi.contrib.themes.bootstrap3 import UID
|
||||
from fobi.contrib.plugins.form_elements.fields.datetime.widgets import (
|
||||
BaseDateTimePluginWidget
|
||||
)
|
||||
|
||||
class DateTimePluginWidget(BaseDateTimePluginWidget):
|
||||
"""
|
||||
DateTime plugin widget for Boootstrap 3.
|
||||
"""
|
||||
theme_uid = UID
|
||||
media_js = [
|
||||
'js/moment-with-locales.js',
|
||||
'bootstrap3/js/bootstrap-datetimepicker.min.js',
|
||||
'bootstrap3/js/fobi.plugin.datetime-bootstrap3-widget.js',
|
||||
]
|
||||
media_css = [
|
||||
'bootstrap3/css/bootstrap-datetimepicker.min.css',
|
||||
#'datetime/css/fobi.plugin.datetime-bootstrap3-widget.css',
|
||||
]
|
||||
|
||||
|
||||
# Registering the widget
|
||||
form_element_plugin_widget_registry.register(DateTimePluginWidget)
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
;
|
||||
|
||||
$(document).ready(function() {
|
||||
$('input[type="datetime"]').datetimepicker({
|
||||
format: 'YYYY-MM-DD HH:mm:ss'
|
||||
});
|
||||
});
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
__title__ = 'fobi.contrib.themes.bootstrap3.widgets.form_elements.dummy_bootstrap3_widget'
|
||||
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
|
||||
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
|
||||
__license__ = 'GPL 2.0/LGPL 2.1'
|
||||
__all__ = ('default_app_config',)
|
||||
|
||||
default_app_config = 'fobi.contrib.themes.bootstrap3.widgets.form_elements.dummy_bootstrap3_widget.apps.Config'
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
__title__ = 'fobi.contrib.themes.bootstrap3.widgets.form_elements.dummy_bootstrap3_widget.apps'
|
||||
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
|
||||
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
|
||||
__license__ = 'GPL 2.0/LGPL 2.1'
|
||||
__all__ = ('Config',)
|
||||
|
||||
try:
|
||||
from django.apps import AppConfig
|
||||
|
||||
class Config(AppConfig):
|
||||
name = 'fobi.contrib.themes.bootstrap3.widgets.form_elements.dummy_bootstrap3_widget'
|
||||
label = 'fobi_contrib_themes_bootstrap3_widgets_form_elements_dummy_bootstrap3_widget'
|
||||
|
||||
except ImportError:
|
||||
pass
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
__title__ = 'fobi.contrib.themes.bootstrap3.fobi_form_elements'
|
||||
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
|
||||
__copyright__ = 'Copyright (c) 2014 Artur Barseghyan'
|
||||
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
|
||||
__license__ = 'GPL 2.0/LGPL 2.1'
|
||||
__all__ = ('DummyPluginWidget',)
|
||||
|
||||
|
|
@ -15,8 +15,12 @@ class DummyPluginWidget(BaseDummyPluginWidget):
|
|||
Dummy plugin widget for Boootstrap 3.
|
||||
"""
|
||||
theme_uid = UID
|
||||
media_js = ['dummy/js/fobi.plugins.form_elements.dummy.js',]
|
||||
media_css = ['dummy/css/fobi.plugins.form_elements.dummy.css',]
|
||||
media_js = [
|
||||
#'bootstrap3/js/fobi.plugin.dummy-bootstrap3-widget.js',
|
||||
]
|
||||
media_css = [
|
||||
#'datetime/css/fobi.plugin.dummy-bootstrap3-widget.css',
|
||||
]
|
||||
|
||||
|
||||
# Registering the widget
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
__title__ = 'fobi.contrib.themes.foundation5.widgets.form_handlers.db_store_foundation5_widget'
|
||||
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
|
||||
__copyright__ = 'Copyright (c) 2014 Artur Barseghyan'
|
||||
__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan'
|
||||
__license__ = 'GPL 2.0/LGPL 2.1'
|
||||
__all__ = ('default_app_config', 'UID',)
|
||||
__all__ = ('default_app_config',)
|
||||
|
||||
default_app_config = 'fobi.contrib.themes.foundation5.widgets.form_handlers.db_store_foundation5_widget.apps.Config'
|
||||
|
|
|
|||
9792
src/fobi/static/js/moment-with-locales.js
Normal file
9792
src/fobi/static/js/moment-with-locales.js
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue