Version Description
- Added the feature to display posts and pages in Toolset dashboard by default.
- Added the ability to set the purpose of a View or a WordPress Archive, when creating from the Toolset Dashboard.
- Added support for user language setting.
- Renamed "Thumbnail" to "Featured Image" in custom post type edit screen options.
- Removed non-Types taxonomies from the related section in post type edit screen.
- Removed "Layouts not compatible with theme" message.
- Fixed an issue with checkbox user field with option to save 0 to the database
- Fixed an issue that WordPress Archives created inside Layouts were listed in Views section of Types Information table
- Fixed a compatibility issue with WPML plugin which was causing duplicate keys in the icl_strings table, when renaming post field groups or post types.
- Fixed a compatibility issue with UseAnyFont plugin.
Download this release
Release Info
Developer | christianglingener |
Plugin | Toolset Types – Custom Post Types, Custom Fields and Taxonomies |
Version | 2.2.9 |
Comparing to | |
See all releases |
Code changes from version 2.2.8 to 2.2.9
- application/autoload_classmap.php +215 -0
- application/bootstrap.php +1 -12
- application/controllers/ajax.php +2 -2
- application/{api.php → controllers/api.php} +0 -0
- application/controllers/asset/manager.php +0 -12
- application/controllers/import_export.php +183 -100
- application/controllers/information/controller.php +19 -16
- application/controllers/interop/handler/divi.php +1 -3
- application/controllers/interop/handler/use_any_font.php +62 -0
- application/controllers/interop/handler/wpml.php +78 -0
- application/controllers/interop/mediator.php +9 -0
- application/controllers/main.php +23 -7
- application/controllers/page/dashboard.php +21 -27
- application/controllers/page/extension/settings.php +2 -2
- application/controllers/page/field_control.php +2 -2
- application/controllers/page/hidden/helper.php +1 -1
- application/controllers/utils.php +39 -0
- application/data/dashboard/table/archive.php +211 -56
- application/data/dashboard/table/forms.php +11 -11
- application/data/dashboard/table/head.php +22 -22
- application/data/dashboard/table/template.php +190 -46
- application/data/dashboard/table/views.php +22 -18
- application/data/documentation-urls.php +2 -2
- application/data/information/layouts-not-compatible.php +0 -30
- application/data/information/table/archive.php +233 -52
- application/data/information/table/forms.php +11 -11
- application/data/information/table/question-marks.php +15 -15
- application/data/information/table/template.php +231 -49
- application/data/information/table/views.php +11 -11
- application/models/field/group/factory.php +8 -0
- application/models/helper/condition/layouts/template_exists.php +1 -1
- application/models/helper/condition/layouts/template_missing.php +5 -1
- application/models/helper/condition/type/no_post_or_page.php +8 -0
- application/models/helper/condition/type/post_or_page.php +12 -0
- application/models/helper/condition/views/views_exist.php +6 -1
- application/models/helper/create/content_template.php +1 -1
- application/models/helper/create/form.php +1 -1
- application/models/helper/create/layout.php +1 -1
- application/models/helper/create/view.php +1 -1
- application/models/helper/create/wordpress_archive.php +2 -2
- application/models/helper/placeholder.php +18 -12
- application/models/helper/twig.php +9 -1
- application/models/setting/preset/information_table.php +3 -3
- application/models/wpml/field/group/string.php +90 -38
- application/models/wpml/interface.php +1 -0
- application/views/information/description/link.twig +1 -1
- application/views/page/dashboard/help.twig +5 -5
- disabled_autoload_classmap.php +0 -151
- library/toolset/onthego-resources/.gitignore +0 -72
- library/toolset/onthego-resources/onthegosystems-icons/.fontcustom-manifest.json +10 -6
- library/toolset/onthego-resources/onthegosystems-icons/css/_onthegosystems-icons.scss +9 -6
- library/toolset/onthego-resources/onthegosystems-icons/css/onthegosystems-icons.css +8 -6
- library/toolset/onthego-resources/onthegosystems-icons/fonts/onthegosystems-icons-preview.html +22 -7
- library/toolset/onthego-resources/onthegosystems-icons/fonts/onthegosystems-icons_91cc76c6ec19609541b007a2169151af.woff +0 -0
- library/toolset/onthego-resources/onthegosystems-icons/fonts/{onthegosystems-icons_91cc76c6ec19609541b007a2169151af.eot → onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.eot} +0 -0
- library/toolset/onthego-resources/onthegosystems-icons/fonts/{onthegosystems-icons_91cc76c6ec19609541b007a2169151af.svg → onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.svg} +13 -10
- library/toolset/onthego-resources/onthegosystems-icons/fonts/{onthegosystems-icons_91cc76c6ec19609541b007a2169151af.ttf → onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.ttf} +0 -0
- library/toolset/onthego-resources/onthegosystems-icons/fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.woff +0 -0
- library/toolset/onthego-resources/onthegosystems-icons/vectors/toolset-export.svg +45 -0
- library/toolset/toolset-common/autoload_classmap.php +44 -0
- library/toolset/toolset-common/bootstrap.php +121 -32
- library/toolset/toolset-common/changelog.md +18 -1
- library/toolset/toolset-common/classes/forms.php +2 -2
- library/toolset/toolset-common/debug/debug-information.php +3 -1
- library/toolset/toolset-common/inc/autoloaded/date_utils.php +306 -0
- library/toolset/toolset-common/inc/autoloaded/result.php +87 -0
- library/toolset/toolset-common/inc/autoloaded/result_set.php +209 -0
- library/toolset/toolset-common/inc/autoloaded/result_updated.php +56 -0
- library/toolset/toolset-common/inc/controller/admin/notices.php +389 -0
- library/toolset/toolset-common/inc/toolset.admin.bar.menu.class.php +5 -6
- library/toolset/toolset-common/inc/toolset.assets.manager.class.php +622 -370
- library/toolset/toolset-common/inc/toolset.bootstrap.loader.class.php +39 -0
- library/toolset/toolset-common/inc/toolset.css.component.class.php +160 -112
- library/toolset/toolset-common/inc/toolset.export.import.screen.class.php +7 -2
- library/toolset/toolset-common/inc/toolset.function.helpers.php +48 -0
- library/toolset/toolset-common/inc/toolset.localization.class.php +7 -6
- library/toolset/toolset-common/inc/toolset.menu.class.php +4 -2
- library/toolset/toolset-common/inc/toolset.object.relationship.class.php +105 -15
- library/toolset/toolset-common/inc/toolset.promotion.class.php +1 -1
- library/toolset/toolset-common/inc/toolset.relevanssi.compatibility.class.php +1 -1
- library/toolset/toolset-common/inc/toolset.settings.class.php +139 -0
- library/toolset/toolset-common/inc/toolset.settings.screen.class.php +129 -2
- library/toolset/toolset-common/{visual-editor/shortcode_generator/shortcode-generator.class.php → inc/toolset.shortcode.generator.class.php} +85 -0
- library/toolset/toolset-common/inc/toolset.wplogger.class.php +1 -1
- library/toolset/toolset-common/inc/toolset.wpml.compatibility.class.php +145 -27
- library/toolset/toolset-common/lib/cakephp.validation.class.php +1 -1
- library/toolset/toolset-common/lib/enlimbo.forms.class.php +2 -2
- library/toolset/toolset-common/lib/validate.class.php +1 -1
- library/toolset/toolset-common/loader.php +4 -5
- library/toolset/toolset-common/readme.md +140 -1
- library/toolset/toolset-common/res/css/toolset-admin-notices.css +139 -0
- library/toolset/toolset-common/res/css/toolset-bs-component.css +33 -19
- library/toolset/toolset-common/res/css/toolset-common.css +1 -0
- library/toolset/toolset-common/res/css/toolset-dialogs.css +28 -4
- library/toolset/toolset-common/res/js/toolset-admin-notices.js +24 -0
- library/toolset/toolset-common/res/js/toolset-bs-component-buttons.js +37 -187
- library/toolset/toolset-common/res/js/toolset-bs-component-events.js +93 -74
- library/toolset/toolset-common/res/js/toolset-bs-component-tinymce.js +132 -0
- library/toolset/toolset-common/res/js/toolset-select2-compatibility.js +1 -0
- library/toolset/toolset-common/res/js/toolset-settings.js +121 -41
- library/toolset/toolset-common/res/lib/bootstrap/config.json +434 -0
- library/toolset/toolset-common/res/lib/bootstrap/css/bootstrap-theme.css +596 -0
- library/toolset/toolset-common/res/lib/bootstrap/css/bootstrap-theme.min.css +14 -0
- library/toolset/toolset-common/res/lib/bootstrap/css/bootstrap.css +6365 -0
- library/toolset/toolset-common/res/lib/bootstrap/css/bootstrap.min.css +14 -0
- library/toolset/toolset-common/res/lib/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
- library/toolset/toolset-common/res/lib/bootstrap/fonts/glyphicons-halflings-regular.svg +288 -0
- library/toolset/toolset-common/res/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
- library/toolset/toolset-common/res/lib/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
- library/toolset/toolset-common/res/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
- library/toolset/toolset-common/res/lib/bootstrap/js/bootstrap.js +2380 -0
- library/toolset/toolset-common/res/lib/bootstrap/js/bootstrap.min.js +12 -0
- library/toolset/toolset-common/res/lib/colorbox/jquery.colorbox-min.js +1 -1
- library/toolset/toolset-common/res/lib/knockout/knockout-3.4.0.debug.js +790 -0
application/autoload_classmap.php
ADDED
@@ -0,0 +1,215 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// Generated by ZF2's ./bin/classmap_generator.php
|
3 |
+
return array(
|
4 |
+
'Types_Field_Type_Definition_Checkbox' => dirname( __FILE__ ) . '/models/field/type/definition/checkbox.php',
|
5 |
+
'Types_Field_Type_Definition_Radio' => dirname( __FILE__ ) . '/models/field/type/definition/radio.php',
|
6 |
+
'Types_Field_Type_Definition_Numeric' => dirname( __FILE__ ) . '/models/field/type/definition/numeric.php',
|
7 |
+
'Types_Field_Type_Definition_Checkboxes' => dirname( __FILE__ ) . '/models/field/type/definition/checkboxes.php',
|
8 |
+
'Types_Field_Type_Definition_Singular' => dirname( __FILE__ ) . '/models/field/type/definition/singular.php',
|
9 |
+
'Types_Field_Type_Definition_Select' => dirname( __FILE__ ) . '/models/field/type/definition/select.php',
|
10 |
+
'Types_Field_Type_Definition_Date' => dirname( __FILE__ ) . '/models/field/type/definition/date.php',
|
11 |
+
'Types_Field_Type_Definition' => dirname( __FILE__ ) . '/models/field/type/definition.php',
|
12 |
+
'Types_Field_Type_Definition_Factory' => dirname( __FILE__ ) . '/models/field/type/definition_factory.php',
|
13 |
+
'Types_Field_Group_User_Factory' => dirname( __FILE__ ) . '/models/field/group/user_factory.php',
|
14 |
+
'Types_Field_Group_Post' => dirname( __FILE__ ) . '/models/field/group/post.php',
|
15 |
+
'Types_Field_Group_Factory' => dirname( __FILE__ ) . '/models/field/group/factory.php',
|
16 |
+
'Types_Field_Group_User' => dirname( __FILE__ ) . '/models/field/group/user.php',
|
17 |
+
'Types_Field_Group_Post_Factory' => dirname( __FILE__ ) . '/models/field/group/post_factory.php',
|
18 |
+
'Types_Field_Group_Term' => dirname( __FILE__ ) . '/models/field/group/term.php',
|
19 |
+
'Types_Field_Group_Term_Factory' => dirname( __FILE__ ) . '/models/field/group/term_factory.php',
|
20 |
+
'Types_Field_Group' => dirname( __FILE__ ) . '/models/field/group.php',
|
21 |
+
'Types_Setting_Option_Interface' => dirname( __FILE__ ) . '/models/setting/option/interface.php',
|
22 |
+
'Types_Setting_Interface' => dirname( __FILE__ ) . '/models/setting/interface.php',
|
23 |
+
'Types_Setting_Boolean' => dirname( __FILE__ ) . '/models/setting/boolean.php',
|
24 |
+
'Types_Setting_Option' => dirname( __FILE__ ) . '/models/setting/option.php',
|
25 |
+
'Types_Setting_Preset_Information_Table' => dirname( __FILE__ ) . '/models/setting/preset/information_table.php',
|
26 |
+
'Types_Taxonomy' => dirname( __FILE__ ) . '/models/taxonomy.php',
|
27 |
+
'Types_Post_Type' => dirname( __FILE__ ) . '/models/post_type.php',
|
28 |
+
'Types_Helper_Create_Content_Template' => dirname( __FILE__ ) . '/models/helper/create/content_template.php',
|
29 |
+
'Types_Helper_Create_Layout' => dirname( __FILE__ ) . '/models/helper/create/layout.php',
|
30 |
+
'Types_Helper_Create_View' => dirname( __FILE__ ) . '/models/helper/create/view.php',
|
31 |
+
'Types_Helper_Create_Wordpress_Archive' => dirname( __FILE__ ) . '/models/helper/create/wordpress_archive.php',
|
32 |
+
'Types_Helper_Create_Form' => dirname( __FILE__ ) . '/models/helper/create/form.php',
|
33 |
+
'Types_Helper_Output_Interface' => dirname( __FILE__ ) . '/models/helper/output/interface.php',
|
34 |
+
'Types_Helper_Output_Meta_Box' => dirname( __FILE__ ) . '/models/helper/output/meta_box.php',
|
35 |
+
'Types_Helper_Url' => dirname( __FILE__ ) . '/models/helper/url.php',
|
36 |
+
'Types_Helper_Twig' => dirname( __FILE__ ) . '/models/helper/twig.php',
|
37 |
+
'Types_Helper_Placeholder' => dirname( __FILE__ ) . '/models/helper/placeholder.php',
|
38 |
+
'Types_Helper_Condition' => dirname( __FILE__ ) . '/models/helper/condition.php',
|
39 |
+
'Types_Helper_Condition_Type_Post_Or_Page' => dirname( __FILE__ ) . '/models/helper/condition/type/post_or_page.php',
|
40 |
+
'Types_Helper_Condition_Type_No_Post_Or_Page' => dirname( __FILE__ ) . '/models/helper/condition/type/no_post_or_page.php',
|
41 |
+
'Types_Helper_Condition_Type_Fields_Assigned' => dirname( __FILE__ ) . '/models/helper/condition/type/fields_assigned.php',
|
42 |
+
'Types_Helper_Condition_Template' => dirname( __FILE__ ) . '/models/helper/condition/template.php',
|
43 |
+
'Types_Helper_Condition_Layouts_Template_Missing' => dirname( __FILE__ ) . '/models/helper/condition/layouts/template_missing.php',
|
44 |
+
'Types_Helper_Condition_Layouts_Active' => dirname( __FILE__ ) . '/models/helper/condition/layouts/active.php',
|
45 |
+
'Types_Helper_Condition_Layouts_Missing' => dirname( __FILE__ ) . '/models/helper/condition/layouts/missing.php',
|
46 |
+
'Types_Helper_Condition_Layouts_Template_Exists' => dirname( __FILE__ ) . '/models/helper/condition/layouts/template_exists.php',
|
47 |
+
'Types_Helper_Condition_Layouts_Archive_Exists' => dirname( __FILE__ ) . '/models/helper/condition/layouts/archive_exists.php',
|
48 |
+
'Types_Helper_Condition_Layouts_Compatible' => dirname( __FILE__ ) . '/models/helper/condition/layouts/compatible.php',
|
49 |
+
'Types_Helper_Condition_Layouts_Archive_Missing' => dirname( __FILE__ ) . '/models/helper/condition/layouts/archive_missing.php',
|
50 |
+
'Types_Helper_Condition_Single_Has_Fields' => dirname( __FILE__ ) . '/models/helper/condition/single/has_fields.php',
|
51 |
+
'Types_Helper_Condition_Single_Missing' => dirname( __FILE__ ) . '/models/helper/condition/single/missing.php',
|
52 |
+
'Types_Helper_Condition_Single_No_Fields' => dirname( __FILE__ ) . '/models/helper/condition/single/no_fields.php',
|
53 |
+
'Types_Helper_Condition_Single_Exists' => dirname( __FILE__ ) . '/models/helper/condition/single/exists.php',
|
54 |
+
'Types_Helper_Condition_Archive_Support' => dirname( __FILE__ ) . '/models/helper/condition/archive/support.php',
|
55 |
+
'Types_Helper_Condition_Archive_Has_Fields' => dirname( __FILE__ ) . '/models/helper/condition/archive/has_fields.php',
|
56 |
+
'Types_Helper_Condition_Archive_No_Support' => dirname( __FILE__ ) . '/models/helper/condition/archive/no_support.php',
|
57 |
+
'Types_Helper_Condition_Archive_Missing' => dirname( __FILE__ ) . '/models/helper/condition/archive/missing.php',
|
58 |
+
'Types_Helper_Condition_Archive_No_Fields' => dirname( __FILE__ ) . '/models/helper/condition/archive/no_fields.php',
|
59 |
+
'Types_Helper_Condition_Archive_Exists' => dirname( __FILE__ ) . '/models/helper/condition/archive/exists.php',
|
60 |
+
'Types_Helper_Condition_Screen' => dirname( __FILE__ ) . '/models/helper/condition/screen.php',
|
61 |
+
'Types_Helper_Condition_Views_Template_Missing' => dirname( __FILE__ ) . '/models/helper/condition/views/template_missing.php',
|
62 |
+
'Types_Helper_Condition_Views_Active' => dirname( __FILE__ ) . '/models/helper/condition/views/active.php',
|
63 |
+
'Types_Helper_Condition_Views_Missing' => dirname( __FILE__ ) . '/models/helper/condition/views/missing.php',
|
64 |
+
'Types_Helper_Condition_Views_Views_Exist' => dirname( __FILE__ ) . '/models/helper/condition/views/views_exist.php',
|
65 |
+
'Types_Helper_Condition_Views_Template_Exists' => dirname( __FILE__ ) . '/models/helper/condition/views/template_exists.php',
|
66 |
+
'Types_Helper_Condition_Views_Archive_Exists' => dirname( __FILE__ ) . '/models/helper/condition/views/archive_exists.php',
|
67 |
+
'Types_Helper_Condition_Views_Views_Missing' => dirname( __FILE__ ) . '/models/helper/condition/views/views_missing.php',
|
68 |
+
'Types_Helper_Condition_Views_Archive_Missing' => dirname( __FILE__ ) . '/models/helper/condition/views/archive_missing.php',
|
69 |
+
'Types_Helper_Condition_Cred_Active' => dirname( __FILE__ ) . '/models/helper/condition/cred/active.php',
|
70 |
+
'Types_Helper_Condition_Cred_Missing' => dirname( __FILE__ ) . '/models/helper/condition/cred/missing.php',
|
71 |
+
'Types_Helper_Condition_Cred_Forms_Exist' => dirname( __FILE__ ) . '/models/helper/condition/cred/forms_exist.php',
|
72 |
+
'Types_Helper_Condition_Cred_Forms_Missing' => dirname( __FILE__ ) . '/models/helper/condition/cred/forms_missing.php',
|
73 |
+
'Types_Setting' => dirname( __FILE__ ) . '/models/setting.php',
|
74 |
+
'Types_Api_Helper' => dirname( __FILE__ ) . '/models/api/helper.php',
|
75 |
+
'Types_Information_Container' => dirname( __FILE__ ) . '/models/information/container.php',
|
76 |
+
'Types_Information_Message_Post_Type' => dirname( __FILE__ ) . '/models/information/message/post_type.php',
|
77 |
+
'Types_Information_Message' => dirname( __FILE__ ) . '/models/information/message.php',
|
78 |
+
'Types_Information_Table' => dirname( __FILE__ ) . '/models/information/table.php',
|
79 |
+
'Types_Wpml_Field_Group_String' => dirname( __FILE__ ) . '/models/wpml/field/group/string.php',
|
80 |
+
'Types_Wpml_Field_Group_String_Name' => dirname( __FILE__ ) . '/models/wpml/field/group/string/name.php',
|
81 |
+
'Types_Wpml_Field_Group_String_Description' => dirname( __FILE__ ) . '/models/wpml/field/group/string/description.php',
|
82 |
+
'Types_Wpml_Interface' => dirname( __FILE__ ) . '/models/wpml/interface.php',
|
83 |
+
'Types_Wpml_Field_Group' => dirname( __FILE__ ) . '/models/wpml/field_group.php',
|
84 |
+
'Types_Field_Type_Converter' => dirname( __FILE__ ) . '/controllers/field/type_converter.php',
|
85 |
+
'Types_Field_Utils' => dirname( __FILE__ ) . '/controllers/field/utils.php',
|
86 |
+
'Types_Frontend' => dirname( __FILE__ ) . '/controllers/frontend.php',
|
87 |
+
'Types_Import_Export' => dirname( __FILE__ ) . '/controllers/import_export.php',
|
88 |
+
'Types_Admin_Menu' => dirname( __FILE__ ) . '/controllers/admin_menu.php',
|
89 |
+
'Types_Interop_Handler_Interface' => dirname( __FILE__ ) . '/controllers/interop/handler_interface.php',
|
90 |
+
'Types_Interop_Handler_Wpml' => dirname( __FILE__ ) . '/controllers/interop/handler/wpml.php',
|
91 |
+
'Types_Interop_Handler_Use_Any_Font' => dirname( __FILE__ ) . '/controllers/interop/handler/use_any_font.php',
|
92 |
+
'Types_Interop_Handler_Divi' => dirname( __FILE__ ) . '/controllers/interop/handler/divi.php',
|
93 |
+
'Types_Interop_Mediator' => dirname( __FILE__ ) . '/controllers/interop/mediator.php',
|
94 |
+
'Types_Assets' => dirname( __FILE__ ) . '/controllers/assets.php',
|
95 |
+
'Types_Ajax' => dirname( __FILE__ ) . '/controllers/ajax.php',
|
96 |
+
'Types_Embedded' => dirname( __FILE__ ) . '/controllers/embedded.php',
|
97 |
+
'Types_Page_Extension_Edit_Post_Type' => dirname( __FILE__ ) . '/controllers/page/extension/edit_post_type.php',
|
98 |
+
'Types_Page_Extension_Edit_Post_Fields' => dirname( __FILE__ ) . '/controllers/page/extension/edit_post_fields.php',
|
99 |
+
'Types_Page_Extension_Edit_Post' => dirname( __FILE__ ) . '/controllers/page/extension/edit_post.php',
|
100 |
+
'Types_Page_Extension_Settings' => dirname( __FILE__ ) . '/controllers/page/extension/settings.php',
|
101 |
+
'Types_Page_Abstract' => dirname( __FILE__ ) . '/controllers/page/abstract.php',
|
102 |
+
'Types_Page_Hidden_Helper' => dirname( __FILE__ ) . '/controllers/page/hidden/helper.php',
|
103 |
+
'Types_Page_Dashboard' => dirname( __FILE__ ) . '/controllers/page/dashboard.php',
|
104 |
+
'Types_Page_Field_Control' => dirname( __FILE__ ) . '/controllers/page/field_control.php',
|
105 |
+
'Types_Dialog_Box' => dirname( __FILE__ ) . '/controllers/dialog_box.php',
|
106 |
+
'Types_Api_Handler_Interface' => dirname( __FILE__ ) . '/controllers/api/handler/interface.php',
|
107 |
+
'Types_Api_Handler_Query_Groups' => dirname( __FILE__ ) . '/controllers/api/handler/query_groups.php',
|
108 |
+
'Types_Api_Handler_Import_From_Zip_File' => dirname( __FILE__ ) . '/controllers/api/handler/import_from_zip_file.php',
|
109 |
+
'Types_Information_Controller' => dirname( __FILE__ ) . '/controllers/information/controller.php',
|
110 |
+
'Types_Admin' => dirname( __FILE__ ) . '/controllers/admin.php',
|
111 |
+
'Types_Asset_Help_Tab_Loader' => dirname( __FILE__ ) . '/controllers/asset/help_tab_loader.php',
|
112 |
+
'Types_Asset_Manager' => dirname( __FILE__ ) . '/controllers/asset/manager.php',
|
113 |
+
'Types_Main' => dirname( __FILE__ ) . '/controllers/main.php',
|
114 |
+
'Types_Upgrade' => dirname( __FILE__ ) . '/controllers/upgrade.php',
|
115 |
+
'Types_Api' => dirname( __FILE__ ) . '/controllers/api.php',
|
116 |
+
'Types_Ajax_Handler_Interface' => dirname( __FILE__ ) . '/controllers/ajax/handler_interface.php',
|
117 |
+
'Types_Ajax_Handler_Settings_Action' => dirname( __FILE__ ) . '/controllers/ajax/handler/settings_action.php',
|
118 |
+
'Types_Ajax_Handler_Abstract' => dirname( __FILE__ ) . '/controllers/ajax/handler/abstract.php',
|
119 |
+
'Types_Ajax_Handler_Field_Control_Action' => dirname( __FILE__ ) . '/controllers/ajax/handler/field_control_action.php',
|
120 |
+
'Types_Ajax_Handler_Check_Slug_Conflicts' => dirname( __FILE__ ) . '/controllers/ajax/handler/check_slug_conflicts.php',
|
121 |
+
'Types_Utils' => dirname( __FILE__ ) . '/controllers/utils.php',
|
122 |
+
'Types_Twig_Autoloader' => dirname( __FILE__ ) . '/controllers/twig_autoloader.php',
|
123 |
+
'WPCF_Loader' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/loader.php',
|
124 |
+
'WPCF_Usermeta_Repeater' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/usermeta_repeater.php',
|
125 |
+
'WPCF_Field_Renderer_Abstract' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/renderer/abstract.php',
|
126 |
+
'WPCF_Field_Renderer_Preview_Checkbox' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/renderer/preview/checkbox.php',
|
127 |
+
'WPCF_Field_Renderer_Preview_Radio' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/renderer/preview/radio.php',
|
128 |
+
'WPCF_Field_Renderer_Preview_URL' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/renderer/preview/url.php',
|
129 |
+
'WPCF_Field_Renderer_Preview_Image' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/renderer/preview/image.php',
|
130 |
+
'WPCF_Field_Renderer_Preview_Textfield' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/renderer/preview/textfield.php',
|
131 |
+
'WPCF_Field_Renderer_Preview_File' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/renderer/preview/file.php',
|
132 |
+
'WPCF_Field_Renderer_Preview_Checkboxes' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/renderer/preview/checkboxes.php',
|
133 |
+
'WPCF_Field_Renderer_Preview_Skype' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/renderer/preview/skype.php',
|
134 |
+
'WPCF_Field_Renderer_Preview_Base' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/renderer/preview/base.php',
|
135 |
+
'WPCF_Field_Renderer_Preview_Colorpicker' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/renderer/preview/colorpicker.php',
|
136 |
+
'WPCF_Field_Renderer_Preview_Address' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/renderer/preview/address.php',
|
137 |
+
'WPCF_Field_Renderer_Preview_Date' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/renderer/preview/date.php',
|
138 |
+
'WPCF_Field_Renderer_Factory' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/renderer/factory.php',
|
139 |
+
'WPCF_Field_Renderer_Toolset_Forms' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/renderer/toolset_forms.php',
|
140 |
+
'WPCF_Field_Accessor_Dummy' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/accessor/dummy.php',
|
141 |
+
'WPCF_Field_Accessor_Abstract' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/accessor/abstract.php',
|
142 |
+
'WPCF_Field_Accessor_Termmeta_Field' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/accessor/termmeta_field.php',
|
143 |
+
'WPCF_Field_Accessor_Termmeta' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/accessor/termmeta.php',
|
144 |
+
'WPCF_Field_Instance_Unsaved' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/instance_unsaved.php',
|
145 |
+
'WPCF_Field_DataMapper_Checkbox' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/datamapper/checkbox.php',
|
146 |
+
'WPCF_Field_DataMapper_Abstract' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/datamapper/abstract.php',
|
147 |
+
'WPCF_Field_DataMapper_Checkboxes' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/datamapper/checkboxes.php',
|
148 |
+
'WPCF_Field_DataMapper_Identity' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/datamapper/identity.php',
|
149 |
+
'WPCF_Field_Definition_Factory_Post' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/definition_factory_post.php',
|
150 |
+
'WPCF_Field_Hooks_API' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/hooks_api.php',
|
151 |
+
'WPCF_Field_Option_Radio' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/option_radio.php',
|
152 |
+
'WPCF_Field_Definition_Term' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/definition_term.php',
|
153 |
+
'WPCF_Field_Definition_Factory_Term' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/definition_factory_term.php',
|
154 |
+
'WPCF_Field_Definition_Generic' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/definition_generic.php',
|
155 |
+
'WPCF_Field_Definition_Abstract' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/definition_abstract.php',
|
156 |
+
'WPCF_Field_Instance' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/instance.php',
|
157 |
+
'WPCF_Field_Option_Select' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/option_select.php',
|
158 |
+
'WPCF_Field_Definition_Factory_User' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/definition_factory_user.php',
|
159 |
+
'WPCF_Field_Definition' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/definition.php',
|
160 |
+
'WPCF_Field_Option_Checkboxes' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/option_checkboxes.php',
|
161 |
+
'WPCF_Field_Definition_Factory' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/definition_factory.php',
|
162 |
+
'WPCF_Field_Definition_User' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/definition_user.php',
|
163 |
+
'WPCF_Field_Data_Saver' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/data_saver.php',
|
164 |
+
'WPCF_Field_Instance_Term' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/instance_term.php',
|
165 |
+
'WPCF_Field_Definition_Post' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/definition_post.php',
|
166 |
+
'WPCF_Field_Instance_Abstract' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field/instance_abstract.php',
|
167 |
+
'WPCF_Path' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/path.php',
|
168 |
+
'WPCF_Repeater' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/repeater.php',
|
169 |
+
'WPCF_Termmeta_Repeater' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/repeater.php',
|
170 |
+
'WPCF_GUI_Term_Field_Editing' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/gui/term_field_editing.php',
|
171 |
+
'WPCF_Validation' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/validation.php',
|
172 |
+
'WPCF_Import_Export' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/class.wpcf-import-export.php',
|
173 |
+
'WPCF_WPViews' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/wpviews.php',
|
174 |
+
'WPCF_Usermeta_Field' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/usermeta_field.php',
|
175 |
+
'Enlimbo_Forms_Wpcf' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/forms.php',
|
176 |
+
'WPCF_Fields' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/fields.php',
|
177 |
+
'WPCF_Relationship' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/relationship.php',
|
178 |
+
'Wpcf_Cake_Validation' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/validation-cakephp.php',
|
179 |
+
'WPCF_Post_Types' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/class.wpcf-post-types.php',
|
180 |
+
'WPCF_Evaluate' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/evaluate.php',
|
181 |
+
'WPCF_Conditional' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/conditional.php',
|
182 |
+
'WPCF_Helper_Ajax' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/helper.ajax.php',
|
183 |
+
'WPCF_Editor' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/editor.php',
|
184 |
+
'WPCF_Field' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field.php',
|
185 |
+
'WPCF_Termmeta_Field' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/field.php',
|
186 |
+
'WPCF_Relationship_Child_Form' => dirname( __FILE__ ) . '/../library/toolset/types/embedded/classes/relationship/form-child.php',
|
187 |
+
'WPCF_Types_Marketing_Messages' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.wpcf.marketing.messages.php',
|
188 |
+
'WPCF_Custom_Fields_List_Table' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.wpcf.custom.fields.list.table.php',
|
189 |
+
'Types_Admin_Page' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.types.admin.page.php',
|
190 |
+
'Types_Admin_Post_Types_List_Table' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.types.admin.post.types.list.table.php',
|
191 |
+
'WPCF_Roles' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.wpcf.roles.php',
|
192 |
+
'Types_Admin_Usermeta_Control_Table' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.types.admin.usermeta.table.php',
|
193 |
+
'Types_Admin_Taxonomies' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.types.admin.taxonomies.php',
|
194 |
+
'Types_Admin_Post_Type' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.types.admin.post-type.php',
|
195 |
+
'WPCF_Types_Marketing' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.wpcf.marketing.php',
|
196 |
+
'Types_Admin_Fields' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.types.admin.fields.php',
|
197 |
+
'Types_Admin_Taxonomies_List_Table' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.types.admin.taxonomies.list.table.php',
|
198 |
+
'WPCF_Page_Listing_Abstract' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/page/listing/abstract.php',
|
199 |
+
'WPCF_Page_Listing_Table' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/page/listing/table.php',
|
200 |
+
'WPCF_Page_Listing_Termmeta_Table' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/page/listing/termmeta_table.php',
|
201 |
+
'WPCF_Page_Listing_Termmeta' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/page/listing/termmeta.php',
|
202 |
+
'WPCF_Page_Abstract' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/page/abstract.php',
|
203 |
+
'WPCF_Page_Edit_Termmeta_Form' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/page/edit/termmeta_form.php',
|
204 |
+
'WPCF_Page_Edit_Termmeta' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/page/edit/termmeta.php',
|
205 |
+
'Types_Admin_Edit_Fields' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.types.admin.edit.fields.php',
|
206 |
+
'Types_Admin_Edit_Taxonomy' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.types.admin.edit.taxonomy.php',
|
207 |
+
'Types_Admin_Edit_Meta_Fields_Group' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.types.admin.edit.meta.fields.group.php',
|
208 |
+
'Types_Admin_Edit_Custom_Fields_Group' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.types.admin.edit.custom.fields.group.php',
|
209 |
+
'Types_Admin_Usermeta_Groups_List_Table' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.types.admin.usermeta.groups.list.table.php',
|
210 |
+
'Types_Fields_Conditional' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.types.fields.conditional.php',
|
211 |
+
'Types_Admin_Edit_Post_Type' => dirname( __FILE__ ) . '/../library/toolset/types/includes/classes/class.types.admin.edit.post.type.php',
|
212 |
+
'Toolset_Filesystem_Exception' => dirname( __FILE__ ) . '/../library/toolset/filesystem/exception.php',
|
213 |
+
'Toolset_Filesystem_Directory' => dirname( __FILE__ ) . '/../library/toolset/filesystem/directory.php',
|
214 |
+
'Toolset_Filesystem_File' => dirname( __FILE__ ) . '/../library/toolset/filesystem/file.php',
|
215 |
+
);
|
application/bootstrap.php
CHANGED
@@ -7,14 +7,6 @@ require_once( TYPES_ABSPATH . '/library/toolset/autoloader/autoloader.php' );
|
|
7 |
|
8 |
$autoloader = Toolset_Autoloader::get_instance();
|
9 |
|
10 |
-
$autoloader->add_paths(
|
11 |
-
'Types',
|
12 |
-
array(
|
13 |
-
TYPES_ABSPATH . '/application/controllers',
|
14 |
-
TYPES_ABSPATH . '/application/models',
|
15 |
-
)
|
16 |
-
);
|
17 |
-
|
18 |
$autoloader->add_path( 'Toolset', TYPES_ABSPATH . '/library/toolset' );
|
19 |
|
20 |
|
@@ -65,10 +57,7 @@ require_once( dirname( __FILE__ ) . '/functions.php' );
|
|
65 |
require_once( dirname( __FILE__ ) . '/../library/toolset/types/wpcf.php' );
|
66 |
|
67 |
// Public API
|
68 |
-
require_once( dirname( __FILE__ ) . '/
|
69 |
-
|
70 |
-
// Handle embedded plugin mode
|
71 |
-
Types_Embedded::initialize();
|
72 |
|
73 |
// Jumpstart new Types
|
74 |
Types_Main::initialize();
|
7 |
|
8 |
$autoloader = Toolset_Autoloader::get_instance();
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
$autoloader->add_path( 'Toolset', TYPES_ABSPATH . '/library/toolset' );
|
11 |
|
12 |
|
57 |
require_once( dirname( __FILE__ ) . '/../library/toolset/types/wpcf.php' );
|
58 |
|
59 |
// Public API
|
60 |
+
require_once( dirname( __FILE__ ) . '/controllers/main.php' );
|
|
|
|
|
|
|
61 |
|
62 |
// Jumpstart new Types
|
63 |
Types_Main::initialize();
|
application/controllers/ajax.php
CHANGED
@@ -173,14 +173,14 @@ final class Types_Ajax {
|
|
173 |
|
174 |
// Check permissions
|
175 |
if ( ! current_user_can( $capability_needed ) ) {
|
176 |
-
$error_message = __( 'You do not have permissions for that.', '
|
177 |
$error_type = 'capability';
|
178 |
$is_error = true;
|
179 |
}
|
180 |
|
181 |
// Check nonce
|
182 |
if ( !$is_error && !wp_verify_nonce( wpcf_getarr( $parameter_source, $nonce_parameter, '' ), $nonce_name ) ) {
|
183 |
-
$error_message = __( 'Your security credentials have expired. Please reload the page to get new ones.', '
|
184 |
$error_type = 'nonce';
|
185 |
$is_error = true;
|
186 |
}
|
173 |
|
174 |
// Check permissions
|
175 |
if ( ! current_user_can( $capability_needed ) ) {
|
176 |
+
$error_message = __( 'You do not have permissions for that.', 'wpcf' );
|
177 |
$error_type = 'capability';
|
178 |
$is_error = true;
|
179 |
}
|
180 |
|
181 |
// Check nonce
|
182 |
if ( !$is_error && !wp_verify_nonce( wpcf_getarr( $parameter_source, $nonce_parameter, '' ), $nonce_name ) ) {
|
183 |
+
$error_message = __( 'Your security credentials have expired. Please reload the page to get new ones.', 'wpcf' );
|
184 |
$error_type = 'nonce';
|
185 |
$is_error = true;
|
186 |
}
|
application/{api.php → controllers/api.php}
RENAMED
File without changes
|
application/controllers/asset/manager.php
CHANGED
@@ -13,8 +13,6 @@ final class Types_Asset_Manager extends Toolset_Assets_Manager {
|
|
13 |
//
|
14 |
// NEVER EVER use handles defined here as hardcoded strings, they may change at any time.
|
15 |
|
16 |
-
const SCRIPT_KNOCKOUT = 'knockout';
|
17 |
-
|
18 |
const SCRIPT_ADJUST_MENU_LINK = 'types-adjust-menu-link';
|
19 |
const SCRIPT_SLUG_CONFLICT_CHECKER = 'types-slug-conflict-checker';
|
20 |
|
@@ -26,16 +24,6 @@ final class Types_Asset_Manager extends Toolset_Assets_Manager {
|
|
26 |
const SCRIPT_JQUERY_UI_VALIDATION = 'wpcf-form-validation';
|
27 |
const SCRIPT_ADDITIONAL_VALIDATION_RULES = 'wpcf-form-validation-additional';
|
28 |
|
29 |
-
// Registered in Toolset common
|
30 |
-
|
31 |
-
const SCRIPT_DIALOG_BOXES = 'ddl-dialog-boxes';
|
32 |
-
const SCRIPT_UTILS = 'toolset-utils';
|
33 |
-
const SCRIPT_HEADJS = 'headjs';
|
34 |
-
|
35 |
-
// WordPress Core handles
|
36 |
-
|
37 |
-
const STYLE_JQUERY_UI_DIALOG = 'wp-jquery-ui-dialog';
|
38 |
-
|
39 |
|
40 |
/**
|
41 |
* @return Types_Asset_Manager
|
13 |
//
|
14 |
// NEVER EVER use handles defined here as hardcoded strings, they may change at any time.
|
15 |
|
|
|
|
|
16 |
const SCRIPT_ADJUST_MENU_LINK = 'types-adjust-menu-link';
|
17 |
const SCRIPT_SLUG_CONFLICT_CHECKER = 'types-slug-conflict-checker';
|
18 |
|
24 |
const SCRIPT_JQUERY_UI_VALIDATION = 'wpcf-form-validation';
|
25 |
const SCRIPT_ADDITIONAL_VALIDATION_RULES = 'wpcf-form-validation-additional';
|
26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
|
28 |
/**
|
29 |
* @return Types_Asset_Manager
|
application/controllers/import_export.php
CHANGED
@@ -3,25 +3,28 @@
|
|
3 |
/**
|
4 |
* Types import and export controller.
|
5 |
*
|
6 |
-
* Currently it only contains new code that is hooked into legacy methods plus a bunch of temporary workarounds, but
|
7 |
* has the ambition to become the central point of handling all import and export-related activities.
|
8 |
*
|
9 |
* @since 2.1
|
10 |
*/
|
11 |
final class Types_Import_Export {
|
12 |
-
|
13 |
private static $instance;
|
14 |
-
|
15 |
public static function get_instance() {
|
16 |
-
if( null == self::$instance ) {
|
17 |
self::$instance = new self();
|
18 |
}
|
|
|
19 |
return self::$instance;
|
20 |
}
|
21 |
-
|
22 |
-
private function __clone() {
|
23 |
-
|
24 |
-
|
|
|
|
|
25 |
|
26 |
|
27 |
/**
|
@@ -78,17 +81,18 @@ final class Types_Import_Export {
|
|
78 |
* Completely handle retrieving export data for field groups of one domain.
|
79 |
*
|
80 |
* @param string $domain Valid field domain.
|
|
|
81 |
* @return array Exported field groups.
|
82 |
* @since 2.1
|
83 |
*/
|
84 |
public function export_field_groups_for_domain( $domain ) {
|
85 |
|
86 |
$group_factory = Types_Field_Utils::get_group_factory_by_domain( $domain );
|
87 |
-
$all_groups
|
88 |
|
89 |
// Each group will handle its own export.
|
90 |
$results = array();
|
91 |
-
foreach( $all_groups as $field_group ) {
|
92 |
$results[] = $field_group->get_export_object();
|
93 |
}
|
94 |
|
@@ -102,18 +106,19 @@ final class Types_Import_Export {
|
|
102 |
* Completely handle retrieving export data for field definitions of one domain.
|
103 |
*
|
104 |
* @param string $domain Valid field domain.
|
|
|
105 |
* @return array Exported field definitions.
|
106 |
* @since 2.1
|
107 |
*/
|
108 |
public function export_field_definitions_for_domain( $domain ) {
|
109 |
|
110 |
$definition_factory = Types_Field_Utils::get_definition_factory_by_domain( $domain );
|
111 |
-
$all_definitions
|
112 |
|
113 |
// Each field definition will handle its own export.
|
114 |
$results = array();
|
115 |
/** @var WPCF_Field_Definition $field_definition */
|
116 |
-
foreach( $all_definitions as $field_definition ) {
|
117 |
$results[] = $field_definition->get_export_object();
|
118 |
}
|
119 |
|
@@ -137,7 +142,7 @@ final class Types_Import_Export {
|
|
137 |
public function add_checksum_to_object( $data, $keys_for_checksum = null, $keys_to_remove = null ) {
|
138 |
|
139 |
// pluck requested keys
|
140 |
-
if( null == $keys_for_checksum ) {
|
141 |
$checksum_source = $data;
|
142 |
} else {
|
143 |
$checksum_source = array();
|
@@ -147,16 +152,16 @@ final class Types_Import_Export {
|
|
147 |
}
|
148 |
}
|
149 |
}
|
150 |
-
|
151 |
// unset undesired keys
|
152 |
-
if( is_array( $keys_to_remove ) ) {
|
153 |
$checksum_source = $this->unset_recursive( $checksum_source, $keys_to_remove );
|
154 |
}
|
155 |
|
156 |
$checksum = $this->generate_checksum( $checksum_source );
|
157 |
|
158 |
$data[ self::XML_KEY_CHECKSUM ] = $checksum;
|
159 |
-
$data[ self::XML_KEY_HASH ]
|
160 |
|
161 |
return $data;
|
162 |
}
|
@@ -182,19 +187,19 @@ final class Types_Import_Export {
|
|
182 |
* @since 2.1
|
183 |
*/
|
184 |
private function unset_recursive( $unset_from, $unset_what ) {
|
185 |
-
if( is_array( $unset_from ) ) {
|
186 |
-
|
187 |
foreach ( $unset_what as $key => $value ) {
|
188 |
-
|
189 |
if ( is_array( $value ) && isset( $unset_from[ $key ] ) ) {
|
190 |
$unset_from[ $key ] = $this->unset_recursive( $unset_from[ $key ], $value );
|
191 |
} else {
|
192 |
unset( $unset_from[ $value ] );
|
193 |
}
|
194 |
}
|
195 |
-
|
196 |
}
|
197 |
-
|
198 |
return $unset_from;
|
199 |
}
|
200 |
|
@@ -205,12 +210,14 @@ final class Types_Import_Export {
|
|
205 |
* @param array $data An associative array representing an object.
|
206 |
* @param string $title
|
207 |
* @param string $id
|
|
|
208 |
* @return array Updated $data.
|
209 |
* @since 2.1
|
210 |
*/
|
211 |
public function annotate_object( $data, $title, $id ) {
|
212 |
-
$data[ self::XML_TYPES_ID ]
|
213 |
$data[ self::XML_TYPES_TITLE ] = $title;
|
|
|
214 |
return $data;
|
215 |
}
|
216 |
|
@@ -221,6 +228,7 @@ final class Types_Import_Export {
|
|
221 |
* Note: Do not touch this.
|
222 |
*
|
223 |
* @param array $data
|
|
|
224 |
* @return string Checksum
|
225 |
* @since 2.1
|
226 |
*/
|
@@ -233,6 +241,7 @@ final class Types_Import_Export {
|
|
233 |
* Sort a multidimensional array by keys recursively.
|
234 |
*
|
235 |
* @param array|mixed $data
|
|
|
236 |
* @return array|mixed Sorted $data.
|
237 |
* @since 2.1
|
238 |
*/
|
@@ -243,55 +252,75 @@ final class Types_Import_Export {
|
|
243 |
$data[ $key ] = $this->ksort_as_string( $value );
|
244 |
}
|
245 |
}
|
|
|
246 |
return $data;
|
247 |
}
|
248 |
|
249 |
|
250 |
/**
|
251 |
* Import field definitions for given domain.
|
252 |
-
*
|
253 |
* Note: Currently only term fields are supported.
|
254 |
-
*
|
255 |
* @param string $domain Valid field domain.
|
256 |
* @param SimpleXMLElement $data Import data from XML.
|
257 |
* @param string $fields_key Node name where the field definitions can be found.
|
258 |
* @param bool $delete_other_fields If true, fields that are not being imported will be deleted from the site.
|
259 |
-
* @param array $field_settings Part of $_POST from the import form related to these fields.
|
|
|
260 |
*
|
261 |
* @return array
|
262 |
*/
|
263 |
-
public function process_field_definition_import_per_domain(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
264 |
|
265 |
$results = array();
|
266 |
|
267 |
$fields_to_preserve = array();
|
268 |
|
269 |
$fields_import_data = array();
|
270 |
-
if( isset( $data->$fields_key ) ) {
|
271 |
/** @noinspection PhpParamsInspection */
|
272 |
$fields_import_data = $this->simplexmlelement_to_object( $data->$fields_key, true );
|
273 |
-
$fields_import_data = isset( $fields_import_data[ Types_Import_Export::XML_KEY_FIELD ] )
|
|
|
274 |
}
|
275 |
|
276 |
-
foreach( $fields_import_data as $field_import_data ) {
|
277 |
$field_slug = $field_import_data['slug'];
|
278 |
|
|
|
279 |
$import_field = isset( $field_settings[ $field_slug ] ) && isset( $field_settings[ $field_slug ]['add'] );
|
280 |
|
281 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
282 |
$result = $this->import_field_definition( $domain, $field_import_data );
|
283 |
-
if( $result['is_success'] ) {
|
284 |
$fields_to_preserve[] = $field_slug;
|
285 |
}
|
286 |
$results[] = array(
|
287 |
-
'type'
|
288 |
'content' => $result['display_message']
|
289 |
);
|
290 |
}
|
291 |
}
|
292 |
|
293 |
$delete_results = $this->maybe_delete_fields( $domain, $delete_other_fields, $fields_to_preserve );
|
294 |
-
$results
|
295 |
|
296 |
return $results;
|
297 |
|
@@ -303,18 +332,18 @@ final class Types_Import_Export {
|
|
303 |
* @param bool $delete_other_fields
|
304 |
* @param string[] $fields_to_preserve Array of field slugs that should be preserved.
|
305 |
*
|
306 |
-
* @return array
|
307 |
*/
|
308 |
private function maybe_delete_fields( $domain, $delete_other_fields, $fields_to_preserve ) {
|
309 |
|
310 |
$results = array();
|
311 |
|
312 |
$definition_factory = Types_Field_Utils::get_definition_factory_by_domain( $domain );
|
313 |
-
$option_name
|
314 |
|
315 |
if ( $delete_other_fields ) {
|
316 |
|
317 |
-
$fields_existing = wpcf_admin_fields_get_fields( false, false, false, $option_name );
|
318 |
|
319 |
foreach ( $fields_existing as $key => $existing_field_definition ) {
|
320 |
|
@@ -326,7 +355,7 @@ final class Types_Import_Export {
|
|
326 |
|
327 |
if ( ! in_array( $existing_field_slug, $fields_to_preserve ) ) {
|
328 |
$results[] = array(
|
329 |
-
'type'
|
330 |
'content' => sprintf(
|
331 |
__( 'User field "%s" deleted', 'wpcf' ),
|
332 |
$existing_field_definition['name']
|
@@ -353,21 +382,23 @@ final class Types_Import_Export {
|
|
353 |
private function import_field_definition( $domain, $definition_array_import ) {
|
354 |
|
355 |
$definition = array(
|
356 |
-
'id'
|
357 |
-
'name'
|
358 |
-
'description' => isset( $definition_array_import['description'] ) ? $definition_array_import['description']
|
359 |
-
|
360 |
-
'
|
361 |
-
'
|
|
|
|
|
362 |
);
|
363 |
|
364 |
-
if( isset( $definition_array_import['meta_key'] ) ) {
|
365 |
$definition['meta_key'] = $definition_array_import['meta_key'];
|
366 |
}
|
367 |
|
368 |
// WPML
|
369 |
global $iclTranslationManagement;
|
370 |
-
if ( !empty( $iclTranslationManagement ) && isset( $definition['wpml_action'] ) ) {
|
371 |
$iclTranslationManagement->settings['custom_fields_translation'][ wpcf_types_get_meta_prefix( $definition ) . $definition['slug'] ] = $definition['wpml_action'];
|
372 |
$iclTranslationManagement->save_settings();
|
373 |
}
|
@@ -376,7 +407,7 @@ final class Types_Import_Export {
|
|
376 |
$definition_factory->set_field_definition_workaround( $definition['slug'], $definition );
|
377 |
|
378 |
return array(
|
379 |
-
'is_success'
|
380 |
'display_message' => sprintf( __( 'Term field "%s" added/updated', 'wpcf' ), $definition['name'] )
|
381 |
);
|
382 |
}
|
@@ -393,30 +424,63 @@ final class Types_Import_Export {
|
|
393 |
* @param bool $bulk_overwrite_groups If true, all (conflicting) groups will be overwritten by the ones from import.
|
394 |
* @param bool $delete_other_groups If true, groups that are not being imported will be deleted from the site.
|
395 |
* @param array $group_settings Part of $_POST from the import form related to these groups.
|
|
|
|
|
396 |
* @return array
|
397 |
*/
|
398 |
-
public function process_field_group_import_per_domain(
|
399 |
-
|
400 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
401 |
$groups_to_preserve = array();
|
402 |
-
|
403 |
$groups_import_data = array();
|
404 |
-
if( isset( $data->$groups_key ) ) {
|
405 |
/** @noinspection PhpParamsInspection */
|
406 |
$groups_import_data = $this->simplexmlelement_to_object( $data->$groups_key, true );
|
407 |
-
$groups_import_data = isset( $groups_import_data[ Types_Import_Export::XML_KEY_GROUP ] )
|
|
|
408 |
}
|
409 |
-
|
410 |
-
foreach( $groups_import_data as $group ) {
|
411 |
|
412 |
// ID of group from the import file
|
413 |
$import_group_id = wpcf_getarr( $group, Types_Field_Group::XML_ID );
|
414 |
|
415 |
-
$group_actions = wpcf_getarr( $group_settings, $import_group_id, array( 'add' => true ) );
|
416 |
-
$group_should_be_imported = isset( $group_actions['add'] );
|
417 |
|
418 |
-
if( $
|
419 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
420 |
$group_action = 'update';
|
421 |
} else {
|
422 |
$group_action = wpcf_getarr( $group_actions, 'update', 'add', array( 'add', 'update' ) );
|
@@ -427,7 +491,7 @@ final class Types_Import_Export {
|
|
427 |
|
428 |
$result = null;
|
429 |
|
430 |
-
switch( $group_action ) {
|
431 |
case 'add':
|
432 |
$result = $this->import_field_group( $domain, $group, 'create_new' );
|
433 |
break;
|
@@ -436,12 +500,12 @@ final class Types_Import_Export {
|
|
436 |
break;
|
437 |
}
|
438 |
|
439 |
-
if( null != $result ) {
|
440 |
$results[] = array(
|
441 |
-
'type'
|
442 |
'content' => $result['display_message']
|
443 |
);
|
444 |
-
if( $result['is_success'] ) {
|
445 |
$groups_to_preserve[] = $result['new_group_id'];
|
446 |
}
|
447 |
}
|
@@ -449,7 +513,7 @@ final class Types_Import_Export {
|
|
449 |
}
|
450 |
|
451 |
$delete_results = $this->maybe_delete_groups( $domain, $delete_other_groups, $groups_to_preserve );
|
452 |
-
$results
|
453 |
|
454 |
return $results;
|
455 |
}
|
@@ -465,23 +529,24 @@ final class Types_Import_Export {
|
|
465 |
private function maybe_delete_groups( $domain, $delete_other_groups, $groups_to_preserve ) {
|
466 |
|
467 |
$results = array();
|
468 |
-
if( $delete_other_groups && !empty( $groups_to_preserve ) ) {
|
469 |
$group_factory = Types_Field_Utils::get_group_factory_by_domain( $domain );
|
470 |
-
$all_groups
|
471 |
|
472 |
-
foreach( $all_groups as $group_to_delete ) {
|
473 |
-
if( !in_array( $group_to_delete->get_id(), $groups_to_preserve ) ) {
|
474 |
|
475 |
$deleted_group_name = $group_to_delete->get_name();
|
476 |
-
$deleted
|
477 |
-
if (
|
478 |
$results[] = array(
|
479 |
-
'type'
|
480 |
-
'content' => sprintf( __( 'Term field group "%s" delete failed', 'wpcf' ),
|
|
|
481 |
);
|
482 |
} else {
|
483 |
$results[] = array(
|
484 |
-
'type'
|
485 |
'content' => sprintf( __( 'Term field group "%s" deleted', 'wpcf' ), $deleted_group_name )
|
486 |
);
|
487 |
}
|
@@ -514,22 +579,22 @@ final class Types_Import_Export {
|
|
514 |
|
515 |
$group_factory = Types_Field_Utils::get_group_factory_by_domain( $domain );
|
516 |
|
517 |
-
$existing_groups
|
518 |
$group_already_exists = ( count( $existing_groups ) > 0 );
|
519 |
|
520 |
$new_post = array(
|
521 |
-
'post_status'
|
522 |
-
'post_type'
|
523 |
-
'post_title'
|
524 |
-
'post_content' => !empty( $group['post_content'] ) ? $group['post_content'] : '',
|
525 |
);
|
526 |
|
527 |
$update_existing = ( $group_already_exists && 'overwrite' == $conflict_resolution );
|
528 |
|
529 |
-
if( $update_existing ) {
|
530 |
$existing_group = $existing_groups[0];
|
531 |
-
$new_post['ID']
|
532 |
-
$new_group_id
|
533 |
} else {
|
534 |
$new_group_id = wp_insert_post( $new_post, true );
|
535 |
}
|
@@ -537,12 +602,12 @@ final class Types_Import_Export {
|
|
537 |
$is_success = ( ! is_wp_error( $new_group_id ) && 0 < $new_group_id );
|
538 |
|
539 |
// Update group's postmeta
|
540 |
-
if( $is_success && ! empty( $group['meta'] ) ) {
|
541 |
foreach ( $group['meta'] as $meta_key => $meta_value ) {
|
542 |
-
if( Types_Field_Group_Term::POSTMETA_ASSOCIATED_TAXONOMY == $meta_key ) {
|
543 |
$meta_values = explode( ',', $meta_value );
|
544 |
delete_post_meta( $new_group_id, $meta_key );
|
545 |
-
foreach( $meta_values as $single_meta_value ) {
|
546 |
update_post_meta( $new_group_id, $meta_key, $single_meta_value );
|
547 |
}
|
548 |
} else {
|
@@ -552,14 +617,14 @@ final class Types_Import_Export {
|
|
552 |
}
|
553 |
|
554 |
// Create display message
|
555 |
-
if( $is_success ) {
|
556 |
-
if( $update_existing ) {
|
557 |
$display_message = sprintf( __( 'Term field group "%s" updated', 'wpcf' ), $group['post_title'] );
|
558 |
} else {
|
559 |
$display_message = sprintf( __( 'Term field group "%s" added', 'wpcf' ), $group['post_title'] );
|
560 |
}
|
561 |
} else {
|
562 |
-
if( $update_existing ) {
|
563 |
$display_message = sprintf( __( 'Term field group "%s" update failed', 'wpcf' ), $group['post_title'] );
|
564 |
} else {
|
565 |
$display_message = sprintf( __( 'Term field group "%s" insert failed', 'wpcf' ), $group['post_title'] );
|
@@ -567,9 +632,9 @@ final class Types_Import_Export {
|
|
567 |
}
|
568 |
|
569 |
return array(
|
570 |
-
'is_success'
|
571 |
'display_message' => $display_message,
|
572 |
-
'new_group_id'
|
573 |
);
|
574 |
}
|
575 |
|
@@ -581,35 +646,53 @@ final class Types_Import_Export {
|
|
581 |
* @return array|null
|
582 |
*/
|
583 |
public function simplexmlelement_to_object( $element, $allways_expand_top_level = false ) {
|
584 |
-
$text_content = trim( (string)$element );
|
585 |
-
if( !empty( $text_content ) ) {
|
586 |
return $text_content;
|
587 |
}
|
588 |
|
589 |
-
if( $element->count() > 0 ) {
|
590 |
$results_by_node_name = array();
|
591 |
-
|
592 |
/** @var SimpleXMLElement $child */
|
593 |
-
foreach( $element->children() as $child ) {
|
594 |
$child_name = $child->getName();
|
595 |
-
|
596 |
-
if( !isset( $results_by_node_name[ $child_name ] ) ) {
|
597 |
$results_by_node_name[ $child_name ] = array();
|
598 |
}
|
599 |
|
600 |
$results_by_node_name[ $child_name ][] = $this->simplexmlelement_to_object( $child, false );
|
601 |
}
|
602 |
-
|
603 |
$results = array();
|
604 |
-
foreach( $results_by_node_name as $node_name => $children ) {
|
605 |
$take_only_first_child = ( count( $children ) == 1 && ! $allways_expand_top_level );
|
606 |
$results[ $node_name ] = ( $take_only_first_child ? $children[0] : $children );
|
607 |
}
|
608 |
-
|
609 |
return $results;
|
610 |
}
|
611 |
-
|
612 |
return null;
|
613 |
}
|
614 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
615 |
}
|
3 |
/**
|
4 |
* Types import and export controller.
|
5 |
*
|
6 |
+
* Currently it only contains new code that is hooked into legacy methods plus a bunch of temporary workarounds, but
|
7 |
* has the ambition to become the central point of handling all import and export-related activities.
|
8 |
*
|
9 |
* @since 2.1
|
10 |
*/
|
11 |
final class Types_Import_Export {
|
12 |
+
|
13 |
private static $instance;
|
14 |
+
|
15 |
public static function get_instance() {
|
16 |
+
if ( null == self::$instance ) {
|
17 |
self::$instance = new self();
|
18 |
}
|
19 |
+
|
20 |
return self::$instance;
|
21 |
}
|
22 |
+
|
23 |
+
private function __clone() {
|
24 |
+
}
|
25 |
+
|
26 |
+
private function __construct() {
|
27 |
+
}
|
28 |
|
29 |
|
30 |
/**
|
81 |
* Completely handle retrieving export data for field groups of one domain.
|
82 |
*
|
83 |
* @param string $domain Valid field domain.
|
84 |
+
*
|
85 |
* @return array Exported field groups.
|
86 |
* @since 2.1
|
87 |
*/
|
88 |
public function export_field_groups_for_domain( $domain ) {
|
89 |
|
90 |
$group_factory = Types_Field_Utils::get_group_factory_by_domain( $domain );
|
91 |
+
$all_groups = $group_factory->query_groups();
|
92 |
|
93 |
// Each group will handle its own export.
|
94 |
$results = array();
|
95 |
+
foreach ( $all_groups as $field_group ) {
|
96 |
$results[] = $field_group->get_export_object();
|
97 |
}
|
98 |
|
106 |
* Completely handle retrieving export data for field definitions of one domain.
|
107 |
*
|
108 |
* @param string $domain Valid field domain.
|
109 |
+
*
|
110 |
* @return array Exported field definitions.
|
111 |
* @since 2.1
|
112 |
*/
|
113 |
public function export_field_definitions_for_domain( $domain ) {
|
114 |
|
115 |
$definition_factory = Types_Field_Utils::get_definition_factory_by_domain( $domain );
|
116 |
+
$all_definitions = $definition_factory->query_definitions( array( 'filter' => 'types' ) );
|
117 |
|
118 |
// Each field definition will handle its own export.
|
119 |
$results = array();
|
120 |
/** @var WPCF_Field_Definition $field_definition */
|
121 |
+
foreach ( $all_definitions as $field_definition ) {
|
122 |
$results[] = $field_definition->get_export_object();
|
123 |
}
|
124 |
|
142 |
public function add_checksum_to_object( $data, $keys_for_checksum = null, $keys_to_remove = null ) {
|
143 |
|
144 |
// pluck requested keys
|
145 |
+
if ( null == $keys_for_checksum ) {
|
146 |
$checksum_source = $data;
|
147 |
} else {
|
148 |
$checksum_source = array();
|
152 |
}
|
153 |
}
|
154 |
}
|
155 |
+
|
156 |
// unset undesired keys
|
157 |
+
if ( is_array( $keys_to_remove ) ) {
|
158 |
$checksum_source = $this->unset_recursive( $checksum_source, $keys_to_remove );
|
159 |
}
|
160 |
|
161 |
$checksum = $this->generate_checksum( $checksum_source );
|
162 |
|
163 |
$data[ self::XML_KEY_CHECKSUM ] = $checksum;
|
164 |
+
$data[ self::XML_KEY_HASH ] = $checksum;
|
165 |
|
166 |
return $data;
|
167 |
}
|
187 |
* @since 2.1
|
188 |
*/
|
189 |
private function unset_recursive( $unset_from, $unset_what ) {
|
190 |
+
if ( is_array( $unset_from ) ) {
|
191 |
+
|
192 |
foreach ( $unset_what as $key => $value ) {
|
193 |
+
|
194 |
if ( is_array( $value ) && isset( $unset_from[ $key ] ) ) {
|
195 |
$unset_from[ $key ] = $this->unset_recursive( $unset_from[ $key ], $value );
|
196 |
} else {
|
197 |
unset( $unset_from[ $value ] );
|
198 |
}
|
199 |
}
|
200 |
+
|
201 |
}
|
202 |
+
|
203 |
return $unset_from;
|
204 |
}
|
205 |
|
210 |
* @param array $data An associative array representing an object.
|
211 |
* @param string $title
|
212 |
* @param string $id
|
213 |
+
*
|
214 |
* @return array Updated $data.
|
215 |
* @since 2.1
|
216 |
*/
|
217 |
public function annotate_object( $data, $title, $id ) {
|
218 |
+
$data[ self::XML_TYPES_ID ] = $id;
|
219 |
$data[ self::XML_TYPES_TITLE ] = $title;
|
220 |
+
|
221 |
return $data;
|
222 |
}
|
223 |
|
228 |
* Note: Do not touch this.
|
229 |
*
|
230 |
* @param array $data
|
231 |
+
*
|
232 |
* @return string Checksum
|
233 |
* @since 2.1
|
234 |
*/
|
241 |
* Sort a multidimensional array by keys recursively.
|
242 |
*
|
243 |
* @param array|mixed $data
|
244 |
+
*
|
245 |
* @return array|mixed Sorted $data.
|
246 |
* @since 2.1
|
247 |
*/
|
252 |
$data[ $key ] = $this->ksort_as_string( $value );
|
253 |
}
|
254 |
}
|
255 |
+
|
256 |
return $data;
|
257 |
}
|
258 |
|
259 |
|
260 |
/**
|
261 |
* Import field definitions for given domain.
|
262 |
+
*
|
263 |
* Note: Currently only term fields are supported.
|
264 |
+
*
|
265 |
* @param string $domain Valid field domain.
|
266 |
* @param SimpleXMLElement $data Import data from XML.
|
267 |
* @param string $fields_key Node name where the field definitions can be found.
|
268 |
* @param bool $delete_other_fields If true, fields that are not being imported will be deleted from the site.
|
269 |
+
* @param array $field_settings Part of $_POST from the import form related to these fields.
|
270 |
+
* @param array $args Used for making skip/overwrite decisions per item (used for toolset-based themes import)
|
271 |
*
|
272 |
* @return array
|
273 |
*/
|
274 |
+
public function process_field_definition_import_per_domain(
|
275 |
+
$domain,
|
276 |
+
$data,
|
277 |
+
$fields_key,
|
278 |
+
$delete_other_fields,
|
279 |
+
$field_settings,
|
280 |
+
$args = array()
|
281 |
+
) {
|
282 |
|
283 |
$results = array();
|
284 |
|
285 |
$fields_to_preserve = array();
|
286 |
|
287 |
$fields_import_data = array();
|
288 |
+
if ( isset( $data->$fields_key ) ) {
|
289 |
/** @noinspection PhpParamsInspection */
|
290 |
$fields_import_data = $this->simplexmlelement_to_object( $data->$fields_key, true );
|
291 |
+
$fields_import_data = isset( $fields_import_data[ Types_Import_Export::XML_KEY_FIELD ] )
|
292 |
+
? $fields_import_data[ Types_Import_Export::XML_KEY_FIELD ] : array();
|
293 |
}
|
294 |
|
295 |
+
foreach ( $fields_import_data as $field_import_data ) {
|
296 |
$field_slug = $field_import_data['slug'];
|
297 |
|
298 |
+
// check if via $_POST the field is allowed
|
299 |
$import_field = isset( $field_settings[ $field_slug ] ) && isset( $field_settings[ $field_slug ]['add'] );
|
300 |
|
301 |
+
// on toolset based themes we allow every field
|
302 |
+
$import_field = array_key_exists( 'toolset-themes', $args ) ? true : $import_field;
|
303 |
+
|
304 |
+
// User choices on import/update process (TBT toolset-based themes)
|
305 |
+
$field_import_data = tbt_user_choice( $args, $field_import_data );
|
306 |
+
if ( array_key_exists( 'add', $field_import_data ) ) {
|
307 |
+
$import_field = $field_import_data['add'];
|
308 |
+
}
|
309 |
+
|
310 |
+
if ( $import_field ) {
|
311 |
$result = $this->import_field_definition( $domain, $field_import_data );
|
312 |
+
if ( $result['is_success'] ) {
|
313 |
$fields_to_preserve[] = $field_slug;
|
314 |
}
|
315 |
$results[] = array(
|
316 |
+
'type' => ( $result['is_success'] ? 'success' : 'error' ),
|
317 |
'content' => $result['display_message']
|
318 |
);
|
319 |
}
|
320 |
}
|
321 |
|
322 |
$delete_results = $this->maybe_delete_fields( $domain, $delete_other_fields, $fields_to_preserve );
|
323 |
+
$results = array_merge( $results, $delete_results );
|
324 |
|
325 |
return $results;
|
326 |
|
332 |
* @param bool $delete_other_fields
|
333 |
* @param string[] $fields_to_preserve Array of field slugs that should be preserved.
|
334 |
*
|
335 |
+
* @return array
|
336 |
*/
|
337 |
private function maybe_delete_fields( $domain, $delete_other_fields, $fields_to_preserve ) {
|
338 |
|
339 |
$results = array();
|
340 |
|
341 |
$definition_factory = Types_Field_Utils::get_definition_factory_by_domain( $domain );
|
342 |
+
$option_name = $definition_factory->get_option_name_workaround();
|
343 |
|
344 |
if ( $delete_other_fields ) {
|
345 |
|
346 |
+
$fields_existing = wpcf_admin_fields_get_fields( false, false, false, $option_name, false, true );
|
347 |
|
348 |
foreach ( $fields_existing as $key => $existing_field_definition ) {
|
349 |
|
355 |
|
356 |
if ( ! in_array( $existing_field_slug, $fields_to_preserve ) ) {
|
357 |
$results[] = array(
|
358 |
+
'type' => 'success',
|
359 |
'content' => sprintf(
|
360 |
__( 'User field "%s" deleted', 'wpcf' ),
|
361 |
$existing_field_definition['name']
|
382 |
private function import_field_definition( $domain, $definition_array_import ) {
|
383 |
|
384 |
$definition = array(
|
385 |
+
'id' => $definition_array_import['id'],
|
386 |
+
'name' => $definition_array_import['name'],
|
387 |
+
'description' => isset( $definition_array_import['description'] ) ? $definition_array_import['description']
|
388 |
+
: '',
|
389 |
+
'type' => $definition_array_import['type'],
|
390 |
+
'slug' => $definition_array_import['slug'],
|
391 |
+
'data' => ( isset( $definition_array_import['data'] ) && is_array( $definition_array_import['data'] ) )
|
392 |
+
? $definition_array_import['data'] : array()
|
393 |
);
|
394 |
|
395 |
+
if ( isset( $definition_array_import['meta_key'] ) ) {
|
396 |
$definition['meta_key'] = $definition_array_import['meta_key'];
|
397 |
}
|
398 |
|
399 |
// WPML
|
400 |
global $iclTranslationManagement;
|
401 |
+
if ( ! empty( $iclTranslationManagement ) && isset( $definition['wpml_action'] ) ) {
|
402 |
$iclTranslationManagement->settings['custom_fields_translation'][ wpcf_types_get_meta_prefix( $definition ) . $definition['slug'] ] = $definition['wpml_action'];
|
403 |
$iclTranslationManagement->save_settings();
|
404 |
}
|
407 |
$definition_factory->set_field_definition_workaround( $definition['slug'], $definition );
|
408 |
|
409 |
return array(
|
410 |
+
'is_success' => true,
|
411 |
'display_message' => sprintf( __( 'Term field "%s" added/updated', 'wpcf' ), $definition['name'] )
|
412 |
);
|
413 |
}
|
424 |
* @param bool $bulk_overwrite_groups If true, all (conflicting) groups will be overwritten by the ones from import.
|
425 |
* @param bool $delete_other_groups If true, groups that are not being imported will be deleted from the site.
|
426 |
* @param array $group_settings Part of $_POST from the import form related to these groups.
|
427 |
+
* @param array $args Used for making skip/overwrite decisions per item (used for toolset-based themes import)
|
428 |
+
*
|
429 |
* @return array
|
430 |
*/
|
431 |
+
public function process_field_group_import_per_domain(
|
432 |
+
$domain,
|
433 |
+
$data,
|
434 |
+
$groups_key,
|
435 |
+
$bulk_overwrite_groups,
|
436 |
+
$delete_other_groups,
|
437 |
+
$group_settings,
|
438 |
+
$args = array()
|
439 |
+
) {
|
440 |
+
|
441 |
+
$results = array();
|
442 |
$groups_to_preserve = array();
|
443 |
+
|
444 |
$groups_import_data = array();
|
445 |
+
if ( isset( $data->$groups_key ) ) {
|
446 |
/** @noinspection PhpParamsInspection */
|
447 |
$groups_import_data = $this->simplexmlelement_to_object( $data->$groups_key, true );
|
448 |
+
$groups_import_data = isset( $groups_import_data[ Types_Import_Export::XML_KEY_GROUP ] )
|
449 |
+
? $groups_import_data[ Types_Import_Export::XML_KEY_GROUP ] : array();
|
450 |
}
|
451 |
+
|
452 |
+
foreach ( $groups_import_data as $group ) {
|
453 |
|
454 |
// ID of group from the import file
|
455 |
$import_group_id = wpcf_getarr( $group, Types_Field_Group::XML_ID );
|
456 |
|
|
|
|
|
457 |
|
458 |
+
if ( array_key_exists( 'toolset-themes', $args ) ) {
|
459 |
+
// Toolset Themes Import Way
|
460 |
+
$group = tbt_user_choice( $args, $group );
|
461 |
+
|
462 |
+
$group_should_be_imported = $this->tbt_group_should_be_imported( $group );
|
463 |
+
|
464 |
+
if ( array_key_exists( 'add', $group ) ) {
|
465 |
+
$group_actions['add'] = $group['add'];
|
466 |
+
}
|
467 |
+
} else {
|
468 |
+
// Types Import Way
|
469 |
+
$group_actions = wpcf_getarr( $group_settings, $import_group_id, array( 'add' => true ) );
|
470 |
+
$group_should_be_imported = isset( $group_actions['add'] );
|
471 |
+
}
|
472 |
+
|
473 |
+
if ( $group_should_be_imported ) {
|
474 |
+
if ( $bulk_overwrite_groups // bulk overwrite (types import/export page)
|
475 |
+
|| ( // OR...
|
476 |
+
array_key_exists( 'toolset-themes', $args ) // import with toolset themes
|
477 |
+
&& ( // AND...
|
478 |
+
! array_key_exists( 'update', $group ) // ADD for group is not SET (new item)
|
479 |
+
|| $group['update'] // OR... UPDATE is set for item (user choice)
|
480 |
+
)
|
481 |
+
)
|
482 |
+
) {
|
483 |
+
// OVERWRITE
|
484 |
$group_action = 'update';
|
485 |
} else {
|
486 |
$group_action = wpcf_getarr( $group_actions, 'update', 'add', array( 'add', 'update' ) );
|
491 |
|
492 |
$result = null;
|
493 |
|
494 |
+
switch ( $group_action ) {
|
495 |
case 'add':
|
496 |
$result = $this->import_field_group( $domain, $group, 'create_new' );
|
497 |
break;
|
500 |
break;
|
501 |
}
|
502 |
|
503 |
+
if ( null != $result ) {
|
504 |
$results[] = array(
|
505 |
+
'type' => ( $result['is_success'] ? 'success' : 'error' ),
|
506 |
'content' => $result['display_message']
|
507 |
);
|
508 |
+
if ( $result['is_success'] ) {
|
509 |
$groups_to_preserve[] = $result['new_group_id'];
|
510 |
}
|
511 |
}
|
513 |
}
|
514 |
|
515 |
$delete_results = $this->maybe_delete_groups( $domain, $delete_other_groups, $groups_to_preserve );
|
516 |
+
$results = array_merge( $results, $delete_results );
|
517 |
|
518 |
return $results;
|
519 |
}
|
529 |
private function maybe_delete_groups( $domain, $delete_other_groups, $groups_to_preserve ) {
|
530 |
|
531 |
$results = array();
|
532 |
+
if ( $delete_other_groups && ! empty( $groups_to_preserve ) ) {
|
533 |
$group_factory = Types_Field_Utils::get_group_factory_by_domain( $domain );
|
534 |
+
$all_groups = $group_factory->query_groups();
|
535 |
|
536 |
+
foreach ( $all_groups as $group_to_delete ) {
|
537 |
+
if ( ! in_array( $group_to_delete->get_id(), $groups_to_preserve ) ) {
|
538 |
|
539 |
$deleted_group_name = $group_to_delete->get_name();
|
540 |
+
$deleted = wp_delete_post( $group_to_delete->get_id(), true );
|
541 |
+
if ( ! $deleted ) {
|
542 |
$results[] = array(
|
543 |
+
'type' => 'error',
|
544 |
+
'content' => sprintf( __( 'Term field group "%s" delete failed', 'wpcf' ),
|
545 |
+
$deleted_group_name )
|
546 |
);
|
547 |
} else {
|
548 |
$results[] = array(
|
549 |
+
'type' => 'success',
|
550 |
'content' => sprintf( __( 'Term field group "%s" deleted', 'wpcf' ), $deleted_group_name )
|
551 |
);
|
552 |
}
|
579 |
|
580 |
$group_factory = Types_Field_Utils::get_group_factory_by_domain( $domain );
|
581 |
|
582 |
+
$existing_groups = $group_factory->query_groups( array( 'name' => $group_slug ) );
|
583 |
$group_already_exists = ( count( $existing_groups ) > 0 );
|
584 |
|
585 |
$new_post = array(
|
586 |
+
'post_status' => $group['post_status'],
|
587 |
+
'post_type' => $group_factory->get_post_type(),
|
588 |
+
'post_title' => $group['post_title'],
|
589 |
+
'post_content' => ! empty( $group['post_content'] ) ? $group['post_content'] : '',
|
590 |
);
|
591 |
|
592 |
$update_existing = ( $group_already_exists && 'overwrite' == $conflict_resolution );
|
593 |
|
594 |
+
if ( $update_existing ) {
|
595 |
$existing_group = $existing_groups[0];
|
596 |
+
$new_post['ID'] = $existing_group->get_id();
|
597 |
+
$new_group_id = wp_update_post( $new_post );
|
598 |
} else {
|
599 |
$new_group_id = wp_insert_post( $new_post, true );
|
600 |
}
|
602 |
$is_success = ( ! is_wp_error( $new_group_id ) && 0 < $new_group_id );
|
603 |
|
604 |
// Update group's postmeta
|
605 |
+
if ( $is_success && ! empty( $group['meta'] ) ) {
|
606 |
foreach ( $group['meta'] as $meta_key => $meta_value ) {
|
607 |
+
if ( Types_Field_Group_Term::POSTMETA_ASSOCIATED_TAXONOMY == $meta_key ) {
|
608 |
$meta_values = explode( ',', $meta_value );
|
609 |
delete_post_meta( $new_group_id, $meta_key );
|
610 |
+
foreach ( $meta_values as $single_meta_value ) {
|
611 |
update_post_meta( $new_group_id, $meta_key, $single_meta_value );
|
612 |
}
|
613 |
} else {
|
617 |
}
|
618 |
|
619 |
// Create display message
|
620 |
+
if ( $is_success ) {
|
621 |
+
if ( $update_existing ) {
|
622 |
$display_message = sprintf( __( 'Term field group "%s" updated', 'wpcf' ), $group['post_title'] );
|
623 |
} else {
|
624 |
$display_message = sprintf( __( 'Term field group "%s" added', 'wpcf' ), $group['post_title'] );
|
625 |
}
|
626 |
} else {
|
627 |
+
if ( $update_existing ) {
|
628 |
$display_message = sprintf( __( 'Term field group "%s" update failed', 'wpcf' ), $group['post_title'] );
|
629 |
} else {
|
630 |
$display_message = sprintf( __( 'Term field group "%s" insert failed', 'wpcf' ), $group['post_title'] );
|
632 |
}
|
633 |
|
634 |
return array(
|
635 |
+
'is_success' => $is_success,
|
636 |
'display_message' => $display_message,
|
637 |
+
'new_group_id' => $new_group_id
|
638 |
);
|
639 |
}
|
640 |
|
646 |
* @return array|null
|
647 |
*/
|
648 |
public function simplexmlelement_to_object( $element, $allways_expand_top_level = false ) {
|
649 |
+
$text_content = trim( (string) $element );
|
650 |
+
if ( ! empty( $text_content ) ) {
|
651 |
return $text_content;
|
652 |
}
|
653 |
|
654 |
+
if ( $element->count() > 0 ) {
|
655 |
$results_by_node_name = array();
|
656 |
+
|
657 |
/** @var SimpleXMLElement $child */
|
658 |
+
foreach ( $element->children() as $child ) {
|
659 |
$child_name = $child->getName();
|
660 |
+
|
661 |
+
if ( ! isset( $results_by_node_name[ $child_name ] ) ) {
|
662 |
$results_by_node_name[ $child_name ] = array();
|
663 |
}
|
664 |
|
665 |
$results_by_node_name[ $child_name ][] = $this->simplexmlelement_to_object( $child, false );
|
666 |
}
|
667 |
+
|
668 |
$results = array();
|
669 |
+
foreach ( $results_by_node_name as $node_name => $children ) {
|
670 |
$take_only_first_child = ( count( $children ) == 1 && ! $allways_expand_top_level );
|
671 |
$results[ $node_name ] = ( $take_only_first_child ? $children[0] : $children );
|
672 |
}
|
673 |
+
|
674 |
return $results;
|
675 |
}
|
676 |
+
|
677 |
return null;
|
678 |
}
|
679 |
+
|
680 |
+
/**
|
681 |
+
* Determines if a group should be imported or not
|
682 |
+
* This is only relevant for the import process of Toolset Themes
|
683 |
+
*
|
684 |
+
* @param $group
|
685 |
+
*
|
686 |
+
* @return bool
|
687 |
+
*/
|
688 |
+
private function tbt_group_should_be_imported( $group ) {
|
689 |
+
if ( array_key_exists( 'add', $group ) && $group['add'] === false ) {
|
690 |
+
// the group already exists, but the user wants to keep his version ('add' === false)
|
691 |
+
return false;
|
692 |
+
}
|
693 |
+
|
694 |
+
// import group (initial import / overwrite / duplicate)
|
695 |
+
return true;
|
696 |
+
}
|
697 |
+
|
698 |
}
|
application/controllers/information/controller.php
CHANGED
@@ -23,12 +23,26 @@ class Types_Information_Controller {
|
|
23 |
return true;
|
24 |
}
|
25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
public function filter_columns( $columns, $post_type ) {
|
27 |
-
if(
|
|
|
|
|
|
|
|
|
28 |
unset( $columns['archive'] );
|
|
|
29 |
|
30 |
-
if(
|
31 |
unset( $columns['template'] );
|
|
|
32 |
|
33 |
return $columns;
|
34 |
}
|
@@ -46,17 +60,6 @@ class Types_Information_Controller {
|
|
46 |
// script / style
|
47 |
add_action( 'admin_enqueue_scripts', array( $this, 'on_admin_enqueue_scripts' ) );
|
48 |
|
49 |
-
// special case: layouts active, but not compatible
|
50 |
-
// the only case where we don't show the table
|
51 |
-
if( defined( 'WPDDL_DEVELOPMENT' ) || defined( 'WPDDL_PRODUCTION' ) ) {
|
52 |
-
$compatible = new Types_Helper_Condition_Layouts_Compatible();
|
53 |
-
if( !$compatible->valid() ) {
|
54 |
-
$data_files = array( TYPES_DATA . '/information/layouts-not-compatible.php' );
|
55 |
-
$this->show_data_as_container_in_meta_box( $data_files );
|
56 |
-
return;
|
57 |
-
}
|
58 |
-
}
|
59 |
-
|
60 |
/* data files */
|
61 |
$data_files = array(
|
62 |
TYPES_DATA . '/information/table/template.php',
|
@@ -113,7 +116,7 @@ class Types_Information_Controller {
|
|
113 |
'/information/table.twig',
|
114 |
array(
|
115 |
'labels' => array(
|
116 |
-
'or' => __( 'Or...', '
|
117 |
),
|
118 |
'thead' => $thead_views,
|
119 |
'table' => $this->information
|
@@ -141,7 +144,7 @@ class Types_Information_Controller {
|
|
141 |
// outer box
|
142 |
$output_meta_box = new Types_Helper_Output_Meta_Box();
|
143 |
$output_meta_box->set_id( $this->information->get_id() );
|
144 |
-
$output_meta_box->set_title( __( 'Front-end Display', '
|
145 |
// $output_meta_box->set_css_class( 'types-table-in-meta-box' );
|
146 |
|
147 |
$this->information->set_output_container( $output_meta_box );
|
@@ -206,7 +209,7 @@ class Types_Information_Controller {
|
|
206 |
// we want to display dashboard in a meta-box
|
207 |
$output_meta_box = new Types_Helper_Output_Meta_Box();
|
208 |
$output_meta_box->set_id( $this->information->get_id() );
|
209 |
-
$output_meta_box->set_title( __( 'Front-end Display', '
|
210 |
$output_meta_box->set_css_class( 'types-table-in-meta-box' );
|
211 |
|
212 |
$this->information->set_output_container( $output_meta_box );
|
23 |
return true;
|
24 |
}
|
25 |
|
26 |
+
/**
|
27 |
+
* We don't want to show "archive" for media/pages and "template" for media
|
28 |
+
*
|
29 |
+
* @param $columns
|
30 |
+
* @param $post_type
|
31 |
+
*
|
32 |
+
* @return mixed
|
33 |
+
*/
|
34 |
public function filter_columns( $columns, $post_type ) {
|
35 |
+
if( $post_type != 'attachment' && $post_type != 'page' ) {
|
36 |
+
return $columns;
|
37 |
+
}
|
38 |
+
|
39 |
+
if( array_key_exists( 'archive', $columns ) ) {
|
40 |
unset( $columns['archive'] );
|
41 |
+
}
|
42 |
|
43 |
+
if( $post_type == 'attachment' && array_key_exists( 'template', $columns ) ) {
|
44 |
unset( $columns['template'] );
|
45 |
+
}
|
46 |
|
47 |
return $columns;
|
48 |
}
|
60 |
// script / style
|
61 |
add_action( 'admin_enqueue_scripts', array( $this, 'on_admin_enqueue_scripts' ) );
|
62 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
/* data files */
|
64 |
$data_files = array(
|
65 |
TYPES_DATA . '/information/table/template.php',
|
116 |
'/information/table.twig',
|
117 |
array(
|
118 |
'labels' => array(
|
119 |
+
'or' => __( 'Or...', 'wpcf' )
|
120 |
),
|
121 |
'thead' => $thead_views,
|
122 |
'table' => $this->information
|
144 |
// outer box
|
145 |
$output_meta_box = new Types_Helper_Output_Meta_Box();
|
146 |
$output_meta_box->set_id( $this->information->get_id() );
|
147 |
+
$output_meta_box->set_title( __( 'Front-end Display', 'wpcf' ) );
|
148 |
// $output_meta_box->set_css_class( 'types-table-in-meta-box' );
|
149 |
|
150 |
$this->information->set_output_container( $output_meta_box );
|
209 |
// we want to display dashboard in a meta-box
|
210 |
$output_meta_box = new Types_Helper_Output_Meta_Box();
|
211 |
$output_meta_box->set_id( $this->information->get_id() );
|
212 |
+
$output_meta_box->set_title( __( 'Front-end Display', 'wpcf' ) );
|
213 |
$output_meta_box->set_css_class( 'types-table-in-meta-box' );
|
214 |
|
215 |
$this->information->set_output_container( $output_meta_box );
|
application/controllers/interop/handler/divi.php
CHANGED
@@ -7,7 +7,6 @@
|
|
7 |
*/
|
8 |
class Types_Interop_Handler_Divi implements Types_Interop_Handler_Interface {
|
9 |
|
10 |
-
|
11 |
private static $instance;
|
12 |
|
13 |
public static function initialize() {
|
@@ -21,8 +20,7 @@ class Types_Interop_Handler_Divi implements Types_Interop_Handler_Interface {
|
|
21 |
}
|
22 |
|
23 |
|
24 |
-
private function __clone() {
|
25 |
-
}
|
26 |
|
27 |
|
28 |
private function __construct() {
|
7 |
*/
|
8 |
class Types_Interop_Handler_Divi implements Types_Interop_Handler_Interface {
|
9 |
|
|
|
10 |
private static $instance;
|
11 |
|
12 |
public static function initialize() {
|
20 |
}
|
21 |
|
22 |
|
23 |
+
private function __clone() { }
|
|
|
24 |
|
25 |
|
26 |
private function __construct() {
|
application/controllers/interop/handler/use_any_font.php
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Use Any Font interoperability handler.
|
5 |
+
*
|
6 |
+
* @link https://wordpress.org/plugins/use-any-font/
|
7 |
+
*
|
8 |
+
* @since 2.2.9
|
9 |
+
*/
|
10 |
+
class Types_Interop_Handler_Use_Any_Font implements Types_Interop_Handler_Interface {
|
11 |
+
|
12 |
+
private static $instance;
|
13 |
+
|
14 |
+
public static function initialize() {
|
15 |
+
|
16 |
+
if ( null === self::$instance ) {
|
17 |
+
self::$instance = new self();
|
18 |
+
}
|
19 |
+
|
20 |
+
// Not giving away the instance on purpose.
|
21 |
+
|
22 |
+
}
|
23 |
+
|
24 |
+
|
25 |
+
private function __clone() {
|
26 |
+
}
|
27 |
+
|
28 |
+
|
29 |
+
private function __construct() {
|
30 |
+
$this->maybe_unregister_uaf_assets();
|
31 |
+
}
|
32 |
+
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Fix a compatibility issue with conflicting JS assets.
|
36 |
+
*
|
37 |
+
* Implemented for Use Any Font 4.6.
|
38 |
+
*
|
39 |
+
* On Edit Post Type page, UAF enqueues its own instance of jQuery UI Validation plugin which overwrites the one
|
40 |
+
* from Types, with added additional validation rules.
|
41 |
+
*
|
42 |
+
* Turns out, UAF enqueues everything everywhere without care although it has only a single admin page.
|
43 |
+
* In general, it has very bad coding practices (unprefixed function names, etc.)
|
44 |
+
*
|
45 |
+
* Here, we do what UAF should do on its own: Check if we're on its settings page and if
|
46 |
+
* we're not, avoid loading its assets.
|
47 |
+
*
|
48 |
+
* @since 2.2.9
|
49 |
+
*/
|
50 |
+
function maybe_unregister_uaf_assets() {
|
51 |
+
$main_controller = Types_Main::get_instance();
|
52 |
+
$is_uaf_settings_page = (
|
53 |
+
$main_controller->get_plugin_mode() === Types_Main::MODE_ADMIN && wpcf_getget( 'page' ) === 'uaf_settings_page'
|
54 |
+
);
|
55 |
+
|
56 |
+
if ( ! $is_uaf_settings_page ) {
|
57 |
+
remove_action( 'admin_print_scripts', 'adminjslibs' );
|
58 |
+
remove_action( 'admin_print_styles', 'adminCsslibs' );
|
59 |
+
}
|
60 |
+
}
|
61 |
+
|
62 |
+
}
|
application/controllers/interop/handler/wpml.php
CHANGED
@@ -5,11 +5,89 @@
|
|
5 |
*
|
6 |
* WIP - this stub is to be filled with everything WPML-related.
|
7 |
* Look into: library/toolset/types/embedded/includes/wpml.php
|
|
|
|
|
8 |
*/
|
9 |
class Types_Interop_Handler_Wpml implements Types_Interop_Handler_Interface {
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
public static function initialize() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
}
|
14 |
|
15 |
}
|
5 |
*
|
6 |
* WIP - this stub is to be filled with everything WPML-related.
|
7 |
* Look into: library/toolset/types/embedded/includes/wpml.php
|
8 |
+
*
|
9 |
+
* @since 2.2.9
|
10 |
*/
|
11 |
class Types_Interop_Handler_Wpml implements Types_Interop_Handler_Interface {
|
12 |
|
13 |
+
|
14 |
+
private static $instance;
|
15 |
+
|
16 |
+
private function __construct() { }
|
17 |
+
|
18 |
+
private function __clone() { }
|
19 |
+
|
20 |
+
|
21 |
public static function initialize() {
|
22 |
+
self::get_instance();
|
23 |
+
}
|
24 |
+
|
25 |
+
|
26 |
+
public static function get_instance() {
|
27 |
+
if( null === self::$instance ) {
|
28 |
+
self::$instance = new self();
|
29 |
+
}
|
30 |
+
|
31 |
+
return self::$instance;
|
32 |
+
}
|
33 |
+
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Check whether the current language is the default one.
|
37 |
+
*
|
38 |
+
* The result is cached for better performance.
|
39 |
+
*
|
40 |
+
* @return bool
|
41 |
+
* @since 2.2.9
|
42 |
+
*/
|
43 |
+
public function is_current_language_default() {
|
44 |
+
static $result = null;
|
45 |
+
|
46 |
+
if( null === $result ) {
|
47 |
+
$current_language = apply_filters( 'wpml_current_language', null );
|
48 |
+
$default_language = apply_filters( 'wpml_default_language', null );
|
49 |
+
$result = ( $current_language === $default_language );
|
50 |
+
}
|
51 |
+
|
52 |
+
return $result;
|
53 |
+
}
|
54 |
+
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Get translation of string.
|
58 |
+
*
|
59 |
+
* @param string $string The original string value to translate
|
60 |
+
* @param string $string_name String name
|
61 |
+
* @param string $domain String domain
|
62 |
+
*
|
63 |
+
* @link https://wpml.org/wpml-hook/wpml_translate_single_string/
|
64 |
+
*
|
65 |
+
* @return false|string Translated string or false if no such string is registered.
|
66 |
+
* @since 2.2.9
|
67 |
+
*/
|
68 |
+
public function get_translation( $string, $string_name, $domain ) {
|
69 |
+
|
70 |
+
// check if translation exists
|
71 |
+
$is_registered = apply_filters(
|
72 |
+
'wpml_string_id',
|
73 |
+
null,
|
74 |
+
array(
|
75 |
+
'context' => $domain,
|
76 |
+
'name' => $string_name
|
77 |
+
)
|
78 |
+
);
|
79 |
+
|
80 |
+
if ( $is_registered === null ) {
|
81 |
+
return false;
|
82 |
+
}
|
83 |
|
84 |
+
// string is registered, return translation
|
85 |
+
return apply_filters(
|
86 |
+
'wpml_translate_single_string',
|
87 |
+
$string,
|
88 |
+
$domain,
|
89 |
+
$string_name
|
90 |
+
);
|
91 |
}
|
92 |
|
93 |
}
|
application/controllers/interop/mediator.php
CHANGED
@@ -53,6 +53,10 @@ class Types_Interop_Mediator {
|
|
53 |
array(
|
54 |
'is_needed' => array( $this, 'is_divi_active'),
|
55 |
'class_name' => 'Divi'
|
|
|
|
|
|
|
|
|
56 |
)
|
57 |
);
|
58 |
|
@@ -108,4 +112,9 @@ class Types_Interop_Mediator {
|
|
108 |
return function_exists( 'et_setup_theme' );
|
109 |
}
|
110 |
|
|
|
|
|
|
|
|
|
|
|
111 |
}
|
53 |
array(
|
54 |
'is_needed' => array( $this, 'is_divi_active'),
|
55 |
'class_name' => 'Divi'
|
56 |
+
),
|
57 |
+
array(
|
58 |
+
'is_needed' => array( $this, 'is_use_any_font_active' ),
|
59 |
+
'class_name' => 'Use_Any_Font'
|
60 |
)
|
61 |
);
|
62 |
|
112 |
return function_exists( 'et_setup_theme' );
|
113 |
}
|
114 |
|
115 |
+
|
116 |
+
protected function is_use_any_font_active() {
|
117 |
+
return function_exists( 'uaf_activate' );
|
118 |
+
}
|
119 |
+
|
120 |
}
|
application/controllers/main.php
CHANGED
@@ -115,26 +115,42 @@ final class Types_Main {
|
|
115 |
/**
|
116 |
* Early loading actions.
|
117 |
*
|
118 |
-
* Initialize the Toolset Common library with the new loader.
|
119 |
-
* Initialize asset manager if we're not doing an AJAX call.
|
120 |
-
* Initialize the Types hook API.
|
121 |
-
*
|
122 |
* @since 2.0
|
123 |
*/
|
124 |
public function after_setup_theme() {
|
125 |
-
Toolset_Common_Bootstrap::getInstance();
|
126 |
|
127 |
-
//
|
128 |
-
|
|
|
|
|
|
|
|
|
|
|
129 |
Types_Assets::get_instance()->initialize_scripts_and_styles();
|
130 |
}
|
131 |
|
|
|
|
|
|
|
132 |
Types_Api::initialize();
|
133 |
|
134 |
Types_Interop_Mediator::initialize();
|
135 |
}
|
136 |
|
137 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
/**
|
139 |
* In some cases, it may not be clear what legacy files are includes and what aren't.
|
140 |
*
|
115 |
/**
|
116 |
* Early loading actions.
|
117 |
*
|
|
|
|
|
|
|
|
|
118 |
* @since 2.0
|
119 |
*/
|
120 |
public function after_setup_theme() {
|
|
|
121 |
|
122 |
+
// Initialize the Toolset Common library
|
123 |
+
Toolset_Common_Bootstrap::get_instance();
|
124 |
+
|
125 |
+
$this->setup_autoloader();
|
126 |
+
|
127 |
+
// If an AJAX callback handler needs other assets, it should initialize the asset manager by itself.
|
128 |
+
if( $this->get_plugin_mode() != self::MODE_AJAX ) {
|
129 |
Types_Assets::get_instance()->initialize_scripts_and_styles();
|
130 |
}
|
131 |
|
132 |
+
// Handle embedded plugin mode
|
133 |
+
Types_Embedded::initialize();
|
134 |
+
|
135 |
Types_Api::initialize();
|
136 |
|
137 |
Types_Interop_Mediator::initialize();
|
138 |
}
|
139 |
|
140 |
|
141 |
+
private function setup_autoloader() {
|
142 |
+
|
143 |
+
// It is possible to regenerate the classmap with Zend framework.
|
144 |
+
//
|
145 |
+
// See the "recreate_classmap.sh" script in the plugin root directory.
|
146 |
+
$classmap = include( TYPES_ABSPATH . '/application/autoload_classmap.php' );
|
147 |
+
|
148 |
+
// Use Toolset_Common_Autoloader
|
149 |
+
do_action( 'toolset_register_classmap', $classmap );
|
150 |
+
|
151 |
+
}
|
152 |
+
|
153 |
+
|
154 |
/**
|
155 |
* In some cases, it may not be clear what legacy files are includes and what aren't.
|
156 |
*
|
application/controllers/page/dashboard.php
CHANGED
@@ -58,7 +58,7 @@ final class Types_Page_Dashboard extends Types_Page_Abstract {
|
|
58 |
* @return string
|
59 |
*/
|
60 |
public function get_title() {
|
61 |
-
return __( 'Toolset Dashboard', '
|
62 |
}
|
63 |
|
64 |
/**
|
@@ -66,7 +66,7 @@ final class Types_Page_Dashboard extends Types_Page_Abstract {
|
|
66 |
* @return string
|
67 |
*/
|
68 |
public function get_menu_title() {
|
69 |
-
return __( 'Dashboard', '
|
70 |
}
|
71 |
|
72 |
|
@@ -172,9 +172,9 @@ final class Types_Page_Dashboard extends Types_Page_Abstract {
|
|
172 |
'table_3rd' => $this->table_3rd,
|
173 |
'table_wordpress' => $this->table_wordpress,
|
174 |
'labels' => array(
|
175 |
-
'create_type' => __( 'Add new post type', '
|
176 |
'msg_no_custom_post_types' =>
|
177 |
-
__( 'To get started, create your first custom type. Then, you will be able to add fields and taxonomy and design how it displays.', '
|
178 |
)
|
179 |
|
180 |
);
|
@@ -291,17 +291,11 @@ final class Types_Page_Dashboard extends Types_Page_Abstract {
|
|
291 |
// no user settings yet
|
292 |
if( empty( $user_settings ) ) {
|
293 |
|
294 |
-
// by default no post
|
295 |
-
if( isset( $cpts['post'] ) )
|
296 |
-
unset( $cpts['post'] );
|
297 |
-
|
298 |
-
// by default no page
|
299 |
-
if( isset( $cpts['page'] ) )
|
300 |
-
unset( $cpts['page'] );
|
301 |
-
|
302 |
// by default no media
|
303 |
-
if( isset( $cpts['attachment'] ) )
|
304 |
unset( $cpts['attachment'] );
|
|
|
|
|
305 |
|
306 |
$cpts_filtered = $cpts;
|
307 |
} else {
|
@@ -330,7 +324,7 @@ final class Types_Page_Dashboard extends Types_Page_Abstract {
|
|
330 |
if( ! empty( $post_types ) )
|
331 |
$this->table_toolset = $this->get_dashboard_types_table(
|
332 |
$post_types,
|
333 |
-
__( 'Custom post types that you created with Toolset', '
|
334 |
);
|
335 |
|
336 |
|
@@ -340,7 +334,7 @@ final class Types_Page_Dashboard extends Types_Page_Abstract {
|
|
340 |
if( ! empty( $post_types ) )
|
341 |
$this->table_3rd = $this->get_dashboard_types_table(
|
342 |
$post_types,
|
343 |
-
__( 'Custom post types created by the theme and other plugins', '
|
344 |
false
|
345 |
);
|
346 |
|
@@ -351,7 +345,7 @@ final class Types_Page_Dashboard extends Types_Page_Abstract {
|
|
351 |
if( ! empty( $post_types ) )
|
352 |
$this->table_wordpress = $this->get_dashboard_types_table(
|
353 |
$post_types,
|
354 |
-
__( 'Built-in post types created by WordPress', '
|
355 |
false
|
356 |
);
|
357 |
|
@@ -376,20 +370,20 @@ final class Types_Page_Dashboard extends Types_Page_Abstract {
|
|
376 |
// Types by Toolset
|
377 |
$cpts = $this->get_types_by_toolset();
|
378 |
if( ! empty( $cpts ) ) {
|
379 |
-
$string_legend = __( 'Custom post types that you created with Toolset', '
|
380 |
$return .= $this->screen_settings_fieldset( $cpts, $cpts_filtered, $string_legend );
|
381 |
}
|
382 |
|
383 |
// Types by 3rd
|
384 |
$cpts = $this->get_types_by_3rd();
|
385 |
if( ! empty( $cpts ) ) {
|
386 |
-
$string_legend = __( 'Custom post types created by the theme and other plugins', '
|
387 |
$return .= $this->screen_settings_fieldset( $cpts, $cpts_filtered, $string_legend );
|
388 |
}
|
389 |
|
390 |
// Types by WordPress
|
391 |
$cpts = $this->get_types_by_wordpress();
|
392 |
-
$string_legend = __( 'Built-in post types created by WordPress', '
|
393 |
$return .= $this->screen_settings_fieldset( $cpts, $cpts_filtered, $string_legend );
|
394 |
|
395 |
$return .= get_submit_button( __( 'Apply' ), 'button button-primary', 'screen-options-apply', false );
|
@@ -437,7 +431,7 @@ final class Types_Page_Dashboard extends Types_Page_Abstract {
|
|
437 |
|
438 |
|
439 |
private function help_information() {
|
440 |
-
$title = __('Toolset Dashboard', '
|
441 |
$help_content = $this->get_twig()->render(
|
442 |
'/page/dashboard/help.twig',
|
443 |
array( 'title' => $title )
|
@@ -493,10 +487,10 @@ final class Types_Page_Dashboard extends Types_Page_Abstract {
|
|
493 |
'/page/dashboard/table/tbody-row.twig',
|
494 |
array(
|
495 |
'labels' => array(
|
496 |
-
'or' => __( 'Or...', '
|
497 |
-
'create_taxonomy' => __( 'Create taxonomy', '
|
498 |
-
'create_field_group' => __( 'Create field group', '
|
499 |
-
'no_archive_for' => __( 'No archive available for %s', '
|
500 |
),
|
501 |
'admin_url' => admin_url(),
|
502 |
'post_type' => $post_type,
|
@@ -517,9 +511,9 @@ final class Types_Page_Dashboard extends Types_Page_Abstract {
|
|
517 |
array(
|
518 |
'labels' => array(
|
519 |
'headline' => $headline,
|
520 |
-
'admin' => __( 'WordPress admin', '
|
521 |
-
'frontend' => __( 'Front-end', '
|
522 |
-
'or' => __( 'Or...', '
|
523 |
),
|
524 |
'admin_url' => admin_url(),
|
525 |
'thead' => $data_thead,
|
58 |
* @return string
|
59 |
*/
|
60 |
public function get_title() {
|
61 |
+
return __( 'Toolset Dashboard', 'wpcf' );
|
62 |
}
|
63 |
|
64 |
/**
|
66 |
* @return string
|
67 |
*/
|
68 |
public function get_menu_title() {
|
69 |
+
return __( 'Dashboard', 'wpcf' );
|
70 |
}
|
71 |
|
72 |
|
172 |
'table_3rd' => $this->table_3rd,
|
173 |
'table_wordpress' => $this->table_wordpress,
|
174 |
'labels' => array(
|
175 |
+
'create_type' => __( 'Add new post type', 'wpcf' ),
|
176 |
'msg_no_custom_post_types' =>
|
177 |
+
__( 'To get started, create your first custom type. Then, you will be able to add fields and taxonomy and design how it displays.', 'wpcf' )
|
178 |
)
|
179 |
|
180 |
);
|
291 |
// no user settings yet
|
292 |
if( empty( $user_settings ) ) {
|
293 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
294 |
// by default no media
|
295 |
+
if( isset( $cpts['attachment'] ) ) {
|
296 |
unset( $cpts['attachment'] );
|
297 |
+
}
|
298 |
+
|
299 |
|
300 |
$cpts_filtered = $cpts;
|
301 |
} else {
|
324 |
if( ! empty( $post_types ) )
|
325 |
$this->table_toolset = $this->get_dashboard_types_table(
|
326 |
$post_types,
|
327 |
+
__( 'Custom post types that you created with Toolset', 'wpcf' )
|
328 |
);
|
329 |
|
330 |
|
334 |
if( ! empty( $post_types ) )
|
335 |
$this->table_3rd = $this->get_dashboard_types_table(
|
336 |
$post_types,
|
337 |
+
__( 'Custom post types created by the theme and other plugins', 'wpcf' ),
|
338 |
false
|
339 |
);
|
340 |
|
345 |
if( ! empty( $post_types ) )
|
346 |
$this->table_wordpress = $this->get_dashboard_types_table(
|
347 |
$post_types,
|
348 |
+
__( 'Built-in post types created by WordPress', 'wpcf' ),
|
349 |
false
|
350 |
);
|
351 |
|
370 |
// Types by Toolset
|
371 |
$cpts = $this->get_types_by_toolset();
|
372 |
if( ! empty( $cpts ) ) {
|
373 |
+
$string_legend = __( 'Custom post types that you created with Toolset', 'wpcf' );
|
374 |
$return .= $this->screen_settings_fieldset( $cpts, $cpts_filtered, $string_legend );
|
375 |
}
|
376 |
|
377 |
// Types by 3rd
|
378 |
$cpts = $this->get_types_by_3rd();
|
379 |
if( ! empty( $cpts ) ) {
|
380 |
+
$string_legend = __( 'Custom post types created by the theme and other plugins', 'wpcf' );
|
381 |
$return .= $this->screen_settings_fieldset( $cpts, $cpts_filtered, $string_legend );
|
382 |
}
|
383 |
|
384 |
// Types by WordPress
|
385 |
$cpts = $this->get_types_by_wordpress();
|
386 |
+
$string_legend = __( 'Built-in post types created by WordPress', 'wpcf' );
|
387 |
$return .= $this->screen_settings_fieldset( $cpts, $cpts_filtered, $string_legend );
|
388 |
|
389 |
$return .= get_submit_button( __( 'Apply' ), 'button button-primary', 'screen-options-apply', false );
|
431 |
|
432 |
|
433 |
private function help_information() {
|
434 |
+
$title = __('Toolset Dashboard', 'wpcf');
|
435 |
$help_content = $this->get_twig()->render(
|
436 |
'/page/dashboard/help.twig',
|
437 |
array( 'title' => $title )
|
487 |
'/page/dashboard/table/tbody-row.twig',
|
488 |
array(
|
489 |
'labels' => array(
|
490 |
+
'or' => __( 'Or...', 'wpcf' ),
|
491 |
+
'create_taxonomy' => __( 'Create taxonomy', 'wpcf' ),
|
492 |
+
'create_field_group' => __( 'Create field group', 'wpcf' ),
|
493 |
+
'no_archive_for' => __( 'No archive available for %s', 'wpcf' ),
|
494 |
),
|
495 |
'admin_url' => admin_url(),
|
496 |
'post_type' => $post_type,
|
511 |
array(
|
512 |
'labels' => array(
|
513 |
'headline' => $headline,
|
514 |
+
'admin' => __( 'WordPress admin', 'wpcf' ),
|
515 |
+
'frontend' => __( 'Front-end', 'wpcf' ),
|
516 |
+
'or' => __( 'Or...', 'wpcf' ),
|
517 |
),
|
518 |
'admin_url' => admin_url(),
|
519 |
'thead' => $data_thead,
|
application/controllers/page/extension/settings.php
CHANGED
@@ -33,11 +33,11 @@ class Types_Page_Extension_Settings {
|
|
33 |
|
34 |
$sections[$setting->get_id()] = array(
|
35 |
'slug' => $setting->get_id(),
|
36 |
-
'title' => __( '"Front-end Display" table', '
|
37 |
'content' => $view->render(
|
38 |
'/setting/checkbox.twig',
|
39 |
array(
|
40 |
-
'description' => __( 'Show information about Template, Archive, Views and Forms on:', '
|
41 |
'setting' => $setting,
|
42 |
)
|
43 |
)
|
33 |
|
34 |
$sections[$setting->get_id()] = array(
|
35 |
'slug' => $setting->get_id(),
|
36 |
+
'title' => __( '"Front-end Display" table', 'wpcf' ),
|
37 |
'content' => $view->render(
|
38 |
'/setting/checkbox.twig',
|
39 |
array(
|
40 |
+
'description' => __( 'Show information about Template, Archive, Views and Forms on:', 'wpcf' ),
|
41 |
'setting' => $setting,
|
42 |
)
|
43 |
)
|
application/controllers/page/field_control.php
CHANGED
@@ -185,10 +185,10 @@ final class Types_Page_Field_Control extends Types_Page_Abstract {
|
|
185 |
$main_handle,
|
186 |
TYPES_RELPATH . '/public/page/field_control/main.js',
|
187 |
array(
|
188 |
-
'jquery', 'backbone', '
|
|
|
189 |
Types_Asset_Manager::SCRIPT_ADJUST_MENU_LINK,
|
190 |
Types_Asset_Manager::SCRIPT_KNOCKOUT,
|
191 |
-
Types_Asset_Manager::SCRIPT_DIALOG_BOXES,
|
192 |
Types_Asset_Manager::SCRIPT_UTILS
|
193 |
),
|
194 |
TYPES_VERSION
|
185 |
$main_handle,
|
186 |
TYPES_RELPATH . '/public/page/field_control/main.js',
|
187 |
array(
|
188 |
+
'jquery', 'backbone', 'underscore',
|
189 |
+
Types_Asset_Manager::SCRIPT_HEADJS,
|
190 |
Types_Asset_Manager::SCRIPT_ADJUST_MENU_LINK,
|
191 |
Types_Asset_Manager::SCRIPT_KNOCKOUT,
|
|
|
192 |
Types_Asset_Manager::SCRIPT_UTILS
|
193 |
),
|
194 |
TYPES_VERSION
|
application/controllers/page/hidden/helper.php
CHANGED
@@ -138,7 +138,7 @@ class Types_Page_Hidden_Helper extends Types_Page_Abstract {
|
|
138 |
private function new_post_field_group_action( $type ) {
|
139 |
|
140 |
$type_object = get_post_type_object( $type );
|
141 |
-
$title = sprintf( __( 'Field Group for %s', '
|
142 |
$name = sanitize_title( $title );
|
143 |
|
144 |
$new_post_field_group = Types_Field_Group_Post_Factory::get_instance()->create( $name, $title, 'publish' );
|
138 |
private function new_post_field_group_action( $type ) {
|
139 |
|
140 |
$type_object = get_post_type_object( $type );
|
141 |
+
$title = sprintf( __( 'Field Group for %s', 'wpcf' ), $type_object->labels->name );
|
142 |
$name = sanitize_title( $title );
|
143 |
|
144 |
$new_post_field_group = Types_Field_Group_Post_Factory::get_instance()->create( $name, $title, 'publish' );
|
application/controllers/utils.php
CHANGED
@@ -22,9 +22,48 @@ final class Types_Utils {
|
|
22 |
}
|
23 |
|
24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
/**
|
26 |
* Get a definitive set of all taxonomies recognized by Types.
|
27 |
*
|
|
|
28 |
* Respects if some builtin taxonomy is overridden by Types.
|
29 |
*
|
30 |
* @return array
|
22 |
}
|
23 |
|
24 |
|
25 |
+
/**
|
26 |
+
* Get a list of taxonomies that should be excluded from any sort of Types/Toolset functionality.
|
27 |
+
*
|
28 |
+
* @return string[] Taxonomy slugs.
|
29 |
+
* @since 2.2.9
|
30 |
+
*/
|
31 |
+
public static function get_excluded_taxonomies() {
|
32 |
+
return array( 'nav_menu', 'link_category', 'post_format' );
|
33 |
+
}
|
34 |
+
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Get registered taxonomies that can be edited by Types/Toolset.
|
38 |
+
*
|
39 |
+
* That includes custom taxonomies from Types and the built-in ones (which are not excluded).
|
40 |
+
*
|
41 |
+
* @return WP_Taxonomy[] Taxonomy objects.
|
42 |
+
* @since 2.2.9
|
43 |
+
*/
|
44 |
+
public static function get_editable_taxonomies() {
|
45 |
+
$custom_taxonomies = array_keys( wpcf_ensarr( get_option( WPCF_OPTION_NAME_CUSTOM_TAXONOMIES, array() ) ) );
|
46 |
+
$builtin_taxonomies = self::get_builtin_taxonomies( 'names' );
|
47 |
+
$allowed_taxonomies = array_merge( $custom_taxonomies, $builtin_taxonomies );
|
48 |
+
|
49 |
+
$excluded_taxonomies = self::get_excluded_taxonomies();
|
50 |
+
$allowed_taxonomies = array_diff( $allowed_taxonomies, $excluded_taxonomies );
|
51 |
+
|
52 |
+
$taxonomies = get_taxonomies( '', 'objects' );
|
53 |
+
foreach( $taxonomies as $taxonomy_slug => $taxonomy ) {
|
54 |
+
if( ! in_array( $taxonomy_slug, $allowed_taxonomies ) ) {
|
55 |
+
unset( $taxonomies[ $taxonomy_slug ] );
|
56 |
+
}
|
57 |
+
}
|
58 |
+
|
59 |
+
return $taxonomies;
|
60 |
+
}
|
61 |
+
|
62 |
+
|
63 |
/**
|
64 |
* Get a definitive set of all taxonomies recognized by Types.
|
65 |
*
|
66 |
+
* That also includes inactive taxonomies.
|
67 |
* Respects if some builtin taxonomy is overridden by Types.
|
68 |
*
|
69 |
* @return array
|
application/data/dashboard/table/archive.php
CHANGED
@@ -13,15 +13,170 @@ return array(
|
|
13 |
'description' => array(
|
14 |
array(
|
15 |
'type' => 'paragraph',
|
16 |
-
'content' => __( 'The archive is disabled for this post type.', '
|
17 |
),
|
18 |
array(
|
19 |
'type' => 'paragraph',
|
20 |
-
'content' => __( 'To enable, go to <a href="%POST-TYPE-EDIT-HAS-ARCHIVE%">Options</a> and mark "has_archive".', '
|
21 |
),
|
22 |
),
|
23 |
),
|
24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
/* No Views, No Layouts, Archive missing */
|
26 |
'archive-missing' => array(
|
27 |
'type' => 'archive',
|
@@ -37,25 +192,25 @@ return array(
|
|
37 |
'description' => array(
|
38 |
array(
|
39 |
'type' => 'paragraph',
|
40 |
-
'content' => __( 'Your theme is missing the standard WordPress archive for %POST-LABEL-PLURAL%.', '
|
41 |
),
|
42 |
array(
|
43 |
'type' => 'dialog',
|
44 |
'class' => 'button',
|
45 |
-
'label' => __( 'Create archive', '
|
46 |
'dialog' => array(
|
47 |
'id' => 'resolve-no-archive',
|
48 |
'description' => array(
|
49 |
array(
|
50 |
'type' => 'paragraph',
|
51 |
'content' => __( 'Toolset plugins let you design archive pages without writing PHP. Your archives will include all
|
52 |
-
the fields that you need and your design.', '
|
53 |
),
|
54 |
array(
|
55 |
'type' => 'link',
|
56 |
'class' => 'button-primary types-button',
|
57 |
'external' => true,
|
58 |
-
'label' => __( 'Learn about creating archives with Toolset', '
|
59 |
'target' => Types_Helper_Url::get_url( 'creating-archives-with-toolset', 'popup' ),
|
60 |
),
|
61 |
)
|
@@ -79,24 +234,24 @@ return array(
|
|
79 |
'description' => array(
|
80 |
array(
|
81 |
'type' => 'paragraph',
|
82 |
-
'content' => __( 'The %POST-LABEL-PLURAL% archive of your theme is missing custom fields.', '
|
83 |
),
|
84 |
array(
|
85 |
'type' => 'dialog',
|
86 |
'class' => 'button',
|
87 |
-
'label' => __( 'Resolve', '
|
88 |
'dialog' => array(
|
89 |
'id' => 'resolve-no-custom-fields',
|
90 |
'description' => array(
|
91 |
array(
|
92 |
'type' => 'paragraph',
|
93 |
-
'content' => __( 'Toolset plugins let you design archives with custom fields, without writing PHP.', '
|
94 |
),
|
95 |
array(
|
96 |
'type' => 'link',
|
97 |
'class' => 'button-primary types-button',
|
98 |
'external' => true,
|
99 |
-
'label' => __( 'Learn about creating archives with Toolset', '
|
100 |
'target' => Types_Helper_Url::get_url( 'creating-archives-with-toolset', 'popup' ),
|
101 |
),
|
102 |
)
|
@@ -118,97 +273,97 @@ return array(
|
|
118 |
'description' => array(
|
119 |
array(
|
120 |
'type' => 'paragraph',
|
121 |
-
'content' => __( '%POST-ARCHIVE-FILE%', '
|
122 |
),
|
123 |
),
|
124 |
),
|
125 |
|
126 |
-
/* Views, template missing */
|
127 |
-
'views-archive-missing' => array(
|
128 |
'type' => 'archive',
|
129 |
|
130 |
'priority' => 'important',
|
131 |
|
132 |
'conditions'=> array(
|
133 |
'Types_Helper_Condition_Layouts_Missing',
|
134 |
-
'Types_Helper_Condition_Views_Archive_Missing'
|
|
|
135 |
),
|
136 |
|
137 |
'description' => array(
|
138 |
array(
|
139 |
'type' => 'paragraph',
|
140 |
-
'content' => __( '
|
141 |
),
|
142 |
array(
|
143 |
-
'type'
|
144 |
-
'class'
|
145 |
'target' => '%POST-CREATE-VIEWS-ARCHIVE%',
|
146 |
-
'
|
147 |
-
|
148 |
-
|
|
|
|
|
|
|
149 |
),
|
150 |
-
|
151 |
),
|
152 |
|
153 |
-
/* Views, archive */
|
154 |
-
'views-archive' => array(
|
155 |
'type' => 'archive',
|
156 |
|
157 |
'conditions'=> array(
|
158 |
'Types_Helper_Condition_Layouts_Missing',
|
159 |
-
'
|
|
|
160 |
),
|
161 |
|
162 |
'description' => array(
|
163 |
array(
|
164 |
-
'type'
|
165 |
-
'
|
166 |
-
|
167 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
),
|
169 |
|
170 |
),
|
171 |
|
172 |
-
/*
|
173 |
-
'
|
174 |
'type' => 'archive',
|
175 |
|
176 |
'priority' => 'important',
|
177 |
|
178 |
'conditions'=> array(
|
179 |
-
'
|
180 |
-
'
|
181 |
),
|
182 |
|
183 |
'description' => array(
|
184 |
array(
|
185 |
'type' => 'paragraph',
|
186 |
-
'content' => __( 'There is no
|
187 |
),
|
188 |
array(
|
189 |
-
'type'
|
190 |
-
'class'
|
191 |
-
'
|
192 |
-
'
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
'layouts-archive' => array(
|
199 |
-
'type' => 'archive',
|
200 |
-
|
201 |
-
'conditions'=> array(
|
202 |
-
'Types_Helper_Condition_Layouts_Active',
|
203 |
-
'Types_Helper_Condition_Layouts_Archive_Exists'
|
204 |
),
|
205 |
|
206 |
-
|
207 |
-
array(
|
208 |
-
'type' => 'link',
|
209 |
-
'label' => '%POST-LAYOUT-ARCHIVE%',
|
210 |
-
'target' => '%POST-EDIT-LAYOUT-ARCHIVE%',
|
211 |
-
)
|
212 |
-
),
|
213 |
-
)
|
214 |
);
|
13 |
'description' => array(
|
14 |
array(
|
15 |
'type' => 'paragraph',
|
16 |
+
'content' => __( 'The archive is disabled for this post type.', 'wpcf' )
|
17 |
),
|
18 |
array(
|
19 |
'type' => 'paragraph',
|
20 |
+
'content' => __( 'To enable, go to <a href="%POST-TYPE-EDIT-HAS-ARCHIVE%">Options</a> and mark "has_archive".', 'wpcf' )
|
21 |
),
|
22 |
),
|
23 |
),
|
24 |
|
25 |
+
/* Layouts, integrated, Archive missing */
|
26 |
+
'layouts-integrated-archive-missing' => array(
|
27 |
+
'type' => 'archive',
|
28 |
+
|
29 |
+
'priority' => 'important',
|
30 |
+
|
31 |
+
'conditions'=> array(
|
32 |
+
'Types_Helper_Condition_Layouts_Active',
|
33 |
+
'Types_Helper_Condition_Layouts_Compatible',
|
34 |
+
'Types_Helper_Condition_Layouts_Archive_Missing'
|
35 |
+
),
|
36 |
+
|
37 |
+
'description' => array(
|
38 |
+
array(
|
39 |
+
'type' => 'paragraph',
|
40 |
+
'content' => __( 'There is no layout for the %POST-LABEL-PLURAL% archive.', 'wpcf' )
|
41 |
+
),
|
42 |
+
array(
|
43 |
+
'type' => 'link',
|
44 |
+
'class' => 'button',
|
45 |
+
'label' => __( 'Create archive', 'wpcf' ),
|
46 |
+
'target' => '%POST-CREATE-LAYOUT-ARCHIVE%',
|
47 |
+
)
|
48 |
+
),
|
49 |
+
),
|
50 |
+
|
51 |
+
/* Layouts, Archive */
|
52 |
+
'layouts-archive' => array(
|
53 |
+
'type' => 'archive',
|
54 |
+
|
55 |
+
'conditions'=> array(
|
56 |
+
'Types_Helper_Condition_Layouts_Active',
|
57 |
+
'Types_Helper_Condition_Layouts_Archive_Exists'
|
58 |
+
),
|
59 |
+
|
60 |
+
'description' => array(
|
61 |
+
array(
|
62 |
+
'type' => 'link',
|
63 |
+
'label' => '%POST-LAYOUT-ARCHIVE%',
|
64 |
+
'target' => '%POST-EDIT-LAYOUT-ARCHIVE%',
|
65 |
+
)
|
66 |
+
),
|
67 |
+
),
|
68 |
+
|
69 |
+
/* Views, archive */
|
70 |
+
'views-archive' => array(
|
71 |
+
'type' => 'archive',
|
72 |
+
|
73 |
+
'conditions'=> array(
|
74 |
+
'Types_Helper_Condition_Layouts_Missing',
|
75 |
+
'Types_Helper_Condition_Views_Archive_Exists'
|
76 |
+
),
|
77 |
+
|
78 |
+
'description' => array(
|
79 |
+
array(
|
80 |
+
'type' => 'link',
|
81 |
+
'label' => '%POST-VIEWS-ARCHIVE%',
|
82 |
+
'target' => '%POST-EDIT-VIEWS-ARCHIVE%',
|
83 |
+
)
|
84 |
+
),
|
85 |
+
),
|
86 |
+
|
87 |
+
/* For posts and pages we always show template file if it exists */
|
88 |
+
'archive-exists-for-posts-pages' => array(
|
89 |
+
'type' => 'archive',
|
90 |
+
|
91 |
+
'conditions'=> array(
|
92 |
+
'Types_Helper_Condition_Type_Post_Or_Page',
|
93 |
+
'Types_Helper_Condition_Archive_Exists',
|
94 |
+
'Types_Helper_Condition_Archive_Has_Fields'
|
95 |
+
),
|
96 |
+
|
97 |
+
'description' => array(
|
98 |
+
array(
|
99 |
+
'type' => 'paragraph',
|
100 |
+
'content' => __( '%POST-ARCHIVE-FILE%', 'wpcf' )
|
101 |
+
),
|
102 |
+
),
|
103 |
+
),
|
104 |
+
|
105 |
+
/* Layouts, has template with missing fields. */
|
106 |
+
'layouts-archive-fields-missing' => array(
|
107 |
+
'type' => 'archive',
|
108 |
+
|
109 |
+
'priority' => 'important',
|
110 |
+
|
111 |
+
'conditions'=> array(
|
112 |
+
'Types_Helper_Condition_Layouts_Active',
|
113 |
+
'Types_Helper_Condition_Layouts_Archive_Missing',
|
114 |
+
'Types_Helper_Condition_Archive_No_Fields'
|
115 |
+
),
|
116 |
+
|
117 |
+
'description' => array(
|
118 |
+
array(
|
119 |
+
'type' => 'paragraph',
|
120 |
+
'content' => __( 'The %POST-LABEL-PLURAL% archive of your theme %POST-ARCHIVE-FILE% is missing custom fields.', 'wpcf' )
|
121 |
+
),
|
122 |
+
array(
|
123 |
+
'type' => 'link',
|
124 |
+
'class' => 'button',
|
125 |
+
'label' => __( 'Create archive', 'wpcf' ),
|
126 |
+
'target' => '%POST-CREATE-LAYOUT-ARCHIVE%',
|
127 |
+
)
|
128 |
+
),
|
129 |
+
),
|
130 |
+
|
131 |
+
/* Layouts, single.php exists, but layouts missing */
|
132 |
+
'layouts-php-archive-exists-layouts-archive-missing' => array(
|
133 |
+
'type' => 'archive',
|
134 |
+
|
135 |
+
'conditions'=> array(
|
136 |
+
'Types_Helper_Condition_Layouts_Active',
|
137 |
+
'Types_Helper_Condition_Layouts_Archive_Missing',
|
138 |
+
'Types_Helper_Condition_Archive_Exists'
|
139 |
+
),
|
140 |
+
|
141 |
+
'description' => array(
|
142 |
+
array(
|
143 |
+
'type' => 'paragraph',
|
144 |
+
'content' => __( '%POST-ARCHIVE-FILE%', 'wpcf' )
|
145 |
+
),
|
146 |
+
array(
|
147 |
+
'type' => 'link',
|
148 |
+
'class' => 'button',
|
149 |
+
'label' => __( 'Create archive', 'wpcf' ),
|
150 |
+
'target' => '%POST-CREATE-LAYOUT-ARCHIVE%',
|
151 |
+
)
|
152 |
+
),
|
153 |
+
),
|
154 |
+
|
155 |
+
/* Layouts, Archive missing */
|
156 |
+
'layouts-archive-missing' => array(
|
157 |
+
'type' => 'archive',
|
158 |
+
|
159 |
+
'priority' => 'important',
|
160 |
+
|
161 |
+
'conditions'=> array(
|
162 |
+
'Types_Helper_Condition_Layouts_Active',
|
163 |
+
'Types_Helper_Condition_Layouts_Archive_Missing'
|
164 |
+
),
|
165 |
+
|
166 |
+
'description' => array(
|
167 |
+
array(
|
168 |
+
'type' => 'paragraph',
|
169 |
+
'content' => __( 'There is no layout for the %POST-LABEL-PLURAL% archive.', 'wpcf' )
|
170 |
+
),
|
171 |
+
array(
|
172 |
+
'type' => 'link',
|
173 |
+
'class' => 'button',
|
174 |
+
'label' => __( 'Create archive', 'wpcf' ),
|
175 |
+
'target' => '%POST-CREATE-LAYOUT-ARCHIVE%',
|
176 |
+
)
|
177 |
+
),
|
178 |
+
),
|
179 |
+
|
180 |
/* No Views, No Layouts, Archive missing */
|
181 |
'archive-missing' => array(
|
182 |
'type' => 'archive',
|
192 |
'description' => array(
|
193 |
array(
|
194 |
'type' => 'paragraph',
|
195 |
+
'content' => __( 'Your theme is missing the standard WordPress archive for %POST-LABEL-PLURAL%.', 'wpcf' )
|
196 |
),
|
197 |
array(
|
198 |
'type' => 'dialog',
|
199 |
'class' => 'button',
|
200 |
+
'label' => __( 'Create archive', 'wpcf' ),
|
201 |
'dialog' => array(
|
202 |
'id' => 'resolve-no-archive',
|
203 |
'description' => array(
|
204 |
array(
|
205 |
'type' => 'paragraph',
|
206 |
'content' => __( 'Toolset plugins let you design archive pages without writing PHP. Your archives will include all
|
207 |
+
the fields that you need and your design.', 'wpcf' )
|
208 |
),
|
209 |
array(
|
210 |
'type' => 'link',
|
211 |
'class' => 'button-primary types-button',
|
212 |
'external' => true,
|
213 |
+
'label' => __( 'Learn about creating archives with Toolset', 'wpcf' ),
|
214 |
'target' => Types_Helper_Url::get_url( 'creating-archives-with-toolset', 'popup' ),
|
215 |
),
|
216 |
)
|
234 |
'description' => array(
|
235 |
array(
|
236 |
'type' => 'paragraph',
|
237 |
+
'content' => __( 'The %POST-LABEL-PLURAL% archive of your theme is missing custom fields.', 'wpcf' )
|
238 |
),
|
239 |
array(
|
240 |
'type' => 'dialog',
|
241 |
'class' => 'button',
|
242 |
+
'label' => __( 'Resolve', 'wpcf' ),
|
243 |
'dialog' => array(
|
244 |
'id' => 'resolve-no-custom-fields',
|
245 |
'description' => array(
|
246 |
array(
|
247 |
'type' => 'paragraph',
|
248 |
+
'content' => __( 'Toolset plugins let you design archives with custom fields, without writing PHP.', 'wpcf' )
|
249 |
),
|
250 |
array(
|
251 |
'type' => 'link',
|
252 |
'class' => 'button-primary types-button',
|
253 |
'external' => true,
|
254 |
+
'label' => __( 'Learn about creating archives with Toolset', 'wpcf' ),
|
255 |
'target' => Types_Helper_Url::get_url( 'creating-archives-with-toolset', 'popup' ),
|
256 |
),
|
257 |
)
|
273 |
'description' => array(
|
274 |
array(
|
275 |
'type' => 'paragraph',
|
276 |
+
'content' => __( '%POST-ARCHIVE-FILE%', 'wpcf' )
|
277 |
),
|
278 |
),
|
279 |
),
|
280 |
|
281 |
+
/* Views, has template with missing fields. */
|
282 |
+
'views-archive-fields-missing' => array(
|
283 |
'type' => 'archive',
|
284 |
|
285 |
'priority' => 'important',
|
286 |
|
287 |
'conditions'=> array(
|
288 |
'Types_Helper_Condition_Layouts_Missing',
|
289 |
+
'Types_Helper_Condition_Views_Archive_Missing',
|
290 |
+
'Types_Helper_Condition_Archive_No_Fields',
|
291 |
),
|
292 |
|
293 |
'description' => array(
|
294 |
array(
|
295 |
'type' => 'paragraph',
|
296 |
+
'content' => __( 'The %POST-LABEL-PLURAL% archive of your theme %POST-ARCHIVE-FILE% is missing custom fields.', 'wpcf' )
|
297 |
),
|
298 |
array(
|
299 |
+
'type' => 'link',
|
300 |
+
'class' => 'button js-toolset-dashboard-create-archive',
|
301 |
'target' => '%POST-CREATE-VIEWS-ARCHIVE%',
|
302 |
+
'post_type' => '%POST-CREATE-VIEWS-ARCHIVE-TYPE%',
|
303 |
+
'redirect_url' => '%POST-CREATE-VIEWS-ARCHIVE-REDIRECT-URL%',
|
304 |
+
'forwhomtitle' => '%POST-CREATE-VIEWS-ARCHIVE-FOR-WHOM-TITLE%',
|
305 |
+
'forwhomloop' => '%POST-CREATE-VIEWS-ARCHIVE-FOR-WHOM-LOOP%',
|
306 |
+
'label' => __( 'Create archive', 'wpcf' ),
|
307 |
+
),
|
308 |
),
|
|
|
309 |
),
|
310 |
|
311 |
+
/* Views, archive.php exists, but views missing */
|
312 |
+
'views-php-archive-exists-views-archive-missing' => array(
|
313 |
'type' => 'archive',
|
314 |
|
315 |
'conditions'=> array(
|
316 |
'Types_Helper_Condition_Layouts_Missing',
|
317 |
+
'Types_Helper_Condition_Views_Archive_Missing',
|
318 |
+
'Types_Helper_Condition_Archive_Exists'
|
319 |
),
|
320 |
|
321 |
'description' => array(
|
322 |
array(
|
323 |
+
'type' => 'paragraph',
|
324 |
+
'content' => __( '%POST-ARCHIVE-FILE%', 'wpcf' )
|
325 |
+
),
|
326 |
+
array(
|
327 |
+
'type' => 'link',
|
328 |
+
'class' => 'button js-toolset-dashboard-create-archive',
|
329 |
+
'target' => '%POST-CREATE-VIEWS-ARCHIVE%',
|
330 |
+
'post_type' => '%POST-CREATE-VIEWS-ARCHIVE-TYPE%',
|
331 |
+
'redirect_url' => '%POST-CREATE-VIEWS-ARCHIVE-REDIRECT-URL%',
|
332 |
+
'forwhomtitle' => '%POST-CREATE-VIEWS-ARCHIVE-FOR-WHOM-TITLE%',
|
333 |
+
'forwhomloop' => '%POST-CREATE-VIEWS-ARCHIVE-FOR-WHOM-LOOP%',
|
334 |
+
'label' => __( 'Create archive', 'wpcf' ),
|
335 |
+
),
|
336 |
),
|
337 |
|
338 |
),
|
339 |
|
340 |
+
/* Views, template missing */
|
341 |
+
'views-archive-missing' => array(
|
342 |
'type' => 'archive',
|
343 |
|
344 |
'priority' => 'important',
|
345 |
|
346 |
'conditions'=> array(
|
347 |
+
'Types_Helper_Condition_Layouts_Missing',
|
348 |
+
'Types_Helper_Condition_Views_Archive_Missing'
|
349 |
),
|
350 |
|
351 |
'description' => array(
|
352 |
array(
|
353 |
'type' => 'paragraph',
|
354 |
+
'content' => __( 'There is no WordPress Archive for %POST-LABEL-PLURAL%.', 'wpcf' )
|
355 |
),
|
356 |
array(
|
357 |
+
'type' => 'link',
|
358 |
+
'class' => 'button js-toolset-dashboard-create-archive',
|
359 |
+
'target' => '%POST-CREATE-VIEWS-ARCHIVE%',
|
360 |
+
'post_type' => '%POST-CREATE-VIEWS-ARCHIVE-TYPE%',
|
361 |
+
'redirect_url' => '%POST-CREATE-VIEWS-ARCHIVE-REDIRECT-URL%',
|
362 |
+
'forwhomtitle' => '%POST-CREATE-VIEWS-ARCHIVE-FOR-WHOM-TITLE%',
|
363 |
+
'forwhomloop' => '%POST-CREATE-VIEWS-ARCHIVE-FOR-WHOM-LOOP%',
|
364 |
+
'label' => __( 'Create archive', 'wpcf' ),
|
365 |
+
),
|
|
|
|
|
|
|
|
|
|
|
|
|
366 |
),
|
367 |
|
368 |
+
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
369 |
);
|
application/data/dashboard/table/forms.php
CHANGED
@@ -12,26 +12,26 @@ return array(
|
|
12 |
array(
|
13 |
'type' => 'dialog',
|
14 |
'class' => 'button',
|
15 |
-
'label' => __( 'Create Form', '
|
16 |
'dialog' => array(
|
17 |
'id' => 'create-form',
|
18 |
'description' => array(
|
19 |
array(
|
20 |
'type' => 'paragraph',
|
21 |
'content' => __( 'To create a form for front-end content submission and editing, you need to have CRED plugin installed.
|
22 |
-
CRED is part of the complete Toolset package for adding and displaying custom content.', '
|
23 |
),
|
24 |
array(
|
25 |
'type' => 'link',
|
26 |
'external' => true,
|
27 |
-
'label' => __( 'Learn how CRED forms work', '
|
28 |
'target' => Types_Helper_Url::get_url( 'how-cred-work', 'popup' )
|
29 |
),
|
30 |
/*
|
31 |
array(
|
32 |
'type' => 'link',
|
33 |
'external' => true,
|
34 |
-
'label' => __( 'Free Toolset Trial', '
|
35 |
'target' => Types_Helper_Url::get_url( 'free-trial', 'popup' )
|
36 |
),
|
37 |
*/
|
@@ -55,7 +55,7 @@ return array(
|
|
55 |
'type' => 'link',
|
56 |
'class' => 'button',
|
57 |
'target' => '%POST-CREATE-FORM%',
|
58 |
-
'label' => __( 'Create form', '
|
59 |
)
|
60 |
)
|
61 |
),
|
@@ -73,13 +73,13 @@ return array(
|
|
73 |
'description' => array(
|
74 |
array(
|
75 |
'type' => 'paragraph',
|
76 |
-
'content' => '%POST-FORMS-LIST%',
|
77 |
),
|
78 |
array(
|
79 |
'type' => 'link',
|
80 |
'class' => 'button',
|
81 |
'target' => '%POST-CREATE-FORM%',
|
82 |
-
'label' => __( 'Create form', '
|
83 |
)
|
84 |
)
|
85 |
),
|
@@ -97,14 +97,14 @@ return array(
|
|
97 |
array(
|
98 |
'type' => 'paragraph',
|
99 |
'content' => __(
|
100 |
-
'You can create forms for front-end submission and editing of %POST-LABEL-PLURAL%.', '
|
101 |
)
|
102 |
),
|
103 |
array(
|
104 |
'type' => 'link',
|
105 |
'external' => true,
|
106 |
'target' => Types_Helper_Url::get_url( 'adding-forms-to-layouts', 'table' ),
|
107 |
-
'label' => __( 'Learn how', '
|
108 |
),
|
109 |
)
|
110 |
),
|
@@ -121,13 +121,13 @@ return array(
|
|
121 |
'description' => array(
|
122 |
array(
|
123 |
'type' => 'paragraph',
|
124 |
-
'content' => '%POST-FORMS-LIST%'
|
125 |
),
|
126 |
array(
|
127 |
'type' => 'link',
|
128 |
'external' => true,
|
129 |
'target' => Types_Helper_Url::get_url( 'adding-forms-to-layouts', 'table' ),
|
130 |
-
'label' => __( 'How to add forms to layouts', '
|
131 |
),
|
132 |
)
|
133 |
),
|
12 |
array(
|
13 |
'type' => 'dialog',
|
14 |
'class' => 'button',
|
15 |
+
'label' => __( 'Create Form', 'wpcf' ),
|
16 |
'dialog' => array(
|
17 |
'id' => 'create-form',
|
18 |
'description' => array(
|
19 |
array(
|
20 |
'type' => 'paragraph',
|
21 |
'content' => __( 'To create a form for front-end content submission and editing, you need to have CRED plugin installed.
|
22 |
+
CRED is part of the complete Toolset package for adding and displaying custom content.', 'wpcf' )
|
23 |
),
|
24 |
array(
|
25 |
'type' => 'link',
|
26 |
'external' => true,
|
27 |
+
'label' => __( 'Learn how CRED forms work', 'wpcf' ),
|
28 |
'target' => Types_Helper_Url::get_url( 'how-cred-work', 'popup' )
|
29 |
),
|
30 |
/*
|
31 |
array(
|
32 |
'type' => 'link',
|
33 |
'external' => true,
|
34 |
+
'label' => __( 'Free Toolset Trial', 'wpcf' ),
|
35 |
'target' => Types_Helper_Url::get_url( 'free-trial', 'popup' )
|
36 |
),
|
37 |
*/
|
55 |
'type' => 'link',
|
56 |
'class' => 'button',
|
57 |
'target' => '%POST-CREATE-FORM%',
|
58 |
+
'label' => __( 'Create form', 'wpcf' )
|
59 |
)
|
60 |
)
|
61 |
),
|
73 |
'description' => array(
|
74 |
array(
|
75 |
'type' => 'paragraph',
|
76 |
+
'content' => '%POST-FORMS-LIST%',
|
77 |
),
|
78 |
array(
|
79 |
'type' => 'link',
|
80 |
'class' => 'button',
|
81 |
'target' => '%POST-CREATE-FORM%',
|
82 |
+
'label' => __( 'Create form', 'wpcf' )
|
83 |
)
|
84 |
)
|
85 |
),
|
97 |
array(
|
98 |
'type' => 'paragraph',
|
99 |
'content' => __(
|
100 |
+
'You can create forms for front-end submission and editing of %POST-LABEL-PLURAL%.', 'wpcf'
|
101 |
)
|
102 |
),
|
103 |
array(
|
104 |
'type' => 'link',
|
105 |
'external' => true,
|
106 |
'target' => Types_Helper_Url::get_url( 'adding-forms-to-layouts', 'table' ),
|
107 |
+
'label' => __( 'Learn how', 'wpcf' )
|
108 |
),
|
109 |
)
|
110 |
),
|
121 |
'description' => array(
|
122 |
array(
|
123 |
'type' => 'paragraph',
|
124 |
+
'content' => '%POST-FORMS-LIST%'
|
125 |
),
|
126 |
array(
|
127 |
'type' => 'link',
|
128 |
'external' => true,
|
129 |
'target' => Types_Helper_Url::get_url( 'adding-forms-to-layouts', 'table' ),
|
130 |
+
'label' => __( 'How to add forms to layouts', 'wpcf' )
|
131 |
),
|
132 |
)
|
133 |
),
|
application/data/dashboard/table/head.php
CHANGED
@@ -3,21 +3,21 @@ $question_marks = array(
|
|
3 |
|
4 |
'type' => array(
|
5 |
'id' => 'type',
|
6 |
-
'title' => __( 'Post Type', '
|
7 |
),
|
8 |
|
9 |
'fields' => array(
|
10 |
'id' => 'fields',
|
11 |
-
'title' => __( 'Fields', '
|
12 |
'description' => array(
|
13 |
array(
|
14 |
'type' => 'paragraph',
|
15 |
-
'content' => __( 'A list of all Post Fields and their attachment to the Post Types.', '
|
16 |
),
|
17 |
array(
|
18 |
'type' => 'link',
|
19 |
'external' => true,
|
20 |
-
'label' => __( 'Learn more', '
|
21 |
'target' => Types_Helper_Url::get_url( 'learn-how-fields', 'tooltip' )
|
22 |
),
|
23 |
)
|
@@ -25,16 +25,16 @@ $question_marks = array(
|
|
25 |
|
26 |
'taxonomies' => array(
|
27 |
'id' => 'taxonomies',
|
28 |
-
'title' => __( 'Taxonomies', '
|
29 |
'description' => array(
|
30 |
array(
|
31 |
'type' => 'paragraph',
|
32 |
-
'content' => __( 'A list of all Taxonomies and their attachment to the Post Types.', '
|
33 |
),
|
34 |
array(
|
35 |
'type' => 'link',
|
36 |
'external' => true,
|
37 |
-
'label' => __( 'Learn more', '
|
38 |
'target' => Types_Helper_Url::get_url( 'learn-how-taxonomies', 'tooltip' )
|
39 |
),
|
40 |
)
|
@@ -46,16 +46,16 @@ $question_marks = array(
|
|
46 |
|
47 |
'template' => array(
|
48 |
'id' => 'template',
|
49 |
-
'title' => __( 'Template', '
|
50 |
'description' => array(
|
51 |
array(
|
52 |
'type' => 'paragraph',
|
53 |
-
'content' => __( 'A template displays single-item pages with your design and fields.', '
|
54 |
),
|
55 |
array(
|
56 |
'type' => 'link',
|
57 |
'external' => true,
|
58 |
-
'label' => __( 'Learn more', '
|
59 |
'target' => Types_Helper_Url::get_url( 'learn-how-template', 'tooltip' )
|
60 |
),
|
61 |
)
|
@@ -63,16 +63,16 @@ $question_marks = array(
|
|
63 |
|
64 |
'archive' => array(
|
65 |
'id' => 'archive',
|
66 |
-
'title' => __( 'Archive', '
|
67 |
'description' => array(
|
68 |
array(
|
69 |
'type' => 'paragraph',
|
70 |
-
'content' => __( 'An archive is the standard list that WordPress produces for content.', '
|
71 |
),
|
72 |
array(
|
73 |
'type' => 'link',
|
74 |
'external' => true,
|
75 |
-
'label' => __( 'Learn more', '
|
76 |
'target' => Types_Helper_Url::get_url( 'learn-how-archive', 'tooltip' )
|
77 |
),
|
78 |
)
|
@@ -80,16 +80,16 @@ $question_marks = array(
|
|
80 |
|
81 |
'views' => array(
|
82 |
'id' => 'views',
|
83 |
-
'title' => __( 'Views', '
|
84 |
'description' => array(
|
85 |
array(
|
86 |
'type' => 'paragraph',
|
87 |
-
'content' => __( 'Views are custom lists of content, which you can display anywhere in the site.', '
|
88 |
),
|
89 |
array(
|
90 |
'type' => 'link',
|
91 |
'external' => true,
|
92 |
-
'label' => __( 'Learn more', '
|
93 |
'target' => Types_Helper_Url::get_url( 'learn-how-views', 'tooltip' )
|
94 |
),
|
95 |
)
|
@@ -97,16 +97,16 @@ $question_marks = array(
|
|
97 |
|
98 |
'forms' => array(
|
99 |
'id' => 'forms',
|
100 |
-
'title' => __( 'Forms', '
|
101 |
'description' => array(
|
102 |
array(
|
103 |
'type' => 'paragraph',
|
104 |
-
'content' => __( 'Forms allow to create and edit content from the site’s front-end.', '
|
105 |
),
|
106 |
array(
|
107 |
'type' => 'link',
|
108 |
'external' => true,
|
109 |
-
'label' => __( 'Learn more', '
|
110 |
'target' => Types_Helper_Url::get_url( 'learn-how-forms', 'tooltip' )
|
111 |
),
|
112 |
)
|
@@ -115,15 +115,15 @@ $question_marks = array(
|
|
115 |
|
116 |
// Visual Composer
|
117 |
if( defined( 'WPB_VC_VERSION' ) ) {
|
118 |
-
$question_marks['template']['description'][1]['label'] = __( 'Creating templates with Visual Composer', '
|
119 |
}
|
120 |
// Beaver Builder
|
121 |
else if( class_exists( 'FLBuilderLoader' ) ) {
|
122 |
-
$question_marks['template']['description'][1]['label'] = __( 'Creating templates with Beaver Builder', '
|
123 |
}
|
124 |
// Layouts
|
125 |
else if( defined( 'WPDDL_DEVELOPMENT' ) || defined( 'WPDDL_PRODUCTION' ) ) {
|
126 |
-
$question_marks['template']['description'][1]['label'] = __( 'Creating templates with Layouts', '
|
127 |
}
|
128 |
|
129 |
return $question_marks;
|
3 |
|
4 |
'type' => array(
|
5 |
'id' => 'type',
|
6 |
+
'title' => __( 'Post Type', 'wpcf' ),
|
7 |
),
|
8 |
|
9 |
'fields' => array(
|
10 |
'id' => 'fields',
|
11 |
+
'title' => __( 'Fields', 'wpcf' ),
|
12 |
'description' => array(
|
13 |
array(
|
14 |
'type' => 'paragraph',
|
15 |
+
'content' => __( 'A list of all Post Fields and their attachment to the Post Types.', 'wpcf' )
|
16 |
),
|
17 |
array(
|
18 |
'type' => 'link',
|
19 |
'external' => true,
|
20 |
+
'label' => __( 'Learn more', 'wpcf' ),
|
21 |
'target' => Types_Helper_Url::get_url( 'learn-how-fields', 'tooltip' )
|
22 |
),
|
23 |
)
|
25 |
|
26 |
'taxonomies' => array(
|
27 |
'id' => 'taxonomies',
|
28 |
+
'title' => __( 'Taxonomies', 'wpcf' ),
|
29 |
'description' => array(
|
30 |
array(
|
31 |
'type' => 'paragraph',
|
32 |
+
'content' => __( 'A list of all Taxonomies and their attachment to the Post Types.', 'wpcf' )
|
33 |
),
|
34 |
array(
|
35 |
'type' => 'link',
|
36 |
'external' => true,
|
37 |
+
'label' => __( 'Learn more', 'wpcf' ),
|
38 |
'target' => Types_Helper_Url::get_url( 'learn-how-taxonomies', 'tooltip' )
|
39 |
),
|
40 |
)
|
46 |
|
47 |
'template' => array(
|
48 |
'id' => 'template',
|
49 |
+
'title' => __( 'Template', 'wpcf' ),
|
50 |
'description' => array(
|
51 |
array(
|
52 |
'type' => 'paragraph',
|
53 |
+
'content' => __( 'A template displays single-item pages with your design and fields.', 'wpcf' )
|
54 |
),
|
55 |
array(
|
56 |
'type' => 'link',
|
57 |
'external' => true,
|
58 |
+
'label' => __( 'Learn more', 'wpcf' ),
|
59 |
'target' => Types_Helper_Url::get_url( 'learn-how-template', 'tooltip' )
|
60 |
),
|
61 |
)
|
63 |
|
64 |
'archive' => array(
|
65 |
'id' => 'archive',
|
66 |
+
'title' => __( 'Archive', 'wpcf' ),
|
67 |
'description' => array(
|
68 |
array(
|
69 |
'type' => 'paragraph',
|
70 |
+
'content' => __( 'An archive is the standard list that WordPress produces for content.', 'wpcf' )
|
71 |
),
|
72 |
array(
|
73 |
'type' => 'link',
|
74 |
'external' => true,
|
75 |
+
'label' => __( 'Learn more', 'wpcf' ),
|
76 |
'target' => Types_Helper_Url::get_url( 'learn-how-archive', 'tooltip' )
|
77 |
),
|
78 |
)
|
80 |
|
81 |
'views' => array(
|
82 |
'id' => 'views',
|
83 |
+
'title' => __( 'Views', 'wpcf' ),
|
84 |
'description' => array(
|
85 |
array(
|
86 |
'type' => 'paragraph',
|
87 |
+
'content' => __( 'Views are custom lists of content, which you can display anywhere in the site.', 'wpcf' )
|
88 |
),
|
89 |
array(
|
90 |
'type' => 'link',
|
91 |
'external' => true,
|
92 |
+
'label' => __( 'Learn more', 'wpcf' ),
|
93 |
'target' => Types_Helper_Url::get_url( 'learn-how-views', 'tooltip' )
|
94 |
),
|
95 |
)
|
97 |
|
98 |
'forms' => array(
|
99 |
'id' => 'forms',
|
100 |
+
'title' => __( 'Forms', 'wpcf' ),
|
101 |
'description' => array(
|
102 |
array(
|
103 |
'type' => 'paragraph',
|
104 |
+
'content' => __( 'Forms allow to create and edit content from the site’s front-end.', 'wpcf' )
|
105 |
),
|
106 |
array(
|
107 |
'type' => 'link',
|
108 |
'external' => true,
|
109 |
+
'label' => __( 'Learn more', 'wpcf' ),
|
110 |
'target' => Types_Helper_Url::get_url( 'learn-how-forms', 'tooltip' )
|
111 |
),
|
112 |
)
|
115 |
|
116 |
// Visual Composer
|
117 |
if( defined( 'WPB_VC_VERSION' ) ) {
|
118 |
+
$question_marks['template']['description'][1]['label'] = __( 'Creating templates with Visual Composer', 'wpcf' );
|
119 |
}
|
120 |
// Beaver Builder
|
121 |
else if( class_exists( 'FLBuilderLoader' ) ) {
|
122 |
+
$question_marks['template']['description'][1]['label'] = __( 'Creating templates with Beaver Builder', 'wpcf' );
|
123 |
}
|
124 |
// Layouts
|
125 |
else if( defined( 'WPDDL_DEVELOPMENT' ) || defined( 'WPDDL_PRODUCTION' ) ) {
|
126 |
+
$question_marks['template']['description'][1]['label'] = __( 'Creating templates with Layouts', 'wpcf' );
|
127 |
}
|
128 |
|
129 |
return $question_marks;
|
application/data/dashboard/table/template.php
CHANGED
@@ -1,5 +1,161 @@
|
|
1 |
<?php
|
2 |
return array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
/* No Views, No Layouts, Single Missing */
|
4 |
'single-missing' => array(
|
5 |
'type' => 'template',
|
@@ -15,25 +171,25 @@ return array(
|
|
15 |
'description' => array(
|
16 |
array(
|
17 |
'type' => 'paragraph',
|
18 |
-
'content' => __( 'Your theme doesn’t have a template to display %POST-LABEL-PLURAL%.', '
|
19 |
),
|
20 |
array(
|
21 |
'type' => 'dialog',
|
22 |
'class' => 'button',
|
23 |
-
'label' => __( 'Create template', '
|
24 |
'dialog' => array(
|
25 |
'id' => 'resolve-single-no-template',
|
26 |
'description' => array(
|
27 |
array(
|
28 |
'type' => 'paragraph',
|
29 |
'content' => __( 'Toolset plugins let you design templates for single items (%POST-LABEL-SINGULAR% pages) without
|
30 |
-
writing PHP. Your templates will include all the fields that you need and your design.', '
|
31 |
),
|
32 |
array(
|
33 |
'type' => 'link',
|
34 |
'class' => 'button-primary types-button',
|
35 |
'external' => true,
|
36 |
-
'label' => __( 'Learn about creating templates with Toolset', '
|
37 |
'target' => Types_Helper_Url::get_url( 'creating-templates-with-toolset', 'popup' ),
|
38 |
),
|
39 |
)
|
@@ -57,25 +213,25 @@ return array(
|
|
57 |
'description' => array(
|
58 |
array(
|
59 |
'type' => 'paragraph',
|
60 |
-
'content' => __( 'Your theme’s template file for displaying %POST-LABEL-SINGULAR% items is missing custom fields.', '
|
61 |
),
|
62 |
array(
|
63 |
'type' => 'dialog',
|
64 |
'class' => 'button-primary types-button',
|
65 |
-
'label' => __( 'Resolve', '
|
66 |
'dialog' => array(
|
67 |
'id' => 'resolve-single-no-fields',
|
68 |
'description' => array(
|
69 |
array(
|
70 |
'type' => 'paragraph',
|
71 |
'content' => __( 'Toolset plugins let you design templates for single items (%POST-LABEL-SINGULAR% pages),
|
72 |
-
with all the fields that you need to display.', '
|
73 |
),
|
74 |
array(
|
75 |
'type' => 'link',
|
76 |
'class' => 'button-primary types-button',
|
77 |
'external' => true,
|
78 |
-
'label' => __( 'Learn about creating templates with Toolset', '
|
79 |
'target' => Types_Helper_Url::get_url( 'creating-templates-with-toolset', 'popup' ),
|
80 |
),
|
81 |
)
|
@@ -97,96 +253,84 @@ return array(
|
|
97 |
'description' => array(
|
98 |
array(
|
99 |
'type' => 'paragraph',
|
100 |
-
'content' => __( '%POST-TEMPLATE-FILE%', '
|
101 |
),
|
102 |
),
|
103 |
),
|
104 |
|
105 |
-
/* Views, template missing */
|
106 |
-
'views-
|
107 |
'type' => 'template',
|
108 |
|
109 |
'priority' => 'important',
|
110 |
|
111 |
'conditions'=> array(
|
112 |
'Types_Helper_Condition_Layouts_Missing',
|
113 |
-
'Types_Helper_Condition_Views_Template_Missing'
|
|
|
114 |
),
|
115 |
|
116 |
'description' => array(
|
117 |
array(
|
118 |
'type' => 'paragraph',
|
119 |
-
'content' => __( '
|
120 |
),
|
121 |
array(
|
122 |
'type' => 'link',
|
123 |
'class' => 'button',
|
124 |
'target' => '%POST-CREATE-CONTENT-TEMPLATE%',
|
125 |
-
'label' => __( 'Create
|
126 |
)
|
127 |
),
|
128 |
-
|
129 |
),
|
130 |
|
131 |
-
/* Views,
|
132 |
-
'views-template' => array(
|
133 |
'type' => 'template',
|
134 |
|
135 |
'conditions'=> array(
|
136 |
'Types_Helper_Condition_Layouts_Missing',
|
137 |
-
'
|
|
|
138 |
),
|
139 |
|
140 |
'description' => array(
|
141 |
array(
|
142 |
-
'type' => '
|
143 |
-
'
|
144 |
-
'target' => '%POST-EDIT-CONTENT-TEMPLATE%'
|
145 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
),
|
147 |
-
|
148 |
),
|
149 |
|
150 |
-
/*
|
151 |
-
'
|
152 |
'type' => 'template',
|
153 |
|
154 |
'priority' => 'important',
|
155 |
|
156 |
'conditions'=> array(
|
157 |
-
'
|
158 |
-
'
|
159 |
),
|
160 |
|
161 |
'description' => array(
|
162 |
array(
|
163 |
'type' => 'paragraph',
|
164 |
-
'content' => __( 'There is no
|
165 |
),
|
166 |
array(
|
167 |
'type' => 'link',
|
168 |
'class' => 'button',
|
169 |
-
'
|
170 |
-
'
|
171 |
)
|
172 |
),
|
173 |
-
),
|
174 |
-
|
175 |
-
/* Layouts, template */
|
176 |
-
'layouts-template' => array(
|
177 |
-
'type' => 'template',
|
178 |
-
|
179 |
-
'conditions'=> array(
|
180 |
-
'Types_Helper_Condition_Layouts_Active',
|
181 |
-
'Types_Helper_Condition_Layouts_Template_Exists'
|
182 |
-
),
|
183 |
|
184 |
-
'description' => array(
|
185 |
-
array(
|
186 |
-
'type' => 'link',
|
187 |
-
'label' => '%POST-LAYOUT-TEMPLATE%',
|
188 |
-
'target' => '%POST-EDIT-LAYOUT-TEMPLATE%'
|
189 |
-
),
|
190 |
-
),
|
191 |
),
|
192 |
);
|
1 |
<?php
|
2 |
return array(
|
3 |
+
/* Layouts, integrated, template missing*/
|
4 |
+
'layouts-integrated-template-missing' => array(
|
5 |
+
'type' => 'template',
|
6 |
+
|
7 |
+
'priority' => 'important',
|
8 |
+
|
9 |
+
'conditions'=> array(
|
10 |
+
'Types_Helper_Condition_Layouts_Active',
|
11 |
+
'Types_Helper_Condition_Layouts_Compatible',
|
12 |
+
'Types_Helper_Condition_Layouts_Template_Missing'
|
13 |
+
),
|
14 |
+
|
15 |
+
'description' => array(
|
16 |
+
array(
|
17 |
+
'type' => 'paragraph',
|
18 |
+
'content' => __( 'There is no template layout for %POST-LABEL-SINGULAR% items.', 'wpcf' )
|
19 |
+
),
|
20 |
+
array(
|
21 |
+
'type' => 'link',
|
22 |
+
'class' => 'button',
|
23 |
+
'label' => __( 'Create template', 'wpcf' ),
|
24 |
+
'target' => '%POST-CREATE-LAYOUT-TEMPLATE%',
|
25 |
+
)
|
26 |
+
),
|
27 |
+
),
|
28 |
+
|
29 |
+
/* Layouts, template */
|
30 |
+
'layouts-template' => array(
|
31 |
+
'type' => 'template',
|
32 |
+
|
33 |
+
'conditions'=> array(
|
34 |
+
'Types_Helper_Condition_Layouts_Active',
|
35 |
+
'Types_Helper_Condition_Layouts_Template_Exists'
|
36 |
+
),
|
37 |
+
|
38 |
+
'description' => array(
|
39 |
+
array(
|
40 |
+
'type' => 'link',
|
41 |
+
'label' => '%POST-LAYOUT-TEMPLATE%',
|
42 |
+
'target' => '%POST-EDIT-LAYOUT-TEMPLATE%'
|
43 |
+
),
|
44 |
+
),
|
45 |
+
),
|
46 |
+
|
47 |
+
/* Views, template */
|
48 |
+
'views-template' => array(
|
49 |
+
'type' => 'template',
|
50 |
+
|
51 |
+
'conditions'=> array(
|
52 |
+
'Types_Helper_Condition_Layouts_Missing',
|
53 |
+
'Types_Helper_Condition_Views_Template_Exists'
|
54 |
+
),
|
55 |
+
|
56 |
+
'description' => array(
|
57 |
+
array(
|
58 |
+
'type' => 'link',
|
59 |
+
'label' => '%POST-CONTENT-TEMPLATE-NAME%',
|
60 |
+
'target' => '%POST-EDIT-CONTENT-TEMPLATE%'
|
61 |
+
),
|
62 |
+
),
|
63 |
+
),
|
64 |
+
|
65 |
+
/* For posts and pages we always show template file if it exists */
|
66 |
+
'single-exists-for-posts-pages' => array(
|
67 |
+
'type' => 'template',
|
68 |
+
|
69 |
+
'conditions'=> array(
|
70 |
+
'Types_Helper_Condition_Type_Post_Or_Page',
|
71 |
+
'Types_Helper_Condition_Single_Exists',
|
72 |
+
'Types_Helper_Condition_Single_Has_Fields'
|
73 |
+
),
|
74 |
+
|
75 |
+
'description' => array(
|
76 |
+
array(
|
77 |
+
'type' => 'paragraph',
|
78 |
+
'content' => __( '%POST-TEMPLATE-FILE%', 'wpcf' )
|
79 |
+
),
|
80 |
+
),
|
81 |
+
),
|
82 |
+
|
83 |
+
/* Layouts, has template with missing fields. */
|
84 |
+
'layouts-single-fields-missing' => array(
|
85 |
+
'type' => 'template',
|
86 |
+
|
87 |
+
'priority' => 'important',
|
88 |
+
|
89 |
+
'conditions'=> array(
|
90 |
+
'Types_Helper_Condition_Layouts_Active',
|
91 |
+
'Types_Helper_Condition_Layouts_Template_Missing',
|
92 |
+
'Types_Helper_Condition_Single_No_Fields',
|
93 |
+
),
|
94 |
+
|
95 |
+
'description' => array(
|
96 |
+
array(
|
97 |
+
'type' => 'paragraph',
|
98 |
+
'content' => __( 'Your theme’s template file %POST-TEMPLATE-FILE% for displaying %POST-LABEL-SINGULAR% items is missing custom fields.', 'wpcf' )
|
99 |
+
),
|
100 |
+
array(
|
101 |
+
'type' => 'link',
|
102 |
+
'class' => 'button',
|
103 |
+
'label' => __( 'Create template', 'wpcf' ),
|
104 |
+
'target' => '%POST-CREATE-LAYOUT-TEMPLATE%',
|
105 |
+
)
|
106 |
+
),
|
107 |
+
),
|
108 |
+
|
109 |
+
/* Layouts, single.php exists, but layouts missing */
|
110 |
+
'layouts-php-template-exists-layouts-template-missing' => array(
|
111 |
+
'type' => 'template',
|
112 |
+
|
113 |
+
'conditions'=> array(
|
114 |
+
'Types_Helper_Condition_Layouts_Active',
|
115 |
+
'Types_Helper_Condition_Layouts_Template_Missing',
|
116 |
+
'Types_Helper_Condition_Single_Exists'
|
117 |
+
),
|
118 |
+
|
119 |
+
'description' => array(
|
120 |
+
array(
|
121 |
+
'type' => 'paragraph',
|
122 |
+
'content' => __( '%POST-TEMPLATE-FILE%', 'wpcf' )
|
123 |
+
),
|
124 |
+
array(
|
125 |
+
'type' => 'link',
|
126 |
+
'class' => 'button',
|
127 |
+
'label' => __( 'Create template', 'wpcf' ),
|
128 |
+
'target' => '%POST-CREATE-LAYOUT-TEMPLATE%',
|
129 |
+
)
|
130 |
+
),
|
131 |
+
|
132 |
+
),
|
133 |
+
|
134 |
+
/* Layouts, template missing*/
|
135 |
+
'layouts-template-missing' => array(
|
136 |
+
'type' => 'template',
|
137 |
+
|
138 |
+
'priority' => 'important',
|
139 |
+
|
140 |
+
'conditions'=> array(
|
141 |
+
'Types_Helper_Condition_Layouts_Active',
|
142 |
+
'Types_Helper_Condition_Layouts_Template_Missing'
|
143 |
+
),
|
144 |
+
|
145 |
+
'description' => array(
|
146 |
+
array(
|
147 |
+
'type' => 'paragraph',
|
148 |
+
'content' => __( 'There is no template layout for %POST-LABEL-SINGULAR% items.', 'wpcf' )
|
149 |
+
),
|
150 |
+
array(
|
151 |
+
'type' => 'link',
|
152 |
+
'class' => 'button',
|
153 |
+
'label' => __( 'Create template', 'wpcf' ),
|
154 |
+
'target' => '%POST-CREATE-LAYOUT-TEMPLATE%',
|
155 |
+
)
|
156 |
+
),
|
157 |
+
),
|
158 |
+
|
159 |
/* No Views, No Layouts, Single Missing */
|
160 |
'single-missing' => array(
|
161 |
'type' => 'template',
|
171 |
'description' => array(
|
172 |
array(
|
173 |
'type' => 'paragraph',
|
174 |
+
'content' => __( 'Your theme doesn’t have a template to display %POST-LABEL-PLURAL%.', 'wpcf' )
|
175 |
),
|
176 |
array(
|
177 |
'type' => 'dialog',
|
178 |
'class' => 'button',
|
179 |
+
'label' => __( 'Create template', 'wpcf' ),
|
180 |
'dialog' => array(
|
181 |
'id' => 'resolve-single-no-template',
|
182 |
'description' => array(
|
183 |
array(
|
184 |
'type' => 'paragraph',
|
185 |
'content' => __( 'Toolset plugins let you design templates for single items (%POST-LABEL-SINGULAR% pages) without
|
186 |
+
writing PHP. Your templates will include all the fields that you need and your design.', 'wpcf' )
|
187 |
),
|
188 |
array(
|
189 |
'type' => 'link',
|
190 |
'class' => 'button-primary types-button',
|
191 |
'external' => true,
|
192 |
+
'label' => __( 'Learn about creating templates with Toolset', 'wpcf' ),
|
193 |
'target' => Types_Helper_Url::get_url( 'creating-templates-with-toolset', 'popup' ),
|
194 |
),
|
195 |
)
|
213 |
'description' => array(
|
214 |
array(
|
215 |
'type' => 'paragraph',
|
216 |
+
'content' => __( 'Your theme’s template file for displaying %POST-LABEL-SINGULAR% items is missing custom fields.', 'wpcf' )
|
217 |
),
|
218 |
array(
|
219 |
'type' => 'dialog',
|
220 |
'class' => 'button-primary types-button',
|
221 |
+
'label' => __( 'Resolve', 'wpcf' ),
|
222 |
'dialog' => array(
|
223 |
'id' => 'resolve-single-no-fields',
|
224 |
'description' => array(
|
225 |
array(
|
226 |
'type' => 'paragraph',
|
227 |
'content' => __( 'Toolset plugins let you design templates for single items (%POST-LABEL-SINGULAR% pages),
|
228 |
+
with all the fields that you need to display.', 'wpcf' )
|
229 |
),
|
230 |
array(
|
231 |
'type' => 'link',
|
232 |
'class' => 'button-primary types-button',
|
233 |
'external' => true,
|
234 |
+
'label' => __( 'Learn about creating templates with Toolset', 'wpcf' ),
|
235 |
'target' => Types_Helper_Url::get_url( 'creating-templates-with-toolset', 'popup' ),
|
236 |
),
|
237 |
)
|
253 |
'description' => array(
|
254 |
array(
|
255 |
'type' => 'paragraph',
|
256 |
+
'content' => __( '%POST-TEMPLATE-FILE%', 'wpcf' )
|
257 |
),
|
258 |
),
|
259 |
),
|
260 |
|
261 |
+
/* Views, has template with missing fields. */
|
262 |
+
'views-single-fields-missing' => array(
|
263 |
'type' => 'template',
|
264 |
|
265 |
'priority' => 'important',
|
266 |
|
267 |
'conditions'=> array(
|
268 |
'Types_Helper_Condition_Layouts_Missing',
|
269 |
+
'Types_Helper_Condition_Views_Template_Missing',
|
270 |
+
'Types_Helper_Condition_Single_No_Fields',
|
271 |
),
|
272 |
|
273 |
'description' => array(
|
274 |
array(
|
275 |
'type' => 'paragraph',
|
276 |
+
'content' => __( 'Your theme’s template file %POST-TEMPLATE-FILE% for displaying %POST-LABEL-SINGULAR% items is missing custom fields.', 'wpcf' )
|
277 |
),
|
278 |
array(
|
279 |
'type' => 'link',
|
280 |
'class' => 'button',
|
281 |
'target' => '%POST-CREATE-CONTENT-TEMPLATE%',
|
282 |
+
'label' => __( 'Create Content Template', 'wpcf' )
|
283 |
)
|
284 |
),
|
|
|
285 |
),
|
286 |
|
287 |
+
/* Views, single.php exists, but views missing */
|
288 |
+
'views-php-template-exists-views-template-missing' => array(
|
289 |
'type' => 'template',
|
290 |
|
291 |
'conditions'=> array(
|
292 |
'Types_Helper_Condition_Layouts_Missing',
|
293 |
+
'Types_Helper_Condition_Views_Template_Missing',
|
294 |
+
'Types_Helper_Condition_Single_Exists'
|
295 |
),
|
296 |
|
297 |
'description' => array(
|
298 |
array(
|
299 |
+
'type' => 'paragraph',
|
300 |
+
'content' => __( '%POST-TEMPLATE-FILE%', 'wpcf' )
|
|
|
301 |
),
|
302 |
+
array(
|
303 |
+
'type' => 'link',
|
304 |
+
'class' => 'button',
|
305 |
+
'target' => '%POST-CREATE-CONTENT-TEMPLATE%',
|
306 |
+
'label' => __( 'Create Content Template', 'wpcf' )
|
307 |
+
)
|
308 |
),
|
|
|
309 |
),
|
310 |
|
311 |
+
/* Views, template missing */
|
312 |
+
'views-template-missing' => array(
|
313 |
'type' => 'template',
|
314 |
|
315 |
'priority' => 'important',
|
316 |
|
317 |
'conditions'=> array(
|
318 |
+
'Types_Helper_Condition_Layouts_Missing',
|
319 |
+
'Types_Helper_Condition_Views_Template_Missing'
|
320 |
),
|
321 |
|
322 |
'description' => array(
|
323 |
array(
|
324 |
'type' => 'paragraph',
|
325 |
+
'content' => __( 'There is no Content Template for %POST-LABEL-SINGULAR% items.', 'wpcf' )
|
326 |
),
|
327 |
array(
|
328 |
'type' => 'link',
|
329 |
'class' => 'button',
|
330 |
+
'target' => '%POST-CREATE-CONTENT-TEMPLATE%',
|
331 |
+
'label' => __( 'Create template', 'wpcf' )
|
332 |
)
|
333 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
335 |
),
|
336 |
);
|
application/data/dashboard/table/views.php
CHANGED
@@ -12,26 +12,26 @@ return array(
|
|
12 |
array(
|
13 |
'type' => 'dialog',
|
14 |
'class' => 'button',
|
15 |
-
'label' => __( 'Create View', '
|
16 |
'dialog' => array(
|
17 |
'id' => 'create-view',
|
18 |
'description' => array(
|
19 |
array(
|
20 |
'type' => 'paragraph',
|
21 |
'content' => __( 'To create a View for this content type, you need to have Views plugin installed. Views is part of the
|
22 |
-
complete Toolset package for adding and displaying custom content.', '
|
23 |
),
|
24 |
array(
|
25 |
'type' => 'link',
|
26 |
'external' => true,
|
27 |
-
'label' => __( 'Learn how Views work', '
|
28 |
'target' => Types_Helper_Url::get_url( 'how-views-work', 'popup' )
|
29 |
),
|
30 |
/*
|
31 |
array(
|
32 |
'type' => 'link',
|
33 |
'external' => true,
|
34 |
-
'label' => __( 'Free Toolset Trial', '
|
35 |
'target' => Types_Helper_Url::get_url( 'free-trial', 'popup' )
|
36 |
)
|
37 |
*/
|
@@ -53,11 +53,13 @@ return array(
|
|
53 |
|
54 |
'description' => array(
|
55 |
array(
|
56 |
-
'type'
|
57 |
-
'class'
|
58 |
-
'target'
|
59 |
-
'
|
60 |
-
|
|
|
|
|
61 |
)
|
62 |
),
|
63 |
|
@@ -73,14 +75,16 @@ return array(
|
|
73 |
'description' => array(
|
74 |
array(
|
75 |
'type' => 'paragraph',
|
76 |
-
'content' => '%POST-VIEWS-LIST%',
|
77 |
),
|
78 |
array(
|
79 |
-
'type'
|
80 |
-
'class'
|
81 |
'target' => '%POST-CREATE-VIEW%',
|
82 |
-
'
|
83 |
-
|
|
|
|
|
84 |
)
|
85 |
),
|
86 |
|
@@ -97,14 +101,14 @@ return array(
|
|
97 |
array(
|
98 |
'type' => 'paragraph',
|
99 |
'content' => __(
|
100 |
-
'Edit any layout and add a View cell to it, to display lists of %POST-LABEL-PLURAL%.', '
|
101 |
)
|
102 |
),
|
103 |
array(
|
104 |
'type' => 'link',
|
105 |
'external' => true,
|
106 |
'target' => Types_Helper_Url::get_url( 'adding-views-to-layouts', 'table' ),
|
107 |
-
'label' => __( 'Learn how', '
|
108 |
),
|
109 |
)
|
110 |
),
|
@@ -121,13 +125,13 @@ return array(
|
|
121 |
'description' => array(
|
122 |
array(
|
123 |
'type' => 'paragraph',
|
124 |
-
'content' => '%POST-VIEWS-LIST%'
|
125 |
),
|
126 |
array(
|
127 |
'type' => 'link',
|
128 |
'external' => true,
|
129 |
'target' => Types_Helper_Url::get_url( 'adding-views-to-layouts', 'table' ),
|
130 |
-
'label' => __( 'How to add Views to layouts', '
|
131 |
),
|
132 |
)
|
133 |
),
|
12 |
array(
|
13 |
'type' => 'dialog',
|
14 |
'class' => 'button',
|
15 |
+
'label' => __( 'Create View', 'wpcf' ),
|
16 |
'dialog' => array(
|
17 |
'id' => 'create-view',
|
18 |
'description' => array(
|
19 |
array(
|
20 |
'type' => 'paragraph',
|
21 |
'content' => __( 'To create a View for this content type, you need to have Views plugin installed. Views is part of the
|
22 |
+
complete Toolset package for adding and displaying custom content.', 'wpcf' )
|
23 |
),
|
24 |
array(
|
25 |
'type' => 'link',
|
26 |
'external' => true,
|
27 |
+
'label' => __( 'Learn how Views work', 'wpcf' ),
|
28 |
'target' => Types_Helper_Url::get_url( 'how-views-work', 'popup' )
|
29 |
),
|
30 |
/*
|
31 |
array(
|
32 |
'type' => 'link',
|
33 |
'external' => true,
|
34 |
+
'label' => __( 'Free Toolset Trial', 'wpcf' ),
|
35 |
'target' => Types_Helper_Url::get_url( 'free-trial', 'popup' )
|
36 |
)
|
37 |
*/
|
53 |
|
54 |
'description' => array(
|
55 |
array(
|
56 |
+
'type' => 'link',
|
57 |
+
'class' => 'button js-toolset-dashboard-create-view',
|
58 |
+
'target' => '%POST-CREATE-VIEW%',
|
59 |
+
'post_type' => '%POST-CREATE-VIEW-TYPE%',
|
60 |
+
'redirect_url' => '%POST-CREATE-VIEW-REDIRECT-URL%',
|
61 |
+
'label' => __( 'Create View', 'wpcf' ),
|
62 |
+
),
|
63 |
)
|
64 |
),
|
65 |
|
75 |
'description' => array(
|
76 |
array(
|
77 |
'type' => 'paragraph',
|
78 |
+
'content' => '%POST-VIEWS-LIST%',
|
79 |
),
|
80 |
array(
|
81 |
+
'type' => 'link',
|
82 |
+
'class' => 'button js-toolset-dashboard-create-view',
|
83 |
'target' => '%POST-CREATE-VIEW%',
|
84 |
+
'post_type' => '%POST-CREATE-VIEW-TYPE%',
|
85 |
+
'redirect_url' => '%POST-CREATE-VIEW-REDIRECT-URL%',
|
86 |
+
'label' => __( 'Create View', 'wpcf' ),
|
87 |
+
),
|
88 |
)
|
89 |
),
|
90 |
|
101 |
array(
|
102 |
'type' => 'paragraph',
|
103 |
'content' => __(
|
104 |
+
'Edit any layout and add a View cell to it, to display lists of %POST-LABEL-PLURAL%.', 'wpcf'
|
105 |
)
|
106 |
),
|
107 |
array(
|
108 |
'type' => 'link',
|
109 |
'external' => true,
|
110 |
'target' => Types_Helper_Url::get_url( 'adding-views-to-layouts', 'table' ),
|
111 |
+
'label' => __( 'Learn how', 'wpcf' )
|
112 |
),
|
113 |
)
|
114 |
),
|
125 |
'description' => array(
|
126 |
array(
|
127 |
'type' => 'paragraph',
|
128 |
+
'content' => '%POST-VIEWS-LIST%'
|
129 |
),
|
130 |
array(
|
131 |
'type' => 'link',
|
132 |
'external' => true,
|
133 |
'target' => Types_Helper_Url::get_url( 'adding-views-to-layouts', 'table' ),
|
134 |
+
'label' => __( 'How to add Views to layouts', 'wpcf' )
|
135 |
),
|
136 |
)
|
137 |
),
|
application/data/documentation-urls.php
CHANGED
@@ -12,9 +12,9 @@ $urls = array(
|
|
12 |
'learn-how-fields' => 'https://wp-types.com/documentation/user-guides/using-custom-fields/',
|
13 |
'learn-how-taxonomies' => 'https://wp-types.com/documentation/user-guides/create-custom-taxonomies/',
|
14 |
'creating-templates-with-toolset' => 'https://wp-types.com/documentation/user-guides/learn-about-creating-templates-with-toolset/',
|
15 |
-
'creating-templates-with-php' => 'https://wp-types.com/documentation/
|
16 |
'creating-archives-with-toolset' => 'https://wp-types.com/documentation/user-guides/learn-about-creating-archives-with-toolset/',
|
17 |
-
'creating-archives-with-php' => 'https://wp-types.com/documentation/
|
18 |
'how-views-work' => 'https://wp-types.com/documentation/user-guides/learn-what-you-can-do-with-views/',
|
19 |
'how-to-add-views-to-layouts' => 'https://wp-types.com/documentation/user-guides/views/',
|
20 |
'learn-views' => 'https://wp-types.com/documentation/user-guides/learn-what-you-can-do-with-views/',
|
12 |
'learn-how-fields' => 'https://wp-types.com/documentation/user-guides/using-custom-fields/',
|
13 |
'learn-how-taxonomies' => 'https://wp-types.com/documentation/user-guides/create-custom-taxonomies/',
|
14 |
'creating-templates-with-toolset' => 'https://wp-types.com/documentation/user-guides/learn-about-creating-templates-with-toolset/',
|
15 |
+
'creating-templates-with-php' => 'https://wp-types.com/documentation/customizing-sites-using-php/creating-templates-single-custom-posts/',
|
16 |
'creating-archives-with-toolset' => 'https://wp-types.com/documentation/user-guides/learn-about-creating-archives-with-toolset/',
|
17 |
+
'creating-archives-with-php' => 'https://wp-types.com/documentation/customizing-sites-using-php/creating-templates-custom-post-type-archives/',
|
18 |
'how-views-work' => 'https://wp-types.com/documentation/user-guides/learn-what-you-can-do-with-views/',
|
19 |
'how-to-add-views-to-layouts' => 'https://wp-types.com/documentation/user-guides/views/',
|
20 |
'learn-views' => 'https://wp-types.com/documentation/user-guides/learn-what-you-can-do-with-views/',
|
application/data/information/layouts-not-compatible.php
DELETED
@@ -1,30 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
return array(
|
3 |
-
'layouts-not-compatible' => array(
|
4 |
-
|
5 |
-
'conditions'=> array(),
|
6 |
-
|
7 |
-
'description' => array(
|
8 |
-
array(
|
9 |
-
'type' => 'paragraph',
|
10 |
-
'content' => __( 'Layouts plugin is installed in your site, but it is not integrated with your theme.
|
11 |
-
This will make it difficult to display custom content and fields. You can:', 'types' )
|
12 |
-
),
|
13 |
-
array(
|
14 |
-
'type' => 'list',
|
15 |
-
'content' => array(
|
16 |
-
__( 'Disable Layouts plugin and use Views plugin to design front-end display', 'types' ),
|
17 |
-
sprintf(
|
18 |
-
__( 'Choose a different theme (<a href="%s" target="_blank">themes compatible with Layouts</a>)', 'types' ),
|
19 |
-
Types_Helper_Url::get_url( 'themes-compatible-with-layouts', 'table' )
|
20 |
-
),
|
21 |
-
sprintf(
|
22 |
-
__( 'Integrate Layouts with this theme (<a href="%s" target="_blank">Layouts integration instructions</a>)', 'types' ),
|
23 |
-
Types_Helper_Url::get_url( 'layouts-integration-instructions', 'table' )
|
24 |
-
),
|
25 |
-
)
|
26 |
-
)
|
27 |
-
),
|
28 |
-
|
29 |
-
),
|
30 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
application/data/information/table/archive.php
CHANGED
@@ -4,21 +4,203 @@ return array(
|
|
4 |
'no-archive-support' => array(
|
5 |
'type' => 'archive',
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
'priority' => 'important',
|
8 |
|
9 |
'conditions'=> array(
|
10 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
),
|
12 |
|
13 |
'description' => array(
|
14 |
array(
|
15 |
'type' => 'paragraph',
|
16 |
-
'content' => __( '
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
array(
|
19 |
'type' => 'paragraph',
|
20 |
-
'content' => __( '
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
),
|
23 |
),
|
24 |
|
@@ -37,31 +219,31 @@ return array(
|
|
37 |
'description' => array(
|
38 |
array(
|
39 |
'type' => 'paragraph',
|
40 |
-
'content' => __( 'Your theme is missing the standard WordPress archive for %POST-LABEL-PLURAL%.', '
|
41 |
),
|
42 |
array(
|
43 |
'type' => 'link',
|
44 |
'external' => true,
|
45 |
-
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', '
|
46 |
'target' => '%POST-ARCHIVE-PERMALINK%'
|
47 |
),
|
48 |
array(
|
49 |
'type' => 'dialog',
|
50 |
'class' => 'button-primary types-button',
|
51 |
-
'label' => __( 'Resolve', '
|
52 |
'dialog' => array(
|
53 |
'id' => 'resolve-no-archive',
|
54 |
'description' => array(
|
55 |
array(
|
56 |
'type' => 'paragraph',
|
57 |
'content' => __( 'Toolset plugins let you design archive pages without writing PHP. Your archives will include all
|
58 |
-
the fields that you need and your design.', '
|
59 |
),
|
60 |
array(
|
61 |
'type' => 'link',
|
62 |
'class' => 'button-primary types-button',
|
63 |
'external' => true,
|
64 |
-
'label' => __( 'Learn about creating archives with Toolset', '
|
65 |
'target' => Types_Helper_Url::get_url( 'creating-archives-with-toolset', 'popup' ),
|
66 |
),
|
67 |
)
|
@@ -85,30 +267,30 @@ return array(
|
|
85 |
'description' => array(
|
86 |
array(
|
87 |
'type' => 'paragraph',
|
88 |
-
'content' => __( 'The %POST-LABEL-PLURAL% archive of your theme is missing custom fields.', '
|
89 |
),
|
90 |
array(
|
91 |
'type' => 'link',
|
92 |
'external' => true,
|
93 |
-
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', '
|
94 |
'target' => '%POST-ARCHIVE-PERMALINK%'
|
95 |
),
|
96 |
array(
|
97 |
'type' => 'dialog',
|
98 |
'class' => 'button-primary types-button',
|
99 |
-
'label' => __( 'Resolve', '
|
100 |
'dialog' => array(
|
101 |
'id' => 'resolve-no-custom-fields',
|
102 |
'description' => array(
|
103 |
array(
|
104 |
'type' => 'paragraph',
|
105 |
-
'content' => __( 'Toolset plugins let you design archives with custom fields, without writing PHP.', '
|
106 |
),
|
107 |
array(
|
108 |
'type' => 'link',
|
109 |
'class' => 'button-primary types-button',
|
110 |
'external' => true,
|
111 |
-
'label' => __( 'Learn about creating archives with Toolset', '
|
112 |
'target' => Types_Helper_Url::get_url( 'creating-archives-with-toolset', 'popup' ),
|
113 |
)
|
114 |
)
|
@@ -130,141 +312,140 @@ return array(
|
|
130 |
'description' => array(
|
131 |
array(
|
132 |
'type' => 'paragraph',
|
133 |
-
'content' => __( 'Your theme displays the %POST-LABEL-SINGULAR% archive using the file: %POST-ARCHIVE-FILE%', '
|
134 |
),
|
135 |
array(
|
136 |
'type' => 'link',
|
137 |
'external' => true,
|
138 |
-
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', '
|
139 |
'target' => '%POST-ARCHIVE-PERMALINK%'
|
140 |
),
|
141 |
),
|
142 |
),
|
143 |
|
144 |
-
/* Views, template missing */
|
145 |
-
'views-archive-missing' => array(
|
146 |
'type' => 'archive',
|
147 |
|
148 |
'priority' => 'important',
|
149 |
|
150 |
'conditions'=> array(
|
151 |
'Types_Helper_Condition_Layouts_Missing',
|
152 |
-
'Types_Helper_Condition_Views_Archive_Missing'
|
|
|
153 |
),
|
154 |
|
155 |
'description' => array(
|
156 |
array(
|
157 |
'type' => 'paragraph',
|
158 |
-
'content' => __( '
|
159 |
),
|
160 |
array(
|
161 |
'type' => 'link',
|
162 |
'external' => true,
|
163 |
-
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', '
|
164 |
'target' => '%POST-ARCHIVE-PERMALINK%'
|
165 |
),
|
166 |
array(
|
167 |
'type' => 'link',
|
168 |
'class' => 'button-primary types-button',
|
169 |
'target' => '%POST-CREATE-VIEWS-ARCHIVE%',
|
170 |
-
'label' => __( 'Create archive', '
|
171 |
)
|
172 |
-
|
173 |
),
|
174 |
-
|
175 |
),
|
176 |
|
177 |
-
/* Views, archive */
|
178 |
-
'views-archive' => array(
|
179 |
'type' => 'archive',
|
180 |
|
181 |
'conditions'=> array(
|
182 |
'Types_Helper_Condition_Layouts_Missing',
|
183 |
-
'
|
|
|
184 |
),
|
185 |
|
186 |
'description' => array(
|
187 |
array(
|
188 |
'type' => 'paragraph',
|
189 |
-
'content' => __( '
|
190 |
),
|
191 |
-
|
192 |
array(
|
193 |
'type' => 'link',
|
194 |
'external' => true,
|
195 |
-
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', '
|
196 |
'target' => '%POST-ARCHIVE-PERMALINK%'
|
197 |
),
|
198 |
-
|
199 |
array(
|
200 |
'type' => 'link',
|
201 |
-
'class' => 'button',
|
202 |
-
'
|
203 |
-
'
|
204 |
)
|
205 |
),
|
206 |
|
207 |
),
|
208 |
|
209 |
-
/*
|
210 |
-
'
|
211 |
'type' => 'archive',
|
212 |
|
213 |
'priority' => 'important',
|
214 |
|
215 |
'conditions'=> array(
|
216 |
-
'
|
217 |
-
'
|
218 |
),
|
219 |
|
220 |
'description' => array(
|
221 |
array(
|
222 |
'type' => 'paragraph',
|
223 |
-
'content' => __( 'There is no
|
224 |
),
|
225 |
-
|
226 |
array(
|
227 |
'type' => 'link',
|
228 |
'external' => true,
|
229 |
-
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', '
|
230 |
'target' => '%POST-ARCHIVE-PERMALINK%'
|
231 |
),
|
232 |
-
|
233 |
array(
|
234 |
'type' => 'link',
|
235 |
'class' => 'button-primary types-button',
|
236 |
-
'
|
237 |
-
'
|
238 |
)
|
|
|
239 |
),
|
240 |
),
|
241 |
|
242 |
-
/*
|
243 |
-
'
|
244 |
'type' => 'archive',
|
245 |
|
246 |
'conditions'=> array(
|
247 |
-
'
|
248 |
-
'
|
249 |
),
|
250 |
|
251 |
'description' => array(
|
252 |
array(
|
253 |
'type' => 'paragraph',
|
254 |
-
'content' => __( 'The
|
255 |
),
|
|
|
256 |
array(
|
257 |
'type' => 'link',
|
258 |
'external' => true,
|
259 |
-
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', '
|
260 |
'target' => '%POST-ARCHIVE-PERMALINK%'
|
261 |
),
|
|
|
262 |
array(
|
263 |
'type' => 'link',
|
264 |
'class' => 'button',
|
265 |
-
'label' => __( 'Edit
|
266 |
-
'target' => '%POST-EDIT-
|
267 |
)
|
268 |
),
|
269 |
-
)
|
270 |
);
|
4 |
'no-archive-support' => array(
|
5 |
'type' => 'archive',
|
6 |
|
7 |
+
'conditions'=> array(
|
8 |
+
'Types_Helper_Condition_Archive_No_Support'
|
9 |
+
),
|
10 |
+
|
11 |
+
'description' => array(
|
12 |
+
array(
|
13 |
+
'type' => 'paragraph',
|
14 |
+
'content' => __( 'The archive is disabled for this post type.', 'wpcf' )
|
15 |
+
),
|
16 |
+
array(
|
17 |
+
'type' => 'paragraph',
|
18 |
+
'content' => __( 'To enable, go to <a href="%POST-TYPE-EDIT-HAS-ARCHIVE%">Options</a> and mark "has_archive".', 'wpcf' )
|
19 |
+
),
|
20 |
+
),
|
21 |
+
),
|
22 |
+
|
23 |
+
/* Layouts, integrated, Archive missing */
|
24 |
+
'layouts-integrated-archive-missing' => array(
|
25 |
+
'type' => 'archive',
|
26 |
+
|
27 |
'priority' => 'important',
|
28 |
|
29 |
'conditions'=> array(
|
30 |
+
'Types_Helper_Condition_Layouts_Active',
|
31 |
+
'Types_Helper_Condition_Layouts_Compatible',
|
32 |
+
'Types_Helper_Condition_Layouts_Archive_Missing'
|
33 |
+
),
|
34 |
+
|
35 |
+
'description' => array(
|
36 |
+
array(
|
37 |
+
'type' => 'paragraph',
|
38 |
+
'content' => __( 'There is no layout for the %POST-LABEL-PLURAL% archive.', 'wpcf' )
|
39 |
+
),
|
40 |
+
|
41 |
+
array(
|
42 |
+
'type' => 'link',
|
43 |
+
'external' => true,
|
44 |
+
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', 'wpcf' ),
|
45 |
+
'target' => '%POST-ARCHIVE-PERMALINK%'
|
46 |
+
),
|
47 |
+
|
48 |
+
array(
|
49 |
+
'type' => 'link',
|
50 |
+
'class' => 'button-primary types-button',
|
51 |
+
'label' => __( 'Create archive', 'wpcf' ),
|
52 |
+
'target' => '%POST-CREATE-LAYOUT-ARCHIVE%',
|
53 |
+
)
|
54 |
+
),
|
55 |
+
),
|
56 |
+
|
57 |
+
/* Layouts, Archive */
|
58 |
+
'layouts-archive' => array(
|
59 |
+
'type' => 'archive',
|
60 |
+
|
61 |
+
'conditions'=> array(
|
62 |
+
'Types_Helper_Condition_Layouts_Active',
|
63 |
+
'Types_Helper_Condition_Layouts_Archive_Exists'
|
64 |
+
),
|
65 |
+
|
66 |
+
'description' => array(
|
67 |
+
array(
|
68 |
+
'type' => 'paragraph',
|
69 |
+
'content' => __( 'The layout for the %POST-LABEL-PLURAL% archive is "%POST-LAYOUT-ARCHIVE%".', 'wpcf' )
|
70 |
+
),
|
71 |
+
array(
|
72 |
+
'type' => 'link',
|
73 |
+
'external' => true,
|
74 |
+
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', 'wpcf' ),
|
75 |
+
'target' => '%POST-ARCHIVE-PERMALINK%'
|
76 |
+
),
|
77 |
+
array(
|
78 |
+
'type' => 'link',
|
79 |
+
'class' => 'button',
|
80 |
+
'label' => __( 'Edit layout', 'wpcf' ),
|
81 |
+
'target' => '%POST-EDIT-LAYOUT-ARCHIVE%',
|
82 |
+
)
|
83 |
+
),
|
84 |
+
),
|
85 |
+
|
86 |
+
/* For posts and pages we always show template file if it exists */
|
87 |
+
'archive-exists-for-posts-pages' => array(
|
88 |
+
'type' => 'archive',
|
89 |
+
|
90 |
+
'conditions'=> array(
|
91 |
+
'Types_Helper_Condition_Type_Post_Or_Page',
|
92 |
+
'Types_Helper_Condition_Archive_Exists',
|
93 |
+
'Types_Helper_Condition_Archive_Has_Fields'
|
94 |
),
|
95 |
|
96 |
'description' => array(
|
97 |
array(
|
98 |
'type' => 'paragraph',
|
99 |
+
'content' => __( 'Your theme displays the %POST-LABEL-SINGULAR% archive using the file: %POST-ARCHIVE-FILE%', 'wpcf' )
|
100 |
+
),
|
101 |
+
array(
|
102 |
+
'type' => 'link',
|
103 |
+
'external' => true,
|
104 |
+
'label' => __( 'Visit example %POST-LABEL-SINGULAR%', 'wpcf' ),
|
105 |
+
'target' => '%POST-PERMALINK%'
|
106 |
),
|
107 |
+
),
|
108 |
+
),
|
109 |
+
|
110 |
+
/* Layouts, has template with missing fields. */
|
111 |
+
'layouts-archive-fields-missing' => array(
|
112 |
+
'type' => 'archive',
|
113 |
+
|
114 |
+
'priority' => 'important',
|
115 |
+
|
116 |
+
'conditions'=> array(
|
117 |
+
'Types_Helper_Condition_Layouts_Active',
|
118 |
+
'Types_Helper_Condition_Layouts_Archive_Missing',
|
119 |
+
'Types_Helper_Condition_Archive_No_Fields'
|
120 |
+
),
|
121 |
+
|
122 |
+
'description' => array(
|
123 |
array(
|
124 |
'type' => 'paragraph',
|
125 |
+
'content' => __( 'The %POST-LABEL-PLURAL% archive of your theme %POST-ARCHIVE-FILE% is missing custom fields.', 'wpcf' )
|
126 |
+
),
|
127 |
+
array(
|
128 |
+
'type' => 'link',
|
129 |
+
'external' => true,
|
130 |
+
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', 'wpcf' ),
|
131 |
+
'target' => '%POST-ARCHIVE-PERMALINK%'
|
132 |
),
|
133 |
+
|
134 |
+
array(
|
135 |
+
'type' => 'link',
|
136 |
+
'class' => 'button-primary types-button',
|
137 |
+
'label' => __( 'Create archive', 'wpcf' ),
|
138 |
+
'target' => '%POST-CREATE-LAYOUT-ARCHIVE%',
|
139 |
+
)
|
140 |
+
),
|
141 |
+
),
|
142 |
+
|
143 |
+
/* Layouts, single.php exists, but layouts missing */
|
144 |
+
'layouts-php-archive-exists-layouts-archive-missing' => array(
|
145 |
+
'type' => 'archive',
|
146 |
+
|
147 |
+
'conditions'=> array(
|
148 |
+
'Types_Helper_Condition_Layouts_Active',
|
149 |
+
'Types_Helper_Condition_Layouts_Archive_Missing',
|
150 |
+
'Types_Helper_Condition_Archive_Exists'
|
151 |
+
),
|
152 |
+
|
153 |
+
'description' => array(
|
154 |
+
array(
|
155 |
+
'type' => 'paragraph',
|
156 |
+
'content' => __( 'Your theme displays the %POST-LABEL-SINGULAR% archive using the file: %POST-ARCHIVE-FILE%', 'wpcf' )
|
157 |
+
),
|
158 |
+
array(
|
159 |
+
'type' => 'link',
|
160 |
+
'external' => true,
|
161 |
+
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', 'wpcf' ),
|
162 |
+
'target' => '%POST-ARCHIVE-PERMALINK%'
|
163 |
+
),
|
164 |
+
|
165 |
+
array(
|
166 |
+
'type' => 'link',
|
167 |
+
'class' => 'button-primary types-button',
|
168 |
+
'label' => __( 'Create archive', 'wpcf' ),
|
169 |
+
'target' => '%POST-CREATE-LAYOUT-ARCHIVE%',
|
170 |
+
)
|
171 |
+
),
|
172 |
+
),
|
173 |
+
|
174 |
+
/* Layouts, Archive missing */
|
175 |
+
'layouts-archive-missing' => array(
|
176 |
+
'type' => 'archive',
|
177 |
+
|
178 |
+
'priority' => 'important',
|
179 |
+
|
180 |
+
'conditions'=> array(
|
181 |
+
'Types_Helper_Condition_Layouts_Active',
|
182 |
+
'Types_Helper_Condition_Layouts_Archive_Missing'
|
183 |
+
),
|
184 |
+
|
185 |
+
'description' => array(
|
186 |
+
array(
|
187 |
+
'type' => 'paragraph',
|
188 |
+
'content' => __( 'There is no layout for the %POST-LABEL-PLURAL% archive.', 'wpcf' )
|
189 |
+
),
|
190 |
+
|
191 |
+
array(
|
192 |
+
'type' => 'link',
|
193 |
+
'external' => true,
|
194 |
+
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', 'wpcf' ),
|
195 |
+
'target' => '%POST-ARCHIVE-PERMALINK%'
|
196 |
+
),
|
197 |
+
|
198 |
+
array(
|
199 |
+
'type' => 'link',
|
200 |
+
'class' => 'button-primary types-button',
|
201 |
+
'label' => __( 'Create archive', 'wpcf' ),
|
202 |
+
'target' => '%POST-CREATE-LAYOUT-ARCHIVE%',
|
203 |
+
)
|
204 |
),
|
205 |
),
|
206 |
|
219 |
'description' => array(
|
220 |
array(
|
221 |
'type' => 'paragraph',
|
222 |
+
'content' => __( 'Your theme is missing the standard WordPress archive for %POST-LABEL-PLURAL%.', 'wpcf' )
|
223 |
),
|
224 |
array(
|
225 |
'type' => 'link',
|
226 |
'external' => true,
|
227 |
+
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', 'wpcf' ),
|
228 |
'target' => '%POST-ARCHIVE-PERMALINK%'
|
229 |
),
|
230 |
array(
|
231 |
'type' => 'dialog',
|
232 |
'class' => 'button-primary types-button',
|
233 |
+
'label' => __( 'Resolve', 'wpcf' ),
|
234 |
'dialog' => array(
|
235 |
'id' => 'resolve-no-archive',
|
236 |
'description' => array(
|
237 |
array(
|
238 |
'type' => 'paragraph',
|
239 |
'content' => __( 'Toolset plugins let you design archive pages without writing PHP. Your archives will include all
|
240 |
+
the fields that you need and your design.', 'wpcf' )
|
241 |
),
|
242 |
array(
|
243 |
'type' => 'link',
|
244 |
'class' => 'button-primary types-button',
|
245 |
'external' => true,
|
246 |
+
'label' => __( 'Learn about creating archives with Toolset', 'wpcf' ),
|
247 |
'target' => Types_Helper_Url::get_url( 'creating-archives-with-toolset', 'popup' ),
|
248 |
),
|
249 |
)
|
267 |
'description' => array(
|
268 |
array(
|
269 |
'type' => 'paragraph',
|
270 |
+
'content' => __( 'The %POST-LABEL-PLURAL% archive of your theme is missing custom fields.', 'wpcf' )
|
271 |
),
|
272 |
array(
|
273 |
'type' => 'link',
|
274 |
'external' => true,
|
275 |
+
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', 'wpcf' ),
|
276 |
'target' => '%POST-ARCHIVE-PERMALINK%'
|
277 |
),
|
278 |
array(
|
279 |
'type' => 'dialog',
|
280 |
'class' => 'button-primary types-button',
|
281 |
+
'label' => __( 'Resolve', 'wpcf' ),
|
282 |
'dialog' => array(
|
283 |
'id' => 'resolve-no-custom-fields',
|
284 |
'description' => array(
|
285 |
array(
|
286 |
'type' => 'paragraph',
|
287 |
+
'content' => __( 'Toolset plugins let you design archives with custom fields, without writing PHP.', 'wpcf' )
|
288 |
),
|
289 |
array(
|
290 |
'type' => 'link',
|
291 |
'class' => 'button-primary types-button',
|
292 |
'external' => true,
|
293 |
+
'label' => __( 'Learn about creating archives with Toolset', 'wpcf' ),
|
294 |
'target' => Types_Helper_Url::get_url( 'creating-archives-with-toolset', 'popup' ),
|
295 |
)
|
296 |
)
|
312 |
'description' => array(
|
313 |
array(
|
314 |
'type' => 'paragraph',
|
315 |
+
'content' => __( 'Your theme displays the %POST-LABEL-SINGULAR% archive using the file: %POST-ARCHIVE-FILE%', 'wpcf' )
|
316 |
),
|
317 |
array(
|
318 |
'type' => 'link',
|
319 |
'external' => true,
|
320 |
+
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', 'wpcf' ),
|
321 |
'target' => '%POST-ARCHIVE-PERMALINK%'
|
322 |
),
|
323 |
),
|
324 |
),
|
325 |
|
326 |
+
/* Views, has template with missing fields. */
|
327 |
+
'views-archive-fields-missing' => array(
|
328 |
'type' => 'archive',
|
329 |
|
330 |
'priority' => 'important',
|
331 |
|
332 |
'conditions'=> array(
|
333 |
'Types_Helper_Condition_Layouts_Missing',
|
334 |
+
'Types_Helper_Condition_Views_Archive_Missing',
|
335 |
+
'Types_Helper_Condition_Archive_No_Fields',
|
336 |
),
|
337 |
|
338 |
'description' => array(
|
339 |
array(
|
340 |
'type' => 'paragraph',
|
341 |
+
'content' => __( 'The %POST-LABEL-PLURAL% archive of your theme %POST-ARCHIVE-FILE% is missing custom fields.', 'wpcf' )
|
342 |
),
|
343 |
array(
|
344 |
'type' => 'link',
|
345 |
'external' => true,
|
346 |
+
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', 'wpcf' ),
|
347 |
'target' => '%POST-ARCHIVE-PERMALINK%'
|
348 |
),
|
349 |
array(
|
350 |
'type' => 'link',
|
351 |
'class' => 'button-primary types-button',
|
352 |
'target' => '%POST-CREATE-VIEWS-ARCHIVE%',
|
353 |
+
'label' => __( 'Create archive', 'wpcf' )
|
354 |
)
|
|
|
355 |
),
|
|
|
356 |
),
|
357 |
|
358 |
+
/* Views, archive.php exists, but views missing */
|
359 |
+
'views-php-archive-exists-views-archive-missing' => array(
|
360 |
'type' => 'archive',
|
361 |
|
362 |
'conditions'=> array(
|
363 |
'Types_Helper_Condition_Layouts_Missing',
|
364 |
+
'Types_Helper_Condition_Views_Archive_Missing',
|
365 |
+
'Types_Helper_Condition_Archive_Exists'
|
366 |
),
|
367 |
|
368 |
'description' => array(
|
369 |
array(
|
370 |
'type' => 'paragraph',
|
371 |
+
'content' => __( 'Your theme displays the %POST-LABEL-SINGULAR% archive using the file: %POST-ARCHIVE-FILE%', 'wpcf' )
|
372 |
),
|
|
|
373 |
array(
|
374 |
'type' => 'link',
|
375 |
'external' => true,
|
376 |
+
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', 'wpcf' ),
|
377 |
'target' => '%POST-ARCHIVE-PERMALINK%'
|
378 |
),
|
|
|
379 |
array(
|
380 |
'type' => 'link',
|
381 |
+
'class' => 'button-primary types-button',
|
382 |
+
'target' => '%POST-CREATE-VIEWS-ARCHIVE%',
|
383 |
+
'label' => __( 'Create archive', 'wpcf' )
|
384 |
)
|
385 |
),
|
386 |
|
387 |
),
|
388 |
|
389 |
+
/* Views, template missing */
|
390 |
+
'views-archive-missing' => array(
|
391 |
'type' => 'archive',
|
392 |
|
393 |
'priority' => 'important',
|
394 |
|
395 |
'conditions'=> array(
|
396 |
+
'Types_Helper_Condition_Layouts_Missing',
|
397 |
+
'Types_Helper_Condition_Views_Archive_Missing'
|
398 |
),
|
399 |
|
400 |
'description' => array(
|
401 |
array(
|
402 |
'type' => 'paragraph',
|
403 |
+
'content' => __( 'There is no WordPress Archive for %POST-LABEL-PLURAL%.', 'wpcf' )
|
404 |
),
|
|
|
405 |
array(
|
406 |
'type' => 'link',
|
407 |
'external' => true,
|
408 |
+
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', 'wpcf' ),
|
409 |
'target' => '%POST-ARCHIVE-PERMALINK%'
|
410 |
),
|
|
|
411 |
array(
|
412 |
'type' => 'link',
|
413 |
'class' => 'button-primary types-button',
|
414 |
+
'target' => '%POST-CREATE-VIEWS-ARCHIVE%',
|
415 |
+
'label' => __( 'Create archive', 'wpcf' )
|
416 |
)
|
417 |
+
|
418 |
),
|
419 |
),
|
420 |
|
421 |
+
/* Views, archive */
|
422 |
+
'views-archive' => array(
|
423 |
'type' => 'archive',
|
424 |
|
425 |
'conditions'=> array(
|
426 |
+
'Types_Helper_Condition_Layouts_Missing',
|
427 |
+
'Types_Helper_Condition_Views_Archive_Exists'
|
428 |
),
|
429 |
|
430 |
'description' => array(
|
431 |
array(
|
432 |
'type' => 'paragraph',
|
433 |
+
'content' => __( 'The WordPress Archive for %POST-LABEL-PLURAL% is "%POST-VIEWS-ARCHIVE%"', 'wpcf' )
|
434 |
),
|
435 |
+
|
436 |
array(
|
437 |
'type' => 'link',
|
438 |
'external' => true,
|
439 |
+
'label' => __( 'Visit the %POST-LABEL-PLURAL% archive', 'wpcf' ),
|
440 |
'target' => '%POST-ARCHIVE-PERMALINK%'
|
441 |
),
|
442 |
+
|
443 |
array(
|
444 |
'type' => 'link',
|
445 |
'class' => 'button',
|
446 |
+
'label' => __( 'Edit WordPress Archive', 'wpcf' ),
|
447 |
+
'target' => '%POST-EDIT-VIEWS-ARCHIVE%',
|
448 |
)
|
449 |
),
|
450 |
+
),
|
451 |
);
|
application/data/information/table/forms.php
CHANGED
@@ -12,26 +12,26 @@ return array(
|
|
12 |
array(
|
13 |
'type' => 'dialog',
|
14 |
'class' => 'button',
|
15 |
-
'label' => __( 'Create Form', '
|
16 |
'dialog' => array(
|
17 |
'id' => 'create-form',
|
18 |
'description' => array(
|
19 |
array(
|
20 |
'type' => 'paragraph',
|
21 |
'content' => __( 'To create a form for front-end content submission and editing, you need to have CRED plugin installed.
|
22 |
-
CRED is part of the complete Toolset package for adding and displaying custom content.', '
|
23 |
),
|
24 |
array(
|
25 |
'type' => 'link',
|
26 |
'external' => true,
|
27 |
-
'label' => __( 'Learn how CRED forms work', '
|
28 |
'target' => Types_Helper_Url::get_url( 'how-cred-work', 'popup' )
|
29 |
),
|
30 |
/*
|
31 |
array(
|
32 |
'type' => 'link',
|
33 |
'external' => true,
|
34 |
-
'label' => __( 'Free Toolset Trial', '
|
35 |
'target' => Types_Helper_Url::get_url( 'free-trial', 'popup' )
|
36 |
),
|
37 |
*/
|
@@ -55,7 +55,7 @@ return array(
|
|
55 |
'type' => 'link',
|
56 |
'class' => 'button',
|
57 |
'target' => '%POST-CREATE-FORM%',
|
58 |
-
'label' => __( 'Create form', '
|
59 |
)
|
60 |
)
|
61 |
),
|
@@ -73,13 +73,13 @@ return array(
|
|
73 |
'description' => array(
|
74 |
array(
|
75 |
'type' => 'paragraph',
|
76 |
-
'content' => '%POST-FORMS-LIST%'
|
77 |
),
|
78 |
array(
|
79 |
'type' => 'link',
|
80 |
'class' => 'button',
|
81 |
'target' => '%POST-CREATE-FORM%',
|
82 |
-
'label' => __( 'Create form', '
|
83 |
)
|
84 |
)
|
85 |
),
|
@@ -97,14 +97,14 @@ return array(
|
|
97 |
array(
|
98 |
'type' => 'paragraph',
|
99 |
'content' => __(
|
100 |
-
'You can create forms for front-end submission and editing of %POST-LABEL-PLURAL%.', '
|
101 |
)
|
102 |
),
|
103 |
array(
|
104 |
'type' => 'link',
|
105 |
'external' => true,
|
106 |
'target' => Types_Helper_Url::get_url( 'adding-forms-to-layouts', 'table' ),
|
107 |
-
'label' => __( 'Learn how', '
|
108 |
),
|
109 |
)
|
110 |
),
|
@@ -121,13 +121,13 @@ return array(
|
|
121 |
'description' => array(
|
122 |
array(
|
123 |
'type' => 'paragraph',
|
124 |
-
'content' => '%POST-FORMS-LIST%'
|
125 |
),
|
126 |
array(
|
127 |
'type' => 'link',
|
128 |
'external' => true,
|
129 |
'target' => Types_Helper_Url::get_url( 'adding-forms-to-layouts', 'table' ),
|
130 |
-
'label' => __( 'How to add forms to layouts', '
|
131 |
),
|
132 |
)
|
133 |
),
|
12 |
array(
|
13 |
'type' => 'dialog',
|
14 |
'class' => 'button',
|
15 |
+
'label' => __( 'Create Form', 'wpcf' ),
|
16 |
'dialog' => array(
|
17 |
'id' => 'create-form',
|
18 |
'description' => array(
|
19 |
array(
|
20 |
'type' => 'paragraph',
|
21 |
'content' => __( 'To create a form for front-end content submission and editing, you need to have CRED plugin installed.
|
22 |
+
CRED is part of the complete Toolset package for adding and displaying custom content.', 'wpcf' )
|
23 |
),
|
24 |
array(
|
25 |
'type' => 'link',
|
26 |
'external' => true,
|
27 |
+
'label' => __( 'Learn how CRED forms work', 'wpcf' ),
|
28 |
'target' => Types_Helper_Url::get_url( 'how-cred-work', 'popup' )
|
29 |
),
|
30 |
/*
|
31 |
array(
|
32 |
'type' => 'link',
|
33 |
'external' => true,
|
34 |
+
'label' => __( 'Free Toolset Trial', 'wpcf' ),
|
35 |
'target' => Types_Helper_Url::get_url( 'free-trial', 'popup' )
|
36 |
),
|
37 |
*/
|
55 |
'type' => 'link',
|
56 |
'class' => 'button',
|
57 |
'target' => '%POST-CREATE-FORM%',
|
58 |
+
'label' => __( 'Create form', 'wpcf' )
|
59 |
)
|
60 |
)
|
61 |
),
|
73 |
'description' => array(
|
74 |
array(
|
75 |
'type' => 'paragraph',
|
76 |
+
'content' => '%POST-FORMS-LIST%'
|
77 |
),
|
78 |
array(
|
79 |
'type' => 'link',
|
80 |
'class' => 'button',
|
81 |
'target' => '%POST-CREATE-FORM%',
|
82 |
+
'label' => __( 'Create form', 'wpcf' )
|
83 |
)
|
84 |
)
|
85 |
),
|
97 |
array(
|
98 |
'type' => 'paragraph',
|
99 |
'content' => __(
|
100 |
+
'You can create forms for front-end submission and editing of %POST-LABEL-PLURAL%.', 'wpcf'
|
101 |
)
|
102 |
),
|
103 |
array(
|
104 |
'type' => 'link',
|
105 |
'external' => true,
|
106 |
'target' => Types_Helper_Url::get_url( 'adding-forms-to-layouts', 'table' ),
|
107 |
+
'label' => __( 'Learn how', 'wpcf' )
|
108 |
),
|
109 |
)
|
110 |
),
|
121 |
'description' => array(
|
122 |
array(
|
123 |
'type' => 'paragraph',
|
124 |
+
'content' => '%POST-FORMS-LIST%'
|
125 |
),
|
126 |
array(
|
127 |
'type' => 'link',
|
128 |
'external' => true,
|
129 |
'target' => Types_Helper_Url::get_url( 'adding-forms-to-layouts', 'table' ),
|
130 |
+
'label' => __( 'How to add forms to layouts', 'wpcf' )
|
131 |
),
|
132 |
)
|
133 |
),
|
application/data/information/table/question-marks.php
CHANGED
@@ -2,16 +2,16 @@
|
|
2 |
$question_marks = array(
|
3 |
'template' => array(
|
4 |
'id' => 'template',
|
5 |
-
'title' => __( 'Template', '
|
6 |
'description' => array(
|
7 |
array(
|
8 |
'type' => 'paragraph',
|
9 |
-
'content' => __( 'A template displays single-item pages with your design and fields.', '
|
10 |
),
|
11 |
array(
|
12 |
'type' => 'link',
|
13 |
'external' => true,
|
14 |
-
'label' => __( 'Learn more', '
|
15 |
'target' => Types_Helper_Url::get_url( 'learn-how-template', 'tooltip' )
|
16 |
),
|
17 |
)
|
@@ -19,16 +19,16 @@ $question_marks = array(
|
|
19 |
|
20 |
'archive' => array(
|
21 |
'id' => 'archive',
|
22 |
-
'title' => __( 'Archive', '
|
23 |
'description' => array(
|
24 |
array(
|
25 |
'type' => 'paragraph',
|
26 |
-
'content' => __( 'An archive is the standard list that WordPress produces for content.', '
|
27 |
),
|
28 |
array(
|
29 |
'type' => 'link',
|
30 |
'external' => true,
|
31 |
-
'label' => __( 'Learn more', '
|
32 |
'target' => Types_Helper_Url::get_url( 'learn-how-archive', 'tooltip' )
|
33 |
),
|
34 |
)
|
@@ -36,16 +36,16 @@ $question_marks = array(
|
|
36 |
|
37 |
'views' => array(
|
38 |
'id' => 'views',
|
39 |
-
'title' => __( 'Views', '
|
40 |
'description' => array(
|
41 |
array(
|
42 |
'type' => 'paragraph',
|
43 |
-
'content' => __( 'Views are custom lists of content, which you can display anywhere in the site.', '
|
44 |
),
|
45 |
array(
|
46 |
'type' => 'link',
|
47 |
'external' => true,
|
48 |
-
'label' => __( 'Learn more', '
|
49 |
'target' => Types_Helper_Url::get_url( 'learn-how-views', 'tooltip' )
|
50 |
),
|
51 |
)
|
@@ -53,16 +53,16 @@ $question_marks = array(
|
|
53 |
|
54 |
'forms' => array(
|
55 |
'id' => 'forms',
|
56 |
-
'title' => __( 'Forms', '
|
57 |
'description' => array(
|
58 |
array(
|
59 |
'type' => 'paragraph',
|
60 |
-
'content' => __( 'Forms allow to create and edit content from the site’s front-end.', '
|
61 |
),
|
62 |
array(
|
63 |
'type' => 'link',
|
64 |
'external' => true,
|
65 |
-
'label' => __( 'Learn more', '
|
66 |
'target' => Types_Helper_Url::get_url( 'learn-how-forms', 'tooltip' )
|
67 |
),
|
68 |
)
|
@@ -71,15 +71,15 @@ $question_marks = array(
|
|
71 |
|
72 |
// Visual Composer
|
73 |
if( defined( 'WPB_VC_VERSION' ) ) {
|
74 |
-
$question_marks['template']['description'][1]['label'] = __( 'Creating templates with Visual Composer', '
|
75 |
}
|
76 |
// Beaver Builder
|
77 |
else if( class_exists( 'FLBuilderLoader' ) ) {
|
78 |
-
$question_marks['template']['description'][1]['label'] = __( 'Creating templates with Beaver Builder', '
|
79 |
}
|
80 |
// Layouts
|
81 |
else if( defined( 'WPDDL_DEVELOPMENT' ) || defined( 'WPDDL_PRODUCTION' ) ) {
|
82 |
-
$question_marks['template']['description'][1]['label'] = __( 'Creating templates with Layouts', '
|
83 |
}
|
84 |
|
85 |
return $question_marks;
|
2 |
$question_marks = array(
|
3 |
'template' => array(
|
4 |
'id' => 'template',
|
5 |
+
'title' => __( 'Template', 'wpcf' ),
|
6 |
'description' => array(
|
7 |
array(
|
8 |
'type' => 'paragraph',
|
9 |
+
'content' => __( 'A template displays single-item pages with your design and fields.', 'wpcf' )
|
10 |
),
|
11 |
array(
|
12 |
'type' => 'link',
|
13 |
'external' => true,
|
14 |
+
'label' => __( 'Learn more', 'wpcf' ),
|
15 |
'target' => Types_Helper_Url::get_url( 'learn-how-template', 'tooltip' )
|
16 |
),
|
17 |
)
|
19 |
|
20 |
'archive' => array(
|
21 |
'id' => 'archive',
|
22 |
+
'title' => __( 'Archive', 'wpcf' ),
|
23 |
'description' => array(
|
24 |
array(
|
25 |
'type' => 'paragraph',
|
26 |
+
'content' => __( 'An archive is the standard list that WordPress produces for content.', 'wpcf' )
|
27 |
),
|
28 |
array(
|
29 |
'type' => 'link',
|
30 |
'external' => true,
|
31 |
+
'label' => __( 'Learn more', 'wpcf' ),
|
32 |
'target' => Types_Helper_Url::get_url( 'learn-how-archive', 'tooltip' )
|
33 |
),
|
34 |
)
|
36 |
|
37 |
'views' => array(
|
38 |
'id' => 'views',
|
39 |
+
'title' => __( 'Views', 'wpcf' ),
|
40 |
'description' => array(
|
41 |
array(
|
42 |
'type' => 'paragraph',
|
43 |
+
'content' => __( 'Views are custom lists of content, which you can display anywhere in the site.', 'wpcf' )
|
44 |
),
|
45 |
array(
|
46 |
'type' => 'link',
|
47 |
'external' => true,
|
48 |
+
'label' => __( 'Learn more', 'wpcf' ),
|
49 |
'target' => Types_Helper_Url::get_url( 'learn-how-views', 'tooltip' )
|
50 |
),
|
51 |
)
|
53 |
|
54 |
'forms' => array(
|
55 |
'id' => 'forms',
|
56 |
+
'title' => __( 'Forms', 'wpcf' ),
|
57 |
'description' => array(
|
58 |
array(
|
59 |
'type' => 'paragraph',
|
60 |
+
'content' => __( 'Forms allow to create and edit content from the site’s front-end.', 'wpcf' )
|
61 |
),
|
62 |
array(
|
63 |
'type' => 'link',
|
64 |
'external' => true,
|
65 |
+
'label' => __( 'Learn more', 'wpcf' ),
|
66 |
'target' => Types_Helper_Url::get_url( 'learn-how-forms', 'tooltip' )
|
67 |
),
|
68 |
)
|
71 |
|
72 |
// Visual Composer
|
73 |
if( defined( 'WPB_VC_VERSION' ) ) {
|
74 |
+
$question_marks['template']['description'][1]['label'] = __( 'Creating templates with Visual Composer', 'wpcf' );
|
75 |
}
|
76 |
// Beaver Builder
|
77 |
else if( class_exists( 'FLBuilderLoader' ) ) {
|
78 |
+
$question_marks['template']['description'][1]['label'] = __( 'Creating templates with Beaver Builder', 'wpcf' );
|
79 |
}
|
80 |
// Layouts
|
81 |
else if( defined( 'WPDDL_DEVELOPMENT' ) || defined( 'WPDDL_PRODUCTION' ) ) {
|
82 |
+
$question_marks['template']['description'][1]['label'] = __( 'Creating templates with Layouts', 'wpcf' );
|
83 |
}
|
84 |
|
85 |
return $question_marks;
|
application/data/information/table/template.php
CHANGED
@@ -1,5 +1,184 @@
|
|
1 |
<?php
|
2 |
return array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
/* No Views, No Layouts, Single Missing */
|
4 |
'single-missing' => array(
|
5 |
'type' => 'template',
|
@@ -15,31 +194,31 @@ return array(
|
|
15 |
'description' => array(
|
16 |
array(
|
17 |
'type' => 'paragraph',
|
18 |
-
'content' => __( 'Your theme doesn’t have a template to display %POST-LABEL-PLURAL%.', '
|
19 |
),
|
20 |
array(
|
21 |
'type' => 'link',
|
22 |
'external' => true,
|
23 |
-
'label' => __( 'Visit example %POST-LABEL-SINGULAR%', '
|
24 |
'target' => '%POST-PERMALINK%'
|
25 |
),
|
26 |
array(
|
27 |
'type' => 'dialog',
|
28 |
'class' => 'button-primary types-button',
|
29 |
-
'label' => __( 'Resolve', '
|
30 |
'dialog' => array(
|
31 |
'id' => 'resolve-single-no-template',
|
32 |
'description' => array(
|
33 |
array(
|
34 |
'type' => 'paragraph',
|
35 |
'content' => __( 'Toolset plugins let you design templates for single items (%POST-LABEL-SINGULAR% pages) without
|
36 |
-
writing PHP. Your templates will include all the fields that you need and your design.', '
|
37 |
),
|
38 |
array(
|
39 |
'type' => 'link',
|
40 |
'class' => 'button-primary types-button',
|
41 |
'external' => true,
|
42 |
-
'label' => __( 'Learn about creating templates with Toolset', '
|
43 |
'target' => Types_Helper_Url::get_url( 'creating-templates-with-toolset', 'popup' ),
|
44 |
),
|
45 |
)
|
@@ -63,34 +242,34 @@ return array(
|
|
63 |
'description' => array(
|
64 |
array(
|
65 |
'type' => 'paragraph',
|
66 |
-
'content' => __( 'Your theme’s template file for displaying %POST-LABEL-SINGULAR% items is missing custom fields.', '
|
67 |
),
|
68 |
array(
|
69 |
'type' => 'link',
|
70 |
'external' => true,
|
71 |
'label' => array(
|
72 |
-
'default' => __( 'Visit example %POST-LABEL-SINGULAR%', '
|
73 |
-
'post-edit' => __( 'Visit this %POST-LABEL-SINGULAR%', '
|
74 |
),
|
75 |
'target' => '%POST-PERMALINK%'
|
76 |
),
|
77 |
array(
|
78 |
'type' => 'dialog',
|
79 |
'class' => 'button-primary types-button',
|
80 |
-
'label' => __( 'Resolve', '
|
81 |
'dialog' => array(
|
82 |
'id' => 'resolve-single-no-fields',
|
83 |
'description' => array(
|
84 |
array(
|
85 |
'type' => 'paragraph',
|
86 |
'content' => __( 'Toolset plugins let you design templates for single items (%POST-LABEL-SINGULAR% pages),
|
87 |
-
with all the fields that you need to display.', '
|
88 |
),
|
89 |
array(
|
90 |
'type' => 'link',
|
91 |
'class' => 'button-primary types-button',
|
92 |
'external' => true,
|
93 |
-
'label' => __( 'Learn about creating templates with Toolset', '
|
94 |
'target' => Types_Helper_Url::get_url( 'creating-templates-with-toolset', 'popup' ),
|
95 |
),
|
96 |
)
|
@@ -112,139 +291,142 @@ return array(
|
|
112 |
'description' => array(
|
113 |
array(
|
114 |
'type' => 'paragraph',
|
115 |
-
'content' => __( 'Your theme displays single %POST-LABEL-SINGULAR% pages using the template file: %POST-TEMPLATE-FILE%', '
|
116 |
),
|
117 |
array(
|
118 |
'type' => 'link',
|
119 |
'external' => true,
|
120 |
-
'label' => __( 'Visit example %POST-LABEL-SINGULAR%', '
|
121 |
'target' => '%POST-PERMALINK%'
|
122 |
),
|
123 |
),
|
124 |
),
|
125 |
|
126 |
-
/* Views, template missing */
|
127 |
-
'views-
|
128 |
'type' => 'template',
|
129 |
|
130 |
'priority' => 'important',
|
131 |
|
132 |
'conditions'=> array(
|
133 |
'Types_Helper_Condition_Layouts_Missing',
|
134 |
-
'Types_Helper_Condition_Views_Template_Missing'
|
|
|
135 |
),
|
136 |
|
137 |
'description' => array(
|
138 |
array(
|
139 |
'type' => 'paragraph',
|
140 |
-
'content' => __( '
|
141 |
),
|
142 |
array(
|
143 |
'type' => 'link',
|
144 |
'external' => true,
|
145 |
-
'label' => __( 'Visit example %POST-LABEL-SINGULAR%', '
|
146 |
'target' => '%POST-PERMALINK%'
|
147 |
),
|
148 |
array(
|
149 |
'type' => 'link',
|
150 |
'class' => 'button-primary types-button',
|
151 |
'target' => '%POST-CREATE-CONTENT-TEMPLATE%',
|
152 |
-
'label' => __( 'Create Content Template', '
|
153 |
)
|
154 |
),
|
155 |
-
|
156 |
),
|
157 |
|
158 |
-
/* Views,
|
159 |
-
'views-template' => array(
|
160 |
'type' => 'template',
|
161 |
|
162 |
'conditions'=> array(
|
163 |
'Types_Helper_Condition_Layouts_Missing',
|
164 |
-
'
|
|
|
165 |
),
|
166 |
|
167 |
'description' => array(
|
168 |
array(
|
169 |
'type' => 'paragraph',
|
170 |
-
'content' => __( '
|
171 |
),
|
172 |
array(
|
173 |
'type' => 'link',
|
174 |
'external' => true,
|
175 |
-
'label' =>
|
176 |
-
'default' => __( 'Visit example %POST-LABEL-SINGULAR%', 'types' ),
|
177 |
-
'post-edit' => __( 'Visit this %POST-LABEL-SINGULAR%', 'types' ),
|
178 |
-
),
|
179 |
'target' => '%POST-PERMALINK%'
|
180 |
),
|
181 |
array(
|
182 |
-
'type'
|
183 |
-
'class'
|
184 |
-
'
|
185 |
-
'
|
186 |
-
)
|
187 |
),
|
188 |
|
189 |
),
|
190 |
|
191 |
-
/*
|
192 |
-
'
|
193 |
'type' => 'template',
|
194 |
|
195 |
'priority' => 'important',
|
196 |
|
197 |
'conditions'=> array(
|
198 |
-
'
|
199 |
-
'
|
200 |
),
|
201 |
|
202 |
'description' => array(
|
203 |
array(
|
204 |
'type' => 'paragraph',
|
205 |
-
'content' => __( 'There is no
|
206 |
),
|
207 |
array(
|
208 |
'type' => 'link',
|
209 |
'external' => true,
|
210 |
-
'label' => __( 'Visit example %POST-LABEL-SINGULAR%', '
|
211 |
'target' => '%POST-PERMALINK%'
|
212 |
),
|
213 |
array(
|
214 |
'type' => 'link',
|
215 |
'class' => 'button-primary types-button',
|
216 |
-
'
|
217 |
-
'
|
218 |
)
|
219 |
),
|
|
|
220 |
),
|
221 |
|
222 |
-
/*
|
223 |
-
'
|
224 |
'type' => 'template',
|
225 |
|
226 |
'conditions'=> array(
|
227 |
-
'
|
228 |
-
'
|
229 |
),
|
230 |
|
231 |
'description' => array(
|
232 |
array(
|
233 |
'type' => 'paragraph',
|
234 |
-
'content' => __( 'The
|
235 |
),
|
236 |
array(
|
237 |
'type' => 'link',
|
238 |
'external' => true,
|
239 |
-
'label' =>
|
|
|
|
|
|
|
240 |
'target' => '%POST-PERMALINK%'
|
241 |
),
|
242 |
array(
|
243 |
'type' => 'link',
|
244 |
'class' => 'button',
|
245 |
-
'label' => __( 'Edit
|
246 |
-
'target' => '%POST-EDIT-
|
247 |
),
|
248 |
),
|
|
|
249 |
),
|
250 |
);
|
1 |
<?php
|
2 |
return array(
|
3 |
+
/* Layouts, integrated, template missing*/
|
4 |
+
'layouts-integrated-template-missing' => array(
|
5 |
+
'type' => 'template',
|
6 |
+
|
7 |
+
'priority' => 'important',
|
8 |
+
|
9 |
+
'conditions'=> array(
|
10 |
+
'Types_Helper_Condition_Layouts_Active',
|
11 |
+
'Types_Helper_Condition_Layouts_Compatible',
|
12 |
+
'Types_Helper_Condition_Layouts_Template_Missing'
|
13 |
+
),
|
14 |
+
|
15 |
+
'description' => array(
|
16 |
+
array(
|
17 |
+
'type' => 'paragraph',
|
18 |
+
'content' => __( 'There is no template layout for %POST-LABEL-SINGULAR% items.', 'wpcf' )
|
19 |
+
),
|
20 |
+
array(
|
21 |
+
'type' => 'link',
|
22 |
+
'external' => true,
|
23 |
+
'label' => __( 'Visit example %POST-LABEL-SINGULAR%', 'wpcf' ),
|
24 |
+
'target' => '%POST-PERMALINK%'
|
25 |
+
),
|
26 |
+
array(
|
27 |
+
'type' => 'link',
|
28 |
+
'class' => 'button-primary types-button',
|
29 |
+
'label' => __( 'Create template', 'wpcf' ),
|
30 |
+
'target' => '%POST-CREATE-LAYOUT-TEMPLATE%',
|
31 |
+
)
|
32 |
+
),
|
33 |
+
),
|
34 |
+
|
35 |
+
/* Layouts, template */
|
36 |
+
'layouts-template' => array(
|
37 |
+
'type' => 'template',
|
38 |
+
|
39 |
+
'conditions'=> array(
|
40 |
+
'Types_Helper_Condition_Layouts_Active',
|
41 |
+
'Types_Helper_Condition_Layouts_Template_Exists'
|
42 |
+
),
|
43 |
+
|
44 |
+
'description' => array(
|
45 |
+
array(
|
46 |
+
'type' => 'paragraph',
|
47 |
+
'content' => __( 'The template layout for %POST-LABEL-SINGULAR% items is "%POST-LAYOUT-TEMPLATE%".', 'wpcf' )
|
48 |
+
),
|
49 |
+
array(
|
50 |
+
'type' => 'link',
|
51 |
+
'external' => true,
|
52 |
+
'label' => __( 'Visit example %POST-LABEL-SINGULAR%', 'wpcf' ),
|
53 |
+
'target' => '%POST-PERMALINK%'
|
54 |
+
),
|
55 |
+
array(
|
56 |
+
'type' => 'link',
|
57 |
+
'class' => 'button',
|
58 |
+
'label' => __( 'Edit template', 'wpcf' ),
|
59 |
+
'target' => '%POST-EDIT-LAYOUT-TEMPLATE%'
|
60 |
+
),
|
61 |
+
),
|
62 |
+
),
|
63 |
+
|
64 |
+
/* For posts and pages we always show template file if it exists */
|
65 |
+
'single-exists-for-posts-pages' => array(
|
66 |
+
'type' => 'template',
|
67 |
+
|
68 |
+
'conditions'=> array(
|
69 |
+
'Types_Helper_Condition_Type_Post_Or_Page',
|
70 |
+
'Types_Helper_Condition_Single_Exists',
|
71 |
+
'Types_Helper_Condition_Single_Has_Fields'
|
72 |
+
),
|
73 |
+
|
74 |
+
'description' => array(
|
75 |
+
array(
|
76 |
+
'type' => 'paragraph',
|
77 |
+
'content' => __( 'Your theme displays single %POST-LABEL-SINGULAR% pages using the template file: %POST-TEMPLATE-FILE%', 'wpcf' )
|
78 |
+
),
|
79 |
+
array(
|
80 |
+
'type' => 'link',
|
81 |
+
'external' => true,
|
82 |
+
'label' => __( 'Visit example %POST-LABEL-SINGULAR%', 'wpcf' ),
|
83 |
+
'target' => '%POST-PERMALINK%'
|
84 |
+
),
|
85 |
+
),
|
86 |
+
),
|
87 |
+
|
88 |
+
/* Layouts, has template with missing fields. */
|
89 |
+
'layouts-single-fields-missing' => array(
|
90 |
+
'type' => 'template',
|
91 |
+
|
92 |
+
'priority' => 'important',
|
93 |
+
|
94 |
+
'conditions'=> array(
|
95 |
+
'Types_Helper_Condition_Layouts_Active',
|
96 |
+
'Types_Helper_Condition_Layouts_Template_Missing',
|
97 |
+
'Types_Helper_Condition_Single_No_Fields',
|
98 |
+
),
|
99 |
+
|
100 |
+
'description' => array(
|
101 |
+
array(
|
102 |
+
'type' => 'paragraph',
|
103 |
+
'content' => __( 'Your theme’s template file %POST-TEMPLATE-FILE% for displaying %POST-LABEL-SINGULAR% items is missing custom fields.', 'wpcf' )
|
104 |
+
),
|
105 |
+
array(
|
106 |
+
'type' => 'link',
|
107 |
+
'external' => true,
|
108 |
+
'label' => __( 'Visit example %POST-LABEL-SINGULAR%', 'wpcf' ),
|
109 |
+
'target' => '%POST-PERMALINK%'
|
110 |
+
),
|
111 |
+
array(
|
112 |
+
'type' => 'link',
|
113 |
+
'class' => 'button-primary types-button',
|
114 |
+
'label' => __( 'Create template', 'wpcf' ),
|
115 |
+
'target' => '%POST-CREATE-LAYOUT-TEMPLATE%',
|
116 |
+
)
|
117 |
+
),
|
118 |
+
),
|
119 |
+
|
120 |
+
/* Layouts, single.php exists, but layouts missing */
|
121 |
+
'layouts-php-template-exists-layouts-template-missing' => array(
|
122 |
+
'type' => 'template',
|
123 |
+
|
124 |
+
'conditions'=> array(
|
125 |
+
'Types_Helper_Condition_Layouts_Active',
|
126 |
+
'Types_Helper_Condition_Layouts_Template_Missing',
|
127 |
+
'Types_Helper_Condition_Single_Exists'
|
128 |
+
),
|
129 |
+
|
130 |
+
'description' => array(
|
131 |
+
array(
|
132 |
+
'type' => 'paragraph',
|
133 |
+
'content' => __( 'Your theme displays single %POST-LABEL-SINGULAR% pages using the template file: %POST-TEMPLATE-FILE%', 'wpcf' )
|
134 |
+
),
|
135 |
+
array(
|
136 |
+
'type' => 'link',
|
137 |
+
'external' => true,
|
138 |
+
'label' => __( 'Visit example %POST-LABEL-SINGULAR%', 'wpcf' ),
|
139 |
+
'target' => '%POST-PERMALINK%'
|
140 |
+
),
|
141 |
+
array(
|
142 |
+
'type' => 'link',
|
143 |
+
'class' => 'button-primary types-button',
|
144 |
+
'label' => __( 'Create template', 'wpcf' ),
|
145 |
+
'target' => '%POST-CREATE-LAYOUT-TEMPLATE%',
|
146 |
+
)
|
147 |
+
),
|
148 |
+
|
149 |
+
),
|
150 |
+
|
151 |
+
/* Layouts, template missing*/
|
152 |
+
'layouts-template-missing' => array(
|
153 |
+
'type' => 'template',
|
154 |
+
|
155 |
+
'priority' => 'important',
|
156 |
+
|
157 |
+
'conditions'=> array(
|
158 |
+
'Types_Helper_Condition_Layouts_Active',
|
159 |
+
'Types_Helper_Condition_Layouts_Template_Missing'
|
160 |
+
),
|
161 |
+
|
162 |
+
'description' => array(
|
163 |
+
array(
|
164 |
+
'type' => 'paragraph',
|
165 |
+
'content' => __( 'There is no template layout for %POST-LABEL-SINGULAR% items.', 'wpcf' )
|
166 |
+
),
|
167 |
+
array(
|
168 |
+
'type' => 'link',
|
169 |
+
'external' => true,
|
170 |
+
'label' => __( 'Visit example %POST-LABEL-SINGULAR%', 'wpcf' ),
|
171 |
+
'target' => '%POST-PERMALINK%'
|
172 |
+
),
|
173 |
+
array(
|
174 |
+
'type' => 'link',
|
175 |
+
'class' => 'button-primary types-button',
|
176 |
+
'label' => __( 'Create template', 'wpcf' ),
|
177 |
+
'target' => '%POST-CREATE-LAYOUT-TEMPLATE%',
|
178 |
+
)
|
179 |
+
),
|
180 |
+
),
|
181 |
+
|
182 |
/* No Views, No Layouts, Single Missing */
|
183 |
'single-missing' => array(
|
184 |
'type' => 'template',
|
194 |
'description' => array(
|
195 |
array(
|
196 |
'type' => 'paragraph',
|
197 |
+
'content' => __( 'Your theme doesn’t have a template to display %POST-LABEL-PLURAL%.', 'wpcf' )
|
198 |
),
|
199 |
array(
|
200 |
'type' => 'link',
|
201 |
'external' => true,
|
202 |
+
'label' => __( 'Visit example %POST-LABEL-SINGULAR%', 'wpcf' ),
|
203 |
'target' => '%POST-PERMALINK%'
|
204 |
),
|
205 |
array(
|
206 |
'type' => 'dialog',
|
207 |
'class' => 'button-primary types-button',
|
208 |
+
'label' => __( 'Resolve', 'wpcf' ),
|
209 |
'dialog' => array(
|
210 |
'id' => 'resolve-single-no-template',
|
211 |
'description' => array(
|
212 |
array(
|
213 |
'type' => 'paragraph',
|
214 |
'content' => __( 'Toolset plugins let you design templates for single items (%POST-LABEL-SINGULAR% pages) without
|
215 |
+
writing PHP. Your templates will include all the fields that you need and your design.', 'wpcf' )
|
216 |
),
|
217 |
array(
|
218 |
'type' => 'link',
|
219 |
'class' => 'button-primary types-button',
|
220 |
'external' => true,
|
221 |
+
'label' => __( 'Learn about creating templates with Toolset', 'wpcf' ),
|
222 |
'target' => Types_Helper_Url::get_url( 'creating-templates-with-toolset', 'popup' ),
|
223 |
),
|
224 |
)
|
242 |
'description' => array(
|
243 |
array(
|
244 |
'type' => 'paragraph',
|
245 |
+
'content' => __( 'Your theme’s template file for displaying %POST-LABEL-SINGULAR% items is missing custom fields.', 'wpcf' )
|
246 |
),
|
247 |
array(
|
248 |
'type' => 'link',
|
249 |
'external' => true,
|
250 |
'label' => array(
|
251 |
+
'default' => __( 'Visit example %POST-LABEL-SINGULAR%', 'wpcf' ),
|
252 |
+
'post-edit' => __( 'Visit this %POST-LABEL-SINGULAR%', 'wpcf' ),
|
253 |
),
|
254 |
'target' => '%POST-PERMALINK%'
|
255 |
),
|
256 |
array(
|
257 |
'type' => 'dialog',
|
258 |
'class' => 'button-primary types-button',
|
259 |
+
'label' => __( 'Resolve', 'wpcf' ),
|
260 |
'dialog' => array(
|
261 |
'id' => 'resolve-single-no-fields',
|
262 |
'description' => array(
|
263 |
array(
|
264 |
'type' => 'paragraph',
|
265 |
'content' => __( 'Toolset plugins let you design templates for single items (%POST-LABEL-SINGULAR% pages),
|
266 |
+
with all the fields that you need to display.', 'wpcf' )
|
267 |
),
|
268 |
array(
|
269 |
'type' => 'link',
|
270 |
'class' => 'button-primary types-button',
|
271 |
'external' => true,
|
272 |
+
'label' => __( 'Learn about creating templates with Toolset', 'wpcf' ),
|
273 |
'target' => Types_Helper_Url::get_url( 'creating-templates-with-toolset', 'popup' ),
|
274 |
),
|
275 |
)
|
291 |
'description' => array(
|
292 |
array(
|
293 |
'type' => 'paragraph',
|
294 |
+
'content' => __( 'Your theme displays single %POST-LABEL-SINGULAR% pages using the template file: %POST-TEMPLATE-FILE%', 'wpcf' )
|
295 |
),
|
296 |
array(
|
297 |
'type' => 'link',
|
298 |
'external' => true,
|
299 |
+
'label' => __( 'Visit example %POST-LABEL-SINGULAR%', 'wpcf' ),
|
300 |
'target' => '%POST-PERMALINK%'
|
301 |
),
|
302 |
),
|
303 |
),
|
304 |
|
305 |
+
/* Views, has template with missing fields. */
|
306 |
+
'views-single-fields-missing' => array(
|
307 |
'type' => 'template',
|
308 |
|
309 |
'priority' => 'important',
|
310 |
|
311 |
'conditions'=> array(
|
312 |
'Types_Helper_Condition_Layouts_Missing',
|
313 |
+
'Types_Helper_Condition_Views_Template_Missing',
|
314 |
+
'Types_Helper_Condition_Single_No_Fields',
|
315 |
),
|
316 |
|
317 |
'description' => array(
|
318 |
array(
|
319 |
'type' => 'paragraph',
|
320 |
+
'content' => __( 'Your theme’s template file %POST-TEMPLATE-FILE% for displaying %POST-LABEL-SINGULAR% items is missing custom fields.', 'wpcf' )
|
321 |
),
|
322 |
array(
|
323 |
'type' => 'link',
|
324 |
'external' => true,
|
325 |
+
'label' => __( 'Visit example %POST-LABEL-SINGULAR%', 'wpcf' ),
|
326 |
'target' => '%POST-PERMALINK%'
|
327 |
),
|
328 |
array(
|
329 |
'type' => 'link',
|
330 |
'class' => 'button-primary types-button',
|
331 |
'target' => '%POST-CREATE-CONTENT-TEMPLATE%',
|
332 |
+
'label' => __( 'Create Content Template', 'wpcf' )
|
333 |
)
|
334 |
),
|
|
|
335 |
),
|
336 |
|
337 |
+
/* Views, single.php exists, but views missing */
|
338 |
+
'views-php-template-exists-views-template-missing' => array(
|
339 |
'type' => 'template',
|
340 |
|
341 |
'conditions'=> array(
|
342 |
'Types_Helper_Condition_Layouts_Missing',
|
343 |
+
'Types_Helper_Condition_Views_Template_Missing',
|
344 |
+
'Types_Helper_Condition_Single_Exists'
|
345 |
),
|
346 |
|
347 |
'description' => array(
|
348 |
array(
|
349 |
'type' => 'paragraph',
|
350 |
+
'content' => __( 'Your theme displays single %POST-LABEL-SINGULAR% pages using the template file: %POST-TEMPLATE-FILE%', 'wpcf' )
|
351 |
),
|
352 |
array(
|
353 |
'type' => 'link',
|
354 |
'external' => true,
|
355 |
+
'label' => __( 'Visit example %POST-LABEL-SINGULAR%', 'wpcf' ),
|
|
|
|
|
|
|
356 |
'target' => '%POST-PERMALINK%'
|
357 |
),
|
358 |
array(
|
359 |
+
'type' => 'link',
|
360 |
+
'class' => 'button-primary types-button',
|
361 |
+
'target' => '%POST-CREATE-CONTENT-TEMPLATE%',
|
362 |
+
'label' => __( 'Create Content Template', 'wpcf' )
|
363 |
+
)
|
364 |
),
|
365 |
|
366 |
),
|
367 |
|
368 |
+
/* Views, template missing */
|
369 |
+
'views-template-missing' => array(
|
370 |
'type' => 'template',
|
371 |
|
372 |
'priority' => 'important',
|
373 |
|
374 |
'conditions'=> array(
|
375 |
+
'Types_Helper_Condition_Layouts_Missing',
|
376 |
+
'Types_Helper_Condition_Views_Template_Missing'
|
377 |
),
|
378 |
|
379 |
'description' => array(
|
380 |
array(
|
381 |
'type' => 'paragraph',
|
382 |
+
'content' => __( 'There is no Content Template for %POST-LABEL-SINGULAR% items.', 'wpcf' )
|
383 |
),
|
384 |
array(
|
385 |
'type' => 'link',
|
386 |
'external' => true,
|
387 |
+
'label' => __( 'Visit example %POST-LABEL-SINGULAR%', 'wpcf' ),
|
388 |
'target' => '%POST-PERMALINK%'
|
389 |
),
|
390 |
array(
|
391 |
'type' => 'link',
|
392 |
'class' => 'button-primary types-button',
|
393 |
+
'target' => '%POST-CREATE-CONTENT-TEMPLATE%',
|
394 |
+
'label' => __( 'Create Content Template', 'wpcf' )
|
395 |
)
|
396 |
),
|
397 |
+
|
398 |
),
|
399 |
|
400 |
+
/* Views, template */
|
401 |
+
'views-template' => array(
|
402 |
'type' => 'template',
|
403 |
|
404 |
'conditions'=> array(
|
405 |
+
'Types_Helper_Condition_Layouts_Missing',
|
406 |
+
'Types_Helper_Condition_Views_Template_Exists'
|
407 |
),
|
408 |
|
409 |
'description' => array(
|
410 |
array(
|
411 |
'type' => 'paragraph',
|
412 |
+
'content' => __( 'The Content Template for %POST-LABEL-PLURAL% is "%POST-CONTENT-TEMPLATE-NAME%"', 'wpcf' )
|
413 |
),
|
414 |
array(
|
415 |
'type' => 'link',
|
416 |
'external' => true,
|
417 |
+
'label' => array(
|
418 |
+
'default' => __( 'Visit example %POST-LABEL-SINGULAR%', 'wpcf' ),
|
419 |
+
'post-edit' => __( 'Visit this %POST-LABEL-SINGULAR%', 'wpcf' ),
|
420 |
+
),
|
421 |
'target' => '%POST-PERMALINK%'
|
422 |
),
|
423 |
array(
|
424 |
'type' => 'link',
|
425 |
'class' => 'button',
|
426 |
+
'label' => __( 'Edit Content Template', 'wpcf' ),
|
427 |
+
'target' => '%POST-EDIT-CONTENT-TEMPLATE%'
|
428 |
),
|
429 |
),
|
430 |
+
|
431 |
),
|
432 |
);
|
application/data/information/table/views.php
CHANGED
@@ -12,26 +12,26 @@ return array(
|
|
12 |
array(
|
13 |
'type' => 'dialog',
|
14 |
'class' => 'button',
|
15 |
-
'label' => __( 'Create View', '
|
16 |
'dialog' => array(
|
17 |
'id' => 'create-view',
|
18 |
'description' => array(
|
19 |
array(
|
20 |
'type' => 'paragraph',
|
21 |
'content' => __( 'To create a View for this content type, you need to have Views plugin installed. Views is part of the
|
22 |
-
complete Toolset package for adding and displaying custom content.', '
|
23 |
),
|
24 |
array(
|
25 |
'type' => 'link',
|
26 |
'external' => true,
|
27 |
-
'label' => __( 'Learn how Views work', '
|
28 |
'target' => Types_Helper_Url::get_url( 'how-views-work', 'popup' )
|
29 |
),
|
30 |
/*
|
31 |
array(
|
32 |
'type' => 'link',
|
33 |
'external' => true,
|
34 |
-
'label' => __( 'Free Toolset Trial', '
|
35 |
'target' => Types_Helper_Url::get_url( 'free-trial', 'popup' )
|
36 |
)
|
37 |
*/
|
@@ -56,7 +56,7 @@ return array(
|
|
56 |
'type' => 'link',
|
57 |
'class' => 'button',
|
58 |
'target' => '%POST-CREATE-VIEW%',
|
59 |
-
'label' => __( 'Create View', '
|
60 |
)
|
61 |
)
|
62 |
),
|
@@ -73,13 +73,13 @@ return array(
|
|
73 |
'description' => array(
|
74 |
array(
|
75 |
'type' => 'paragraph',
|
76 |
-
'content' => '%POST-VIEWS-LIST%'
|
77 |
),
|
78 |
array(
|
79 |
'type' => 'link',
|
80 |
'class' => 'button',
|
81 |
'target' => '%POST-CREATE-VIEW%',
|
82 |
-
'label' => __( 'Create View', '
|
83 |
)
|
84 |
)
|
85 |
),
|
@@ -97,14 +97,14 @@ return array(
|
|
97 |
array(
|
98 |
'type' => 'paragraph',
|
99 |
'content' => __(
|
100 |
-
'Edit any layout and add a View cell to it, to display lists of %POST-LABEL-PLURAL%.', '
|
101 |
)
|
102 |
),
|
103 |
array(
|
104 |
'type' => 'link',
|
105 |
'external' => true,
|
106 |
'target' => Types_Helper_Url::get_url( 'adding-views-to-layouts', 'table' ),
|
107 |
-
'label' => __( 'Learn how', '
|
108 |
),
|
109 |
)
|
110 |
),
|
@@ -121,13 +121,13 @@ return array(
|
|
121 |
'description' => array(
|
122 |
array(
|
123 |
'type' => 'paragraph',
|
124 |
-
'content' => '%POST-VIEWS-LIST%'
|
125 |
),
|
126 |
array(
|
127 |
'type' => 'link',
|
128 |
'external' => true,
|
129 |
'target' => Types_Helper_Url::get_url( 'adding-views-to-layouts', 'table' ),
|
130 |
-
'label' => __( 'How to add Views to layouts', '
|
131 |
),
|
132 |
)
|
133 |
),
|
12 |
array(
|
13 |
'type' => 'dialog',
|
14 |
'class' => 'button',
|
15 |
+
'label' => __( 'Create View', 'wpcf' ),
|
16 |
'dialog' => array(
|
17 |
'id' => 'create-view',
|
18 |
'description' => array(
|
19 |
array(
|
20 |
'type' => 'paragraph',
|
21 |
'content' => __( 'To create a View for this content type, you need to have Views plugin installed. Views is part of the
|
22 |
+
complete Toolset package for adding and displaying custom content.', 'wpcf' )
|
23 |
),
|
24 |
array(
|
25 |
'type' => 'link',
|
26 |
'external' => true,
|
27 |
+
'label' => __( 'Learn how Views work', 'wpcf' ),
|
28 |
'target' => Types_Helper_Url::get_url( 'how-views-work', 'popup' )
|
29 |
),
|
30 |
/*
|
31 |
array(
|
32 |
'type' => 'link',
|
33 |
'external' => true,
|
34 |
+
'label' => __( 'Free Toolset Trial', 'wpcf' ),
|
35 |
'target' => Types_Helper_Url::get_url( 'free-trial', 'popup' )
|
36 |
)
|
37 |
*/
|
56 |
'type' => 'link',
|
57 |
'class' => 'button',
|
58 |
'target' => '%POST-CREATE-VIEW%',
|
59 |
+
'label' => __( 'Create View', 'wpcf' )
|
60 |
)
|
61 |
)
|
62 |
),
|
73 |
'description' => array(
|
74 |
array(
|
75 |
'type' => 'paragraph',
|
76 |
+
'content' => '%POST-VIEWS-LIST%'
|
77 |
),
|
78 |
array(
|
79 |
'type' => 'link',
|
80 |
'class' => 'button',
|
81 |
'target' => '%POST-CREATE-VIEW%',
|
82 |
+
'label' => __( 'Create View', 'wpcf' )
|
83 |
)
|
84 |
)
|
85 |
),
|
97 |
array(
|
98 |
'type' => 'paragraph',
|
99 |
'content' => __(
|
100 |
+
'Edit any layout and add a View cell to it, to display lists of %POST-LABEL-PLURAL%.', 'wpcf'
|
101 |
)
|
102 |
),
|
103 |
array(
|
104 |
'type' => 'link',
|
105 |
'external' => true,
|
106 |
'target' => Types_Helper_Url::get_url( 'adding-views-to-layouts', 'table' ),
|
107 |
+
'label' => __( 'Learn how', 'wpcf' )
|
108 |
),
|
109 |
)
|
110 |
),
|
121 |
'description' => array(
|
122 |
array(
|
123 |
'type' => 'paragraph',
|
124 |
+
'content' => '%POST-VIEWS-LIST%'
|
125 |
),
|
126 |
array(
|
127 |
'type' => 'link',
|
128 |
'external' => true,
|
129 |
'target' => Types_Helper_Url::get_url( 'adding-views-to-layouts', 'table' ),
|
130 |
+
'label' => __( 'How to add Views to layouts', 'wpcf' )
|
131 |
),
|
132 |
)
|
133 |
),
|
application/models/field/group/factory.php
CHANGED
@@ -115,6 +115,10 @@ abstract class Types_Field_Group_Factory {
|
|
115 |
* @return null|Types_Field_Group Field group instance or null if it's not cached.
|
116 |
*/
|
117 |
private function get_from_cache( $field_group_name ) {
|
|
|
|
|
|
|
|
|
118 |
return wpcf_getarr( $this->field_groups, $field_group_name, null );
|
119 |
}
|
120 |
|
@@ -125,6 +129,10 @@ abstract class Types_Field_Group_Factory {
|
|
125 |
* @param Types_Field_Group $field_group
|
126 |
*/
|
127 |
private function save_to_cache( $field_group ) {
|
|
|
|
|
|
|
|
|
128 |
$this->field_groups[ $field_group->get_slug() ] = $field_group;
|
129 |
}
|
130 |
|
115 |
* @return null|Types_Field_Group Field group instance or null if it's not cached.
|
116 |
*/
|
117 |
private function get_from_cache( $field_group_name ) {
|
118 |
+
if( defined( 'TYPES_DISABLE_CACHE' ) && TYPES_DISABLE_CACHE ) {
|
119 |
+
// disable caching
|
120 |
+
return null;
|
121 |
+
}
|
122 |
return wpcf_getarr( $this->field_groups, $field_group_name, null );
|
123 |
}
|
124 |
|
129 |
* @param Types_Field_Group $field_group
|
130 |
*/
|
131 |
private function save_to_cache( $field_group ) {
|
132 |
+
if( defined( 'TYPES_DISABLE_CACHE' ) && TYPES_DISABLE_CACHE ) {
|
133 |
+
// disable caching
|
134 |
+
return;
|
135 |
+
}
|
136 |
$this->field_groups[ $field_group->get_slug() ] = $field_group;
|
137 |
}
|
138 |
|
application/models/helper/condition/layouts/template_exists.php
CHANGED
@@ -16,7 +16,7 @@ class Types_Helper_Condition_Layouts_Template_Exists extends Types_Helper_Condit
|
|
16 |
|
17 |
$type = self::get_type_name();
|
18 |
|
19 |
-
if( isset( self::$layout_id[$type] ) && self::$layout_id[$type] !== null && self::$layout_id !== false )
|
20 |
return true;
|
21 |
|
22 |
global $wpdb;
|
16 |
|
17 |
$type = self::get_type_name();
|
18 |
|
19 |
+
if( isset( self::$layout_id[$type] ) && self::$layout_id[$type] !== null && self::$layout_id[$type] !== false )
|
20 |
return true;
|
21 |
|
22 |
global $wpdb;
|
application/models/helper/condition/layouts/template_missing.php
CHANGED
@@ -9,8 +9,12 @@ class Types_Helper_Condition_Layouts_Template_Missing extends Types_Helper_Condi
|
|
9 |
|
10 |
public function valid() {
|
11 |
$type = self::get_type_name();
|
12 |
-
if( isset( parent::$layout_id[$type] )
|
|
|
|
|
13 |
return false;
|
|
|
|
|
14 |
|
15 |
return ! parent::valid();
|
16 |
}
|
9 |
|
10 |
public function valid() {
|
11 |
$type = self::get_type_name();
|
12 |
+
if( isset( parent::$layout_id[$type] )
|
13 |
+
&& parent::$layout_id[$type] !== null
|
14 |
+
&& parent::$layout_id[$type] !== false ) {
|
15 |
return false;
|
16 |
+
}
|
17 |
+
|
18 |
|
19 |
return ! parent::valid();
|
20 |
}
|
application/models/helper/condition/type/no_post_or_page.php
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Types_Helper_Condition_Type_No_Post_Or_Page extends Types_Helper_Condition_Type_Post_Or_Page {
|
4 |
+
|
5 |
+
public function valid() {
|
6 |
+
return ! parent::valid();
|
7 |
+
}
|
8 |
+
}
|
application/models/helper/condition/type/post_or_page.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Types_Helper_Condition_Type_Post_Or_Page extends Types_Helper_Condition {
|
4 |
+
|
5 |
+
public function valid() {
|
6 |
+
if( self::get_type_name() == 'post' || self::get_type_name() == 'page' ) {
|
7 |
+
return true;
|
8 |
+
}
|
9 |
+
|
10 |
+
return false;
|
11 |
+
}
|
12 |
+
}
|
application/models/helper/condition/views/views_exist.php
CHANGED
@@ -25,8 +25,13 @@ class Types_Helper_Condition_Views_Views_Exist extends Types_Helper_Condition_Vi
|
|
25 |
$views_settings = $wpdb->get_results( "SELECT meta_value, post_id FROM $wpdb->postmeta WHERE meta_key = '_wpv_settings'" );
|
26 |
|
27 |
foreach( $views_settings as $setting ) {
|
28 |
-
|
29 |
$setting->meta_value = unserialize( $setting->meta_value );
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
if( isset( $setting->meta_value['post_type'] )
|
31 |
&& in_array( $cpt->name, $setting->meta_value['post_type'] ) ) {
|
32 |
|
25 |
$views_settings = $wpdb->get_results( "SELECT meta_value, post_id FROM $wpdb->postmeta WHERE meta_key = '_wpv_settings'" );
|
26 |
|
27 |
foreach( $views_settings as $setting ) {
|
|
|
28 |
$setting->meta_value = unserialize( $setting->meta_value );
|
29 |
+
if( ! isset( $setting->meta_value['view-query-mode'] )
|
30 |
+
|| $setting->meta_value['view-query-mode'] != 'normal' ) {
|
31 |
+
// no "View"
|
32 |
+
continue;
|
33 |
+
}
|
34 |
+
|
35 |
if( isset( $setting->meta_value['post_type'] )
|
36 |
&& in_array( $cpt->name, $setting->meta_value['post_type'] ) ) {
|
37 |
|
application/models/helper/create/content_template.php
CHANGED
@@ -34,7 +34,7 @@ class Types_Helper_Create_Content_Template {
|
|
34 |
// create name if not given
|
35 |
if( ! $name ) {
|
36 |
$type_object = get_post_type_object( $type );
|
37 |
-
$name = sprintf( __( 'Template for %s', '
|
38 |
}
|
39 |
|
40 |
$name = $this->validate_name( $name );
|
34 |
// create name if not given
|
35 |
if( ! $name ) {
|
36 |
$type_object = get_post_type_object( $type );
|
37 |
+
$name = sprintf( __( 'Template for %s', 'wpcf' ), $type_object->labels->name );
|
38 |
}
|
39 |
|
40 |
$name = $this->validate_name( $name );
|
application/models/helper/create/form.php
CHANGED
@@ -37,7 +37,7 @@ class Types_Helper_Create_Form {
|
|
37 |
// create name if not given
|
38 |
if( ! $name ) {
|
39 |
$type_object = get_post_type_object( $type );
|
40 |
-
$name = sprintf( __( 'Form for %s', '
|
41 |
}
|
42 |
|
43 |
$name = $this->validate_name( $name );
|
37 |
// create name if not given
|
38 |
if( ! $name ) {
|
39 |
$type_object = get_post_type_object( $type );
|
40 |
+
$name = sprintf( __( 'Form for %s', 'wpcf' ), $type_object->labels->name );
|
41 |
}
|
42 |
|
43 |
$name = $this->validate_name( $name );
|
application/models/helper/create/layout.php
CHANGED
@@ -16,7 +16,7 @@ class Types_Helper_Create_Layout {
|
|
16 |
// set name if no available
|
17 |
if( ! $name ) {
|
18 |
$type_object = get_post_type_object( $type );
|
19 |
-
$name = sprintf( __( 'Template for %s', '
|
20 |
}
|
21 |
|
22 |
$name = $this->validate_name( $name );
|
16 |
// set name if no available
|
17 |
if( ! $name ) {
|
18 |
$type_object = get_post_type_object( $type );
|
19 |
+
$name = sprintf( __( 'Template for %s', 'wpcf' ), $type_object->labels->name );
|
20 |
}
|
21 |
|
22 |
$name = $this->validate_name( $name );
|
application/models/helper/create/view.php
CHANGED
@@ -20,7 +20,7 @@ class Types_Helper_Create_View {
|
|
20 |
// create name if not set
|
21 |
if( ! $name ) {
|
22 |
$type_object = get_post_type_object( $type );
|
23 |
-
$name = sprintf( __( 'View for %s', '
|
24 |
}
|
25 |
|
26 |
$name = $this->validate_name( $name );
|
20 |
// create name if not set
|
21 |
if( ! $name ) {
|
22 |
$type_object = get_post_type_object( $type );
|
23 |
+
$name = sprintf( __( 'View for %s', 'wpcf' ), $type_object->labels->name );
|
24 |
}
|
25 |
|
26 |
$name = $this->validate_name( $name );
|
application/models/helper/create/wordpress_archive.php
CHANGED
@@ -22,7 +22,7 @@ class Types_Helper_Create_Wordpress_Archive {
|
|
22 |
|
23 |
// for type 'post'
|
24 |
if( $type == 'post' ) {
|
25 |
-
$name = __( 'Archive for Home/Blog', '
|
26 |
$option = 'view_home-blog-page';
|
27 |
}
|
28 |
|
@@ -33,7 +33,7 @@ class Types_Helper_Create_Wordpress_Archive {
|
|
33 |
// set name if not given
|
34 |
if( ! $name ) {
|
35 |
$type_object = get_post_type_object( $type );
|
36 |
-
$name = sprintf( __( 'Archive for %s', '
|
37 |
}
|
38 |
|
39 |
$name = $this->validate_name( $name );
|
22 |
|
23 |
// for type 'post'
|
24 |
if( $type == 'post' ) {
|
25 |
+
$name = __( 'Archive for Home/Blog', 'wpcf' );
|
26 |
$option = 'view_home-blog-page';
|
27 |
}
|
28 |
|
33 |
// set name if not given
|
34 |
if( ! $name ) {
|
35 |
$type_object = get_post_type_object( $type );
|
36 |
+
$name = sprintf( __( 'Archive for %s', 'wpcf' ), $type_object->labels->name );
|
37 |
}
|
38 |
|
39 |
$name = $this->validate_name( $name );
|
application/models/helper/placeholder.php
CHANGED
@@ -58,16 +58,22 @@ class Types_Helper_Placeholder {
|
|
58 |
// Views specifics
|
59 |
if( defined( 'WPV_VERSION' ) ) {
|
60 |
$placeholders = array_merge( $placeholders, array(
|
61 |
-
//'%POST-CREATE-LAYOUT-TEMPLATE%'
|
62 |
-
'%POST-CONTENT-TEMPLATE-NAME%'
|
63 |
-
'%POST-VIEWS-ARCHIVE%'
|
64 |
-
'%POST-EDIT-VIEWS-ARCHIVE%'
|
65 |
-
'%POST-EDIT-CONTENT-TEMPLATE%'
|
66 |
-
'%POST-CREATE-CONTENT-TEMPLATE%'
|
67 |
-
'%POST-CREATE-VIEWS-ARCHIVE%'
|
68 |
-
|
69 |
-
'%POST-VIEWS-
|
70 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
) );
|
72 |
|
73 |
}
|
@@ -219,7 +225,7 @@ class Types_Helper_Placeholder {
|
|
219 |
return $output;
|
220 |
}
|
221 |
|
222 |
-
return __( 'No Views', '
|
223 |
}
|
224 |
|
225 |
private static function get_post_type_forms_list() {
|
@@ -235,6 +241,6 @@ class Types_Helper_Placeholder {
|
|
235 |
return $output;
|
236 |
}
|
237 |
|
238 |
-
return __( 'No Forms', '
|
239 |
}
|
240 |
}
|
58 |
// Views specifics
|
59 |
if( defined( 'WPV_VERSION' ) ) {
|
60 |
$placeholders = array_merge( $placeholders, array(
|
61 |
+
//'%POST-CREATE-LAYOUT-TEMPLATE%' => self::get_post_create_layout_template(),
|
62 |
+
'%POST-CONTENT-TEMPLATE-NAME%' => Types_Helper_Condition_Views_Template_Exists::get_template_name(),
|
63 |
+
'%POST-VIEWS-ARCHIVE%' => Types_Helper_Condition_Views_Archive_Exists::get_template_name(),
|
64 |
+
'%POST-EDIT-VIEWS-ARCHIVE%' => self::get_post_edit_views_archive(),
|
65 |
+
'%POST-EDIT-CONTENT-TEMPLATE%' => self::get_post_edit_views_template(),
|
66 |
+
'%POST-CREATE-CONTENT-TEMPLATE%' => self::add_referer( $admin_url . 'admin.php?page=types-helper&action=new-content-template&type='.self::$post_type->name.'&toolset_help_video=views_template' ),
|
67 |
+
'%POST-CREATE-VIEWS-ARCHIVE%' => self::add_referer( $admin_url . 'admin.php?page=types-helper&action=new-wordpress-archive&type='.self::$post_type->name.'&toolset_help_video=views_archives' ),
|
68 |
+
'%POST-CREATE-VIEWS-ARCHIVE-TYPE%' => self::$post_type->name,
|
69 |
+
'%POST-CREATE-VIEWS-ARCHIVE-REDIRECT-URL%' => '&' . self::add_referer( 'toolset_help_video=views_archives' ),
|
70 |
+
'%POST-CREATE-VIEWS-ARCHIVE-FOR-WHOM-TITLE%' => self::$post_type->label,
|
71 |
+
'%POST-CREATE-VIEWS-ARCHIVE-FOR-WHOM-LOOP%' => esc_attr( 'wpv-view-loop-cpt_' . self::$post_type->name ),
|
72 |
+
//'%POST-CREATE-VIEWS-ARCHIVE%' => self::get_post_create_views_archive(),
|
73 |
+
'%POST-VIEWS-LIST%' => self::get_post_type_views_list(),
|
74 |
+
'%POST-CREATE-VIEW%' => self::add_referer( $admin_url . 'admin.php?page=types-helper&action=new-view&type=' . self::$post_type->name . '&toolset_help_video=views_view' ),
|
75 |
+
'%POST-CREATE-VIEW-TYPE%' => self::$post_type->name,
|
76 |
+
'%POST-CREATE-VIEW-REDIRECT-URL%' => '&' . self::add_referer( 'toolset_help_video=views_view' ),
|
77 |
) );
|
78 |
|
79 |
}
|
225 |
return $output;
|
226 |
}
|
227 |
|
228 |
+
return __( 'No Views', 'wpcf' );
|
229 |
}
|
230 |
|
231 |
private static function get_post_type_forms_list() {
|
241 |
return $output;
|
242 |
}
|
243 |
|
244 |
+
return __( 'No Forms', 'wpcf' );
|
245 |
}
|
246 |
}
|
application/models/helper/twig.php
CHANGED
@@ -24,7 +24,15 @@ class Types_Helper_Twig {
|
|
24 |
$this->twig->addFunction( '__', new Twig_SimpleFunction( '__', array( $this, 'translate' ) ) );
|
25 |
}
|
26 |
|
27 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
return __( $text, $domain );
|
29 |
}
|
30 |
|
24 |
$this->twig->addFunction( '__', new Twig_SimpleFunction( '__', array( $this, 'translate' ) ) );
|
25 |
}
|
26 |
|
27 |
+
/**
|
28 |
+
* This allows to use __( 'Text to translate', 'wpcf' ) in twig templates
|
29 |
+
*
|
30 |
+
* @param $text
|
31 |
+
* @param string $domain
|
32 |
+
*
|
33 |
+
* @return mixed
|
34 |
+
*/
|
35 |
+
public function translate( $text, $domain = 'wpcf' ) {
|
36 |
return __( $text, $domain );
|
37 |
}
|
38 |
|
application/models/setting/preset/information_table.php
CHANGED
@@ -9,15 +9,15 @@ class Types_Setting_Preset_Information_Table {
|
|
9 |
$this->setting = new Types_Setting_Boolean( 'types-information-table' );
|
10 |
|
11 |
$option_edit_post = new Types_Setting_Option( 'show-on-post' );
|
12 |
-
$option_edit_post->set_description( __( 'Edit Post pages', '
|
13 |
$option_edit_post->set_default( true );
|
14 |
|
15 |
$option_edit_post_type = new Types_Setting_Option( 'show-on-post-type' );
|
16 |
-
$option_edit_post_type->set_description( __( 'Edit Post Type pages', '
|
17 |
$option_edit_post_type->set_default( true );
|
18 |
|
19 |
$option_edit_field_group = new Types_Setting_Option( 'show-on-field-group' );
|
20 |
-
$option_edit_field_group->set_description( __( 'Edit Field Group pages', '
|
21 |
$option_edit_field_group->set_default( true );
|
22 |
|
23 |
$this->setting->add_option( $option_edit_post );
|
9 |
$this->setting = new Types_Setting_Boolean( 'types-information-table' );
|
10 |
|
11 |
$option_edit_post = new Types_Setting_Option( 'show-on-post' );
|
12 |
+
$option_edit_post->set_description( __( 'Edit Post pages', 'wpcf' ) );
|
13 |
$option_edit_post->set_default( true );
|
14 |
|
15 |
$option_edit_post_type = new Types_Setting_Option( 'show-on-post-type' );
|
16 |
+
$option_edit_post_type->set_description( __( 'Edit Post Type pages', 'wpcf' ) );
|
17 |
$option_edit_post_type->set_default( true );
|
18 |
|
19 |
$option_edit_field_group = new Types_Setting_Option( 'show-on-field-group' );
|
20 |
+
$option_edit_field_group->set_description( __( 'Edit Field Group pages', 'wpcf' ) );
|
21 |
$option_edit_field_group->set_default( true );
|
22 |
|
23 |
$this->setting->add_option( $option_edit_post );
|
application/models/wpml/field/group/string.php
CHANGED
@@ -1,9 +1,13 @@
|
|
1 |
<?php
|
2 |
|
|
|
|
|
|
|
3 |
abstract class Types_Wpml_Field_Group_String implements Types_Wpml_Interface {
|
4 |
|
5 |
-
const CONTEXT
|
6 |
-
|
|
|
7 |
|
8 |
/**
|
9 |
* @var Types_Field_Group
|
@@ -12,19 +16,22 @@ abstract class Types_Wpml_Field_Group_String implements Types_Wpml_Interface {
|
|
12 |
|
13 |
/**
|
14 |
* String to translate
|
|
|
15 |
* @var string
|
16 |
*/
|
17 |
protected $string_to_translate;
|
18 |
|
|
|
19 |
/**
|
20 |
* Types_Wpml_Field_Group_String constructor.
|
21 |
*
|
22 |
* @param Types_Field_Group $group
|
23 |
*/
|
24 |
-
public function __construct(
|
25 |
$this->group = $group;
|
26 |
}
|
27 |
|
|
|
28 |
/**
|
29 |
* The pattern of the string name in icl_strings
|
30 |
* - [name]: group %s name
|
@@ -54,6 +61,7 @@ abstract class Types_Wpml_Field_Group_String implements Types_Wpml_Interface {
|
|
54 |
return sprintf( $this->get_db_pattern(), $this->group->get_slug() );
|
55 |
}
|
56 |
|
|
|
57 |
/**
|
58 |
* Get the db identifier (uses id of group)
|
59 |
*
|
@@ -80,17 +88,28 @@ abstract class Types_Wpml_Field_Group_String implements Types_Wpml_Interface {
|
|
80 |
$this->get_db_identifier()
|
81 |
);
|
82 |
|
83 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
return $translated_string;
|
|
|
85 |
|
86 |
// nothing found yet, try the old pattern for group storage
|
87 |
return $this->translate_legacy();
|
88 |
}
|
89 |
|
|
|
|
|
90 |
/**
|
91 |
* Returning the legacy pattern which is using the GROUP ID
|
92 |
*
|
93 |
-
* @return mixed
|
94 |
*/
|
95 |
private function translate_legacy() {
|
96 |
$translated_string = $this->get_translation(
|
@@ -99,8 +118,9 @@ abstract class Types_Wpml_Field_Group_String implements Types_Wpml_Interface {
|
|
99 |
);
|
100 |
|
101 |
// no translation found
|
102 |
-
if( ! $translated_string )
|
103 |
return $this->string_to_translate;
|
|
|
104 |
|
105 |
// update pattern of name field in "icl_strings" table
|
106 |
// to use name of group instead of id
|
@@ -110,6 +130,7 @@ abstract class Types_Wpml_Field_Group_String implements Types_Wpml_Interface {
|
|
110 |
return $translated_string;
|
111 |
}
|
112 |
|
|
|
113 |
/**
|
114 |
* Get translation of string
|
115 |
*
|
@@ -119,64 +140,93 @@ abstract class Types_Wpml_Field_Group_String implements Types_Wpml_Interface {
|
|
119 |
* @return string|false
|
120 |
*/
|
121 |
private function get_translation( $string, $field_id ) {
|
|
|
|
|
|
|
122 |
|
123 |
-
// check if translation exists
|
124 |
-
$is_registered = apply_filters(
|
125 |
-
'wpml_string_id',
|
126 |
-
null,
|
127 |
-
array(
|
128 |
-
'context' => self::CONTEXT,
|
129 |
-
'name' => $field_id
|
130 |
-
)
|
131 |
-
);
|
132 |
|
133 |
-
|
134 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
}
|
144 |
|
|
|
145 |
/**
|
146 |
-
*
|
|
|
|
|
|
|
|
|
147 |
*/
|
148 |
-
private function
|
|
|
149 |
global $wpdb;
|
150 |
-
|
151 |
-
$wpdb->
|
152 |
$wpdb->prepare(
|
153 |
-
"
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
$
|
158 |
-
$this->get_db_identifier_legacy()
|
159 |
)
|
160 |
);
|
|
|
|
|
161 |
}
|
162 |
|
|
|
163 |
/**
|
164 |
* Say Hello to WPML
|
|
|
|
|
165 |
*/
|
166 |
public function register( $slug_update = false ) {
|
167 |
// abort if needed function not exists
|
168 |
-
if( ! function_exists( 'icl_register_string' ) )
|
169 |
return;
|
|
|
170 |
|
171 |
// update string identifier
|
172 |
-
if( $slug_update ) {
|
173 |
global $wpdb;
|
174 |
|
175 |
$wpdb->query(
|
176 |
$wpdb->prepare(
|
177 |
"UPDATE {$wpdb->prefix}icl_strings
|
178 |
-
|
179 |
-
|
180 |
$this->get_db_identifier(),
|
181 |
sprintf( $this->get_db_pattern(), $slug_update )
|
182 |
)
|
@@ -190,4 +240,6 @@ abstract class Types_Wpml_Field_Group_String implements Types_Wpml_Interface {
|
|
190 |
$this->get_string_to_translate()
|
191 |
);
|
192 |
}
|
|
|
|
|
193 |
}
|
1 |
<?php
|
2 |
|
3 |
+
/**
|
4 |
+
* @fixme add description
|
5 |
+
*/
|
6 |
abstract class Types_Wpml_Field_Group_String implements Types_Wpml_Interface {
|
7 |
|
8 |
+
const CONTEXT = 'plugin Types';
|
9 |
+
|
10 |
+
const TRANSLATE_FILTER = 'wpml_translate_single_string';
|
11 |
|
12 |
/**
|
13 |
* @var Types_Field_Group
|
16 |
|
17 |
/**
|
18 |
* String to translate
|
19 |
+
*
|
20 |
* @var string
|
21 |
*/
|
22 |
protected $string_to_translate;
|
23 |
|
24 |
+
|
25 |
/**
|
26 |
* Types_Wpml_Field_Group_String constructor.
|
27 |
*
|
28 |
* @param Types_Field_Group $group
|
29 |
*/
|
30 |
+
public function __construct( $group ) {
|
31 |
$this->group = $group;
|
32 |
}
|
33 |
|
34 |
+
|
35 |
/**
|
36 |
* The pattern of the string name in icl_strings
|
37 |
* - [name]: group %s name
|
61 |
return sprintf( $this->get_db_pattern(), $this->group->get_slug() );
|
62 |
}
|
63 |
|
64 |
+
|
65 |
/**
|
66 |
* Get the db identifier (uses id of group)
|
67 |
*
|
88 |
$this->get_db_identifier()
|
89 |
);
|
90 |
|
91 |
+
$was_translated = (
|
92 |
+
$translated_string
|
93 |
+
&& (
|
94 |
+
$translated_string != $this->string_to_translate
|
95 |
+
|| Types_Interop_Handler_Wpml::get_instance()->is_current_language_default()
|
96 |
+
)
|
97 |
+
);
|
98 |
+
|
99 |
+
if ( $was_translated ) {
|
100 |
return $translated_string;
|
101 |
+
}
|
102 |
|
103 |
// nothing found yet, try the old pattern for group storage
|
104 |
return $this->translate_legacy();
|
105 |
}
|
106 |
|
107 |
+
|
108 |
+
|
109 |
/**
|
110 |
* Returning the legacy pattern which is using the GROUP ID
|
111 |
*
|
112 |
+
* @return mixed
|
113 |
*/
|
114 |
private function translate_legacy() {
|
115 |
$translated_string = $this->get_translation(
|
118 |
);
|
119 |
|
120 |
// no translation found
|
121 |
+
if ( ! $translated_string ) {
|
122 |
return $this->string_to_translate;
|
123 |
+
}
|
124 |
|
125 |
// update pattern of name field in "icl_strings" table
|
126 |
// to use name of group instead of id
|
130 |
return $translated_string;
|
131 |
}
|
132 |
|
133 |
+
|
134 |
/**
|
135 |
* Get translation of string
|
136 |
*
|
140 |
* @return string|false
|
141 |
*/
|
142 |
private function get_translation( $string, $field_id ) {
|
143 |
+
$wpml_interop = Types_Interop_Handler_Wpml::get_instance();
|
144 |
+
return $wpml_interop->get_translation( $string, $field_id, self::CONTEXT );
|
145 |
+
}
|
146 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
|
148 |
+
/**
|
149 |
+
* Update the identifier on db table "{prefix}_icl_strings" to use the "name"
|
150 |
+
* of a group instead of the "id".
|
151 |
+
*
|
152 |
+
* If a row with the new name already exists, only delete the old identifier.
|
153 |
+
*/
|
154 |
+
private function update_db_identifier() {
|
155 |
+
global $wpdb;
|
156 |
+
|
157 |
+
$new_db_identifier = $this->get_db_identifier();
|
158 |
|
159 |
+
if ( $this->string_exists( $new_db_identifier ) ) {
|
160 |
+
|
161 |
+
$wpdb->query(
|
162 |
+
$wpdb->prepare(
|
163 |
+
"DELETE FROM {$wpdb->prefix}icl_strings
|
164 |
+
WHERE `name` = %s",
|
165 |
+
$this->get_db_identifier_legacy()
|
166 |
+
)
|
167 |
+
);
|
168 |
+
|
169 |
+
} else {
|
170 |
+
|
171 |
+
$wpdb->query(
|
172 |
+
$wpdb->prepare(
|
173 |
+
"UPDATE {$wpdb->prefix}icl_strings
|
174 |
+
SET name = %s,
|
175 |
+
domain_name_context_md5 = md5( CONCAT( context, name, gettext_context ) )
|
176 |
+
WHERE name = %s",
|
177 |
+
$this->get_db_identifier(),
|
178 |
+
$this->get_db_identifier_legacy()
|
179 |
+
)
|
180 |
+
);
|
181 |
+
}
|
182 |
}
|
183 |
|
184 |
+
|
185 |
/**
|
186 |
+
* Determine whether a string with given name already exists in the icl_strings table.
|
187 |
+
*
|
188 |
+
* @param string $new_string_name
|
189 |
+
* @return bool
|
190 |
+
* @since 2.2.7
|
191 |
*/
|
192 |
+
private function string_exists( $new_string_name ) {
|
193 |
+
|
194 |
global $wpdb;
|
195 |
+
|
196 |
+
$conflict_count = $wpdb->get_var(
|
197 |
$wpdb->prepare(
|
198 |
+
"SELECT COUNT(1)
|
199 |
+
FROM {$wpdb->prefix}icl_strings
|
200 |
+
WHERE `name` LIKE %s
|
201 |
+
LIMIT 1",
|
202 |
+
$new_string_name
|
|
|
203 |
)
|
204 |
);
|
205 |
+
|
206 |
+
return ( 0 < $conflict_count );
|
207 |
}
|
208 |
|
209 |
+
|
210 |
/**
|
211 |
* Say Hello to WPML
|
212 |
+
*
|
213 |
+
* @param bool $slug_update
|
214 |
*/
|
215 |
public function register( $slug_update = false ) {
|
216 |
// abort if needed function not exists
|
217 |
+
if ( ! function_exists( 'icl_register_string' ) ) {
|
218 |
return;
|
219 |
+
}
|
220 |
|
221 |
// update string identifier
|
222 |
+
if ( $slug_update ) {
|
223 |
global $wpdb;
|
224 |
|
225 |
$wpdb->query(
|
226 |
$wpdb->prepare(
|
227 |
"UPDATE {$wpdb->prefix}icl_strings
|
228 |
+
SET name = %s
|
229 |
+
WHERE name = %s",
|
230 |
$this->get_db_identifier(),
|
231 |
sprintf( $this->get_db_pattern(), $slug_update )
|
232 |
)
|
240 |
$this->get_string_to_translate()
|
241 |
);
|
242 |
}
|
243 |
+
|
244 |
+
|
245 |
}
|
application/models/wpml/interface.php
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
<?php
|
2 |
|
|
|
3 |
interface Types_Wpml_Interface {
|
4 |
public function translate();
|
5 |
public function register( $slug_update = false );
|
1 |
<?php
|
2 |
|
3 |
+
|
4 |
interface Types_Wpml_Interface {
|
5 |
public function translate();
|
6 |
public function register( $slug_update = false );
|
application/views/information/description/link.twig
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
{% if description.target and description.label %}
|
2 |
<p class="types-information-link">
|
3 |
-
<a{% if description.class or description.external %} class="{{ description.class }}{% if description.external %} types-external-link{% endif %}"{% endif %} href="{{ description.target }}"{% if description.external %} target="_blank"{% endif %}>{{ description.label }}</a>
|
4 |
</p>
|
5 |
{% endif %}
|
1 |
{% if description.target and description.label %}
|
2 |
<p class="types-information-link">
|
3 |
+
<a{% if description.class or description.external %} class="{{ description.class }}{% if description.external %} types-external-link{% endif %}"{% endif %} href="{{ description.target }}"{% if description.external %} target="_blank"{% endif %}{% if description.post_type %} data-type="{{ description.post_type }}"{% endif %}{% if description.redirect_url %} data-redirect-url="{{ description.redirect_url }}"{% endif %}{% if description.forwhomloop %} data-forwhomloop="{{ description.forwhomloop }}"{% endif %}{% if description.forwhomtitle %} data-forwhomtitle="{{ description.forwhomtitle }}"{% endif %}>{{ description.label }}</a>
|
4 |
</p>
|
5 |
{% endif %}
|
application/views/page/dashboard/help.twig
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
<p>
|
2 |
-
{{ __( 'This is the main Toolset Dashboard page. The table below provides you with an overview of content types and Toolset components in your site. It also displays the links between all the elements.', '
|
3 |
</p>
|
4 |
|
5 |
<p>
|
6 |
-
{{ __( 'The table has two parts:', '
|
7 |
</p>
|
8 |
|
9 |
<ul>
|
10 |
-
<li>{{ __( '<b>WordPress admin</b> lists all of the content types and their relations: Post Types, Fields and Taxonomies.', '
|
11 |
-
<li>{{ __( '<b>Front-end</b> lists all of the Toolset elements you have and the content they are used for: Content Templates, WordPress Archives, Views and Forms.', '
|
12 |
</ul>
|
13 |
|
14 |
<p>
|
15 |
-
{{ __( 'The buttons in the table provide shortcuts to create specific content types or Toolset components.', '
|
16 |
</p>
|
1 |
<p>
|
2 |
+
{{ __( 'This is the main Toolset Dashboard page. The table below provides you with an overview of content types and Toolset components in your site. It also displays the links between all the elements.', 'wpcf' ) }}
|
3 |
</p>
|
4 |
|
5 |
<p>
|
6 |
+
{{ __( 'The table has two parts:', 'wpcf' ) }}
|
7 |
</p>
|
8 |
|
9 |
<ul>
|
10 |
+
<li>{{ __( '<b>WordPress admin</b> lists all of the content types and their relations: Post Types, Fields and Taxonomies.', 'wpcf' )|raw }}</li>
|
11 |
+
<li>{{ __( '<b>Front-end</b> lists all of the Toolset elements you have and the content they are used for: Content Templates, WordPress Archives, Views and Forms.', 'wpcf' )|raw }}</li>
|
12 |
</ul>
|
13 |
|
14 |
<p>
|
15 |
+
{{ __( 'The buttons in the table provide shortcuts to create specific content types or Toolset components.', 'wpcf' ) }}
|
16 |
</p>
|
disabled_autoload_classmap.php
DELETED
@@ -1,151 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// Generated by ZF2's ./bin/classmap_generator.php
|
3 |
-
return array(
|
4 |
-
'Types_Api' => TYPES_ABSPATH . '/application/api.php',
|
5 |
-
'Types_Admin' => TYPES_ABSPATH . '/application/controllers/admin.php',
|
6 |
-
'Types_Admin_Menu' => TYPES_ABSPATH . '/application/controllers/admin_menu.php',
|
7 |
-
'Types_Ajax_Handler_Abstract' => TYPES_ABSPATH . '/application/controllers/ajax/handler/abstract.php',
|
8 |
-
'Types_Ajax_Handler_Check_Slug_Conflicts' => TYPES_ABSPATH . '/application/controllers/ajax/handler/check_slug_conflicts.php',
|
9 |
-
'Types_Ajax_Handler_Field_Control_Action' => TYPES_ABSPATH . '/application/controllers/ajax/handler/field_control_action.php',
|
10 |
-
'Types_Ajax_Handler_Settings_Action' => TYPES_ABSPATH . '/application/controllers/ajax/handler/settings_action.php',
|
11 |
-
'Types_Ajax_Handler_Interface' => TYPES_ABSPATH . '/application/controllers/ajax/handler_interface.php',
|
12 |
-
'Types_Ajax' => TYPES_ABSPATH . '/application/controllers/ajax.php',
|
13 |
-
'Types_Asset_Help_Tab_Loader' => TYPES_ABSPATH . '/application/controllers/asset/help_tab_loader.php',
|
14 |
-
'Types_Asset_Manager' => TYPES_ABSPATH . '/application/controllers/asset/manager.php',
|
15 |
-
'Types_Assets' => TYPES_ABSPATH . '/application/controllers/assets.php',
|
16 |
-
'Types_Dialog_Box' => TYPES_ABSPATH . '/application/controllers/dialog_box.php',
|
17 |
-
'Types_Embedded' => TYPES_ABSPATH . '/application/controllers/embedded.php',
|
18 |
-
'Types_Field_Type_Converter' => TYPES_ABSPATH . '/application/controllers/field/type_converter.php',
|
19 |
-
'Types_Field_Utils' => TYPES_ABSPATH . '/application/controllers/field/utils.php',
|
20 |
-
'Types_Frontend' => TYPES_ABSPATH . '/application/controllers/frontend.php',
|
21 |
-
'Types_Import_Export' => TYPES_ABSPATH . '/application/controllers/import_export.php',
|
22 |
-
'Types_Information_Controller' => TYPES_ABSPATH . '/application/controllers/information/controller.php',
|
23 |
-
'Types_Main' => TYPES_ABSPATH . '/application/controllers/main.php',
|
24 |
-
'Types_Page_Abstract' => TYPES_ABSPATH . '/application/controllers/page/abstract.php',
|
25 |
-
'Types_Page_Dashboard' => TYPES_ABSPATH . '/application/controllers/page/dashboard.php',
|
26 |
-
'Types_Page_Extension_Edit_Post' => TYPES_ABSPATH . '/application/controllers/page/extension/edit_post.php',
|
27 |
-
'Types_Page_Extension_Edit_Post_Fields' => TYPES_ABSPATH . '/application/controllers/page/extension/edit_post_fields.php',
|
28 |
-
'Types_Page_Extension_Edit_Post_Type' => TYPES_ABSPATH . '/application/controllers/page/extension/edit_post_type.php',
|
29 |
-
'Types_Page_Extension_Settings' => TYPES_ABSPATH . '/application/controllers/page/extension/settings.php',
|
30 |
-
'Types_Page_Field_Control' => TYPES_ABSPATH . '/application/controllers/page/field_control.php',
|
31 |
-
'Types_Page_Hidden_Helper' => TYPES_ABSPATH . '/application/controllers/page/hidden/helper.php',
|
32 |
-
'Types_Twig_Autoloader' => TYPES_ABSPATH . '/application/controllers/twig_autoloader.php',
|
33 |
-
'Types_Upgrade' => TYPES_ABSPATH . '/application/controllers/upgrade.php',
|
34 |
-
'Types_Utils' => TYPES_ABSPATH . '/application/controllers/utils.php',
|
35 |
-
'Types_Api_Helper' => TYPES_ABSPATH . '/application/models/api/helper.php',
|
36 |
-
'Types_Field_Group_Factory' => TYPES_ABSPATH . '/application/models/field/group/factory.php',
|
37 |
-
'Types_Field_Group_Post' => TYPES_ABSPATH . '/application/models/field/group/post.php',
|
38 |
-
'Types_Field_Group_Post_Factory' => TYPES_ABSPATH . '/application/models/field/group/post_factory.php',
|
39 |
-
'Types_Field_Group_Term' => TYPES_ABSPATH . '/application/models/field/group/term.php',
|
40 |
-
'Types_Field_Group_Term_Factory' => TYPES_ABSPATH . '/application/models/field/group/term_factory.php',
|
41 |
-
'Types_Field_Group_User' => TYPES_ABSPATH . '/application/models/field/group/user.php',
|
42 |
-
'Types_Field_Group_User_Factory' => TYPES_ABSPATH . '/application/models/field/group/user_factory.php',
|
43 |
-
'Types_Field_Group' => TYPES_ABSPATH . '/application/models/field/group.php',
|
44 |
-
'Types_Field_Type_Definition_Checkbox' => TYPES_ABSPATH . '/application/models/field/type/definition/checkbox.php',
|
45 |
-
'Types_Field_Type_Definition_Checkboxes' => TYPES_ABSPATH . '/application/models/field/type/definition/checkboxes.php',
|
46 |
-
'Types_Field_Type_Definition_Date' => TYPES_ABSPATH . '/application/models/field/type/definition/date.php',
|
47 |
-
'Types_Field_Type_Definition_Numeric' => TYPES_ABSPATH . '/application/models/field/type/definition/numeric.php',
|
48 |
-
'Types_Field_Type_Definition_Radio' => TYPES_ABSPATH . '/application/models/field/type/definition/radio.php',
|
49 |
-
'Types_Field_Type_Definition_Select' => TYPES_ABSPATH . '/application/models/field/type/definition/select.php',
|
50 |
-
'Types_Field_Type_Definition_Singular' => TYPES_ABSPATH . '/application/models/field/type/definition/singular.php',
|
51 |
-
'Types_Field_Type_Definition' => TYPES_ABSPATH . '/application/models/field/type/definition.php',
|
52 |
-
'Types_Field_Type_Definition_Factory' => TYPES_ABSPATH . '/application/models/field/type/definition_factory.php',
|
53 |
-
'Types_Helper_Condition_Archive_Exists' => TYPES_ABSPATH . '/application/models/helper/condition/archive/exists.php',
|
54 |
-
'Types_Helper_Condition_Archive_Has_Fields' => TYPES_ABSPATH . '/application/models/helper/condition/archive/has_fields.php',
|
55 |
-
'Types_Helper_Condition_Archive_Missing' => TYPES_ABSPATH . '/application/models/helper/condition/archive/missing.php',
|
56 |
-
'Types_Helper_Condition_Archive_No_Fields' => TYPES_ABSPATH . '/application/models/helper/condition/archive/no_fields.php',
|
57 |
-
'Types_Helper_Condition_Archive_No_Support' => TYPES_ABSPATH . '/application/models/helper/condition/archive/no_support.php',
|
58 |
-
'Types_Helper_Condition_Archive_Support' => TYPES_ABSPATH . '/application/models/helper/condition/archive/support.php',
|
59 |
-
'Types_Helper_Condition_Cred_Active' => TYPES_ABSPATH . '/application/models/helper/condition/cred/active.php',
|
60 |
-
'Types_Helper_Condition_Cred_Forms_Exist' => TYPES_ABSPATH . '/application/models/helper/condition/cred/forms_exist.php',
|
61 |
-
'Types_Helper_Condition_Cred_Forms_Missing' => TYPES_ABSPATH . '/application/models/helper/condition/cred/forms_missing.php',
|
62 |
-
'Types_Helper_Condition_Cred_Missing' => TYPES_ABSPATH . '/application/models/helper/condition/cred/missing.php',
|
63 |
-
'Types_Helper_Condition_Layouts_Active' => TYPES_ABSPATH . '/application/models/helper/condition/layouts/active.php',
|
64 |
-
'Types_Helper_Condition_Layouts_Archive_Exists' => TYPES_ABSPATH . '/application/models/helper/condition/layouts/archive_exists.php',
|
65 |
-
'Types_Helper_Condition_Layouts_Archive_Missing' => TYPES_ABSPATH . '/application/models/helper/condition/layouts/archive_missing.php',
|
66 |
-
'Types_Helper_Condition_Layouts_Compatible' => TYPES_ABSPATH . '/application/models/helper/condition/layouts/compatible.php',
|
67 |
-
'Types_Helper_Condition_Layouts_Missing' => TYPES_ABSPATH . '/application/models/helper/condition/layouts/missing.php',
|
68 |
-
'Types_Helper_Condition_Layouts_Template_Exists' => TYPES_ABSPATH . '/application/models/helper/condition/layouts/template_exists.php',
|
69 |
-
'Types_Helper_Condition_Layouts_Template_Missing' => TYPES_ABSPATH . '/application/models/helper/condition/layouts/template_missing.php',
|
70 |
-
'Types_Helper_Condition_Screen' => TYPES_ABSPATH . '/application/models/helper/condition/screen.php',
|
71 |
-
'Types_Helper_Condition_Single_Exists' => TYPES_ABSPATH . '/application/models/helper/condition/single/exists.php',
|
72 |
-
'Types_Helper_Condition_Single_Has_Fields' => TYPES_ABSPATH . '/application/models/helper/condition/single/has_fields.php',
|
73 |
-
'Types_Helper_Condition_Single_Missing' => TYPES_ABSPATH . '/application/models/helper/condition/single/missing.php',
|
74 |
-
'Types_Helper_Condition_Single_No_Fields' => TYPES_ABSPATH . '/application/models/helper/condition/single/no_fields.php',
|
75 |
-
'Types_Helper_Condition_Template' => TYPES_ABSPATH . '/application/models/helper/condition/template.php',
|
76 |
-
'Types_Helper_Condition_Type_Fields_Assigned' => TYPES_ABSPATH . '/application/models/helper/condition/type/fields_assigned.php',
|
77 |
-
'Types_Helper_Condition_Views_Active' => TYPES_ABSPATH . '/application/models/helper/condition/views/active.php',
|
78 |
-
'Types_Helper_Condition_Views_Archive_Exists' => TYPES_ABSPATH . '/application/models/helper/condition/views/archive_exists.php',
|
79 |
-
'Types_Helper_Condition_Views_Archive_Missing' => TYPES_ABSPATH . '/application/models/helper/condition/views/archive_missing.php',
|
80 |
-
'Types_Helper_Condition_Views_Missing' => TYPES_ABSPATH . '/application/models/helper/condition/views/missing.php',
|
81 |
-
'Types_Helper_Condition_Views_Template_Exists' => TYPES_ABSPATH . '/application/models/helper/condition/views/template_exists.php',
|
82 |
-
'Types_Helper_Condition_Views_Template_Missing' => TYPES_ABSPATH . '/application/models/helper/condition/views/template_missing.php',
|
83 |
-
'Types_Helper_Condition_Views_Views_Exist' => TYPES_ABSPATH . '/application/models/helper/condition/views/views_exist.php',
|
84 |
-
'Types_Helper_Condition_Views_Views_Missing' => TYPES_ABSPATH . '/application/models/helper/condition/views/views_missing.php',
|
85 |
-
'Types_Helper_Condition' => TYPES_ABSPATH . '/application/models/helper/condition.php',
|
86 |
-
'Types_Helper_Create_Content_Template' => TYPES_ABSPATH . '/application/models/helper/create/content_template.php',
|
87 |
-
'Types_Helper_Create_Form' => TYPES_ABSPATH . '/application/models/helper/create/form.php',
|
88 |
-
'Types_Helper_Create_Layout' => TYPES_ABSPATH . '/application/models/helper/create/layout.php',
|
89 |
-
'Types_Helper_Create_View' => TYPES_ABSPATH . '/application/models/helper/create/view.php',
|
90 |
-
'Types_Helper_Create_Wordpress_Archive' => TYPES_ABSPATH . '/application/models/helper/create/wordpress_archive.php',
|
91 |
-
'Types_Helper_Output_Interface' => TYPES_ABSPATH . '/application/models/helper/output/interface.php',
|
92 |
-
'Types_Helper_Output_Meta_Box' => TYPES_ABSPATH . '/application/models/helper/output/meta_box.php',
|
93 |
-
'Types_Helper_Placeholder' => TYPES_ABSPATH . '/application/models/helper/placeholder.php',
|
94 |
-
'Types_Helper_Twig' => TYPES_ABSPATH . '/application/models/helper/twig.php',
|
95 |
-
'Types_Helper_Url' => TYPES_ABSPATH . '/application/models/helper/url.php',
|
96 |
-
'Types_Information_Container' => TYPES_ABSPATH . '/application/models/information/container.php',
|
97 |
-
'Types_Information_Message_Post_Type' => TYPES_ABSPATH . '/application/models/information/message/post_type.php',
|
98 |
-
'Types_Information_Message' => TYPES_ABSPATH . '/application/models/information/message.php',
|
99 |
-
'Types_Information_Table' => TYPES_ABSPATH . '/application/models/information/table.php',
|
100 |
-
'Types_Post_Type' => TYPES_ABSPATH . '/application/models/post_type.php',
|
101 |
-
'Types_Setting_Boolean' => TYPES_ABSPATH . '/application/models/setting/boolean.php',
|
102 |
-
'Types_Setting_Interface' => TYPES_ABSPATH . '/application/models/setting/interface.php',
|
103 |
-
'Types_Setting_Option_Interface' => TYPES_ABSPATH . '/application/models/setting/option/interface.php',
|
104 |
-
'Types_Setting_Option' => TYPES_ABSPATH . '/application/models/setting/option.php',
|
105 |
-
'Types_Setting_Preset_Information_Table' => TYPES_ABSPATH . '/application/models/setting/preset/information_table.php',
|
106 |
-
'Types_Setting' => TYPES_ABSPATH . '/application/models/setting.php',
|
107 |
-
'Types_Taxonomy' => TYPES_ABSPATH . '/application/models/taxonomy.php',
|
108 |
-
'Toolset_Autoloader' => TYPES_ABSPATH . '/library/toolset/autoloader/autoloader.php',
|
109 |
-
'Toolset_Filesystem_Directory' => TYPES_ABSPATH . '/library/toolset/filesystem/directory.php',
|
110 |
-
'Toolset_Filesystem_Exception' => TYPES_ABSPATH . '/library/toolset/filesystem/exception.php',
|
111 |
-
'Toolset_Filesystem_File' => TYPES_ABSPATH . '/library/toolset/filesystem/file.php',
|
112 |
-
'WPToolset_Forms_Bootstrap' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/bootstrap.php',
|
113 |
-
'WPToolset_Field_Audio' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.audio.php',
|
114 |
-
'WPToolset_Field_Button' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.button.php',
|
115 |
-
'WPToolset_Field_Checkbox' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.checkbox.php',
|
116 |
-
'WPToolset_Field_Checkboxes' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.checkboxes.php',
|
117 |
-
'WPToolset_Field_Colorpicker' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.colorpicker.php',
|
118 |
-
'WPToolset_Forms_Conditional' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.conditional.php',
|
119 |
-
'WPToolset_Cred' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.cred.php',
|
120 |
-
'WPToolset_Field_Credaudio' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.credaudio.php',
|
121 |
-
'WPToolset_Field_Credfile' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.credfile.php',
|
122 |
-
'WPToolset_Field_Credimage' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.credimage.php',
|
123 |
-
'WPToolset_Field_Credvideo' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.credvideo.php',
|
124 |
-
'WPToolset_Field_Date' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.date.php',
|
125 |
-
'WPToolset_Field_Date_Scripts' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.date.scripts.php',
|
126 |
-
'WPToolset_Field_Email' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.email.php',
|
127 |
-
'WPToolset_Field_Embed' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.embed.php',
|
128 |
-
'WPToolset_Field_File' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.file.php',
|
129 |
-
'WPToolset_Field_Hidden' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.hidden.php',
|
130 |
-
'WPToolset_Field_Image' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.image.php',
|
131 |
-
'WPToolset_Field_Integer' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.integer.php',
|
132 |
-
'WPToolset_Field_Numeric' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.numeric.php',
|
133 |
-
'WPToolset_Field_Password' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.password.php',
|
134 |
-
'WPToolset_Field_Phone' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.phone.php',
|
135 |
-
'WPToolset_Field_Radios' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.radios.php',
|
136 |
-
'WPToolset_Field_Recaptcha' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.recaptcha.php',
|
137 |
-
'WPToolset_Forms_Repetitive' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.repetitive.php',
|
138 |
-
'WPToolset_Field_Select' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.select.php',
|
139 |
-
'WPToolset_Field_Skype' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.skype.php',
|
140 |
-
'WPToolset_Field_Submit' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.submit.php',
|
141 |
-
'WPToolset_Field_Taxonomy' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.taxonomy.php',
|
142 |
-
'WPToolset_Field_Taxonomyhierarchical' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.taxonomyhierarchical.php',
|
143 |
-
'WPToolset_Field_Textarea' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.textarea.php',
|
144 |
-
'WPToolset_Field_Textfield' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.textfield.php',
|
145 |
-
'WPToolset_Types' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.types.php',
|
146 |
-
'WPToolset_Field_Url' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.url.php',
|
147 |
-
'WPToolset_Forms_Validation' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.validation.php',
|
148 |
-
'WPToolset_Field_Video' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.video.php',
|
149 |
-
'WPToolset_Field_Wysiwyg' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/classes/class.wysiwyg.php',
|
150 |
-
'WPToolset_Cake_Validation' => TYPES_ABSPATH . '/library/toolset/toolset-common/toolset-forms/lib/CakePHP-Validation.php',
|
151 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
library/toolset/onthego-resources/.gitignore
DELETED
@@ -1,72 +0,0 @@
|
|
1 |
-
# Ignore test results
|
2 |
-
actual
|
3 |
-
results
|
4 |
-
|
5 |
-
# Ignore compiled docs
|
6 |
-
_gh_pages
|
7 |
-
_gh-pages
|
8 |
-
_site
|
9 |
-
|
10 |
-
# Numerous always-ignore extensions
|
11 |
-
*.csv
|
12 |
-
*.dat
|
13 |
-
*.diff
|
14 |
-
*.err
|
15 |
-
*.gz
|
16 |
-
*.log
|
17 |
-
*.log
|
18 |
-
*.orig
|
19 |
-
*.out
|
20 |
-
*.pid
|
21 |
-
*.rej
|
22 |
-
*.ruby-version
|
23 |
-
*.sass-cache
|
24 |
-
*.seed
|
25 |
-
*.swo
|
26 |
-
*.swp
|
27 |
-
*.vi
|
28 |
-
*.zip
|
29 |
-
*~
|
30 |
-
lib-cov
|
31 |
-
|
32 |
-
# OS or Editor folders
|
33 |
-
.DS_Store
|
34 |
-
._*
|
35 |
-
Thumbs.db
|
36 |
-
.cache
|
37 |
-
.project
|
38 |
-
.settings
|
39 |
-
.tmproj
|
40 |
-
*.esproj
|
41 |
-
nbproject
|
42 |
-
*.sublime-*
|
43 |
-
.editorconfig
|
44 |
-
|
45 |
-
# Komodo
|
46 |
-
*.komodoproject
|
47 |
-
.komodotools
|
48 |
-
|
49 |
-
# Folders to ignore
|
50 |
-
.hg
|
51 |
-
.svn
|
52 |
-
.CVS
|
53 |
-
.idea
|
54 |
-
tmp
|
55 |
-
pids
|
56 |
-
build
|
57 |
-
src
|
58 |
-
node_modules
|
59 |
-
installer
|
60 |
-
.sass-cache
|
61 |
-
composer
|
62 |
-
embedded/toolset
|
63 |
-
embedded/toolset/toolset-common
|
64 |
-
embedded/toolset/onthego-resources
|
65 |
-
|
66 |
-
# Types
|
67 |
-
embedded/autoload.php
|
68 |
-
|
69 |
-
# Files to ignore
|
70 |
-
npm-debug.log
|
71 |
-
composer.lock
|
72 |
-
composer.json
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
library/toolset/onthego-resources/onthegosystems-icons/.fontcustom-manifest.json
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
{
|
2 |
"checksum": {
|
3 |
-
"previous": "
|
4 |
-
"current": "
|
5 |
},
|
6 |
"fonts": [
|
7 |
-
"fonts/onthegosystems-
|
8 |
-
"fonts/onthegosystems-
|
9 |
-
"fonts/onthegosystems-
|
10 |
-
"fonts/onthegosystems-
|
11 |
],
|
12 |
"glyphs": {
|
13 |
"access": {
|
@@ -118,6 +118,10 @@
|
|
118 |
"codepoint": 61738,
|
119 |
"source": "vectors/toolset.svg"
|
120 |
},
|
|
|
|
|
|
|
|
|
121 |
"toolset-genesis-logo": {
|
122 |
"codepoint": 61736,
|
123 |
"source": "vectors/toolset-genesis-logo.svg"
|
1 |
{
|
2 |
"checksum": {
|
3 |
+
"previous": "c2bf5434fb5ba6db313a98fb4e1bf3479154a52d11ff65763e7707dfe4069a7b",
|
4 |
+
"current": "c2bf5434fb5ba6db313a98fb4e1bf3479154a52d11ff65763e7707dfe4069a7b"
|
5 |
},
|
6 |
"fonts": [
|
7 |
+
"fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.ttf",
|
8 |
+
"fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.svg",
|
9 |
+
"fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.woff",
|
10 |
+
"fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.eot"
|
11 |
],
|
12 |
"glyphs": {
|
13 |
"access": {
|
118 |
"codepoint": 61738,
|
119 |
"source": "vectors/toolset.svg"
|
120 |
},
|
121 |
+
"toolset-export": {
|
122 |
+
"codepoint": 61751,
|
123 |
+
"source": "vectors/toolset-export.svg"
|
124 |
+
},
|
125 |
"toolset-genesis-logo": {
|
126 |
"codepoint": 61736,
|
127 |
"source": "vectors/toolset-genesis-logo.svg"
|
library/toolset/onthego-resources/onthegosystems-icons/css/_onthegosystems-icons.scss
CHANGED
@@ -4,11 +4,11 @@
|
|
4 |
|
5 |
@font-face {
|
6 |
font-family: "onthegosystems-icons";
|
7 |
-
src: url("../fonts/onthegosystems-
|
8 |
-
src: url("../fonts/onthegosystems-
|
9 |
-
url("../fonts/onthegosystems-
|
10 |
-
url("../fonts/onthegosystems-
|
11 |
-
url("../fonts/onthegosystems-
|
12 |
font-weight: normal;
|
13 |
font-style: normal;
|
14 |
}
|
@@ -16,7 +16,7 @@
|
|
16 |
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
17 |
@font-face {
|
18 |
font-family: "onthegosystems-icons";
|
19 |
-
src: url("../fonts/onthegosystems-
|
20 |
}
|
21 |
}
|
22 |
|
@@ -50,6 +50,7 @@
|
|
50 |
.icon-packager-logo:before,
|
51 |
.icon-panels:before,
|
52 |
.icon-toolset:before,
|
|
|
53 |
.icon-toolset-genesis-logo:before,
|
54 |
.icon-toolset-logo:before,
|
55 |
.icon-toolset-map:before,
|
@@ -101,6 +102,7 @@
|
|
101 |
.icon-packager-logo:before { content: "\f121"; }
|
102 |
.icon-panels:before { content: "\f133"; }
|
103 |
.icon-toolset:before { content: "\f12a"; }
|
|
|
104 |
.icon-toolset-genesis-logo:before { content: "\f128"; }
|
105 |
.icon-toolset-logo:before { content: "\f11a"; }
|
106 |
.icon-toolset-map:before { content: "\f125"; }
|
@@ -139,6 +141,7 @@ $font-onthegosystems-icons-packager: "\f120";
|
|
139 |
$font-onthegosystems-icons-packager-logo: "\f121";
|
140 |
$font-onthegosystems-icons-panels: "\f133";
|
141 |
$font-onthegosystems-icons-toolset: "\f12a";
|
|
|
142 |
$font-onthegosystems-icons-toolset-genesis-logo: "\f128";
|
143 |
$font-onthegosystems-icons-toolset-logo: "\f11a";
|
144 |
$font-onthegosystems-icons-toolset-map: "\f125";
|
4 |
|
5 |
@font-face {
|
6 |
font-family: "onthegosystems-icons";
|
7 |
+
src: url("../fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.eot");
|
8 |
+
src: url("../fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.eot?#iefix") format("embedded-opentype"),
|
9 |
+
url("../fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.woff") format("woff"),
|
10 |
+
url("../fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.ttf") format("truetype"),
|
11 |
+
url("../fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.svg#onthegosystems-icons") format("svg");
|
12 |
font-weight: normal;
|
13 |
font-style: normal;
|
14 |
}
|
16 |
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
17 |
@font-face {
|
18 |
font-family: "onthegosystems-icons";
|
19 |
+
src: url("../fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.svg#onthegosystems-icons") format("svg");
|
20 |
}
|
21 |
}
|
22 |
|
50 |
.icon-packager-logo:before,
|
51 |
.icon-panels:before,
|
52 |
.icon-toolset:before,
|
53 |
+
.icon-toolset-export:before,
|
54 |
.icon-toolset-genesis-logo:before,
|
55 |
.icon-toolset-logo:before,
|
56 |
.icon-toolset-map:before,
|
102 |
.icon-packager-logo:before { content: "\f121"; }
|
103 |
.icon-panels:before { content: "\f133"; }
|
104 |
.icon-toolset:before { content: "\f12a"; }
|
105 |
+
.icon-toolset-export:before { content: "\f137"; }
|
106 |
.icon-toolset-genesis-logo:before { content: "\f128"; }
|
107 |
.icon-toolset-logo:before { content: "\f11a"; }
|
108 |
.icon-toolset-map:before { content: "\f125"; }
|
141 |
$font-onthegosystems-icons-packager-logo: "\f121";
|
142 |
$font-onthegosystems-icons-panels: "\f133";
|
143 |
$font-onthegosystems-icons-toolset: "\f12a";
|
144 |
+
$font-onthegosystems-icons-toolset-export: "\f137";
|
145 |
$font-onthegosystems-icons-toolset-genesis-logo: "\f128";
|
146 |
$font-onthegosystems-icons-toolset-logo: "\f11a";
|
147 |
$font-onthegosystems-icons-toolset-map: "\f125";
|
library/toolset/onthego-resources/onthegosystems-icons/css/onthegosystems-icons.css
CHANGED
@@ -4,11 +4,11 @@
|
|
4 |
|
5 |
@font-face {
|
6 |
font-family: "onthegosystems-icons";
|
7 |
-
src: url("../fonts/onthegosystems-
|
8 |
-
src: url("../fonts/onthegosystems-
|
9 |
-
url("../fonts/onthegosystems-
|
10 |
-
url("../fonts/onthegosystems-
|
11 |
-
url("../fonts/onthegosystems-
|
12 |
font-weight: normal;
|
13 |
font-style: normal;
|
14 |
}
|
@@ -16,7 +16,7 @@
|
|
16 |
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
17 |
@font-face {
|
18 |
font-family: "onthegosystems-icons";
|
19 |
-
src: url("../fonts/onthegosystems-
|
20 |
}
|
21 |
}
|
22 |
|
@@ -50,6 +50,7 @@
|
|
50 |
.icon-packager-logo:before,
|
51 |
.icon-panels:before,
|
52 |
.icon-toolset:before,
|
|
|
53 |
.icon-toolset-genesis-logo:before,
|
54 |
.icon-toolset-logo:before,
|
55 |
.icon-toolset-map:before,
|
@@ -101,6 +102,7 @@
|
|
101 |
.icon-packager-logo:before { content: "\f121"; }
|
102 |
.icon-panels:before { content: "\f133"; }
|
103 |
.icon-toolset:before { content: "\f12a"; }
|
|
|
104 |
.icon-toolset-genesis-logo:before { content: "\f128"; }
|
105 |
.icon-toolset-logo:before { content: "\f11a"; }
|
106 |
.icon-toolset-map:before { content: "\f125"; }
|
4 |
|
5 |
@font-face {
|
6 |
font-family: "onthegosystems-icons";
|
7 |
+
src: url("../fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.eot");
|
8 |
+
src: url("../fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.eot?#iefix") format("embedded-opentype"),
|
9 |
+
url("../fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.woff") format("woff"),
|
10 |
+
url("../fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.ttf") format("truetype"),
|
11 |
+
url("../fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.svg#onthegosystems-icons") format("svg");
|
12 |
font-weight: normal;
|
13 |
font-style: normal;
|
14 |
}
|
16 |
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
17 |
@font-face {
|
18 |
font-family: "onthegosystems-icons";
|
19 |
+
src: url("../fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.svg#onthegosystems-icons") format("svg");
|
20 |
}
|
21 |
}
|
22 |
|
50 |
.icon-packager-logo:before,
|
51 |
.icon-panels:before,
|
52 |
.icon-toolset:before,
|
53 |
+
.icon-toolset-export:before,
|
54 |
.icon-toolset-genesis-logo:before,
|
55 |
.icon-toolset-logo:before,
|
56 |
.icon-toolset-map:before,
|
102 |
.icon-packager-logo:before { content: "\f121"; }
|
103 |
.icon-panels:before { content: "\f133"; }
|
104 |
.icon-toolset:before { content: "\f12a"; }
|
105 |
+
.icon-toolset-export:before { content: "\f137"; }
|
106 |
.icon-toolset-genesis-logo:before { content: "\f128"; }
|
107 |
.icon-toolset-logo:before { content: "\f11a"; }
|
108 |
.icon-toolset-map:before { content: "\f125"; }
|
library/toolset/onthego-resources/onthegosystems-icons/fonts/onthegosystems-icons-preview.html
CHANGED
@@ -141,11 +141,11 @@
|
|
141 |
|
142 |
@font-face {
|
143 |
font-family: "onthegosystems-icons";
|
144 |
-
src: url("./onthegosystems-
|
145 |
-
src: url("./onthegosystems-
|
146 |
-
url("./onthegosystems-
|
147 |
-
url("./onthegosystems-
|
148 |
-
url("./onthegosystems-
|
149 |
font-weight: normal;
|
150 |
font-style: normal;
|
151 |
}
|
@@ -153,7 +153,7 @@
|
|
153 |
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
154 |
@font-face {
|
155 |
font-family: "onthegosystems-icons";
|
156 |
-
src: url("./onthegosystems-
|
157 |
}
|
158 |
}
|
159 |
|
@@ -187,6 +187,7 @@
|
|
187 |
.icon-packager-logo:before,
|
188 |
.icon-panels:before,
|
189 |
.icon-toolset:before,
|
|
|
190 |
.icon-toolset-genesis-logo:before,
|
191 |
.icon-toolset-logo:before,
|
192 |
.icon-toolset-map:before,
|
@@ -238,6 +239,7 @@
|
|
238 |
.icon-packager-logo:before { content: "\f121"; }
|
239 |
.icon-panels:before { content: "\f133"; }
|
240 |
.icon-toolset:before { content: "\f12a"; }
|
|
|
241 |
.icon-toolset-genesis-logo:before { content: "\f128"; }
|
242 |
.icon-toolset-logo:before { content: "\f11a"; }
|
243 |
.icon-toolset-map:before { content: "\f125"; }
|
@@ -263,7 +265,7 @@
|
|
263 |
<body class="characters-off">
|
264 |
<div id="page" class="container">
|
265 |
<header>
|
266 |
-
<h1>onthegosystems-icons contains
|
267 |
<a onclick="toggleCharacters(); return false;" href="#">Toggle Preview Characters</a>
|
268 |
</header>
|
269 |
|
@@ -619,6 +621,19 @@
|
|
619 |
</div>
|
620 |
</div>
|
621 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
622 |
<div class="glyph">
|
623 |
<div class="preview-glyphs">
|
624 |
<span class="step size-12"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-14"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-16"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-18"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-21"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-24"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-36"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-48"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-60"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-72"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span>
|
141 |
|
142 |
@font-face {
|
143 |
font-family: "onthegosystems-icons";
|
144 |
+
src: url("./onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.eot");
|
145 |
+
src: url("./onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.eot?#iefix") format("embedded-opentype"),
|
146 |
+
url("./onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.woff") format("woff"),
|
147 |
+
url("./onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.ttf") format("truetype"),
|
148 |
+
url("./onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.svg#onthegosystems-icons") format("svg");
|
149 |
font-weight: normal;
|
150 |
font-style: normal;
|
151 |
}
|
153 |
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
154 |
@font-face {
|
155 |
font-family: "onthegosystems-icons";
|
156 |
+
src: url("./onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.svg#onthegosystems-icons") format("svg");
|
157 |
}
|
158 |
}
|
159 |
|
187 |
.icon-packager-logo:before,
|
188 |
.icon-panels:before,
|
189 |
.icon-toolset:before,
|
190 |
+
.icon-toolset-export:before,
|
191 |
.icon-toolset-genesis-logo:before,
|
192 |
.icon-toolset-logo:before,
|
193 |
.icon-toolset-map:before,
|
239 |
.icon-packager-logo:before { content: "\f121"; }
|
240 |
.icon-panels:before { content: "\f133"; }
|
241 |
.icon-toolset:before { content: "\f12a"; }
|
242 |
+
.icon-toolset-export:before { content: "\f137"; }
|
243 |
.icon-toolset-genesis-logo:before { content: "\f128"; }
|
244 |
.icon-toolset-logo:before { content: "\f11a"; }
|
245 |
.icon-toolset-map:before { content: "\f125"; }
|
265 |
<body class="characters-off">
|
266 |
<div id="page" class="container">
|
267 |
<header>
|
268 |
+
<h1>onthegosystems-icons contains 38 glyphs:</h1>
|
269 |
<a onclick="toggleCharacters(); return false;" href="#">Toggle Preview Characters</a>
|
270 |
</header>
|
271 |
|
621 |
</div>
|
622 |
</div>
|
623 |
|
624 |
+
<div class="glyph">
|
625 |
+
<div class="preview-glyphs">
|
626 |
+
<span class="step size-12"><span class="letters">Pp</span><i id="icon-toolset-export" class="icon-toolset-export"></i></span><span class="step size-14"><span class="letters">Pp</span><i id="icon-toolset-export" class="icon-toolset-export"></i></span><span class="step size-16"><span class="letters">Pp</span><i id="icon-toolset-export" class="icon-toolset-export"></i></span><span class="step size-18"><span class="letters">Pp</span><i id="icon-toolset-export" class="icon-toolset-export"></i></span><span class="step size-21"><span class="letters">Pp</span><i id="icon-toolset-export" class="icon-toolset-export"></i></span><span class="step size-24"><span class="letters">Pp</span><i id="icon-toolset-export" class="icon-toolset-export"></i></span><span class="step size-36"><span class="letters">Pp</span><i id="icon-toolset-export" class="icon-toolset-export"></i></span><span class="step size-48"><span class="letters">Pp</span><i id="icon-toolset-export" class="icon-toolset-export"></i></span><span class="step size-60"><span class="letters">Pp</span><i id="icon-toolset-export" class="icon-toolset-export"></i></span><span class="step size-72"><span class="letters">Pp</span><i id="icon-toolset-export" class="icon-toolset-export"></i></span>
|
627 |
+
</div>
|
628 |
+
<div class="preview-scale">
|
629 |
+
<span class="step">12</span><span class="step">14</span><span class="step">16</span><span class="step">18</span><span class="step">21</span><span class="step">24</span><span class="step">36</span><span class="step">48</span><span class="step">60</span><span class="step">72</span>
|
630 |
+
</div>
|
631 |
+
<div class="usage">
|
632 |
+
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".icon-toolset-export" />
|
633 |
+
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&#xf137;" />
|
634 |
+
</div>
|
635 |
+
</div>
|
636 |
+
|
637 |
<div class="glyph">
|
638 |
<div class="preview-glyphs">
|
639 |
<span class="step size-12"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-14"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-16"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-18"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-21"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-24"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-36"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-48"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-60"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span><span class="step size-72"><span class="letters">Pp</span><i id="icon-toolset-genesis-logo" class="icon-toolset-genesis-logo"></i></span>
|
library/toolset/onthego-resources/onthegosystems-icons/fonts/onthegosystems-icons_91cc76c6ec19609541b007a2169151af.woff
DELETED
Binary file
|
library/toolset/onthego-resources/onthegosystems-icons/fonts/{onthegosystems-icons_91cc76c6ec19609541b007a2169151af.eot → onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.eot}
RENAMED
Binary file
|
library/toolset/onthego-resources/onthegosystems-icons/fonts/{onthegosystems-icons_91cc76c6ec19609541b007a2169151af.svg → onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.svg}
RENAMED
@@ -1,13 +1,13 @@
|
|
1 |
<?xml version="1.0" standalone="no"?>
|
2 |
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
3 |
<!--
|
4 |
-
|
5 |
-->
|
6 |
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
|
7 |
<metadata>
|
8 |
-
Created by FontForge 20150302 at
|
9 |
By Riccardo Strobbia
|
10 |
-
Copyright (c)
|
11 |
</metadata>
|
12 |
<defs>
|
13 |
<font id="onthegosystems-icons" horiz-adv-x="512" >
|
@@ -19,10 +19,10 @@ Copyright (c) 2016, Riccardo Strobbia
|
|
19 |
panose-1="2 0 5 3 0 0 0 0 0 0"
|
20 |
ascent="448"
|
21 |
descent="-64"
|
22 |
-
bbox="
|
23 |
underline-thickness="25.6"
|
24 |
underline-position="-51.2"
|
25 |
-
unicode-range="U+0020-
|
26 |
/>
|
27 |
<missing-glyph />
|
28 |
<glyph glyph-name="space" unicode=" " horiz-adv-x="200"
|
@@ -65,6 +65,11 @@ c2.45801 -6.91113 5.85645 -12.748 10.1953 -17.5098c4.33984 -4.76172 9.48535 -8.3
|
|
65 |
<glyph glyph-name="uniF130" unicode=""
|
66 |
d="M204.961 -49.2695v102.285h421.251v-102.285h-421.251zM204.961 330.962v102.331h421.251v-102.331h-421.251zM204.961 140.846v102.331h421.251v-102.331h-421.251zM18.5225 -49.2695v102.285h133.262v-102.285h-133.262zM18.5225 330.962v102.331h133.262v-102.331
|
67 |
h-133.262zM18.5225 140.846v102.331h133.262v-102.331h-133.262z" />
|
|
|
|
|
|
|
|
|
|
|
68 |
<glyph glyph-name="uniF135" unicode=""
|
69 |
d="M672.731 -44.9854v476.32h476.538v-476.32h-476.538zM60.1328 -44.9854v476.32h476.451v-476.32h-476.451zM1308.57 -44.9854v476.32h476.581v-476.32h-476.581zM264.289 263.99h-0.783203l-50.2998 -24.0186l-10.3555 46.4268l70.4014 32.5469h50.8652v-264.551
|
70 |
h-59.8281v209.596zM826.414 54.3945v37.4199l33.7646 30.458c58.1758 52.2139 86.2842 81.8018 86.6758 112.738c0.0332031 0.585938 0.0595703 1.53613 0.0595703 2.12207c0 20.584 -16.7051 37.2891 -37.2891 37.2891c-1.63574 0 -4.27539 -0.208984 -5.89062 -0.467773
|
@@ -386,11 +391,9 @@ d="M69.9062 -52.7617l-58.0127 58.0127l315.346 315.347l58.0137 -58.0127zM440.184
|
|
386 |
c-12.873 12.873 2.03027 18.8018 14.8857 31.6562c12.8545 12.8555 18.7832 27.7773 31.6562 14.9043zM512.218 379.737l18.4023 -24.6943l-30.7861 0.43457l-17.7686 -25.1113l-9.11914 29.3359l-29.3184 9.12012l25.0752 17.7861l-0.398438 30.75l24.6943 -18.4023
|
387 |
l29.0635 9.88086zM327.826 405.41l15.3203 -20.5244l-25.6191 0.327148l-14.8125 -20.9238l-7.5791 24.4775l-24.4766 7.57812l20.9229 14.8135l-0.326172 25.6191l20.5244 -15.3213l24.2588 8.23145zM476.463 268.322l9.33789 -12.5283l-15.6289 0.235352
|
388 |
l-8.95703 -12.6914l-4.58691 14.8311l-14.8672 4.62305l12.71 8.93848l-0.236328 15.6289l12.5293 -9.33691l14.7041 5.00391z" />
|
389 |
-
<glyph glyph-name="
|
390 |
-
d="
|
391 |
-
|
392 |
-
c-1.90723 3.23828 -2.53418 6.38672 -0.614258 9.63184l33.3057 79.2959c1.90039 3.92285 5.10742 6.49609 9.58105 6.49609h31.9863v-21.1777h-24.9658l-24.96 -58.2275h248.346l-25.0049 58.2275h-28.1406v21.1777h34.5469c4.47363 0 7.73145 -2.56641 9.63184 -6.49609
|
393 |
-
l33.3125 -79.2959c3.14844 -3.24512 2.47656 -7.05273 0.556641 -9.63184zM233.6 195.2c0 -20.7656 16.835 -37.6006 37.6006 -37.6006s37.5996 16.835 37.5996 37.6006s-16.834 37.5996 -37.5996 37.5996s-37.6006 -16.834 -37.6006 -37.5996z" />
|
394 |
<glyph glyph-name="uniF12C" unicode=""
|
395 |
d="M20.8887 280.548v149.814h564.48v-149.814h-564.48zM20.8887 114.135v88.8184h564.48v-88.8184h-564.48zM20.8887 -46.3623v88.8184h564.48v-88.8184h-564.48z" />
|
396 |
<glyph glyph-name="uniF12A" unicode=""
|
1 |
<?xml version="1.0" standalone="no"?>
|
2 |
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
3 |
<!--
|
4 |
+
2017-1-23: Created with FontForge (http://fontforge.org)
|
5 |
-->
|
6 |
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
|
7 |
<metadata>
|
8 |
+
Created by FontForge 20150302 at Mon Jan 23 11:13:46 2017
|
9 |
By Riccardo Strobbia
|
10 |
+
Copyright (c) 2017, Riccardo Strobbia
|
11 |
</metadata>
|
12 |
<defs>
|
13 |
<font id="onthegosystems-icons" horiz-adv-x="512" >
|
19 |
panose-1="2 0 5 3 0 0 0 0 0 0"
|
20 |
ascent="448"
|
21 |
descent="-64"
|
22 |
+
bbox="0 -64 2082.65 448"
|
23 |
underline-thickness="25.6"
|
24 |
underline-position="-51.2"
|
25 |
+
unicode-range="U+0020-F137"
|
26 |
/>
|
27 |
<missing-glyph />
|
28 |
<glyph glyph-name="space" unicode=" " horiz-adv-x="200"
|
65 |
<glyph glyph-name="uniF130" unicode=""
|
66 |
d="M204.961 -49.2695v102.285h421.251v-102.285h-421.251zM204.961 330.962v102.331h421.251v-102.331h-421.251zM204.961 140.846v102.331h421.251v-102.331h-421.251zM18.5225 -49.2695v102.285h133.262v-102.285h-133.262zM18.5225 330.962v102.331h133.262v-102.331
|
67 |
h-133.262zM18.5225 140.846v102.331h133.262v-102.331h-133.262z" />
|
68 |
+
<glyph glyph-name="uniF125" unicode=""
|
69 |
+
d="M270.061 278.381c47.4307 0 85.7793 -38.4131 85.7793 -85.7471c0 -62.7969 -72.333 -135.693 -75.4814 -138.938c-2.5791 -2.5791 -6.49609 -4.49316 -10.2979 -4.49316c-3.82715 0 -7.01367 1.34375 -10.2139 4.49316
|
70 |
+
c-3.19434 3.23828 -75.5264 76.1406 -75.5264 138.938c0 47.3281 38.4062 85.7471 85.7402 85.7471zM420.448 16.5762c-1.90137 -3.16211 -5.05664 -4.49316 -8.9668 -4.49316h-279.642c-3.2002 0 -7.02051 1.90723 -8.97266 4.49316
|
71 |
+
c-1.90723 3.23828 -2.53418 6.38672 -0.614258 9.63184l33.3057 79.2959c1.90039 3.92285 5.10742 6.49609 9.58105 6.49609h31.9863v-21.1777h-24.9658l-24.96 -58.2275h248.346l-25.0049 58.2275h-28.1406v21.1777h34.5469c4.47363 0 7.73145 -2.56641 9.63184 -6.49609
|
72 |
+
l33.3125 -79.2959c3.14844 -3.24512 2.47656 -7.05273 0.556641 -9.63184zM233.6 195.2c0 -20.7656 16.835 -37.6006 37.6006 -37.6006s37.5996 16.835 37.5996 37.6006s-16.834 37.5996 -37.5996 37.5996s-37.6006 -16.834 -37.6006 -37.5996z" />
|
73 |
<glyph glyph-name="uniF135" unicode=""
|
74 |
d="M672.731 -44.9854v476.32h476.538v-476.32h-476.538zM60.1328 -44.9854v476.32h476.451v-476.32h-476.451zM1308.57 -44.9854v476.32h476.581v-476.32h-476.581zM264.289 263.99h-0.783203l-50.2998 -24.0186l-10.3555 46.4268l70.4014 32.5469h50.8652v-264.551
|
75 |
h-59.8281v209.596zM826.414 54.3945v37.4199l33.7646 30.458c58.1758 52.2139 86.2842 81.8018 86.6758 112.738c0.0332031 0.585938 0.0595703 1.53613 0.0595703 2.12207c0 20.584 -16.7051 37.2891 -37.2891 37.2891c-1.63574 0 -4.27539 -0.208984 -5.89062 -0.467773
|
391 |
c-12.873 12.873 2.03027 18.8018 14.8857 31.6562c12.8545 12.8555 18.7832 27.7773 31.6562 14.9043zM512.218 379.737l18.4023 -24.6943l-30.7861 0.43457l-17.7686 -25.1113l-9.11914 29.3359l-29.3184 9.12012l25.0752 17.7861l-0.398438 30.75l24.6943 -18.4023
|
392 |
l29.0635 9.88086zM327.826 405.41l15.3203 -20.5244l-25.6191 0.327148l-14.8125 -20.9238l-7.5791 24.4775l-24.4766 7.57812l20.9229 14.8135l-0.326172 25.6191l20.5244 -15.3213l24.2588 8.23145zM476.463 268.322l9.33789 -12.5283l-15.6289 0.235352
|
393 |
l-8.95703 -12.6914l-4.58691 14.8311l-14.8672 4.62305l12.71 8.93848l-0.236328 15.6289l12.5293 -9.33691l14.7041 5.00391z" />
|
394 |
+
<glyph glyph-name="uniF137" unicode=""
|
395 |
+
d="M340.283 362.665h85.0703v-426.665h-425.354v426.665h85.0703v85.335h85.0713v-85.335h85.0703v85.335h85.0713v-85.335zM65.9414 104.803l65.2051 -65.4062v49.0303h114.185v32.752h-114.185v49.0293zM294.207 206.789h-114.081v-32.752h114.081v-49.0303
|
396 |
+
l65.2051 65.4062l-65.2051 65.4053v-49.0293zM294.207 219.341z" />
|
|
|
|
|
397 |
<glyph glyph-name="uniF12C" unicode=""
|
398 |
d="M20.8887 280.548v149.814h564.48v-149.814h-564.48zM20.8887 114.135v88.8184h564.48v-88.8184h-564.48zM20.8887 -46.3623v88.8184h564.48v-88.8184h-564.48z" />
|
399 |
<glyph glyph-name="uniF12A" unicode=""
|
library/toolset/onthego-resources/onthegosystems-icons/fonts/{onthegosystems-icons_91cc76c6ec19609541b007a2169151af.ttf → onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.ttf}
RENAMED
Binary file
|
library/toolset/onthego-resources/onthegosystems-icons/fonts/onthegosystems-icons_c2bf5434fb5ba6db313a98fb4e1bf347.woff
ADDED
Binary file
|
library/toolset/onthego-resources/onthegosystems-icons/vectors/toolset-export.svg
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="utf-8"?>
|
2 |
+
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
3 |
+
<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
4 |
+
x="0px" y="0px" viewBox="0 0 108 130" xml:space="preserve">
|
5 |
+
<g>
|
6 |
+
<g>
|
7 |
+
<polygon fill="#F05A29" points="86.4,21.667 86.4,0 64.8,0 64.8,21.667 43.2,21.667 43.2,0 21.6,0 21.6,21.667 0,21.667 0,130
|
8 |
+
108,130 108,21.667 "/>
|
9 |
+
</g>
|
10 |
+
<g>
|
11 |
+
<path fill="#FFFFFF" d="M16.743,87.14l16.556,16.607V91.298h28.992v-8.316H33.299V70.533L16.743,87.14z M74.701,61.245H45.735
|
12 |
+
v8.316h28.966V82.01l16.556-16.607L74.701,48.796V61.245z M74.701,58.058"/>
|
13 |
+
</g>
|
14 |
+
</g>
|
15 |
+
<g>
|
16 |
+
</g>
|
17 |
+
<g>
|
18 |
+
</g>
|
19 |
+
<g>
|
20 |
+
</g>
|
21 |
+
<g>
|
22 |
+
</g>
|
23 |
+
<g>
|
24 |
+
</g>
|
25 |
+
<g>
|
26 |
+
</g>
|
27 |
+
<g>
|
28 |
+
</g>
|
29 |
+
<g>
|
30 |
+
</g>
|
31 |
+
<g>
|
32 |
+
</g>
|
33 |
+
<g>
|
34 |
+
</g>
|
35 |
+
<g>
|
36 |
+
</g>
|
37 |
+
<g>
|
38 |
+
</g>
|
39 |
+
<g>
|
40 |
+
</g>
|
41 |
+
<g>
|
42 |
+
</g>
|
43 |
+
<g>
|
44 |
+
</g>
|
45 |
+
</svg>
|
library/toolset/toolset-common/autoload_classmap.php
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
return array(
|
4 |
+
'Toolset_Date_Utils' => TOOLSET_COMMON_PATH . '/inc/autoloaded/date_utils.php',
|
5 |
+
'Toolset_Result' => TOOLSET_COMMON_PATH . '/inc/autoloaded/result.php',
|
6 |
+
'Toolset_Result_Set' => TOOLSET_COMMON_PATH . '/inc/autoloaded/result_set.php',
|
7 |
+
'Toolset_Result_Updated' => TOOLSET_COMMON_PATH . '/inc/autoloaded/result_updated.php',
|
8 |
+
'Toolset_Admin_Notice_Abstract' => TOOLSET_COMMON_PATH . '/utility/admin/notice/abstract.php',
|
9 |
+
'Toolset_Admin_Notice_Error' => TOOLSET_COMMON_PATH . '/utility/admin/notice/error.php',
|
10 |
+
'Toolset_Admin_Notice_Interface' => TOOLSET_COMMON_PATH . '/utility/admin/notice/interface.php',
|
11 |
+
'Toolset_Admin_Notice_Required_Action' => TOOLSET_COMMON_PATH . '/utility/admin/notice/required/action.php',
|
12 |
+
'Toolset_Admin_Notice_Layouts_Help' => TOOLSET_COMMON_PATH . '/utility/admin/notice/layouts/help.php',
|
13 |
+
'Toolset_Admin_Notice_Success' => TOOLSET_COMMON_PATH . '/utility/admin/notice/success.php',
|
14 |
+
'Toolset_Admin_Notice_Warning' => TOOLSET_COMMON_PATH . '/utility/admin/notice/warning.php',
|
15 |
+
'Toolset_Admin_Notice_Dismissible' => TOOLSET_COMMON_PATH . '/utility/admin/notice/dismissible.php',
|
16 |
+
'Toolset_Admin_Notices_Manager' => TOOLSET_COMMON_PATH . '/utility/admin/notices/manager.php',
|
17 |
+
'Toolset_Common_Autoloader' => TOOLSET_COMMON_PATH . '/utility/autoloader.php',
|
18 |
+
'Toolset_Condition_Interface' => TOOLSET_COMMON_PATH . '/utility/condition/interface.php',
|
19 |
+
'Toolset_Condition_Plugin_Access_Active' => TOOLSET_COMMON_PATH . '/utility/condition/plugin/access/active.php',
|
20 |
+
'Toolset_Condition_Plugin_Access_Missing' => TOOLSET_COMMON_PATH . '/utility/condition/plugin/access/missing.php',
|
21 |
+
'Toolset_Condition_Plugin_Cred_Active' => TOOLSET_COMMON_PATH . '/utility/condition/plugin/cred/active.php',
|
22 |
+
'Toolset_Condition_Plugin_Cred_Missing' => TOOLSET_COMMON_PATH . '/utility/condition/plugin/cred/missing.php',
|
23 |
+
'Toolset_Condition_Plugin_Layouts_Active' => TOOLSET_COMMON_PATH . '/utility/condition/plugin/layouts/active.php',
|
24 |
+
'Toolset_Condition_Plugin_Layouts_Missing' => TOOLSET_COMMON_PATH . '/utility/condition/plugin/layouts/missing.php',
|
25 |
+
'Toolset_Condition_Plugin_Layouts_No_Items' => TOOLSET_COMMON_PATH . '/utility/condition/plugin/layouts/no-items.php',
|
26 |
+
'Toolset_Condition_Plugin_Types_Active' => TOOLSET_COMMON_PATH . '/utility/condition/plugin/types/active.php',
|
27 |
+
'Toolset_Condition_Plugin_Types_Missing' => TOOLSET_COMMON_PATH . '/utility/condition/plugin/types/missing.php',
|
28 |
+
'Toolset_Condition_Plugin_Views_Active' => TOOLSET_COMMON_PATH . '/utility/condition/plugin/views/active.php',
|
29 |
+
'Toolset_Condition_Plugin_Views_Missing' => TOOLSET_COMMON_PATH . '/utility/condition/plugin/views/missing.php',
|
30 |
+
'Toolset_Condition_Plugin_Encrypted_No_Valid_Theme' => TOOLSET_COMMON_PATH . '/utility/condition/plugin/encrypted/no-valid-theme.php',
|
31 |
+
'Toolset_Condition_Theme_Layouts_Support_Native_Available' => TOOLSET_COMMON_PATH . '/utility/condition/theme/layouts-support/native/available.php',
|
32 |
+
'Toolset_Condition_Theme_Layouts_Support_Native_Missing' => TOOLSET_COMMON_PATH . '/utility/condition/theme/layouts-support/native/missing.php',
|
33 |
+
'Toolset_Condition_Theme_Layouts_Support_Plugin_Available' => TOOLSET_COMMON_PATH . '/utility/condition/theme/layouts-support/plugin/available.php',
|
34 |
+
'Toolset_Condition_Theme_Layouts_Support_Plugin_Missing' => TOOLSET_COMMON_PATH . '/utility/condition/theme/layouts-support/plugin/missing.php',
|
35 |
+
'Toolset_Condition_Theme_Layouts_Support_Plugin_Not_Installed' => TOOLSET_COMMON_PATH . '/utility/condition/theme/layouts-support/plugin/not-installed.php',
|
36 |
+
'Toolset_Condition_Theme_Layouts_Support_Plugin_Not_Active' => TOOLSET_COMMON_PATH . '/utility/condition/theme/layouts-support/plugin/not-active.php',
|
37 |
+
'Toolset_Condition_Theme_Layouts_Support_Plugin_Active' => TOOLSET_COMMON_PATH . '/utility/condition/theme/layouts-support/plugin/active.php',
|
38 |
+
'Toolset_Condition_Theme_Layouts_Support_Theme_Installed' => TOOLSET_COMMON_PATH . '/utility/condition/theme/layouts-support/theme/installed.php',
|
39 |
+
'Toolset_Condition_Theme_Layouts_Support_Theme_Not_Active' => TOOLSET_COMMON_PATH . '/utility/condition/theme/layouts-support/theme/not-active.php',
|
40 |
+
'Toolset_Condition_Theme_Layouts_Support_Theme_Active' => TOOLSET_COMMON_PATH . '/utility/condition/theme/layouts-support/theme/active.php',
|
41 |
+
'Toolset_Condition_Theme_Toolset_Based_Active' => TOOLSET_COMMON_PATH . '/utility/condition/theme/toolset-based/active.php',
|
42 |
+
'Toolset_Condition_Theme_Toolset_Based_Inactive' => TOOLSET_COMMON_PATH . '/utility/condition/theme/toolset-based/inactive.php',
|
43 |
+
'Toolset_Condition_User_Role_Admin' => TOOLSET_COMMON_PATH . '/utility/condition/user/role/admin.php',
|
44 |
+
);
|
library/toolset/toolset-common/bootstrap.php
CHANGED
@@ -14,6 +14,7 @@
|
|
14 |
*
|
15 |
* New sections can be added here, following the same structure.
|
16 |
*
|
|
|
17 |
* Note that you have available the following constants:
|
18 |
* TOOLSET_COMMON_VERSION The Toolset Common version
|
19 |
* TOOLSET_COMMON_PATH The path to the active Toolset Common directory
|
@@ -48,6 +49,8 @@ class Toolset_Common_Bootstrap {
|
|
48 |
const TOOLSET_FORMS = 'toolset_forms';
|
49 |
const TOOLSET_VISUAL_EDITOR = 'toolset_visual_editor';
|
50 |
const TOOLSET_PARSER = 'toolset_parser';
|
|
|
|
|
51 |
const TOOLSET_RESOURCES = 'toolset_res';
|
52 |
const TOOLSET_LIBRARIES = 'toolset_lib';
|
53 |
const TOOLSET_INCLUDES = 'toolset_inc';
|
@@ -86,10 +89,12 @@ class Toolset_Common_Bootstrap {
|
|
86 |
|
87 |
/**
|
88 |
* Action when the Toolset Common Library is completely loaded.
|
|
|
|
|
89 |
*
|
90 |
-
* @since
|
91 |
*/
|
92 |
-
do_action( 'toolset_common_loaded' );
|
93 |
}
|
94 |
|
95 |
/**
|
@@ -115,7 +120,7 @@ class Toolset_Common_Bootstrap {
|
|
115 |
|
116 |
/**
|
117 |
* Determine if a given section is already loaded.
|
118 |
-
*
|
119 |
* @param string $section_name
|
120 |
* @return bool
|
121 |
* @since 2.1
|
@@ -127,7 +132,7 @@ class Toolset_Common_Bootstrap {
|
|
127 |
|
128 |
/**
|
129 |
* Add a section name to the list of the loaded ones.
|
130 |
-
*
|
131 |
* @param string $section_name
|
132 |
* @since 2.1
|
133 |
*/
|
@@ -138,8 +143,8 @@ class Toolset_Common_Bootstrap {
|
|
138 |
|
139 |
/**
|
140 |
* Decide whether a particular section needs to be loaded.
|
141 |
-
*
|
142 |
-
* @param string[] $sections_to_load Array of sections that should be loaded, or empty array to load all of them.
|
143 |
* @param string $section_name Name of a section.
|
144 |
* @return bool
|
145 |
* @since 2.1
|
@@ -151,7 +156,7 @@ class Toolset_Common_Bootstrap {
|
|
151 |
|
152 |
/**
|
153 |
* Apply a filter on the array of names loaded sections.
|
154 |
-
*
|
155 |
* @param string $filter_name Name of the filter.
|
156 |
* @since 2.1
|
157 |
*/
|
@@ -159,7 +164,7 @@ class Toolset_Common_Bootstrap {
|
|
159 |
self::$sections_loaded = apply_filters( $filter_name, self::$sections_loaded );
|
160 |
}
|
161 |
|
162 |
-
|
163 |
/**
|
164 |
* Load sections on demand
|
165 |
*
|
@@ -190,6 +195,16 @@ class Toolset_Common_Bootstrap {
|
|
190 |
$this->register_parser();
|
191 |
}
|
192 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
}
|
194 |
|
195 |
public function register_res() {
|
@@ -209,22 +224,22 @@ class Toolset_Common_Bootstrap {
|
|
209 |
|
210 |
$this->add_section_loaded( self::TOOLSET_LIBRARIES );
|
211 |
|
212 |
-
if ( ! class_exists( 'ICL_Array2XML' ) ) {
|
213 |
require_once( TOOLSET_COMMON_PATH . '/lib/array2xml.php' );
|
214 |
}
|
215 |
-
if ( ! class_exists( 'Zip' ) ) {
|
216 |
require_once( TOOLSET_COMMON_PATH . '/lib/Zip.php' );
|
217 |
}
|
218 |
if ( ! function_exists( 'adodb_date' ) ) {
|
219 |
require_once( TOOLSET_COMMON_PATH . '/lib/adodb-time.inc.php' );
|
220 |
}
|
221 |
-
if ( ! class_exists( 'Toolset_CakePHP_Validation' ) ) {
|
222 |
require_once( TOOLSET_COMMON_PATH . '/lib/cakephp.validation.class.php' );
|
223 |
}
|
224 |
-
if ( ! class_exists( 'Toolset_Validate' ) ) {
|
225 |
require_once( TOOLSET_COMMON_PATH . '/lib/validate.class.php' );
|
226 |
}
|
227 |
-
if ( ! class_exists( 'Toolset_Enlimbo_Forms' ) ) {
|
228 |
require_once( TOOLSET_COMMON_PATH . '/lib/enlimbo.forms.class.php' );
|
229 |
}
|
230 |
|
@@ -238,60 +253,83 @@ class Toolset_Common_Bootstrap {
|
|
238 |
|
239 |
$this->add_section_loaded( self::TOOLSET_INCLUDES );
|
240 |
|
241 |
-
|
|
|
|
|
242 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.settings.class.php' );
|
243 |
$this->settings = Toolset_Settings::get_instance();
|
244 |
}
|
245 |
-
if ( ! class_exists( 'Toolset_Localization' ) ) {
|
246 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.localization.class.php' );
|
247 |
$this->localization = new Toolset_Localization();
|
248 |
}
|
249 |
-
if ( ! class_exists( 'Toolset_WPLogger' ) ) {
|
250 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.wplogger.class.php' );
|
251 |
}
|
252 |
-
if ( ! class_exists( 'Toolset_Object_Relationship' ) ) {
|
253 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.object.relationship.class.php' );
|
254 |
$this->object_relationship = Toolset_Object_Relationship::get_instance();
|
255 |
}
|
256 |
-
if ( ! class_exists( 'Toolset_Settings_Screen' ) ) {
|
257 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.settings.screen.class.php' );
|
258 |
$this->settings_screen = new Toolset_Settings_Screen();
|
259 |
}
|
260 |
-
if ( ! class_exists( 'Toolset_Export_Import_Screen' ) ) {
|
261 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.export.import.screen.class.php' );
|
262 |
$this->export_import_screen = new Toolset_Export_Import_Screen();
|
263 |
}
|
264 |
-
if ( ! class_exists( 'Toolset_Menu' ) ) {
|
265 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.menu.class.php' );
|
266 |
$this->menu = new Toolset_Menu();
|
267 |
}
|
268 |
-
if ( ! class_exists( 'Toolset_Promotion' ) ) {
|
269 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.promotion.class.php' );
|
270 |
$this->promotion = new Toolset_Promotion();
|
271 |
}
|
272 |
-
if ( ! class_exists( 'Toolset_Admin_Bar_Menu' ) ) {
|
273 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.admin.bar.menu.class.php' );
|
|
|
|
|
|
|
|
|
274 |
global $toolset_admin_bar_menu;
|
275 |
$toolset_admin_bar_menu = Toolset_Admin_Bar_Menu::get_instance();
|
276 |
}
|
277 |
-
if ( ! class_exists( 'Toolset_Internal_Compatibility' ) ) {
|
278 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.internal.compatibility.class.php' );
|
279 |
$this->internal_compatibility = new Toolset_Internal_Compatibility();
|
280 |
}
|
281 |
-
if ( ! class_exists( 'Toolset_WPML_Compatibility' ) ) {
|
282 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.wpml.compatibility.class.php' );
|
283 |
-
|
284 |
}
|
285 |
-
if ( ! class_exists( 'Toolset_Relevanssi_Compatibility' ) ) {
|
286 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.relevanssi.compatibility.class.php' );
|
287 |
$this->relevanssi_compatibility = new Toolset_Relevanssi_Compatibility();
|
288 |
}
|
289 |
|
290 |
-
if ( ! class_exists( 'Toolset_CssComponent' ) ) {
|
291 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.css.component.class.php' );
|
292 |
$toolset_bs_component = Toolset_CssComponent::getInstance();
|
293 |
}
|
294 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.compatibility.php' );
|
296 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.function.helpers.php' );
|
297 |
require_once( TOOLSET_COMMON_PATH . '/deprecated.php' );
|
@@ -340,18 +378,26 @@ class Toolset_Common_Bootstrap {
|
|
340 |
}
|
341 |
|
342 |
public function register_toolset_forms() {
|
343 |
-
|
344 |
if ( ! $this->is_section_loaded( self::TOOLSET_FORMS ) ) {
|
345 |
$this->add_section_loaded( self::TOOLSET_FORMS );
|
346 |
-
if ( ! class_exists( 'WPToolset_Forms_Bootstrap' ) ) {
|
347 |
require_once TOOLSET_COMMON_PATH . '/toolset-forms/bootstrap.php';
|
348 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
349 |
$this->apply_filters_on_sections_loaded( 'toolset_register_forms_section' );
|
350 |
}
|
351 |
}
|
352 |
|
353 |
public function register_visual_editor() {
|
354 |
-
|
355 |
if ( ! $this->is_section_loaded( self::TOOLSET_VISUAL_EDITOR ) ) {
|
356 |
$this->add_section_loaded( self::TOOLSET_VISUAL_EDITOR );
|
357 |
require_once( TOOLSET_COMMON_PATH . '/visual-editor/editor-addon-generic.class.php' );
|
@@ -362,16 +408,59 @@ class Toolset_Common_Bootstrap {
|
|
362 |
}
|
363 |
|
364 |
public function register_parser() {
|
365 |
-
|
366 |
if ( ! $this->is_section_loaded( self::TOOLSET_PARSER ) ) {
|
367 |
$this->add_section_loaded( self::TOOLSET_PARSER );
|
368 |
-
if ( ! class_exists( 'Toolset_Regex' ) ) {
|
369 |
require_once( TOOLSET_COMMON_PATH . '/expression-parser/parser.php' );
|
370 |
}
|
371 |
$this->apply_filters_on_sections_loaded( 'toolset_register_parsers_section' );
|
372 |
}
|
373 |
}
|
374 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
375 |
public function clear_settings_instance() {
|
376 |
Toolset_Settings::clear_instance();
|
377 |
}
|
14 |
*
|
15 |
* New sections can be added here, following the same structure.
|
16 |
*
|
17 |
+
*
|
18 |
* Note that you have available the following constants:
|
19 |
* TOOLSET_COMMON_VERSION The Toolset Common version
|
20 |
* TOOLSET_COMMON_PATH The path to the active Toolset Common directory
|
49 |
const TOOLSET_FORMS = 'toolset_forms';
|
50 |
const TOOLSET_VISUAL_EDITOR = 'toolset_visual_editor';
|
51 |
const TOOLSET_PARSER = 'toolset_parser';
|
52 |
+
const TOOLSET_USER_EDITOR = 'toolset_user_editor';
|
53 |
+
const TOOLSET_SHORTCODE_GENERATOR = 'toolset_shortcode_generator';
|
54 |
const TOOLSET_RESOURCES = 'toolset_res';
|
55 |
const TOOLSET_LIBRARIES = 'toolset_lib';
|
56 |
const TOOLSET_INCLUDES = 'toolset_inc';
|
89 |
|
90 |
/**
|
91 |
* Action when the Toolset Common Library is completely loaded.
|
92 |
+
*
|
93 |
+
* @param Toolset_Common_Bootstrap instance
|
94 |
*
|
95 |
+
* @since 2.3.0
|
96 |
*/
|
97 |
+
do_action( 'toolset_common_loaded', $this );
|
98 |
}
|
99 |
|
100 |
/**
|
120 |
|
121 |
/**
|
122 |
* Determine if a given section is already loaded.
|
123 |
+
*
|
124 |
* @param string $section_name
|
125 |
* @return bool
|
126 |
* @since 2.1
|
132 |
|
133 |
/**
|
134 |
* Add a section name to the list of the loaded ones.
|
135 |
+
*
|
136 |
* @param string $section_name
|
137 |
* @since 2.1
|
138 |
*/
|
143 |
|
144 |
/**
|
145 |
* Decide whether a particular section needs to be loaded.
|
146 |
+
*
|
147 |
+
* @param string[] $sections_to_load Array of sections that should be loaded, or empty array to load all of them.
|
148 |
* @param string $section_name Name of a section.
|
149 |
* @return bool
|
150 |
* @since 2.1
|
156 |
|
157 |
/**
|
158 |
* Apply a filter on the array of names loaded sections.
|
159 |
+
*
|
160 |
* @param string $filter_name Name of the filter.
|
161 |
* @since 2.1
|
162 |
*/
|
164 |
self::$sections_loaded = apply_filters( $filter_name, self::$sections_loaded );
|
165 |
}
|
166 |
|
167 |
+
|
168 |
/**
|
169 |
* Load sections on demand
|
170 |
*
|
195 |
$this->register_parser();
|
196 |
}
|
197 |
|
198 |
+
// Maybe register the editor addon
|
199 |
+
if ( $this->should_load_section( $load, self::TOOLSET_USER_EDITOR ) ) {
|
200 |
+
$this->register_user_editor();
|
201 |
+
}
|
202 |
+
|
203 |
+
// Maybe register the editor addon
|
204 |
+
if ( $this->should_load_section( $load, self::TOOLSET_SHORTCODE_GENERATOR ) ) {
|
205 |
+
$this->register_shortcode_generator();
|
206 |
+
}
|
207 |
+
|
208 |
}
|
209 |
|
210 |
public function register_res() {
|
224 |
|
225 |
$this->add_section_loaded( self::TOOLSET_LIBRARIES );
|
226 |
|
227 |
+
if ( ! class_exists( 'ICL_Array2XML', false ) ) {
|
228 |
require_once( TOOLSET_COMMON_PATH . '/lib/array2xml.php' );
|
229 |
}
|
230 |
+
if ( ! class_exists( 'Zip', false ) ) {
|
231 |
require_once( TOOLSET_COMMON_PATH . '/lib/Zip.php' );
|
232 |
}
|
233 |
if ( ! function_exists( 'adodb_date' ) ) {
|
234 |
require_once( TOOLSET_COMMON_PATH . '/lib/adodb-time.inc.php' );
|
235 |
}
|
236 |
+
if ( ! class_exists( 'Toolset_CakePHP_Validation', false ) ) {
|
237 |
require_once( TOOLSET_COMMON_PATH . '/lib/cakephp.validation.class.php' );
|
238 |
}
|
239 |
+
if ( ! class_exists( 'Toolset_Validate', false ) ) {
|
240 |
require_once( TOOLSET_COMMON_PATH . '/lib/validate.class.php' );
|
241 |
}
|
242 |
+
if ( ! class_exists( 'Toolset_Enlimbo_Forms', false ) ) {
|
243 |
require_once( TOOLSET_COMMON_PATH . '/lib/enlimbo.forms.class.php' );
|
244 |
}
|
245 |
|
253 |
|
254 |
$this->add_section_loaded( self::TOOLSET_INCLUDES );
|
255 |
|
256 |
+
$this->register_autoloaded_classes();
|
257 |
+
|
258 |
+
if ( ! class_exists( 'Toolset_Settings', false ) ) {
|
259 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.settings.class.php' );
|
260 |
$this->settings = Toolset_Settings::get_instance();
|
261 |
}
|
262 |
+
if ( ! class_exists( 'Toolset_Localization', false ) ) {
|
263 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.localization.class.php' );
|
264 |
$this->localization = new Toolset_Localization();
|
265 |
}
|
266 |
+
if ( ! class_exists( 'Toolset_WPLogger', false ) ) {
|
267 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.wplogger.class.php' );
|
268 |
}
|
269 |
+
if ( ! class_exists( 'Toolset_Object_Relationship', false ) ) {
|
270 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.object.relationship.class.php' );
|
271 |
$this->object_relationship = Toolset_Object_Relationship::get_instance();
|
272 |
}
|
273 |
+
if ( ! class_exists( 'Toolset_Settings_Screen', false ) ) {
|
274 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.settings.screen.class.php' );
|
275 |
$this->settings_screen = new Toolset_Settings_Screen();
|
276 |
}
|
277 |
+
if ( ! class_exists( 'Toolset_Export_Import_Screen', false ) ) {
|
278 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.export.import.screen.class.php' );
|
279 |
$this->export_import_screen = new Toolset_Export_Import_Screen();
|
280 |
}
|
281 |
+
if ( ! class_exists( 'Toolset_Menu', false ) ) {
|
282 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.menu.class.php' );
|
283 |
$this->menu = new Toolset_Menu();
|
284 |
}
|
285 |
+
if ( ! class_exists( 'Toolset_Promotion', false ) ) {
|
286 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.promotion.class.php' );
|
287 |
$this->promotion = new Toolset_Promotion();
|
288 |
}
|
289 |
+
if ( ! class_exists( 'Toolset_Admin_Bar_Menu', false ) ) {
|
290 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.admin.bar.menu.class.php' );
|
291 |
+
/**
|
292 |
+
* @var Toolset_Admin_Bar_Menu $toolset_admin_bar_menu
|
293 |
+
* @deprecated Please use Toolset_Admin_Bar_Menu::get_instance() instead of this global variable.
|
294 |
+
*/
|
295 |
global $toolset_admin_bar_menu;
|
296 |
$toolset_admin_bar_menu = Toolset_Admin_Bar_Menu::get_instance();
|
297 |
}
|
298 |
+
if ( ! class_exists( 'Toolset_Internal_Compatibility', false ) ) {
|
299 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.internal.compatibility.class.php' );
|
300 |
$this->internal_compatibility = new Toolset_Internal_Compatibility();
|
301 |
}
|
302 |
+
if ( ! class_exists( 'Toolset_WPML_Compatibility', false ) ) {
|
303 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.wpml.compatibility.class.php' );
|
304 |
+
Toolset_WPML_Compatibility::initialize();
|
305 |
}
|
306 |
+
if ( ! class_exists( 'Toolset_Relevanssi_Compatibility', false ) ) {
|
307 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.relevanssi.compatibility.class.php' );
|
308 |
$this->relevanssi_compatibility = new Toolset_Relevanssi_Compatibility();
|
309 |
}
|
310 |
|
311 |
+
if ( ! class_exists( 'Toolset_CssComponent', false ) ) {
|
312 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.css.component.class.php' );
|
313 |
$toolset_bs_component = Toolset_CssComponent::getInstance();
|
314 |
}
|
315 |
|
316 |
+
if ( ! class_exists( 'Toolset_Bootstrap_Loader', false ) ) {
|
317 |
+
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.bootstrap.loader.class.php' );
|
318 |
+
$toolset_load_bootstrap = Toolset_Bootstrap_Loader::getInstance();
|
319 |
+
}
|
320 |
+
|
321 |
+
// Load Admin Notices Manager
|
322 |
+
if( ! class_exists( 'Toolset_Admin_Notices_Manager', false ) ) {
|
323 |
+
require_once( TOOLSET_COMMON_PATH . '/utility/admin/notices/manager.php' );
|
324 |
+
Toolset_Admin_Notices_Manager::init();
|
325 |
+
}
|
326 |
+
|
327 |
+
// Load Admin Notices Controller (user of our Toolset_Admin_Notices_Manager)
|
328 |
+
if( ! class_exists( 'Toolset_Controller_Admin_Notices', false ) ) {
|
329 |
+
require_once( TOOLSET_COMMON_PATH . '/inc/controller/admin/notices.php' );
|
330 |
+
new Toolset_Controller_Admin_Notices();
|
331 |
+
}
|
332 |
+
|
333 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.compatibility.php' );
|
334 |
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.function.helpers.php' );
|
335 |
require_once( TOOLSET_COMMON_PATH . '/deprecated.php' );
|
378 |
}
|
379 |
|
380 |
public function register_toolset_forms() {
|
381 |
+
|
382 |
if ( ! $this->is_section_loaded( self::TOOLSET_FORMS ) ) {
|
383 |
$this->add_section_loaded( self::TOOLSET_FORMS );
|
384 |
+
if ( ! class_exists( 'WPToolset_Forms_Bootstrap', false ) ) {
|
385 |
require_once TOOLSET_COMMON_PATH . '/toolset-forms/bootstrap.php';
|
386 |
}
|
387 |
+
|
388 |
+
// It is possible to regenerate the classmap with Zend framework.
|
389 |
+
//
|
390 |
+
// cd toolset-forms
|
391 |
+
// /.../ZendFramework/bin/classmap_generator.php --overwrite
|
392 |
+
$classmap = include( TOOLSET_COMMON_PATH . '/toolset-forms/autoload_classmap.php' );
|
393 |
+
do_action( 'toolset_register_classmap', $classmap );
|
394 |
+
|
395 |
$this->apply_filters_on_sections_loaded( 'toolset_register_forms_section' );
|
396 |
}
|
397 |
}
|
398 |
|
399 |
public function register_visual_editor() {
|
400 |
+
|
401 |
if ( ! $this->is_section_loaded( self::TOOLSET_VISUAL_EDITOR ) ) {
|
402 |
$this->add_section_loaded( self::TOOLSET_VISUAL_EDITOR );
|
403 |
require_once( TOOLSET_COMMON_PATH . '/visual-editor/editor-addon-generic.class.php' );
|
408 |
}
|
409 |
|
410 |
public function register_parser() {
|
411 |
+
|
412 |
if ( ! $this->is_section_loaded( self::TOOLSET_PARSER ) ) {
|
413 |
$this->add_section_loaded( self::TOOLSET_PARSER );
|
414 |
+
if ( ! class_exists( 'Toolset_Regex', false ) ) {
|
415 |
require_once( TOOLSET_COMMON_PATH . '/expression-parser/parser.php' );
|
416 |
}
|
417 |
$this->apply_filters_on_sections_loaded( 'toolset_register_parsers_section' );
|
418 |
}
|
419 |
}
|
420 |
|
421 |
+
|
422 |
+
public function register_user_editor() {
|
423 |
+
|
424 |
+
if ( ! $this->is_section_loaded( self::TOOLSET_USER_EDITOR ) ) {
|
425 |
+
$this->add_section_loaded( self::TOOLSET_USER_EDITOR );
|
426 |
+
require_once( TOOLSET_COMMON_PATH . '/user-editors/beta.php' );
|
427 |
+
$this->apply_filters_on_sections_loaded( 'toolset_register_user_editor_section' );
|
428 |
+
}
|
429 |
+
}
|
430 |
+
|
431 |
+
public function register_shortcode_generator() {
|
432 |
+
|
433 |
+
if ( ! $this->is_section_loaded( self::TOOLSET_SHORTCODE_GENERATOR ) ) {
|
434 |
+
$this->add_section_loaded( self::TOOLSET_SHORTCODE_GENERATOR );
|
435 |
+
require_once( TOOLSET_COMMON_PATH . '/inc/toolset.shortcode.generator.class.php' );
|
436 |
+
$this->apply_filters_on_sections_loaded( 'toolset_register_shortcode_generator_section' );
|
437 |
+
}
|
438 |
+
}
|
439 |
+
|
440 |
+
|
441 |
+
/**
|
442 |
+
* Add classes from the inc/autoloaded directory to the autoloader classmap.
|
443 |
+
*
|
444 |
+
* @since 2.3
|
445 |
+
*/
|
446 |
+
private function register_autoloaded_classes() {
|
447 |
+
$autoload_classmap_file = TOOLSET_COMMON_PATH . '/autoload_classmap.php';
|
448 |
+
|
449 |
+
if( ! is_file( $autoload_classmap_file ) ) {
|
450 |
+
// abort if file does not exist
|
451 |
+
return;
|
452 |
+
}
|
453 |
+
|
454 |
+
$autoload_classmap = include( $autoload_classmap_file );
|
455 |
+
|
456 |
+
if( is_array( $autoload_classmap ) ) {
|
457 |
+
// Register autoloaded classes.
|
458 |
+
$autoloader = Toolset_Common_Autoloader::get_instance();
|
459 |
+
$autoloader->register_classmap( $autoload_classmap );
|
460 |
+
}
|
461 |
+
}
|
462 |
+
|
463 |
+
|
464 |
public function clear_settings_instance() {
|
465 |
Toolset_Settings::clear_instance();
|
466 |
}
|
library/toolset/toolset-common/changelog.md
CHANGED
@@ -1,11 +1,28 @@
|
|
1 |
# Toolset Common Library
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
## 2.3.0
|
4 |
|
|
|
5 |
- Extend the post objects relationships management with two actions to gather data on demand.
|
6 |
- Only include the jQuery datepicker stylesheet on demand when the current page contains a datepicker from Toolset.
|
7 |
- Include the user editors in the common bootstrap class.
|
8 |
-
- Include knockout.js
|
|
|
|
|
|
|
|
|
9 |
|
10 |
## 2.2.10
|
11 |
|
1 |
# Toolset Common Library
|
2 |
|
3 |
+
# 2.3
|
4 |
+
|
5 |
+
- Various fixes and adjustments for CRED 1.8.6
|
6 |
+
|
7 |
+
## 2.3-Beta3
|
8 |
+
|
9 |
+
- Adds callback methods for wpPointer object onOpen and onClose
|
10 |
+
|
11 |
+
## 2.3-Beta2
|
12 |
+
|
13 |
+
- Allows user to ask Toolset to load Bootstrap library for them, or alternatively set the Bootstrap version they are using on their own
|
14 |
+
|
15 |
## 2.3.0
|
16 |
|
17 |
+
- layouts-1239: Added Toolset_Admin_Notice_Layouts_Help
|
18 |
- Extend the post objects relationships management with two actions to gather data on demand.
|
19 |
- Only include the jQuery datepicker stylesheet on demand when the current page contains a datepicker from Toolset.
|
20 |
- Include the user editors in the common bootstrap class.
|
21 |
+
- toolsetcommon-127: Include knockout.js
|
22 |
+
- toolsetcommon-139: Clean up Toolset_Assets_Manager and define constants for asset handles
|
23 |
+
- toolsetcommon-144: Added Toolset_Admin_Notices_Manager
|
24 |
+
- toolsetcommon-137: Make the toolset-forms classes autoloaded.
|
25 |
+
- toolsetcommon-140: Improve a way to detect the status of WPML.
|
26 |
|
27 |
## 2.2.10
|
28 |
|
library/toolset/toolset-common/classes/forms.php
CHANGED
@@ -202,7 +202,7 @@ if (!class_exists('Enlimbo_Forms_Wpcf')) {
|
|
202 |
/**
|
203 |
* Renders form.
|
204 |
*
|
205 |
-
* @return
|
206 |
*/
|
207 |
public function renderForm()
|
208 |
{
|
@@ -242,7 +242,7 @@ if (!class_exists('Enlimbo_Forms_Wpcf')) {
|
|
242 |
* Renders elements.
|
243 |
*
|
244 |
* @param type $elements
|
245 |
-
* @return
|
246 |
*/
|
247 |
public function renderElements($elements)
|
248 |
{
|
202 |
/**
|
203 |
* Renders form.
|
204 |
*
|
205 |
+
* @return string
|
206 |
*/
|
207 |
public function renderForm()
|
208 |
{
|
242 |
* Renders elements.
|
243 |
*
|
244 |
* @param type $elements
|
245 |
+
* @return string
|
246 |
*/
|
247 |
public function renderElements($elements)
|
248 |
{
|
library/toolset/toolset-common/debug/debug-information.php
CHANGED
@@ -24,7 +24,9 @@ $debug_data = $debug_information->get_debug_info();
|
|
24 |
<div class="wrap">
|
25 |
<h1><?php _e('Toolset Debug Information', 'wpv-views');?></h1>
|
26 |
<div class="inside">
|
27 |
-
<p><?php _e( '
|
|
|
|
|
28 |
<textarea style="font-size:10px;width:100%;height:250px;" rows="26" readonly="readonly"><?php echo esc_html( $debug_information->do_json_encode( $debug_data ) );?></textarea>
|
29 |
</div>
|
30 |
</div>
|
24 |
<div class="wrap">
|
25 |
<h1><?php _e('Toolset Debug Information', 'wpv-views');?></h1>
|
26 |
<div class="inside">
|
27 |
+
<p><?php _e( 'The information below allows our support team to see the versions of WordPress, plugins and themes installed in your site.', 'wpv-views' ) ?></p>
|
28 |
+
<p><?php _e( 'Please, provide this information if requested in our support forum.', 'wpv-views' ) ?></p>
|
29 |
+
<p><?php _e( 'No passwords or any other confidential information is included.', 'wpv-views' ) ?></p>
|
30 |
<textarea style="font-size:10px;width:100%;height:250px;" rows="26" readonly="readonly"><?php echo esc_html( $debug_information->do_json_encode( $debug_data ) );?></textarea>
|
31 |
</div>
|
32 |
</div>
|
library/toolset/toolset-common/inc/autoloaded/date_utils.php
ADDED
@@ -0,0 +1,306 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Helper class for unified manipulation with timestamps, dates and date formats.
|
5 |
+
*
|
6 |
+
* On several occasions, we're dealing with time formats that are used for custom field date pickers. In this case,
|
7 |
+
* the options for date formatting are far more limited than what PHP date() function offers by jQuery UI Datepicker
|
8 |
+
* possibilities (see here: https://api.jqueryui.com/datepicker/#utility-formatDate).
|
9 |
+
*
|
10 |
+
* This class provides - among other things - a list of safe default date formats and methods for working with them,
|
11 |
+
* including the conversion to jQuery UI Datepicker format string.
|
12 |
+
*
|
13 |
+
* @since 2.3
|
14 |
+
*/
|
15 |
+
class Toolset_Date_Utils {
|
16 |
+
|
17 |
+
private static $instance;
|
18 |
+
|
19 |
+
public static function get_instance() {
|
20 |
+
if( null == self::$instance ) {
|
21 |
+
self::$instance = new self();
|
22 |
+
}
|
23 |
+
return self::$instance;
|
24 |
+
}
|
25 |
+
|
26 |
+
private function __construct() { }
|
27 |
+
|
28 |
+
private function __clone() { }
|
29 |
+
|
30 |
+
|
31 |
+
// Date format properties
|
32 |
+
|
33 |
+
/** Human-readable description of a date format. */
|
34 |
+
const DESCRIPTION = 'description';
|
35 |
+
const TIME_FORMAT = 'time_format';
|
36 |
+
const DISPLAY_IN_DIALOGS = 'display_in_dialogs';
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @var array Default supported date formats.
|
40 |
+
*/
|
41 |
+
private $supported_date_formats_defaults = array(
|
42 |
+
'F j, Y' => array(
|
43 |
+
self::DESCRIPTION => 'Month dd, yyyy',
|
44 |
+
self::TIME_FORMAT => 'g:i a',
|
45 |
+
self::DISPLAY_IN_DIALOGS => true
|
46 |
+
),
|
47 |
+
'Y/m/d' => array(
|
48 |
+
self::DESCRIPTION => 'yyyy/mm/dd',
|
49 |
+
self::TIME_FORMAT => 'g:i a',
|
50 |
+
self::DISPLAY_IN_DIALOGS => true
|
51 |
+
),
|
52 |
+
'm/d/Y' => array(
|
53 |
+
self::DESCRIPTION => 'mm/dd/yyyy',
|
54 |
+
self::TIME_FORMAT => 'h:i a',
|
55 |
+
self::DISPLAY_IN_DIALOGS => true
|
56 |
+
),
|
57 |
+
'd/m/Y' => array(
|
58 |
+
self::DESCRIPTION => 'dd/mm/yyyy',
|
59 |
+
self::TIME_FORMAT => 'G:i',
|
60 |
+
self::DISPLAY_IN_DIALOGS => true
|
61 |
+
),
|
62 |
+
'd/m/y' => array(
|
63 |
+
self::DESCRIPTION => 'dd/mm/yy',
|
64 |
+
self::TIME_FORMAT => 'H:i',
|
65 |
+
self::DISPLAY_IN_DIALOGS => true
|
66 |
+
),
|
67 |
+
'Y/n/j' => array(
|
68 |
+
self::DESCRIPTION => 'yyyy/m/d',
|
69 |
+
self::TIME_FORMAT => 'g:i a',
|
70 |
+
self::DISPLAY_IN_DIALOGS => false
|
71 |
+
),
|
72 |
+
'd.m.Y' => array(
|
73 |
+
self::DESCRIPTION => 'dd.mm.yyyy',
|
74 |
+
self::TIME_FORMAT => 'G:i',
|
75 |
+
self::DISPLAY_IN_DIALOGS => false
|
76 |
+
),
|
77 |
+
'j.n.Y' => array(
|
78 |
+
self::DESCRIPTION => 'd.m.yyyy',
|
79 |
+
self::TIME_FORMAT => 'H:i',
|
80 |
+
self::DISPLAY_IN_DIALOGS => false
|
81 |
+
),
|
82 |
+
'Y-m-d' => array(
|
83 |
+
self::DESCRIPTION => 'yyyy-mm-dd',
|
84 |
+
self::TIME_FORMAT => 'G:i',
|
85 |
+
self::DISPLAY_IN_DIALOGS => false
|
86 |
+
),
|
87 |
+
'j F Y' => array(
|
88 |
+
self::DESCRIPTION => 'dd Month yyyy',
|
89 |
+
self::TIME_FORMAT => 'g:i a',
|
90 |
+
self::DISPLAY_IN_DIALOGS => false
|
91 |
+
)
|
92 |
+
);
|
93 |
+
|
94 |
+
|
95 |
+
/**
|
96 |
+
* @var null|array Supported date formats, once generated from defaults, will be cached here.
|
97 |
+
*/
|
98 |
+
private $supported_date_formats = null;
|
99 |
+
|
100 |
+
|
101 |
+
// Return values for get_supported_date_formats()
|
102 |
+
const FORMAT_FULL = 'full';
|
103 |
+
const FORMAT_VALUES_ONLY = 'values';
|
104 |
+
const FORMAT_VALUES_DESCRIPTIONS_ARRAY = 'values_descriptions';
|
105 |
+
|
106 |
+
|
107 |
+
/**
|
108 |
+
* Get an array of supported date formats.
|
109 |
+
*
|
110 |
+
* When called the first time, it will run the date format defaults through a filter and cache the result.
|
111 |
+
* This allows third-party plugins or custom code to add new possibilities (but at their own risk - Toolset expects
|
112 |
+
* that everything the filter returns is valid).
|
113 |
+
*
|
114 |
+
* @param string $format Determines how the result will be shaped:
|
115 |
+
* - FORMAT_FULL returns an array with date formats as keys and arrays with date format attributes as values
|
116 |
+
* - FORMAT_VALUES_ONLY returns a flat array of date formats
|
117 |
+
* - FORMAT_VALUES_DESCRIPTIONS_ARRAY returns a "format => description" array (used in legacy code)
|
118 |
+
*
|
119 |
+
* @return array
|
120 |
+
*/
|
121 |
+
public function get_supported_date_formats( $format = self::FORMAT_FULL, $display_only = false ) {
|
122 |
+
if( null == $this->supported_date_formats ) {
|
123 |
+
|
124 |
+
/**
|
125 |
+
* toolset_supported_date_formats
|
126 |
+
*
|
127 |
+
* Allows for modifying the array of supported date formats. Check out $this->supported_date_formats_defaults
|
128 |
+
* to see how the array is shaped.
|
129 |
+
*
|
130 |
+
* @param array $supported_date_formats
|
131 |
+
* @since 2.3
|
132 |
+
*/
|
133 |
+
$this->supported_date_formats = apply_filters( 'toolset_supported_date_formats', $this->supported_date_formats_defaults );
|
134 |
+
}
|
135 |
+
|
136 |
+
$selected_date_formats = $this->supported_date_formats;
|
137 |
+
|
138 |
+
// When displaying options, we don't want to show everything we support (too many options)
|
139 |
+
if( $display_only ) {
|
140 |
+
foreach( $selected_date_formats as $date_format => $attributes ) {
|
141 |
+
if( ! toolset_getarr( $attributes, self::DISPLAY_IN_DIALOGS, true ) ) {
|
142 |
+
unset( $selected_date_formats[ $date_format ] );
|
143 |
+
}
|
144 |
+
}
|
145 |
+
}
|
146 |
+
|
147 |
+
switch( $format ) {
|
148 |
+
case self::FORMAT_VALUES_ONLY:
|
149 |
+
return array_keys( $selected_date_formats );
|
150 |
+
case self::FORMAT_VALUES_DESCRIPTIONS_ARRAY:
|
151 |
+
$results = array();
|
152 |
+
foreach( $selected_date_formats as $format => $format_args ) {
|
153 |
+
$results[ $format ] = toolset_getarr( $format_args, self::DESCRIPTION, $format );
|
154 |
+
}
|
155 |
+
return $results;
|
156 |
+
case self::FORMAT_FULL:
|
157 |
+
default:
|
158 |
+
return $selected_date_formats;
|
159 |
+
}
|
160 |
+
}
|
161 |
+
|
162 |
+
|
163 |
+
/**
|
164 |
+
* Get the default, allways valid, date format if all else fails.
|
165 |
+
* @return string
|
166 |
+
*/
|
167 |
+
public function get_default_date_format() {
|
168 |
+
return 'F j, Y';
|
169 |
+
}
|
170 |
+
|
171 |
+
|
172 |
+
/**
|
173 |
+
* Get the date format as configured in WordPress settings or a default one if the configured one isn't supported
|
174 |
+
* by Toolset.
|
175 |
+
*
|
176 |
+
* @return string
|
177 |
+
*/
|
178 |
+
public function get_supported_date_format() {
|
179 |
+
$wp_date_format = get_option( 'date_format' );
|
180 |
+
if ( ! $this->is_date_format_supported( $wp_date_format ) ) {
|
181 |
+
return $this->get_default_date_format();
|
182 |
+
}
|
183 |
+
|
184 |
+
return $wp_date_format;
|
185 |
+
}
|
186 |
+
|
187 |
+
|
188 |
+
/**
|
189 |
+
* Check if a particular date format is supported by Toolset.
|
190 |
+
*
|
191 |
+
* @param string $format
|
192 |
+
* @return bool
|
193 |
+
*/
|
194 |
+
public function is_date_format_supported( $format ) {
|
195 |
+
$supported_formats = $this->get_supported_date_formats( self::FORMAT_VALUES_ONLY );
|
196 |
+
return in_array( $format, $supported_formats );
|
197 |
+
}
|
198 |
+
|
199 |
+
|
200 |
+
// Map for converting from PHP date format string to the jQuery UI Datepicker one.
|
201 |
+
//
|
202 |
+
// Careful about ordering of array elements. If a character is on the right side, it can never
|
203 |
+
// be used on the left side afterwards.
|
204 |
+
private static $date_format_map = array(
|
205 |
+
'd' => 'dd',
|
206 |
+
'j' => 'd',
|
207 |
+
'D' => 'D',
|
208 |
+
'l' => 'DD',
|
209 |
+
'm' => 'mm',
|
210 |
+
'n' => 'm',
|
211 |
+
'M' => 'M',
|
212 |
+
'F' => 'MM',
|
213 |
+
'y' => 'y',
|
214 |
+
'Y' => 'yy',
|
215 |
+
'z' => 'o',
|
216 |
+
);
|
217 |
+
|
218 |
+
|
219 |
+
/**
|
220 |
+
* Convert a date format string from PHP to jQuery UI Datepicker.
|
221 |
+
*
|
222 |
+
* Only format characters specified in self::$date_format_map will be properly converted.
|
223 |
+
* The result is run through a filter.
|
224 |
+
*
|
225 |
+
* @param $php_date_format
|
226 |
+
* @return string
|
227 |
+
*/
|
228 |
+
public function convert_to_js_date_format( $php_date_format ) {
|
229 |
+
|
230 |
+
$date_format = $php_date_format;
|
231 |
+
|
232 |
+
foreach( self::$date_format_map as $from_string => $to_string ) {
|
233 |
+
$date_format = str_replace( $from_string, $to_string, $date_format );
|
234 |
+
}
|
235 |
+
|
236 |
+
/**
|
237 |
+
* toolset_convert_date_format_to_js
|
238 |
+
*
|
239 |
+
* Applied on a date format string after it is converted for jQuery UI Datepicker.
|
240 |
+
*
|
241 |
+
* @param string $date_format Converted string with the JS date format.
|
242 |
+
* @param string $php_date_format Original PHP date format.
|
243 |
+
* @since 2.3
|
244 |
+
*/
|
245 |
+
$date_format = apply_filters( 'toolset_convert_date_format_to_js', $date_format, $php_date_format );
|
246 |
+
|
247 |
+
return $date_format;
|
248 |
+
}
|
249 |
+
|
250 |
+
|
251 |
+
// 15/10/1582 00:00 - 31/12/3000 23:59
|
252 |
+
const TIMESTAMP_LOWER_BOUNDARY = -12219292800;
|
253 |
+
const TIMESTAMP_UPPER_BOUNDARY = 32535215940;
|
254 |
+
|
255 |
+
|
256 |
+
/**
|
257 |
+
* Check if a timestamp is in the range supported by Toolset.
|
258 |
+
*
|
259 |
+
* @param int $timestamp
|
260 |
+
* @return bool
|
261 |
+
* @since 2.3
|
262 |
+
*/
|
263 |
+
public function is_timestamp_in_range( $timestamp ) {
|
264 |
+
return self::TIMESTAMP_LOWER_BOUNDARY <= $timestamp && $timestamp <= self::TIMESTAMP_UPPER_BOUNDARY;
|
265 |
+
}
|
266 |
+
|
267 |
+
|
268 |
+
/**
|
269 |
+
* Process a date format string with custom escaping characters and turn it into a standard
|
270 |
+
* date format string as accepted by date().
|
271 |
+
*
|
272 |
+
* We needed to provide an alternative for backslash in date format strings (because WordPress
|
273 |
+
* gradually strips backslashes from postmeta, where [types] shortcodes might be stored).
|
274 |
+
*
|
275 |
+
* The custom escaping character is '%'. Here, it will be converted to '\'.
|
276 |
+
* If, for some strange reason, the user needs to print '%', they can use '%%' instead.
|
277 |
+
*
|
278 |
+
* @param $original_format_string
|
279 |
+
* @return string
|
280 |
+
* @since 2.3
|
281 |
+
*/
|
282 |
+
public function process_custom_escaping_characters_on_format_string( $original_format_string ) {
|
283 |
+
|
284 |
+
// Match escaping characters (but not when there's more of them in a sequence)
|
285 |
+
// and replace them by single backslashes.
|
286 |
+
$format_string = preg_replace( '/([^%]|^)(%)((?!%))/', '\\1\\', $original_format_string );
|
287 |
+
|
288 |
+
// Match '%%' and replace them with single character '%'.
|
289 |
+
$format_string = preg_replace( '/(%{2})/', '%', $format_string );
|
290 |
+
|
291 |
+
/**
|
292 |
+
* toolset_escape_date_format_string
|
293 |
+
*
|
294 |
+
* Allow for overriding the date format string after processing the custom escaping character.
|
295 |
+
*
|
296 |
+
* @param string $format_string The format string after processing.
|
297 |
+
* @param string $original_format_string The format string before processing.
|
298 |
+
* @param string $escaping_character The custom escaping character that has been replaced.
|
299 |
+
*
|
300 |
+
* @since 2.3
|
301 |
+
*/
|
302 |
+
$format_string = apply_filters( 'toolset_escape_date_format_string', $format_string, $original_format_string, '%' );
|
303 |
+
|
304 |
+
return $format_string;
|
305 |
+
}
|
306 |
+
}
|
library/toolset/toolset-common/inc/autoloaded/result.php
ADDED
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Represents a result of a single operation.
|
5 |
+
*
|
6 |
+
* This is a wrapper for easy handling of results of different types.
|
7 |
+
* It can encapsulate a boolean, WP_Error, boolean + message, or an exception.
|
8 |
+
*
|
9 |
+
* It is supposed to work well with Toolset_Result_Set.
|
10 |
+
*
|
11 |
+
* @since 2.3
|
12 |
+
*/
|
13 |
+
class Toolset_Result {
|
14 |
+
|
15 |
+
/** @var bool */
|
16 |
+
protected $is_error;
|
17 |
+
|
18 |
+
/** @var bool|WP_Error|Exception What was passed as a result value. */
|
19 |
+
protected $inner_result;
|
20 |
+
|
21 |
+
/** @var string|null Display message, if one was provided. */
|
22 |
+
protected $display_message;
|
23 |
+
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Toolset_Result constructor.
|
27 |
+
*
|
28 |
+
* @param bool|WP_Error|Exception $value Result value. For boolean, true determines a success, false
|
29 |
+
* determines a failure. WP_Error and Exception are interpreted as failures.
|
30 |
+
* @param string|null $display_message Optional display message that will be used if a boolean result is
|
31 |
+
* provided.
|
32 |
+
* @throws InvalidArgumentException
|
33 |
+
* @since 2.3
|
34 |
+
*/
|
35 |
+
public function __construct( $value, $display_message = null ) {
|
36 |
+
|
37 |
+
$this->inner_result = $value;
|
38 |
+
|
39 |
+
if( is_bool( $value ) ) {
|
40 |
+
$this->is_error = ! $value;
|
41 |
+
$this->display_message = ( is_string( $display_message ) ? $display_message : null );
|
42 |
+
} else if( $value instanceof WP_Error ) {
|
43 |
+
$this->is_error = true;
|
44 |
+
$this->display_message = $value->get_error_message();
|
45 |
+
} else if( $value instanceof Exception ) {
|
46 |
+
$this->is_error = true;
|
47 |
+
$this->display_message = $value->getMessage();
|
48 |
+
} else {
|
49 |
+
throw new InvalidArgumentException( 'Unrecognized result value.' );
|
50 |
+
}
|
51 |
+
|
52 |
+
}
|
53 |
+
|
54 |
+
|
55 |
+
public function is_error() { return $this->is_error; }
|
56 |
+
|
57 |
+
|
58 |
+
public function is_success() { return ! $this->is_error; }
|
59 |
+
|
60 |
+
|
61 |
+
public function has_message() { return ( null != $this->display_message ); }
|
62 |
+
|
63 |
+
|
64 |
+
public function get_message() { return $this->display_message; }
|
65 |
+
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Returns the result as an associative array in a standard form.
|
69 |
+
*
|
70 |
+
* That means, it will allways have the boolean element 'success' and
|
71 |
+
* a string 'message', if a display message is set.
|
72 |
+
*
|
73 |
+
* @return array
|
74 |
+
* @since 2.3
|
75 |
+
*/
|
76 |
+
public function to_array() {
|
77 |
+
$result = array( 'success' => $this->is_success() );
|
78 |
+
if( $this->has_message() ) {
|
79 |
+
$result['message'] = $this->get_message();
|
80 |
+
}
|
81 |
+
return $result;
|
82 |
+
}
|
83 |
+
|
84 |
+
|
85 |
+
|
86 |
+
|
87 |
+
}
|
library/toolset/toolset-common/inc/autoloaded/result_set.php
ADDED
@@ -0,0 +1,209 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Helper for aggregating operation results in various form.
|
5 |
+
*
|
6 |
+
* Basically, it holds a set of partial results of some operation and allows for easily determining if
|
7 |
+
* the operation as a whole was a success or a failure, and collecting all the information in flat arrays
|
8 |
+
* even though the input can be more complex.
|
9 |
+
*
|
10 |
+
* Its add() method will accept a Toolset_Result instance, another Toolset_Result_Set, anything that is
|
11 |
+
* accepted by Toolset_Result constructor, or array (even nested one) of any of these things mixed in
|
12 |
+
* any arbitrary way.
|
13 |
+
*
|
14 |
+
* @since 2.3
|
15 |
+
*/
|
16 |
+
class Toolset_Result_Set {
|
17 |
+
|
18 |
+
/** @var array Mixed array of Toolset_Result and Toolset_Result_Set instances. */
|
19 |
+
private $results = array();
|
20 |
+
|
21 |
+
private $has_errors = false;
|
22 |
+
|
23 |
+
private $has_successes = false;
|
24 |
+
|
25 |
+
private $updated_item_count = 0;
|
26 |
+
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Toolset_Result_Set constructor.
|
30 |
+
*
|
31 |
+
* @param array $results Array of processable results.
|
32 |
+
* @throws InvalidArgumentException
|
33 |
+
* @since 2.3
|
34 |
+
*/
|
35 |
+
public function __construct( $results = array() ) {
|
36 |
+
if( ! is_array( $results ) ) {
|
37 |
+
throw new InvalidArgumentException( 'The initial set of results must be an array' );
|
38 |
+
}
|
39 |
+
|
40 |
+
$this->add( $results );
|
41 |
+
}
|
42 |
+
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Recursively process input of results and store them either as Toolset_Result or
|
46 |
+
* a Toolset_Result_Set instance.
|
47 |
+
*
|
48 |
+
* @param array|Toolset_Result_Set|Toolset_Result|WP_Error|Exception|bool $input
|
49 |
+
* It accepts a result, a result set, or a "raw" resultt (anything that will be recognized
|
50 |
+
* by the Toolset_Result constructor). Or array of any of these things, which will
|
51 |
+
* be processed recursively.
|
52 |
+
* @param string|null $second_arg If a single boolean result is provided, this may
|
53 |
+
* hold the additional display message.
|
54 |
+
* @throws InvalidArgumentException
|
55 |
+
* @since 2.3
|
56 |
+
*/
|
57 |
+
public function add( $input, $second_arg = null ) {
|
58 |
+
if( is_array( $input ) ) {
|
59 |
+
foreach( $input as $single_value ) {
|
60 |
+
$this->add( $single_value );
|
61 |
+
}
|
62 |
+
} elseif( $input instanceof Toolset_Result_Set ) {
|
63 |
+
$this->results[] = $input;
|
64 |
+
$this->has_errors = $this->has_errors || $input->has_errors();
|
65 |
+
$this->has_successes = $this->has_successes || $input->has_successes();
|
66 |
+
$this->updated_item_count += $input->get_updated_item_count();
|
67 |
+
} elseif( $input instanceof Toolset_Result ) {
|
68 |
+
$this->results[] = $input;
|
69 |
+
$this->has_errors = $this->has_errors || $input->is_error();
|
70 |
+
$this->has_successes = $this->has_successes || $input->is_success();
|
71 |
+
if( $input instanceof Toolset_Result_Updated ) {
|
72 |
+
$this->updated_item_count += $input->get_updated_item_count();
|
73 |
+
}
|
74 |
+
} else {
|
75 |
+
try {
|
76 |
+
$result = new Toolset_Result( $input, $second_arg );
|
77 |
+
$this->add( $result );
|
78 |
+
} catch( Exception $e ) {
|
79 |
+
throw new InvalidArgumentException( 'Unable to process the result.', 0, $e );
|
80 |
+
}
|
81 |
+
}
|
82 |
+
}
|
83 |
+
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Do any results exist in this result set?
|
87 |
+
*
|
88 |
+
* @return bool
|
89 |
+
*/
|
90 |
+
public function has_results() { return ( ! empty( $this->results ) ); }
|
91 |
+
|
92 |
+
|
93 |
+
public function has_errors() { return $this->has_errors; }
|
94 |
+
|
95 |
+
|
96 |
+
public function has_successes() { return $this->has_successes; }
|
97 |
+
|
98 |
+
|
99 |
+
public function get_updated_item_count() { return $this->updated_item_count; }
|
100 |
+
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Returns true if there are success results as well as errors.
|
104 |
+
*
|
105 |
+
* @return bool
|
106 |
+
*/
|
107 |
+
public function is_partial_success() { return ( $this->has_errors() && $this->has_successes() ); }
|
108 |
+
|
109 |
+
|
110 |
+
/**
|
111 |
+
* Returns true when there are some results and all of them are success ones.
|
112 |
+
*
|
113 |
+
* @return bool
|
114 |
+
*/
|
115 |
+
public function is_complete_success() {
|
116 |
+
return ( $this->has_results() && $this->has_successes() && ! $this->has_errors() );
|
117 |
+
}
|
118 |
+
|
119 |
+
|
120 |
+
// Types of messages that can be aggregated.
|
121 |
+
const ERROR_MESSAGES = 'error';
|
122 |
+
const SUCCESS_MESSAGES = 'success';
|
123 |
+
const ALL_MESSAGES = 'all';
|
124 |
+
|
125 |
+
|
126 |
+
/**
|
127 |
+
* Recursively aggregate existing messages of chosen type from all results.
|
128 |
+
*
|
129 |
+
* @param string $type One of the *_MESSAGES constants.
|
130 |
+
* @return string[] Display messages.
|
131 |
+
* @since 2.3
|
132 |
+
*/
|
133 |
+
public function get_messages( $type = self::ALL_MESSAGES ) {
|
134 |
+
|
135 |
+
$messages = array();
|
136 |
+
|
137 |
+
foreach( $this->results as $result ) {
|
138 |
+
|
139 |
+
if( $result instanceof Toolset_Result_Set ) {
|
140 |
+
|
141 |
+
// Merge messages from a nested result set
|
142 |
+
$result_messages = $result->get_messages( $type );
|
143 |
+
$messages = array_merge( $messages, $result_messages );
|
144 |
+
|
145 |
+
} else if( $result instanceof Toolset_Result && $result->has_message() ) {
|
146 |
+
|
147 |
+
// Add a single result message if its type matches.
|
148 |
+
if(
|
149 |
+
( self::ERROR_MESSAGES == $type && $result->is_error() )
|
150 |
+
|| ( self::SUCCESS_MESSAGES == $type && $result->is_success() )
|
151 |
+
|| ( self::ALL_MESSAGES == $type )
|
152 |
+
) {
|
153 |
+
$messages[] = $result->get_message();
|
154 |
+
}
|
155 |
+
}
|
156 |
+
}
|
157 |
+
|
158 |
+
return $messages;
|
159 |
+
}
|
160 |
+
|
161 |
+
|
162 |
+
/**
|
163 |
+
* Get all display messages in one string.
|
164 |
+
*
|
165 |
+
* @param string $separator
|
166 |
+
* @param string $type One of the *_MESSAGES constants.
|
167 |
+
* @return string
|
168 |
+
* @since 2.3
|
169 |
+
*/
|
170 |
+
public function concat_messages( $separator = '; ', $type = self::ALL_MESSAGES ) {
|
171 |
+
$messages = $this->get_messages( $type );
|
172 |
+
$messages = implode( $separator, $messages );
|
173 |
+
return $messages;
|
174 |
+
}
|
175 |
+
|
176 |
+
|
177 |
+
/**
|
178 |
+
* Flatten the results into an one-dimensional array.
|
179 |
+
*
|
180 |
+
* @return Toolset_Result[]
|
181 |
+
* @since 2.3
|
182 |
+
*/
|
183 |
+
public function get_results_flat() {
|
184 |
+
$results_flat = array();
|
185 |
+
|
186 |
+
foreach( $this->results as $result ) {
|
187 |
+
if( $result instanceof Toolset_Result_Set ) {
|
188 |
+
$flattened = $result->get_results_flat();
|
189 |
+
$results_flat = array_merge( $results_flat, $flattened );
|
190 |
+
} else {
|
191 |
+
$results_flat[] = $result;
|
192 |
+
}
|
193 |
+
}
|
194 |
+
|
195 |
+
return $results_flat;
|
196 |
+
}
|
197 |
+
|
198 |
+
|
199 |
+
/**
|
200 |
+
* Turn the whole result set into a (simplified) result.
|
201 |
+
*
|
202 |
+
* @return Toolset_Result
|
203 |
+
* @since 2.3
|
204 |
+
*/
|
205 |
+
public function aggregate() {
|
206 |
+
return new Toolset_Result( $this->is_complete_success(), $this->concat_messages() );
|
207 |
+
}
|
208 |
+
|
209 |
+
}
|
library/toolset/toolset-common/inc/autoloaded/result_updated.php
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Represents a result of a (database) update operation.
|
5 |
+
*
|
6 |
+
* Compared to its superclass, this one adds the ability to hold the information about number of updated
|
7 |
+
* records.
|
8 |
+
*
|
9 |
+
* @since 2.3
|
10 |
+
*/
|
11 |
+
class Toolset_Result_Updated extends Toolset_Result {
|
12 |
+
|
13 |
+
|
14 |
+
/** @var int */
|
15 |
+
private $items_updated;
|
16 |
+
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Toolset_Result_Updated constructor.
|
20 |
+
*
|
21 |
+
* @inheritdoc
|
22 |
+
*
|
23 |
+
* @param bool|Exception|WP_Error $value Result value.
|
24 |
+
* @param int $items_updated Nonnegative number of items updated in an operation.
|
25 |
+
* @param null|string $display_message Optional display message for a boolean result value.
|
26 |
+
* @since 2.3
|
27 |
+
*/
|
28 |
+
public function __construct( $value, $items_updated = 0, $display_message = null ) {
|
29 |
+
parent::__construct( $value, $display_message );
|
30 |
+
|
31 |
+
if( ! is_numeric( $items_updated ) || 0 > $items_updated ) {
|
32 |
+
throw new InvalidArgumentException( 'Negative or non-numeric count of updated items.' );
|
33 |
+
}
|
34 |
+
|
35 |
+
$this->items_updated = (int) $items_updated;
|
36 |
+
}
|
37 |
+
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Determine whether any items have been updated during the operation.
|
41 |
+
*
|
42 |
+
* @return bool
|
43 |
+
* @since 2.3
|
44 |
+
*/
|
45 |
+
public function has_items_updated() { return ( 0 < $this->items_updated ); }
|
46 |
+
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Get a number of items updated in an operation.
|
50 |
+
*
|
51 |
+
* @return int
|
52 |
+
* @since 2.3
|
53 |
+
*/
|
54 |
+
public function get_updated_item_count() { return $this->items_updated; }
|
55 |
+
|
56 |
+
}
|
library/toolset/toolset-common/inc/controller/admin/notices.php
ADDED
@@ -0,0 +1,389 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Class Toolset_Controller_Admin_Notices
|
4 |
+
* Controls all Toolset related admin notices
|
5 |
+
*
|
6 |
+
* @since 2.3.0 First release of Toolset_Admin_Notice_Dismissible
|
7 |
+
* All containing properties and methods without since tag are part of the initial release
|
8 |
+
*/
|
9 |
+
class Toolset_Controller_Admin_Notices {
|
10 |
+
protected $current_screen;
|
11 |
+
|
12 |
+
protected $tpl_path;
|
13 |
+
|
14 |
+
protected $is_types_active;
|
15 |
+
protected $is_views_active;
|
16 |
+
protected $is_layouts_active;
|
17 |
+
protected $is_cred_active;
|
18 |
+
protected $is_access_active;
|
19 |
+
protected $is_tbt_active;
|
20 |
+
protected $is_tbt_inactive;
|
21 |
+
|
22 |
+
public function __construct() {
|
23 |
+
add_action( 'after_setup_theme', array( $this, 'init' ), 1000 );
|
24 |
+
}
|
25 |
+
|
26 |
+
public function init() {
|
27 |
+
$this->tpl_path = TOOLSET_COMMON_PATH . '/templates/admin/notice';
|
28 |
+
|
29 |
+
$condition = new Toolset_Condition_Plugin_Types_Active();
|
30 |
+
$this->is_types_active = $condition->is_met();
|
31 |
+
|
32 |
+
$condition = new Toolset_Condition_Plugin_Views_Active();
|
33 |
+
$this->is_views_active = $condition->is_met();
|
34 |
+
|
35 |
+
$condition = new Toolset_Condition_Plugin_Layouts_Active();
|
36 |
+
$this->is_layouts_active = $condition->is_met();
|
37 |
+
|
38 |
+
$condition = new Toolset_Condition_Plugin_Cred_Active();
|
39 |
+
$this->is_cred_active = $condition->is_met();
|
40 |
+
|
41 |
+
$condition = new Toolset_Condition_Plugin_Access_Active();
|
42 |
+
$this->is_access_active = $condition->is_met();
|
43 |
+
|
44 |
+
$condition = new Toolset_Condition_Theme_Toolset_Based_Active();
|
45 |
+
$this->is_tbt_active = $condition->is_met();
|
46 |
+
|
47 |
+
$condition = new Toolset_Condition_Theme_Toolset_Based_Inactive();
|
48 |
+
$this->is_tbt_inactive = $condition->is_met();
|
49 |
+
|
50 |
+
add_action('current_screen', array( $this, 'init_screens') );
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Initialize where to show the notices
|
55 |
+
* Fired on hook 'current_screen'
|
56 |
+
*/
|
57 |
+
public function init_screens() {
|
58 |
+
if( ! function_exists( 'get_current_screen' ) ) {
|
59 |
+
// loaded to early
|
60 |
+
return;
|
61 |
+
}
|
62 |
+
|
63 |
+
$this->current_screen = get_current_screen();
|
64 |
+
|
65 |
+
$this->screen_any();
|
66 |
+
$this->screen_toolset_dashboard();
|
67 |
+
$this->screens_toolset_toplevel_pages();
|
68 |
+
$this->screen_wordpress_dashboard();
|
69 |
+
$this->screen_wordpress_plugins();
|
70 |
+
$this->screen_wordpress_themes();
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Notices for any page on the admin screen
|
75 |
+
*/
|
76 |
+
protected function screen_any() {
|
77 |
+
if( ! is_admin() ) {
|
78 |
+
return;
|
79 |
+
}
|
80 |
+
}
|
81 |
+
|
82 |
+
/**
|
83 |
+
* Get current screen id
|
84 |
+
* @return bool
|
85 |
+
*/
|
86 |
+
protected function get_current_screen_id() {
|
87 |
+
if( is_object( $this->current_screen ) and property_exists( $this->current_screen, 'id' ) ) {
|
88 |
+
return $this->current_screen->id;
|
89 |
+
}
|
90 |
+
|
91 |
+
return false;
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Notices for all Toolset toplevel pages
|
96 |
+
*/
|
97 |
+
protected function screens_toolset_toplevel_pages() {
|
98 |
+
if( ! $current_screen_id = $this->get_current_screen_id() ) {
|
99 |
+
// no screen id
|
100 |
+
return;
|
101 |
+
}
|
102 |
+
|
103 |
+
if(
|
104 |
+
$current_screen_id == 'toolset_page_wpcf-cpt' // Post Types
|
105 |
+
|| $current_screen_id == 'toolset_page_wpcf-ctt' // Taxonomies
|
106 |
+
|| $current_screen_id == 'toolset_page_wpcf-cf' // Post Fields
|
107 |
+
|| $current_screen_id == 'toolset_page_wpcf-termmeta-listing' // Term Fields
|
108 |
+
|| $current_screen_id == 'toolset_page_wpcf-um' // User Fields
|
109 |
+
|| $current_screen_id == 'toolset_page_types_access' // Access Control
|
110 |
+
|| $current_screen_id == 'toolset_page_views' // Views
|
111 |
+
|| $current_screen_id == 'toolset_page_view-templates' // Content Templates
|
112 |
+
|| $current_screen_id == 'toolset_page_view-archives' // WordPress Archives
|
113 |
+
|| $current_screen_id == 'toolset_page_CRED_Forms' // Post Forms
|
114 |
+
|| $current_screen_id == 'toolset_page_CRED_User_Forms' // User Forms
|
115 |
+
|| $current_screen_id == 'toolset_page_dd_layouts' // Layouts
|
116 |
+
|| $current_screen_id == 'toolset_page_dd_layout_CSS_JS' // Layouts CSS JS
|
117 |
+
// || $current_screen_id == 'toolset_page_toolset-settings' // Toolset Settings
|
118 |
+
// || $current_screen_id == 'toolset_page_toolset-export-import' // Toolset Settings
|
119 |
+
|
120 |
+
) {
|
121 |
+
$this->notices_compilation_introduction();
|
122 |
+
}
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* Notices for the themes screen
|
127 |
+
*/
|
128 |
+
protected function screen_wordpress_themes() {
|
129 |
+
if( $this->get_current_screen_id() != 'themes' ) {
|
130 |
+
return;
|
131 |
+
}
|
132 |
+
|
133 |
+
$this->notices_compilation_introduction();
|
134 |
+
}
|
135 |
+
|
136 |
+
/**
|
137 |
+
* Notices for the plugins screen
|
138 |
+
*/
|
139 |
+
protected function screen_wordpress_plugins() {
|
140 |
+
if( $this->get_current_screen_id() != 'plugins' ) {
|
141 |
+
return;
|
142 |
+
}
|
143 |
+
|
144 |
+
if( $this->is_tbt_active ) {
|
145 |
+
// active Toolset Based Theme
|
146 |
+
$notice = new Toolset_Admin_Notice_Dismissible( 'tbt-active-dashboard' );
|
147 |
+
$notice->set_content( $this->tpl_path . '/toolset-based-themes/active/plugin.phtml' );
|
148 |
+
Toolset_Admin_Notices_Manager::add_notice( $notice );
|
149 |
+
return;
|
150 |
+
}
|
151 |
+
|
152 |
+
if( $this->is_tbt_inactive ) {
|
153 |
+
// inactive Toolset Based Theme
|
154 |
+
$notice = new Toolset_Admin_Notice_Dismissible( 'tbt-inactive-dashboard' );
|
155 |
+
$notice->set_content( $this->tpl_path . '/toolset-based-themes/inactive/plugin.phtml' );
|
156 |
+
Toolset_Admin_Notices_Manager::add_notice( $notice );
|
157 |
+
return;
|
158 |
+
}
|
159 |
+
|
160 |
+
$this->notices_compilation_introduction();
|
161 |
+
}
|
162 |
+
|
163 |
+
/**
|
164 |
+
* Notices for the Toolset Dashboard Page
|
165 |
+
*/
|
166 |
+
protected function screen_wordpress_dashboard() {
|
167 |
+
if( $this->get_current_screen_id() != 'dashboard' ) {
|
168 |
+
return;
|
169 |
+
}
|
170 |
+
|
171 |
+
$this->notices_compilation_introduction();
|
172 |
+
}
|
173 |
+
|
174 |
+
/**
|
175 |
+
* Notices for the Toolset Dashboard Page
|
176 |
+
*/
|
177 |
+
protected function screen_toolset_dashboard() {
|
178 |
+
if( $this->get_current_screen_id() != 'toplevel_page_toolset-dashboard' ) {
|
179 |
+
return;
|
180 |
+
}
|
181 |
+
|
182 |
+
if( $this->is_tbt_active ) {
|
183 |
+
// active Toolset Based Theme
|
184 |
+
$notice = new Toolset_Admin_Notice_Dismissible( 'tbt-active-dashboard' );
|
185 |
+
$notice->set_content( $this->tpl_path . '/toolset-based-themes/active/dashboard.phtml' );
|
186 |
+
Toolset_Admin_Notices_Manager::add_notice( $notice );
|
187 |
+
return;
|
188 |
+
}
|
189 |
+
|
190 |
+
if( $this->is_tbt_inactive ) {
|
191 |
+
// inactive Toolset Based Theme
|
192 |
+
$notice = new Toolset_Admin_Notice_Dismissible( 'tbt-inactive-dashboard' );
|
193 |
+
$notice->set_content( $this->tpl_path . '/toolset-based-themes/inactive/dashboard.phtml' );
|
194 |
+
Toolset_Admin_Notices_Manager::add_notice( $notice );
|
195 |
+
return;
|
196 |
+
}
|
197 |
+
|
198 |
+
// no Toolset Based Theme
|
199 |
+
$this->notices_compilation_introduction();
|
200 |
+
}
|
201 |
+
|
202 |
+
/**
|
203 |
+
* These are our "Toolset Introduction Messages"
|
204 |
+
* for further information see toolsetcommon-136
|
205 |
+
*/
|
206 |
+
protected function notices_compilation_introduction() {
|
207 |
+
if( $this->only_types_active() ) {
|
208 |
+
// notice: theme we have an integration plugin for
|
209 |
+
$this->notice_customize_page_with_toolset();
|
210 |
+
|
211 |
+
// notice: theme we have no integration plugin for
|
212 |
+
$this->notice_how_to_design_with_toolset();
|
213 |
+
|
214 |
+
// notice: theme has native layout support
|
215 |
+
$this->notice_theme_works_best_with_toolset();
|
216 |
+
|
217 |
+
return;
|
218 |
+
}
|
219 |
+
|
220 |
+
// commercial plugin active + theme we have an integration plugin for
|
221 |
+
$this->layouts_theme_integration_available();
|
222 |
+
$this->layouts_theme_integration_not_active();
|
223 |
+
$theme_integration_active_but_theme_not = $this->layouts_theme_integration_theme_not_active();
|
224 |
+
$this->integration_run_installer();
|
225 |
+
|
226 |
+
// no integration plugin installed, for which theme exists (but not active)
|
227 |
+
// + commercial plugin active
|
228 |
+
// + types || views || layouts missing
|
229 |
+
// + theme active we have no integration plugin for
|
230 |
+
if( ( ! $theme_integration_active_but_theme_not instanceof Toolset_Condition_Interface
|
231 |
+
|| ! $theme_integration_active_but_theme_not->conditions_met() )
|
232 |
+
&& ( ! $this->is_views_active
|
233 |
+
|| ! $this->is_types_active
|
234 |
+
|| ! $this->is_layouts_active
|
235 |
+
)
|
236 |
+
) {
|
237 |
+
$this->layouts_no_theme_integration_available();
|
238 |
+
}
|
239 |
+
}
|
240 |
+
|
241 |
+
/**
|
242 |
+
* True if only types is active
|
243 |
+
* False if one commercial toolset plugin is active
|
244 |
+
*
|
245 |
+
* @return bool
|
246 |
+
*/
|
247 |
+
protected function only_types_active() {
|
248 |
+
if( $this->is_views_active || $this->is_layouts_active || $this->is_access_active || $this->is_cred_active ) {
|
249 |
+
return false;
|
250 |
+
}
|
251 |
+
|
252 |
+
return true;
|
253 |
+
}
|
254 |
+
|
255 |
+
/**
|
256 |
+
* @return Toolset_Admin_Notice_Dismissible
|
257 |
+
*/
|
258 |
+
protected function notice_customize_page_with_toolset() {
|
259 |
+
$notice = new Toolset_Admin_Notice_Dismissible( 'customize-page-with-toolset' );
|
260 |
+
$notice->set_content( $this->tpl_path . '/only-types-installed/layouts-support-available.phtml' );
|
261 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Native_Missing() );
|
262 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Plugin_Available() );
|
263 |
+
Toolset_Admin_Notices_Manager::add_notice( $notice );
|
264 |
+
|
265 |
+
return $notice;
|
266 |
+
}
|
267 |
+
|
268 |
+
/**
|
269 |
+
* @return Toolset_Admin_Notice_Dismissible
|
270 |
+
*/
|
271 |
+
protected function notice_how_to_design_with_toolset() {
|
272 |
+
$notice = new Toolset_Admin_Notice_Dismissible( 'how-to-design-with-toolset' );
|
273 |
+
$notice->set_content( $this->tpl_path . '/only-types-installed/layouts-support-missing.phtml' );
|
274 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Native_Missing() );
|
275 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Plugin_Missing() );
|
276 |
+
Toolset_Admin_Notices_Manager::add_notice( $notice );
|
277 |
+
|
278 |
+
return $notice;
|
279 |
+
}
|
280 |
+
|
281 |
+
/**
|
282 |
+
* @return Toolset_Admin_Notice_Dismissible
|
283 |
+
*/
|
284 |
+
protected function notice_theme_works_best_with_toolset() {
|
285 |
+
$notice = new Toolset_Admin_Notice_Dismissible( 'theme-works-best-with-toolset' );
|
286 |
+
$notice->set_content( $this->tpl_path . '/only-types-installed/layouts-support-native.phtml' );
|
287 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Native_Available() );
|
288 |
+
Toolset_Admin_Notices_Manager::add_notice( $notice );
|
289 |
+
}
|
290 |
+
|
291 |
+
/**
|
292 |
+
* @return Toolset_Admin_Notice_Dismissible
|
293 |
+
*/
|
294 |
+
protected function layouts_theme_integration_available() {
|
295 |
+
if( defined( 'TOOLSET_INTEGRATION_PLUGIN_THEME_NAME' ) ) {
|
296 |
+
// don't show this message if already a integration plugin is running
|
297 |
+
// return;
|
298 |
+
}
|
299 |
+
$notice = new Toolset_Admin_Notice_Dismissible( 'layouts-theme-integration' );
|
300 |
+
$notice->set_content( $this->tpl_path . '/commercial-plugin-installed/layouts-support-available.phtml' );
|
301 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Native_Missing() );
|
302 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Plugin_Available() );
|
303 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Plugin_Not_Installed() );
|
304 |
+
Toolset_Admin_Notices_Manager::add_notice( $notice );
|
305 |
+
|
306 |
+
return $notice;
|
307 |
+
}
|
308 |
+
|
309 |
+
/**
|
310 |
+
* @return Toolset_Admin_Notice_Dismissible
|
311 |
+
*/
|
312 |
+
protected function layouts_theme_integration_not_active() {
|
313 |
+
$notice = new Toolset_Admin_Notice_Dismissible( 'layouts-theme-integration-not-active' );
|
314 |
+
$notice->set_content( $this->tpl_path . '/commercial-plugin-installed/layouts-support-plugin-not-active.phtml' );
|
315 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Native_Missing() );
|
316 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Plugin_Available() );
|
317 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Plugin_Not_Active() );
|
318 |
+
Toolset_Admin_Notices_Manager::add_notice( $notice );
|
319 |
+
|
320 |
+
return $notice;
|
321 |
+
}
|
322 |
+
|
323 |
+
/**
|
324 |
+
* @return Toolset_Admin_Notice_Dismissible
|
325 |
+
*/
|
326 |
+
protected function layouts_theme_integration_theme_not_active() {
|
327 |
+
if( defined( 'LAYOUTS_INTEGRATION_THEME_NAME' ) ) {
|
328 |
+
// Layouts define this constant if there is an active integration (plugin and theme installed and active)
|
329 |
+
return false;
|
330 |
+
}
|
331 |
+
|
332 |
+
$notice = new Toolset_Admin_Notice_Dismissible( 'layouts-theme-integration-theme-not-active' );
|
333 |
+
$notice->set_content( $this->tpl_path . '/commercial-plugin-installed/layouts-support-theme-not-active.phtml' );
|
334 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Native_Missing() );
|
335 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Plugin_Active() );
|
336 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Theme_Installed() );
|
337 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Theme_Not_Active() );
|
338 |
+
Toolset_Admin_Notices_Manager::add_notice( $notice );
|
339 |
+
|
340 |
+
return $notice;
|
341 |
+
}
|
342 |
+
|
343 |
+
/**
|
344 |
+
* @return Toolset_Admin_Notice_Dismissible
|
345 |
+
*/
|
346 |
+
protected function layouts_no_theme_integration_available() {
|
347 |
+
$notice = new Toolset_Admin_Notice_Dismissible( 'layouts-no-theme-integration' );
|
348 |
+
$notice->set_content( $this->tpl_path . '/commercial-plugin-installed/layouts-support-missing.phtml' );
|
349 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Native_Missing() );
|
350 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Plugin_Missing() );
|
351 |
+
Toolset_Admin_Notices_Manager::add_notice( $notice );
|
352 |
+
|
353 |
+
return $notice;
|
354 |
+
}
|
355 |
+
|
356 |
+
/**
|
357 |
+
* @return Toolset_Admin_Notice_Dismissible
|
358 |
+
*/
|
359 |
+
protected function integration_run_installer() {
|
360 |
+
$is_integration_plugin_active = new Toolset_Condition_Theme_Layouts_Support_Plugin_Active();
|
361 |
+
|
362 |
+
if( ! $is_integration_plugin_active->is_met() ) {
|
363 |
+
// no theme itegration plugin active
|
364 |
+
return;
|
365 |
+
}
|
366 |
+
|
367 |
+
$theme_slug = sanitize_title( $is_integration_plugin_active->get_supported_theme_name() );
|
368 |
+
|
369 |
+
$notice = new Toolset_Admin_Notice_Dismissible( 'integration-run-installer-for-' . $theme_slug );
|
370 |
+
$notice->set_content( $this->tpl_path . '/installer/integration-run-installer.phtml' );
|
371 |
+
$notice->add_condition( new Toolset_Condition_Plugin_Layouts_No_Items() );
|
372 |
+
$notice->add_condition( new Toolset_Condition_Theme_Layouts_Support_Theme_Active() );
|
373 |
+
Toolset_Admin_Notices_Manager::add_notice( $notice );
|
374 |
+
|
375 |
+
return $notice;
|
376 |
+
}
|
377 |
+
|
378 |
+
/**
|
379 |
+
* @return Toolset_Admin_Notice_Dismissible
|
380 |
+
*/
|
381 |
+
protected function plugin_encrypted_no_valid_theme() {
|
382 |
+
$notice = new Toolset_Admin_Notice_Dismissible( 'plugin-encrypted-no-valid-theme' );
|
383 |
+
$notice->set_content( $this->tpl_path . '/toolset-based-themes/plugin-encrypted-no-valid-theme.phtml' );
|
384 |
+
$notice->add_condition( new Toolset_Condition_Plugin_Encrypted_No_Valid_Theme() );
|
385 |
+
Toolset_Admin_Notices_Manager::add_notice( $notice );
|
386 |
+
|
387 |
+
return $notice;
|
388 |
+
}
|
389 |
+
}
|
library/toolset/toolset-common/inc/toolset.admin.bar.menu.class.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
* @since unknown
|
9 |
*/
|
10 |
|
11 |
-
if ( ! class_exists( 'Toolset_Admin_Bar_Menu' ) ) {
|
12 |
|
13 |
class Toolset_Admin_Bar_Menu {
|
14 |
|
@@ -180,7 +180,8 @@ if ( ! class_exists( 'Toolset_Admin_Bar_Menu' ) ) {
|
|
180 |
public function admin_bar_menu_disable( $state ) {
|
181 |
$toolset_options = get_option( 'toolset_options', array() );
|
182 |
$toolset_admin_bar_menu_remove = ( isset( $toolset_options['show_admin_bar_shortcut'] ) && $toolset_options['show_admin_bar_shortcut'] == 'off' ) ? true : false;
|
183 |
-
|
|
|
184 |
$state = true;
|
185 |
}
|
186 |
return $state;
|
@@ -580,7 +581,7 @@ if ( ! class_exists( 'Toolset_Admin_Bar_Menu' ) ) {
|
|
580 |
* It is going to be like "post_type|archive" or null if link should not be displayed
|
581 |
* @return string {post_type or archive_type or taxonomy or 404}|{page or archive}
|
582 |
*/
|
583 |
-
|
584 |
|
585 |
// Rule of thumb: if there is a list of posts, it is an archive
|
586 |
|
@@ -664,7 +665,7 @@ if ( ! class_exists( 'Toolset_Admin_Bar_Menu' ) ) {
|
|
664 |
* @param int $post_id must be layout or template id if !$is_new, else post
|
665 |
* @return string title for menu subitem
|
666 |
*/
|
667 |
-
|
668 |
|
669 |
if ( $is_new ) {
|
670 |
/* Create */
|
@@ -733,8 +734,6 @@ if ( ! class_exists( 'Toolset_Admin_Bar_Menu' ) ) {
|
|
733 |
|
734 |
if ( 'page' === $class && '404' === $type && 'layouts' === $plugin ) {
|
735 |
$selection = __( 'Error 404 page', 'wpv-views' );
|
736 |
-
} else if ( 'page' === $type ) {
|
737 |
-
$selection = get_the_title( $post_id );
|
738 |
} else if ( 'page' === $class ) {
|
739 |
$post_type = get_post_type_object( $type );
|
740 |
$selection = ucfirst( $post_type->label );
|
8 |
* @since unknown
|
9 |
*/
|
10 |
|
11 |
+
if ( ! class_exists( 'Toolset_Admin_Bar_Menu', false ) ) {
|
12 |
|
13 |
class Toolset_Admin_Bar_Menu {
|
14 |
|
180 |
public function admin_bar_menu_disable( $state ) {
|
181 |
$toolset_options = get_option( 'toolset_options', array() );
|
182 |
$toolset_admin_bar_menu_remove = ( isset( $toolset_options['show_admin_bar_shortcut'] ) && $toolset_options['show_admin_bar_shortcut'] == 'off' ) ? true : false;
|
183 |
+
$disable_admin_bar_filter = apply_filters('remove_toolset_admin_bar', false);
|
184 |
+
if ( $toolset_admin_bar_menu_remove || $disable_admin_bar_filter === true ) {
|
185 |
$state = true;
|
186 |
}
|
187 |
return $state;
|
581 |
* It is going to be like "post_type|archive" or null if link should not be displayed
|
582 |
* @return string {post_type or archive_type or taxonomy or 404}|{page or archive}
|
583 |
*/
|
584 |
+
public function get_context() {
|
585 |
|
586 |
// Rule of thumb: if there is a list of posts, it is an archive
|
587 |
|
665 |
* @param int $post_id must be layout or template id if !$is_new, else post
|
666 |
* @return string title for menu subitem
|
667 |
*/
|
668 |
+
public function get_title( $plugin, $is_new, $type, $class, $post_id = null) {
|
669 |
|
670 |
if ( $is_new ) {
|
671 |
/* Create */
|
734 |
|
735 |
if ( 'page' === $class && '404' === $type && 'layouts' === $plugin ) {
|
736 |
$selection = __( 'Error 404 page', 'wpv-views' );
|
|
|
|
|
737 |
} else if ( 'page' === $class ) {
|
738 |
$post_type = get_post_type_object( $type );
|
739 |
$selection = ucfirst( $post_type->label );
|
library/toolset/toolset-common/inc/toolset.assets.manager.class.php
CHANGED
@@ -6,18 +6,17 @@ if ( defined( 'WPT_ASSETS_MANAGER' ) ) {
|
|
6 |
|
7 |
define( 'WPT_ASSETS_MANAGER', true );
|
8 |
|
9 |
-
class Toolset_Style
|
10 |
-
{
|
11 |
|
12 |
public function __construct( $handle, $path = 'wordpress_default', $deps = array(), $ver = false, $media = 'screen' ) {
|
13 |
-
$this->handle
|
14 |
-
$this->path
|
15 |
-
$this->deps
|
16 |
-
$this->ver
|
17 |
-
$this->media
|
18 |
-
|
19 |
-
if (
|
20 |
-
$this->compare_versions()
|
21 |
&& $this->path != 'wordpress_default'
|
22 |
) {
|
23 |
wp_register_style( $this->handle, $this->path, $this->deps, $this->ver, $this->media );
|
@@ -31,22 +30,23 @@ class Toolset_Style
|
|
31 |
}
|
32 |
|
33 |
protected function compare_versions() {
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
}
|
47 |
}
|
|
|
48 |
|
49 |
-
|
50 |
}
|
51 |
|
52 |
public function deregister() {
|
@@ -65,18 +65,18 @@ class Toolset_Style
|
|
65 |
}
|
66 |
}
|
67 |
|
68 |
-
class Toolset_Script
|
69 |
-
|
70 |
public function __construct( $handle, $path = 'wordpress_default', $deps = array(), $ver = false, $in_footer = false ) {
|
71 |
-
$this->handle
|
72 |
-
$this->path
|
73 |
-
$this->deps
|
74 |
-
$this->ver
|
75 |
-
$this->in_footer
|
76 |
-
|
77 |
-
if (
|
78 |
-
$this->compare_versions()
|
79 |
-
&& $this->path != 'wordpress_default'
|
80 |
) {
|
81 |
wp_register_script( $this->handle, $this->path, $this->deps, $this->ver, $this->in_footer );
|
82 |
}
|
@@ -88,24 +88,25 @@ class Toolset_Script
|
|
88 |
}
|
89 |
}
|
90 |
|
91 |
-
|
92 |
-
|
93 |
|
94 |
-
|
95 |
$wpt_registered_scripts = $wp_scripts->registered;
|
96 |
if ( isset( $wpt_registered_scripts[ $this->handle ] ) ) {
|
97 |
-
$registered = $wpt_registered_scripts[$this->handle];
|
98 |
if ( (float) $registered->ver < (float) $this->ver ) {
|
99 |
$wp_scripts->remove( $this->handle );
|
|
|
100 |
return true;
|
101 |
} else {
|
102 |
return false;
|
103 |
}
|
104 |
}
|
105 |
-
|
106 |
|
107 |
-
|
108 |
-
|
109 |
|
110 |
public function localize( $object, $args ) {
|
111 |
if ( $this->is_registered() ) {
|
@@ -128,53 +129,158 @@ class Toolset_Script
|
|
128 |
}
|
129 |
}
|
130 |
|
131 |
-
|
132 |
-
|
|
|
|
|
|
|
133 |
protected static $instance;
|
134 |
-
|
135 |
-
|
136 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
/**
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
protected $assets_url
|
|
|
146 |
|
147 |
protected function __construct() {
|
148 |
-
|
149 |
if ( is_admin() ) {
|
150 |
$this->assets_url = TOOLSET_COMMON_URL;
|
151 |
} else {
|
152 |
$this->assets_url = TOOLSET_COMMON_FRONTEND_URL;
|
153 |
}
|
|
|
154 |
$this->assets_url = untrailingslashit( $this->assets_url );
|
155 |
-
|
156 |
-
add_action( 'init',
|
157 |
-
|
158 |
-
|
159 |
-
add_action( 'admin_enqueue_scripts',
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
|
|
|
|
167 |
}
|
168 |
|
|
|
|
|
|
|
169 |
final public static function getInstance() {
|
170 |
static $instances = array();
|
171 |
$called_class = get_called_class();
|
172 |
|
173 |
-
if( isset( $instances[ $called_class ] ) ) {
|
174 |
return $instances[ $called_class ];
|
175 |
} else {
|
176 |
-
if( class_exists( $called_class ) ) {
|
177 |
$instances[ $called_class ] = new $called_class();
|
|
|
178 |
return $instances[ $called_class ];
|
179 |
} else {
|
180 |
// This can unfortunately happen when the get_called_class() workaround for PHP 5.2 misbehaves.
|
@@ -184,18 +290,22 @@ class Toolset_Assets_Manager
|
|
184 |
|
185 |
}
|
186 |
|
|
|
187 |
public function init() {
|
188 |
$this->__initialize_styles();
|
189 |
$this->__initialize_scripts();
|
190 |
}
|
191 |
-
|
|
|
192 |
public function get_assets_url() {
|
193 |
return $this->assets_url;
|
194 |
}
|
195 |
|
196 |
-
|
|
|
|
|
|
|
197 |
* @return void
|
198 |
-
* pushes to our scripts array other scripts so we can enqueue using our methods
|
199 |
*/
|
200 |
public function get_rid_of_default_scripts() {
|
201 |
global $wp_scripts;
|
@@ -206,9 +316,10 @@ class Toolset_Assets_Manager
|
|
206 |
}
|
207 |
}
|
208 |
|
209 |
-
|
|
|
|
|
210 |
* @return void
|
211 |
-
* pushes to our scripts array other scripts so we can enqueue using our methods
|
212 |
*/
|
213 |
public function get_rid_of_default_styles() {
|
214 |
global $wp_styles;
|
@@ -220,312 +331,416 @@ class Toolset_Assets_Manager
|
|
220 |
}
|
221 |
}
|
222 |
|
|
|
223 |
protected function __initialize_styles() {
|
224 |
-
|
225 |
// Libraries
|
226 |
-
//
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
$this->
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
261 |
// Custom styles
|
262 |
-
//
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
$this->
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
316 |
|
317 |
protected function __initialize_scripts() {
|
318 |
-
|
319 |
// Libraries
|
320 |
-
//
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
$this->
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
440 |
// Custom scripts
|
441 |
-
//
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
$this->
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
489 |
|
490 |
$this->localize_script(
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
'wpv_close'
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
$this->localize_script(
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
$this->localize_script(
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
|
|
|
|
517 |
$this->localize_script(
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
'autosave_saved'
|
523 |
-
'autosave_failed'
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
|
|
|
|
|
|
|
|
529 |
|
530 |
public function enqueue_scripts( $handles ) {
|
531 |
if ( is_array( $handles ) ) {
|
@@ -541,6 +756,7 @@ class Toolset_Assets_Manager
|
|
541 |
}
|
542 |
}
|
543 |
|
|
|
544 |
public function enqueue_styles( $handles ) {
|
545 |
if ( is_array( $handles ) ) {
|
546 |
foreach ( $handles as $handle ) {
|
@@ -549,12 +765,13 @@ class Toolset_Assets_Manager
|
|
549 |
}
|
550 |
}
|
551 |
} else if ( is_string( $handles ) ) {
|
552 |
-
if ( isset( $this->styles[ $handles] ) ) {
|
553 |
$this->styles[ $handles ]->enqueue();
|
554 |
}
|
555 |
}
|
556 |
}
|
557 |
|
|
|
558 |
public function deregister_scripts( $handles ) {
|
559 |
if ( is_array( $handles ) ) {
|
560 |
foreach ( $handles as $handle ) {
|
@@ -571,6 +788,7 @@ class Toolset_Assets_Manager
|
|
571 |
}
|
572 |
}
|
573 |
|
|
|
574 |
public function deregister_styles( $handles ) {
|
575 |
if ( is_array( $handles ) ) {
|
576 |
foreach ( $handles as $handle ) {
|
@@ -587,21 +805,55 @@ class Toolset_Assets_Manager
|
|
587 |
}
|
588 |
}
|
589 |
|
|
|
590 |
public function register_script( $handle, $path = '', $deps = array(), $ver = false, $in_footer = false ) {
|
591 |
if ( ! isset( $this->scripts[ $handle ] ) ) {
|
592 |
$this->scripts[ $handle ] = new Toolset_Script( $handle, $path, $deps, $ver, $in_footer );
|
593 |
}
|
594 |
}
|
595 |
|
|
|
596 |
public function register_style( $handle, $path = '', $deps = array(), $ver = false, $media = 'screen' ) {
|
597 |
if ( ! isset( $this->styles[ $handle ] ) ) {
|
598 |
-
$this->
|
599 |
}
|
600 |
}
|
601 |
|
|
|
602 |
public function localize_script( $handle, $object, $args ) {
|
603 |
if ( isset( $this->scripts[ $handle ] ) ) {
|
604 |
$this->scripts[ $handle ]->localize( $object, $args );
|
605 |
}
|
606 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
607 |
}
|
6 |
|
7 |
define( 'WPT_ASSETS_MANAGER', true );
|
8 |
|
9 |
+
class Toolset_Style {
|
|
|
10 |
|
11 |
public function __construct( $handle, $path = 'wordpress_default', $deps = array(), $ver = false, $media = 'screen' ) {
|
12 |
+
$this->handle = $handle;
|
13 |
+
$this->path = $path;
|
14 |
+
$this->deps = $deps;
|
15 |
+
$this->ver = $ver;
|
16 |
+
$this->media = $media;
|
17 |
+
|
18 |
+
if (
|
19 |
+
$this->compare_versions()
|
20 |
&& $this->path != 'wordpress_default'
|
21 |
) {
|
22 |
wp_register_style( $this->handle, $this->path, $this->deps, $this->ver, $this->media );
|
30 |
}
|
31 |
|
32 |
protected function compare_versions() {
|
33 |
+
global $wp_styles;
|
34 |
+
|
35 |
+
if ( isset( $wp_styles->registered ) ) {
|
36 |
+
$wpt_registered_styles = $wp_styles->registered;
|
37 |
+
if ( isset( $wpt_registered_styles[ $this->handle ] ) ) {
|
38 |
+
$registered = $wpt_registered_styles[ $this->handle ];
|
39 |
+
if ( (float) $registered->ver < (float) $this->ver ) {
|
40 |
+
$wp_styles->remove( $this->handle );
|
41 |
+
|
42 |
+
return true;
|
43 |
+
} else {
|
44 |
+
return false;
|
45 |
}
|
46 |
}
|
47 |
+
}
|
48 |
|
49 |
+
return $this->is_registered() === false;
|
50 |
}
|
51 |
|
52 |
public function deregister() {
|
65 |
}
|
66 |
}
|
67 |
|
68 |
+
class Toolset_Script {
|
69 |
+
|
70 |
public function __construct( $handle, $path = 'wordpress_default', $deps = array(), $ver = false, $in_footer = false ) {
|
71 |
+
$this->handle = $handle;
|
72 |
+
$this->path = $path;
|
73 |
+
$this->deps = $deps;
|
74 |
+
$this->ver = $ver;
|
75 |
+
$this->in_footer = $in_footer;
|
76 |
+
|
77 |
+
if (
|
78 |
+
$this->compare_versions()
|
79 |
+
&& $this->path != 'wordpress_default'
|
80 |
) {
|
81 |
wp_register_script( $this->handle, $this->path, $this->deps, $this->ver, $this->in_footer );
|
82 |
}
|
88 |
}
|
89 |
}
|
90 |
|
91 |
+
protected function compare_versions() {
|
92 |
+
global $wp_scripts;
|
93 |
|
94 |
+
if ( isset( $wp_scripts->registered ) ) {
|
95 |
$wpt_registered_scripts = $wp_scripts->registered;
|
96 |
if ( isset( $wpt_registered_scripts[ $this->handle ] ) ) {
|
97 |
+
$registered = $wpt_registered_scripts[ $this->handle ];
|
98 |
if ( (float) $registered->ver < (float) $this->ver ) {
|
99 |
$wp_scripts->remove( $this->handle );
|
100 |
+
|
101 |
return true;
|
102 |
} else {
|
103 |
return false;
|
104 |
}
|
105 |
}
|
106 |
+
}
|
107 |
|
108 |
+
return $this->is_registered() === false;
|
109 |
+
}
|
110 |
|
111 |
public function localize( $object, $args ) {
|
112 |
if ( $this->is_registered() ) {
|
129 |
}
|
130 |
}
|
131 |
|
132 |
+
|
133 |
+
|
134 |
+
class Toolset_Assets_Manager {
|
135 |
+
|
136 |
+
|
137 |
protected static $instance;
|
138 |
+
|
139 |
+
|
140 |
+
protected $styles = array();
|
141 |
+
|
142 |
+
|
143 |
+
protected $scripts = array();
|
144 |
+
|
145 |
+
|
146 |
+
/*
|
147 |
+
* All asset handles should be defined here as constants.
|
148 |
+
*
|
149 |
+
* NEVER EVER use handles defined here as hardcoded strings, they may change at any time.
|
150 |
+
*/
|
151 |
+
|
152 |
+
|
153 |
+
// Scripts
|
154 |
+
//
|
155 |
+
//
|
156 |
+
const SCRIPT_BOOTSTRAP = 'toolset_bootstrap';
|
157 |
+
|
158 |
+
const SCRIPT_CODEMIRROR = 'toolset-codemirror-script';
|
159 |
+
const SCRIPT_CODEMIRROR_CSS = 'toolset-meta-html-codemirror-css-script';
|
160 |
+
const SCRIPT_CODEMIRROR_XML = 'toolset-meta-html-codemirror-xml-script';
|
161 |
+
const SCRIPT_CODEMIRROR_HTMLMIXED = 'toolset-meta-html-codemirror-htmlmixed-script';
|
162 |
+
const SCRIPT_CODEMIRROR_JS = 'toolset-meta-html-codemirror-js-script';
|
163 |
+
const SCRIPT_CODEMIRROR_OVERLAY = 'toolset-meta-html-codemirror-overlay-script';
|
164 |
+
const SCRIPT_CODEMIRROR_UTILS_SEARCH = 'toolset-meta-html-codemirror-utils-search';
|
165 |
+
const SCRIPT_CODEMIRROR_UTILS_SEARCH_CURSOR = 'toolset-meta-html-codemirror-utils-search-cursor';
|
166 |
+
const SCRIPT_CODEMIRROR_UTILS_PANEL = 'toolset-meta-html-codemirror-utils-panel';
|
167 |
+
const SCRIPT_CODEMIRROR_UTILS_HINT = 'toolset-meta-html-codemirror-utils-hint';
|
168 |
+
const SCRIPT_CODEMIRROR_UTILS_HINT_CSS = 'toolset-meta-html-codemirror-utils-hint-css';
|
169 |
+
|
170 |
+
const SCRIPT_COLORBOX = 'toolset-colorbox';
|
171 |
+
const SCRIPT_HEADJS = 'headjs';
|
172 |
+
|
173 |
+
const SCRIPT_ICL_EDITOR = 'icl_editor-script';
|
174 |
+
const SCRIPT_ICL_MEDIA_MANAGER = 'icl_media-manager-js';
|
175 |
+
|
176 |
+
const SCRIPT_KNOCKOUT = 'knockout';
|
177 |
+
const SCRIPT_JSCROLLPANE = 'toolset-jscrollpane';
|
178 |
+
const SCRIPT_JSTORAGE = 'jstorage';
|
179 |
+
const SCRIPT_MOUSEWHEEL = 'toolset-mousewheel';
|
180 |
+
const SCRIPT_SELECT2 = 'toolset_select2';
|
181 |
+
const SCRIPT_SELECT2_COMPATIBILITY = 'toolset-select2-compatibility';
|
182 |
+
|
183 |
+
const SCRIPT_TOOLSET_EVENT_MANAGER = 'toolset-event-manager';
|
184 |
+
const SCRIPT_TOOLSET_PARSER = 'wptoolset-parser';
|
185 |
+
const SCRIPT_TOOLSET_PROMOTION = 'toolset-promotion';
|
186 |
+
const SCRIPT_TOOLSET_SETTINGS = 'toolset-settings';
|
187 |
+
const SCRIPT_TOOLSET_EXPORT_IMPORT = 'toolset-export-import';
|
188 |
+
|
189 |
+
const SCRIPT_UTILS = 'toolset-utils';
|
190 |
+
|
191 |
+
/**
|
192 |
+
* For compatibility with ACF Plugin that's not using the right handle for this module (wp-event-manager)
|
193 |
+
* we are using ACF handle to prevent unwanted overrides of window.wp.hooks namespace (******!)
|
194 |
+
*/
|
195 |
+
const SCRIPT_WP_EVENT_MANAGER = 'acf-input';
|
196 |
+
|
197 |
+
// Styles
|
198 |
+
//
|
199 |
+
//
|
200 |
+
|
201 |
+
const STYLE_CODEMIRROR = 'toolset-meta-html-codemirror-css';
|
202 |
+
const STYLE_CODEMIRROR_CSS_HINT = 'toolset-meta-html-codemirror-css-hint-css';
|
203 |
+
|
204 |
+
const STYLE_COLORBOX = 'toolset-colorbox';
|
205 |
+
|
206 |
+
const STYLE_DDL_DIALOGS_FORMS = 'ddl-dialogs-forms-css';
|
207 |
+
const STYLE_DDL_DIALOGS_GENERAL = 'ddl-dialogs-general-css';
|
208 |
+
const STYLE_DDL_DIALOGS = 'ddl-dialogs-css';
|
209 |
+
|
210 |
+
const STYLE_EDITOR_ADDON_MENU = 'editor_addon_menu';
|
211 |
+
const STYLE_EDITOR_ADDON_MENU_SCROLL = 'editor_addon_menu_scroll';
|
212 |
+
|
213 |
+
const STYLE_FONT_AWESOME = 'font-awesome';
|
214 |
+
const STYLE_NOTIFICATIONS = 'toolset-notifications-css';
|
215 |
+
|
216 |
+
const STYLE_SELECT2_CSS = 'toolset-select2-css';
|
217 |
+
|
218 |
+
// These two are identical
|
219 |
+
const STYLE_SELECT2_CSS_LAYOUTS_OVERRIDES = 'layouts-select2-overrides-css';
|
220 |
+
const STYLE_SELECT2_CSS_OVERRIDES = 'toolset-select2-overrides-css';
|
221 |
+
|
222 |
+
const STYLE_TOOLSET_BOOTSTRAP = 'toolset_bootstrap_styles';
|
223 |
+
const STYLE_TOOLSET_COMMON = 'toolset-common';
|
224 |
+
const STYLE_TOOLSET_DIALOGS_OVERRIDES = 'toolset-dialogs-overrides-css';
|
225 |
+
const STYLE_TOOLSET_FORMS_BACKEND = 'wpt-toolset-backend';
|
226 |
+
const STYLE_TOOLSET_PROMOTION = 'toolset-promotion';
|
227 |
+
|
228 |
+
|
229 |
+
// WordPress Core handles
|
230 |
+
//
|
231 |
+
//
|
232 |
+
const STYLE_JQUERY_UI_DIALOG = 'wp-jquery-ui-dialog';
|
233 |
+
|
234 |
+
|
235 |
/**
|
236 |
+
* assets_url
|
237 |
+
*
|
238 |
+
* Base URL for the Toolset Common instance.
|
239 |
+
*
|
240 |
+
* @note Does not have a trailing slash due to untrailingslashit, add it when registering each asset.
|
241 |
+
* @since 2.0
|
242 |
+
*/
|
243 |
+
protected $assets_url = '';
|
244 |
+
|
245 |
|
246 |
protected function __construct() {
|
247 |
+
|
248 |
if ( is_admin() ) {
|
249 |
$this->assets_url = TOOLSET_COMMON_URL;
|
250 |
} else {
|
251 |
$this->assets_url = TOOLSET_COMMON_FRONTEND_URL;
|
252 |
}
|
253 |
+
|
254 |
$this->assets_url = untrailingslashit( $this->assets_url );
|
255 |
+
|
256 |
+
add_action( 'init', array( $this, 'init' ), 99 );
|
257 |
+
|
258 |
+
// Backend
|
259 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'get_rid_of_default_scripts' ) );
|
260 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'get_rid_of_default_styles' ) );
|
261 |
+
|
262 |
+
// Front-end
|
263 |
+
add_action( 'wp_enqueue_scripts', array( $this, 'get_rid_of_default_scripts' ) );
|
264 |
+
add_action( 'wp_enqueue_scripts', array( $this, 'get_rid_of_default_styles' ) );
|
265 |
+
|
266 |
+
add_action( 'toolset_enqueue_scripts', array( $this, 'enqueue_scripts' ), 10, 1 );
|
267 |
+
add_action( 'toolset_enqueue_styles', array( $this, 'enqueue_styles' ), 10, 1 );
|
268 |
+
add_action( 'toolset_localize_script', array( $this, 'localize_script' ), 10, 3 );
|
269 |
}
|
270 |
|
271 |
+
/**
|
272 |
+
* @return Toolset_Assets_Manager
|
273 |
+
*/
|
274 |
final public static function getInstance() {
|
275 |
static $instances = array();
|
276 |
$called_class = get_called_class();
|
277 |
|
278 |
+
if ( isset( $instances[ $called_class ] ) ) {
|
279 |
return $instances[ $called_class ];
|
280 |
} else {
|
281 |
+
if ( class_exists( $called_class ) ) {
|
282 |
$instances[ $called_class ] = new $called_class();
|
283 |
+
|
284 |
return $instances[ $called_class ];
|
285 |
} else {
|
286 |
// This can unfortunately happen when the get_called_class() workaround for PHP 5.2 misbehaves.
|
290 |
|
291 |
}
|
292 |
|
293 |
+
|
294 |
public function init() {
|
295 |
$this->__initialize_styles();
|
296 |
$this->__initialize_scripts();
|
297 |
}
|
298 |
+
|
299 |
+
|
300 |
public function get_assets_url() {
|
301 |
return $this->assets_url;
|
302 |
}
|
303 |
|
304 |
+
|
305 |
+
/**
|
306 |
+
* Pushes to our scripts array other scripts so we can enqueue using our methods
|
307 |
+
*
|
308 |
* @return void
|
|
|
309 |
*/
|
310 |
public function get_rid_of_default_scripts() {
|
311 |
global $wp_scripts;
|
316 |
}
|
317 |
}
|
318 |
|
319 |
+
/**
|
320 |
+
* Pushes to our scripts array other scripts so we can enqueue using our methods
|
321 |
+
*
|
322 |
* @return void
|
|
|
323 |
*/
|
324 |
public function get_rid_of_default_styles() {
|
325 |
global $wp_styles;
|
331 |
}
|
332 |
}
|
333 |
|
334 |
+
|
335 |
protected function __initialize_styles() {
|
336 |
+
|
337 |
// Libraries
|
338 |
+
//
|
339 |
+
//
|
340 |
+
|
341 |
+
$this->register_style(
|
342 |
+
self::STYLE_SELECT2_CSS,
|
343 |
+
$this->assets_url . '/res/lib/select2/select2.css'
|
344 |
+
);
|
345 |
+
|
346 |
+
$this->register_style(
|
347 |
+
self::STYLE_SELECT2_CSS_LAYOUTS_OVERRIDES,
|
348 |
+
$this->assets_url . '/res/lib/select2/select2-overrides.css'
|
349 |
+
);
|
350 |
+
|
351 |
+
$this->register_style(
|
352 |
+
self::STYLE_FONT_AWESOME,
|
353 |
+
$this->assets_url . '/res/lib/font-awesome/css/font-awesome.min.css',
|
354 |
+
array(),
|
355 |
+
'4.4.0',
|
356 |
+
'screen'
|
357 |
+
);
|
358 |
+
|
359 |
+
$this->register_style(
|
360 |
+
self::STYLE_CODEMIRROR,
|
361 |
+
$this->assets_url . '/visual-editor/res/js/codemirror/lib/codemirror.css',
|
362 |
+
array(),
|
363 |
+
"5.5.0"
|
364 |
+
);
|
365 |
+
|
366 |
+
$this->register_style(
|
367 |
+
self::STYLE_CODEMIRROR_CSS_HINT,
|
368 |
+
$this->assets_url . '/visual-editor/res/js/codemirror/addon/hint/show-hint.css',
|
369 |
+
array(),
|
370 |
+
"5.5.0"
|
371 |
+
);
|
372 |
+
|
373 |
+
$this->register_style(
|
374 |
+
self::STYLE_COLORBOX,
|
375 |
+
$this->assets_url . '/res/lib/colorbox/colorbox.css',
|
376 |
+
array(),
|
377 |
+
'1.4.31'
|
378 |
+
);
|
379 |
+
|
380 |
+
|
381 |
// Custom styles
|
382 |
+
//
|
383 |
+
//
|
384 |
+
|
385 |
+
$this->register_style(
|
386 |
+
self::STYLE_SELECT2_CSS_OVERRIDES,
|
387 |
+
$this->assets_url . '/res/lib/select2/select2-overrides.css',
|
388 |
+
array( 'toolset-select2-css' )
|
389 |
+
);
|
390 |
+
|
391 |
+
$this->register_style(
|
392 |
+
self::STYLE_TOOLSET_FORMS_BACKEND,
|
393 |
+
$this->assets_url . '/toolset-forms/css/wpt-toolset-backend.css',
|
394 |
+
array(),
|
395 |
+
TOOLSET_COMMON_VERSION
|
396 |
+
);
|
397 |
+
|
398 |
+
$this->register_style(
|
399 |
+
self::STYLE_NOTIFICATIONS,
|
400 |
+
$this->assets_url . '/res/css/toolset-notifications.css',
|
401 |
+
array(),
|
402 |
+
TOOLSET_COMMON_VERSION
|
403 |
+
);
|
404 |
+
|
405 |
+
$this->register_style(
|
406 |
+
self::STYLE_TOOLSET_COMMON,
|
407 |
+
$this->assets_url . '/res/css/toolset-common.css',
|
408 |
+
array(),
|
409 |
+
TOOLSET_COMMON_VERSION
|
410 |
+
);
|
411 |
+
|
412 |
+
$this->register_style(
|
413 |
+
self::STYLE_TOOLSET_PROMOTION,
|
414 |
+
$this->assets_url . '/res/css/toolset-promotion.css',
|
415 |
+
array( self::STYLE_COLORBOX, 'onthego-admin-styles' ),
|
416 |
+
TOOLSET_COMMON_VERSION
|
417 |
+
);
|
418 |
+
|
419 |
+
$this->register_style(
|
420 |
+
self::STYLE_EDITOR_ADDON_MENU,
|
421 |
+
$this->assets_url . '/visual-editor/res/css/pro_dropdown_2.css',
|
422 |
+
array(),
|
423 |
+
TOOLSET_COMMON_VERSION
|
424 |
+
);
|
425 |
+
|
426 |
+
$this->register_style(
|
427 |
+
self::STYLE_EDITOR_ADDON_MENU_SCROLL,
|
428 |
+
$this->assets_url . '/visual-editor/res/css/scroll.css',
|
429 |
+
array(),
|
430 |
+
TOOLSET_COMMON_VERSION
|
431 |
+
);
|
432 |
+
|
433 |
+
$this->register_style(
|
434 |
+
self::STYLE_TOOLSET_BOOTSTRAP,
|
435 |
+
$this->assets_url . '/res/lib/bootstrap/css/bootstrap.css',
|
436 |
+
array(),
|
437 |
+
TOOLSET_COMMON_VERSION
|
438 |
+
);
|
439 |
+
|
440 |
+
$this->register_style(
|
441 |
+
self::STYLE_DDL_DIALOGS_FORMS,
|
442 |
+
$this->assets_url . '/utility/dialogs/css/dd-dialogs-forms.css',
|
443 |
+
TOOLSET_VERSION
|
444 |
+
);
|
445 |
+
|
446 |
+
$this->register_style(
|
447 |
+
self::STYLE_DDL_DIALOGS_GENERAL,
|
448 |
+
$this->assets_url . '/utility/dialogs/css/dd-dialogs-general.css',
|
449 |
+
array( self::STYLE_JQUERY_UI_DIALOG ),
|
450 |
+
TOOLSET_VERSION
|
451 |
+
);
|
452 |
+
|
453 |
+
$this->register_style(
|
454 |
+
self::STYLE_DDL_DIALOGS,
|
455 |
+
$this->assets_url . '/utility/dialogs/css/dd-dialogs.css',
|
456 |
+
array( self::STYLE_DDL_DIALOGS_GENERAL ),
|
457 |
+
TOOLSET_VERSION
|
458 |
+
);
|
459 |
+
|
460 |
+
$this->register_style(
|
461 |
+
self::STYLE_TOOLSET_DIALOGS_OVERRIDES,
|
462 |
+
$this->assets_url . '/res/css/toolset-dialogs.css',
|
463 |
+
array(),
|
464 |
+
TOOLSET_COMMON_VERSION
|
465 |
+
);
|
466 |
+
|
467 |
+
return apply_filters( 'toolset_add_registered_styles', $this->styles );
|
468 |
+
}
|
469 |
+
|
470 |
|
471 |
protected function __initialize_scripts() {
|
472 |
+
|
473 |
// Libraries
|
474 |
+
//
|
475 |
+
//
|
476 |
+
|
477 |
+
$this->register_script(
|
478 |
+
self::SCRIPT_HEADJS,
|
479 |
+
$this->assets_url . "/res/lib/head.min.js",
|
480 |
+
array(),
|
481 |
+
TOOLSET_COMMON_VERSION,
|
482 |
+
true
|
483 |
+
);
|
484 |
+
|
485 |
+
$this->register_script(
|
486 |
+
self::SCRIPT_JSTORAGE,
|
487 |
+
$this->assets_url . "/res/lib/jstorage.min.js",
|
488 |
+
array(),
|
489 |
+
TOOLSET_COMMON_VERSION,
|
490 |
+
true
|
491 |
+
);
|
492 |
+
|
493 |
+
$this->register_script(
|
494 |
+
self::SCRIPT_SELECT2_COMPATIBILITY,
|
495 |
+
$this->assets_url . "/res/js/toolset-select2-compatibility.js",
|
496 |
+
array( 'jquery' ),
|
497 |
+
TOOLSET_COMMON_VERSION,
|
498 |
+
true
|
499 |
+
);
|
500 |
+
|
501 |
+
$this->register_script(
|
502 |
+
self::SCRIPT_SELECT2,
|
503 |
+
$this->assets_url . "/res/lib/select2/select2.js",
|
504 |
+
array( 'jquery', self::SCRIPT_SELECT2_COMPATIBILITY ),
|
505 |
+
'4.0.3',
|
506 |
+
true
|
507 |
+
);
|
508 |
+
|
509 |
+
$this->register_script(
|
510 |
+
self::SCRIPT_COLORBOX,
|
511 |
+
$this->assets_url . "/res/lib/colorbox/jquery.colorbox-min.js",
|
512 |
+
array( 'jquery' ),
|
513 |
+
'1.4.31',
|
514 |
+
true
|
515 |
+
);
|
516 |
+
|
517 |
+
$this->register_script(
|
518 |
+
self::SCRIPT_BOOTSTRAP,
|
519 |
+
$this->assets_url . '/res/lib/bootstrap/js/' . $this->choose_script_version( 'bootstrap.min.js', 'bootstrap.js' ),
|
520 |
+
array( 'jquery' ),
|
521 |
+
'3.3.7',
|
522 |
+
true
|
523 |
+
);
|
524 |
+
|
525 |
+
$this->register_script(
|
526 |
+
self::SCRIPT_KNOCKOUT,
|
527 |
+
$this->assets_url . '/res/lib/knockout/' . $this->choose_script_version( 'knockout-3.4.0.js', 'knockout-3.4.0.debug.js' ),
|
528 |
+
array(),
|
529 |
+
'3.4.0'
|
530 |
+
);
|
531 |
+
|
532 |
+
$this->register_script(
|
533 |
+
self::SCRIPT_WP_EVENT_MANAGER,
|
534 |
+
$this->assets_url . "/res/lib/events-manager/event-manager.min.js",
|
535 |
+
array(),
|
536 |
+
'1.0',
|
537 |
+
true
|
538 |
+
);
|
539 |
+
|
540 |
+
$this->register_script(
|
541 |
+
self::SCRIPT_TOOLSET_EVENT_MANAGER,
|
542 |
+
$this->assets_url . "/res/lib/toolset-event-manager/toolset-event-manager.min.js",
|
543 |
+
array(),
|
544 |
+
'1.0',
|
545 |
+
true
|
546 |
+
);
|
547 |
+
|
548 |
+
$this->register_script(
|
549 |
+
self::SCRIPT_CODEMIRROR,
|
550 |
+
$this->assets_url . '/visual-editor/res/js/codemirror/lib/codemirror.js',
|
551 |
+
array( 'jquery' ),
|
552 |
+
"5.5.0"
|
553 |
+
);
|
554 |
+
|
555 |
+
$this->register_script(
|
556 |
+
self::SCRIPT_CODEMIRROR_OVERLAY,
|
557 |
+
$this->assets_url . '/visual-editor/res/js/codemirror/addon/mode/overlay.js',
|
558 |
+
array( self::SCRIPT_CODEMIRROR ),
|
559 |
+
"5.5.0"
|
560 |
+
);
|
561 |
+
|
562 |
+
$this->register_script(
|
563 |
+
self::SCRIPT_CODEMIRROR_XML,
|
564 |
+
$this->assets_url . '/visual-editor/res/js/codemirror/mode/xml/xml.js',
|
565 |
+
array( self::SCRIPT_CODEMIRROR_OVERLAY ),
|
566 |
+
"5.5.0"
|
567 |
+
);
|
568 |
+
|
569 |
+
$this->register_script(
|
570 |
+
self::SCRIPT_CODEMIRROR_CSS,
|
571 |
+
$this->assets_url . '/visual-editor/res/js/codemirror/mode/css/css.js',
|
572 |
+
array( self::SCRIPT_CODEMIRROR_OVERLAY ),
|
573 |
+
"5.5.0"
|
574 |
+
);
|
575 |
+
|
576 |
+
$this->register_script(
|
577 |
+
self::SCRIPT_CODEMIRROR_HTMLMIXED,
|
578 |
+
$this->assets_url . '/visual-editor/res/js/codemirror/mode/htmlmixed/htmlmixed.js',
|
579 |
+
array( self::SCRIPT_CODEMIRROR_OVERLAY ),
|
580 |
+
"5.5.0"
|
581 |
+
);
|
582 |
+
|
583 |
+
$this->register_script(
|
584 |
+
self::SCRIPT_CODEMIRROR_JS,
|
585 |
+
$this->assets_url . '/visual-editor/res/js/codemirror/mode/javascript/javascript.js',
|
586 |
+
array( self::SCRIPT_CODEMIRROR_OVERLAY ),
|
587 |
+
"5.5.0"
|
588 |
+
);
|
589 |
+
|
590 |
+
$this->register_script(
|
591 |
+
self::SCRIPT_CODEMIRROR_UTILS_SEARCH,
|
592 |
+
$this->assets_url . '/visual-editor/res/js/codemirror/addon/search/search.js',
|
593 |
+
array( self::SCRIPT_CODEMIRROR ),
|
594 |
+
"5.5.0"
|
595 |
+
);
|
596 |
+
|
597 |
+
$this->register_script(
|
598 |
+
self::SCRIPT_CODEMIRROR_UTILS_SEARCH_CURSOR,
|
599 |
+
$this->assets_url . '/visual-editor/res/js/codemirror/addon/search/searchcursor.js',
|
600 |
+
array( self::SCRIPT_CODEMIRROR_UTILS_SEARCH ),
|
601 |
+
"5.5.0"
|
602 |
+
);
|
603 |
+
|
604 |
+
$this->register_script(
|
605 |
+
self::SCRIPT_CODEMIRROR_UTILS_HINT,
|
606 |
+
$this->assets_url . '/visual-editor/res/js/codemirror/addon/hint/show-hint.js',
|
607 |
+
array( self::SCRIPT_CODEMIRROR ),
|
608 |
+
"5.5.0"
|
609 |
+
);
|
610 |
+
|
611 |
+
$this->register_script(
|
612 |
+
self::SCRIPT_CODEMIRROR_UTILS_HINT_CSS,
|
613 |
+
$this->assets_url . '/visual-editor/res/js/codemirror/addon/hint/css-hint.js',
|
614 |
+
array( self::SCRIPT_CODEMIRROR_UTILS_HINT ),
|
615 |
+
"5.5.0"
|
616 |
+
);
|
617 |
+
|
618 |
+
$this->register_script(
|
619 |
+
self::SCRIPT_CODEMIRROR_UTILS_PANEL,
|
620 |
+
$this->assets_url . '/visual-editor/res/js/codemirror/addon/display/panel.js',
|
621 |
+
array( self::SCRIPT_CODEMIRROR ),
|
622 |
+
"5.5.0"
|
623 |
+
);
|
624 |
+
|
625 |
// Custom scripts
|
626 |
+
//
|
627 |
+
//
|
628 |
+
|
629 |
+
$this->register_script(
|
630 |
+
self::SCRIPT_UTILS,
|
631 |
+
$this->assets_url . "/utility/js/utils.js",
|
632 |
+
array( 'jquery', 'underscore', 'backbone', 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-dialog' ),
|
633 |
+
'1.2.2',
|
634 |
+
true
|
635 |
+
);
|
636 |
+
|
637 |
+
$this->register_script(
|
638 |
+
self::SCRIPT_ICL_EDITOR,
|
639 |
+
$this->assets_url . '/visual-editor/res/js/icl_editor_addon_plugin.js',
|
640 |
+
array( 'jquery', 'quicktags', 'wplink', self::SCRIPT_CODEMIRROR ),
|
641 |
+
TOOLSET_COMMON_VERSION
|
642 |
+
);
|
643 |
+
|
644 |
+
$this->register_script(
|
645 |
+
self::SCRIPT_ICL_MEDIA_MANAGER,
|
646 |
+
$this->assets_url . '/visual-editor/res/js/icl_media_manager.js',
|
647 |
+
array( self::SCRIPT_ICL_EDITOR ),
|
648 |
+
TOOLSET_COMMON_VERSION
|
649 |
+
);
|
650 |
+
|
651 |
+
$this->register_script(
|
652 |
+
self::SCRIPT_JSCROLLPANE,
|
653 |
+
"{$this->assets_url}/visual-editor/res/js/scrollbar.js",
|
654 |
+
array('jquery'),
|
655 |
+
'2.0.0'
|
656 |
+
);
|
657 |
+
|
658 |
+
|
659 |
+
$this->register_script(
|
660 |
+
self::SCRIPT_MOUSEWHEEL,
|
661 |
+
"{$this->assets_url}/visual-editor/res/js/mousewheel.js",
|
662 |
+
array( self::SCRIPT_JSCROLLPANE ),
|
663 |
+
TOOLSET_COMMON_VERSION
|
664 |
+
);
|
665 |
+
|
666 |
+
|
667 |
+
$this->register_script(
|
668 |
+
self::SCRIPT_TOOLSET_PARSER,
|
669 |
+
$this->assets_url . '/res/js/toolset-parser.js',
|
670 |
+
array( 'jquery' ),
|
671 |
+
TOOLSET_COMMON_VERSION,
|
672 |
+
true
|
673 |
+
);
|
674 |
+
|
675 |
+
$this->register_script(
|
676 |
+
self::SCRIPT_TOOLSET_PROMOTION,
|
677 |
+
$this->assets_url . "/res/js/toolset-promotion.js",
|
678 |
+
array( 'underscore', self::SCRIPT_COLORBOX ),
|
679 |
+
TOOLSET_COMMON_VERSION,
|
680 |
+
true
|
681 |
+
);
|
682 |
+
|
683 |
+
$this->register_script(
|
684 |
+
self::SCRIPT_TOOLSET_SETTINGS,
|
685 |
+
$this->assets_url . "/res/js/toolset-settings.js",
|
686 |
+
array( 'jquery', 'underscore', self::SCRIPT_UTILS ),
|
687 |
+
TOOLSET_COMMON_VERSION,
|
688 |
+
true
|
689 |
+
);
|
690 |
+
|
691 |
+
$this->register_script(
|
692 |
+
self::SCRIPT_TOOLSET_EXPORT_IMPORT,
|
693 |
+
$this->assets_url . "/res/js/toolset-export-import.js",
|
694 |
+
array( 'jquery', 'underscore' ),
|
695 |
+
TOOLSET_COMMON_VERSION,
|
696 |
+
true
|
697 |
+
);
|
698 |
|
699 |
$this->localize_script(
|
700 |
+
self::SCRIPT_UTILS,
|
701 |
+
'toolset_utils_texts',
|
702 |
+
array(
|
703 |
+
'wpv_dont_show_it_again' => __( "Got it! Don't show this message again", 'wpv-views' ),
|
704 |
+
'wpv_close' => __( 'Close', 'wpv-views' )
|
705 |
+
)
|
706 |
+
);
|
707 |
+
|
708 |
$this->localize_script(
|
709 |
+
self::SCRIPT_ICL_EDITOR,
|
710 |
+
'icl_editor_localization_texts',
|
711 |
+
array(
|
712 |
+
'wpv_insert_conditional_shortcode' => __( 'Insert conditional shortcode', 'wpv-views' ),
|
713 |
+
'wpv_conditional_button' => __( 'conditional output', 'wpv-views' ),
|
714 |
+
'wpv_editor_callback_nonce' => wp_create_nonce( 'wpv_editor_callback' )
|
715 |
+
)
|
716 |
+
);
|
717 |
+
|
718 |
$this->localize_script(
|
719 |
+
self::SCRIPT_ICL_MEDIA_MANAGER,
|
720 |
+
'icl_media_manager',
|
721 |
+
array(
|
722 |
+
'only_img_allowed_here' => __( "You can only use an image file here", 'wpv-views' )
|
723 |
+
)
|
724 |
+
);
|
725 |
+
|
726 |
+
Toolset_Settings::get_instance();
|
727 |
+
|
728 |
$this->localize_script(
|
729 |
+
self::SCRIPT_TOOLSET_SETTINGS,
|
730 |
+
'toolset_settings_texts',
|
731 |
+
array(
|
732 |
+
'autosave_saving' => '<i class="fa fa-refresh fa-spin"></i>' . __( 'Saving...', 'wpv-views' ),
|
733 |
+
'autosave_saved' => '<i class="fa fa-check"></i>' . __( 'All changes saved', 'wpv-views' ),
|
734 |
+
'autosave_failed' => '<i class="fa fa-exclamation-triangle"></i>' . __( 'Saving failed. Please reload the page and try again.', 'wpv-views' ),
|
735 |
+
'toolset_bootstrap_version_filter' => apply_filters( 'toolset-toolset_bootstrap_version_filter', false ),
|
736 |
+
'toolset_bootstrap_version_selected' => apply_filters( 'toolset-toolset_bootstrap_version_manually_selected', false ),
|
737 |
+
'toolset_theme_loads_own_bs' => __( 'This theme loads its own version of Bootstrap. You should select this option to avoid loading Bootstrap twice and causing display problems on the site\'s front-end', 'wpv_views' )
|
738 |
+
)
|
739 |
+
);
|
740 |
+
|
741 |
+
return apply_filters( 'toolset_add_registered_script', $this->scripts );
|
742 |
+
}
|
743 |
+
|
744 |
|
745 |
public function enqueue_scripts( $handles ) {
|
746 |
if ( is_array( $handles ) ) {
|
756 |
}
|
757 |
}
|
758 |
|
759 |
+
|
760 |
public function enqueue_styles( $handles ) {
|
761 |
if ( is_array( $handles ) ) {
|
762 |
foreach ( $handles as $handle ) {
|
765 |
}
|
766 |
}
|
767 |
} else if ( is_string( $handles ) ) {
|
768 |
+
if ( isset( $this->styles[ $handles ] ) ) {
|
769 |
$this->styles[ $handles ]->enqueue();
|
770 |
}
|
771 |
}
|
772 |
}
|
773 |
|
774 |
+
|
775 |
public function deregister_scripts( $handles ) {
|
776 |
if ( is_array( $handles ) ) {
|
777 |
foreach ( $handles as $handle ) {
|
788 |
}
|
789 |
}
|
790 |
|
791 |
+
|
792 |
public function deregister_styles( $handles ) {
|
793 |
if ( is_array( $handles ) ) {
|
794 |
foreach ( $handles as $handle ) {
|
805 |
}
|
806 |
}
|
807 |
|
808 |
+
|
809 |
public function register_script( $handle, $path = '', $deps = array(), $ver = false, $in_footer = false ) {
|
810 |
if ( ! isset( $this->scripts[ $handle ] ) ) {
|
811 |
$this->scripts[ $handle ] = new Toolset_Script( $handle, $path, $deps, $ver, $in_footer );
|
812 |
}
|
813 |
}
|
814 |
|
815 |
+
|
816 |
public function register_style( $handle, $path = '', $deps = array(), $ver = false, $media = 'screen' ) {
|
817 |
if ( ! isset( $this->styles[ $handle ] ) ) {
|
818 |
+
$this->styles[ $handle ] = new Toolset_Style( $handle, $path, $deps, $ver, $media );
|
819 |
}
|
820 |
}
|
821 |
|
822 |
+
|
823 |
public function localize_script( $handle, $object, $args ) {
|
824 |
if ( isset( $this->scripts[ $handle ] ) ) {
|
825 |
$this->scripts[ $handle ]->localize( $object, $args );
|
826 |
}
|
827 |
}
|
828 |
+
|
829 |
+
|
830 |
+
/**
|
831 |
+
* Decide if WordPress is in the "script debug" mode where it includes all its script in a non-minified form.
|
832 |
+
*
|
833 |
+
* If it is, we should do the same.
|
834 |
+
*
|
835 |
+
* @return bool
|
836 |
+
* @since 2.3
|
837 |
+
*/
|
838 |
+
public function is_script_debug_mode_on() {
|
839 |
+
return ( defined( 'SCRIPT_DEBUG' ) && true == SCRIPT_DEBUG );
|
840 |
+
}
|
841 |
+
|
842 |
+
|
843 |
+
/**
|
844 |
+
* Choose a production (usually minified) or debugging (non-minified) version of
|
845 |
+
* a script depending on the script debugging mode.
|
846 |
+
*
|
847 |
+
* See SCRIPT_DEBUG constant
|
848 |
+
*
|
849 |
+
* @param string $production_version File name of the production script version.
|
850 |
+
* @param string $debugging_version File name of the debugging script version.
|
851 |
+
*
|
852 |
+
* @return string
|
853 |
+
* @since 2.2.7
|
854 |
+
*/
|
855 |
+
private function choose_script_version( $production_version, $debugging_version ) {
|
856 |
+
return ( $this->is_script_debug_mode_on() ? $debugging_version : $production_version );
|
857 |
+
}
|
858 |
+
|
859 |
}
|
library/toolset/toolset-common/inc/toolset.bootstrap.loader.class.php
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( ! class_exists( 'Toolset_Bootstrap_Loader' ) ) {
|
4 |
+
|
5 |
+
Class Toolset_Bootstrap_Loader
|
6 |
+
{
|
7 |
+
private static $instance;
|
8 |
+
|
9 |
+
function __construct() {
|
10 |
+
$settings = Toolset_Settings::get_instance();
|
11 |
+
if( $settings->toolset_bootstrap_version === "3.toolset" ){
|
12 |
+
add_action( 'wp_enqueue_scripts', array(&$this, 'enqueue_bootstrap_in_front_end') );
|
13 |
+
}
|
14 |
+
|
15 |
+
}
|
16 |
+
|
17 |
+
public static function getInstance() {
|
18 |
+
if( !self::$instance ) {
|
19 |
+
self::$instance = new Toolset_Bootstrap_Loader();
|
20 |
+
}
|
21 |
+
|
22 |
+
return self::$instance;
|
23 |
+
}
|
24 |
+
|
25 |
+
|
26 |
+
public function enqueue_bootstrap_in_front_end()
|
27 |
+
{
|
28 |
+
|
29 |
+
do_action( 'toolset_enqueue_styles', array(
|
30 |
+
'toolset_bootstrap_styles',
|
31 |
+
) );
|
32 |
+
|
33 |
+
do_action( 'toolset_enqueue_scripts', array(
|
34 |
+
'toolset_bootstrap',
|
35 |
+
) );
|
36 |
+
|
37 |
+
}
|
38 |
+
}
|
39 |
+
}
|
library/toolset/toolset-common/inc/toolset.css.component.class.php
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* This class will take care of loading bootstrap components buttons and custom buttons added by user
|
4 |
-
* Buttons will be visible on pages defined in $this->allowed_pages()
|
5 |
*
|
6 |
* since: Layouts 1.8
|
7 |
*/
|
@@ -16,17 +15,25 @@ if ( ! class_exists( 'Toolset_CssComponent' ) ) {
|
|
16 |
const BOOTSTRAP_CSS_DOC_BASE = 'http://getbootstrap.com/css/';
|
17 |
|
18 |
function __construct() {
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
add_action( 'wp_ajax_toolset_bs_update_option', array($this, 'toolset_bs_update_option') );
|
|
|
28 |
}
|
29 |
-
|
30 |
public static function getInstance() {
|
31 |
if( !self::$instance ) {
|
32 |
self::$instance = new Toolset_CssComponent();
|
@@ -35,6 +42,41 @@ if ( ! class_exists( 'Toolset_CssComponent' ) ) {
|
|
35 |
return self::$instance;
|
36 |
}
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
function add_toggle_button($buttons)
|
39 |
{
|
40 |
if(wp_script_is( 'quicktags' )) {
|
@@ -53,6 +95,7 @@ if ( ! class_exists( 'Toolset_CssComponent' ) ) {
|
|
53 |
public function add_register_styles($styles){
|
54 |
$styles['toolset-bs-component-style'] = new Toolset_Style( 'toolset-bs-component-style', TOOLSET_COMMON_URL . '/res/css/toolset-bs-component.css', array(), TOOLSET_VERSION );
|
55 |
$styles['glyphicons'] = new Toolset_Style( 'glyphicons', TOOLSET_COMMON_URL. '/res/lib/glyphicons/css/glyphicons.css', array(), '3.3.5', 'screen' );
|
|
|
56 |
return $styles;
|
57 |
}
|
58 |
|
@@ -68,10 +111,11 @@ if ( ! class_exists( 'Toolset_CssComponent' ) ) {
|
|
68 |
|
69 |
wp_die();
|
70 |
}
|
71 |
-
|
|
|
72 |
public function admin_enqueue_scripts()
|
73 |
{
|
74 |
-
|
75 |
if(!$this->is_allowed_page()){
|
76 |
return;
|
77 |
}
|
@@ -82,16 +126,24 @@ if ( ! class_exists( 'Toolset_CssComponent' ) ) {
|
|
82 |
'ddl-dialogs-css',
|
83 |
'glyphicons'
|
84 |
));
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
|
86 |
$get_components = $this->all_css_components();
|
87 |
-
|
88 |
do_action('toolset_enqueue_scripts', array(
|
89 |
'toolset-css-component-buttons',
|
90 |
-
'toolset-css-component-events'
|
|
|
91 |
));
|
92 |
|
93 |
do_action('toolset_localize_script', 'toolset-css-component-events', 'Toolset_CssComponent', array(
|
94 |
'DDL_CSS_JS' => array(
|
|
|
95 |
'available_css' => $get_components['css'],
|
96 |
'button_toggle_show' => __('Show Bootstrap buttons','ddl-layouts'),
|
97 |
'button_toggle_hide' => __('Hide Bootstrap buttons','ddl-layouts'),
|
@@ -111,21 +163,34 @@ if ( ! class_exists( 'Toolset_CssComponent' ) ) {
|
|
111 |
)
|
112 |
);
|
113 |
}
|
114 |
-
|
115 |
-
|
116 |
-
// list of allowed pages (only there we will load buttons)
|
117 |
-
public function allowed_pages(){
|
118 |
-
return array('dd_layouts_edit','views-editor','ct-editor','view-archives-editor');
|
119 |
-
}
|
120 |
|
121 |
// check is allowed page currently loaded
|
122 |
public function is_allowed_page(){
|
123 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
$bootstrap_available = false;
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
if(isset($bootstrap_version_option["wpv_bootstrap_version"]) && $bootstrap_version_option["wpv_bootstrap_version"] != "-1"){
|
129 |
$bootstrap_available = true;
|
130 |
}
|
131 |
|
@@ -133,107 +198,66 @@ if ( ! class_exists( 'Toolset_CssComponent' ) ) {
|
|
133 |
$bootstrap_available = true;
|
134 |
}
|
135 |
|
136 |
-
|
137 |
-
|
138 |
-
if(!in_array($get_page, $this->allowed_pages()) || $bootstrap_available === false){
|
139 |
-
return false;
|
140 |
-
} else {
|
141 |
-
return true;
|
142 |
-
}
|
143 |
-
}
|
144 |
-
|
145 |
-
|
146 |
-
function admin_init(){
|
147 |
-
|
148 |
-
if(!$this->is_allowed_page()){
|
149 |
-
return;
|
150 |
-
}
|
151 |
-
|
152 |
-
// register buttons for tinyMCE
|
153 |
-
add_filter( 'mce_external_plugins', array($this,'toolset_tinymce_register_buttons') );
|
154 |
-
add_filter( "mce_buttons_3", array( $this, "register_buttons_editor_components" ) );
|
155 |
-
add_filter( "mce_buttons_3", array( $this, "register_buttons_editor_css" ) );
|
156 |
-
add_filter( "mce_buttons_3", array( $this, "register_buttons_other" ) );
|
157 |
-
add_filter('mce_buttons', array(&$this, 'add_toggle_button') );
|
158 |
-
}
|
159 |
-
|
160 |
-
function load_dialog_boxes(){
|
161 |
-
|
162 |
-
$dialogs = array();
|
163 |
-
$dialogs[] = new WPDDL_CssComponenetDialog( array('toolset_page_views-editor','toolset_page_dd_layouts_edit','toolset_page_view-archives-editor','toolset_page_ct-editor') );
|
164 |
-
|
165 |
-
foreach( $dialogs as &$dialog ){
|
166 |
-
add_action('current_screen', array(&$dialog, 'init_screen_render') );
|
167 |
-
}
|
168 |
-
return $dialogs;
|
169 |
-
}
|
170 |
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
//enqueue TinyMCE plugin script with its ID.
|
179 |
-
$get_components = $this->all_css_components();
|
180 |
-
foreach($get_components['components'] as $key=>$value){
|
181 |
-
$plugin_array["css_components_".$key."_button"] = TOOLSET_COMMON_URL . "/res/js/toolset-bs-component-buttons.js";
|
182 |
}
|
183 |
-
|
184 |
-
|
|
|
185 |
}
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
}
|
190 |
|
191 |
-
$
|
192 |
-
|
|
|
193 |
|
194 |
-
return $plugin_array;
|
195 |
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
if(wp_script_is( 'quicktags' )) {
|
200 |
-
//register buttons with their id.
|
201 |
-
$get_components = $this->all_css_components();
|
202 |
-
foreach($get_components['components'] as $key=>$value){
|
203 |
-
array_push( $buttons, "css_components_".$key."_button" );
|
204 |
}
|
205 |
-
|
206 |
}
|
207 |
|
208 |
-
return
|
209 |
-
}
|
210 |
-
|
211 |
-
function register_buttons_editor_css($buttons){
|
212 |
-
if(wp_script_is( 'quicktags' )) {
|
213 |
-
//register buttons with their id.
|
214 |
-
$get_components = $this->all_css_components();
|
215 |
-
foreach($get_components['css'] as $key=>$value){
|
216 |
-
array_push( $buttons, "css_".$key."_button" );
|
217 |
-
}
|
218 |
-
}
|
219 |
|
220 |
-
return $buttons;
|
221 |
}
|
|
|
222 |
|
223 |
-
function
|
224 |
-
if(wp_script_is( 'quicktags' )) {
|
225 |
-
//register buttons with their id.
|
226 |
-
$get_components = $this->all_css_components();
|
227 |
-
foreach($get_components['other'] as $key=>$value){
|
228 |
-
array_push( $buttons, "other_".$key."_button" );
|
229 |
-
}
|
230 |
|
231 |
-
|
232 |
|
233 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
234 |
}
|
235 |
|
236 |
-
/////////////////
|
237 |
|
238 |
function preload_styles(){
|
239 |
|
@@ -241,11 +265,30 @@ if ( ! class_exists( 'Toolset_CssComponent' ) ) {
|
|
241 |
'toolset-bs-component-style',
|
242 |
'wp-jquery-ui-dialog',
|
243 |
'ddl-dialogs-css',
|
244 |
-
'glyphicons'
|
|
|
245 |
));
|
246 |
}
|
247 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
248 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
249 |
|
250 |
public function get_extra_editor_buttons(){
|
251 |
$additional_buttons = apply_filters('extra_editor_buttons', array());
|
@@ -340,7 +383,7 @@ if ( ! class_exists( 'Toolset_CssComponent' ) ) {
|
|
340 |
),
|
341 |
'badges' => array(
|
342 |
'url' => self::BOOTSTRAP_CSS_COMPONENTS_DOC_BASE.'#badges',
|
343 |
-
'description' => __('Easily highlight new or unread items by adding a <span class="badge"> to links, Bootstrap navs, and more.','ddl-layouts'),
|
344 |
'button_icon' => ' glyphicon glyphicon-certificate ',
|
345 |
'button_icon_size' => 'ont-icon-18',
|
346 |
'dialog_icon_size' => 'ont-icon-72',
|
@@ -503,12 +546,17 @@ if ( ! class_exists( 'Toolset_CssComponent' ) ) {
|
|
503 |
|
504 |
}
|
505 |
|
506 |
-
class
|
507 |
|
508 |
function __construct( $screens ){
|
509 |
parent::__construct( $screens );
|
|
|
|
|
|
|
|
|
|
|
510 |
}
|
511 |
-
|
512 |
|
513 |
public function template(){
|
514 |
ob_start();?>
|
1 |
<?php
|
2 |
/*
|
3 |
* This class will take care of loading bootstrap components buttons and custom buttons added by user
|
|
|
4 |
*
|
5 |
* since: Layouts 1.8
|
6 |
*/
|
15 |
const BOOTSTRAP_CSS_DOC_BASE = 'http://getbootstrap.com/css/';
|
16 |
|
17 |
function __construct() {
|
18 |
+
|
19 |
+
|
20 |
+
|
21 |
+
if(is_admin()){
|
22 |
+
add_action( 'admin_head', array( $this, 'add_bs_component_buttons_to_tinymce' ) );
|
23 |
+
add_action( 'admin_print_scripts', array(&$this, 'admin_enqueue_scripts') );
|
24 |
+
} else {
|
25 |
+
add_action( 'init', array( $this, 'add_bs_component_buttons_to_tinymce' ) );
|
26 |
+
add_action( 'wp_print_scripts', array(&$this, 'admin_enqueue_scripts') );
|
27 |
+
}
|
28 |
+
|
29 |
+
add_action( 'init', array($this, 'load_dialog_boxes')) ;
|
30 |
+
add_filter( 'toolset_add_registered_script', array(&$this, 'add_register_scripts') );
|
31 |
+
add_filter( 'toolset_add_registered_styles', array(&$this, 'add_register_styles') );
|
32 |
+
|
33 |
add_action( 'wp_ajax_toolset_bs_update_option', array($this, 'toolset_bs_update_option') );
|
34 |
+
|
35 |
}
|
36 |
+
|
37 |
public static function getInstance() {
|
38 |
if( !self::$instance ) {
|
39 |
self::$instance = new Toolset_CssComponent();
|
42 |
return self::$instance;
|
43 |
}
|
44 |
|
45 |
+
function add_bs_component_buttons_to_tinymce() {
|
46 |
+
$allowed_page = $this->is_allowed_page();
|
47 |
+
if(!$allowed_page){
|
48 |
+
return;
|
49 |
+
}
|
50 |
+
|
51 |
+
if ( current_user_can( 'edit_posts' ) && current_user_can( 'edit_pages' ) ) {
|
52 |
+
add_filter( 'mce_buttons', array($this,'add_toggle_button') );
|
53 |
+
add_filter( 'mce_buttons_3', array($this,'register_bs_component_tinymce_buttons') );
|
54 |
+
add_filter( 'mce_external_plugins', array($this,'add_bs_component_tinymce_buttons') );
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
function register_bs_component_tinymce_buttons( $buttons ) {
|
59 |
+
$get_components = $this->all_css_components();
|
60 |
+
foreach($get_components['components'] as $key=>$value){
|
61 |
+
array_push( $buttons, 'css_components_'.$key.'_button' );
|
62 |
+
}
|
63 |
+
foreach($get_components['css'] as $key=>$value){
|
64 |
+
array_push( $buttons, 'css_'.$key.'_button' );
|
65 |
+
}
|
66 |
+
|
67 |
+
foreach($get_components['other'] as $key=>$value){
|
68 |
+
array_push( $buttons, 'css_components_'.$key.'_button' );
|
69 |
+
}
|
70 |
+
|
71 |
+
return $buttons;
|
72 |
+
}
|
73 |
+
|
74 |
+
function add_bs_component_tinymce_buttons( $plugin_array ) {
|
75 |
+
|
76 |
+
$plugin_array['bs_component_buttons_script'] = TOOLSET_COMMON_URL . "/res/js/toolset-bs-component-tinymce.js";
|
77 |
+
return $plugin_array;
|
78 |
+
}
|
79 |
+
|
80 |
function add_toggle_button($buttons)
|
81 |
{
|
82 |
if(wp_script_is( 'quicktags' )) {
|
95 |
public function add_register_styles($styles){
|
96 |
$styles['toolset-bs-component-style'] = new Toolset_Style( 'toolset-bs-component-style', TOOLSET_COMMON_URL . '/res/css/toolset-bs-component.css', array(), TOOLSET_VERSION );
|
97 |
$styles['glyphicons'] = new Toolset_Style( 'glyphicons', TOOLSET_COMMON_URL. '/res/lib/glyphicons/css/glyphicons.css', array(), '3.3.5', 'screen' );
|
98 |
+
$styles['onthego-admin-styles'] = new Toolset_Style( 'onthego-admin-styles', ON_THE_GO_SYSTEMS_BRANDING_REL_PATH .'onthego-styles/onthego-styles.css', array(), TOOLSET_VERSION );
|
99 |
return $styles;
|
100 |
}
|
101 |
|
111 |
|
112 |
wp_die();
|
113 |
}
|
114 |
+
|
115 |
+
|
116 |
public function admin_enqueue_scripts()
|
117 |
{
|
118 |
+
|
119 |
if(!$this->is_allowed_page()){
|
120 |
return;
|
121 |
}
|
126 |
'ddl-dialogs-css',
|
127 |
'glyphicons'
|
128 |
));
|
129 |
+
|
130 |
+
$current_screen = 'front_end';
|
131 |
+
if(is_admin()){
|
132 |
+
$get_screen = get_current_screen();
|
133 |
+
$current_screen = $get_screen->base;
|
134 |
+
}
|
135 |
|
136 |
$get_components = $this->all_css_components();
|
137 |
+
|
138 |
do_action('toolset_enqueue_scripts', array(
|
139 |
'toolset-css-component-buttons',
|
140 |
+
'toolset-css-component-events',
|
141 |
+
'toolset-event-manager'
|
142 |
));
|
143 |
|
144 |
do_action('toolset_localize_script', 'toolset-css-component-events', 'Toolset_CssComponent', array(
|
145 |
'DDL_CSS_JS' => array(
|
146 |
+
'current_screen' => $current_screen,
|
147 |
'available_css' => $get_components['css'],
|
148 |
'button_toggle_show' => __('Show Bootstrap buttons','ddl-layouts'),
|
149 |
'button_toggle_hide' => __('Hide Bootstrap buttons','ddl-layouts'),
|
163 |
)
|
164 |
);
|
165 |
}
|
166 |
+
|
|
|
|
|
|
|
|
|
|
|
167 |
|
168 |
// check is allowed page currently loaded
|
169 |
public function is_allowed_page(){
|
170 |
+
|
171 |
+
|
172 |
+
$allowed_screens = array(
|
173 |
+
'toolset_page_views-editor',
|
174 |
+
'toolset_page_ct-editor',
|
175 |
+
'toolset_page_view-archives-editor',
|
176 |
+
'toolset_page_dd_layouts_edit',
|
177 |
+
'page',
|
178 |
+
'post',
|
179 |
+
);
|
180 |
+
|
181 |
+
$allowed_pages = array(
|
182 |
+
'dd_layouts_edit',
|
183 |
+
'views-editor',
|
184 |
+
'ct-editor',
|
185 |
+
'view-archives-editor'
|
186 |
+
);
|
187 |
+
|
188 |
+
|
189 |
+
|
190 |
$bootstrap_available = false;
|
191 |
+
$bootstrap_version = Toolset_Settings::get_instance();
|
192 |
+
|
193 |
+
if(isset($bootstrap_version->toolset_bootstrap_version) && $bootstrap_version->toolset_bootstrap_version != "-1"){
|
|
|
194 |
$bootstrap_available = true;
|
195 |
}
|
196 |
|
198 |
$bootstrap_available = true;
|
199 |
}
|
200 |
|
201 |
+
if(is_admin()){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
|
203 |
+
$screen_id = '';
|
204 |
+
$screen_base = '';
|
205 |
+
$screen = get_current_screen();
|
206 |
|
207 |
+
if(isset($screen)){
|
208 |
+
$screen_id = $screen->id;
|
209 |
+
$screen_base = (isset($screen->base)) ? $screen->base : false;
|
|
|
|
|
|
|
|
|
210 |
}
|
211 |
+
|
212 |
+
if(in_array($screen_id, $allowed_screens) && $bootstrap_available === true){
|
213 |
+
return true;
|
214 |
}
|
215 |
+
|
216 |
+
if(in_array($screen_base, $allowed_screens) && $bootstrap_available === true){
|
217 |
+
return true;
|
218 |
}
|
219 |
|
220 |
+
if(isset($_GET['page']) && in_array($_GET['page'], $allowed_pages) && $bootstrap_available === true){
|
221 |
+
return true;
|
222 |
+
}
|
223 |
|
|
|
224 |
|
225 |
+
} else {
|
226 |
+
if ( isset( $_GET['toolset_editor'] ) === true ) {
|
227 |
+
return true;
|
|
|
|
|
|
|
|
|
|
|
228 |
}
|
|
|
229 |
}
|
230 |
|
231 |
+
return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
232 |
|
|
|
233 |
}
|
234 |
+
|
235 |
|
236 |
+
function load_dialog_boxes(){
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
|
238 |
+
$post_types = get_post_types(array('_builtin'=>false));
|
239 |
|
240 |
+
$dialogs = array();
|
241 |
+
$dialogs[] = new WPDDL_CssComponentDialog(
|
242 |
+
array_merge(
|
243 |
+
array(
|
244 |
+
'toolset_page_views-editor',
|
245 |
+
'toolset_page_dd_layouts_edit',
|
246 |
+
'toolset_page_view-archives-editor',
|
247 |
+
'toolset_page_ct-editor',
|
248 |
+
'page',
|
249 |
+
'post'
|
250 |
+
),
|
251 |
+
$post_types
|
252 |
+
)
|
253 |
+
);
|
254 |
+
|
255 |
+
foreach( $dialogs as &$dialog ){
|
256 |
+
add_action('current_screen', array(&$dialog, 'init_screen_render') );
|
257 |
+
}
|
258 |
+
return $dialogs;
|
259 |
}
|
260 |
|
|
|
261 |
|
262 |
function preload_styles(){
|
263 |
|
265 |
'toolset-bs-component-style',
|
266 |
'wp-jquery-ui-dialog',
|
267 |
'ddl-dialogs-css',
|
268 |
+
'glyphicons',
|
269 |
+
'onthego-admin-styles'
|
270 |
));
|
271 |
}
|
272 |
|
273 |
+
function is_custom_post_type( $post = NULL )
|
274 |
+
{
|
275 |
+
$all_custom_post_types = get_post_types( array ( '_builtin' => true ) );
|
276 |
+
|
277 |
+
// there are no custom post types
|
278 |
+
if ( empty ( $all_custom_post_types ) ){
|
279 |
+
return false;
|
280 |
+
}
|
281 |
|
282 |
+
$custom_types = array_keys( $all_custom_post_types );
|
283 |
+
$current_post_type = get_post_type( $post );
|
284 |
+
|
285 |
+
// could not detect current type
|
286 |
+
if ( ! $current_post_type ){
|
287 |
+
return false;
|
288 |
+
}
|
289 |
+
|
290 |
+
return in_array( $current_post_type, $custom_types );
|
291 |
+
}
|
292 |
|
293 |
public function get_extra_editor_buttons(){
|
294 |
$additional_buttons = apply_filters('extra_editor_buttons', array());
|
383 |
),
|
384 |
'badges' => array(
|
385 |
'url' => self::BOOTSTRAP_CSS_COMPONENTS_DOC_BASE.'#badges',
|
386 |
+
'description' => __('Easily highlight new or unread items by adding a <span class="badge"></span> to links, Bootstrap navs, and more.','ddl-layouts'),
|
387 |
'button_icon' => ' glyphicon glyphicon-certificate ',
|
388 |
'button_icon_size' => 'ont-icon-18',
|
389 |
'dialog_icon_size' => 'ont-icon-72',
|
546 |
|
547 |
}
|
548 |
|
549 |
+
class WPDDL_CssComponentDialog extends Toolset_DialogBoxes{
|
550 |
|
551 |
function __construct( $screens ){
|
552 |
parent::__construct( $screens );
|
553 |
+
|
554 |
+
if(!is_admin() && isset($_GET['toolset_editor'])){
|
555 |
+
add_action( 'wp_print_scripts', array( &$this, 'enqueue_scripts' ), 999 );
|
556 |
+
add_action( 'wp_footer', array( &$this, 'template' ) );
|
557 |
+
}
|
558 |
}
|
559 |
+
|
560 |
|
561 |
public function template(){
|
562 |
ob_start();?>
|
library/toolset/toolset-common/inc/toolset.export.import.screen.class.php
CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'WPT_EXPORT_IMPORT_SCREEN' ) ) {
|
|
12 |
* @since 1.9
|
13 |
*/
|
14 |
|
15 |
-
if ( ! class_exists( 'Toolset_Export_Import_Screen' ) ) {
|
16 |
|
17 |
/**
|
18 |
* Class to show promotion message.
|
@@ -119,10 +119,15 @@ if ( ! class_exists( 'Toolset_Export_Import_Screen' ) ) {
|
|
119 |
</p>
|
120 |
<?php echo $export_import_content; ?>
|
121 |
<div class="toolset-debug-info-helper">
|
|
|
|
|
|
|
|
|
|
|
122 |
<p>
|
123 |
<?php
|
124 |
echo sprintf(
|
125 |
-
__( '
|
126 |
'<a href="' . admin_url( 'admin.php?page=toolset-debug-information' ) . '">',
|
127 |
'</a>'
|
128 |
);
|
12 |
* @since 1.9
|
13 |
*/
|
14 |
|
15 |
+
if ( ! class_exists( 'Toolset_Export_Import_Screen', false ) ) {
|
16 |
|
17 |
/**
|
18 |
* Class to show promotion message.
|
119 |
</p>
|
120 |
<?php echo $export_import_content; ?>
|
121 |
<div class="toolset-debug-info-helper">
|
122 |
+
<p>
|
123 |
+
<?php
|
124 |
+
echo __( 'Sometimes, our Customer Support personnel ask you to provide debug information. This information helps them give you quicker and better support.', 'wpv-views' );
|
125 |
+
?>
|
126 |
+
</p>
|
127 |
<p>
|
128 |
<?php
|
129 |
echo sprintf(
|
130 |
+
__( 'To get this information, go to %1$sToolset Debug Information%2$s.', 'wpv-views' ),
|
131 |
'<a href="' . admin_url( 'admin.php?page=toolset-debug-information' ) . '">',
|
132 |
'</a>'
|
133 |
);
|
library/toolset/toolset-common/inc/toolset.function.helpers.php
CHANGED
@@ -669,4 +669,52 @@ if ( ! function_exists( 'wpv_evaluate_expression' ) ) {
|
|
669 |
}
|
670 |
|
671 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
672 |
}
|
669 |
}
|
670 |
|
671 |
}
|
672 |
+
}
|
673 |
+
|
674 |
+
|
675 |
+
|
676 |
+
if( !function_exists( 'toolset_array_merge_recursive_distinct' ) ) {
|
677 |
+
|
678 |
+
/**
|
679 |
+
* array_merge_recursive does indeed merge arrays, but it converts values with duplicate
|
680 |
+
* keys to arrays rather than overwriting the value in the first array with the duplicate
|
681 |
+
* value in the second array, as array_merge does. I.e., with array_merge_recursive,
|
682 |
+
* this happens (documented behavior):
|
683 |
+
*
|
684 |
+
* array_merge_recursive(array('key' => 'org value'), array('key' => 'new value'));
|
685 |
+
* => array('key' => array('org value', 'new value'));
|
686 |
+
*
|
687 |
+
* array_merge_recursive_distinct does not change the datatypes of the values in the arrays.
|
688 |
+
* Matching keys' values in the second array overwrite those in the first array, as is the
|
689 |
+
* case with array_merge, i.e.:
|
690 |
+
*
|
691 |
+
* array_merge_recursive_distinct(array('key' => 'org value'), array('key' => 'new value'));
|
692 |
+
* => array('key' => array('new value'));
|
693 |
+
*
|
694 |
+
* Parameters are passed by reference, though only for performance reasons. They're not
|
695 |
+
* altered by this function.
|
696 |
+
*
|
697 |
+
* @param array $array1
|
698 |
+
* @param array $array2
|
699 |
+
*
|
700 |
+
* @return array
|
701 |
+
* @author Daniel <daniel (at) danielsmedegaardbuus (dot) dk>
|
702 |
+
* @author Gabriel Sobrinho <gabriel (dot) sobrinho (at) gmail (dot) com>
|
703 |
+
*
|
704 |
+
* @since 2.2
|
705 |
+
*/
|
706 |
+
function toolset_array_merge_recursive_distinct( array &$array1, array &$array2 ) {
|
707 |
+
$merged = $array1;
|
708 |
+
|
709 |
+
foreach ( $array2 as $key => &$value ) {
|
710 |
+
if ( is_array( $value ) && isset ( $merged [ $key ] ) && is_array( $merged [ $key ] ) ) {
|
711 |
+
$merged [ $key ] = toolset_array_merge_recursive_distinct( $merged [ $key ], $value );
|
712 |
+
} else {
|
713 |
+
$merged [ $key ] = $value;
|
714 |
+
}
|
715 |
+
}
|
716 |
+
|
717 |
+
return $merged;
|
718 |
+
}
|
719 |
+
|
720 |
}
|
library/toolset/toolset-common/inc/toolset.localization.class.php
CHANGED
@@ -17,7 +17,7 @@ if ( ! defined( 'TOOLSET_LOCALIZATION_ABSPATH' ) ) {
|
|
17 |
}
|
18 |
|
19 |
|
20 |
-
if ( ! class_exists( 'Toolset_Localization' ) ) {
|
21 |
|
22 |
/**
|
23 |
* Toolset_Localization
|
@@ -35,10 +35,10 @@ if ( ! class_exists( 'Toolset_Localization' ) ) {
|
|
35 |
*/
|
36 |
function __construct( $textdomain = 'wpv-views', $path = TOOLSET_LOCALIZATION_ABSPATH , $mo_name = 'views-%s' ) {
|
37 |
// Set instance properties
|
38 |
-
$this->textdomain
|
39 |
-
$this->path
|
40 |
-
$this->mo_name
|
41 |
-
$this->mo_processed_name
|
42 |
// Set init action
|
43 |
add_action( 'init', array( $this, 'load_textdomain' ) );
|
44 |
}
|
@@ -51,7 +51,8 @@ if ( ! class_exists( 'Toolset_Localization' ) ) {
|
|
51 |
* @since July 18, 2014
|
52 |
*/
|
53 |
function load_textdomain() {
|
54 |
-
|
|
|
55 |
$this->mo_processed_name = sprintf( $this->mo_name, $locale );
|
56 |
load_textdomain( $this->textdomain, $this->path . '/' . $this->mo_processed_name . '.mo' );
|
57 |
}
|
17 |
}
|
18 |
|
19 |
|
20 |
+
if ( ! class_exists( 'Toolset_Localization', false ) ) {
|
21 |
|
22 |
/**
|
23 |
* Toolset_Localization
|
35 |
*/
|
36 |
function __construct( $textdomain = 'wpv-views', $path = TOOLSET_LOCALIZATION_ABSPATH , $mo_name = 'views-%s' ) {
|
37 |
// Set instance properties
|
38 |
+
$this->textdomain = $textdomain;
|
39 |
+
$this->path = $path;
|
40 |
+
$this->mo_name = $mo_name;
|
41 |
+
$this->mo_processed_name = '';
|
42 |
// Set init action
|
43 |
add_action( 'init', array( $this, 'load_textdomain' ) );
|
44 |
}
|
51 |
* @since July 18, 2014
|
52 |
*/
|
53 |
function load_textdomain() {
|
54 |
+
// get_user_locale() was introduced in WordPress 4.7
|
55 |
+
$locale = ( function_exists( 'get_user_locale') ? get_user_locale() : get_locale() );
|
56 |
$this->mo_processed_name = sprintf( $this->mo_name, $locale );
|
57 |
load_textdomain( $this->textdomain, $this->path . '/' . $this->mo_processed_name . '.mo' );
|
58 |
}
|
library/toolset/toolset-common/inc/toolset.menu.class.php
CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'WPT_MENU' ) ) {
|
|
12 |
* @since 1.9
|
13 |
*/
|
14 |
|
15 |
-
if ( ! class_exists( 'Toolset_Menu' ) ) {
|
16 |
|
17 |
/**
|
18 |
* Class to show promotion message.
|
@@ -215,8 +215,10 @@ if ( ! class_exists( 'Toolset_Menu' ) ) {
|
|
215 |
'id' => 'toolset-debug-information',
|
216 |
'title' => __('Toolset Debug', 'wpv-views'),
|
217 |
'content' => '<p>'
|
|
|
|
|
218 |
. sprintf(
|
219 |
-
__( '
|
220 |
'<a href="' . admin_url( 'admin.php?page=toolset-debug-information' ) . '">',
|
221 |
'</a>'
|
222 |
)
|
12 |
* @since 1.9
|
13 |
*/
|
14 |
|
15 |
+
if ( ! class_exists( 'Toolset_Menu', false ) ) {
|
16 |
|
17 |
/**
|
18 |
* Class to show promotion message.
|
215 |
'id' => 'toolset-debug-information',
|
216 |
'title' => __('Toolset Debug', 'wpv-views'),
|
217 |
'content' => '<p>'
|
218 |
+
. __( 'Sometimes, our Customer Support personnel ask you to provide debug information. This information helps them give you quicker and better support.', 'wpv-views' )
|
219 |
+
. '</p><p>'
|
220 |
. sprintf(
|
221 |
+
__( 'To get this information, go to %1$sToolset Debug Information%2$s.', 'wpv-views' ),
|
222 |
'<a href="' . admin_url( 'admin.php?page=toolset-debug-information' ) . '">',
|
223 |
'</a>'
|
224 |
)
|
library/toolset/toolset-common/inc/toolset.object.relationship.class.php
CHANGED
@@ -5,10 +5,10 @@
|
|
5 |
*
|
6 |
* Manages the id="XXX" attribute on Types and Views shortcodes.
|
7 |
*
|
8 |
-
* @since 1.9
|
9 |
*/
|
10 |
|
11 |
-
if ( ! class_exists( 'Toolset_Object_Relationship' ) ) {
|
12 |
class Toolset_Object_Relationship
|
13 |
{
|
14 |
private static $instance;
|
@@ -22,6 +22,9 @@ if ( ! class_exists( 'Toolset_Object_Relationship' ) ) {
|
|
22 |
|
23 |
add_action( 'admin_init', array( $this, 'admin_init' ) );
|
24 |
|
|
|
|
|
|
|
25 |
add_filter( 'the_content', array( $this, 'record_post_relationship_belongs' ), 0, 1 );
|
26 |
add_filter( 'wpv_filter_wpv_the_content_suppressed', array( $this, 'record_post_relationship_belongs' ), 0, 1 );
|
27 |
|
@@ -40,22 +43,42 @@ if ( ! class_exists( 'Toolset_Object_Relationship' ) ) {
|
|
40 |
|
41 |
}
|
42 |
|
43 |
-
|
44 |
-
|
45 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
$this->post_relationship_depth = ( $this->post_relationship_depth + 1 );
|
47 |
|
48 |
if (
|
49 |
-
! empty( $
|
50 |
&& function_exists( 'wpcf_pr_get_belongs' )
|
51 |
) {
|
52 |
|
53 |
-
if ( ! isset( $this->relations[ $
|
54 |
-
$this->relations[ $
|
55 |
}
|
56 |
-
if ( is_array( $this->relations[ $
|
57 |
-
foreach ( $this->relations[ $
|
58 |
-
$related_id = wpcf_pr_post_get_belongs( $
|
59 |
if ( $related_id ) {
|
60 |
$this->post_relationship['$' . $post_type . '_id'] = $related_id;
|
61 |
} else {
|
@@ -66,11 +89,24 @@ if ( ! class_exists( 'Toolset_Object_Relationship' ) ) {
|
|
66 |
}
|
67 |
|
68 |
$this->post_relationship_track[ $this->post_relationship_depth ] = $this->post_relationship;
|
69 |
-
|
70 |
-
return $content;
|
71 |
}
|
72 |
|
73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
$this->post_relationship_depth = ( $this->post_relationship_depth - 1 );
|
75 |
if (
|
76 |
$this->post_relationship_depth > 0
|
@@ -80,7 +116,40 @@ if ( ! class_exists( 'Toolset_Object_Relationship' ) ) {
|
|
80 |
} else {
|
81 |
$this->post_relationship = array();
|
82 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
return $content;
|
|
|
84 |
}
|
85 |
}
|
86 |
}
|
@@ -102,7 +171,7 @@ if ( ! class_exists( 'Toolset_Object_Relationship' ) ) {
|
|
102 |
* [types field='my-field' id='$guest']
|
103 |
* [types field='my-field' id='$room']
|
104 |
*/
|
105 |
-
if ( ! class_exists( 'WPV_wpcf_switch_post_from_attr_id' ) ) {
|
106 |
class WPV_wpcf_switch_post_from_attr_id
|
107 |
{
|
108 |
|
@@ -133,6 +202,27 @@ if ( ! class_exists( 'WPV_wpcf_switch_post_from_attr_id' ) ) {
|
|
133 |
$post_id = $current_post->ID;
|
134 |
}
|
135 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
} else {
|
137 |
// See if Views has the variable
|
138 |
global $WP_Views;
|
5 |
*
|
6 |
* Manages the id="XXX" attribute on Types and Views shortcodes.
|
7 |
*
|
8 |
+
* @since 1.9.0
|
9 |
*/
|
10 |
|
11 |
+
if ( ! class_exists( 'Toolset_Object_Relationship', false ) ) {
|
12 |
class Toolset_Object_Relationship
|
13 |
{
|
14 |
private static $instance;
|
22 |
|
23 |
add_action( 'admin_init', array( $this, 'admin_init' ) );
|
24 |
|
25 |
+
add_action( 'toolset_action_record_post_relationship_belongs', array( $this, 'force_record_post_relationship_belongs' ) );
|
26 |
+
add_action( 'toolset_action_restore_post_relationship_belongs', array( $this, 'force_restore_post_relationship_belongs' ) );
|
27 |
+
|
28 |
add_filter( 'the_content', array( $this, 'record_post_relationship_belongs' ), 0, 1 );
|
29 |
add_filter( 'wpv_filter_wpv_the_content_suppressed', array( $this, 'record_post_relationship_belongs' ), 0, 1 );
|
30 |
|
43 |
|
44 |
}
|
45 |
|
46 |
+
/**
|
47 |
+
* Manually record the Types relationships for a post.
|
48 |
+
*
|
49 |
+
* Given a WP_Post instance, this records the relations for its post type in this object relations property.
|
50 |
+
* AFter that, it calculates the specific parents for this given post in each of its stored relations.
|
51 |
+
* Finally, those specific relations are added to the post_relationship_track propery using a depth counter.
|
52 |
+
*
|
53 |
+
* @note This might be a little inefficient since we query once per relation.
|
54 |
+
* @note This is automatically called when looping over a post and calling the the_content filter.
|
55 |
+
* @note This might be much more efficient if we stored each post relationships, insted of a post_relationship_track property depending on a depth index.
|
56 |
+
* Especially in the case that we need to get this same post relationships later on the same request.
|
57 |
+
* This will need extensive review once the m2m feature lands in.
|
58 |
+
* Right now, we use this depth index because of nested structures, but a permanent $post->ID based data schema might be much better.
|
59 |
+
*
|
60 |
+
* @since 2.3.0
|
61 |
+
*/
|
62 |
+
|
63 |
+
function force_record_post_relationship_belongs( $post_object = null ) {
|
64 |
+
|
65 |
+
if ( ! $post_object instanceof WP_Post ) {
|
66 |
+
return;
|
67 |
+
}
|
68 |
+
|
69 |
$this->post_relationship_depth = ( $this->post_relationship_depth + 1 );
|
70 |
|
71 |
if (
|
72 |
+
! empty( $post_object->ID )
|
73 |
&& function_exists( 'wpcf_pr_get_belongs' )
|
74 |
) {
|
75 |
|
76 |
+
if ( ! isset( $this->relations[ $post_object->post_type ] ) ) {
|
77 |
+
$this->relations[ $post_object->post_type ] = wpcf_pr_get_belongs( $post_object->post_type );
|
78 |
}
|
79 |
+
if ( is_array( $this->relations[ $post_object->post_type ] ) ) {
|
80 |
+
foreach ( $this->relations[ $post_object->post_type ] as $post_type => $data ) {
|
81 |
+
$related_id = wpcf_pr_post_get_belongs( $post_object->ID, $post_type );
|
82 |
if ( $related_id ) {
|
83 |
$this->post_relationship['$' . $post_type . '_id'] = $related_id;
|
84 |
} else {
|
89 |
}
|
90 |
|
91 |
$this->post_relationship_track[ $this->post_relationship_depth ] = $this->post_relationship;
|
92 |
+
|
|
|
93 |
}
|
94 |
|
95 |
+
/**
|
96 |
+
* Manually restore the Types relationships.
|
97 |
+
*
|
98 |
+
* AFter using the relationships of a given post, before moving to the next one, this cleans the data.
|
99 |
+
* As the data is stored in a post_relationship_track property with a depth index, we clean the last one.
|
100 |
+
*
|
101 |
+
* @note This is automatically called when looping over a post and calling the the_content filter, at a very late priority.
|
102 |
+
* @note As described above, a permanent $post->ID based data schema might be better and would not require this kind of cleaning.
|
103 |
+
* This will be reviewed once the m2m feture lands in.
|
104 |
+
*
|
105 |
+
* @since 2.3.0
|
106 |
+
*/
|
107 |
+
|
108 |
+
function force_restore_post_relationship_belongs() {
|
109 |
+
|
110 |
$this->post_relationship_depth = ( $this->post_relationship_depth - 1 );
|
111 |
if (
|
112 |
$this->post_relationship_depth > 0
|
116 |
} else {
|
117 |
$this->post_relationship = array();
|
118 |
}
|
119 |
+
|
120 |
+
}
|
121 |
+
|
122 |
+
/**
|
123 |
+
* Callback to record the current post relationships early in the the_content filter.
|
124 |
+
*
|
125 |
+
* @uses Toolset_Object_Relationship::force_record_post_relationship_belongs
|
126 |
+
*
|
127 |
+
* @since unknown
|
128 |
+
*/
|
129 |
+
|
130 |
+
function record_post_relationship_belongs( $content ) {
|
131 |
+
|
132 |
+
global $post;
|
133 |
+
$this->force_record_post_relationship_belongs( $post );
|
134 |
+
|
135 |
+
return $content;
|
136 |
+
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* Callback to restore the stored post relationships late in the the_content filter.
|
141 |
+
*
|
142 |
+
* @uses Toolset_Object_Relationship::force_restore_post_relationship_belongs
|
143 |
+
*
|
144 |
+
* @since unknown
|
145 |
+
*/
|
146 |
+
|
147 |
+
function restore_post_relationship_belongs( $content ) {
|
148 |
+
|
149 |
+
$this->force_restore_post_relationship_belongs();
|
150 |
+
|
151 |
return $content;
|
152 |
+
|
153 |
}
|
154 |
}
|
155 |
}
|
171 |
* [types field='my-field' id='$guest']
|
172 |
* [types field='my-field' id='$room']
|
173 |
*/
|
174 |
+
if ( ! class_exists( 'WPV_wpcf_switch_post_from_attr_id', false ) ) {
|
175 |
class WPV_wpcf_switch_post_from_attr_id
|
176 |
{
|
177 |
|
202 |
$post_id = $current_post->ID;
|
203 |
}
|
204 |
}
|
205 |
+
|
206 |
+
/**
|
207 |
+
* Get the current top post.
|
208 |
+
*
|
209 |
+
* Some Toolset plugins might need to set the top current post under some scenarios,
|
210 |
+
* like Toolset Views when doing AJAX pagination or AJAX custom search.
|
211 |
+
* In those cases, they can use this filter to get the top current post they are setting
|
212 |
+
* and override the ID to apply as the $current_page value.
|
213 |
+
*
|
214 |
+
* @not Toolset plugins should set this just in time, not globally, when needed, meaning AJAX calls or whatever.
|
215 |
+
*
|
216 |
+
* @param $top_post null
|
217 |
+
*
|
218 |
+
* @return $top_post null/WP_Post object The top current post, if set by any Toolset plugin.
|
219 |
+
*
|
220 |
+
* @since 2.3.0
|
221 |
+
*/
|
222 |
+
$top_current_post = apply_filters( 'toolset_filter_get_top_current_post', null );
|
223 |
+
if ( $top_current_post ) {
|
224 |
+
$post_id = $top_current_post->ID;
|
225 |
+
}
|
226 |
} else {
|
227 |
// See if Views has the variable
|
228 |
global $WP_Views;
|
library/toolset/toolset-common/inc/toolset.promotion.class.php
CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'WPT_PROMOTION' ) ) {
|
|
12 |
* @since unknown
|
13 |
*/
|
14 |
|
15 |
-
if ( ! class_exists( 'Toolset_Promotion' ) ) {
|
16 |
|
17 |
/**
|
18 |
* Class to show promotion message.
|
12 |
* @since unknown
|
13 |
*/
|
14 |
|
15 |
+
if ( ! class_exists( 'Toolset_Promotion', false ) ) {
|
16 |
|
17 |
/**
|
18 |
* Class to show promotion message.
|
library/toolset/toolset-common/inc/toolset.relevanssi.compatibility.class.php
CHANGED
@@ -127,7 +127,7 @@ if ( ! class_exists( 'Toolset_Relevanssi_Compatibility' ) ) {
|
|
127 |
function toolset_relevanssi_settings( $sections, $toolset_options ) {
|
128 |
|
129 |
$section_content = '';
|
130 |
-
$text_search_documentation_link = 'https://wp-types.com/documentation/user-guides/views-text-search/?utm_source=viewsplugin&utm_campaign=views&utm_medium=views-text-search-settings&utm_term=Text Search documentation';
|
131 |
|
132 |
|
133 |
if ( ! $this->relevanssi_installed ) {
|
127 |
function toolset_relevanssi_settings( $sections, $toolset_options ) {
|
128 |
|
129 |
$section_content = '';
|
130 |
+
$text_search_documentation_link = 'https://wp-types.com/documentation/user-guides/filtering-views-for-a-specific-text-string-search/?utm_source=viewsplugin&utm_campaign=views&utm_medium=views-text-search-settings&utm_term=Text Search documentation';
|
131 |
|
132 |
|
133 |
if ( ! $this->relevanssi_installed ) {
|
library/toolset/toolset-common/inc/toolset.settings.class.php
CHANGED
@@ -58,6 +58,20 @@ class Toolset_Settings implements ArrayAccess {
|
|
58 |
*/
|
59 |
const RELEVANSSI_FIELDS_TO_INDEX = 'relevanssi_fields_to_index';
|
60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
|
62 |
|
63 |
/* ************************************************************************* *\
|
@@ -70,6 +84,12 @@ class Toolset_Settings implements ArrayAccess {
|
|
70 |
*/
|
71 |
private static $instance = null;
|
72 |
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
|
74 |
/**
|
75 |
* @return Toolset_Settings The instance of Toolset_Settings.
|
@@ -97,10 +117,14 @@ class Toolset_Settings implements ArrayAccess {
|
|
97 |
* @var array Default setting values.
|
98 |
* @todo reformat and turn strings into documented constants
|
99 |
*/
|
|
|
|
|
|
|
100 |
protected static $defaults = array(
|
101 |
Toolset_Settings::ADMIN_BAR_CREATE_EDIT => 'on',
|
102 |
Toolset_Settings::ADMIN_BAR_SHORTCODES_GENERATOR => 'unset',
|
103 |
Toolset_Settings::RELEVANSSI_FIELDS_TO_INDEX => array(),
|
|
|
104 |
);
|
105 |
|
106 |
|
@@ -118,7 +142,51 @@ class Toolset_Settings implements ArrayAccess {
|
|
118 |
* @todo make this private
|
119 |
*/
|
120 |
protected function __construct() {
|
|
|
|
|
|
|
121 |
$this->load_settings();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
}
|
123 |
|
124 |
|
@@ -138,6 +206,77 @@ class Toolset_Settings implements ArrayAccess {
|
|
138 |
if ( ! is_array( $this->settings ) ) {
|
139 |
$this->settings = array(); // Defaults will be used in this case.
|
140 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
}
|
142 |
|
143 |
|
58 |
*/
|
59 |
const RELEVANSSI_FIELDS_TO_INDEX = 'relevanssi_fields_to_index';
|
60 |
|
61 |
+
/**
|
62 |
+
* Bootstrap version that is expected to be used in a theme.
|
63 |
+
*
|
64 |
+
* Allowed values are:
|
65 |
+
* - '2': Bootstrap 2.0
|
66 |
+
* - '3': Bootstrap 3.0
|
67 |
+
* - '3.toolset': Bootstrap 3.0, but load it from toolset common
|
68 |
+
* - '-1': Site is not using Bootstrap (@since 1.9)
|
69 |
+
* - '1' or missing value (or perhaps anything else, too): Bootstrap version not set
|
70 |
+
*
|
71 |
+
* @since unknown
|
72 |
+
*/
|
73 |
+
const BOOTSTRAP_VERSION = 'toolset_bootstrap_version';
|
74 |
+
|
75 |
|
76 |
|
77 |
/* ************************************************************************* *\
|
84 |
*/
|
85 |
private static $instance = null;
|
86 |
|
87 |
+
/**
|
88 |
+
* @var
|
89 |
+
* Used only to keep original value from the filter
|
90 |
+
*/
|
91 |
+
private $toolset_bootstrap_version_from_filter = null;
|
92 |
+
|
93 |
|
94 |
/**
|
95 |
* @return Toolset_Settings The instance of Toolset_Settings.
|
117 |
* @var array Default setting values.
|
118 |
* @todo reformat and turn strings into documented constants
|
119 |
*/
|
120 |
+
|
121 |
+
|
122 |
+
|
123 |
protected static $defaults = array(
|
124 |
Toolset_Settings::ADMIN_BAR_CREATE_EDIT => 'on',
|
125 |
Toolset_Settings::ADMIN_BAR_SHORTCODES_GENERATOR => 'unset',
|
126 |
Toolset_Settings::RELEVANSSI_FIELDS_TO_INDEX => array(),
|
127 |
+
Toolset_Settings::BOOTSTRAP_VERSION => 3,
|
128 |
);
|
129 |
|
130 |
|
142 |
* @todo make this private
|
143 |
*/
|
144 |
protected function __construct() {
|
145 |
+
|
146 |
+
add_action('ddl-before_init_layouts_plugin', array($this, 'check_is_this_first_layouts_activation') , 10);
|
147 |
+
|
148 |
$this->load_settings();
|
149 |
+
$this->set_default_bootstrap_version_from_views();
|
150 |
+
|
151 |
+
add_filter( 'toolset-toolset_bootstrap_version_filter', array( $this, 'toolset_bootstrap_version_filter' ) );
|
152 |
+
add_filter( 'toolset-toolset_bootstrap_version_manually_selected', array( $this, 'toolset_bootstrap_version_manually_selected' ) );
|
153 |
+
|
154 |
+
}
|
155 |
+
|
156 |
+
function check_is_this_first_layouts_activation(){
|
157 |
+
|
158 |
+
$layouts = apply_filters( 'ddl-get_all_layouts_settings', array() );
|
159 |
+
$bs_value_from_db = $this->toolset_bootstrap_version_manually_selected();
|
160 |
+
|
161 |
+
if( false === $bs_value_from_db ){
|
162 |
+
$set_version_in_db = ( count( $layouts ) === 0 ) ? '99' : '98';
|
163 |
+
$set_version = ( count( $layouts ) === 0 ) ? '3.toolset' : '3';
|
164 |
+
$this->__set("toolset_bootstrap_version", $set_version_in_db );
|
165 |
+
$this->save();
|
166 |
+
$this->toolset_bootstrap_version = $set_version;
|
167 |
+
}
|
168 |
+
}
|
169 |
+
|
170 |
+
|
171 |
+
/*
|
172 |
+
* Get bootstrap version from Views and in case if option is not set from General tab
|
173 |
+
* as default set option from Views options.
|
174 |
+
*/
|
175 |
+
protected function set_default_bootstrap_version_from_views(){
|
176 |
+
if(class_exists('WPV_Settings')){
|
177 |
+
$views_settings = WPV_Settings::get_instance();
|
178 |
+
|
179 |
+
$bootstrap_version_in_toolset_options = true;
|
180 |
+
|
181 |
+
$get_raw_options = get_option( Toolset_Settings::OPTION_NAME );
|
182 |
+
if( $get_raw_options && !isset( $get_raw_options['toolset_bootstrap_version'] ) ){
|
183 |
+
$bootstrap_version_in_toolset_options = false;
|
184 |
+
}
|
185 |
+
|
186 |
+
if( (int) $views_settings->wpv_bootstrap_version !== 1 && false === $bootstrap_version_in_toolset_options ){
|
187 |
+
$this->toolset_bootstrap_version = (int) $views_settings->wpv_bootstrap_version;
|
188 |
+
}
|
189 |
+
}
|
190 |
}
|
191 |
|
192 |
|
206 |
if ( ! is_array( $this->settings ) ) {
|
207 |
$this->settings = array(); // Defaults will be used in this case.
|
208 |
}
|
209 |
+
|
210 |
+
|
211 |
+
/*
|
212 |
+
* Botstrap version filter
|
213 |
+
*/
|
214 |
+
$this->toolset_bootstrap_version = apply_filters( 'toolset_set_boostrap_option', $this->toolset_bootstrap_version );
|
215 |
+
$this->override_bootstrap_option_selection();
|
216 |
+
}
|
217 |
+
|
218 |
+
private function convert_to_real_bs_versions($bs_version){
|
219 |
+
$real_versions = array(
|
220 |
+
"99"=>"3.toolset",
|
221 |
+
"98"=>"3"
|
222 |
+
);
|
223 |
+
|
224 |
+
if(isset($real_versions[$bs_version])){
|
225 |
+
return $real_versions[$bs_version];
|
226 |
+
} else {
|
227 |
+
return $bs_version;
|
228 |
+
}
|
229 |
+
}
|
230 |
+
|
231 |
+
/**
|
232 |
+
* Comparing value from filter and value in database,
|
233 |
+
* we will force manually selected value (from db)
|
234 |
+
*/
|
235 |
+
private function override_bootstrap_option_selection(){
|
236 |
+
if( has_filter( 'toolset_set_boostrap_option' ) ){
|
237 |
+
// set filter value as backup
|
238 |
+
$this->toolset_bootstrap_version_from_filter = $this->toolset_bootstrap_version;
|
239 |
+
// get raw selection from database
|
240 |
+
$selected_bs_version = $this->toolset_bootstrap_version_manually_selected();
|
241 |
+
|
242 |
+
if( false !== $selected_bs_version && in_array( $selected_bs_version, array("99","98") ) ){
|
243 |
+
// if user already selected something force that version
|
244 |
+
$this->toolset_bootstrap_version = $this->toolset_bootstrap_version_from_filter;
|
245 |
+
} else {
|
246 |
+
$this->toolset_bootstrap_version = $selected_bs_version;
|
247 |
+
}
|
248 |
+
} else {
|
249 |
+
$this->toolset_bootstrap_version = $this->convert_to_real_bs_versions($this->toolset_bootstrap_version);
|
250 |
+
}
|
251 |
+
|
252 |
+
}
|
253 |
+
|
254 |
+
/**
|
255 |
+
* @return string/false
|
256 |
+
* Get unfiltered option value directly from db
|
257 |
+
*/
|
258 |
+
public function toolset_bootstrap_version_manually_selected(){
|
259 |
+
$get_raw_options = get_option( Toolset_Settings::OPTION_NAME );
|
260 |
+
if( $get_raw_options && isset( $get_raw_options['toolset_bootstrap_version'] ) ){
|
261 |
+
$bs_version_in_db = $get_raw_options['toolset_bootstrap_version'];
|
262 |
+
return $bs_version_in_db;
|
263 |
+
}
|
264 |
+
return false;
|
265 |
+
}
|
266 |
+
public function toolset_bootstrap_version_manually_selected_converted_value(){
|
267 |
+
$get_db_value = $this->toolset_bootstrap_version_manually_selected();
|
268 |
+
return $this->convert_to_real_bs_versions($get_db_value);
|
269 |
+
}
|
270 |
+
|
271 |
+
/**
|
272 |
+
* @return string/false
|
273 |
+
* Return value defined by filter
|
274 |
+
*/
|
275 |
+
public function toolset_bootstrap_version_filter(){
|
276 |
+
if( isset( $this->toolset_bootstrap_version_from_filter ) ){
|
277 |
+
return $this->toolset_bootstrap_version_from_filter;
|
278 |
+
}
|
279 |
+
return false;
|
280 |
}
|
281 |
|
282 |
|
library/toolset/toolset-common/inc/toolset.settings.screen.class.php
CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'WPT_SETTINGS_SCREEN' ) ) {
|
|
12 |
* @since 1.9
|
13 |
*/
|
14 |
|
15 |
-
if ( ! class_exists( 'Toolset_Settings_Screen' ) ) {
|
16 |
|
17 |
class Toolset_Settings_Screen {
|
18 |
|
@@ -54,6 +54,10 @@ if ( ! class_exists( 'Toolset_Settings_Screen' ) ) {
|
|
54 |
add_filter( 'toolset_filter_toolset_register_settings_general_section', array( $this, 'toolset_admin_bar_settings' ), 10, 2 );
|
55 |
add_action( 'wp_ajax_toolset_update_toolset_admin_bar_options', array( $this, 'toolset_update_toolset_admin_bar_options' ) );
|
56 |
add_filter( 'toolset_filter_force_unset_shortcode_generator_option', array( $this, 'force_unset_shortcode_generator_option_to_disable' ), 99 );
|
|
|
|
|
|
|
|
|
57 |
}
|
58 |
|
59 |
|
@@ -118,10 +122,15 @@ if ( ! class_exists( 'Toolset_Settings_Screen' ) ) {
|
|
118 |
</p>
|
119 |
<?php echo $settings_content; ?>
|
120 |
<div class="toolset-debug-info-helper">
|
|
|
|
|
|
|
|
|
|
|
121 |
<p>
|
122 |
<?php
|
123 |
echo sprintf(
|
124 |
-
__( '
|
125 |
'<a href="' . admin_url( 'admin.php?page=toolset-debug-information' ) . '">',
|
126 |
'</a>'
|
127 |
);
|
@@ -242,6 +251,124 @@ if ( ! class_exists( 'Toolset_Settings_Screen' ) ) {
|
|
242 |
return $state;
|
243 |
}
|
244 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
245 |
}
|
246 |
|
247 |
}
|
12 |
* @since 1.9
|
13 |
*/
|
14 |
|
15 |
+
if ( ! class_exists( 'Toolset_Settings_Screen', false ) ) {
|
16 |
|
17 |
class Toolset_Settings_Screen {
|
18 |
|
54 |
add_filter( 'toolset_filter_toolset_register_settings_general_section', array( $this, 'toolset_admin_bar_settings' ), 10, 2 );
|
55 |
add_action( 'wp_ajax_toolset_update_toolset_admin_bar_options', array( $this, 'toolset_update_toolset_admin_bar_options' ) );
|
56 |
add_filter( 'toolset_filter_force_unset_shortcode_generator_option', array( $this, 'force_unset_shortcode_generator_option_to_disable' ), 99 );
|
57 |
+
|
58 |
+
add_filter( 'toolset_filter_toolset_register_settings_general_section', array( $this, 'toolset_bootstrap_options' ), 30 );
|
59 |
+
add_action( 'wp_ajax_toolset_update_bootstrap_version_status', array( $this, 'toolset_update_bootstrap_version_status' ) );
|
60 |
+
|
61 |
}
|
62 |
|
63 |
|
122 |
</p>
|
123 |
<?php echo $settings_content; ?>
|
124 |
<div class="toolset-debug-info-helper">
|
125 |
+
<p>
|
126 |
+
<?php
|
127 |
+
echo __( 'Sometimes, our Customer Support personnel ask you to provide debug information. This information helps them give you quicker and better support.', 'wpv-views' );
|
128 |
+
?>
|
129 |
+
</p>
|
130 |
<p>
|
131 |
<?php
|
132 |
echo sprintf(
|
133 |
+
__( 'To get this information, go to %1$sToolset Debug Information%2$s.', 'wpv-views' ),
|
134 |
'<a href="' . admin_url( 'admin.php?page=toolset-debug-information' ) . '">',
|
135 |
'</a>'
|
136 |
);
|
251 |
return $state;
|
252 |
}
|
253 |
|
254 |
+
|
255 |
+
|
256 |
+
/**
|
257 |
+
* Bootstrap - settings and saving
|
258 |
+
*/
|
259 |
+
|
260 |
+
function toolset_bootstrap_options( $sections ) {
|
261 |
+
$is_disabled = '';
|
262 |
+
$disabled_message = '';
|
263 |
+
|
264 |
+
$settings = Toolset_Settings::get_instance();
|
265 |
+
ob_start();
|
266 |
+
?>
|
267 |
+
<ul class="js-bootstrap-version-form">
|
268 |
+
<?php
|
269 |
+
|
270 |
+
$version_options = array(
|
271 |
+
|
272 |
+
|
273 |
+
array(
|
274 |
+
'label' => __( 'The theme or another plugin is already loading Bootstrap 2.0', 'wpv-views' ),
|
275 |
+
'value' => 2
|
276 |
+
),
|
277 |
+
array(
|
278 |
+
'label' => __( 'The theme or another plugin is already loading Bootstrap 3.0', 'wpv-views' ),
|
279 |
+
'value' => 3
|
280 |
+
),
|
281 |
+
array(
|
282 |
+
'label' => __( 'Toolset should load Bootstrap 3.0', 'wpv-views' ),
|
283 |
+
'value' => '3.toolset'
|
284 |
+
),
|
285 |
+
array(
|
286 |
+
'label' => __( 'This site is not using Bootstrap CSS', 'wpv-views' ),
|
287 |
+
'value' => -1
|
288 |
+
)
|
289 |
+
);
|
290 |
+
|
291 |
+
foreach( $version_options as $option ) {
|
292 |
+
|
293 |
+
printf(
|
294 |
+
'<li><label class="js-tolset-option-%s"><input type="radio" name="wpv-bootstrap-version" class="js-toolset-bootstrap-version" value="%s" %s %s autocomplete="off" />%s</label></li>',
|
295 |
+
str_replace(".","",$option['value']),
|
296 |
+
$option['value'],
|
297 |
+
checked( $option['value'], $settings->toolset_bootstrap_version, false ),
|
298 |
+
disabled( $is_disabled, true, false ),
|
299 |
+
$option['label']
|
300 |
+
);
|
301 |
+
|
302 |
+
}
|
303 |
+
|
304 |
+
?>
|
305 |
+
</ul>
|
306 |
+
|
307 |
+
<?php echo $disabled_message; ?>
|
308 |
+
<p>
|
309 |
+
<?php
|
310 |
+
echo sprintf(
|
311 |
+
__( 'Get more details in the <a href="%1$s" title="%2$s">documentation page</a>.', 'wpv-views' ),
|
312 |
+
'https://wp-types.com/documentation/user-guides/view-layouts-101/' ,
|
313 |
+
esc_attr( __( 'Documentation on the Bootstrap Layouts', 'wpv-views' ) )
|
314 |
+
);
|
315 |
+
?>
|
316 |
+
</p>
|
317 |
+
<?php
|
318 |
+
wp_nonce_field( 'toolset_bootstrap_version_nonce', 'toolset_bootstrap_version_nonce' );
|
319 |
+
?>
|
320 |
+
<?php
|
321 |
+
$section_content = ob_get_clean();
|
322 |
+
|
323 |
+
$sections['bootstrap-settings'] = array(
|
324 |
+
'slug' => 'bootstrap-settings',
|
325 |
+
'title' => __( 'Bootstrap Layouts', 'wpv-views' ),
|
326 |
+
'content' => $section_content
|
327 |
+
);
|
328 |
+
return $sections;
|
329 |
+
}
|
330 |
+
|
331 |
+
/**
|
332 |
+
* Update the Views Bootrstap version
|
333 |
+
*
|
334 |
+
* $_POST:
|
335 |
+
* wpnonce: wpv_bootstrap_version_nonce
|
336 |
+
* status: 1|2|3|3.toolset|-1
|
337 |
+
*/
|
338 |
+
|
339 |
+
function toolset_update_bootstrap_version_status() {
|
340 |
+
$settings = Toolset_Settings::get_instance();
|
341 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
342 |
+
$data = array(
|
343 |
+
'type' => 'capability',
|
344 |
+
'message' => __( 'You do not have permissions for that.', 'wpv-views' )
|
345 |
+
);
|
346 |
+
wp_send_json_error( $data );
|
347 |
+
}
|
348 |
+
if (
|
349 |
+
! isset( $_POST["wpnonce"] )
|
350 |
+
|| ! wp_verify_nonce( $_POST["wpnonce"], 'toolset_bootstrap_version_nonce' )
|
351 |
+
) {
|
352 |
+
$data = array(
|
353 |
+
'type' => 'nonce',
|
354 |
+
'message' => __( 'Your security credentials have expired. Please reload the page to get new ones.', 'wpv-views' )
|
355 |
+
);
|
356 |
+
wp_send_json_error( $data );
|
357 |
+
}
|
358 |
+
|
359 |
+
$status = in_array($_POST['status'], array( 1, 2, 3, '3.toolset', -1 ));
|
360 |
+
if ( null != $status ) {
|
361 |
+
$settings->toolset_bootstrap_version = $_POST['status'];
|
362 |
+
$settings->save();
|
363 |
+
wp_send_json_success();
|
364 |
+
} else {
|
365 |
+
wp_send_json_error();
|
366 |
+
}
|
367 |
+
wp_send_json_success();
|
368 |
+
}
|
369 |
+
|
370 |
+
|
371 |
+
|
372 |
}
|
373 |
|
374 |
}
|
library/toolset/toolset-common/{visual-editor/shortcode_generator/shortcode-generator.class.php → inc/toolset.shortcode.generator.class.php}
RENAMED
@@ -42,9 +42,31 @@ if ( ! class_exists( 'Toolset_Shortcode_Generator' ) ) {
|
|
42 |
}
|
43 |
|
44 |
public function register_shortcodes_admin_bar_items() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
$registered_items = self::$registered_admin_bar_items;
|
46 |
$registered_items = apply_filters( 'toolset_shortcode_generator_register_item', $registered_items );
|
47 |
self::$registered_admin_bar_items = $registered_items;
|
|
|
48 |
}
|
49 |
|
50 |
/*
|
@@ -80,6 +102,69 @@ if ( ! class_exists( 'Toolset_Shortcode_Generator' ) ) {
|
|
80 |
$wp_admin_bar->add_node( $args );
|
81 |
}
|
82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
/*
|
84 |
* Dialog Template HTML code
|
85 |
*/
|
42 |
}
|
43 |
|
44 |
public function register_shortcodes_admin_bar_items() {
|
45 |
+
|
46 |
+
// Only register sections if the Admin Bar item is to be shown.
|
47 |
+
$toolset_settings = Toolset_Settings::get_instance();
|
48 |
+
$toolset_shortcodes_generator = ( isset( $toolset_settings['shortcodes_generator'] ) && in_array( $toolset_settings['shortcodes_generator'], array( 'unset', 'disable', 'editor', 'always' ) ) ) ? $toolset_settings['shortcodes_generator'] : 'unset';
|
49 |
+
if ( $toolset_shortcodes_generator == 'unset' ) {
|
50 |
+
$toolset_shortcodes_generator = apply_filters( 'toolset_filter_force_unset_shortcode_generator_option', $toolset_shortcodes_generator );
|
51 |
+
}
|
52 |
+
$register_section = false;
|
53 |
+
switch ( $toolset_shortcodes_generator ) {
|
54 |
+
case 'always':
|
55 |
+
$register_section = true;
|
56 |
+
break;
|
57 |
+
case 'editor':
|
58 |
+
$register_section = $this->is_admin_editor_page();
|
59 |
+
break;
|
60 |
+
}
|
61 |
+
if ( ! $register_section ) {
|
62 |
+
return;
|
63 |
+
}
|
64 |
+
|
65 |
+
// Now that we know that it will be shown, collect the registered items.
|
66 |
$registered_items = self::$registered_admin_bar_items;
|
67 |
$registered_items = apply_filters( 'toolset_shortcode_generator_register_item', $registered_items );
|
68 |
self::$registered_admin_bar_items = $registered_items;
|
69 |
+
|
70 |
}
|
71 |
|
72 |
/*
|
102 |
$wp_admin_bar->add_node( $args );
|
103 |
}
|
104 |
|
105 |
+
/**
|
106 |
+
* is_admin_editor_page
|
107 |
+
*
|
108 |
+
* Helper method to check whether we are on an admin editor page.
|
109 |
+
* This covers edit pages for posts, terms and users,
|
110 |
+
* as well as Toolset object edit pages.
|
111 |
+
*
|
112 |
+
* @since 2.3.0
|
113 |
+
*/
|
114 |
+
|
115 |
+
public function is_admin_editor_page() {
|
116 |
+
if ( ! is_admin() ) {
|
117 |
+
return false;
|
118 |
+
}
|
119 |
+
global $pagenow, $wp_version;
|
120 |
+
$allowed_pagenow_array = array( 'post.php', 'post-new.php', 'term.php', 'user-new.php', 'user-edit.php', 'profile.php' );
|
121 |
+
$allowed_page_array = array( 'views-editor', 'ct-editor', 'view-archives-editor', 'dd_layouts_edit' );
|
122 |
+
// @todo maybe add a filter here for future Toolset admin pages...
|
123 |
+
if (
|
124 |
+
in_array( $pagenow, $allowed_pagenow_array )
|
125 |
+
|| (
|
126 |
+
$pagenow == 'admin.php'
|
127 |
+
&& isset( $_GET['page'] )
|
128 |
+
&& in_array( $_GET['page'], $allowed_page_array )
|
129 |
+
)
|
130 |
+
|| (
|
131 |
+
// In WordPress < 4.5, the edit tag admin page is edit-tags.php?action=edit&taxonomy=category&tag_ID=X
|
132 |
+
version_compare( $wp_version, '4.5', '<' )
|
133 |
+
&& $pagenow == 'edit-tags.php'
|
134 |
+
&& isset( $_GET['action'] )
|
135 |
+
&& $_GET['action'] == 'edit'
|
136 |
+
)
|
137 |
+
) {
|
138 |
+
return true;
|
139 |
+
}
|
140 |
+
return false;
|
141 |
+
}
|
142 |
+
|
143 |
+
/**
|
144 |
+
* is_frontend_editor_page
|
145 |
+
*
|
146 |
+
* Helper method to check whether we are on an frontend editor page.
|
147 |
+
* This should cover as many frontend editors as possible.
|
148 |
+
*
|
149 |
+
* @since 2.3.0
|
150 |
+
*/
|
151 |
+
|
152 |
+
public function is_frontend_editor_page() {
|
153 |
+
if ( is_admin() ) {
|
154 |
+
return false;
|
155 |
+
}
|
156 |
+
if (
|
157 |
+
// Layouts frontend editor
|
158 |
+
isset( $_GET['toolset_editor'] )
|
159 |
+
// Beaver Builder frontend editor
|
160 |
+
|| isset( $_GET['fl_builder'] )
|
161 |
+
// CRED frontend editor pages, when discoverable
|
162 |
+
) {
|
163 |
+
return true;
|
164 |
+
}
|
165 |
+
return false;
|
166 |
+
}
|
167 |
+
|
168 |
/*
|
169 |
* Dialog Template HTML code
|
170 |
*/
|
library/toolset/toolset-common/inc/toolset.wplogger.class.php
CHANGED
@@ -60,7 +60,7 @@ if ( ! function_exists( 'toolset_wplog' ) ) {
|
|
60 |
|
61 |
}
|
62 |
|
63 |
-
if ( ! class_exists( 'Toolset_WPLogger' ) ) {
|
64 |
|
65 |
class Toolset_WPLogger {
|
66 |
|
60 |
|
61 |
}
|
62 |
|
63 |
+
if ( ! class_exists( 'Toolset_WPLogger', false ) ) {
|
64 |
|
65 |
class Toolset_WPLogger {
|
66 |
|
library/toolset/toolset-common/inc/toolset.wpml.compatibility.class.php
CHANGED
@@ -1,39 +1,157 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
|
4 |
-
* ########################################
|
5 |
-
* Common WPML compatibility
|
6 |
-
* ########################################
|
7 |
-
*/
|
8 |
|
9 |
-
if ( defined( 'WPT_WPML_COMPATIBILITY' ) ) {
|
10 |
-
return;
|
11 |
-
}
|
12 |
|
13 |
-
|
14 |
-
|
15 |
-
|
|
|
|
|
16 |
class Toolset_WPML_Compatibility {
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
add_shortcode( 'wpml-string', array( $this, 'stub_wpml_string_shortcode' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
}
|
|
|
|
|
32 |
}
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
}
|
38 |
|
39 |
}
|
1 |
<?php
|
2 |
|
3 |
+
if ( ! class_exists( 'Toolset_WPML_Compatibility', false ) ) {
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
5 |
|
6 |
+
/**
|
7 |
+
* Handle the shared interoperability tasks between WPML and any/all Toolset plugins.
|
8 |
+
*
|
9 |
+
* @since unknown
|
10 |
+
*/
|
11 |
class Toolset_WPML_Compatibility {
|
12 |
+
|
13 |
+
private static $instance;
|
14 |
+
|
15 |
+
|
16 |
+
public static function get_instance() {
|
17 |
+
if ( null == self::$instance ) {
|
18 |
+
self::$instance = new self();
|
19 |
+
}
|
20 |
+
|
21 |
+
return self::$instance;
|
22 |
+
}
|
23 |
+
|
24 |
+
|
25 |
+
public static function initialize() {
|
26 |
+
self::get_instance();
|
27 |
+
}
|
28 |
+
|
29 |
+
|
30 |
+
private function __clone() { }
|
31 |
+
|
32 |
+
|
33 |
+
private function __construct() {
|
34 |
+
|
35 |
+
add_action( 'init', array( $this, 'maybe_add_wpml_string_stub_shortcode' ), 100 );
|
36 |
+
|
37 |
+
/**
|
38 |
+
* toolset_is_wpml_active_and_configured
|
39 |
+
*
|
40 |
+
* Check whether WPML core is active and configured properly.
|
41 |
+
*
|
42 |
+
* Note: Beware when calling this early, especially before 'init'. The behaviour depends
|
43 |
+
* on WPML and hasn't been tested.
|
44 |
+
*
|
45 |
+
* @since 2.3
|
46 |
+
*/
|
47 |
+
add_filter( 'toolset_is_wpml_active_and_configured', array( $this, 'filter_is_wpml_active_and_configured' ) );
|
48 |
+
|
49 |
+
}
|
50 |
+
|
51 |
+
|
52 |
+
/**
|
53 |
+
* In case WPML ST isn't active, add a stub "wpml-string" shortcode that will only
|
54 |
+
* return its content.
|
55 |
+
*
|
56 |
+
* This is to avoid printing of the unprocessed shortcode.
|
57 |
+
*
|
58 |
+
* @since unknown
|
59 |
+
*/
|
60 |
+
public function maybe_add_wpml_string_stub_shortcode() {
|
61 |
+
if ( ! $this->is_wpml_st_active() ) {
|
62 |
add_shortcode( 'wpml-string', array( $this, 'stub_wpml_string_shortcode' ) );
|
63 |
+
}
|
64 |
+
}
|
65 |
+
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Stub for the wpml-string shortcode.
|
69 |
+
*
|
70 |
+
* Make it as if the shortcode wasn't there.
|
71 |
+
*
|
72 |
+
* @param $atts
|
73 |
+
* @param string $value
|
74 |
+
*
|
75 |
+
* @return string
|
76 |
+
* @since unknown
|
77 |
+
*/
|
78 |
+
public function stub_wpml_string_shortcode( /** @noinspection PhpUnusedParameterInspection */ $atts, $value ) {
|
79 |
+
return do_shortcode( $value );
|
80 |
+
}
|
81 |
+
|
82 |
+
|
83 |
+
/**
|
84 |
+
* Check whether WPML core is active and configured.
|
85 |
+
*
|
86 |
+
* The result is cached for better performance.
|
87 |
+
*
|
88 |
+
* @param bool $use_cache
|
89 |
+
*
|
90 |
+
* @return bool
|
91 |
+
* @since 2.3
|
92 |
+
*/
|
93 |
+
public function is_wpml_active_and_configured( $use_cache = true ) {
|
94 |
|
95 |
+
static $result = null;
|
96 |
+
|
97 |
+
if( null === $result || ! $use_cache ) {
|
98 |
+
global $sitepress;
|
99 |
+
$is_wpml_active = (
|
100 |
+
defined( 'ICL_SITEPRESS_VERSION' )
|
101 |
+
&& ! ICL_PLUGIN_INACTIVE
|
102 |
+
&& ! is_null( $sitepress )
|
103 |
+
&& class_exists( 'SitePress' )
|
104 |
+
);
|
105 |
+
|
106 |
+
$is_wpml_configured = apply_filters( 'wpml_setting', false, 'setup_complete' );
|
107 |
+
|
108 |
+
$result = ( $is_wpml_active && $is_wpml_configured );
|
109 |
}
|
110 |
+
|
111 |
+
return $result;
|
112 |
}
|
113 |
+
|
114 |
+
|
115 |
+
/**
|
116 |
+
* Callback for toolset_is_wpml_active_and_configured.
|
117 |
+
*
|
118 |
+
* Instead of calling this directly, use is_wpml_configured_and_active().
|
119 |
+
*
|
120 |
+
* @param mixed $default_value Ignored.
|
121 |
+
* @return bool
|
122 |
+
* @since 2.3
|
123 |
+
*/
|
124 |
+
public function filter_is_wpml_active_and_configured( /** @noinspection PhpUnusedParameterInspection */ $default_value ) {
|
125 |
+
return $this->is_wpml_active_and_configured();
|
126 |
+
}
|
127 |
+
|
128 |
+
|
129 |
+
/**
|
130 |
+
* Check whether WPML ST is active.
|
131 |
+
*
|
132 |
+
* This will return false when WPML is not configured.
|
133 |
+
*
|
134 |
+
* @return bool
|
135 |
+
* @since 2.3
|
136 |
+
*/
|
137 |
+
public function is_wpml_st_active() {
|
138 |
+
|
139 |
+
if ( ! $this->is_wpml_active_and_configured() ) {
|
140 |
+
return false;
|
141 |
+
}
|
142 |
+
|
143 |
+
return ( defined( 'WPML_ST_VERSION') );
|
144 |
+
}
|
145 |
+
|
146 |
+
|
147 |
+
/**
|
148 |
+
* Get the version of WPML core, if it's defined.
|
149 |
+
*
|
150 |
+
* @return null|string
|
151 |
+
* @since 2.3
|
152 |
+
*/
|
153 |
+
public function get_wpml_version() {
|
154 |
+
return ( defined( 'ICL_SITEPRESS_VERSION' ) ? ICL_SITEPRESS_VERSION : null );
|
155 |
}
|
156 |
|
157 |
}
|
library/toolset/toolset-common/lib/cakephp.validation.class.php
CHANGED
@@ -29,7 +29,7 @@
|
|
29 |
* @since CakePHP v 1.2.0.3830
|
30 |
*/
|
31 |
//class Validation extends Object {
|
32 |
-
if ( ! class_exists( 'Toolset_CakePHP_Validation' ) ) {
|
33 |
|
34 |
class Toolset_CakePHP_Validation {
|
35 |
|
29 |
* @since CakePHP v 1.2.0.3830
|
30 |
*/
|
31 |
//class Validation extends Object {
|
32 |
+
if ( ! class_exists( 'Toolset_CakePHP_Validation', false ) ) {
|
33 |
|
34 |
class Toolset_CakePHP_Validation {
|
35 |
|
library/toolset/toolset-common/lib/enlimbo.forms.class.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Curently used by Views for rendering parametric search items and some backend elements
|
5 |
*/
|
6 |
|
7 |
-
if ( ! class_exists('Toolset_Enlimbo_Forms' ) ) {
|
8 |
|
9 |
class Toolset_Enlimbo_Forms
|
10 |
{
|
@@ -974,7 +974,7 @@ if ( ! class_exists('Toolset_Enlimbo_Forms' ) ) {
|
|
974 |
* Curently used by Views for rendering parametric search items and some backend elements
|
975 |
*/
|
976 |
|
977 |
-
if ( ! class_exists('Toolset_Enlimbo_Forms_Control' ) ) {
|
978 |
|
979 |
class Toolset_Enlimbo_Forms_Control extends Toolset_Enlimbo_Forms {
|
980 |
|
4 |
* Curently used by Views for rendering parametric search items and some backend elements
|
5 |
*/
|
6 |
|
7 |
+
if ( ! class_exists('Toolset_Enlimbo_Forms', false ) ) {
|
8 |
|
9 |
class Toolset_Enlimbo_Forms
|
10 |
{
|
974 |
* Curently used by Views for rendering parametric search items and some backend elements
|
975 |
*/
|
976 |
|
977 |
+
if ( ! class_exists( 'Toolset_Enlimbo_Forms_Control', false ) ) {
|
978 |
|
979 |
class Toolset_Enlimbo_Forms_Control extends Toolset_Enlimbo_Forms {
|
980 |
|
library/toolset/toolset-common/lib/validate.class.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
if ( ! class_exists( 'Toolset_Validate' ) ) {
|
4 |
class Toolset_Validate
|
5 |
{
|
6 |
|
1 |
<?php
|
2 |
|
3 |
+
if ( ! class_exists( 'Toolset_Validate', false ) ) {
|
4 |
class Toolset_Validate
|
5 |
{
|
6 |
|
library/toolset/toolset-common/loader.php
CHANGED
@@ -30,7 +30,7 @@
|
|
30 |
* Now that we have a unique version for all plugins
|
31 |
* we define the version here
|
32 |
*/
|
33 |
-
$toolset_common_version =
|
34 |
|
35 |
|
36 |
// ----------------------------------------------------------------------//
|
@@ -77,8 +77,8 @@ if ( ! function_exists( 'toolset_common_initialize' ) ) {
|
|
77 |
|
78 |
$path = str_replace( '\\', '/', $path );
|
79 |
|
80 |
-
|
81 |
-
$url
|
82 |
|
83 |
// Save the url in the matching path
|
84 |
foreach ( $toolset_common_paths as $key => $data ) {
|
@@ -88,5 +88,4 @@ if ( ! function_exists( 'toolset_common_initialize' ) ) {
|
|
88 |
}
|
89 |
}
|
90 |
}
|
91 |
-
}
|
92 |
-
|
30 |
* Now that we have a unique version for all plugins
|
31 |
* we define the version here
|
32 |
*/
|
33 |
+
$toolset_common_version = 230034;
|
34 |
|
35 |
|
36 |
// ----------------------------------------------------------------------//
|
77 |
|
78 |
$path = str_replace( '\\', '/', $path );
|
79 |
|
80 |
+
$path = untrailingslashit( $path );
|
81 |
+
$url = untrailingslashit( $url );
|
82 |
|
83 |
// Save the url in the matching path
|
84 |
foreach ( $toolset_common_paths as $key => $data ) {
|
88 |
}
|
89 |
}
|
90 |
}
|
91 |
+
}
|
|
library/toolset/toolset-common/readme.md
CHANGED
@@ -6,4 +6,143 @@ A collection of php, javascript and CSS libraries, utilities and models to be us
|
|
6 |
|
7 |
Fetch the toolset-common library using composer:
|
8 |
|
9 |
-
composer install --no-autoloader
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
7 |
Fetch the toolset-common library using composer:
|
8 |
|
9 |
+
composer install --no-autoloader
|
10 |
+
|
11 |
+
|
12 |
+
## How To Use Toolset Admin Notices
|
13 |
+
|
14 |
+
#### Simple Admin Notice
|
15 |
+
We call Simple Admin Notice the temporary success / warning / error messages in WordPress. Like "Post saved.",
|
16 |
+
"Field XY is required" and so on... all these messages are temporary.
|
17 |
+
|
18 |
+
##### Success Notice
|
19 |
+
|
20 |
+
Toolset_Admin_Notices_Manager::add_notice( 'types-post-saved', 'Your post was successfully saved!' );
|
21 |
+
|
22 |
+
The first parameter is the id of the notice, and the second the content of the notice. It is a short version of:
|
23 |
+
|
24 |
+
$n = new Toolset_Admin_Notice_Success( 'types-post-saved' );
|
25 |
+
$n->set_content( 'Your post was successfully saved!' );
|
26 |
+
Toolset_Admin_Notices_Manager::add_notice( $n );
|
27 |
+
|
28 |
+
You see we first initialise the success notice with the id `types-post-saved`. Than adding our content to the notice
|
29 |
+
and finally apply it to our `Toolset_Admin_Notices_Manager`.
|
30 |
+
|
31 |
+
Every notice has an id, this is used for making sure not displaying twice the same and for dismissable notices.
|
32 |
+
|
33 |
+
##### Warning / Error notice
|
34 |
+
You can use the previous code also for adding Error and Warning messages.
|
35 |
+
|
36 |
+
$n = new Toolset_Admin_Notice_Error( 'error-on-save' );
|
37 |
+
...
|
38 |
+
$n = new Toolset_Admin_Notice_Warning( 'warning-message' );
|
39 |
+
...
|
40 |
+
|
41 |
+
|
42 |
+
#### Toolset Admin Notice
|
43 |
+
If you want to show a more advanced or permanent message, like running our installer, doing a database update or
|
44 |
+
something like that, you should create a toolset styled admin notice. Here an example of use:
|
45 |
+
```
|
46 |
+
$notice = new Toolset_Admin_Notice_Required_Action( 'toolset-run-installer' );
|
47 |
+
Toolset_Admin_Notices_Manager::add_notice( $notice );
|
48 |
+
$notice->set_content( __DIR__ .'/templates/admin/notice/content/run-installer.phtml' );
|
49 |
+
|
50 |
+
|
51 |
+
// ON THE LAST STEP OF THE INSTALLER:
|
52 |
+
if( $installation_done ) {
|
53 |
+
Toolset_Admin_Notices_Manager::dismiss_notice_by_id( 'toolset-run-installer', true );
|
54 |
+
}
|
55 |
+
```
|
56 |
+
|
57 |
+
This message uses a template for the content:
|
58 |
+
```
|
59 |
+
<h3>
|
60 |
+
<?php _e( 'Do you want to prepare this site for quick editing with Toolset?', 'wpcf' ); ?>
|
61 |
+
</h3>
|
62 |
+
|
63 |
+
<p class="toolset-list-title">
|
64 |
+
<?php _e( 'We will:', 'wpcf' ); ?>
|
65 |
+
</p>
|
66 |
+
|
67 |
+
<ul class="toolset-list">
|
68 |
+
<li>
|
69 |
+
<?php printf( __( 'Automatically install the Toolset plugins that are needed for %s', 'wpcf' ), 'Toolset Starter' ); ?>
|
70 |
+
</li>
|
71 |
+
<li>
|
72 |
+
<?php printf( __( 'Set up layouts, template, archives and other site elements for %s', 'wpcf'), 'Toolset Starter' ); ?>
|
73 |
+
</li>
|
74 |
+
</ul>
|
75 |
+
|
76 |
+
<?php
|
77 |
+
echo Toolset_Admin_Notices_Manager::tpl_button_primary(
|
78 |
+
__( 'Run Installer', 'wpcf' ),
|
79 |
+
admin_url( 'index.php?page=toolset-site-installer' )
|
80 |
+
);
|
81 |
+
```
|
82 |
+
|
83 |
+
By default `Toolset_Admin_Notice_Required_Action` does not show a dismiss button. The message will be dismissed once the
|
84 |
+
the required action is done. In this example it would be on the last step of the installer by calling:
|
85 |
+
```
|
86 |
+
Toolset_Admin_Notices_Manager::dismiss_notice_by_id( 'toolset-run-installer', true );
|
87 |
+
```
|
88 |
+
*Note: the second parameter is for $globally. If it would be false, only the current user won't see the message anymore.
|
89 |
+
With true no one will see the message about "Run Installer" anymore.*
|
90 |
+
|
91 |
+
#### Make a notice permanent dismissible
|
92 |
+
To create a notice, which should be dismissible by the user you can add the following:
|
93 |
+
```
|
94 |
+
$notice->set_is_dismissible_permanent( true );
|
95 |
+
```
|
96 |
+
This would add the usual (x) to the top right of the message. The dismiss is saved as usermeta.
|
97 |
+
|
98 |
+
#### Make a notice permanent dissmissible per installation
|
99 |
+
Same as above but once a user clicks on the (x) nobody will see the notice anymore.
|
100 |
+
```
|
101 |
+
$notice->set_is_dismissible_globally( true );
|
102 |
+
```
|
103 |
+
|
104 |
+
#### Conditions
|
105 |
+
|
106 |
+
Now my installer message is in place. But even subscribers can see the message. I want to limit it to admins:
|
107 |
+
```
|
108 |
+
if( current_user_can( 'manage_options' ) ) {
|
109 |
+
// my previous notice init code
|
110 |
+
}
|
111 |
+
```
|
112 |
+
ok, but better:
|
113 |
+
```
|
114 |
+
// my previous notice init code
|
115 |
+
$notice->add_condition( new Toolset_Condition_User_Role_Admin() );
|
116 |
+
```
|
117 |
+
Now only administrators will see the message.
|
118 |
+
|
119 |
+
You can add as many conditions as you want.
|
120 |
+
```
|
121 |
+
// my previous notice init code
|
122 |
+
$notice->add_condition( new Toolset_Condition_User_Role_Admin() );
|
123 |
+
$notice->add_condition( new Toolset_Condition_Plugin_Layouts_Active() );
|
124 |
+
```
|
125 |
+
#### Create a new Condition
|
126 |
+
Feel free to add new conditions. Your condition must implement the `Toolset_Condition_Interface`.
|
127 |
+
```
|
128 |
+
interface Toolset_Condition_Interface {
|
129 |
+
/**
|
130 |
+
* @return bool
|
131 |
+
*/
|
132 |
+
public function is_met();
|
133 |
+
}
|
134 |
+
```
|
135 |
+
You see very simple, as example the `Toolset_Condition_Plugin_Layouts_Active` condition:
|
136 |
+
```
|
137 |
+
class Toolset_Condition_Plugin_Layouts_Active implements Toolset_Condition_Interface {
|
138 |
+
|
139 |
+
public function is_met() {
|
140 |
+
if( defined( 'WPDDL_DEVELOPMENT' ) || defined( 'WPDDL_PRODUCTION' ) ) {
|
141 |
+
return true;
|
142 |
+
}
|
143 |
+
|
144 |
+
return false;
|
145 |
+
}
|
146 |
+
|
147 |
+
}
|
148 |
+
```
|
library/toolset/toolset-common/res/css/toolset-admin-notices.css
ADDED
@@ -0,0 +1,139 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.toolset-notice-wp {
|
2 |
+
position: relative;
|
3 |
+
}
|
4 |
+
|
5 |
+
.toolset-notice-custom-position {
|
6 |
+
clear: both;
|
7 |
+
background: #fff;
|
8 |
+
border-left: 4px solid #fff;
|
9 |
+
-webkit-box-shadow: 0 1px 1px 0 rgba( 0, 0, 0, 0.1 );
|
10 |
+
box-shadow: 0 1px 1px 0 rgba( 0, 0, 0, 0.1 );
|
11 |
+
padding: 1px 12px;
|
12 |
+
}
|
13 |
+
|
14 |
+
.toolset-notice {
|
15 |
+
border-left-color: #f05a29;
|
16 |
+
padding-top: 12px;
|
17 |
+
padding-bottom: 12px;
|
18 |
+
position: relative;
|
19 |
+
}
|
20 |
+
|
21 |
+
.toolset-notice h1,
|
22 |
+
.toolset-notice h2,
|
23 |
+
.toolset-notice h3,
|
24 |
+
.toolset-notice h4,
|
25 |
+
.toolset-notice h5,
|
26 |
+
.toolset-notice h6 {
|
27 |
+
color: #f05a29;
|
28 |
+
}
|
29 |
+
|
30 |
+
.toolset-notice > :first-child {
|
31 |
+
margin-top: 0 !important;
|
32 |
+
}
|
33 |
+
|
34 |
+
.toolset-notice > :nth-last-child(-n+2) {
|
35 |
+
margin-bottom: 0 !important;
|
36 |
+
}
|
37 |
+
|
38 |
+
.toolset-notice p {
|
39 |
+
margin-bottom: 13px;
|
40 |
+
}
|
41 |
+
|
42 |
+
.toolset-notice p.toolset-new-subject {
|
43 |
+
margin-top: 20px;
|
44 |
+
}
|
45 |
+
|
46 |
+
.toolset-button,
|
47 |
+
.toolset-button:hover,
|
48 |
+
.toolset-button:focus,
|
49 |
+
.toolset-button:visited {
|
50 |
+
border-radius: 3px;
|
51 |
+
border: 0;
|
52 |
+
background-color: #999;
|
53 |
+
box-sizing: border-box;
|
54 |
+
color: #fff;
|
55 |
+
cursor: pointer;
|
56 |
+
display: inline-block;
|
57 |
+
font-size: 13px;
|
58 |
+
height: 28px;
|
59 |
+
line-height: 26px;
|
60 |
+
margin-right: 5px;
|
61 |
+
outline-style: none;
|
62 |
+
padding: 0 10px 1px;
|
63 |
+
text-decoration: none;
|
64 |
+
transition-duration: 0.05s;
|
65 |
+
transition-property: border, background, color;
|
66 |
+
transition-timing-function: ease-in-out;
|
67 |
+
}
|
68 |
+
|
69 |
+
.toolset-button:hover {
|
70 |
+
background: #8c8c8c;
|
71 |
+
}
|
72 |
+
|
73 |
+
.toolset-button.toolset-button-primary {
|
74 |
+
background-color: #f05a29;
|
75 |
+
}
|
76 |
+
|
77 |
+
.toolset-button.toolset-button-primary:hover{
|
78 |
+
background-color: #e05628;
|
79 |
+
}
|
80 |
+
|
81 |
+
.toolset-button-external-link:after {
|
82 |
+
font-family: dashicons;
|
83 |
+
font-weight: normal;
|
84 |
+
font-style: normal;
|
85 |
+
content: "\f504";
|
86 |
+
display: inline-block;
|
87 |
+
width: 15px;
|
88 |
+
margin-right: -15px;
|
89 |
+
font-size: 15px;
|
90 |
+
line-height: 18px;
|
91 |
+
vertical-align: text-top;
|
92 |
+
margin-top: -1px;
|
93 |
+
padding-right: 10px;
|
94 |
+
padding-left: 3px;
|
95 |
+
text-decoration: none;
|
96 |
+
-webkit-font-smoothing: antialiased;
|
97 |
+
}
|
98 |
+
|
99 |
+
.toolset-list {
|
100 |
+
padding: 2px;
|
101 |
+
margin: 13px 0 13px 20px;
|
102 |
+
list-style: disc;
|
103 |
+
}
|
104 |
+
|
105 |
+
.toolset-list-title + .toolset-list {
|
106 |
+
margin-top: -5px;
|
107 |
+
}
|
108 |
+
|
109 |
+
.toolset-dismiss {
|
110 |
+
position: absolute;
|
111 |
+
top: 0;
|
112 |
+
right: 1px;
|
113 |
+
border: none;
|
114 |
+
margin: 0;
|
115 |
+
padding: 9px;
|
116 |
+
background: none;
|
117 |
+
color: #b4b9be;
|
118 |
+
cursor: pointer;
|
119 |
+
}
|
120 |
+
|
121 |
+
.toolset-dismiss:before {
|
122 |
+
background: none;
|
123 |
+
color: #b4b9be;
|
124 |
+
content: "\f153";
|
125 |
+
display: block;
|
126 |
+
font: normal 16px/20px dashicons;
|
127 |
+
speak: none;
|
128 |
+
height: 20px;
|
129 |
+
text-align: center;
|
130 |
+
width: 20px;
|
131 |
+
-webkit-font-smoothing: antialiased;
|
132 |
+
-moz-osx-font-smoothing: grayscale;
|
133 |
+
}
|
134 |
+
|
135 |
+
.toolset-dismiss:hover:before,
|
136 |
+
.toolset-dismiss:active:before,
|
137 |
+
.toolset-dismiss:focus:before {
|
138 |
+
color: #f05a29;
|
139 |
+
}
|
library/toolset/toolset-common/res/css/toolset-bs-component.css
CHANGED
@@ -27,7 +27,7 @@
|
|
27 |
overflow:hidden;
|
28 |
}
|
29 |
|
30 |
-
span.
|
31 |
display: block;
|
32 |
clear: both;
|
33 |
font-size: 11px;
|
@@ -45,13 +45,20 @@ span.toolset_qt_btn_group_labels {
|
|
45 |
}
|
46 |
|
47 |
.bs-quicktags-toolbar {
|
48 |
-
padding:
|
49 |
-
|
|
|
|
|
50 |
background: #f5f5f5 !important;
|
51 |
min-height: 30px;
|
52 |
-
border
|
53 |
-
|
54 |
-
|
|
|
|
|
|
|
|
|
|
|
55 |
}
|
56 |
|
57 |
.bs-quicktags-toolbar>ul {
|
@@ -90,29 +97,29 @@ span.toolset_qt_btn_group_labels {
|
|
90 |
|
91 |
/* Popover */
|
92 |
.pop {
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
right:0;
|
100 |
-
margin-right: 10px;
|
101 |
z-index: 99;
|
102 |
}
|
103 |
|
104 |
.pop_right_margin{
|
105 |
-
margin-right: 20px;
|
106 |
}
|
107 |
.pop_right_margin_big{
|
108 |
-
margin-right: 25px;
|
109 |
}
|
110 |
.pop_top_margin{
|
111 |
-
margin-top: 20px;
|
112 |
}
|
113 |
.pop_close {
|
114 |
display: block;
|
115 |
-
text-align: right;
|
116 |
}
|
117 |
.pop_msg_p{
|
118 |
margin: 0px;
|
@@ -132,4 +139,11 @@ span.toolset_qt_btn_group_labels {
|
|
132 |
box-shadow: rgb(246, 146, 30) 0px 0px 5px 1px !important;
|
133 |
}
|
134 |
.css-components-toggle-icon{color:#555d66; position: relative; bottom:2px;right:2px;}
|
135 |
-
.css-components-toggle-icon:before{}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
overflow:hidden;
|
28 |
}
|
29 |
|
30 |
+
span.toolset_qt_btn_group_labels_style {
|
31 |
display: block;
|
32 |
clear: both;
|
33 |
font-size: 11px;
|
45 |
}
|
46 |
|
47 |
.bs-quicktags-toolbar {
|
48 |
+
padding: 0px !important;
|
49 |
+
margin-top: 0px !important;
|
50 |
+
border: 1px solid #ddd !important;
|
51 |
+
border-top: 0px !important;
|
52 |
background: #f5f5f5 !important;
|
53 |
min-height: 30px;
|
54 |
+
border: 0px !important;
|
55 |
+
display: inline-block;
|
56 |
+
}
|
57 |
+
.bs-quicktags-toolbar>ul{
|
58 |
+
padding-left: 0px;
|
59 |
+
}
|
60 |
+
.bs-quicktags-toolbar>ul>li{
|
61 |
+
list-style-type: none;
|
62 |
}
|
63 |
|
64 |
.bs-quicktags-toolbar>ul {
|
97 |
|
98 |
/* Popover */
|
99 |
.pop {
|
100 |
+
background: #eee !important;
|
101 |
+
border: 1px solid #ccc !important;
|
102 |
+
padding: 10px !important;
|
103 |
+
border-radius: 8px;
|
104 |
+
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
|
105 |
+
position: absolute !important;
|
106 |
+
right: 0;
|
107 |
+
margin-right: 10px !important;
|
108 |
z-index: 99;
|
109 |
}
|
110 |
|
111 |
.pop_right_margin{
|
112 |
+
margin-right: 20px !important;
|
113 |
}
|
114 |
.pop_right_margin_big{
|
115 |
+
margin-right: 25px !important;
|
116 |
}
|
117 |
.pop_top_margin{
|
118 |
+
margin-top: 20px !important;
|
119 |
}
|
120 |
.pop_close {
|
121 |
display: block;
|
122 |
+
text-align: right !important;
|
123 |
}
|
124 |
.pop_msg_p{
|
125 |
margin: 0px;
|
139 |
box-shadow: rgb(246, 146, 30) 0px 0px 5px 1px !important;
|
140 |
}
|
141 |
.css-components-toggle-icon{color:#555d66; position: relative; bottom:2px;right:2px;}
|
142 |
+
.css-components-toggle-icon:before{}
|
143 |
+
|
144 |
+
li.js-editor-bs-button-wrapper {
|
145 |
+
display: inline-block;
|
146 |
+
}
|
147 |
+
li.js-editor-addon-button-wrapper.js-editor-bs-button-wrapper {
|
148 |
+
margin: 0 2px 5px 2px;
|
149 |
+
}
|
library/toolset/toolset-common/res/css/toolset-common.css
CHANGED
@@ -260,6 +260,7 @@ Helper styles
|
|
260 |
|
261 |
.toolset-mightlong-list {
|
262 |
overflow: hidden;
|
|
|
263 |
}
|
264 |
|
265 |
.toolset-mightlong-list li {
|
260 |
|
261 |
.toolset-mightlong-list {
|
262 |
overflow: hidden;
|
263 |
+
list-style: outside none none;
|
264 |
}
|
265 |
|
266 |
.toolset-mightlong-list li {
|
library/toolset/toolset-common/res/css/toolset-dialogs.css
CHANGED
@@ -68,6 +68,9 @@
|
|
68 |
.toolset-ui-dialog .ui-tabs-panel.ui-widget-content{
|
69 |
border-left: 1px solid #ccc !important;
|
70 |
}
|
|
|
|
|
|
|
71 |
.toolset-ui-dialog.ui-widget input, .toolset-ui-dialog.ui-widget select, .toolset-ui-dialog.ui-widget textarea, .ui-widget button{
|
72 |
font-size: 13px !important;
|
73 |
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", "Open Sans", sans-serif;
|
@@ -109,6 +112,7 @@
|
|
109 |
border-top: 1px solid #ddd !important;
|
110 |
}
|
111 |
.toolset-ui-dialog .button-primary {
|
|
|
112 |
background: #0085ba !important;
|
113 |
border-color: #0073aa #006799 #006799 !important;
|
114 |
-webkit-box-shadow: 0 1px 0 #006799 !important;
|
@@ -118,12 +122,17 @@
|
|
118 |
text-shadow: 0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799 !important;
|
119 |
font-weight: normal !important;
|
120 |
line-height: 26px !important;
|
|
|
121 |
border-radius: 3px !important;
|
122 |
}
|
123 |
-
.toolset-ui-dialog .button-primary:hover{
|
|
|
124 |
border-color: #069dd4 !important;
|
|
|
|
|
125 |
}
|
126 |
-
.toolset-ui-dialog .button-secondary{
|
|
|
127 |
color: #555 !important;
|
128 |
border-color: #ccc !important;
|
129 |
background: #f7f7f7 !important;
|
@@ -132,13 +141,28 @@
|
|
132 |
vertical-align: top !important;
|
133 |
font-weight: normal !important;
|
134 |
line-height: 26px !important;
|
|
|
135 |
border-radius: 3px !important;
|
136 |
}
|
137 |
-
.toolset-ui-dialog .button-secondary:hover{
|
|
|
138 |
border-color: #999 !important;
|
|
|
|
|
139 |
}
|
140 |
.toolset-ui-dialog .button-secondary[disabled],
|
141 |
.toolset-ui-dialog .button-secondary:disabled,
|
142 |
-
.toolset-ui-dialog .button-secondary.disabled{
|
|
|
143 |
border-color: #ddd !important;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
}
|
68 |
.toolset-ui-dialog .ui-tabs-panel.ui-widget-content{
|
69 |
border-left: 1px solid #ccc !important;
|
70 |
}
|
71 |
+
.toolset-ui-dialog .ui-dialog-buttonpane {
|
72 |
+
padding: 8px;
|
73 |
+
}
|
74 |
.toolset-ui-dialog.ui-widget input, .toolset-ui-dialog.ui-widget select, .toolset-ui-dialog.ui-widget textarea, .ui-widget button{
|
75 |
font-size: 13px !important;
|
76 |
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", "Open Sans", sans-serif;
|
112 |
border-top: 1px solid #ddd !important;
|
113 |
}
|
114 |
.toolset-ui-dialog .button-primary {
|
115 |
+
padding: 0 10px 1px !important;
|
116 |
background: #0085ba !important;
|
117 |
border-color: #0073aa #006799 #006799 !important;
|
118 |
-webkit-box-shadow: 0 1px 0 #006799 !important;
|
122 |
text-shadow: 0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799 !important;
|
123 |
font-weight: normal !important;
|
124 |
line-height: 26px !important;
|
125 |
+
letter-spacing: normal;
|
126 |
border-radius: 3px !important;
|
127 |
}
|
128 |
+
.toolset-ui-dialog .button-primary:hover {
|
129 |
+
padding: 0 10px 1px !important;
|
130 |
border-color: #069dd4 !important;
|
131 |
+
line-height: 26px !important;
|
132 |
+
letter-spacing: normal;
|
133 |
}
|
134 |
+
.toolset-ui-dialog .button-secondary {
|
135 |
+
padding: 0 10px 1px !important;
|
136 |
color: #555 !important;
|
137 |
border-color: #ccc !important;
|
138 |
background: #f7f7f7 !important;
|
141 |
vertical-align: top !important;
|
142 |
font-weight: normal !important;
|
143 |
line-height: 26px !important;
|
144 |
+
letter-spacing: normal;
|
145 |
border-radius: 3px !important;
|
146 |
}
|
147 |
+
.toolset-ui-dialog .button-secondary:hover {
|
148 |
+
padding: 0 10px 1px !important;
|
149 |
border-color: #999 !important;
|
150 |
+
line-height: 26px !important;
|
151 |
+
letter-spacing: normal;
|
152 |
}
|
153 |
.toolset-ui-dialog .button-secondary[disabled],
|
154 |
.toolset-ui-dialog .button-secondary:disabled,
|
155 |
+
.toolset-ui-dialog .button-secondary.disabled {
|
156 |
+
padding: 0 10px 1px !important;
|
157 |
border-color: #ddd !important;
|
158 |
+
line-height: 26px !important;
|
159 |
+
letter-spacing: normal;
|
160 |
+
}
|
161 |
+
.toolset-ui-dialog .button-small,
|
162 |
+
.toolset-ui-dialog .button-small:hover {
|
163 |
+
height: 24px;
|
164 |
+
padding: 0 8px 1px;
|
165 |
+
line-height: 22px !important;
|
166 |
+
font-size: 11px !important;
|
167 |
+
letter-spacing: normal;
|
168 |
}
|
library/toolset/toolset-common/res/js/toolset-admin-notices.js
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
;( function( $ ) {
|
2 |
+
|
3 |
+
$( document ).on( 'click', '[data-' + toolset_admin_notices.triggerNoticeDismissible + ']', function() {
|
4 |
+
var notice = $( this ).parent( '.toolset-notice-wp' );
|
5 |
+
var ajaxRequestData = {};
|
6 |
+
ajaxRequestData['action'] = toolset_admin_notices.action;
|
7 |
+
ajaxRequestData[toolset_admin_notices.varnameNonce] = toolset_admin_notices.nonce;
|
8 |
+
ajaxRequestData[toolset_admin_notices.varnameAction] = toolset_admin_notices.triggerNoticeDismissible;
|
9 |
+
ajaxRequestData[toolset_admin_notices.varnameNoticeId] = $( this ).data( toolset_admin_notices.triggerNoticeDismissible );
|
10 |
+
|
11 |
+
$.ajax( {
|
12 |
+
url: ajaxurl,
|
13 |
+
method: 'POST',
|
14 |
+
data: ajaxRequestData
|
15 |
+
} ).done( function( ajaxResponseData ) {
|
16 |
+
notice.fadeTo( 100, 0, function() {
|
17 |
+
notice.slideUp( 100, function() {
|
18 |
+
notice.remove();
|
19 |
+
});
|
20 |
+
});
|
21 |
+
} );
|
22 |
+
} );
|
23 |
+
|
24 |
+
} ( jQuery ) );
|
library/toolset/toolset-common/res/js/toolset-bs-component-buttons.js
CHANGED
@@ -1,177 +1,6 @@
|
|
1 |
var ToolsetCommon = ToolsetCommon || {};
|
2 |
|
3 |
|
4 |
-
ToolsetCommon.BootstrapCssComponentsTinyMCE = function($){
|
5 |
-
|
6 |
-
var self = this,
|
7 |
-
$bootstrap_components = Toolset_CssComponent.DDL_CSS_JS.available_components,
|
8 |
-
$bootstrap_css = Toolset_CssComponent.DDL_CSS_JS.available_css,
|
9 |
-
$other = Toolset_CssComponent.DDL_CSS_JS.other;
|
10 |
-
|
11 |
-
self.init = function(){
|
12 |
-
Toolset.hooks.addAction( 'toolset_text_editor_TinyMCE_init', function( instance ) {
|
13 |
-
self.add_toggle_visibility_button( instance );
|
14 |
-
self.add_bootstrap_components_buttons(instance);
|
15 |
-
self.add_bootstrap_css_buttons(instance);
|
16 |
-
self.add_other_buttons(instance);
|
17 |
-
Toolset.hooks.doAction( 'bs_components_tinyMCE_divider', instance );
|
18 |
-
});
|
19 |
-
};
|
20 |
-
|
21 |
-
self.add_toggle_visibility_button = function(instance){
|
22 |
-
|
23 |
-
if(typeof tinymce !== 'object'){
|
24 |
-
return;
|
25 |
-
}
|
26 |
-
|
27 |
-
tinymce.PluginManager.add('css_components_toolbar_toggle', function(editor, url){
|
28 |
-
editor.addButton( 'css_components_toolbar_toggle', {
|
29 |
-
icon: ' icon-bootstrap-original-logo ont-icon-25 css-components-toggle-icon',
|
30 |
-
tooltip: Toolset_CssComponent.DDL_CSS_JS.toggle_button_tooltip,
|
31 |
-
onclick: function() {
|
32 |
-
var $labels = jQuery('.toolset_qt_btn_group_labels'),
|
33 |
-
$container = $labels.closest('div.mce-toolbar');
|
34 |
-
|
35 |
-
$container.toggle();
|
36 |
-
ToolsetCommon.BSComponentsEventsHandler.update_tinyMCE_toggle_status($container);
|
37 |
-
}
|
38 |
-
});
|
39 |
-
});
|
40 |
-
|
41 |
-
_.defer(function(){
|
42 |
-
var $icon = jQuery('.css-components-toggle-icon'),
|
43 |
-
$button = $icon.parent(),
|
44 |
-
$widget = jQuery('.css-components-toggle-icon').closest('div.mce-widget');
|
45 |
-
|
46 |
-
$widget.addClass('css-components-toggle-div');
|
47 |
-
|
48 |
-
$widget.css({"position": "relative"});
|
49 |
-
$button.css({"position": "relative", "width" : "26px", "height" : "24px"});
|
50 |
-
});
|
51 |
-
|
52 |
-
};
|
53 |
-
|
54 |
-
self.add_bootstrap_components_buttons = function(instance){
|
55 |
-
|
56 |
-
if(typeof $bootstrap_components !== 'object'){
|
57 |
-
return;
|
58 |
-
}
|
59 |
-
|
60 |
-
if(typeof tinymce !== 'object'){
|
61 |
-
return;
|
62 |
-
}
|
63 |
-
|
64 |
-
jQuery.each( $bootstrap_components, function( index, value ){
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
tinymce.PluginManager.add('css_components_'+index+'_button', function( editor, url ) {
|
69 |
-
editor.addButton( 'css_components_'+index+'_button', {
|
70 |
-
icon: ' '+value.button_icon+' '+value.button_icon_size,
|
71 |
-
tooltip: value.name,
|
72 |
-
onclick: function() {
|
73 |
-
|
74 |
-
Toolset.hooks.doAction( 'bs_components_open_dialog', {
|
75 |
-
name: value.name,
|
76 |
-
description: value.description,
|
77 |
-
url: value.url,
|
78 |
-
button_icon: value.button_icon,
|
79 |
-
dialog_icon_size: value.dialog_icon_size,
|
80 |
-
bs_category: 'available_components',
|
81 |
-
bs_component_key: index,
|
82 |
-
editor_instance: instance,
|
83 |
-
buttons_type: 'tinymce'
|
84 |
-
});
|
85 |
-
|
86 |
-
},
|
87 |
-
'class' : "toolset-components-buttons"
|
88 |
-
});
|
89 |
-
});
|
90 |
-
|
91 |
-
|
92 |
-
});
|
93 |
-
};
|
94 |
-
|
95 |
-
self.add_bootstrap_css_buttons = function(instance){
|
96 |
-
|
97 |
-
if(typeof $bootstrap_css !== 'object'){
|
98 |
-
return;
|
99 |
-
}
|
100 |
-
if(typeof tinymce !== 'object'){
|
101 |
-
return;
|
102 |
-
}
|
103 |
-
|
104 |
-
jQuery.each( $bootstrap_css, function( index, value ){
|
105 |
-
|
106 |
-
tinymce.PluginManager.add('css_'+index+'_button', function( editor, url ) {
|
107 |
-
editor.addButton( 'css_'+index+'_button', {
|
108 |
-
icon: ' '+value.button_icon+' '+value.button_icon_size,
|
109 |
-
tooltip: value.name,
|
110 |
-
onclick: function() {
|
111 |
-
|
112 |
-
Toolset.hooks.doAction( 'bs_components_open_dialog', {
|
113 |
-
name: value.name,
|
114 |
-
description: value.description,
|
115 |
-
url: value.url,
|
116 |
-
button_icon: value.button_icon,
|
117 |
-
dialog_icon_size: value.dialog_icon_size,
|
118 |
-
bs_category: 'available_css',
|
119 |
-
bs_component_key: index,
|
120 |
-
editor_instance: instance,
|
121 |
-
buttons_type: 'tinymce'
|
122 |
-
});
|
123 |
-
|
124 |
-
},
|
125 |
-
'class' : "toolset-components-buttons"
|
126 |
-
});
|
127 |
-
});
|
128 |
-
});
|
129 |
-
};
|
130 |
-
|
131 |
-
self.add_other_buttons = function(instance){
|
132 |
-
|
133 |
-
if(typeof $other !== 'object'){
|
134 |
-
return;
|
135 |
-
}
|
136 |
-
if(typeof tinymce !== 'object'){
|
137 |
-
return;
|
138 |
-
}
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
jQuery.each( $other, function( index, value ){
|
143 |
-
|
144 |
-
tinymce.PluginManager.add('other_'+index+'_button', function( editor, url ) {
|
145 |
-
editor.addButton( 'other_'+index+'_button', {
|
146 |
-
icon: ' '+value.button_icon+' '+value.button_icon_size,
|
147 |
-
tooltip: value.name,
|
148 |
-
onclick: function() {
|
149 |
-
|
150 |
-
Toolset.hooks.doAction( 'bs_components_open_dialog', {
|
151 |
-
name: value.name,
|
152 |
-
description: value.description,
|
153 |
-
url: value.url,
|
154 |
-
button_icon: value.button_icon,
|
155 |
-
dialog_icon_size: value.dialog_icon_size,
|
156 |
-
bs_category: 'other',
|
157 |
-
bs_component_key: index,
|
158 |
-
editor_instance: instance,
|
159 |
-
buttons_type: 'tinymce'
|
160 |
-
});
|
161 |
-
|
162 |
-
},
|
163 |
-
'class' : "toolset-components-buttons"
|
164 |
-
});
|
165 |
-
});
|
166 |
-
});
|
167 |
-
|
168 |
-
|
169 |
-
};
|
170 |
-
|
171 |
-
self.init();
|
172 |
-
};
|
173 |
-
|
174 |
-
|
175 |
ToolsetCommon.BootstrapCssComponentsQuickTags = function($){
|
176 |
|
177 |
var self = this,
|
@@ -202,14 +31,22 @@ ToolsetCommon.BootstrapCssComponentsQuickTags = function($){
|
|
202 |
self.add_bootstrap_components_buttons($instance);
|
203 |
}
|
204 |
});
|
205 |
-
|
206 |
|
207 |
};
|
208 |
|
209 |
self.wrap_codemirror_buttons = function($instance,$buttons){
|
210 |
-
|
211 |
-
|
212 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
213 |
jQuery("#"+$instance).before('<div id="pop_'+$instance+'" class="pop pop_top_margin pop_right_margin pop_hidden"><a href="#" class="pop_close" data-pop_id="pop_'+$instance+'"><i class="glyphicon glyphicon-remove"></i></a><p class="pop_msg_p">'+Toolset_CssComponent.DDL_CSS_JS.codemirror_pop_message+'<br><br><label><input type="checkbox" id="hide_pop_'+$instance+'" name="hide_tooltip" value="hide_pop"> Dont show this tip again</label></p></div>');
|
214 |
|
215 |
_.defer(function(){
|
@@ -228,12 +65,12 @@ ToolsetCommon.BootstrapCssComponentsQuickTags = function($){
|
|
228 |
|
229 |
var codemirror_buttons = '';
|
230 |
// bs components
|
231 |
-
codemirror_buttons += '<span class="toolset_qt_btn_group_labels">'+Toolset_CssComponent.DDL_CSS_JS.group_label_bs_components+'</span>';
|
232 |
codemirror_buttons += '<ul class="js-wpv-filter-edit-toolbar" >';
|
233 |
|
234 |
jQuery.each( $bootstrap_components, function( index, value ){
|
235 |
-
codemirror_buttons +='<li class="js-editor-addon-button-wrapper">';
|
236 |
-
codemirror_buttons +='<button class="button-secondary js-code-editor-toolbar-button js-codemirror-bs-component-button bs-'+index+'-button" data-bs_category="available_components" data-cm_instance="'+instance+'" data-bs_key="'+index+'" title="'+value.name+'" onclick="ToolsetCommon.BSComponentsEventsHandler.openBSDialog(this);">';
|
237 |
codemirror_buttons +='<i class="'+value.button_icon+' bs-'+index+'-icon"></i>';
|
238 |
codemirror_buttons +='</li>';
|
239 |
|
@@ -241,13 +78,13 @@ ToolsetCommon.BootstrapCssComponentsQuickTags = function($){
|
|
241 |
codemirror_buttons +='</ul>';
|
242 |
|
243 |
// bs css
|
244 |
-
codemirror_buttons += '<span class="toolset_qt_btn_group_labels">'+Toolset_CssComponent.DDL_CSS_JS.group_label_bs_css+'</span>';
|
245 |
codemirror_buttons += '<ul class="js-wpv-filter-edit-toolbar">';
|
246 |
|
247 |
jQuery.each( $bootstrap_css, function( index, value ){
|
248 |
|
249 |
-
codemirror_buttons +='<li class="js-editor-addon-button-wrapper">';
|
250 |
-
codemirror_buttons +='<button class="button-secondary js-code-editor-toolbar-button js-codemirror-bs-component-button bs-'+index+'-button" data-bs_category="available_css" data-cm_instance="'+instance+'" data-bs_key="'+index+'" title="'+value.name+'" onclick="ToolsetCommon.BSComponentsEventsHandler.openBSDialog(this);">';
|
251 |
codemirror_buttons +='<i class="'+value.button_icon+' bs-'+index+'-icon"></i>';
|
252 |
codemirror_buttons +='</li>';
|
253 |
|
@@ -256,14 +93,14 @@ ToolsetCommon.BootstrapCssComponentsQuickTags = function($){
|
|
256 |
|
257 |
// other buttons
|
258 |
if(typeof $other === 'object' && _.keys($other).length > 0 ){
|
259 |
-
codemirror_buttons += '<span class="toolset_qt_btn_group_labels">'+Toolset_CssComponent.DDL_CSS_JS.group_label_other+'</span>';
|
260 |
|
261 |
codemirror_buttons += '<ul class="js-wpv-filter-edit-toolbar">';
|
262 |
|
263 |
jQuery.each( $other, function( index, value ){
|
264 |
|
265 |
-
codemirror_buttons +='<li class="js-editor-addon-button-wrapper">';
|
266 |
-
codemirror_buttons +='<button class="button-secondary js-code-editor-toolbar-button js-codemirror-bs-component-button bs-'+index+'-button" data-bs_category="other" data-cm_instance="'+instance+'" data-bs_key="'+index+'" title="'+value.name+'" onclick="ToolsetCommon.BSComponentsEventsHandler.openBSDialog(this);">';
|
267 |
codemirror_buttons +='<i class="'+value.button_icon+' bs-'+index+'-icon"></i>';
|
268 |
codemirror_buttons +='</li>';
|
269 |
|
@@ -282,6 +119,10 @@ ToolsetCommon.BootstrapCssComponentsQuickTags = function($){
|
|
282 |
if(typeof $bootstrap_components !== 'object'){
|
283 |
return;
|
284 |
}
|
|
|
|
|
|
|
|
|
285 |
// button toogle button :)
|
286 |
if(jQuery('#qt_'+instance+'_bs_component_show_hide_button').length === 0){
|
287 |
|
@@ -290,9 +131,18 @@ ToolsetCommon.BootstrapCssComponentsQuickTags = function($){
|
|
290 |
} else {
|
291 |
var button_value = Toolset_CssComponent.DDL_CSS_JS.button_toggle_hide;
|
292 |
}
|
293 |
-
|
294 |
-
|
295 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
296 |
jQuery( '#qt_'+instance+'_bs_component_show_hide_button' ).click(function() {
|
297 |
Toolset.hooks.doAction( 'bs_components_toggle_buttons', instance );
|
298 |
});
|
1 |
var ToolsetCommon = ToolsetCommon || {};
|
2 |
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
ToolsetCommon.BootstrapCssComponentsQuickTags = function($){
|
5 |
|
6 |
var self = this,
|
31 |
self.add_bootstrap_components_buttons($instance);
|
32 |
}
|
33 |
});
|
34 |
+
|
35 |
|
36 |
};
|
37 |
|
38 |
self.wrap_codemirror_buttons = function($instance,$buttons){
|
39 |
+
|
40 |
+
var toolbar_div = jQuery("#wp-"+$instance+"-editor-container .quicktags-toolbar");
|
41 |
+
if(toolbar_div.length === 0){
|
42 |
+
|
43 |
+
var views_toolbar = jQuery("#qt_"+$instance+"_toolbar");
|
44 |
+
if(views_toolbar !== 0){
|
45 |
+
toolbar_div = views_toolbar;
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
toolbar_div.append('<div class="bs-quicktags-toolbar code-editor-toolbar" id="codemirror-buttons-for-'+$instance+'">'+$buttons+'</div>');
|
50 |
jQuery("#"+$instance).before('<div id="pop_'+$instance+'" class="pop pop_top_margin pop_right_margin pop_hidden"><a href="#" class="pop_close" data-pop_id="pop_'+$instance+'"><i class="glyphicon glyphicon-remove"></i></a><p class="pop_msg_p">'+Toolset_CssComponent.DDL_CSS_JS.codemirror_pop_message+'<br><br><label><input type="checkbox" id="hide_pop_'+$instance+'" name="hide_tooltip" value="hide_pop"> Dont show this tip again</label></p></div>');
|
51 |
|
52 |
_.defer(function(){
|
65 |
|
66 |
var codemirror_buttons = '';
|
67 |
// bs components
|
68 |
+
codemirror_buttons += '<span class="toolset_qt_btn_group_labels toolset_qt_btn_group_labels_style">'+Toolset_CssComponent.DDL_CSS_JS.group_label_bs_components+'</span>';
|
69 |
codemirror_buttons += '<ul class="js-wpv-filter-edit-toolbar" >';
|
70 |
|
71 |
jQuery.each( $bootstrap_components, function( index, value ){
|
72 |
+
codemirror_buttons +='<li class="js-editor-addon-button-wrapper js-editor-bs-button-wrapper">';
|
73 |
+
codemirror_buttons +='<button type="button" class="button-secondary js-code-editor-toolbar-button js-codemirror-bs-component-button bs-'+index+'-button" data-bs_category="available_components" data-cm_instance="'+instance+'" data-bs_key="'+index+'" title="'+value.name+'" onclick="ToolsetCommon.BSComponentsEventsHandler.openBSDialog(this);">';
|
74 |
codemirror_buttons +='<i class="'+value.button_icon+' bs-'+index+'-icon"></i>';
|
75 |
codemirror_buttons +='</li>';
|
76 |
|
78 |
codemirror_buttons +='</ul>';
|
79 |
|
80 |
// bs css
|
81 |
+
codemirror_buttons += '<span class="toolset_qt_btn_group_labels toolset_qt_btn_group_labels_style">'+Toolset_CssComponent.DDL_CSS_JS.group_label_bs_css+'</span>';
|
82 |
codemirror_buttons += '<ul class="js-wpv-filter-edit-toolbar">';
|
83 |
|
84 |
jQuery.each( $bootstrap_css, function( index, value ){
|
85 |
|
86 |
+
codemirror_buttons +='<li class="js-editor-addon-button-wrapper js-editor-bs-button-wrapper">';
|
87 |
+
codemirror_buttons +='<button type="button" class="button-secondary js-code-editor-toolbar-button js-codemirror-bs-component-button bs-'+index+'-button" data-bs_category="available_css" data-cm_instance="'+instance+'" data-bs_key="'+index+'" title="'+value.name+'" onclick="ToolsetCommon.BSComponentsEventsHandler.openBSDialog(this);">';
|
88 |
codemirror_buttons +='<i class="'+value.button_icon+' bs-'+index+'-icon"></i>';
|
89 |
codemirror_buttons +='</li>';
|
90 |
|
93 |
|
94 |
// other buttons
|
95 |
if(typeof $other === 'object' && _.keys($other).length > 0 ){
|
96 |
+
codemirror_buttons += '<span class="toolset_qt_btn_group_labels toolset_qt_btn_group_labels_style">'+Toolset_CssComponent.DDL_CSS_JS.group_label_other+'</span>';
|
97 |
|
98 |
codemirror_buttons += '<ul class="js-wpv-filter-edit-toolbar">';
|
99 |
|
100 |
jQuery.each( $other, function( index, value ){
|
101 |
|
102 |
+
codemirror_buttons +='<li class="js-editor-addon-button-wrapper js-editor-bs-button-wrapper">';
|
103 |
+
codemirror_buttons +='<button type="button" class="button-secondary js-code-editor-toolbar-button js-codemirror-bs-component-button bs-'+index+'-button" data-bs_category="other" data-cm_instance="'+instance+'" data-bs_key="'+index+'" title="'+value.name+'" onclick="ToolsetCommon.BSComponentsEventsHandler.openBSDialog(this);">';
|
104 |
codemirror_buttons +='<i class="'+value.button_icon+' bs-'+index+'-icon"></i>';
|
105 |
codemirror_buttons +='</li>';
|
106 |
|
119 |
if(typeof $bootstrap_components !== 'object'){
|
120 |
return;
|
121 |
}
|
122 |
+
|
123 |
+
// toggle button div
|
124 |
+
|
125 |
+
|
126 |
// button toogle button :)
|
127 |
if(jQuery('#qt_'+instance+'_bs_component_show_hide_button').length === 0){
|
128 |
|
131 |
} else {
|
132 |
var button_value = Toolset_CssComponent.DDL_CSS_JS.button_toggle_hide;
|
133 |
}
|
134 |
+
|
135 |
+
var toggle_toolbar_div = jQuery("#wp-"+$instance+"-editor-container .quicktags-toolbar");
|
136 |
+
if(toggle_toolbar_div.length === 0){
|
137 |
+
|
138 |
+
var views_toolbar = jQuery("#qt_"+$instance+"_toolbar");
|
139 |
+
if(views_toolbar !== 0){
|
140 |
+
toggle_toolbar_div = views_toolbar;
|
141 |
+
}
|
142 |
+
}
|
143 |
+
|
144 |
+
toggle_toolbar_div.append('<input type="button" id="qt_'+instance+'_bs_component_show_hide_button" class="ed_button button button-small" value="'+button_value+'">');
|
145 |
+
|
146 |
jQuery( '#qt_'+instance+'_bs_component_show_hide_button' ).click(function() {
|
147 |
Toolset.hooks.doAction( 'bs_components_toggle_buttons', instance );
|
148 |
});
|
library/toolset/toolset-common/res/js/toolset-bs-component-events.js
CHANGED
@@ -1,26 +1,26 @@
|
|
1 |
var ToolsetCommon = ToolsetCommon || {};
|
2 |
|
3 |
ToolsetCommon.BSComponentsEventsHandler = function($){
|
4 |
-
|
5 |
-
var self = this;
|
6 |
-
|
7 |
self.init = function(){
|
8 |
-
|
9 |
-
|
10 |
Toolset.hooks.addAction( 'bs_components_toggle_buttons', function( instance ){
|
11 |
self.toggle_codemirror_buttons(instance);
|
12 |
});
|
13 |
-
|
14 |
Toolset.hooks.addAction( 'bs_components_open_dialog', function( object ){
|
15 |
self.bootstrap_info_dialog(object);
|
16 |
});
|
17 |
-
|
18 |
Toolset.hooks.addAction( 'bs_components_tinyMCE_divider', function( instance ){
|
19 |
self.tinyMCE_divider(instance);
|
20 |
});
|
21 |
-
|
22 |
};
|
23 |
-
|
24 |
|
25 |
self.bootstrap_info_dialog = function(object ){
|
26 |
|
@@ -50,42 +50,45 @@ ToolsetCommon.BSComponentsEventsHandler = function($){
|
|
50 |
});
|
51 |
|
52 |
dialog.dialog_open();
|
|
|
53 |
};
|
54 |
-
|
55 |
-
|
56 |
self.tinyMCE_divider = function($instance){
|
57 |
-
_.defer(function(){
|
58 |
-
if(jQuery('.toolset_bs_cm_labels').length === 0 ){
|
59 |
|
60 |
-
|
61 |
-
|
|
|
|
|
|
|
62 |
if(typeof Toolset_CssComponent.DDL_CSS_JS['other'] === 'object' && _.keys(Toolset_CssComponent.DDL_CSS_JS['other']).length > 0 ){
|
63 |
-
jQuery('[aria-label="Responsive utilities"]').after('<span class="
|
64 |
}
|
65 |
-
|
66 |
-
var $pop_location = jQuery('.
|
67 |
-
$pop_location.after('<div id="
|
68 |
-
|
69 |
}
|
70 |
-
|
71 |
-
|
72 |
-
var $labels = jQuery('.
|
73 |
if(Toolset_CssComponent.DDL_CSS_JS.show_bs_buttons_tinymce_status === "yes"){
|
74 |
$container.show();
|
75 |
} else {
|
76 |
$container.hide();
|
77 |
}
|
78 |
-
|
79 |
ToolsetCommon.BSComponentsEventsHandler.editor_notification_handler($instance);
|
80 |
-
|
81 |
-
});
|
|
|
82 |
};
|
83 |
-
|
84 |
-
|
85 |
self.toggle_codemirror_buttons = function($instance, $other){
|
86 |
|
87 |
jQuery('#codemirror-buttons-for-'+$instance).toggle();
|
88 |
-
|
89 |
if(jQuery('#codemirror-buttons-for-'+$instance).is(":hidden") === true){
|
90 |
jQuery("#qt_"+$instance+"_bs_component_show_hide_button").val(Toolset_CssComponent.DDL_CSS_JS.button_toggle_show);
|
91 |
self.update_db_option('show_buttons_cm_status',false);
|
@@ -95,9 +98,9 @@ ToolsetCommon.BSComponentsEventsHandler = function($){
|
|
95 |
self.update_db_option('show_buttons_cm_status',true);
|
96 |
Toolset_CssComponent.DDL_CSS_JS.show_bs_buttons_cm_status = "yes";
|
97 |
}
|
98 |
-
|
99 |
};
|
100 |
-
|
101 |
self.update_db_option = function(option, value){
|
102 |
var data = {
|
103 |
'action': 'toolset_bs_update_option',
|
@@ -106,63 +109,66 @@ ToolsetCommon.BSComponentsEventsHandler = function($){
|
|
106 |
};
|
107 |
jQuery.post(ajaxurl, data);
|
108 |
};
|
109 |
-
|
110 |
-
|
111 |
ToolsetCommon.BSComponentsEventsHandler.update_tinyMCE_toggle_status = function ($container){
|
112 |
var hide_tinyMCE_buttons = jQuery($container).is(":hidden");
|
113 |
var tinyMCE_status = (hide_tinyMCE_buttons) ? false : true;
|
114 |
Toolset_CssComponent.DDL_CSS_JS.show_bs_buttons_tinymce_status = (tinyMCE_status) ? 'yes' : 'no';
|
115 |
self.update_db_option('show_buttons_tinymce_status',tinyMCE_status);
|
116 |
};
|
117 |
-
|
118 |
|
119 |
ToolsetCommon.BSComponentsEventsHandler.openBSDialog = function(button_data){
|
120 |
var bs_cat = jQuery(button_data).data('bs_category');
|
121 |
var bs_key = jQuery(button_data).data('bs_key');
|
122 |
var cm_instance = jQuery(button_data).data('cm_instance');
|
123 |
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
};
|
136 |
-
|
137 |
ToolsetCommon.BSComponentsEventsHandler.editor_notification = function (button_data){
|
138 |
-
|
139 |
var bs_cat = jQuery(button_data).data('bs_category');
|
140 |
var bs_key = jQuery(button_data).data('bs_key');
|
141 |
var bs_editor_instance = jQuery(button_data).data('editor_instance');
|
142 |
var bs_buttons_type = jQuery(button_data).data('buttons_type');
|
143 |
|
144 |
dialog.remove();
|
145 |
-
|
146 |
if(Toolset_CssComponent.DDL_CSS_JS['hide_editor_pop_msg'] === "no"){
|
147 |
|
148 |
if(bs_buttons_type === 'tinymce'){
|
149 |
-
jQuery('#
|
150 |
jQuery(".bs_pop_element_name_tinymce").text(Toolset_CssComponent.DDL_CSS_JS[bs_cat][bs_key].name);
|
151 |
-
jQuery('[data-editor="codemirror"]').addClass('bs_button_glow_effect');
|
152 |
} else if(bs_buttons_type === 'codemirror'){
|
153 |
jQuery('#pop_'+bs_editor_instance).show();
|
154 |
jQuery(".bs_pop_element_name_codemirror").text(Toolset_CssComponent.DDL_CSS_JS[bs_cat][bs_key].name);
|
155 |
}
|
156 |
-
|
157 |
}
|
158 |
-
|
159 |
};
|
160 |
-
|
161 |
ToolsetCommon.BSComponentsEventsHandler.editor_notification_handler = function (instance){
|
162 |
-
|
163 |
-
jQuery('[data-editor="tinymce"]').click(function(event) {
|
164 |
-
Toolset.hooks.doAction( 'bs_components_tinyMCE_divider', instance );
|
165 |
-
});
|
166 |
|
167 |
jQuery( ".pop_close" ).click(function(event) {
|
168 |
event.preventDefault();
|
@@ -173,8 +179,7 @@ ToolsetCommon.BSComponentsEventsHandler = function($){
|
|
173 |
self.update_db_option('hide_pop_msg',true);
|
174 |
Toolset_CssComponent.DDL_CSS_JS['hide_editor_pop_msg'] = "yes";
|
175 |
}
|
176 |
-
jQuery('
|
177 |
-
jQuery('#pop_tinymce').hide();
|
178 |
} else {
|
179 |
jQuery("#"+jQuery(this).data('pop_id')).hide();
|
180 |
if(jQuery("#hide_pop_"+instance).prop('checked')){
|
@@ -182,24 +187,38 @@ ToolsetCommon.BSComponentsEventsHandler = function($){
|
|
182 |
Toolset_CssComponent.DDL_CSS_JS['hide_editor_pop_msg'] = "yes";
|
183 |
}
|
184 |
}
|
185 |
-
|
186 |
});
|
187 |
-
|
188 |
-
|
189 |
};
|
190 |
-
|
191 |
self.init();
|
192 |
};
|
193 |
|
194 |
|
195 |
-
(function(
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
var ToolsetCommon = ToolsetCommon || {};
|
2 |
|
3 |
ToolsetCommon.BSComponentsEventsHandler = function($){
|
4 |
+
|
5 |
+
var self = this, dialog = null;
|
6 |
+
|
7 |
self.init = function(){
|
8 |
+
|
9 |
+
|
10 |
Toolset.hooks.addAction( 'bs_components_toggle_buttons', function( instance ){
|
11 |
self.toggle_codemirror_buttons(instance);
|
12 |
});
|
13 |
+
|
14 |
Toolset.hooks.addAction( 'bs_components_open_dialog', function( object ){
|
15 |
self.bootstrap_info_dialog(object);
|
16 |
});
|
17 |
+
|
18 |
Toolset.hooks.addAction( 'bs_components_tinyMCE_divider', function( instance ){
|
19 |
self.tinyMCE_divider(instance);
|
20 |
});
|
21 |
+
|
22 |
};
|
23 |
+
|
24 |
|
25 |
self.bootstrap_info_dialog = function(object ){
|
26 |
|
50 |
});
|
51 |
|
52 |
dialog.dialog_open();
|
53 |
+
|
54 |
};
|
55 |
+
|
56 |
+
|
57 |
self.tinyMCE_divider = function($instance){
|
|
|
|
|
58 |
|
59 |
+
//_.defer(function(){
|
60 |
+
if(jQuery(".toolset_bs_cm_labels_"+$instance).length === 0 ){
|
61 |
+
jQuery('#wp-'+$instance+'-editor-container [aria-label="Glyphicons"]').before('<span class="toolset_qt_btn_group_labels_style toolset_qt_btn_group_labels_'+$instance+' toolset_bs_cm_labels_'+$instance+'">'+Toolset_CssComponent.DDL_CSS_JS.group_label_bs_components+'</span>');
|
62 |
+
jQuery('#wp-'+$instance+'-editor-container [aria-label="Grid system"]').before('<span class="toolset_qt_btn_group_labels_style toolset_qt_btn_group_labels_'+$instance+' toolset_bs_cm_labels_'+$instance+'">'+Toolset_CssComponent.DDL_CSS_JS.group_label_bs_css+'</span>');
|
63 |
+
|
64 |
if(typeof Toolset_CssComponent.DDL_CSS_JS['other'] === 'object' && _.keys(Toolset_CssComponent.DDL_CSS_JS['other']).length > 0 ){
|
65 |
+
jQuery('#wp-'+$instance+'-editor-container [aria-label="Responsive utilities"]').after('<span class="toolset_qt_btn_group_labels_style toolset_qt_btn_group_labels_'+$instance+' toolset_bs_cm_labels_'+$instance+'">'+Toolset_CssComponent.DDL_CSS_JS.group_label_other+'</span>');
|
66 |
}
|
67 |
+
|
68 |
+
var $pop_location = jQuery('.toolset_qt_btn_group_labels_'+$instance).closest('div.mce-toolbar');
|
69 |
+
$pop_location.after('<div id="pop_'+$instance+'" class="pop pop_top_margin pop_right_margin_big pop_hidden"><a href="#" class="pop_close" data-instance="'+$instance+'" data-pop_id="pop_tinymce"><i class="glyphicon glyphicon-remove"></i></a><p class="pop_msg_p">'+Toolset_CssComponent.DDL_CSS_JS.tinymce_pop_message+'<br><br><label><input type="checkbox" id="hide_pop_tinymce" name="hide_tooltip" value="hide_pop"> Dont show this tip again</label></p></div>');
|
70 |
+
|
71 |
}
|
72 |
+
|
73 |
+
|
74 |
+
var $labels = jQuery('.toolset_qt_btn_group_labels_'+$instance), $container = $labels.closest('div.mce-toolbar');
|
75 |
if(Toolset_CssComponent.DDL_CSS_JS.show_bs_buttons_tinymce_status === "yes"){
|
76 |
$container.show();
|
77 |
} else {
|
78 |
$container.hide();
|
79 |
}
|
80 |
+
|
81 |
ToolsetCommon.BSComponentsEventsHandler.editor_notification_handler($instance);
|
82 |
+
|
83 |
+
//});
|
84 |
+
|
85 |
};
|
86 |
+
|
87 |
+
|
88 |
self.toggle_codemirror_buttons = function($instance, $other){
|
89 |
|
90 |
jQuery('#codemirror-buttons-for-'+$instance).toggle();
|
91 |
+
|
92 |
if(jQuery('#codemirror-buttons-for-'+$instance).is(":hidden") === true){
|
93 |
jQuery("#qt_"+$instance+"_bs_component_show_hide_button").val(Toolset_CssComponent.DDL_CSS_JS.button_toggle_show);
|
94 |
self.update_db_option('show_buttons_cm_status',false);
|
98 |
self.update_db_option('show_buttons_cm_status',true);
|
99 |
Toolset_CssComponent.DDL_CSS_JS.show_bs_buttons_cm_status = "yes";
|
100 |
}
|
101 |
+
|
102 |
};
|
103 |
+
|
104 |
self.update_db_option = function(option, value){
|
105 |
var data = {
|
106 |
'action': 'toolset_bs_update_option',
|
109 |
};
|
110 |
jQuery.post(ajaxurl, data);
|
111 |
};
|
112 |
+
|
113 |
+
|
114 |
ToolsetCommon.BSComponentsEventsHandler.update_tinyMCE_toggle_status = function ($container){
|
115 |
var hide_tinyMCE_buttons = jQuery($container).is(":hidden");
|
116 |
var tinyMCE_status = (hide_tinyMCE_buttons) ? false : true;
|
117 |
Toolset_CssComponent.DDL_CSS_JS.show_bs_buttons_tinymce_status = (tinyMCE_status) ? 'yes' : 'no';
|
118 |
self.update_db_option('show_buttons_tinymce_status',tinyMCE_status);
|
119 |
};
|
120 |
+
|
121 |
|
122 |
ToolsetCommon.BSComponentsEventsHandler.openBSDialog = function(button_data){
|
123 |
var bs_cat = jQuery(button_data).data('bs_category');
|
124 |
var bs_key = jQuery(button_data).data('bs_key');
|
125 |
var cm_instance = jQuery(button_data).data('cm_instance');
|
126 |
|
127 |
+
if( Toolset_CssComponent && Toolset_CssComponent.DDL_CSS_JS ) {
|
128 |
+
try {
|
129 |
+
Toolset.hooks.doAction('bs_components_open_dialog', {
|
130 |
+
name: Toolset_CssComponent.DDL_CSS_JS[bs_cat][bs_key].name,
|
131 |
+
description: Toolset_CssComponent.DDL_CSS_JS[bs_cat][bs_key].description,
|
132 |
+
url: Toolset_CssComponent.DDL_CSS_JS[bs_cat][bs_key].url,
|
133 |
+
button_icon: Toolset_CssComponent.DDL_CSS_JS[bs_cat][bs_key].button_icon,
|
134 |
+
dialog_icon_size: Toolset_CssComponent.DDL_CSS_JS[bs_cat][bs_key].dialog_icon_size,
|
135 |
+
bs_category: bs_cat,
|
136 |
+
bs_component_key: bs_key,
|
137 |
+
buttons_type: 'codemirror',
|
138 |
+
editor_instance: cm_instance
|
139 |
+
});
|
140 |
+
} catch (e) {
|
141 |
+
console.log('A property is missing for: ', bs_cat, bs_key, e.message);
|
142 |
+
}
|
143 |
+
}
|
144 |
+
|
145 |
};
|
146 |
+
|
147 |
ToolsetCommon.BSComponentsEventsHandler.editor_notification = function (button_data){
|
148 |
+
|
149 |
var bs_cat = jQuery(button_data).data('bs_category');
|
150 |
var bs_key = jQuery(button_data).data('bs_key');
|
151 |
var bs_editor_instance = jQuery(button_data).data('editor_instance');
|
152 |
var bs_buttons_type = jQuery(button_data).data('buttons_type');
|
153 |
|
154 |
dialog.remove();
|
155 |
+
|
156 |
if(Toolset_CssComponent.DDL_CSS_JS['hide_editor_pop_msg'] === "no"){
|
157 |
|
158 |
if(bs_buttons_type === 'tinymce'){
|
159 |
+
jQuery('#pop_'+bs_editor_instance).show();
|
160 |
jQuery(".bs_pop_element_name_tinymce").text(Toolset_CssComponent.DDL_CSS_JS[bs_cat][bs_key].name);
|
|
|
161 |
} else if(bs_buttons_type === 'codemirror'){
|
162 |
jQuery('#pop_'+bs_editor_instance).show();
|
163 |
jQuery(".bs_pop_element_name_codemirror").text(Toolset_CssComponent.DDL_CSS_JS[bs_cat][bs_key].name);
|
164 |
}
|
165 |
+
|
166 |
}
|
167 |
+
|
168 |
};
|
169 |
+
|
170 |
ToolsetCommon.BSComponentsEventsHandler.editor_notification_handler = function (instance){
|
171 |
+
|
|
|
|
|
|
|
172 |
|
173 |
jQuery( ".pop_close" ).click(function(event) {
|
174 |
event.preventDefault();
|
179 |
self.update_db_option('hide_pop_msg',true);
|
180 |
Toolset_CssComponent.DDL_CSS_JS['hide_editor_pop_msg'] = "yes";
|
181 |
}
|
182 |
+
jQuery('#pop_'+jQuery(this).data('instance')).hide();
|
|
|
183 |
} else {
|
184 |
jQuery("#"+jQuery(this).data('pop_id')).hide();
|
185 |
if(jQuery("#hide_pop_"+instance).prop('checked')){
|
187 |
Toolset_CssComponent.DDL_CSS_JS['hide_editor_pop_msg'] = "yes";
|
188 |
}
|
189 |
}
|
190 |
+
|
191 |
});
|
192 |
+
|
193 |
+
|
194 |
};
|
195 |
+
|
196 |
self.init();
|
197 |
};
|
198 |
|
199 |
|
200 |
+
jQuery( document ).ready(function() {
|
201 |
+
|
202 |
+
if (typeof QTags !== 'undefined') {
|
203 |
+
new ToolsetCommon.BootstrapCssComponentsQuickTags($);
|
204 |
+
|
205 |
+
_.defer(function(){
|
206 |
+
if( Toolset_CssComponent.DDL_CSS_JS.current_screen ==='post' ){
|
207 |
+
|
208 |
+
if(jQuery(".quicktags-toolbar").parent('.wp-editor-container').length > 0){
|
209 |
+
jQuery.each( jQuery(".quicktags-toolbar").parent('.wp-editor-container'), function( key, value ) {
|
210 |
+
if(value.id !== 'undefined'){
|
211 |
+
var instance = value.id.replace("wp-", "");
|
212 |
+
instance = instance.replace("-editor-container","");
|
213 |
+
Toolset.hooks.doAction('toolset_text_editor_CodeMirror_init', instance);
|
214 |
+
}
|
215 |
+
|
216 |
+
});
|
217 |
+
}
|
218 |
+
|
219 |
+
}
|
220 |
+
})
|
221 |
+
}
|
222 |
+
|
223 |
+
new ToolsetCommon.BSComponentsEventsHandler($);
|
224 |
+
});
|
library/toolset/toolset-common/res/js/toolset-bs-component-tinymce.js
ADDED
@@ -0,0 +1,132 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var ToolsetCommon = ToolsetCommon || {};
|
2 |
+
|
3 |
+
|
4 |
+
ToolsetCommon.BootstrapCssComponentsTinyMCE = function($){
|
5 |
+
self.init = function(){
|
6 |
+
self.generate_all_tinymce_buttons();
|
7 |
+
|
8 |
+
};
|
9 |
+
|
10 |
+
self.generate_all_tinymce_buttons = function(){
|
11 |
+
/* Register the buttons */
|
12 |
+
tinymce.create('tinymce.plugins.BSComponentButtons', {
|
13 |
+
init : function(ed, url) {
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Inserts toogle button for Bootstrap buttons
|
17 |
+
*/
|
18 |
+
ed.addButton( 'css_components_toolbar_toggle', {
|
19 |
+
icon: ' icon-bootstrap-original-logo ont-icon-25 css-components-toggle-icon',
|
20 |
+
tooltip: Toolset_CssComponent.DDL_CSS_JS.toggle_button_tooltip,
|
21 |
+
onclick: function() {
|
22 |
+
|
23 |
+
var $labels = jQuery('.toolset_qt_btn_group_labels_'+ed.id),
|
24 |
+
$container = $labels.closest('div.mce-toolbar');
|
25 |
+
$container.toggle();
|
26 |
+
ToolsetCommon.BSComponentsEventsHandler.update_tinyMCE_toggle_status($container);
|
27 |
+
|
28 |
+
}
|
29 |
+
});
|
30 |
+
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Insert all other buttons
|
34 |
+
*/
|
35 |
+
var $bootstrap_components = Toolset_CssComponent.DDL_CSS_JS.available_components;
|
36 |
+
var $bootstrap_css = Toolset_CssComponent.DDL_CSS_JS.available_css;
|
37 |
+
var $other = Toolset_CssComponent.DDL_CSS_JS.other;
|
38 |
+
|
39 |
+
jQuery.each( $bootstrap_components, function( index, value ){
|
40 |
+
|
41 |
+
ed.addButton( 'css_components_'+index+'_button', {
|
42 |
+
icon: ' '+value.button_icon+' '+value.button_icon_size,
|
43 |
+
tooltip: value.name,
|
44 |
+
onclick: function() {
|
45 |
+
|
46 |
+
Toolset.hooks.doAction( 'bs_components_open_dialog', {
|
47 |
+
name: value.name,
|
48 |
+
description: value.description,
|
49 |
+
url: value.url,
|
50 |
+
button_icon: value.button_icon,
|
51 |
+
dialog_icon_size: value.dialog_icon_size,
|
52 |
+
bs_category: 'available_components',
|
53 |
+
bs_component_key: index,
|
54 |
+
editor_instance: ed.id,
|
55 |
+
buttons_type: 'tinymce'
|
56 |
+
});
|
57 |
+
|
58 |
+
},
|
59 |
+
'class' : "toolset-components-buttons"
|
60 |
+
});
|
61 |
+
|
62 |
+
});
|
63 |
+
|
64 |
+
jQuery.each( $bootstrap_css, function( index, value ){
|
65 |
+
|
66 |
+
ed.addButton( 'css_'+index+'_button', {
|
67 |
+
icon: ' '+value.button_icon+' '+value.button_icon_size,
|
68 |
+
tooltip: value.name,
|
69 |
+
onclick: function() {
|
70 |
+
|
71 |
+
Toolset.hooks.doAction( 'bs_components_open_dialog', {
|
72 |
+
name: value.name,
|
73 |
+
description: value.description,
|
74 |
+
url: value.url,
|
75 |
+
button_icon: value.button_icon,
|
76 |
+
dialog_icon_size: value.dialog_icon_size,
|
77 |
+
bs_category: 'available_css',
|
78 |
+
bs_component_key: index,
|
79 |
+
editor_instance: ed.id,
|
80 |
+
buttons_type: 'tinymce'
|
81 |
+
});
|
82 |
+
|
83 |
+
},
|
84 |
+
'class' : "toolset-components-buttons"
|
85 |
+
});
|
86 |
+
|
87 |
+
});
|
88 |
+
|
89 |
+
jQuery.each( $other, function( index, value ){
|
90 |
+
|
91 |
+
ed.addButton( 'other_'+index+'_button', {
|
92 |
+
icon: ' '+value.button_icon+' '+value.button_icon_size,
|
93 |
+
tooltip: value.name,
|
94 |
+
onclick: function() {
|
95 |
+
|
96 |
+
Toolset.hooks.doAction( 'bs_components_open_dialog', {
|
97 |
+
name: value.name,
|
98 |
+
description: value.description,
|
99 |
+
url: value.url,
|
100 |
+
button_icon: value.button_icon,
|
101 |
+
dialog_icon_size: value.dialog_icon_size,
|
102 |
+
bs_category: 'other',
|
103 |
+
bs_component_key: index,
|
104 |
+
editor_instance: ed.id,
|
105 |
+
buttons_type: 'tinymce'
|
106 |
+
});
|
107 |
+
|
108 |
+
},
|
109 |
+
'class' : "toolset-components-buttons"
|
110 |
+
});
|
111 |
+
|
112 |
+
});
|
113 |
+
|
114 |
+
_.defer(function(){
|
115 |
+
Toolset.hooks.doAction( 'bs_components_tinyMCE_divider', ed.id );
|
116 |
+
});
|
117 |
+
|
118 |
+
},
|
119 |
+
createControl : function(n, cm) {
|
120 |
+
return null;
|
121 |
+
},
|
122 |
+
});
|
123 |
+
/* Start the buttons */
|
124 |
+
tinymce.PluginManager.add( 'bs_component_buttons_script', tinymce.plugins.BSComponentButtons );
|
125 |
+
};
|
126 |
+
|
127 |
+
self.init();
|
128 |
+
}
|
129 |
+
|
130 |
+
(function() {
|
131 |
+
new ToolsetCommon.BootstrapCssComponentsTinyMCE($);
|
132 |
+
});
|
library/toolset/toolset-common/res/js/toolset-select2-compatibility.js
CHANGED
@@ -149,6 +149,7 @@ ToolsetCommon.toolset_select2ExecMethods = function(el, method, param){
|
|
149 |
jQuery(el).toolset_select2_original("close");
|
150 |
}
|
151 |
break;
|
|
|
152 |
case "destory":
|
153 |
jQuery(el).removeClass("toolset_select2_converted");
|
154 |
jQuery(el).toolset_select2_original("destroy");
|
149 |
jQuery(el).toolset_select2_original("close");
|
150 |
}
|
151 |
break;
|
152 |
+
case "destroy":
|
153 |
case "destory":
|
154 |
jQuery(el).removeClass("toolset_select2_converted");
|
155 |
jQuery(el).toolset_select2_original("destroy");
|
library/toolset/toolset-common/res/js/toolset-settings.js
CHANGED
@@ -7,25 +7,98 @@ ToolsetCommon.ToolsetSettings = function( $ ) {
|
|
7 |
self.overlay_container = $("<div class='toolset-setting-overlay js-toolset-setting-overlay'><div class='toolset-transparency'></div><i class='icon-lock fa fa-lock'></i></div>");
|
8 |
|
9 |
self.init = function() {
|
10 |
-
|
|
|
|
|
|
|
|
|
|
|
11 |
};
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
$( '.js-toolset-
|
22 |
-
|
23 |
-
|
24 |
-
|
|
|
|
|
|
|
25 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
});
|
27 |
}
|
28 |
-
}
|
|
|
|
|
|
|
29 |
|
30 |
/**
|
31 |
* --------------------
|
@@ -72,32 +145,39 @@ ToolsetCommon.ToolsetSettings = function( $ ) {
|
|
72 |
};
|
73 |
|
74 |
self.admin_bar_options_debounce_update = _.debounce( self.save_admin_bar_options, 1000 );
|
75 |
-
|
76 |
-
|
77 |
-
$( '
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
$( '
|
98 |
-
|
99 |
-
|
100 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
|
102 |
self.init();
|
103 |
|
7 |
self.overlay_container = $("<div class='toolset-setting-overlay js-toolset-setting-overlay'><div class='toolset-transparency'></div><i class='icon-lock fa fa-lock'></i></div>");
|
8 |
|
9 |
self.init = function() {
|
10 |
+
self.handle_options_changes();
|
11 |
+
self.bootstrap_version_change_handler();
|
12 |
+
self.update_event_triggered();
|
13 |
+
self.update_event_completed();
|
14 |
+
self.update_event_failed();
|
15 |
+
self.check_selected_bootstrap_version( toolset_settings_texts.toolset_bootstrap_version_filter, toolset_settings_texts.toolset_bootstrap_version_selected );
|
16 |
};
|
17 |
+
|
18 |
+
|
19 |
+
self.handle_options_changes = function(){
|
20 |
+
$( document ).on( 'click', '.js-toolset-nav-tab', function( e ) {
|
21 |
+
e.preventDefault();
|
22 |
+
var thiz = $( this ),
|
23 |
+
target = thiz.data( 'target' ),
|
24 |
+
current = $( '.js-toolset-nav-tab.nav-tab-active' ).data( 'target' );
|
25 |
+
if ( ! thiz.hasClass( 'nav-tab-active' ) ) {
|
26 |
+
$( '.js-toolset-nav-tab.nav-tab-active' ).removeClass( 'nav-tab-active' );
|
27 |
+
$( '.js-toolset-tabbed-section-item-' + current ).fadeOut( 'fast', function() {
|
28 |
+
$( '.js-toolset-tabbed-section-item' ).removeClass( 'toolset-tabbed-section-current-item js-toolset-tabbed-section-current-item' );
|
29 |
+
thiz.addClass( 'nav-tab-active' );
|
30 |
+
$( '.js-toolset-tabbed-section-item-' + target ).fadeIn( 'fast', function() {
|
31 |
+
$( this ).addClass( 'toolset-tabbed-section-current-item js-toolset-tabbed-section-current-item' );
|
32 |
+
});
|
33 |
});
|
34 |
+
}
|
35 |
+
});
|
36 |
+
};
|
37 |
+
|
38 |
+
|
39 |
+
|
40 |
+
/**
|
41 |
+
* --------------------
|
42 |
+
* Bootstrap
|
43 |
+
* --------------------
|
44 |
+
*/
|
45 |
+
|
46 |
+
self.bootstrap_version_state = ( $('.js-toolset-bootstrap-version:checked').length > 0 ) ? $('.js-toolset-bootstrap-version:checked').val() : false;
|
47 |
+
|
48 |
+
self.bootstrap_version_change_handler = function(){
|
49 |
+
$( '.js-toolset-bootstrap-version' ).on( 'change', function( ) {
|
50 |
+
self.bootstrap_version_options_debounce_update();
|
51 |
+
self.check_selected_bootstrap_version( toolset_settings_texts.toolset_bootstrap_version_filter, $('.js-toolset-bootstrap-version:checked').val() )
|
52 |
+
});
|
53 |
+
};
|
54 |
+
|
55 |
+
|
56 |
+
self.check_selected_bootstrap_version = function( filter_version, db_version ){
|
57 |
+
|
58 |
+
|
59 |
+
$('.js-tolset-option-'+toolset_settings_texts.toolset_bootstrap_version_filter.replace('.','')).append('<div id="js-different-bs-versions" style="display:none;" class="notice inline notice-warning notice-alt"><p>'+toolset_settings_texts.toolset_theme_loads_own_bs+'</p></div>')
|
60 |
+
|
61 |
+
if( filter_version !== db_version && $.inArray(db_version,['','98','99']) === -1 ){
|
62 |
+
$('#js-different-bs-versions').show();
|
63 |
+
} else {
|
64 |
+
$('#js-different-bs-versions').hide();
|
65 |
+
}
|
66 |
+
|
67 |
+
};
|
68 |
+
|
69 |
+
self.save_bootstrap_version_options = function() {
|
70 |
+
if ( self.bootstrap_version_state != $( '.js-toolset-bootstrap-version:checked' ).val() ) {
|
71 |
+
var data = {
|
72 |
+
action: 'toolset_update_bootstrap_version_status',
|
73 |
+
status: $('.js-toolset-bootstrap-version:checked').val(),
|
74 |
+
wpnonce: $('#toolset_bootstrap_version_nonce').val()
|
75 |
+
};
|
76 |
+
|
77 |
+
$.ajax({
|
78 |
+
type: "POST",
|
79 |
+
dataType: "json",
|
80 |
+
url: ajaxurl,
|
81 |
+
data: data,
|
82 |
+
success: function( response ) {
|
83 |
+
if ( response.success ) {
|
84 |
+
self.bootstrap_version_state = $('.js-toolset-bootstrap-version:checked').val();
|
85 |
+
$( document ).trigger( 'js-toolset-event-update-setting-section-completed' );
|
86 |
+
} else {
|
87 |
+
$( document ).trigger( 'js-toolset-event-update-setting-section-failed', [ response.data ] );
|
88 |
+
}
|
89 |
+
},
|
90 |
+
error: function( ajaxContext ) {
|
91 |
+
$( document ).trigger( 'js-toolset-event-update-setting-section-failed' );
|
92 |
+
},
|
93 |
+
complete: function() {
|
94 |
+
|
95 |
+
}
|
96 |
});
|
97 |
}
|
98 |
+
};
|
99 |
+
|
100 |
+
self.bootstrap_version_options_debounce_update = _.debounce( self.save_bootstrap_version_options, 1000 );
|
101 |
+
|
102 |
|
103 |
/**
|
104 |
* --------------------
|
145 |
};
|
146 |
|
147 |
self.admin_bar_options_debounce_update = _.debounce( self.save_admin_bar_options, 1000 );
|
148 |
+
|
149 |
+
self.update_event_triggered = function(){
|
150 |
+
$( document ).on( 'js-toolset-event-update-setting-section-triggered', function( event ) {
|
151 |
+
$( '#js-toolset-ajax-saving-messages' )
|
152 |
+
.html( toolset_settings_texts.autosave_saving )
|
153 |
+
.show();
|
154 |
+
});
|
155 |
+
};
|
156 |
+
|
157 |
+
self.update_event_completed = function(){
|
158 |
+
$( document ).on( 'js-toolset-event-update-setting-section-completed', function( event ) {
|
159 |
+
$( '#js-toolset-ajax-saving-messages' )
|
160 |
+
.html( toolset_settings_texts.autosave_saved )
|
161 |
+
.addClass( 'toolset-ajax-saving-messages-success' )
|
162 |
+
.show();
|
163 |
+
setTimeout( function () {
|
164 |
+
$( '#js-toolset-ajax-saving-messages' ).removeClass( 'toolset-ajax-saving-messages-success' );
|
165 |
+
}, 1000 );
|
166 |
+
});
|
167 |
+
};
|
168 |
+
|
169 |
+
self.update_event_failed = function(){
|
170 |
+
$( document ).on( 'js-toolset-event-update-setting-section-failed', function( event, data ) {
|
171 |
+
var message = ( typeof data === 'undefined' || _.has( data, "message" ) ) ? toolset_settings_texts.autosave_failed : data.message;
|
172 |
+
$( '#js-toolset-ajax-saving-messages' )
|
173 |
+
.html( message )
|
174 |
+
.addClass( 'toolset-ajax-saving-messages-fail' );
|
175 |
+
$( '.js-toolset-tabbed-section-item' )
|
176 |
+
.css( { 'position': 'relative' } )
|
177 |
+
.prepend( self.overlay_container );
|
178 |
+
});
|
179 |
+
};
|
180 |
+
|
181 |
|
182 |
self.init();
|
183 |
|
library/toolset/toolset-common/res/lib/bootstrap/config.json
ADDED
@@ -0,0 +1,434 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"vars": {
|
3 |
+
"@gray-base": "#000",
|
4 |
+
"@gray-darker": "lighten(@gray-base, 13.5%)",
|
5 |
+
"@gray-dark": "lighten(@gray-base, 20%)",
|
6 |
+
"@gray": "lighten(@gray-base, 33.5%)",
|
7 |
+
"@gray-light": "lighten(@gray-base, 46.7%)",
|
8 |
+
"@gray-lighter": "lighten(@gray-base, 93.5%)",
|
9 |
+
"@brand-primary": "darken(#428bca, 6.5%)",
|
10 |
+
"@brand-success": "#5cb85c",
|
11 |
+
"@brand-info": "#5bc0de",
|
12 |
+
"@brand-warning": "#f0ad4e",
|
13 |
+
"@brand-danger": "#d9534f",
|
14 |
+
"@body-bg": "#fff",
|
15 |
+
"@text-color": "@gray-dark",
|
16 |
+
"@link-color": "@brand-primary",
|
17 |
+
"@link-hover-color": "darken(@link-color, 15%)",
|
18 |
+
"@link-hover-decoration": "underline",
|
19 |
+
"@font-family-sans-serif": "\"Helvetica Neue\", Helvetica, Arial, sans-serif",
|
20 |
+
"@font-family-serif": "Georgia, \"Times New Roman\", Times, serif",
|
21 |
+
"@font-family-monospace": "Menlo, Monaco, Consolas, \"Courier New\", monospace",
|
22 |
+
"@font-family-base": "@font-family-sans-serif",
|
23 |
+
"@font-size-base": "14px",
|
24 |
+
"@font-size-large": "ceil((@font-size-base * 1.25))",
|
25 |
+
"@font-size-small": "ceil((@font-size-base * 0.85))",
|
26 |
+
"@font-size-h1": "floor((@font-size-base * 2.6))",
|
27 |
+
"@font-size-h2": "floor((@font-size-base * 2.15))",
|
28 |
+
"@font-size-h3": "ceil((@font-size-base * 1.7))",
|
29 |
+
"@font-size-h4": "ceil((@font-size-base * 1.25))",
|
30 |
+
"@font-size-h5": "@font-size-base",
|
31 |
+
"@font-size-h6": "ceil((@font-size-base * 0.85))",
|
32 |
+
"@line-height-base": "1.428571429",
|
33 |
+
"@line-height-computed": "floor((@font-size-base * @line-height-base))",
|
34 |
+
"@headings-font-family": "inherit",
|
35 |
+
"@headings-font-weight": "500",
|
36 |
+
"@headings-line-height": "1.1",
|
37 |
+
"@headings-color": "inherit",
|
38 |
+
"@icon-font-path": "\"../fonts/\"",
|
39 |
+
"@icon-font-name": "\"glyphicons-halflings-regular\"",
|
40 |
+
"@icon-font-svg-id": "\"glyphicons_halflingsregular\"",
|
41 |
+
"@padding-base-vertical": "6px",
|
42 |
+
"@padding-base-horizontal": "12px",
|
43 |
+
"@padding-large-vertical": "10px",
|
44 |
+
"@padding-large-horizontal": "16px",
|
45 |
+
"@padding-small-vertical": "5px",
|
46 |
+
"@padding-small-horizontal": "10px",
|
47 |
+
"@padding-xs-vertical": "1px",
|
48 |
+
"@padding-xs-horizontal": "5px",
|
49 |
+
"@line-height-large": "1.3333333",
|
50 |
+
"@line-height-small": "1.5",
|
51 |
+
"@border-radius-base": "4px",
|
52 |
+
"@border-radius-large": "6px",
|
53 |
+
"@border-radius-small": "3px",
|
54 |
+
"@component-active-color": "#fff",
|
55 |
+
"@component-active-bg": "@brand-primary",
|
56 |
+
"@caret-width-base": "4px",
|
57 |
+
"@caret-width-large": "5px",
|
58 |
+
"@table-cell-padding": "8px",
|
59 |
+
"@table-condensed-cell-padding": "5px",
|
60 |
+
"@table-bg": "transparent",
|
61 |
+
"@table-bg-accent": "#f9f9f9",
|
62 |
+
"@table-bg-hover": "#f5f5f5",
|
63 |
+
"@table-bg-active": "@table-bg-hover",
|
64 |
+
"@table-border-color": "#ddd",
|
65 |
+
"@btn-font-weight": "normal",
|
66 |
+
"@btn-default-color": "#333",
|
67 |
+
"@btn-default-bg": "#fff",
|
68 |
+
"@btn-default-border": "#ccc",
|
69 |
+
"@btn-primary-color": "#fff",
|
70 |
+
"@btn-primary-bg": "@brand-primary",
|
71 |
+
"@btn-primary-border": "darken(@btn-primary-bg, 5%)",
|
72 |
+
"@btn-success-color": "#fff",
|
73 |
+
"@btn-success-bg": "@brand-success",
|
74 |
+
"@btn-success-border": "darken(@btn-success-bg, 5%)",
|
75 |
+
"@btn-info-color": "#fff",
|
76 |
+
"@btn-info-bg": "@brand-info",
|
77 |
+
"@btn-info-border": "darken(@btn-info-bg, 5%)",
|
78 |
+
"@btn-warning-color": "#fff",
|
79 |
+
"@btn-warning-bg": "@brand-warning",
|
80 |
+
"@btn-warning-border": "darken(@btn-warning-bg, 5%)",
|
81 |
+
"@btn-danger-color": "#fff",
|
82 |
+
"@btn-danger-bg": "@brand-danger",
|
83 |
+
"@btn-danger-border": "darken(@btn-danger-bg, 5%)",
|
84 |
+
"@btn-link-disabled-color": "@gray-light",
|
85 |
+
"@btn-border-radius-base": "@border-radius-base",
|
86 |
+
"@btn-border-radius-large": "@border-radius-large",
|
87 |
+
"@btn-border-radius-small": "@border-radius-small",
|
88 |
+
"@input-bg": "#fff",
|
89 |
+
"@input-bg-disabled": "@gray-lighter",
|
90 |
+
"@input-color": "@gray",
|
91 |
+
"@input-border": "#ccc",
|
92 |
+
"@input-border-radius": "@border-radius-base",
|
93 |
+
"@input-border-radius-large": "@border-radius-large",
|
94 |
+
"@input-border-radius-small": "@border-radius-small",
|
95 |
+
"@input-border-focus": "#66afe9",
|
96 |
+
"@input-color-placeholder": "#999",
|
97 |
+
"@input-height-base": "(@line-height-computed + (@padding-base-vertical * 2) + 2)",
|
98 |
+
"@input-height-large": "(ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2)",
|
99 |
+
"@input-height-small": "(floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2)",
|
100 |
+
"@form-group-margin-bottom": "15px",
|
101 |
+
"@legend-color": "@gray-dark",
|
102 |
+
"@legend-border-color": "#e5e5e5",
|
103 |
+
"@input-group-addon-bg": "@gray-lighter",
|
104 |
+
"@input-group-addon-border-color": "@input-border",
|
105 |
+
"@cursor-disabled": "not-allowed",
|
106 |
+
"@dropdown-bg": "#fff",
|
107 |
+
"@dropdown-border": "rgba(0,0,0,.15)",
|
108 |
+
"@dropdown-fallback-border": "#ccc",
|
109 |
+
"@dropdown-divider-bg": "#e5e5e5",
|
110 |
+
"@dropdown-link-color": "@gray-dark",
|
111 |
+
"@dropdown-link-hover-color": "darken(@gray-dark, 5%)",
|
112 |
+
"@dropdown-link-hover-bg": "#f5f5f5",
|
113 |
+
"@dropdown-link-active-color": "@component-active-color",
|
114 |
+
"@dropdown-link-active-bg": "@component-active-bg",
|
115 |
+
"@dropdown-link-disabled-color": "@gray-light",
|
116 |
+
"@dropdown-header-color": "@gray-light",
|
117 |
+
"@dropdown-caret-color": "#000",
|
118 |
+
"@screen-xs": "480px",
|
119 |
+
"@screen-xs-min": "@screen-xs",
|
120 |
+
"@screen-phone": "@screen-xs-min",
|
121 |
+
"@screen-sm": "768px",
|
122 |
+
"@screen-sm-min": "@screen-sm",
|
123 |
+
"@screen-tablet": "@screen-sm-min",
|
124 |
+
"@screen-md": "992px",
|
125 |
+
"@screen-md-min": "@screen-md",
|
126 |
+
"@screen-desktop": "@screen-md-min",
|
127 |
+
"@screen-lg": "1200px",
|
128 |
+
"@screen-lg-min": "@screen-lg",
|
129 |
+
"@screen-lg-desktop": "@screen-lg-min",
|
130 |
+
"@screen-xs-max": "(@screen-sm-min - 1)",
|
131 |
+
"@screen-sm-max": "(@screen-md-min - 1)",
|
132 |
+
"@screen-md-max": "(@screen-lg-min - 1)",
|
133 |
+
"@grid-columns": "12",
|
134 |
+
"@grid-gutter-width": "30px",
|
135 |
+
"@grid-float-breakpoint": "@screen-sm-min",
|
136 |
+
"@grid-float-breakpoint-max": "(@grid-float-breakpoint - 1)",
|
137 |
+
"@container-tablet": "(720px + @grid-gutter-width)",
|
138 |
+
"@container-sm": "@container-tablet",
|
139 |
+
"@container-desktop": "(940px + @grid-gutter-width)",
|
140 |
+
"@container-md": "@container-desktop",
|
141 |
+
"@container-large-desktop": "(1140px + @grid-gutter-width)",
|
142 |
+
"@container-lg": "@container-large-desktop",
|
143 |
+
"@navbar-height": "50px",
|
144 |
+
"@navbar-margin-bottom": "@line-height-computed",
|
145 |
+
"@navbar-border-radius": "@border-radius-base",
|
146 |
+
"@navbar-padding-horizontal": "floor((@grid-gutter-width / 2))",
|
147 |
+
"@navbar-padding-vertical": "((@navbar-height - @line-height-computed) / 2)",
|
148 |
+
"@navbar-collapse-max-height": "340px",
|
149 |
+
"@navbar-default-color": "#777",
|
150 |
+
"@navbar-default-bg": "#f8f8f8",
|
151 |
+
"@navbar-default-border": "darken(@navbar-default-bg, 6.5%)",
|
152 |
+
"@navbar-default-link-color": "#777",
|
153 |
+
"@navbar-default-link-hover-color": "#333",
|
154 |
+
"@navbar-default-link-hover-bg": "transparent",
|
155 |
+
"@navbar-default-link-active-color": "#555",
|
156 |
+
"@navbar-default-link-active-bg": "darken(@navbar-default-bg, 6.5%)",
|
157 |
+
"@navbar-default-link-disabled-color": "#ccc",
|
158 |
+
"@navbar-default-link-disabled-bg": "transparent",
|
159 |
+
"@navbar-default-brand-color": "@navbar-default-link-color",
|
160 |
+
"@navbar-default-brand-hover-color": "darken(@navbar-default-brand-color, 10%)",
|
161 |
+
"@navbar-default-brand-hover-bg": "transparent",
|
162 |
+
"@navbar-default-toggle-hover-bg": "#ddd",
|
163 |
+
"@navbar-default-toggle-icon-bar-bg": "#888",
|
164 |
+
"@navbar-default-toggle-border-color": "#ddd",
|
165 |
+
"@navbar-inverse-color": "lighten(@gray-light, 15%)",
|
166 |
+
"@navbar-inverse-bg": "#222",
|
167 |
+
"@navbar-inverse-border": "darken(@navbar-inverse-bg, 10%)",
|
168 |
+
"@navbar-inverse-link-color": "lighten(@gray-light, 15%)",
|
169 |
+
"@navbar-inverse-link-hover-color": "#fff",
|
170 |
+
"@navbar-inverse-link-hover-bg": "transparent",
|
171 |
+
"@navbar-inverse-link-active-color": "@navbar-inverse-link-hover-color",
|
172 |
+
"@navbar-inverse-link-active-bg": "darken(@navbar-inverse-bg, 10%)",
|
173 |
+
"@navbar-inverse-link-disabled-color": "#444",
|
174 |
+
"@navbar-inverse-link-disabled-bg": "transparent",
|
175 |
+
"@navbar-inverse-brand-color": "@navbar-inverse-link-color",
|
176 |
+
"@navbar-inverse-brand-hover-color": "#fff",
|
177 |
+
"@navbar-inverse-brand-hover-bg": "transparent",
|
178 |
+
"@navbar-inverse-toggle-hover-bg": "#333",
|
179 |
+
"@navbar-inverse-toggle-icon-bar-bg": "#fff",
|
180 |
+
"@navbar-inverse-toggle-border-color": "#333",
|
181 |
+
"@nav-link-padding": "10px 15px",
|
182 |
+
"@nav-link-hover-bg": "@gray-lighter",
|
183 |
+
"@nav-disabled-link-color": "@gray-light",
|
184 |
+
"@nav-disabled-link-hover-color": "@gray-light",
|
185 |
+
"@nav-tabs-border-color": "#ddd",
|
186 |
+
"@nav-tabs-link-hover-border-color": "@gray-lighter",
|
187 |
+
"@nav-tabs-active-link-hover-bg": "@body-bg",
|
188 |
+
"@nav-tabs-active-link-hover-color": "@gray",
|
189 |
+
"@nav-tabs-active-link-hover-border-color": "#ddd",
|
190 |
+
"@nav-tabs-justified-link-border-color": "#ddd",
|
191 |
+
"@nav-tabs-justified-active-link-border-color": "@body-bg",
|
192 |
+
"@nav-pills-border-radius": "@border-radius-base",
|
193 |
+
"@nav-pills-active-link-hover-bg": "@component-active-bg",
|
194 |
+
"@nav-pills-active-link-hover-color": "@component-active-color",
|
195 |
+
"@pagination-color": "@link-color",
|
196 |
+
"@pagination-bg": "#fff",
|
197 |
+
"@pagination-border": "#ddd",
|
198 |
+
"@pagination-hover-color": "@link-hover-color",
|
199 |
+
"@pagination-hover-bg": "@gray-lighter",
|
200 |
+
"@pagination-hover-border": "#ddd",
|
201 |
+
"@pagination-active-color": "#fff",
|
202 |
+
"@pagination-active-bg": "@brand-primary",
|
203 |
+
"@pagination-active-border": "@brand-primary",
|
204 |
+
"@pagination-disabled-color": "@gray-light",
|
205 |
+
"@pagination-disabled-bg": "#fff",
|
206 |
+
"@pagination-disabled-border": "#ddd",
|
207 |
+
"@pager-bg": "@pagination-bg",
|
208 |
+
"@pager-border": "@pagination-border",
|
209 |
+
"@pager-border-radius": "15px",
|
210 |
+
"@pager-hover-bg": "@pagination-hover-bg",
|
211 |
+
"@pager-active-bg": "@pagination-active-bg",
|
212 |
+
"@pager-active-color": "@pagination-active-color",
|
213 |
+
"@pager-disabled-color": "@pagination-disabled-color",
|
214 |
+
"@jumbotron-padding": "30px",
|
215 |
+
"@jumbotron-color": "inherit",
|
216 |
+
"@jumbotron-bg": "@gray-lighter",
|
217 |
+
"@jumbotron-heading-color": "inherit",
|
218 |
+
"@jumbotron-font-size": "ceil((@font-size-base * 1.5))",
|
219 |
+
"@jumbotron-heading-font-size": "ceil((@font-size-base * 4.5))",
|
220 |
+
"@state-success-text": "#3c763d",
|
221 |
+
"@state-success-bg": "#dff0d8",
|
222 |
+
"@state-success-border": "darken(spin(@state-success-bg, -10), 5%)",
|
223 |
+
"@state-info-text": "#31708f",
|
224 |
+
"@state-info-bg": "#d9edf7",
|
225 |
+
"@state-info-border": "darken(spin(@state-info-bg, -10), 7%)",
|
226 |
+
"@state-warning-text": "#8a6d3b",
|
227 |
+
"@state-warning-bg": "#fcf8e3",
|
228 |
+
"@state-warning-border": "darken(spin(@state-warning-bg, -10), 5%)",
|
229 |
+
"@state-danger-text": "#a94442",
|
230 |
+
"@state-danger-bg": "#f2dede",
|
231 |
+
"@state-danger-border": "darken(spin(@state-danger-bg, -10), 5%)",
|
232 |
+
"@tooltip-max-width": "200px",
|
233 |
+
"@tooltip-color": "#fff",
|
234 |
+
"@tooltip-bg": "#000",
|
235 |
+
"@tooltip-opacity": ".9",
|
236 |
+
"@tooltip-arrow-width": "5px",
|
237 |
+
"@tooltip-arrow-color": "@tooltip-bg",
|
238 |
+
"@popover-bg": "#fff",
|
239 |
+
"@popover-max-width": "276px",
|
240 |
+
"@popover-border-color": "rgba(0,0,0,.2)",
|
241 |
+
"@popover-fallback-border-color": "#ccc",
|
242 |
+
"@popover-title-bg": "darken(@popover-bg, 3%)",
|
243 |
+
"@popover-arrow-width": "10px",
|
244 |
+
"@popover-arrow-color": "@popover-bg",
|
245 |
+
"@popover-arrow-outer-width": "(@popover-arrow-width + 1)",
|
246 |
+
"@popover-arrow-outer-color": "fadein(@popover-border-color, 5%)",
|
247 |
+
"@popover-arrow-outer-fallback-color": "darken(@popover-fallback-border-color, 20%)",
|
248 |
+
"@label-default-bg": "@gray-light",
|
249 |
+
"@label-primary-bg": "@brand-primary",
|
250 |
+
"@label-success-bg": "@brand-success",
|
251 |
+
"@label-info-bg": "@brand-info",
|
252 |
+
"@label-warning-bg": "@brand-warning",
|
253 |
+
"@label-danger-bg": "@brand-danger",
|
254 |
+
"@label-color": "#fff",
|
255 |
+
"@label-link-hover-color": "#fff",
|
256 |
+
"@modal-inner-padding": "15px",
|
257 |
+
"@modal-title-padding": "15px",
|
258 |
+
"@modal-title-line-height": "@line-height-base",
|
259 |
+
"@modal-content-bg": "#fff",
|
260 |
+
"@modal-content-border-color": "rgba(0,0,0,.2)",
|
261 |
+
"@modal-content-fallback-border-color": "#999",
|
262 |
+
"@modal-backdrop-bg": "#000",
|
263 |
+
"@modal-backdrop-opacity": ".5",
|
264 |
+
"@modal-header-border-color": "#e5e5e5",
|
265 |
+
"@modal-footer-border-color": "@modal-header-border-color",
|
266 |
+
"@modal-lg": "900px",
|
267 |
+
"@modal-md": "600px",
|
268 |
+
"@modal-sm": "300px",
|
269 |
+
"@alert-padding": "15px",
|
270 |
+
"@alert-border-radius": "@border-radius-base",
|
271 |
+
"@alert-link-font-weight": "bold",
|
272 |
+
"@alert-success-bg": "@state-success-bg",
|
273 |
+
"@alert-success-text": "@state-success-text",
|
274 |
+
"@alert-success-border": "@state-success-border",
|
275 |
+
"@alert-info-bg": "@state-info-bg",
|
276 |
+
"@alert-info-text": "@state-info-text",
|
277 |
+
"@alert-info-border": "@state-info-border",
|
278 |
+
"@alert-warning-bg": "@state-warning-bg",
|
279 |
+
"@alert-warning-text": "@state-warning-text",
|
280 |
+
"@alert-warning-border": "@state-warning-border",
|
281 |
+
"@alert-danger-bg": "@state-danger-bg",
|
282 |
+
"@alert-danger-text": "@state-danger-text",
|
283 |
+
"@alert-danger-border": "@state-danger-border",
|
284 |
+
"@progress-bg": "#f5f5f5",
|
285 |
+
"@progress-bar-color": "#fff",
|
286 |
+
"@progress-border-radius": "@border-radius-base",
|
287 |
+
"@progress-bar-bg": "@brand-primary",
|
288 |
+
"@progress-bar-success-bg": "@brand-success",
|
289 |
+
"@progress-bar-warning-bg": "@brand-warning",
|
290 |
+
"@progress-bar-danger-bg": "@brand-danger",
|
291 |
+
"@progress-bar-info-bg": "@brand-info",
|
292 |
+
"@list-group-bg": "#fff",
|
293 |
+
"@list-group-border": "#ddd",
|
294 |
+
"@list-group-border-radius": "@border-radius-base",
|
295 |
+
"@list-group-hover-bg": "#f5f5f5",
|
296 |
+
"@list-group-active-color": "@component-active-color",
|
297 |
+
"@list-group-active-bg": "@component-active-bg",
|
298 |
+
"@list-group-active-border": "@list-group-active-bg",
|
299 |
+
"@list-group-active-text-color": "lighten(@list-group-active-bg, 40%)",
|
300 |
+
"@list-group-disabled-color": "@gray-light",
|
301 |
+
"@list-group-disabled-bg": "@gray-lighter",
|
302 |
+
"@list-group-disabled-text-color": "@list-group-disabled-color",
|
303 |
+
"@list-group-link-color": "#555",
|
304 |
+
"@list-group-link-hover-color": "@list-group-link-color",
|
305 |
+
"@list-group-link-heading-color": "#333",
|
306 |
+
"@panel-bg": "#fff",
|
307 |
+
"@panel-body-padding": "15px",
|
308 |
+
"@panel-heading-padding": "10px 15px",
|
309 |
+
"@panel-footer-padding": "@panel-heading-padding",
|
310 |
+
"@panel-border-radius": "@border-radius-base",
|
311 |
+
"@panel-inner-border": "#ddd",
|
312 |
+
"@panel-footer-bg": "#f5f5f5",
|
313 |
+
"@panel-default-text": "@gray-dark",
|
314 |
+
"@panel-default-border": "#ddd",
|
315 |
+
"@panel-default-heading-bg": "#f5f5f5",
|
316 |
+
"@panel-primary-text": "#fff",
|
317 |
+
"@panel-primary-border": "@brand-primary",
|
318 |
+
"@panel-primary-heading-bg": "@brand-primary",
|
319 |
+
"@panel-success-text": "@state-success-text",
|
320 |
+
"@panel-success-border": "@state-success-border",
|
321 |
+
"@panel-success-heading-bg": "@state-success-bg",
|
322 |
+
"@panel-info-text": "@state-info-text",
|
323 |
+
"@panel-info-border": "@state-info-border",
|
324 |
+
"@panel-info-heading-bg": "@state-info-bg",
|
325 |
+
"@panel-warning-text": "@state-warning-text",
|
326 |
+
"@panel-warning-border": "@state-warning-border",
|
327 |
+
"@panel-warning-heading-bg": "@state-warning-bg",
|
328 |
+
"@panel-danger-text": "@state-danger-text",
|
329 |
+
"@panel-danger-border": "@state-danger-border",
|
330 |
+
"@panel-danger-heading-bg": "@state-danger-bg",
|
331 |
+
"@thumbnail-padding": "4px",
|
332 |
+
"@thumbnail-bg": "@body-bg",
|
333 |
+
"@thumbnail-border": "#ddd",
|
334 |
+
"@thumbnail-border-radius": "@border-radius-base",
|
335 |
+
"@thumbnail-caption-color": "@text-color",
|
336 |
+
"@thumbnail-caption-padding": "9px",
|
337 |
+
"@well-bg": "#f5f5f5",
|
338 |
+
"@well-border": "darken(@well-bg, 7%)",
|
339 |
+
"@badge-color": "#fff",
|
340 |
+
"@badge-link-hover-color": "#fff",
|
341 |
+
"@badge-bg": "@gray-light",
|
342 |
+
"@badge-active-color": "@link-color",
|
343 |
+
"@badge-active-bg": "#fff",
|
344 |
+
"@badge-font-weight": "bold",
|
345 |
+
"@badge-line-height": "1",
|
346 |
+
"@badge-border-radius": "10px",
|
347 |
+
"@breadcrumb-padding-vertical": "8px",
|
348 |
+
"@breadcrumb-padding-horizontal": "15px",
|
349 |
+
"@breadcrumb-bg": "#f5f5f5",
|
350 |
+
"@breadcrumb-color": "#ccc",
|
351 |
+
"@breadcrumb-active-color": "@gray-light",
|
352 |
+
"@breadcrumb-separator": "\"/\"",
|
353 |
+
"@carousel-text-shadow": "0 1px 2px rgba(0,0,0,.6)",
|
354 |
+
"@carousel-control-color": "#fff",
|
355 |
+
"@carousel-control-width": "15%",
|
356 |
+
"@carousel-control-opacity": ".5",
|
357 |
+
"@carousel-control-font-size": "20px",
|
358 |
+
"@carousel-indicator-active-bg": "#fff",
|
359 |
+
"@carousel-indicator-border-color": "#fff",
|
360 |
+
"@carousel-caption-color": "#fff",
|
361 |
+
"@close-font-weight": "bold",
|
362 |
+
"@close-color": "#000",
|
363 |
+
"@close-text-shadow": "0 1px 0 #fff",
|
364 |
+
"@code-color": "#c7254e",
|
365 |
+
"@code-bg": "#f9f2f4",
|
366 |
+
"@kbd-color": "#fff",
|
367 |
+
"@kbd-bg": "#333",
|
368 |
+
"@pre-bg": "#f5f5f5",
|
369 |
+
"@pre-color": "@gray-dark",
|
370 |
+
"@pre-border-color": "#ccc",
|
371 |
+
"@pre-scrollable-max-height": "340px",
|
372 |
+
"@component-offset-horizontal": "180px",
|
373 |
+
"@text-muted": "@gray-light",
|
374 |
+
"@abbr-border-color": "@gray-light",
|
375 |
+
"@headings-small-color": "@gray-light",
|
376 |
+
"@blockquote-small-color": "@gray-light",
|
377 |
+
"@blockquote-font-size": "(@font-size-base * 1.25)",
|
378 |
+
"@blockquote-border-color": "@gray-lighter",
|
379 |
+
"@page-header-border-color": "@gray-lighter",
|
380 |
+
"@dl-horizontal-offset": "@component-offset-horizontal",
|
381 |
+
"@dl-horizontal-breakpoint": "@grid-float-breakpoint",
|
382 |
+
"@hr-border": "@gray-lighter"
|
383 |
+
},
|
384 |
+
"css": [
|
385 |
+
"print.less",
|
386 |
+
"code.less",
|
387 |
+
"grid.less",
|
388 |
+
"tables.less",
|
389 |
+
"forms.less",
|
390 |
+
"buttons.less",
|
391 |
+
"responsive-utilities.less",
|
392 |
+
"glyphicons.less",
|
393 |
+
"button-groups.less",
|
394 |
+
"input-groups.less",
|
395 |
+
"navs.less",
|
396 |
+
"navbar.less",
|
397 |
+
"breadcrumbs.less",
|
398 |
+
"pagination.less",
|
399 |
+
"pager.less",
|
400 |
+
"labels.less",
|
401 |
+
"badges.less",
|
402 |
+
"jumbotron.less",
|
403 |
+
"thumbnails.less",
|
404 |
+
"alerts.less",
|
405 |
+
"progress-bars.less",
|
406 |
+
"media.less",
|
407 |
+
"list-group.less",
|
408 |
+
"panels.less",
|
409 |
+
"responsive-embed.less",
|
410 |
+
"wells.less",
|
411 |
+
"close.less",
|
412 |
+
"component-animations.less",
|
413 |
+
"dropdowns.less",
|
414 |
+
"tooltip.less",
|
415 |
+
"popovers.less",
|
416 |
+
"modals.less",
|
417 |
+
"carousel.less"
|
418 |
+
],
|
419 |
+
"js": [
|
420 |
+
"alert.js",
|
421 |
+
"button.js",
|
422 |
+
"carousel.js",
|
423 |
+
"dropdown.js",
|
424 |
+
"modal.js",
|
425 |
+
"tooltip.js",
|
426 |
+
"popover.js",
|
427 |
+
"tab.js",
|
428 |
+
"affix.js",
|
429 |
+
"collapse.js",
|
430 |
+
"scrollspy.js",
|
431 |
+
"transition.js"
|
432 |
+
],
|
433 |
+
"customizerUrl": "http://getbootstrap.com/customize/?id=39f56dbee4e4db91437f384b1dcd27f0"
|
434 |
+
}
|
library/toolset/toolset-common/res/lib/bootstrap/css/bootstrap-theme.css
ADDED
@@ -0,0 +1,596 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
3 |
+
* Copyright 2011-2016 Twitter, Inc.
|
4 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
+
*/
|
6 |
+
|
7 |
+
/*!
|
8 |
+
* Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=39f56dbee4e4db91437f384b1dcd27f0)
|
9 |
+
* Config saved to config.json and https://gist.github.com/39f56dbee4e4db91437f384b1dcd27f0
|
10 |
+
*/
|
11 |
+
/*!
|
12 |
+
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
13 |
+
* Copyright 2011-2016 Twitter, Inc.
|
14 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
15 |
+
*/
|
16 |
+
.btn-default,
|
17 |
+
.btn-primary,
|
18 |
+
.btn-success,
|
19 |
+
.btn-info,
|
20 |
+
.btn-warning,
|
21 |
+
.btn-danger {
|
22 |
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
|
23 |
+
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
|
24 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
|
25 |
+
}
|
26 |
+
.btn-default:active,
|
27 |
+
.btn-primary:active,
|
28 |
+
.btn-success:active,
|
29 |
+
.btn-info:active,
|
30 |
+
.btn-warning:active,
|
31 |
+
.btn-danger:active,
|
32 |
+
.btn-default.active,
|
33 |
+
.btn-primary.active,
|
34 |
+
.btn-success.active,
|
35 |
+
.btn-info.active,
|
36 |
+
.btn-warning.active,
|
37 |
+
.btn-danger.active {
|
38 |
+
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
39 |
+
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
40 |
+
}
|
41 |
+
.btn-default.disabled,
|
42 |
+
.btn-primary.disabled,
|
43 |
+
.btn-success.disabled,
|
44 |
+
.btn-info.disabled,
|
45 |
+
.btn-warning.disabled,
|
46 |
+
.btn-danger.disabled,
|
47 |
+
.btn-default[disabled],
|
48 |
+
.btn-primary[disabled],
|
49 |
+
.btn-success[disabled],
|
50 |
+
.btn-info[disabled],
|
51 |
+
.btn-warning[disabled],
|
52 |
+
.btn-danger[disabled],
|
53 |
+
fieldset[disabled] .btn-default,
|
54 |
+
fieldset[disabled] .btn-primary,
|
55 |
+
fieldset[disabled] .btn-success,
|
56 |
+
fieldset[disabled] .btn-info,
|
57 |
+
fieldset[disabled] .btn-warning,
|
58 |
+
fieldset[disabled] .btn-danger {
|
59 |
+
-webkit-box-shadow: none;
|
60 |
+
box-shadow: none;
|
61 |
+
}
|
62 |
+
.btn-default .badge,
|
63 |
+
.btn-primary .badge,
|
64 |
+
.btn-success .badge,
|
65 |
+
.btn-info .badge,
|
66 |
+
.btn-warning .badge,
|
67 |
+
.btn-danger .badge {
|
68 |
+
text-shadow: none;
|
69 |
+
}
|
70 |
+
.btn:active,
|
71 |
+
.btn.active {
|
72 |
+
background-image: none;
|
73 |
+
}
|
74 |
+
.btn-default {
|
75 |
+
background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);
|
76 |
+
background-image: -o-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);
|
77 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#e0e0e0));
|
78 |
+
background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%);
|
79 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
|
80 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
81 |
+
background-repeat: repeat-x;
|
82 |
+
border-color: #dbdbdb;
|
83 |
+
text-shadow: 0 1px 0 #fff;
|
84 |
+
border-color: #ccc;
|
85 |
+
}
|
86 |
+
.btn-default:hover,
|
87 |
+
.btn-default:focus {
|
88 |
+
background-color: #e0e0e0;
|
89 |
+
background-position: 0 -15px;
|
90 |
+
}
|
91 |
+
.btn-default:active,
|
92 |
+
.btn-default.active {
|
93 |
+
background-color: #e0e0e0;
|
94 |
+
border-color: #dbdbdb;
|
95 |
+
}
|
96 |
+
.btn-default.disabled,
|
97 |
+
.btn-default[disabled],
|
98 |
+
fieldset[disabled] .btn-default,
|
99 |
+
.btn-default.disabled:hover,
|
100 |
+
.btn-default[disabled]:hover,
|
101 |
+
fieldset[disabled] .btn-default:hover,
|
102 |
+
.btn-default.disabled:focus,
|
103 |
+
.btn-default[disabled]:focus,
|
104 |
+
fieldset[disabled] .btn-default:focus,
|
105 |
+
.btn-default.disabled.focus,
|
106 |
+
.btn-default[disabled].focus,
|
107 |
+
fieldset[disabled] .btn-default.focus,
|
108 |
+
.btn-default.disabled:active,
|
109 |
+
.btn-default[disabled]:active,
|
110 |
+
fieldset[disabled] .btn-default:active,
|
111 |
+
.btn-default.disabled.active,
|
112 |
+
.btn-default[disabled].active,
|
113 |
+
fieldset[disabled] .btn-default.active {
|
114 |
+
background-color: #e0e0e0;
|
115 |
+
background-image: none;
|
116 |
+
}
|
117 |
+
.btn-primary {
|
118 |
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
|
119 |
+
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
|
120 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
|
121 |
+
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
|
122 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
|
123 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
124 |
+
background-repeat: repeat-x;
|
125 |
+
border-color: #245580;
|
126 |
+
}
|
127 |
+
.btn-primary:hover,
|
128 |
+
.btn-primary:focus {
|
129 |
+
background-color: #265a88;
|
130 |
+
background-position: 0 -15px;
|
131 |
+
}
|
132 |
+
.btn-primary:active,
|
133 |
+
.btn-primary.active {
|
134 |
+
background-color: #265a88;
|
135 |
+
border-color: #245580;
|
136 |
+
}
|
137 |
+
.btn-primary.disabled,
|
138 |
+
.btn-primary[disabled],
|
139 |
+
fieldset[disabled] .btn-primary,
|
140 |
+
.btn-primary.disabled:hover,
|
141 |
+
.btn-primary[disabled]:hover,
|
142 |
+
fieldset[disabled] .btn-primary:hover,
|
143 |
+
.btn-primary.disabled:focus,
|
144 |
+
.btn-primary[disabled]:focus,
|
145 |
+
fieldset[disabled] .btn-primary:focus,
|
146 |
+
.btn-primary.disabled.focus,
|
147 |
+
.btn-primary[disabled].focus,
|
148 |
+
fieldset[disabled] .btn-primary.focus,
|
149 |
+
.btn-primary.disabled:active,
|
150 |
+
.btn-primary[disabled]:active,
|
151 |
+
fieldset[disabled] .btn-primary:active,
|
152 |
+
.btn-primary.disabled.active,
|
153 |
+
.btn-primary[disabled].active,
|
154 |
+
fieldset[disabled] .btn-primary.active {
|
155 |
+
background-color: #265a88;
|
156 |
+
background-image: none;
|
157 |
+
}
|
158 |
+
.btn-success {
|
159 |
+
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
|
160 |
+
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
|
161 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
|
162 |
+
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
|
163 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
|
164 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
165 |
+
background-repeat: repeat-x;
|
166 |
+
border-color: #3e8f3e;
|
167 |
+
}
|
168 |
+
.btn-success:hover,
|
169 |
+
.btn-success:focus {
|
170 |
+
background-color: #419641;
|
171 |
+
background-position: 0 -15px;
|
172 |
+
}
|
173 |
+
.btn-success:active,
|
174 |
+
.btn-success.active {
|
175 |
+
background-color: #419641;
|
176 |
+
border-color: #3e8f3e;
|
177 |
+
}
|
178 |
+
.btn-success.disabled,
|
179 |
+
.btn-success[disabled],
|
180 |
+
fieldset[disabled] .btn-success,
|
181 |
+
.btn-success.disabled:hover,
|
182 |
+
.btn-success[disabled]:hover,
|
183 |
+
fieldset[disabled] .btn-success:hover,
|
184 |
+
.btn-success.disabled:focus,
|
185 |
+
.btn-success[disabled]:focus,
|
186 |
+
fieldset[disabled] .btn-success:focus,
|
187 |
+
.btn-success.disabled.focus,
|
188 |
+
.btn-success[disabled].focus,
|
189 |
+
fieldset[disabled] .btn-success.focus,
|
190 |
+
.btn-success.disabled:active,
|
191 |
+
.btn-success[disabled]:active,
|
192 |
+
fieldset[disabled] .btn-success:active,
|
193 |
+
.btn-success.disabled.active,
|
194 |
+
.btn-success[disabled].active,
|
195 |
+
fieldset[disabled] .btn-success.active {
|
196 |
+
background-color: #419641;
|
197 |
+
background-image: none;
|
198 |
+
}
|
199 |
+
.btn-info {
|
200 |
+
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
|
201 |
+
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
|
202 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
|
203 |
+
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
|
204 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
|
205 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
206 |
+
background-repeat: repeat-x;
|
207 |
+
border-color: #28a4c9;
|
208 |
+
}
|
209 |
+
.btn-info:hover,
|
210 |
+
.btn-info:focus {
|
211 |
+
background-color: #2aabd2;
|
212 |
+
background-position: 0 -15px;
|
213 |
+
}
|
214 |
+
.btn-info:active,
|
215 |
+
.btn-info.active {
|
216 |
+
background-color: #2aabd2;
|
217 |
+
border-color: #28a4c9;
|
218 |
+
}
|
219 |
+
.btn-info.disabled,
|
220 |
+
.btn-info[disabled],
|
221 |
+
fieldset[disabled] .btn-info,
|
222 |
+
.btn-info.disabled:hover,
|
223 |
+
.btn-info[disabled]:hover,
|
224 |
+
fieldset[disabled] .btn-info:hover,
|
225 |
+
.btn-info.disabled:focus,
|
226 |
+
.btn-info[disabled]:focus,
|
227 |
+
fieldset[disabled] .btn-info:focus,
|
228 |
+
.btn-info.disabled.focus,
|
229 |
+
.btn-info[disabled].focus,
|
230 |
+
fieldset[disabled] .btn-info.focus,
|
231 |
+
.btn-info.disabled:active,
|
232 |
+
.btn-info[disabled]:active,
|
233 |
+
fieldset[disabled] .btn-info:active,
|
234 |
+
.btn-info.disabled.active,
|
235 |
+
.btn-info[disabled].active,
|
236 |
+
fieldset[disabled] .btn-info.active {
|
237 |
+
background-color: #2aabd2;
|
238 |
+
background-image: none;
|
239 |
+
}
|
240 |
+
.btn-warning {
|
241 |
+
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
|
242 |
+
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
|
243 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
|
244 |
+
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
|
245 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
|
246 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
247 |
+
background-repeat: repeat-x;
|
248 |
+
border-color: #e38d13;
|
249 |
+
}
|
250 |
+
.btn-warning:hover,
|
251 |
+
.btn-warning:focus {
|
252 |
+
background-color: #eb9316;
|
253 |
+
background-position: 0 -15px;
|
254 |
+
}
|
255 |
+
.btn-warning:active,
|
256 |
+
.btn-warning.active {
|
257 |
+
background-color: #eb9316;
|
258 |
+
border-color: #e38d13;
|
259 |
+
}
|
260 |
+
.btn-warning.disabled,
|
261 |
+
.btn-warning[disabled],
|
262 |
+
fieldset[disabled] .btn-warning,
|
263 |
+
.btn-warning.disabled:hover,
|
264 |
+
.btn-warning[disabled]:hover,
|
265 |
+
fieldset[disabled] .btn-warning:hover,
|
266 |
+
.btn-warning.disabled:focus,
|
267 |
+
.btn-warning[disabled]:focus,
|
268 |
+
fieldset[disabled] .btn-warning:focus,
|
269 |
+
.btn-warning.disabled.focus,
|
270 |
+
.btn-warning[disabled].focus,
|
271 |
+
fieldset[disabled] .btn-warning.focus,
|
272 |
+
.btn-warning.disabled:active,
|
273 |
+
.btn-warning[disabled]:active,
|
274 |
+
fieldset[disabled] .btn-warning:active,
|
275 |
+
.btn-warning.disabled.active,
|
276 |
+
.btn-warning[disabled].active,
|
277 |
+
fieldset[disabled] .btn-warning.active {
|
278 |
+
background-color: #eb9316;
|
279 |
+
background-image: none;
|
280 |
+
}
|
281 |
+
.btn-danger {
|
282 |
+
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
|
283 |
+
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
|
284 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
|
285 |
+
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
|
286 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
|
287 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
288 |
+
background-repeat: repeat-x;
|
289 |
+
border-color: #b92c28;
|
290 |
+
}
|
291 |
+
.btn-danger:hover,
|
292 |
+
.btn-danger:focus {
|
293 |
+
background-color: #c12e2a;
|
294 |
+
background-position: 0 -15px;
|
295 |
+
}
|
296 |
+
.btn-danger:active,
|
297 |
+
.btn-danger.active {
|
298 |
+
background-color: #c12e2a;
|
299 |
+
border-color: #b92c28;
|
300 |
+
}
|
301 |
+
.btn-danger.disabled,
|
302 |
+
.btn-danger[disabled],
|
303 |
+
fieldset[disabled] .btn-danger,
|
304 |
+
.btn-danger.disabled:hover,
|
305 |
+
.btn-danger[disabled]:hover,
|
306 |
+
fieldset[disabled] .btn-danger:hover,
|
307 |
+
.btn-danger.disabled:focus,
|
308 |
+
.btn-danger[disabled]:focus,
|
309 |
+
fieldset[disabled] .btn-danger:focus,
|
310 |
+
.btn-danger.disabled.focus,
|
311 |
+
.btn-danger[disabled].focus,
|
312 |
+
fieldset[disabled] .btn-danger.focus,
|
313 |
+
.btn-danger.disabled:active,
|
314 |
+
.btn-danger[disabled]:active,
|
315 |
+
fieldset[disabled] .btn-danger:active,
|
316 |
+
.btn-danger.disabled.active,
|
317 |
+
.btn-danger[disabled].active,
|
318 |
+
fieldset[disabled] .btn-danger.active {
|
319 |
+
background-color: #c12e2a;
|
320 |
+
background-image: none;
|
321 |
+
}
|
322 |
+
.thumbnail,
|
323 |
+
.img-thumbnail {
|
324 |
+
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
|
325 |
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
|
326 |
+
}
|
327 |
+
.dropdown-menu > li > a:hover,
|
328 |
+
.dropdown-menu > li > a:focus {
|
329 |
+
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
330 |
+
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
331 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
|
332 |
+
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
333 |
+
background-repeat: repeat-x;
|
334 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
335 |
+
background-color: #e8e8e8;
|
336 |
+
}
|
337 |
+
.dropdown-menu > .active > a,
|
338 |
+
.dropdown-menu > .active > a:hover,
|
339 |
+
.dropdown-menu > .active > a:focus {
|
340 |
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
341 |
+
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
342 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
343 |
+
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
344 |
+
background-repeat: repeat-x;
|
345 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
346 |
+
background-color: #2e6da4;
|
347 |
+
}
|
348 |
+
.navbar-default {
|
349 |
+
background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
|
350 |
+
background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
|
351 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f8f8f8));
|
352 |
+
background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
|
353 |
+
background-repeat: repeat-x;
|
354 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
|
355 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
356 |
+
border-radius: 4px;
|
357 |
+
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
|
358 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
|
359 |
+
}
|
360 |
+
.navbar-default .navbar-nav > .open > a,
|
361 |
+
.navbar-default .navbar-nav > .active > a {
|
362 |
+
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
|
363 |
+
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
|
364 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
|
365 |
+
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
|
366 |
+
background-repeat: repeat-x;
|
367 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
|
368 |
+
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
|
369 |
+
box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
|
370 |
+
}
|
371 |
+
.navbar-brand,
|
372 |
+
.navbar-nav > li > a {
|
373 |
+
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
|
374 |
+
}
|
375 |
+
.navbar-inverse {
|
376 |
+
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%);
|
377 |
+
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222222 100%);
|
378 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222222));
|
379 |
+
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);
|
380 |
+
background-repeat: repeat-x;
|
381 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
|
382 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
383 |
+
border-radius: 4px;
|
384 |
+
}
|
385 |
+
.navbar-inverse .navbar-nav > .open > a,
|
386 |
+
.navbar-inverse .navbar-nav > .active > a {
|
387 |
+
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
|
388 |
+
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
|
389 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
|
390 |
+
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
|
391 |
+
background-repeat: repeat-x;
|
392 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
|
393 |
+
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
|
394 |
+
box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
|
395 |
+
}
|
396 |
+
.navbar-inverse .navbar-brand,
|
397 |
+
.navbar-inverse .navbar-nav > li > a {
|
398 |
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
399 |
+
}
|
400 |
+
.navbar-static-top,
|
401 |
+
.navbar-fixed-top,
|
402 |
+
.navbar-fixed-bottom {
|
403 |
+
border-radius: 0;
|
404 |
+
}
|
405 |
+
@media (max-width: 767px) {
|
406 |
+
.navbar .navbar-nav .open .dropdown-menu > .active > a,
|
407 |
+
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
|
408 |
+
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
|
409 |
+
color: #fff;
|
410 |
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
411 |
+
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
412 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
413 |
+
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
414 |
+
background-repeat: repeat-x;
|
415 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
416 |
+
}
|
417 |
+
}
|
418 |
+
.alert {
|
419 |
+
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
|
420 |
+
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
|
421 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
|
422 |
+
}
|
423 |
+
.alert-success {
|
424 |
+
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
425 |
+
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
426 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
|
427 |
+
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
|
428 |
+
background-repeat: repeat-x;
|
429 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
|
430 |
+
border-color: #b2dba1;
|
431 |
+
}
|
432 |
+
.alert-info {
|
433 |
+
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
434 |
+
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
435 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
|
436 |
+
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
|
437 |
+
background-repeat: repeat-x;
|
438 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
|
439 |
+
border-color: #9acfea;
|
440 |
+
}
|
441 |
+
.alert-warning {
|
442 |
+
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
443 |
+
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
444 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
|
445 |
+
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
|
446 |
+
background-repeat: repeat-x;
|
447 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
|
448 |
+
border-color: #f5e79e;
|
449 |
+
}
|
450 |
+
.alert-danger {
|
451 |
+
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
452 |
+
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
453 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
|
454 |
+
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
|
455 |
+
background-repeat: repeat-x;
|
456 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
|
457 |
+
border-color: #dca7a7;
|
458 |
+
}
|
459 |
+
.progress {
|
460 |
+
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
461 |
+
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
462 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
|
463 |
+
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
|
464 |
+
background-repeat: repeat-x;
|
465 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
|
466 |
+
}
|
467 |
+
.progress-bar {
|
468 |
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
|
469 |
+
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
|
470 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
|
471 |
+
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
|
472 |
+
background-repeat: repeat-x;
|
473 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
|
474 |
+
}
|
475 |
+
.progress-bar-success {
|
476 |
+
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
477 |
+
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
478 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
|
479 |
+
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
|
480 |
+
background-repeat: repeat-x;
|
481 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
|
482 |
+
}
|
483 |
+
.progress-bar-info {
|
484 |
+
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
485 |
+
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
486 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
|
487 |
+
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
|
488 |
+
background-repeat: repeat-x;
|
489 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
|
490 |
+
}
|
491 |
+
.progress-bar-warning {
|
492 |
+
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
493 |
+
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
494 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
|
495 |
+
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
|
496 |
+
background-repeat: repeat-x;
|
497 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
|
498 |
+
}
|
499 |
+
.progress-bar-danger {
|
500 |
+
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
501 |
+
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
502 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
|
503 |
+
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
|
504 |
+
background-repeat: repeat-x;
|
505 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
|
506 |
+
}
|
507 |
+
.progress-bar-striped {
|
508 |
+
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
509 |
+
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
510 |
+
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
511 |
+
}
|
512 |
+
.list-group {
|
513 |
+
border-radius: 4px;
|
514 |
+
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
|
515 |
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
|
516 |
+
}
|
517 |
+
.list-group-item.active,
|
518 |
+
.list-group-item.active:hover,
|
519 |
+
.list-group-item.active:focus {
|
520 |
+
text-shadow: 0 -1px 0 #286090;
|
521 |
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
|
522 |
+
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
|
523 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
|
524 |
+
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
|
525 |
+
background-repeat: repeat-x;
|
526 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
|
527 |
+
border-color: #2b669a;
|
528 |
+
}
|
529 |
+
.list-group-item.active .badge,
|
530 |
+
.list-group-item.active:hover .badge,
|
531 |
+
.list-group-item.active:focus .badge {
|
532 |
+
text-shadow: none;
|
533 |
+
}
|
534 |
+
.panel {
|
535 |
+
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
|
536 |
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
|
537 |
+
}
|
538 |
+
.panel-default > .panel-heading {
|
539 |
+
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
540 |
+
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
541 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
|
542 |
+
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
543 |
+
background-repeat: repeat-x;
|
544 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
545 |
+
}
|
546 |
+
.panel-primary > .panel-heading {
|
547 |
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
548 |
+
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
549 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
550 |
+
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
551 |
+
background-repeat: repeat-x;
|
552 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
553 |
+
}
|
554 |
+
.panel-success > .panel-heading {
|
555 |
+
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
556 |
+
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
557 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
|
558 |
+
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
|
559 |
+
background-repeat: repeat-x;
|
560 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
|
561 |
+
}
|
562 |
+
.panel-info > .panel-heading {
|
563 |
+
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
564 |
+
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
565 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
|
566 |
+
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
|
567 |
+
background-repeat: repeat-x;
|
568 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
|
569 |
+
}
|
570 |
+
.panel-warning > .panel-heading {
|
571 |
+
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
572 |
+
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
573 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
|
574 |
+
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
|
575 |
+
background-repeat: repeat-x;
|
576 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
|
577 |
+
}
|
578 |
+
.panel-danger > .panel-heading {
|
579 |
+
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
580 |
+
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
581 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
|
582 |
+
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
|
583 |
+
background-repeat: repeat-x;
|
584 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
|
585 |
+
}
|
586 |
+
.well {
|
587 |
+
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
588 |
+
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
589 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
|
590 |
+
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
|
591 |
+
background-repeat: repeat-x;
|
592 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
|
593 |
+
border-color: #dcdcdc;
|
594 |
+
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
|
595 |
+
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
|
596 |
+
}
|
library/toolset/toolset-common/res/lib/bootstrap/css/bootstrap-theme.min.css
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
3 |
+
* Copyright 2011-2016 Twitter, Inc.
|
4 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
+
*/
|
6 |
+
|
7 |
+
/*!
|
8 |
+
* Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=39f56dbee4e4db91437f384b1dcd27f0)
|
9 |
+
* Config saved to config.json and https://gist.github.com/39f56dbee4e4db91437f384b1dcd27f0
|
10 |
+
*//*!
|
11 |
+
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
12 |
+
* Copyright 2011-2016 Twitter, Inc.
|
13 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
14 |
+
*/.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-default.disabled,.btn-primary.disabled,.btn-success.disabled,.btn-info.disabled,.btn-warning.disabled,.btn-danger.disabled,.btn-default[disabled],.btn-primary[disabled],.btn-success[disabled],.btn-info[disabled],.btn-warning[disabled],.btn-danger[disabled],fieldset[disabled] .btn-default,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-info,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-danger{-webkit-box-shadow:none;box-shadow:none}.btn-default .badge,.btn-primary .badge,.btn-success .badge,.btn-info .badge,.btn-warning .badge,.btn-danger .badge{text-shadow:none}.btn:active,.btn.active{background-image:none}.btn-default{background-image:-webkit-linear-gradient(top, #fff 0, #e0e0e0 100%);background-image:-o-linear-gradient(top, #fff 0, #e0e0e0 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), to(#e0e0e0));background-image:linear-gradient(to bottom, #fff 0, #e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#dbdbdb;text-shadow:0 1px 0 #fff;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top, #337ab7 0, #265a88 100%);background-image:-o-linear-gradient(top, #337ab7 0, #265a88 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #337ab7), to(#265a88));background-image:linear-gradient(to bottom, #337ab7 0, #265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#245580}.btn-primary:hover,.btn-primary:focus{background-color:#265a88;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top, #5cb85c 0, #419641 100%);background-image:-o-linear-gradient(top, #5cb85c 0, #419641 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #5cb85c), to(#419641));background-image:linear-gradient(to bottom, #5cb85c 0, #419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top, #5bc0de 0, #2aabd2 100%);background-image:-o-linear-gradient(top, #5bc0de 0, #2aabd2 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #5bc0de), to(#2aabd2));background-image:linear-gradient(to bottom, #5bc0de 0, #2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top, #f0ad4e 0, #eb9316 100%);background-image:-o-linear-gradient(top, #f0ad4e 0, #eb9316 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f0ad4e), to(#eb9316));background-image:linear-gradient(to bottom, #f0ad4e 0, #eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top, #d9534f 0, #c12e2a 100%);background-image:-o-linear-gradient(top, #d9534f 0, #c12e2a 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #d9534f), to(#c12e2a));background-image:linear-gradient(to bottom, #d9534f 0, #c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#c12e2a;background-image:none}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-image:-webkit-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:-o-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f5f5f5), to(#e8e8e8));background-image:linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-color:#e8e8e8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-image:-webkit-linear-gradient(top, #337ab7 0, #2e6da4 100%);background-image:-o-linear-gradient(top, #337ab7 0, #2e6da4 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #337ab7), to(#2e6da4));background-image:linear-gradient(to bottom, #337ab7 0, #2e6da4 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-color:#2e6da4}.navbar-default{background-image:-webkit-linear-gradient(top, #fff 0, #f8f8f8 100%);background-image:-o-linear-gradient(top, #fff 0, #f8f8f8 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), to(#f8f8f8));background-image:linear-gradient(to bottom, #fff 0, #f8f8f8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075)}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top, #dbdbdb 0, #e2e2e2 100%);background-image:-o-linear-gradient(top, #dbdbdb 0, #e2e2e2 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #dbdbdb), to(#e2e2e2));background-image:linear-gradient(to bottom, #dbdbdb 0, #e2e2e2 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.075);box-shadow:inset 0 3px 9px rgba(0,0,0,0.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,0.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top, #3c3c3c 0, #222 100%);background-image:-o-linear-gradient(top, #3c3c3c 0, #222 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #3c3c3c), to(#222));background-image:linear-gradient(to bottom, #3c3c3c 0, #222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border-radius:4px}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top, #080808 0, #0f0f0f 100%);background-image:-o-linear-gradient(top, #080808 0, #0f0f0f 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #080808), to(#0f0f0f));background-image:linear-gradient(to bottom, #080808 0, #0f0f0f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.25);box-shadow:inset 0 3px 9px rgba(0,0,0,0.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-image:-webkit-linear-gradient(top, #337ab7 0, #2e6da4 100%);background-image:-o-linear-gradient(top, #337ab7 0, #2e6da4 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #337ab7), to(#2e6da4));background-image:linear-gradient(to bottom, #337ab7 0, #2e6da4 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0)}}.alert{text-shadow:0 1px 0 rgba(255,255,255,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05)}.alert-success{background-image:-webkit-linear-gradient(top, #dff0d8 0, #c8e5bc 100%);background-image:-o-linear-gradient(top, #dff0d8 0, #c8e5bc 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #dff0d8), to(#c8e5bc));background-image:linear-gradient(to bottom, #dff0d8 0, #c8e5bc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top, #d9edf7 0, #b9def0 100%);background-image:-o-linear-gradient(top, #d9edf7 0, #b9def0 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #d9edf7), to(#b9def0));background-image:linear-gradient(to bottom, #d9edf7 0, #b9def0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top, #fcf8e3 0, #f8efc0 100%);background-image:-o-linear-gradient(top, #fcf8e3 0, #f8efc0 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fcf8e3), to(#f8efc0));background-image:linear-gradient(to bottom, #fcf8e3 0, #f8efc0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top, #f2dede 0, #e7c3c3 100%);background-image:-o-linear-gradient(top, #f2dede 0, #e7c3c3 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f2dede), to(#e7c3c3));background-image:linear-gradient(to bottom, #f2dede 0, #e7c3c3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top, #ebebeb 0, #f5f5f5 100%);background-image:-o-linear-gradient(top, #ebebeb 0, #f5f5f5 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #ebebeb), to(#f5f5f5));background-image:linear-gradient(to bottom, #ebebeb 0, #f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.progress-bar{background-image:-webkit-linear-gradient(top, #337ab7 0, #286090 100%);background-image:-o-linear-gradient(top, #337ab7 0, #286090 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #337ab7), to(#286090));background-image:linear-gradient(to bottom, #337ab7 0, #286090 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0)}.progress-bar-success{background-image:-webkit-linear-gradient(top, #5cb85c 0, #449d44 100%);background-image:-o-linear-gradient(top, #5cb85c 0, #449d44 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #5cb85c), to(#449d44));background-image:linear-gradient(to bottom, #5cb85c 0, #449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.progress-bar-info{background-image:-webkit-linear-gradient(top, #5bc0de 0, #31b0d5 100%);background-image:-o-linear-gradient(top, #5bc0de 0, #31b0d5 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #5bc0de), to(#31b0d5));background-image:linear-gradient(to bottom, #5bc0de 0, #31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.progress-bar-warning{background-image:-webkit-linear-gradient(top, #f0ad4e 0, #ec971f 100%);background-image:-o-linear-gradient(top, #f0ad4e 0, #ec971f 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f0ad4e), to(#ec971f));background-image:linear-gradient(to bottom, #f0ad4e 0, #ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.progress-bar-danger{background-image:-webkit-linear-gradient(top, #d9534f 0, #c9302c 100%);background-image:-o-linear-gradient(top, #d9534f 0, #c9302c 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #d9534f), to(#c9302c));background-image:linear-gradient(to bottom, #d9534f 0, #c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top, #337ab7 0, #2b669a 100%);background-image:-o-linear-gradient(top, #337ab7 0, #2b669a 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #337ab7), to(#2b669a));background-image:linear-gradient(to bottom, #337ab7 0, #2b669a 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:hover .badge,.list-group-item.active:focus .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:-o-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f5f5f5), to(#e8e8e8));background-image:linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top, #337ab7 0, #2e6da4 100%);background-image:-o-linear-gradient(top, #337ab7 0, #2e6da4 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #337ab7), to(#2e6da4));background-image:linear-gradient(to bottom, #337ab7 0, #2e6da4 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top, #dff0d8 0, #d0e9c6 100%);background-image:-o-linear-gradient(top, #dff0d8 0, #d0e9c6 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #dff0d8), to(#d0e9c6));background-image:linear-gradient(to bottom, #dff0d8 0, #d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top, #d9edf7 0, #c4e3f3 100%);background-image:-o-linear-gradient(top, #d9edf7 0, #c4e3f3 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #d9edf7), to(#c4e3f3));background-image:linear-gradient(to bottom, #d9edf7 0, #c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top, #fcf8e3 0, #faf2cc 100%);background-image:-o-linear-gradient(top, #fcf8e3 0, #faf2cc 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fcf8e3), to(#faf2cc));background-image:linear-gradient(to bottom, #fcf8e3 0, #faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top, #f2dede 0, #ebcccc 100%);background-image:-o-linear-gradient(top, #f2dede 0, #ebcccc 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f2dede), to(#ebcccc));background-image:linear-gradient(to bottom, #f2dede 0, #ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.well{background-image:-webkit-linear-gradient(top, #e8e8e8 0, #f5f5f5 100%);background-image:-o-linear-gradient(top, #e8e8e8 0, #f5f5f5 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #e8e8e8), to(#f5f5f5));background-image:linear-gradient(to bottom, #e8e8e8 0, #f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1)}
|
library/toolset/toolset-common/res/lib/bootstrap/css/bootstrap.css
ADDED
@@ -0,0 +1,6365 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
3 |
+
* Copyright 2011-2016 Twitter, Inc.
|
4 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
+
*/
|
6 |
+
|
7 |
+
/*!
|
8 |
+
* Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=39f56dbee4e4db91437f384b1dcd27f0)
|
9 |
+
* Config saved to config.json and https://gist.github.com/39f56dbee4e4db91437f384b1dcd27f0
|
10 |
+
*/
|
11 |
+
/*!
|
12 |
+
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
13 |
+
* Copyright 2011-2016 Twitter, Inc.
|
14 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
15 |
+
*/
|
16 |
+
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
|
17 |
+
|
18 |
+
article,
|
19 |
+
aside,
|
20 |
+
details,
|
21 |
+
figcaption,
|
22 |
+
figure,
|
23 |
+
footer,
|
24 |
+
header,
|
25 |
+
hgroup,
|
26 |
+
main,
|
27 |
+
menu,
|
28 |
+
nav,
|
29 |
+
section,
|
30 |
+
summary {
|
31 |
+
display: block;
|
32 |
+
}
|
33 |
+
audio,
|
34 |
+
canvas,
|
35 |
+
progress,
|
36 |
+
video {
|
37 |
+
display: inline-block;
|
38 |
+
vertical-align: baseline;
|
39 |
+
}
|
40 |
+
audio:not([controls]) {
|
41 |
+
display: none;
|
42 |
+
height: 0;
|
43 |
+
}
|
44 |
+
[hidden],
|
45 |
+
template {
|
46 |
+
display: none;
|
47 |
+
}
|
48 |
+
|
49 |
+
abbr[title] {
|
50 |
+
border-bottom: 1px dotted;
|
51 |
+
}
|
52 |
+
b,
|
53 |
+
strong {
|
54 |
+
font-weight: bold;
|
55 |
+
}
|
56 |
+
dfn {
|
57 |
+
font-style: italic;
|
58 |
+
}
|
59 |
+
h1 {
|
60 |
+
font-size: 2em;
|
61 |
+
margin: 0.67em 0;
|
62 |
+
}
|
63 |
+
mark {
|
64 |
+
background: #ff0;
|
65 |
+
color: #000;
|
66 |
+
}
|
67 |
+
small {
|
68 |
+
font-size: 80%;
|
69 |
+
}
|
70 |
+
sub,
|
71 |
+
sup {
|
72 |
+
font-size: 75%;
|
73 |
+
line-height: 0;
|
74 |
+
position: relative;
|
75 |
+
vertical-align: baseline;
|
76 |
+
}
|
77 |
+
sup {
|
78 |
+
top: -0.5em;
|
79 |
+
}
|
80 |
+
sub {
|
81 |
+
bottom: -0.25em;
|
82 |
+
}
|
83 |
+
img {
|
84 |
+
border: 0;
|
85 |
+
}
|
86 |
+
svg:not(:root) {
|
87 |
+
overflow: hidden;
|
88 |
+
}
|
89 |
+
figure {
|
90 |
+
margin: 1em 40px;
|
91 |
+
}
|
92 |
+
hr {
|
93 |
+
-webkit-box-sizing: content-box;
|
94 |
+
-moz-box-sizing: content-box;
|
95 |
+
box-sizing: content-box;
|
96 |
+
height: 0;
|
97 |
+
}
|
98 |
+
pre {
|
99 |
+
overflow: auto;
|
100 |
+
}
|
101 |
+
code,
|
102 |
+
kbd,
|
103 |
+
pre,
|
104 |
+
samp {
|
105 |
+
font-family: monospace, monospace;
|
106 |
+
font-size: 1em;
|
107 |
+
}
|
108 |
+
button,
|
109 |
+
input,
|
110 |
+
optgroup,
|
111 |
+
select,
|
112 |
+
textarea {
|
113 |
+
color: inherit;
|
114 |
+
font: inherit;
|
115 |
+
margin: 0;
|
116 |
+
}
|
117 |
+
button {
|
118 |
+
overflow: visible;
|
119 |
+
}
|
120 |
+
button,
|
121 |
+
select {
|
122 |
+
text-transform: none;
|
123 |
+
}
|
124 |
+
button,
|
125 |
+
html input[type="button"],
|
126 |
+
input[type="reset"],
|
127 |
+
input[type="submit"] {
|
128 |
+
-webkit-appearance: button;
|
129 |
+
cursor: pointer;
|
130 |
+
}
|
131 |
+
button[disabled],
|
132 |
+
html input[disabled] {
|
133 |
+
cursor: default;
|
134 |
+
}
|
135 |
+
button::-moz-focus-inner,
|
136 |
+
input::-moz-focus-inner {
|
137 |
+
border: 0;
|
138 |
+
padding: 0;
|
139 |
+
}
|
140 |
+
input {
|
141 |
+
line-height: normal;
|
142 |
+
}
|
143 |
+
input[type="checkbox"],
|
144 |
+
input[type="radio"] {
|
145 |
+
-webkit-box-sizing: border-box;
|
146 |
+
-moz-box-sizing: border-box;
|
147 |
+
box-sizing: border-box;
|
148 |
+
padding: 0;
|
149 |
+
}
|
150 |
+
input[type="number"]::-webkit-inner-spin-button,
|
151 |
+
input[type="number"]::-webkit-outer-spin-button {
|
152 |
+
height: auto;
|
153 |
+
}
|
154 |
+
input[type="search"] {
|
155 |
+
-webkit-appearance: textfield;
|
156 |
+
-webkit-box-sizing: content-box;
|
157 |
+
-moz-box-sizing: content-box;
|
158 |
+
box-sizing: content-box;
|
159 |
+
}
|
160 |
+
input[type="search"]::-webkit-search-cancel-button,
|
161 |
+
input[type="search"]::-webkit-search-decoration {
|
162 |
+
-webkit-appearance: none;
|
163 |
+
}
|
164 |
+
fieldset {
|
165 |
+
border: 1px solid #c0c0c0;
|
166 |
+
margin: 0 2px;
|
167 |
+
padding: 0.35em 0.625em 0.75em;
|
168 |
+
}
|
169 |
+
legend {
|
170 |
+
border: 0;
|
171 |
+
padding: 0;
|
172 |
+
}
|
173 |
+
textarea {
|
174 |
+
overflow: auto;
|
175 |
+
}
|
176 |
+
optgroup {
|
177 |
+
font-weight: bold;
|
178 |
+
}
|
179 |
+
table {
|
180 |
+
border-collapse: collapse;
|
181 |
+
border-spacing: 0;
|
182 |
+
}
|
183 |
+
td,
|
184 |
+
th {
|
185 |
+
padding: 0;
|
186 |
+
}
|
187 |
+
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
|
188 |
+
@media print {
|
189 |
+
*,
|
190 |
+
*:before,
|
191 |
+
*:after {
|
192 |
+
background: transparent !important;
|
193 |
+
color: #000 !important;
|
194 |
+
-webkit-box-shadow: none !important;
|
195 |
+
box-shadow: none !important;
|
196 |
+
text-shadow: none !important;
|
197 |
+
}
|
198 |
+
a,
|
199 |
+
a:visited {
|
200 |
+
text-decoration: underline;
|
201 |
+
}
|
202 |
+
a[href]:after {
|
203 |
+
content: " (" attr(href) ")";
|
204 |
+
}
|
205 |
+
abbr[title]:after {
|
206 |
+
content: " (" attr(title) ")";
|
207 |
+
}
|
208 |
+
a[href^="#"]:after,
|
209 |
+
a[href^="javascript:"]:after {
|
210 |
+
content: "";
|
211 |
+
}
|
212 |
+
pre,
|
213 |
+
blockquote {
|
214 |
+
border: 1px solid #999;
|
215 |
+
page-break-inside: avoid;
|
216 |
+
}
|
217 |
+
thead {
|
218 |
+
display: table-header-group;
|
219 |
+
}
|
220 |
+
tr,
|
221 |
+
img {
|
222 |
+
page-break-inside: avoid;
|
223 |
+
}
|
224 |
+
img {
|
225 |
+
max-width: 100% !important;
|
226 |
+
}
|
227 |
+
p,
|
228 |
+
h2,
|
229 |
+
h3 {
|
230 |
+
orphans: 3;
|
231 |
+
widows: 3;
|
232 |
+
}
|
233 |
+
h2,
|
234 |
+
h3 {
|
235 |
+
page-break-after: avoid;
|
236 |
+
}
|
237 |
+
.navbar {
|
238 |
+
display: none;
|
239 |
+
}
|
240 |
+
.btn > .caret,
|
241 |
+
.dropup > .btn > .caret {
|
242 |
+
border-top-color: #000 !important;
|
243 |
+
}
|
244 |
+
.label {
|
245 |
+
border: 1px solid #000;
|
246 |
+
}
|
247 |
+
.table {
|
248 |
+
border-collapse: collapse !important;
|
249 |
+
}
|
250 |
+
.table td,
|
251 |
+
.table th {
|
252 |
+
background-color: #fff !important;
|
253 |
+
}
|
254 |
+
.table-bordered th,
|
255 |
+
.table-bordered td {
|
256 |
+
border: 1px solid #ddd !important;
|
257 |
+
}
|
258 |
+
}
|
259 |
+
@font-face {
|
260 |
+
font-family: 'Glyphicons Halflings';
|
261 |
+
src: url('../fonts/glyphicons-halflings-regular.eot');
|
262 |
+
src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
|
263 |
+
}
|
264 |
+
.glyphicon {
|
265 |
+
position: relative;
|
266 |
+
top: 1px;
|
267 |
+
display: inline-block;
|
268 |
+
font-family: 'Glyphicons Halflings';
|
269 |
+
font-style: normal;
|
270 |
+
font-weight: normal;
|
271 |
+
line-height: 1;
|
272 |
+
-webkit-font-smoothing: antialiased;
|
273 |
+
-moz-osx-font-smoothing: grayscale;
|
274 |
+
}
|
275 |
+
.glyphicon-asterisk:before {
|
276 |
+
content: "\002a";
|
277 |
+
}
|
278 |
+
.glyphicon-plus:before {
|
279 |
+
content: "\002b";
|
280 |
+
}
|
281 |
+
.glyphicon-euro:before,
|
282 |
+
.glyphicon-eur:before {
|
283 |
+
content: "\20ac";
|
284 |
+
}
|
285 |
+
.glyphicon-minus:before {
|
286 |
+
content: "\2212";
|
287 |
+
}
|
288 |
+
.glyphicon-cloud:before {
|
289 |
+
content: "\2601";
|
290 |
+
}
|
291 |
+
.glyphicon-envelope:before {
|
292 |
+
content: "\2709";
|
293 |
+
}
|
294 |
+
.glyphicon-pencil:before {
|
295 |
+
content: "\270f";
|
296 |
+
}
|
297 |
+
.glyphicon-glass:before {
|
298 |
+
content: "\e001";
|
299 |
+
}
|
300 |
+
.glyphicon-music:before {
|
301 |
+
content: "\e002";
|
302 |
+
}
|
303 |
+
.glyphicon-search:before {
|
304 |
+
content: "\e003";
|
305 |
+
}
|
306 |
+
.glyphicon-heart:before {
|
307 |
+
content: "\e005";
|
308 |
+
}
|
309 |
+
.glyphicon-star:before {
|
310 |
+
content: "\e006";
|
311 |
+
}
|
312 |
+
.glyphicon-star-empty:before {
|
313 |
+
content: "\e007";
|
314 |
+
}
|
315 |
+
.glyphicon-user:before {
|
316 |
+
content: "\e008";
|
317 |
+
}
|
318 |
+
.glyphicon-film:before {
|
319 |
+
content: "\e009";
|
320 |
+
}
|
321 |
+
.glyphicon-th-large:before {
|
322 |
+
content: "\e010";
|
323 |
+
}
|
324 |
+
.glyphicon-th:before {
|
325 |
+
content: "\e011";
|
326 |
+
}
|
327 |
+
.glyphicon-th-list:before {
|
328 |
+
content: "\e012";
|
329 |
+
}
|
330 |
+
.glyphicon-ok:before {
|
331 |
+
content: "\e013";
|
332 |
+
}
|
333 |
+
.glyphicon-remove:before {
|
334 |
+
content: "\e014";
|
335 |
+
}
|
336 |
+
.glyphicon-zoom-in:before {
|
337 |
+
content: "\e015";
|
338 |
+
}
|
339 |
+
.glyphicon-zoom-out:before {
|
340 |
+
content: "\e016";
|
341 |
+
}
|
342 |
+
.glyphicon-off:before {
|
343 |
+
content: "\e017";
|
344 |
+
}
|
345 |
+
.glyphicon-signal:before {
|
346 |
+
content: "\e018";
|
347 |
+
}
|
348 |
+
.glyphicon-cog:before {
|
349 |
+
content: "\e019";
|
350 |
+
}
|
351 |
+
.glyphicon-trash:before {
|
352 |
+
content: "\e020";
|
353 |
+
}
|
354 |
+
.glyphicon-home:before {
|
355 |
+
content: "\e021";
|
356 |
+
}
|
357 |
+
.glyphicon-file:before {
|
358 |
+
content: "\e022";
|
359 |
+
}
|
360 |
+
.glyphicon-time:before {
|
361 |
+
content: "\e023";
|
362 |
+
}
|
363 |
+
.glyphicon-road:before {
|
364 |
+
content: "\e024";
|
365 |
+
}
|
366 |
+
.glyphicon-download-alt:before {
|
367 |
+
content: "\e025";
|
368 |
+
}
|
369 |
+
.glyphicon-download:before {
|
370 |
+
content: "\e026";
|
371 |
+
}
|
372 |
+
.glyphicon-upload:before {
|
373 |
+
content: "\e027";
|
374 |
+
}
|
375 |
+
.glyphicon-inbox:before {
|
376 |
+
content: "\e028";
|
377 |
+
}
|
378 |
+
.glyphicon-play-circle:before {
|
379 |
+
content: "\e029";
|
380 |
+
}
|
381 |
+
.glyphicon-repeat:before {
|
382 |
+
content: "\e030";
|
383 |
+
}
|
384 |
+
.glyphicon-refresh:before {
|
385 |
+
content: "\e031";
|
386 |
+
}
|
387 |
+
.glyphicon-list-alt:before {
|
388 |
+
content: "\e032";
|
389 |
+
}
|
390 |
+
.glyphicon-lock:before {
|
391 |
+
content: "\e033";
|
392 |
+
}
|
393 |
+
.glyphicon-flag:before {
|
394 |
+
content: "\e034";
|
395 |
+
}
|
396 |
+
.glyphicon-headphones:before {
|
397 |
+
content: "\e035";
|
398 |
+
}
|
399 |
+
.glyphicon-volume-off:before {
|
400 |
+
content: "\e036";
|
401 |
+
}
|
402 |
+
.glyphicon-volume-down:before {
|
403 |
+
content: "\e037";
|
404 |
+
}
|
405 |
+
.glyphicon-volume-up:before {
|
406 |
+
content: "\e038";
|
407 |
+
}
|
408 |
+
.glyphicon-qrcode:before {
|
409 |
+
content: "\e039";
|
410 |
+
}
|
411 |
+
.glyphicon-barcode:before {
|
412 |
+
content: "\e040";
|
413 |
+
}
|
414 |
+
.glyphicon-tag:before {
|
415 |
+
content: "\e041";
|
416 |
+
}
|
417 |
+
.glyphicon-tags:before {
|
418 |
+
content: "\e042";
|
419 |
+
}
|
420 |
+
.glyphicon-book:before {
|
421 |
+
content: "\e043";
|
422 |
+
}
|
423 |
+
.glyphicon-bookmark:before {
|
424 |
+
content: "\e044";
|
425 |
+
}
|
426 |
+
.glyphicon-print:before {
|
427 |
+
content: "\e045";
|
428 |
+
}
|
429 |
+
.glyphicon-camera:before {
|
430 |
+
content: "\e046";
|
431 |
+
}
|
432 |
+
.glyphicon-font:before {
|
433 |
+
content: "\e047";
|
434 |
+
}
|
435 |
+
.glyphicon-bold:before {
|
436 |
+
content: "\e048";
|
437 |
+
}
|
438 |
+
.glyphicon-italic:before {
|
439 |
+
content: "\e049";
|
440 |
+
}
|
441 |
+
.glyphicon-text-height:before {
|
442 |
+
content: "\e050";
|
443 |
+
}
|
444 |
+
.glyphicon-text-width:before {
|
445 |
+
content: "\e051";
|
446 |
+
}
|
447 |
+
.glyphicon-align-left:before {
|
448 |
+
content: "\e052";
|
449 |
+
}
|
450 |
+
.glyphicon-align-center:before {
|
451 |
+
content: "\e053";
|
452 |
+
}
|
453 |
+
.glyphicon-align-right:before {
|
454 |
+
content: "\e054";
|
455 |
+
}
|
456 |
+
.glyphicon-align-justify:before {
|
457 |
+
content: "\e055";
|
458 |
+
}
|
459 |
+
.glyphicon-list:before {
|
460 |
+
content: "\e056";
|
461 |
+
}
|
462 |
+
.glyphicon-indent-left:before {
|
463 |
+
content: "\e057";
|
464 |
+
}
|
465 |
+
.glyphicon-indent-right:before {
|
466 |
+
content: "\e058";
|
467 |
+
}
|
468 |
+
.glyphicon-facetime-video:before {
|
469 |
+
content: "\e059";
|
470 |
+
}
|
471 |
+
.glyphicon-picture:before {
|
472 |
+
content: "\e060";
|
473 |
+
}
|
474 |
+
.glyphicon-map-marker:before {
|
475 |
+
content: "\e062";
|
476 |
+
}
|
477 |
+
.glyphicon-adjust:before {
|
478 |
+
content: "\e063";
|
479 |
+
}
|
480 |
+
.glyphicon-tint:before {
|
481 |
+
content: "\e064";
|
482 |
+
}
|
483 |
+
.glyphicon-edit:before {
|
484 |
+
content: "\e065";
|
485 |
+
}
|
486 |
+
.glyphicon-share:before {
|
487 |
+
content: "\e066";
|
488 |
+
}
|
489 |
+
.glyphicon-check:before {
|
490 |
+
content: "\e067";
|
491 |
+
}
|
492 |
+
.glyphicon-move:before {
|
493 |
+
content: "\e068";
|
494 |
+
}
|
495 |
+
.glyphicon-step-backward:before {
|
496 |
+
content: "\e069";
|
497 |
+
}
|
498 |
+
.glyphicon-fast-backward:before {
|
499 |
+
content: "\e070";
|
500 |
+
}
|
501 |
+
.glyphicon-backward:before {
|
502 |
+
content: "\e071";
|
503 |
+
}
|
504 |
+
.glyphicon-play:before {
|
505 |
+
content: "\e072";
|
506 |
+
}
|
507 |
+
.glyphicon-pause:before {
|
508 |
+
content: "\e073";
|
509 |
+
}
|
510 |
+
.glyphicon-stop:before {
|
511 |
+
content: "\e074";
|
512 |
+
}
|
513 |
+
.glyphicon-forward:before {
|
514 |
+
content: "\e075";
|
515 |
+
}
|
516 |
+
.glyphicon-fast-forward:before {
|
517 |
+
content: "\e076";
|
518 |
+
}
|
519 |
+
.glyphicon-step-forward:before {
|
520 |
+
content: "\e077";
|
521 |
+
}
|
522 |
+
.glyphicon-eject:before {
|
523 |
+
content: "\e078";
|
524 |
+
}
|
525 |
+
.glyphicon-chevron-left:before {
|
526 |
+
content: "\e079";
|
527 |
+
}
|
528 |
+
.glyphicon-chevron-right:before {
|
529 |
+
content: "\e080";
|
530 |
+
}
|
531 |
+
.glyphicon-plus-sign:before {
|
532 |
+
content: "\e081";
|
533 |
+
}
|
534 |
+
.glyphicon-minus-sign:before {
|
535 |
+
content: "\e082";
|
536 |
+
}
|
537 |
+
.glyphicon-remove-sign:before {
|
538 |
+
content: "\e083";
|
539 |
+
}
|
540 |
+
.glyphicon-ok-sign:before {
|
541 |
+
content: "\e084";
|
542 |
+
}
|
543 |
+
.glyphicon-question-sign:before {
|
544 |
+
content: "\e085";
|
545 |
+
}
|
546 |
+
.glyphicon-info-sign:before {
|
547 |
+
content: "\e086";
|
548 |
+
}
|
549 |
+
.glyphicon-screenshot:before {
|
550 |
+
content: "\e087";
|
551 |
+
}
|
552 |
+
.glyphicon-remove-circle:before {
|
553 |
+
content: "\e088";
|
554 |
+
}
|
555 |
+
.glyphicon-ok-circle:before {
|
556 |
+
content: "\e089";
|
557 |
+
}
|
558 |
+
.glyphicon-ban-circle:before {
|
559 |
+
content: "\e090";
|
560 |
+
}
|
561 |
+
.glyphicon-arrow-left:before {
|
562 |
+
content: "\e091";
|
563 |
+
}
|
564 |
+
.glyphicon-arrow-right:before {
|
565 |
+
content: "\e092";
|
566 |
+
}
|
567 |
+
.glyphicon-arrow-up:before {
|
568 |
+
content: "\e093";
|
569 |
+
}
|
570 |
+
.glyphicon-arrow-down:before {
|
571 |
+
content: "\e094";
|
572 |
+
}
|
573 |
+
.glyphicon-share-alt:before {
|
574 |
+
content: "\e095";
|
575 |
+
}
|
576 |
+
.glyphicon-resize-full:before {
|
577 |
+
content: "\e096";
|
578 |
+
}
|
579 |
+
.glyphicon-resize-small:before {
|
580 |
+
content: "\e097";
|
581 |
+
}
|
582 |
+
.glyphicon-exclamation-sign:before {
|
583 |
+
content: "\e101";
|
584 |
+
}
|
585 |
+
.glyphicon-gift:before {
|
586 |
+
content: "\e102";
|
587 |
+
}
|
588 |
+
.glyphicon-leaf:before {
|
589 |
+
content: "\e103";
|
590 |
+
}
|
591 |
+
.glyphicon-fire:before {
|
592 |
+
content: "\e104";
|
593 |
+
}
|
594 |
+
.glyphicon-eye-open:before {
|
595 |
+
content: "\e105";
|
596 |
+
}
|
597 |
+
.glyphicon-eye-close:before {
|
598 |
+
content: "\e106";
|
599 |
+
}
|
600 |
+
.glyphicon-warning-sign:before {
|
601 |
+
content: "\e107";
|
602 |
+
}
|
603 |
+
.glyphicon-plane:before {
|
604 |
+
content: "\e108";
|
605 |
+
}
|
606 |
+
.glyphicon-calendar:before {
|
607 |
+
content: "\e109";
|
608 |
+
}
|
609 |
+
.glyphicon-random:before {
|
610 |
+
content: "\e110";
|
611 |
+
}
|
612 |
+
.glyphicon-comment:before {
|
613 |
+
content: "\e111";
|
614 |
+
}
|
615 |
+
.glyphicon-magnet:before {
|
616 |
+
content: "\e112";
|
617 |
+
}
|
618 |
+
.glyphicon-chevron-up:before {
|
619 |
+
content: "\e113";
|
620 |
+
}
|
621 |
+
.glyphicon-chevron-down:before {
|
622 |
+
content: "\e114";
|
623 |
+
}
|
624 |
+
.glyphicon-retweet:before {
|
625 |
+
content: "\e115";
|
626 |
+
}
|
627 |
+
.glyphicon-shopping-cart:before {
|
628 |
+
content: "\e116";
|
629 |
+
}
|
630 |
+
.glyphicon-folder-close:before {
|
631 |
+
content: "\e117";
|
632 |
+
}
|
633 |
+
.glyphicon-folder-open:before {
|
634 |
+
content: "\e118";
|
635 |
+
}
|
636 |
+
.glyphicon-resize-vertical:before {
|
637 |
+
content: "\e119";
|
638 |
+
}
|
639 |
+
.glyphicon-resize-horizontal:before {
|
640 |
+
content: "\e120";
|
641 |
+
}
|
642 |
+
.glyphicon-hdd:before {
|
643 |
+
content: "\e121";
|
644 |
+
}
|
645 |
+
.glyphicon-bullhorn:before {
|
646 |
+
content: "\e122";
|
647 |
+
}
|
648 |
+
.glyphicon-bell:before {
|
649 |
+
content: "\e123";
|
650 |
+
}
|
651 |
+
.glyphicon-certificate:before {
|
652 |
+
content: "\e124";
|
653 |
+
}
|
654 |
+
.glyphicon-thumbs-up:before {
|
655 |
+
content: "\e125";
|
656 |
+
}
|
657 |
+
.glyphicon-thumbs-down:before {
|
658 |
+
content: "\e126";
|
659 |
+
}
|
660 |
+
.glyphicon-hand-right:before {
|
661 |
+
content: "\e127";
|
662 |
+
}
|
663 |
+
.glyphicon-hand-left:before {
|
664 |
+
content: "\e128";
|
665 |
+
}
|
666 |
+
.glyphicon-hand-up:before {
|
667 |
+
content: "\e129";
|
668 |
+
}
|
669 |
+
.glyphicon-hand-down:before {
|
670 |
+
content: "\e130";
|
671 |
+
}
|
672 |
+
.glyphicon-circle-arrow-right:before {
|
673 |
+
content: "\e131";
|
674 |
+
}
|
675 |
+
.glyphicon-circle-arrow-left:before {
|
676 |
+
content: "\e132";
|
677 |
+
}
|
678 |
+
.glyphicon-circle-arrow-up:before {
|
679 |
+
content: "\e133";
|
680 |
+
}
|
681 |
+
.glyphicon-circle-arrow-down:before {
|
682 |
+
content: "\e134";
|
683 |
+
}
|
684 |
+
.glyphicon-globe:before {
|
685 |
+
content: "\e135";
|
686 |
+
}
|
687 |
+
.glyphicon-wrench:before {
|
688 |
+
content: "\e136";
|
689 |
+
}
|
690 |
+
.glyphicon-tasks:before {
|
691 |
+
content: "\e137";
|
692 |
+
}
|
693 |
+
.glyphicon-filter:before {
|
694 |
+
content: "\e138";
|
695 |
+
}
|
696 |
+
.glyphicon-briefcase:before {
|
697 |
+
content: "\e139";
|
698 |
+
}
|
699 |
+
.glyphicon-fullscreen:before {
|
700 |
+
content: "\e140";
|
701 |
+
}
|
702 |
+
.glyphicon-dashboard:before {
|
703 |
+
content: "\e141";
|
704 |
+
}
|
705 |
+
.glyphicon-paperclip:before {
|
706 |
+
content: "\e142";
|
707 |
+
}
|
708 |
+
.glyphicon-heart-empty:before {
|
709 |
+
content: "\e143";
|
710 |
+
}
|
711 |
+
.glyphicon-link:before {
|
712 |
+
content: "\e144";
|
713 |
+
}
|
714 |
+
.glyphicon-phone:before {
|
715 |
+
content: "\e145";
|
716 |
+
}
|
717 |
+
.glyphicon-pushpin:before {
|
718 |
+
content: "\e146";
|
719 |
+
}
|
720 |
+
.glyphicon-usd:before {
|
721 |
+
content: "\e148";
|
722 |
+
}
|
723 |
+
.glyphicon-gbp:before {
|
724 |
+
content: "\e149";
|
725 |
+
}
|
726 |
+
.glyphicon-sort:before {
|
727 |
+
content: "\e150";
|
728 |
+
}
|
729 |
+
.glyphicon-sort-by-alphabet:before {
|
730 |
+
content: "\e151";
|
731 |
+
}
|
732 |
+
.glyphicon-sort-by-alphabet-alt:before {
|
733 |
+
content: "\e152";
|
734 |
+
}
|
735 |
+
.glyphicon-sort-by-order:before {
|
736 |
+
content: "\e153";
|
737 |
+
}
|
738 |
+
.glyphicon-sort-by-order-alt:before {
|
739 |
+
content: "\e154";
|
740 |
+
}
|
741 |
+
.glyphicon-sort-by-attributes:before {
|
742 |
+
content: "\e155";
|
743 |
+
}
|
744 |
+
.glyphicon-sort-by-attributes-alt:before {
|
745 |
+
content: "\e156";
|
746 |
+
}
|
747 |
+
.glyphicon-unchecked:before {
|
748 |
+
content: "\e157";
|
749 |
+
}
|
750 |
+
.glyphicon-expand:before {
|
751 |
+
content: "\e158";
|
752 |
+
}
|
753 |
+
.glyphicon-collapse-down:before {
|
754 |
+
content: "\e159";
|
755 |
+
}
|
756 |
+
.glyphicon-collapse-up:before {
|
757 |
+
content: "\e160";
|
758 |
+
}
|
759 |
+
.glyphicon-log-in:before {
|
760 |
+
content: "\e161";
|
761 |
+
}
|
762 |
+
.glyphicon-flash:before {
|
763 |
+
content: "\e162";
|
764 |
+
}
|
765 |
+
.glyphicon-log-out:before {
|
766 |
+
content: "\e163";
|
767 |
+
}
|
768 |
+
.glyphicon-new-window:before {
|
769 |
+
content: "\e164";
|
770 |
+
}
|
771 |
+
.glyphicon-record:before {
|
772 |
+
content: "\e165";
|
773 |
+
}
|
774 |
+
.glyphicon-save:before {
|
775 |
+
content: "\e166";
|
776 |
+
}
|
777 |
+
.glyphicon-open:before {
|
778 |
+
content: "\e167";
|
779 |
+
}
|
780 |
+
.glyphicon-saved:before {
|
781 |
+
content: "\e168";
|
782 |
+
}
|
783 |
+
.glyphicon-import:before {
|
784 |
+
content: "\e169";
|
785 |
+
}
|
786 |
+
.glyphicon-export:before {
|
787 |
+
content: "\e170";
|
788 |
+
}
|
789 |
+
.glyphicon-send:before {
|
790 |
+
content: "\e171";
|
791 |
+
}
|
792 |
+
.glyphicon-floppy-disk:before {
|
793 |
+
content: "\e172";
|
794 |
+
}
|
795 |
+
.glyphicon-floppy-saved:before {
|
796 |
+
content: "\e173";
|
797 |
+
}
|
798 |
+
.glyphicon-floppy-remove:before {
|
799 |
+
content: "\e174";
|
800 |
+
}
|
801 |
+
.glyphicon-floppy-save:before {
|
802 |
+
content: "\e175";
|
803 |
+
}
|
804 |
+
.glyphicon-floppy-open:before {
|
805 |
+
content: "\e176";
|
806 |
+
}
|
807 |
+
.glyphicon-credit-card:before {
|
808 |
+
content: "\e177";
|
809 |
+
}
|
810 |
+
.glyphicon-transfer:before {
|
811 |
+
content: "\e178";
|
812 |
+
}
|
813 |
+
.glyphicon-cutlery:before {
|
814 |
+
content: "\e179";
|
815 |
+
}
|
816 |
+
.glyphicon-header:before {
|
817 |
+
content: "\e180";
|
818 |
+
}
|
819 |
+
.glyphicon-compressed:before {
|
820 |
+
content: "\e181";
|
821 |
+
}
|
822 |
+
.glyphicon-earphone:before {
|
823 |
+
content: "\e182";
|
824 |
+
}
|
825 |
+
.glyphicon-phone-alt:before {
|
826 |
+
content: "\e183";
|
827 |
+
}
|
828 |
+
.glyphicon-tower:before {
|
829 |
+
content: "\e184";
|
830 |
+
}
|
831 |
+
.glyphicon-stats:before {
|
832 |
+
content: "\e185";
|
833 |
+
}
|
834 |
+
.glyphicon-sd-video:before {
|
835 |
+
content: "\e186";
|
836 |
+
}
|
837 |
+
.glyphicon-hd-video:before {
|
838 |
+
content: "\e187";
|
839 |
+
}
|
840 |
+
.glyphicon-subtitles:before {
|
841 |
+
content: "\e188";
|
842 |
+
}
|
843 |
+
.glyphicon-sound-stereo:before {
|
844 |
+
content: "\e189";
|
845 |
+
}
|
846 |
+
.glyphicon-sound-dolby:before {
|
847 |
+
content: "\e190";
|
848 |
+
}
|
849 |
+
.glyphicon-sound-5-1:before {
|
850 |
+
content: "\e191";
|
851 |
+
}
|
852 |
+
.glyphicon-sound-6-1:before {
|
853 |
+
content: "\e192";
|
854 |
+
}
|
855 |
+
.glyphicon-sound-7-1:before {
|
856 |
+
content: "\e193";
|
857 |
+
}
|
858 |
+
.glyphicon-copyright-mark:before {
|
859 |
+
content: "\e194";
|
860 |
+
}
|
861 |
+
.glyphicon-registration-mark:before {
|
862 |
+
content: "\e195";
|
863 |
+
}
|
864 |
+
.glyphicon-cloud-download:before {
|
865 |
+
content: "\e197";
|
866 |
+
}
|
867 |
+
.glyphicon-cloud-upload:before {
|
868 |
+
content: "\e198";
|
869 |
+
}
|
870 |
+
.glyphicon-tree-conifer:before {
|
871 |
+
content: "\e199";
|
872 |
+
}
|
873 |
+
.glyphicon-tree-deciduous:before {
|
874 |
+
content: "\e200";
|
875 |
+
}
|
876 |
+
.glyphicon-cd:before {
|
877 |
+
content: "\e201";
|
878 |
+
}
|
879 |
+
.glyphicon-save-file:before {
|
880 |
+
content: "\e202";
|
881 |
+
}
|
882 |
+
.glyphicon-open-file:before {
|
883 |
+
content: "\e203";
|
884 |
+
}
|
885 |
+
.glyphicon-level-up:before {
|
886 |
+
content: "\e204";
|
887 |
+
}
|
888 |
+
.glyphicon-copy:before {
|
889 |
+
content: "\e205";
|
890 |
+
}
|
891 |
+
.glyphicon-paste:before {
|
892 |
+
content: "\e206";
|
893 |
+
}
|
894 |
+
.glyphicon-alert:before {
|
895 |
+
content: "\e209";
|
896 |
+
}
|
897 |
+
.glyphicon-equalizer:before {
|
898 |
+
content: "\e210";
|
899 |
+
}
|
900 |
+
.glyphicon-king:before {
|
901 |
+
content: "\e211";
|
902 |
+
}
|
903 |
+
.glyphicon-queen:before {
|
904 |
+
content: "\e212";
|
905 |
+
}
|
906 |
+
.glyphicon-pawn:before {
|
907 |
+
content: "\e213";
|
908 |
+
}
|
909 |
+
.glyphicon-bishop:before {
|
910 |
+
content: "\e214";
|
911 |
+
}
|
912 |
+
.glyphicon-knight:before {
|
913 |
+
content: "\e215";
|
914 |
+
}
|
915 |
+
.glyphicon-baby-formula:before {
|
916 |
+
content: "\e216";
|
917 |
+
}
|
918 |
+
.glyphicon-tent:before {
|
919 |
+
content: "\26fa";
|
920 |
+
}
|
921 |
+
.glyphicon-blackboard:before {
|
922 |
+
content: "\e218";
|
923 |
+
}
|
924 |
+
.glyphicon-bed:before {
|
925 |
+
content: "\e219";
|
926 |
+
}
|
927 |
+
.glyphicon-apple:before {
|
928 |
+
content: "\f8ff";
|
929 |
+
}
|
930 |
+
.glyphicon-erase:before {
|
931 |
+
content: "\e221";
|
932 |
+
}
|
933 |
+
.glyphicon-hourglass:before {
|
934 |
+
content: "\231b";
|
935 |
+
}
|
936 |
+
.glyphicon-lamp:before {
|
937 |
+
content: "\e223";
|
938 |
+
}
|
939 |
+
.glyphicon-duplicate:before {
|
940 |
+
content: "\e224";
|
941 |
+
}
|
942 |
+
.glyphicon-piggy-bank:before {
|
943 |
+
content: "\e225";
|
944 |
+
}
|
945 |
+
.glyphicon-scissors:before {
|
946 |
+
content: "\e226";
|
947 |
+
}
|
948 |
+
.glyphicon-bitcoin:before {
|
949 |
+
content: "\e227";
|
950 |
+
}
|
951 |
+
.glyphicon-btc:before {
|
952 |
+
content: "\e227";
|
953 |
+
}
|
954 |
+
.glyphicon-xbt:before {
|
955 |
+
content: "\e227";
|
956 |
+
}
|
957 |
+
.glyphicon-yen:before {
|
958 |
+
content: "\00a5";
|
959 |
+
}
|
960 |
+
.glyphicon-jpy:before {
|
961 |
+
content: "\00a5";
|
962 |
+
}
|
963 |
+
.glyphicon-ruble:before {
|
964 |
+
content: "\20bd";
|
965 |
+
}
|
966 |
+
.glyphicon-rub:before {
|
967 |
+
content: "\20bd";
|
968 |
+
}
|
969 |
+
.glyphicon-scale:before {
|
970 |
+
content: "\e230";
|
971 |
+
}
|
972 |
+
.glyphicon-ice-lolly:before {
|
973 |
+
content: "\e231";
|
974 |
+
}
|
975 |
+
.glyphicon-ice-lolly-tasted:before {
|
976 |
+
content: "\e232";
|
977 |
+
}
|
978 |
+
.glyphicon-education:before {
|
979 |
+
content: "\e233";
|
980 |
+
}
|
981 |
+
.glyphicon-option-horizontal:before {
|
982 |
+
content: "\e234";
|
983 |
+
}
|
984 |
+
.glyphicon-option-vertical:before {
|
985 |
+
content: "\e235";
|
986 |
+
}
|
987 |
+
.glyphicon-menu-hamburger:before {
|
988 |
+
content: "\e236";
|
989 |
+
}
|
990 |
+
.glyphicon-modal-window:before {
|
991 |
+
content: "\e237";
|
992 |
+
}
|
993 |
+
.glyphicon-oil:before {
|
994 |
+
content: "\e238";
|
995 |
+
}
|
996 |
+
.glyphicon-grain:before {
|
997 |
+
content: "\e239";
|
998 |
+
}
|
999 |
+
.glyphicon-sunglasses:before {
|
1000 |
+
content: "\e240";
|
1001 |
+
}
|
1002 |
+
.glyphicon-text-size:before {
|
1003 |
+
content: "\e241";
|
1004 |
+
}
|
1005 |
+
.glyphicon-text-color:before {
|
1006 |
+
content: "\e242";
|
1007 |
+
}
|
1008 |
+
.glyphicon-text-background:before {
|
1009 |
+
content: "\e243";
|
1010 |
+
}
|
1011 |
+
.glyphicon-object-align-top:before {
|
1012 |
+
content: "\e244";
|
1013 |
+
}
|
1014 |
+
.glyphicon-object-align-bottom:before {
|
1015 |
+
content: "\e245";
|
1016 |
+
}
|
1017 |
+
.glyphicon-object-align-horizontal:before {
|
1018 |
+
content: "\e246";
|
1019 |
+
}
|
1020 |
+
.glyphicon-object-align-left:before {
|
1021 |
+
content: "\e247";
|
1022 |
+
}
|
1023 |
+
.glyphicon-object-align-vertical:before {
|
1024 |
+
content: "\e248";
|
1025 |
+
}
|
1026 |
+
.glyphicon-object-align-right:before {
|
1027 |
+
content: "\e249";
|
1028 |
+
}
|
1029 |
+
.glyphicon-triangle-right:before {
|
1030 |
+
content: "\e250";
|
1031 |
+
}
|
1032 |
+
.glyphicon-triangle-left:before {
|
1033 |
+
content: "\e251";
|
1034 |
+
}
|
1035 |
+
.glyphicon-triangle-bottom:before {
|
1036 |
+
content: "\e252";
|
1037 |
+
}
|
1038 |
+
.glyphicon-triangle-top:before {
|
1039 |
+
content: "\e253";
|
1040 |
+
}
|
1041 |
+
.glyphicon-console:before {
|
1042 |
+
content: "\e254";
|
1043 |
+
}
|
1044 |
+
.glyphicon-superscript:before {
|
1045 |
+
content: "\e255";
|
1046 |
+
}
|
1047 |
+
.glyphicon-subscript:before {
|
1048 |
+
content: "\e256";
|
1049 |
+
}
|
1050 |
+
.glyphicon-menu-left:before {
|
1051 |
+
content: "\e257";
|
1052 |
+
}
|
1053 |
+
.glyphicon-menu-right:before {
|
1054 |
+
content: "\e258";
|
1055 |
+
}
|
1056 |
+
.glyphicon-menu-down:before {
|
1057 |
+
content: "\e259";
|
1058 |
+
}
|
1059 |
+
.glyphicon-menu-up:before {
|
1060 |
+
content: "\e260";
|
1061 |
+
}
|
1062 |
+
* {
|
1063 |
+
-webkit-box-sizing: border-box;
|
1064 |
+
-moz-box-sizing: border-box;
|
1065 |
+
box-sizing: border-box;
|
1066 |
+
}
|
1067 |
+
*:before,
|
1068 |
+
*:after {
|
1069 |
+
-webkit-box-sizing: border-box;
|
1070 |
+
-moz-box-sizing: border-box;
|
1071 |
+
box-sizing: border-box;
|
1072 |
+
}
|
1073 |
+
|
1074 |
+
input,
|
1075 |
+
button,
|
1076 |
+
select,
|
1077 |
+
textarea {
|
1078 |
+
font-family: inherit;
|
1079 |
+
font-size: inherit;
|
1080 |
+
line-height: inherit;
|
1081 |
+
}
|
1082 |
+
|
1083 |
+
figure {
|
1084 |
+
margin: 0;
|
1085 |
+
}
|
1086 |
+
img {
|
1087 |
+
vertical-align: middle;
|
1088 |
+
}
|
1089 |
+
.img-responsive,
|
1090 |
+
.thumbnail > img,
|
1091 |
+
.thumbnail a > img,
|
1092 |
+
.carousel-inner > .item > img,
|
1093 |
+
.carousel-inner > .item > a > img {
|
1094 |
+
display: block;
|
1095 |
+
max-width: 100%;
|
1096 |
+
height: auto;
|
1097 |
+
}
|
1098 |
+
.img-rounded {
|
1099 |
+
border-radius: 6px;
|
1100 |
+
}
|
1101 |
+
.img-thumbnail {
|
1102 |
+
padding: 4px;
|
1103 |
+
line-height: 1.42857143;
|
1104 |
+
background-color: #ffffff;
|
1105 |
+
border: 1px solid #dddddd;
|
1106 |
+
border-radius: 4px;
|
1107 |
+
-webkit-transition: all 0.2s ease-in-out;
|
1108 |
+
-o-transition: all 0.2s ease-in-out;
|
1109 |
+
transition: all 0.2s ease-in-out;
|
1110 |
+
display: inline-block;
|
1111 |
+
max-width: 100%;
|
1112 |
+
height: auto;
|
1113 |
+
}
|
1114 |
+
.img-circle {
|
1115 |
+
border-radius: 50%;
|
1116 |
+
}
|
1117 |
+
hr {
|
1118 |
+
margin-top: 20px;
|
1119 |
+
margin-bottom: 20px;
|
1120 |
+
border: 0;
|
1121 |
+
border-top: 1px solid #eeeeee;
|
1122 |
+
}
|
1123 |
+
.sr-only {
|
1124 |
+
position: absolute;
|
1125 |
+
width: 1px;
|
1126 |
+
height: 1px;
|
1127 |
+
margin: -1px;
|
1128 |
+
padding: 0;
|
1129 |
+
overflow: hidden;
|
1130 |
+
clip: rect(0, 0, 0, 0);
|
1131 |
+
border: 0;
|
1132 |
+
}
|
1133 |
+
.sr-only-focusable:active,
|
1134 |
+
.sr-only-focusable:focus {
|
1135 |
+
position: static;
|
1136 |
+
width: auto;
|
1137 |
+
height: auto;
|
1138 |
+
margin: 0;
|
1139 |
+
overflow: visible;
|
1140 |
+
clip: auto;
|
1141 |
+
}
|
1142 |
+
[role="button"] {
|
1143 |
+
cursor: pointer;
|
1144 |
+
}
|
1145 |
+
code,
|
1146 |
+
kbd,
|
1147 |
+
pre,
|
1148 |
+
samp {
|
1149 |
+
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
1150 |
+
}
|
1151 |
+
code {
|
1152 |
+
padding: 2px 4px;
|
1153 |
+
font-size: 90%;
|
1154 |
+
color: #c7254e;
|
1155 |
+
background-color: #f9f2f4;
|
1156 |
+
border-radius: 4px;
|
1157 |
+
}
|
1158 |
+
kbd {
|
1159 |
+
padding: 2px 4px;
|
1160 |
+
font-size: 90%;
|
1161 |
+
color: #ffffff;
|
1162 |
+
background-color: #333333;
|
1163 |
+
border-radius: 3px;
|
1164 |
+
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
|
1165 |
+
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
|
1166 |
+
}
|
1167 |
+
kbd kbd {
|
1168 |
+
padding: 0;
|
1169 |
+
font-size: 100%;
|
1170 |
+
font-weight: bold;
|
1171 |
+
-webkit-box-shadow: none;
|
1172 |
+
box-shadow: none;
|
1173 |
+
}
|
1174 |
+
pre {
|
1175 |
+
display: block;
|
1176 |
+
padding: 9.5px;
|
1177 |
+
margin: 0 0 10px;
|
1178 |
+
font-size: 13px;
|
1179 |
+
line-height: 1.42857143;
|
1180 |
+
word-break: break-all;
|
1181 |
+
word-wrap: break-word;
|
1182 |
+
color: #333333;
|
1183 |
+
background-color: #f5f5f5;
|
1184 |
+
border: 1px solid #cccccc;
|
1185 |
+
border-radius: 4px;
|
1186 |
+
}
|
1187 |
+
pre code {
|
1188 |
+
padding: 0;
|
1189 |
+
font-size: inherit;
|
1190 |
+
color: inherit;
|
1191 |
+
white-space: pre-wrap;
|
1192 |
+
background-color: transparent;
|
1193 |
+
border-radius: 0;
|
1194 |
+
}
|
1195 |
+
.pre-scrollable {
|
1196 |
+
max-height: 340px;
|
1197 |
+
overflow-y: scroll;
|
1198 |
+
}
|
1199 |
+
.container {
|
1200 |
+
margin-right: auto;
|
1201 |
+
margin-left: auto;
|
1202 |
+
padding-left: 15px;
|
1203 |
+
padding-right: 15px;
|
1204 |
+
}
|
1205 |
+
@media (min-width: 768px) {
|
1206 |
+
.container {
|
1207 |
+
width: 750px;
|
1208 |
+
}
|
1209 |
+
}
|
1210 |
+
@media (min-width: 992px) {
|
1211 |
+
.container {
|
1212 |
+
width: 970px;
|
1213 |
+
}
|
1214 |
+
}
|
1215 |
+
@media (min-width: 1200px) {
|
1216 |
+
.container {
|
1217 |
+
width: 1170px;
|
1218 |
+
}
|
1219 |
+
}
|
1220 |
+
.container-fluid {
|
1221 |
+
margin-right: auto;
|
1222 |
+
margin-left: auto;
|
1223 |
+
padding-left: 15px;
|
1224 |
+
padding-right: 15px;
|
1225 |
+
}
|
1226 |
+
.row {
|
1227 |
+
margin-left: -15px;
|
1228 |
+
margin-right: -15px;
|
1229 |
+
}
|
1230 |
+
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
|
1231 |
+
position: relative;
|
1232 |
+
min-height: 1px;
|
1233 |
+
padding-left: 15px;
|
1234 |
+
padding-right: 15px;
|
1235 |
+
}
|
1236 |
+
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
|
1237 |
+
float: left;
|
1238 |
+
}
|
1239 |
+
.col-xs-12 {
|
1240 |
+
width: 100%;
|
1241 |
+
}
|
1242 |
+
.col-xs-11 {
|
1243 |
+
width: 91.66666667%;
|
1244 |
+
}
|
1245 |
+
.col-xs-10 {
|
1246 |
+
width: 83.33333333%;
|
1247 |
+
}
|
1248 |
+
.col-xs-9 {
|
1249 |
+
width: 75%;
|
1250 |
+
}
|
1251 |
+
.col-xs-8 {
|
1252 |
+
width: 66.66666667%;
|
1253 |
+
}
|
1254 |
+
.col-xs-7 {
|
1255 |
+
width: 58.33333333%;
|
1256 |
+
}
|
1257 |
+
.col-xs-6 {
|
1258 |
+
width: 50%;
|
1259 |
+
}
|
1260 |
+
.col-xs-5 {
|
1261 |
+
width: 41.66666667%;
|
1262 |
+
}
|
1263 |
+
.col-xs-4 {
|
1264 |
+
width: 33.33333333%;
|
1265 |
+
}
|
1266 |
+
.col-xs-3 {
|
1267 |
+
width: 25%;
|
1268 |
+
}
|
1269 |
+
.col-xs-2 {
|
1270 |
+
width: 16.66666667%;
|
1271 |
+
}
|
1272 |
+
.col-xs-1 {
|
1273 |
+
width: 8.33333333%;
|
1274 |
+
}
|
1275 |
+
.col-xs-pull-12 {
|
1276 |
+
right: 100%;
|
1277 |
+
}
|
1278 |
+
.col-xs-pull-11 {
|
1279 |
+
right: 91.66666667%;
|
1280 |
+
}
|
1281 |
+
.col-xs-pull-10 {
|
1282 |
+
right: 83.33333333%;
|
1283 |
+
}
|
1284 |
+
.col-xs-pull-9 {
|
1285 |
+
right: 75%;
|
1286 |
+
}
|
1287 |
+
.col-xs-pull-8 {
|
1288 |
+
right: 66.66666667%;
|
1289 |
+
}
|
1290 |
+
.col-xs-pull-7 {
|
1291 |
+
right: 58.33333333%;
|
1292 |
+
}
|
1293 |
+
.col-xs-pull-6 {
|
1294 |
+
right: 50%;
|
1295 |
+
}
|
1296 |
+
.col-xs-pull-5 {
|
1297 |
+
right: 41.66666667%;
|
1298 |
+
}
|
1299 |
+
.col-xs-pull-4 {
|
1300 |
+
right: 33.33333333%;
|
1301 |
+
}
|
1302 |
+
.col-xs-pull-3 {
|
1303 |
+
right: 25%;
|
1304 |
+
}
|
1305 |
+
.col-xs-pull-2 {
|
1306 |
+
right: 16.66666667%;
|
1307 |
+
}
|
1308 |
+
.col-xs-pull-1 {
|
1309 |
+
right: 8.33333333%;
|
1310 |
+
}
|
1311 |
+
.col-xs-pull-0 {
|
1312 |
+
right: auto;
|
1313 |
+
}
|
1314 |
+
.col-xs-push-12 {
|
1315 |
+
left: 100%;
|
1316 |
+
}
|
1317 |
+
.col-xs-push-11 {
|
1318 |
+
left: 91.66666667%;
|
1319 |
+
}
|
1320 |
+
.col-xs-push-10 {
|
1321 |
+
left: 83.33333333%;
|
1322 |
+
}
|
1323 |
+
.col-xs-push-9 {
|
1324 |
+
left: 75%;
|
1325 |
+
}
|
1326 |
+
.col-xs-push-8 {
|
1327 |
+
left: 66.66666667%;
|
1328 |
+
}
|
1329 |
+
.col-xs-push-7 {
|
1330 |
+
left: 58.33333333%;
|
1331 |
+
}
|
1332 |
+
.col-xs-push-6 {
|
1333 |
+
left: 50%;
|
1334 |
+
}
|
1335 |
+
.col-xs-push-5 {
|
1336 |
+
left: 41.66666667%;
|
1337 |
+
}
|
1338 |
+
.col-xs-push-4 {
|
1339 |
+
left: 33.33333333%;
|
1340 |
+
}
|
1341 |
+
.col-xs-push-3 {
|
1342 |
+
left: 25%;
|
1343 |
+
}
|
1344 |
+
.col-xs-push-2 {
|
1345 |
+
left: 16.66666667%;
|
1346 |
+
}
|
1347 |
+
.col-xs-push-1 {
|
1348 |
+
left: 8.33333333%;
|
1349 |
+
}
|
1350 |
+
.col-xs-push-0 {
|
1351 |
+
left: auto;
|
1352 |
+
}
|
1353 |
+
.col-xs-offset-12 {
|
1354 |
+
margin-left: 100%;
|
1355 |
+
}
|
1356 |
+
.col-xs-offset-11 {
|
1357 |
+
margin-left: 91.66666667%;
|
1358 |
+
}
|
1359 |
+
.col-xs-offset-10 {
|
1360 |
+
margin-left: 83.33333333%;
|
1361 |
+
}
|
1362 |
+
.col-xs-offset-9 {
|
1363 |
+
margin-left: 75%;
|
1364 |
+
}
|
1365 |
+
.col-xs-offset-8 {
|
1366 |
+
margin-left: 66.66666667%;
|
1367 |
+
}
|
1368 |
+
.col-xs-offset-7 {
|
1369 |
+
margin-left: 58.33333333%;
|
1370 |
+
}
|
1371 |
+
.col-xs-offset-6 {
|
1372 |
+
margin-left: 50%;
|
1373 |
+
}
|
1374 |
+
.col-xs-offset-5 {
|
1375 |
+
margin-left: 41.66666667%;
|
1376 |
+
}
|
1377 |
+
.col-xs-offset-4 {
|
1378 |
+
margin-left: 33.33333333%;
|
1379 |
+
}
|
1380 |
+
.col-xs-offset-3 {
|
1381 |
+
margin-left: 25%;
|
1382 |
+
}
|
1383 |
+
.col-xs-offset-2 {
|
1384 |
+
margin-left: 16.66666667%;
|
1385 |
+
}
|
1386 |
+
.col-xs-offset-1 {
|
1387 |
+
margin-left: 8.33333333%;
|
1388 |
+
}
|
1389 |
+
.col-xs-offset-0 {
|
1390 |
+
margin-left: 0%;
|
1391 |
+
}
|
1392 |
+
@media (min-width: 768px) {
|
1393 |
+
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
|
1394 |
+
float: left;
|
1395 |
+
}
|
1396 |
+
.col-sm-12 {
|
1397 |
+
width: 100%;
|
1398 |
+
}
|
1399 |
+
.col-sm-11 {
|
1400 |
+
width: 91.66666667%;
|
1401 |
+
}
|
1402 |
+
.col-sm-10 {
|
1403 |
+
width: 83.33333333%;
|
1404 |
+
}
|
1405 |
+
.col-sm-9 {
|
1406 |
+
width: 75%;
|
1407 |
+
}
|
1408 |
+
.col-sm-8 {
|
1409 |
+
width: 66.66666667%;
|
1410 |
+
}
|
1411 |
+
.col-sm-7 {
|
1412 |
+
width: 58.33333333%;
|
1413 |
+
}
|
1414 |
+
.col-sm-6 {
|
1415 |
+
width: 50%;
|
1416 |
+
}
|
1417 |
+
.col-sm-5 {
|
1418 |
+
width: 41.66666667%;
|
1419 |
+
}
|
1420 |
+
.col-sm-4 {
|
1421 |
+
width: 33.33333333%;
|
1422 |
+
}
|
1423 |
+
.col-sm-3 {
|
1424 |
+
width: 25%;
|
1425 |
+
}
|
1426 |
+
.col-sm-2 {
|
1427 |
+
width: 16.66666667%;
|
1428 |
+
}
|
1429 |
+
.col-sm-1 {
|
1430 |
+
width: 8.33333333%;
|
1431 |
+
}
|
1432 |
+
.col-sm-pull-12 {
|
1433 |
+
right: 100%;
|
1434 |
+
}
|
1435 |
+
.col-sm-pull-11 {
|
1436 |
+
right: 91.66666667%;
|
1437 |
+
}
|
1438 |
+
.col-sm-pull-10 {
|
1439 |
+
right: 83.33333333%;
|
1440 |
+
}
|
1441 |
+
.col-sm-pull-9 {
|
1442 |
+
right: 75%;
|
1443 |
+
}
|
1444 |
+
.col-sm-pull-8 {
|
1445 |
+
right: 66.66666667%;
|
1446 |
+
}
|
1447 |
+
.col-sm-pull-7 {
|
1448 |
+
right: 58.33333333%;
|
1449 |
+
}
|
1450 |
+
.col-sm-pull-6 {
|
1451 |
+
right: 50%;
|
1452 |
+
}
|
1453 |
+
.col-sm-pull-5 {
|
1454 |
+
right: 41.66666667%;
|
1455 |
+
}
|
1456 |
+
.col-sm-pull-4 {
|
1457 |
+
right: 33.33333333%;
|
1458 |
+
}
|
1459 |
+
.col-sm-pull-3 {
|
1460 |
+
right: 25%;
|
1461 |
+
}
|
1462 |
+
.col-sm-pull-2 {
|
1463 |
+
right: 16.66666667%;
|
1464 |
+
}
|
1465 |
+
.col-sm-pull-1 {
|
1466 |
+
right: 8.33333333%;
|
1467 |
+
}
|
1468 |
+
.col-sm-pull-0 {
|
1469 |
+
right: auto;
|
1470 |
+
}
|
1471 |
+
.col-sm-push-12 {
|
1472 |
+
left: 100%;
|
1473 |
+
}
|
1474 |
+
.col-sm-push-11 {
|
1475 |
+
left: 91.66666667%;
|
1476 |
+
}
|
1477 |
+
.col-sm-push-10 {
|
1478 |
+
left: 83.33333333%;
|
1479 |
+
}
|
1480 |
+
.col-sm-push-9 {
|
1481 |
+
left: 75%;
|
1482 |
+
}
|
1483 |
+
.col-sm-push-8 {
|
1484 |
+
left: 66.66666667%;
|
1485 |
+
}
|
1486 |
+
.col-sm-push-7 {
|
1487 |
+
left: 58.33333333%;
|
1488 |
+
}
|
1489 |
+
.col-sm-push-6 {
|
1490 |
+
left: 50%;
|
1491 |
+
}
|
1492 |
+
.col-sm-push-5 {
|
1493 |
+
left: 41.66666667%;
|
1494 |
+
}
|
1495 |
+
.col-sm-push-4 {
|
1496 |
+
left: 33.33333333%;
|
1497 |
+
}
|
1498 |
+
.col-sm-push-3 {
|
1499 |
+
left: 25%;
|
1500 |
+
}
|
1501 |
+
.col-sm-push-2 {
|
1502 |
+
left: 16.66666667%;
|
1503 |
+
}
|
1504 |
+
.col-sm-push-1 {
|
1505 |
+
left: 8.33333333%;
|
1506 |
+
}
|
1507 |
+
.col-sm-push-0 {
|
1508 |
+
left: auto;
|
1509 |
+
}
|
1510 |
+
.col-sm-offset-12 {
|
1511 |
+
margin-left: 100%;
|
1512 |
+
}
|
1513 |
+
.col-sm-offset-11 {
|
1514 |
+
margin-left: 91.66666667%;
|
1515 |
+
}
|
1516 |
+
.col-sm-offset-10 {
|
1517 |
+
margin-left: 83.33333333%;
|
1518 |
+
}
|
1519 |
+
.col-sm-offset-9 {
|
1520 |
+
margin-left: 75%;
|
1521 |
+
}
|
1522 |
+
.col-sm-offset-8 {
|
1523 |
+
margin-left: 66.66666667%;
|
1524 |
+
}
|
1525 |
+
.col-sm-offset-7 {
|
1526 |
+
margin-left: 58.33333333%;
|
1527 |
+
}
|
1528 |
+
.col-sm-offset-6 {
|
1529 |
+
margin-left: 50%;
|
1530 |
+
}
|
1531 |
+
.col-sm-offset-5 {
|
1532 |
+
margin-left: 41.66666667%;
|
1533 |
+
}
|
1534 |
+
.col-sm-offset-4 {
|
1535 |
+
margin-left: 33.33333333%;
|
1536 |
+
}
|
1537 |
+
.col-sm-offset-3 {
|
1538 |
+
margin-left: 25%;
|
1539 |
+
}
|
1540 |
+
.col-sm-offset-2 {
|
1541 |
+
margin-left: 16.66666667%;
|
1542 |
+
}
|
1543 |
+
.col-sm-offset-1 {
|
1544 |
+
margin-left: 8.33333333%;
|
1545 |
+
}
|
1546 |
+
.col-sm-offset-0 {
|
1547 |
+
margin-left: 0%;
|
1548 |
+
}
|
1549 |
+
}
|
1550 |
+
@media (min-width: 992px) {
|
1551 |
+
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
|
1552 |
+
float: left;
|
1553 |
+
}
|
1554 |
+
.col-md-12 {
|
1555 |
+
width: 100%;
|
1556 |
+
}
|
1557 |
+
.col-md-11 {
|
1558 |
+
width: 91.66666667%;
|
1559 |
+
}
|
1560 |
+
.col-md-10 {
|
1561 |
+
width: 83.33333333%;
|
1562 |
+
}
|
1563 |
+
.col-md-9 {
|
1564 |
+
width: 75%;
|
1565 |
+
}
|
1566 |
+
.col-md-8 {
|
1567 |
+
width: 66.66666667%;
|
1568 |
+
}
|
1569 |
+
.col-md-7 {
|
1570 |
+
width: 58.33333333%;
|
1571 |
+
}
|
1572 |
+
.col-md-6 {
|
1573 |
+
width: 50%;
|
1574 |
+
}
|
1575 |
+
.col-md-5 {
|
1576 |
+
width: 41.66666667%;
|
1577 |
+
}
|
1578 |
+
.col-md-4 {
|
1579 |
+
width: 33.33333333%;
|
1580 |
+
}
|
1581 |
+
.col-md-3 {
|
1582 |
+
width: 25%;
|
1583 |
+
}
|
1584 |
+
.col-md-2 {
|
1585 |
+
width: 16.66666667%;
|
1586 |
+
}
|
1587 |
+
.col-md-1 {
|
1588 |
+
width: 8.33333333%;
|
1589 |
+
}
|
1590 |
+
.col-md-pull-12 {
|
1591 |
+
right: 100%;
|
1592 |
+
}
|
1593 |
+
.col-md-pull-11 {
|
1594 |
+
right: 91.66666667%;
|
1595 |
+
}
|
1596 |
+
.col-md-pull-10 {
|
1597 |
+
right: 83.33333333%;
|
1598 |
+
}
|
1599 |
+
.col-md-pull-9 {
|
1600 |
+
right: 75%;
|
1601 |
+
}
|
1602 |
+
.col-md-pull-8 {
|
1603 |
+
right: 66.66666667%;
|
1604 |
+
}
|
1605 |
+
.col-md-pull-7 {
|
1606 |
+
right: 58.33333333%;
|
1607 |
+
}
|
1608 |
+
.col-md-pull-6 {
|
1609 |
+
right: 50%;
|
1610 |
+
}
|
1611 |
+
.col-md-pull-5 {
|
1612 |
+
right: 41.66666667%;
|
1613 |
+
}
|
1614 |
+
.col-md-pull-4 {
|
1615 |
+
right: 33.33333333%;
|
1616 |
+
}
|
1617 |
+
.col-md-pull-3 {
|
1618 |
+
right: 25%;
|
1619 |
+
}
|
1620 |
+
.col-md-pull-2 {
|
1621 |
+
right: 16.66666667%;
|
1622 |
+
}
|
1623 |
+
.col-md-pull-1 {
|
1624 |
+
right: 8.33333333%;
|
1625 |
+
}
|
1626 |
+
.col-md-pull-0 {
|
1627 |
+
right: auto;
|
1628 |
+
}
|
1629 |
+
.col-md-push-12 {
|
1630 |
+
left: 100%;
|
1631 |
+
}
|
1632 |
+
.col-md-push-11 {
|
1633 |
+
left: 91.66666667%;
|
1634 |
+
}
|
1635 |
+
.col-md-push-10 {
|
1636 |
+
left: 83.33333333%;
|
1637 |
+
}
|
1638 |
+
.col-md-push-9 {
|
1639 |
+
left: 75%;
|
1640 |
+
}
|
1641 |
+
.col-md-push-8 {
|
1642 |
+
left: 66.66666667%;
|
1643 |
+
}
|
1644 |
+
.col-md-push-7 {
|
1645 |
+
left: 58.33333333%;
|
1646 |
+
}
|
1647 |
+
.col-md-push-6 {
|
1648 |
+
left: 50%;
|
1649 |
+
}
|
1650 |
+
.col-md-push-5 {
|
1651 |
+
left: 41.66666667%;
|
1652 |
+
}
|
1653 |
+
.col-md-push-4 {
|
1654 |
+
left: 33.33333333%;
|
1655 |
+
}
|
1656 |
+
.col-md-push-3 {
|
1657 |
+
left: 25%;
|
1658 |
+
}
|
1659 |
+
.col-md-push-2 {
|
1660 |
+
left: 16.66666667%;
|
1661 |
+
}
|
1662 |
+
.col-md-push-1 {
|
1663 |
+
left: 8.33333333%;
|
1664 |
+
}
|
1665 |
+
.col-md-push-0 {
|
1666 |
+
left: auto;
|
1667 |
+
}
|
1668 |
+
.col-md-offset-12 {
|
1669 |
+
margin-left: 100%;
|
1670 |
+
}
|
1671 |
+
.col-md-offset-11 {
|
1672 |
+
margin-left: 91.66666667%;
|
1673 |
+
}
|
1674 |
+
.col-md-offset-10 {
|
1675 |
+
margin-left: 83.33333333%;
|
1676 |
+
}
|
1677 |
+
.col-md-offset-9 {
|
1678 |
+
margin-left: 75%;
|
1679 |
+
}
|
1680 |
+
.col-md-offset-8 {
|
1681 |
+
margin-left: 66.66666667%;
|
1682 |
+
}
|
1683 |
+
.col-md-offset-7 {
|
1684 |
+
margin-left: 58.33333333%;
|
1685 |
+
}
|
1686 |
+
.col-md-offset-6 {
|
1687 |
+
margin-left: 50%;
|
1688 |
+
}
|
1689 |
+
.col-md-offset-5 {
|
1690 |
+
margin-left: 41.66666667%;
|
1691 |
+
}
|
1692 |
+
.col-md-offset-4 {
|
1693 |
+
margin-left: 33.33333333%;
|
1694 |
+
}
|
1695 |
+
.col-md-offset-3 {
|
1696 |
+
margin-left: 25%;
|
1697 |
+
}
|
1698 |
+
.col-md-offset-2 {
|
1699 |
+
margin-left: 16.66666667%;
|
1700 |
+
}
|
1701 |
+
.col-md-offset-1 {
|
1702 |
+
margin-left: 8.33333333%;
|
1703 |
+
}
|
1704 |
+
.col-md-offset-0 {
|
1705 |
+
margin-left: 0%;
|
1706 |
+
}
|
1707 |
+
}
|
1708 |
+
@media (min-width: 1200px) {
|
1709 |
+
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
|
1710 |
+
float: left;
|
1711 |
+
}
|
1712 |
+
.col-lg-12 {
|
1713 |
+
width: 100%;
|
1714 |
+
}
|
1715 |
+
.col-lg-11 {
|
1716 |
+
width: 91.66666667%;
|
1717 |
+
}
|
1718 |
+
.col-lg-10 {
|
1719 |
+
width: 83.33333333%;
|
1720 |
+
}
|
1721 |
+
.col-lg-9 {
|
1722 |
+
width: 75%;
|
1723 |
+
}
|
1724 |
+
.col-lg-8 {
|
1725 |
+
width: 66.66666667%;
|
1726 |
+
}
|
1727 |
+
.col-lg-7 {
|
1728 |
+
width: 58.33333333%;
|
1729 |
+
}
|
1730 |
+
.col-lg-6 {
|
1731 |
+
width: 50%;
|
1732 |
+
}
|
1733 |
+
.col-lg-5 {
|
1734 |
+
width: 41.66666667%;
|
1735 |
+
}
|
1736 |
+
.col-lg-4 {
|
1737 |
+
width: 33.33333333%;
|
1738 |
+
}
|
1739 |
+
.col-lg-3 {
|
1740 |
+
width: 25%;
|
1741 |
+
}
|
1742 |
+
.col-lg-2 {
|
1743 |
+
width: 16.66666667%;
|
1744 |
+
}
|
1745 |
+
.col-lg-1 {
|
1746 |
+
width: 8.33333333%;
|
1747 |
+
}
|
1748 |
+
.col-lg-pull-12 {
|
1749 |
+
right: 100%;
|
1750 |
+
}
|
1751 |
+
.col-lg-pull-11 {
|
1752 |
+
right: 91.66666667%;
|
1753 |
+
}
|
1754 |
+
.col-lg-pull-10 {
|
1755 |
+
right: 83.33333333%;
|
1756 |
+
}
|
1757 |
+
.col-lg-pull-9 {
|
1758 |
+
right: 75%;
|
1759 |
+
}
|
1760 |
+
.col-lg-pull-8 {
|
1761 |
+
right: 66.66666667%;
|
1762 |
+
}
|
1763 |
+
.col-lg-pull-7 {
|
1764 |
+
right: 58.33333333%;
|
1765 |
+
}
|
1766 |
+
.col-lg-pull-6 {
|
1767 |
+
right: 50%;
|
1768 |
+
}
|
1769 |
+
.col-lg-pull-5 {
|
1770 |
+
right: 41.66666667%;
|
1771 |
+
}
|
1772 |
+
.col-lg-pull-4 {
|
1773 |
+
right: 33.33333333%;
|
1774 |
+
}
|
1775 |
+
.col-lg-pull-3 {
|
1776 |
+
right: 25%;
|
1777 |
+
}
|
1778 |
+
.col-lg-pull-2 {
|
1779 |
+
right: 16.66666667%;
|
1780 |
+
}
|
1781 |
+
.col-lg-pull-1 {
|
1782 |
+
right: 8.33333333%;
|
1783 |
+
}
|
1784 |
+
.col-lg-pull-0 {
|
1785 |
+
right: auto;
|
1786 |
+
}
|
1787 |
+
.col-lg-push-12 {
|
1788 |
+
left: 100%;
|
1789 |
+
}
|
1790 |
+
.col-lg-push-11 {
|
1791 |
+
left: 91.66666667%;
|
1792 |
+
}
|
1793 |
+
.col-lg-push-10 {
|
1794 |
+
left: 83.33333333%;
|
1795 |
+
}
|
1796 |
+
.col-lg-push-9 {
|
1797 |
+
left: 75%;
|
1798 |
+
}
|
1799 |
+
.col-lg-push-8 {
|
1800 |
+
left: 66.66666667%;
|
1801 |
+
}
|
1802 |
+
.col-lg-push-7 {
|
1803 |
+
left: 58.33333333%;
|
1804 |
+
}
|
1805 |
+
.col-lg-push-6 {
|
1806 |
+
left: 50%;
|
1807 |
+
}
|
1808 |
+
.col-lg-push-5 {
|
1809 |
+
left: 41.66666667%;
|
1810 |
+
}
|
1811 |
+
.col-lg-push-4 {
|
1812 |
+
left: 33.33333333%;
|
1813 |
+
}
|
1814 |
+
.col-lg-push-3 {
|
1815 |
+
left: 25%;
|
1816 |
+
}
|
1817 |
+
.col-lg-push-2 {
|
1818 |
+
left: 16.66666667%;
|
1819 |
+
}
|
1820 |
+
.col-lg-push-1 {
|
1821 |
+
left: 8.33333333%;
|
1822 |
+
}
|
1823 |
+
.col-lg-push-0 {
|
1824 |
+
left: auto;
|
1825 |
+
}
|
1826 |
+
.col-lg-offset-12 {
|
1827 |
+
margin-left: 100%;
|
1828 |
+
}
|
1829 |
+
.col-lg-offset-11 {
|
1830 |
+
margin-left: 91.66666667%;
|
1831 |
+
}
|
1832 |
+
.col-lg-offset-10 {
|
1833 |
+
margin-left: 83.33333333%;
|
1834 |
+
}
|
1835 |
+
.col-lg-offset-9 {
|
1836 |
+
margin-left: 75%;
|
1837 |
+
}
|
1838 |
+
.col-lg-offset-8 {
|
1839 |
+
margin-left: 66.66666667%;
|
1840 |
+
}
|
1841 |
+
.col-lg-offset-7 {
|
1842 |
+
margin-left: 58.33333333%;
|
1843 |
+
}
|
1844 |
+
.col-lg-offset-6 {
|
1845 |
+
margin-left: 50%;
|
1846 |
+
}
|
1847 |
+
.col-lg-offset-5 {
|
1848 |
+
margin-left: 41.66666667%;
|
1849 |
+
}
|
1850 |
+
.col-lg-offset-4 {
|
1851 |
+
margin-left: 33.33333333%;
|
1852 |
+
}
|
1853 |
+
.col-lg-offset-3 {
|
1854 |
+
margin-left: 25%;
|
1855 |
+
}
|
1856 |
+
.col-lg-offset-2 {
|
1857 |
+
margin-left: 16.66666667%;
|
1858 |
+
}
|
1859 |
+
.col-lg-offset-1 {
|
1860 |
+
margin-left: 8.33333333%;
|
1861 |
+
}
|
1862 |
+
.col-lg-offset-0 {
|
1863 |
+
margin-left: 0%;
|
1864 |
+
}
|
1865 |
+
}
|
1866 |
+
table {
|
1867 |
+
background-color: transparent;
|
1868 |
+
}
|
1869 |
+
caption {
|
1870 |
+
padding-top: 8px;
|
1871 |
+
padding-bottom: 8px;
|
1872 |
+
color: #777777;
|
1873 |
+
text-align: left;
|
1874 |
+
}
|
1875 |
+
th {
|
1876 |
+
text-align: left;
|
1877 |
+
}
|
1878 |
+
.table {
|
1879 |
+
width: 100%;
|
1880 |
+
max-width: 100%;
|
1881 |
+
margin-bottom: 20px;
|
1882 |
+
}
|
1883 |
+
.table > thead > tr > th,
|
1884 |
+
.table > tbody > tr > th,
|
1885 |
+
.table > tfoot > tr > th,
|
1886 |
+
.table > thead > tr > td,
|
1887 |
+
.table > tbody > tr > td,
|
1888 |
+
.table > tfoot > tr > td {
|
1889 |
+
padding: 8px;
|
1890 |
+
line-height: 1.42857143;
|
1891 |
+
vertical-align: top;
|
1892 |
+
border-top: 1px solid #dddddd;
|
1893 |
+
}
|
1894 |
+
.table > thead > tr > th {
|
1895 |
+
vertical-align: bottom;
|
1896 |
+
border-bottom: 2px solid #dddddd;
|
1897 |
+
}
|
1898 |
+
.table > caption + thead > tr:first-child > th,
|
1899 |
+
.table > colgroup + thead > tr:first-child > th,
|
1900 |
+
.table > thead:first-child > tr:first-child > th,
|
1901 |
+
.table > caption + thead > tr:first-child > td,
|
1902 |
+
.table > colgroup + thead > tr:first-child > td,
|
1903 |
+
.table > thead:first-child > tr:first-child > td {
|
1904 |
+
border-top: 0;
|
1905 |
+
}
|
1906 |
+
.table > tbody + tbody {
|
1907 |
+
border-top: 2px solid #dddddd;
|
1908 |
+
}
|
1909 |
+
.table .table {
|
1910 |
+
background-color: #ffffff;
|
1911 |
+
}
|
1912 |
+
.table-condensed > thead > tr > th,
|
1913 |
+
.table-condensed > tbody > tr > th,
|
1914 |
+
.table-condensed > tfoot > tr > th,
|
1915 |
+
.table-condensed > thead > tr > td,
|
1916 |
+
.table-condensed > tbody > tr > td,
|
1917 |
+
.table-condensed > tfoot > tr > td {
|
1918 |
+
padding: 5px;
|
1919 |
+
}
|
1920 |
+
.table-bordered {
|
1921 |
+
border: 1px solid #dddddd;
|
1922 |
+
}
|
1923 |
+
.table-bordered > thead > tr > th,
|
1924 |
+
.table-bordered > tbody > tr > th,
|
1925 |
+
.table-bordered > tfoot > tr > th,
|
1926 |
+
.table-bordered > thead > tr > td,
|
1927 |
+
.table-bordered > tbody > tr > td,
|
1928 |
+
.table-bordered > tfoot > tr > td {
|
1929 |
+
border: 1px solid #dddddd;
|
1930 |
+
}
|
1931 |
+
.table-bordered > thead > tr > th,
|
1932 |
+
.table-bordered > thead > tr > td {
|
1933 |
+
border-bottom-width: 2px;
|
1934 |
+
}
|
1935 |
+
.table-striped > tbody > tr:nth-of-type(odd) {
|
1936 |
+
background-color: #f9f9f9;
|
1937 |
+
}
|
1938 |
+
.table-hover > tbody > tr:hover {
|
1939 |
+
background-color: #f5f5f5;
|
1940 |
+
}
|
1941 |
+
table col[class*="col-"] {
|
1942 |
+
position: static;
|
1943 |
+
float: none;
|
1944 |
+
display: table-column;
|
1945 |
+
}
|
1946 |
+
table td[class*="col-"],
|
1947 |
+
table th[class*="col-"] {
|
1948 |
+
position: static;
|
1949 |
+
float: none;
|
1950 |
+
display: table-cell;
|
1951 |
+
}
|
1952 |
+
.table > thead > tr > td.active,
|
1953 |
+
.table > tbody > tr > td.active,
|
1954 |
+
.table > tfoot > tr > td.active,
|
1955 |
+
.table > thead > tr > th.active,
|
1956 |
+
.table > tbody > tr > th.active,
|
1957 |
+
.table > tfoot > tr > th.active,
|
1958 |
+
.table > thead > tr.active > td,
|
1959 |
+
.table > tbody > tr.active > td,
|
1960 |
+
.table > tfoot > tr.active > td,
|
1961 |
+
.table > thead > tr.active > th,
|
1962 |
+
.table > tbody > tr.active > th,
|
1963 |
+
.table > tfoot > tr.active > th {
|
1964 |
+
background-color: #f5f5f5;
|
1965 |
+
}
|
1966 |
+
.table-hover > tbody > tr > td.active:hover,
|
1967 |
+
.table-hover > tbody > tr > th.active:hover,
|
1968 |
+
.table-hover > tbody > tr.active:hover > td,
|
1969 |
+
.table-hover > tbody > tr:hover > .active,
|
1970 |
+
.table-hover > tbody > tr.active:hover > th {
|
1971 |
+
background-color: #e8e8e8;
|
1972 |
+
}
|
1973 |
+
.table > thead > tr > td.success,
|
1974 |
+
.table > tbody > tr > td.success,
|
1975 |
+
.table > tfoot > tr > td.success,
|
1976 |
+
.table > thead > tr > th.success,
|
1977 |
+
.table > tbody > tr > th.success,
|
1978 |
+
.table > tfoot > tr > th.success,
|
1979 |
+
.table > thead > tr.success > td,
|
1980 |
+
.table > tbody > tr.success > td,
|
1981 |
+
.table > tfoot > tr.success > td,
|
1982 |
+
.table > thead > tr.success > th,
|
1983 |
+
.table > tbody > tr.success > th,
|
1984 |
+
.table > tfoot > tr.success > th {
|
1985 |
+
background-color: #dff0d8;
|
1986 |
+
}
|
1987 |
+
.table-hover > tbody > tr > td.success:hover,
|
1988 |
+
.table-hover > tbody > tr > th.success:hover,
|
1989 |
+
.table-hover > tbody > tr.success:hover > td,
|
1990 |
+
.table-hover > tbody > tr:hover > .success,
|
1991 |
+
.table-hover > tbody > tr.success:hover > th {
|
1992 |
+
background-color: #d0e9c6;
|
1993 |
+
}
|
1994 |
+
.table > thead > tr > td.info,
|
1995 |
+
.table > tbody > tr > td.info,
|
1996 |
+
.table > tfoot > tr > td.info,
|
1997 |
+
.table > thead > tr > th.info,
|
1998 |
+
.table > tbody > tr > th.info,
|
1999 |
+
.table > tfoot > tr > th.info,
|
2000 |
+
.table > thead > tr.info > td,
|
2001 |
+
.table > tbody > tr.info > td,
|
2002 |
+
.table > tfoot > tr.info > td,
|
2003 |
+
.table > thead > tr.info > th,
|
2004 |
+
.table > tbody > tr.info > th,
|
2005 |
+
.table > tfoot > tr.info > th {
|
2006 |
+
background-color: #d9edf7;
|
2007 |
+
}
|
2008 |
+
.table-hover > tbody > tr > td.info:hover,
|
2009 |
+
.table-hover > tbody > tr > th.info:hover,
|
2010 |
+
.table-hover > tbody > tr.info:hover > td,
|
2011 |
+
.table-hover > tbody > tr:hover > .info,
|
2012 |
+
.table-hover > tbody > tr.info:hover > th {
|
2013 |
+
background-color: #c4e3f3;
|
2014 |
+
}
|
2015 |
+
.table > thead > tr > td.warning,
|
2016 |
+
.table > tbody > tr > td.warning,
|
2017 |
+
.table > tfoot > tr > td.warning,
|
2018 |
+
.table > thead > tr > th.warning,
|
2019 |
+
.table > tbody > tr > th.warning,
|
2020 |
+
.table > tfoot > tr > th.warning,
|
2021 |
+
.table > thead > tr.warning > td,
|
2022 |
+
.table > tbody > tr.warning > td,
|
2023 |
+
.table > tfoot > tr.warning > td,
|
2024 |
+
.table > thead > tr.warning > th,
|
2025 |
+
.table > tbody > tr.warning > th,
|
2026 |
+
.table > tfoot > tr.warning > th {
|
2027 |
+
background-color: #fcf8e3;
|
2028 |
+
}
|
2029 |
+
.table-hover > tbody > tr > td.warning:hover,
|
2030 |
+
.table-hover > tbody > tr > th.warning:hover,
|
2031 |
+
.table-hover > tbody > tr.warning:hover > td,
|
2032 |
+
.table-hover > tbody > tr:hover > .warning,
|
2033 |
+
.table-hover > tbody > tr.warning:hover > th {
|
2034 |
+
background-color: #faf2cc;
|
2035 |
+
}
|
2036 |
+
.table > thead > tr > td.danger,
|
2037 |
+
.table > tbody > tr > td.danger,
|
2038 |
+
.table > tfoot > tr > td.danger,
|
2039 |
+
.table > thead > tr > th.danger,
|
2040 |
+
.table > tbody > tr > th.danger,
|
2041 |
+
.table > tfoot > tr > th.danger,
|
2042 |
+
.table > thead > tr.danger > td,
|
2043 |
+
.table > tbody > tr.danger > td,
|
2044 |
+
.table > tfoot > tr.danger > td,
|
2045 |
+
.table > thead > tr.danger > th,
|
2046 |
+
.table > tbody > tr.danger > th,
|
2047 |
+
.table > tfoot > tr.danger > th {
|
2048 |
+
background-color: #f2dede;
|
2049 |
+
}
|
2050 |
+
.table-hover > tbody > tr > td.danger:hover,
|
2051 |
+
.table-hover > tbody > tr > th.danger:hover,
|
2052 |
+
.table-hover > tbody > tr.danger:hover > td,
|
2053 |
+
.table-hover > tbody > tr:hover > .danger,
|
2054 |
+
.table-hover > tbody > tr.danger:hover > th {
|
2055 |
+
background-color: #ebcccc;
|
2056 |
+
}
|
2057 |
+
.table-responsive {
|
2058 |
+
overflow-x: auto;
|
2059 |
+
min-height: 0.01%;
|
2060 |
+
}
|
2061 |
+
@media screen and (max-width: 767px) {
|
2062 |
+
.table-responsive {
|
2063 |
+
width: 100%;
|
2064 |
+
margin-bottom: 15px;
|
2065 |
+
overflow-y: hidden;
|
2066 |
+
-ms-overflow-style: -ms-autohiding-scrollbar;
|
2067 |
+
border: 1px solid #dddddd;
|
2068 |
+
}
|
2069 |
+
.table-responsive > .table {
|
2070 |
+
margin-bottom: 0;
|
2071 |
+
}
|
2072 |
+
.table-responsive > .table > thead > tr > th,
|
2073 |
+
.table-responsive > .table > tbody > tr > th,
|
2074 |
+
.table-responsive > .table > tfoot > tr > th,
|
2075 |
+
.table-responsive > .table > thead > tr > td,
|
2076 |
+
.table-responsive > .table > tbody > tr > td,
|
2077 |
+
.table-responsive > .table > tfoot > tr > td {
|
2078 |
+
white-space: nowrap;
|
2079 |
+
}
|
2080 |
+
.table-responsive > .table-bordered {
|
2081 |
+
border: 0;
|
2082 |
+
}
|
2083 |
+
.table-responsive > .table-bordered > thead > tr > th:first-child,
|
2084 |
+
.table-responsive > .table-bordered > tbody > tr > th:first-child,
|
2085 |
+
.table-responsive > .table-bordered > tfoot > tr > th:first-child,
|
2086 |
+
.table-responsive > .table-bordered > thead > tr > td:first-child,
|
2087 |
+
.table-responsive > .table-bordered > tbody > tr > td:first-child,
|
2088 |
+
.table-responsive > .table-bordered > tfoot > tr > td:first-child {
|
2089 |
+
border-left: 0;
|
2090 |
+
}
|
2091 |
+
.table-responsive > .table-bordered > thead > tr > th:last-child,
|
2092 |
+
.table-responsive > .table-bordered > tbody > tr > th:last-child,
|
2093 |
+
.table-responsive > .table-bordered > tfoot > tr > th:last-child,
|
2094 |
+
.table-responsive > .table-bordered > thead > tr > td:last-child,
|
2095 |
+
.table-responsive > .table-bordered > tbody > tr > td:last-child,
|
2096 |
+
.table-responsive > .table-bordered > tfoot > tr > td:last-child {
|
2097 |
+
border-right: 0;
|
2098 |
+
}
|
2099 |
+
.table-responsive > .table-bordered > tbody > tr:last-child > th,
|
2100 |
+
.table-responsive > .table-bordered > tfoot > tr:last-child > th,
|
2101 |
+
.table-responsive > .table-bordered > tbody > tr:last-child > td,
|
2102 |
+
.table-responsive > .table-bordered > tfoot > tr:last-child > td {
|
2103 |
+
border-bottom: 0;
|
2104 |
+
}
|
2105 |
+
}
|
2106 |
+
fieldset {
|
2107 |
+
padding: 0;
|
2108 |
+
margin: 0;
|
2109 |
+
border: 0;
|
2110 |
+
min-width: 0;
|
2111 |
+
}
|
2112 |
+
legend {
|
2113 |
+
display: block;
|
2114 |
+
width: 100%;
|
2115 |
+
padding: 0;
|
2116 |
+
margin-bottom: 20px;
|
2117 |
+
font-size: 21px;
|
2118 |
+
line-height: inherit;
|
2119 |
+
color: #333333;
|
2120 |
+
border: 0;
|
2121 |
+
border-bottom: 1px solid #e5e5e5;
|
2122 |
+
}
|
2123 |
+
label {
|
2124 |
+
display: inline-block;
|
2125 |
+
max-width: 100%;
|
2126 |
+
margin-bottom: 5px;
|
2127 |
+
font-weight: bold;
|
2128 |
+
}
|
2129 |
+
input[type="search"] {
|
2130 |
+
-webkit-box-sizing: border-box;
|
2131 |
+
-moz-box-sizing: border-box;
|
2132 |
+
box-sizing: border-box;
|
2133 |
+
}
|
2134 |
+
input[type="radio"],
|
2135 |
+
input[type="checkbox"] {
|
2136 |
+
margin: 4px 0 0;
|
2137 |
+
margin-top: 1px \9;
|
2138 |
+
line-height: normal;
|
2139 |
+
}
|
2140 |
+
input[type="file"] {
|
2141 |
+
display: block;
|
2142 |
+
}
|
2143 |
+
input[type="range"] {
|
2144 |
+
display: block;
|
2145 |
+
width: 100%;
|
2146 |
+
}
|
2147 |
+
select[multiple],
|
2148 |
+
select[size] {
|
2149 |
+
height: auto;
|
2150 |
+
}
|
2151 |
+
input[type="file"]:focus,
|
2152 |
+
input[type="radio"]:focus,
|
2153 |
+
input[type="checkbox"]:focus {
|
2154 |
+
outline: 5px auto -webkit-focus-ring-color;
|
2155 |
+
outline-offset: -2px;
|
2156 |
+
}
|
2157 |
+
output {
|
2158 |
+
display: block;
|
2159 |
+
padding-top: 7px;
|
2160 |
+
font-size: 14px;
|
2161 |
+
line-height: 1.42857143;
|
2162 |
+
color: #555555;
|
2163 |
+
}
|
2164 |
+
.form-control {
|
2165 |
+
display: block;
|
2166 |
+
width: 100%;
|
2167 |
+
height: 34px;
|
2168 |
+
padding: 6px 12px;
|
2169 |
+
font-size: 14px;
|
2170 |
+
line-height: 1.42857143;
|
2171 |
+
color: #555555;
|
2172 |
+
background-color: #ffffff;
|
2173 |
+
background-image: none;
|
2174 |
+
border: 1px solid #cccccc;
|
2175 |
+
border-radius: 4px;
|
2176 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
2177 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
2178 |
+
-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
|
2179 |
+
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
2180 |
+
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
2181 |
+
}
|
2182 |
+
.form-control:focus {
|
2183 |
+
border-color: #66afe9;
|
2184 |
+
outline: 0;
|
2185 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
|
2186 |
+
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
|
2187 |
+
}
|
2188 |
+
.form-control::-moz-placeholder {
|
2189 |
+
color: #999999;
|
2190 |
+
opacity: 1;
|
2191 |
+
}
|
2192 |
+
.form-control:-ms-input-placeholder {
|
2193 |
+
color: #999999;
|
2194 |
+
}
|
2195 |
+
.form-control::-webkit-input-placeholder {
|
2196 |
+
color: #999999;
|
2197 |
+
}
|
2198 |
+
.form-control::-ms-expand {
|
2199 |
+
border: 0;
|
2200 |
+
background-color: transparent;
|
2201 |
+
}
|
2202 |
+
.form-control[disabled],
|
2203 |
+
.form-control[readonly],
|
2204 |
+
fieldset[disabled] .form-control {
|
2205 |
+
background-color: #eeeeee;
|
2206 |
+
opacity: 1;
|
2207 |
+
}
|
2208 |
+
.form-control[disabled],
|
2209 |
+
fieldset[disabled] .form-control {
|
2210 |
+
cursor: not-allowed;
|
2211 |
+
}
|
2212 |
+
textarea.form-control {
|
2213 |
+
height: auto;
|
2214 |
+
}
|
2215 |
+
input[type="search"] {
|
2216 |
+
-webkit-appearance: none;
|
2217 |
+
}
|
2218 |
+
@media screen and (-webkit-min-device-pixel-ratio: 0) {
|
2219 |
+
input[type="date"].form-control,
|
2220 |
+
input[type="time"].form-control,
|
2221 |
+
input[type="datetime-local"].form-control,
|
2222 |
+
input[type="month"].form-control {
|
2223 |
+
line-height: 34px;
|
2224 |
+
}
|
2225 |
+
input[type="date"].input-sm,
|
2226 |
+
input[type="time"].input-sm,
|
2227 |
+
input[type="datetime-local"].input-sm,
|
2228 |
+
input[type="month"].input-sm,
|
2229 |
+
.input-group-sm input[type="date"],
|
2230 |
+
.input-group-sm input[type="time"],
|
2231 |
+
.input-group-sm input[type="datetime-local"],
|
2232 |
+
.input-group-sm input[type="month"] {
|
2233 |
+
line-height: 30px;
|
2234 |
+
}
|
2235 |
+
input[type="date"].input-lg,
|
2236 |
+
input[type="time"].input-lg,
|
2237 |
+
input[type="datetime-local"].input-lg,
|
2238 |
+
input[type="month"].input-lg,
|
2239 |
+
.input-group-lg input[type="date"],
|
2240 |
+
.input-group-lg input[type="time"],
|
2241 |
+
.input-group-lg input[type="datetime-local"],
|
2242 |
+
.input-group-lg input[type="month"] {
|
2243 |
+
line-height: 46px;
|
2244 |
+
}
|
2245 |
+
}
|
2246 |
+
.form-group {
|
2247 |
+
margin-bottom: 15px;
|
2248 |
+
}
|
2249 |
+
.radio,
|
2250 |
+
.checkbox {
|
2251 |
+
position: relative;
|
2252 |
+
display: block;
|
2253 |
+
margin-top: 10px;
|
2254 |
+
margin-bottom: 10px;
|
2255 |
+
}
|
2256 |
+
.radio label,
|
2257 |
+
.checkbox label {
|
2258 |
+
min-height: 20px;
|
2259 |
+
padding-left: 20px;
|
2260 |
+
margin-bottom: 0;
|
2261 |
+
font-weight: normal;
|
2262 |
+
cursor: pointer;
|
2263 |
+
}
|
2264 |
+
.radio input[type="radio"],
|
2265 |
+
.radio-inline input[type="radio"],
|
2266 |
+
.checkbox input[type="checkbox"],
|
2267 |
+
.checkbox-inline input[type="checkbox"] {
|
2268 |
+
position: absolute;
|
2269 |
+
margin-left: -20px;
|
2270 |
+
margin-top: 4px \9;
|
2271 |
+
}
|
2272 |
+
.radio + .radio,
|
2273 |
+
.checkbox + .checkbox {
|
2274 |
+
margin-top: -5px;
|
2275 |
+
}
|
2276 |
+
.radio-inline,
|
2277 |
+
.checkbox-inline {
|
2278 |
+
position: relative;
|
2279 |
+
display: inline-block;
|
2280 |
+
padding-left: 20px;
|
2281 |
+
margin-bottom: 0;
|
2282 |
+
vertical-align: middle;
|
2283 |
+
font-weight: normal;
|
2284 |
+
cursor: pointer;
|
2285 |
+
}
|
2286 |
+
.radio-inline + .radio-inline,
|
2287 |
+
.checkbox-inline + .checkbox-inline {
|
2288 |
+
margin-top: 0;
|
2289 |
+
margin-left: 10px;
|
2290 |
+
}
|
2291 |
+
input[type="radio"][disabled],
|
2292 |
+
input[type="checkbox"][disabled],
|
2293 |
+
input[type="radio"].disabled,
|
2294 |
+
input[type="checkbox"].disabled,
|
2295 |
+
fieldset[disabled] input[type="radio"],
|
2296 |
+
fieldset[disabled] input[type="checkbox"] {
|
2297 |
+
cursor: not-allowed;
|
2298 |
+
}
|
2299 |
+
.radio-inline.disabled,
|
2300 |
+
.checkbox-inline.disabled,
|
2301 |
+
fieldset[disabled] .radio-inline,
|
2302 |
+
fieldset[disabled] .checkbox-inline {
|
2303 |
+
cursor: not-allowed;
|
2304 |
+
}
|
2305 |
+
.radio.disabled label,
|
2306 |
+
.checkbox.disabled label,
|
2307 |
+
fieldset[disabled] .radio label,
|
2308 |
+
fieldset[disabled] .checkbox label {
|
2309 |
+
cursor: not-allowed;
|
2310 |
+
}
|
2311 |
+
.form-control-static {
|
2312 |
+
padding-top: 7px;
|
2313 |
+
padding-bottom: 7px;
|
2314 |
+
margin-bottom: 0;
|
2315 |
+
min-height: 34px;
|
2316 |
+
}
|
2317 |
+
.form-control-static.input-lg,
|
2318 |
+
.form-control-static.input-sm {
|
2319 |
+
padding-left: 0;
|
2320 |
+
padding-right: 0;
|
2321 |
+
}
|
2322 |
+
.input-sm {
|
2323 |
+
height: 30px;
|
2324 |
+
padding: 5px 10px;
|
2325 |
+
font-size: 12px;
|
2326 |
+
line-height: 1.5;
|
2327 |
+
border-radius: 3px;
|
2328 |
+
}
|
2329 |
+
select.input-sm {
|
2330 |
+
height: 30px;
|
2331 |
+
line-height: 30px;
|
2332 |
+
}
|
2333 |
+
textarea.input-sm,
|
2334 |
+
select[multiple].input-sm {
|
2335 |
+
height: auto;
|
2336 |
+
}
|
2337 |
+
.form-group-sm .form-control {
|
2338 |
+
height: 30px;
|
2339 |
+
padding: 5px 10px;
|
2340 |
+
font-size: 12px;
|
2341 |
+
line-height: 1.5;
|
2342 |
+
border-radius: 3px;
|
2343 |
+
}
|
2344 |
+
.form-group-sm select.form-control {
|
2345 |
+
height: 30px;
|
2346 |
+
line-height: 30px;
|
2347 |
+
}
|
2348 |
+
.form-group-sm textarea.form-control,
|
2349 |
+
.form-group-sm select[multiple].form-control {
|
2350 |
+
height: auto;
|
2351 |
+
}
|
2352 |
+
.form-group-sm .form-control-static {
|
2353 |
+
height: 30px;
|
2354 |
+
min-height: 32px;
|
2355 |
+
padding: 6px 10px;
|
2356 |
+
font-size: 12px;
|
2357 |
+
line-height: 1.5;
|
2358 |
+
}
|
2359 |
+
.input-lg {
|
2360 |
+
height: 46px;
|
2361 |
+
padding: 10px 16px;
|
2362 |
+
font-size: 18px;
|
2363 |
+
line-height: 1.3333333;
|
2364 |
+
border-radius: 6px;
|
2365 |
+
}
|
2366 |
+
select.input-lg {
|
2367 |
+
height: 46px;
|
2368 |
+
line-height: 46px;
|
2369 |
+
}
|
2370 |
+
textarea.input-lg,
|
2371 |
+
select[multiple].input-lg {
|
2372 |
+
height: auto;
|
2373 |
+
}
|
2374 |
+
.form-group-lg .form-control {
|
2375 |
+
height: 46px;
|
2376 |
+
padding: 10px 16px;
|
2377 |
+
font-size: 18px;
|
2378 |
+
line-height: 1.3333333;
|
2379 |
+
border-radius: 6px;
|
2380 |
+
}
|
2381 |
+
.form-group-lg select.form-control {
|
2382 |
+
height: 46px;
|
2383 |
+
line-height: 46px;
|
2384 |
+
}
|
2385 |
+
.form-group-lg textarea.form-control,
|
2386 |
+
.form-group-lg select[multiple].form-control {
|
2387 |
+
height: auto;
|
2388 |
+
}
|
2389 |
+
.form-group-lg .form-control-static {
|
2390 |
+
height: 46px;
|
2391 |
+
min-height: 38px;
|
2392 |
+
padding: 11px 16px;
|
2393 |
+
font-size: 18px;
|
2394 |
+
line-height: 1.3333333;
|
2395 |
+
}
|
2396 |
+
.has-feedback {
|
2397 |
+
position: relative;
|
2398 |
+
}
|
2399 |
+
.has-feedback .form-control {
|
2400 |
+
padding-right: 42.5px;
|
2401 |
+
}
|
2402 |
+
.form-control-feedback {
|
2403 |
+
position: absolute;
|
2404 |
+
top: 0;
|
2405 |
+
right: 0;
|
2406 |
+
z-index: 2;
|
2407 |
+
display: block;
|
2408 |
+
width: 34px;
|
2409 |
+
height: 34px;
|
2410 |
+
line-height: 34px;
|
2411 |
+
text-align: center;
|
2412 |
+
pointer-events: none;
|
2413 |
+
}
|
2414 |
+
.input-lg + .form-control-feedback,
|
2415 |
+
.input-group-lg + .form-control-feedback,
|
2416 |
+
.form-group-lg .form-control + .form-control-feedback {
|
2417 |
+
width: 46px;
|
2418 |
+
height: 46px;
|
2419 |
+
line-height: 46px;
|
2420 |
+
}
|
2421 |
+
.input-sm + .form-control-feedback,
|
2422 |
+
.input-group-sm + .form-control-feedback,
|
2423 |
+
.form-group-sm .form-control + .form-control-feedback {
|
2424 |
+
width: 30px;
|
2425 |
+
height: 30px;
|
2426 |
+
line-height: 30px;
|
2427 |
+
}
|
2428 |
+
.has-success .help-block,
|
2429 |
+
.has-success .control-label,
|
2430 |
+
.has-success .radio,
|
2431 |
+
.has-success .checkbox,
|
2432 |
+
.has-success .radio-inline,
|
2433 |
+
.has-success .checkbox-inline,
|
2434 |
+
.has-success.radio label,
|
2435 |
+
.has-success.checkbox label,
|
2436 |
+
.has-success.radio-inline label,
|
2437 |
+
.has-success.checkbox-inline label {
|
2438 |
+
color: #3c763d;
|
2439 |
+
}
|
2440 |
+
.has-success .form-control {
|
2441 |
+
border-color: #3c763d;
|
2442 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
2443 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
2444 |
+
}
|
2445 |
+
.has-success .form-control:focus {
|
2446 |
+
border-color: #2b542c;
|
2447 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
|
2448 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
|
2449 |
+
}
|
2450 |
+
.has-success .input-group-addon {
|
2451 |
+
color: #3c763d;
|
2452 |
+
border-color: #3c763d;
|
2453 |
+
background-color: #dff0d8;
|
2454 |
+
}
|
2455 |
+
.has-success .form-control-feedback {
|
2456 |
+
color: #3c763d;
|
2457 |
+
}
|
2458 |
+
.has-warning .help-block,
|
2459 |
+
.has-warning .control-label,
|
2460 |
+
.has-warning .radio,
|
2461 |
+
.has-warning .checkbox,
|
2462 |
+
.has-warning .radio-inline,
|
2463 |
+
.has-warning .checkbox-inline,
|
2464 |
+
.has-warning.radio label,
|
2465 |
+
.has-warning.checkbox label,
|
2466 |
+
.has-warning.radio-inline label,
|
2467 |
+
.has-warning.checkbox-inline label {
|
2468 |
+
color: #8a6d3b;
|
2469 |
+
}
|
2470 |
+
.has-warning .form-control {
|
2471 |
+
border-color: #8a6d3b;
|
2472 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
2473 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
2474 |
+
}
|
2475 |
+
.has-warning .form-control:focus {
|
2476 |
+
border-color: #66512c;
|
2477 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
|
2478 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
|
2479 |
+
}
|
2480 |
+
.has-warning .input-group-addon {
|
2481 |
+
color: #8a6d3b;
|
2482 |
+
border-color: #8a6d3b;
|
2483 |
+
background-color: #fcf8e3;
|
2484 |
+
}
|
2485 |
+
.has-warning .form-control-feedback {
|
2486 |
+
color: #8a6d3b;
|
2487 |
+
}
|
2488 |
+
.has-error .help-block,
|
2489 |
+
.has-error .control-label,
|
2490 |
+
.has-error .radio,
|
2491 |
+
.has-error .checkbox,
|
2492 |
+
.has-error .radio-inline,
|
2493 |
+
.has-error .checkbox-inline,
|
2494 |
+
.has-error.radio label,
|
2495 |
+
.has-error.checkbox label,
|
2496 |
+
.has-error.radio-inline label,
|
2497 |
+
.has-error.checkbox-inline label {
|
2498 |
+
color: #a94442;
|
2499 |
+
}
|
2500 |
+
.has-error .form-control {
|
2501 |
+
border-color: #a94442;
|
2502 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
2503 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
2504 |
+
}
|
2505 |
+
.has-error .form-control:focus {
|
2506 |
+
border-color: #843534;
|
2507 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
|
2508 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
|
2509 |
+
}
|
2510 |
+
.has-error .input-group-addon {
|
2511 |
+
color: #a94442;
|
2512 |
+
border-color: #a94442;
|
2513 |
+
background-color: #f2dede;
|
2514 |
+
}
|
2515 |
+
.has-error .form-control-feedback {
|
2516 |
+
color: #a94442;
|
2517 |
+
}
|
2518 |
+
.has-feedback label ~ .form-control-feedback {
|
2519 |
+
top: 25px;
|
2520 |
+
}
|
2521 |
+
.has-feedback label.sr-only ~ .form-control-feedback {
|
2522 |
+
top: 0;
|
2523 |
+
}
|
2524 |
+
.help-block {
|
2525 |
+
display: block;
|
2526 |
+
margin-top: 5px;
|
2527 |
+
margin-bottom: 10px;
|
2528 |
+
color: #737373;
|
2529 |
+
}
|
2530 |
+
@media (min-width: 768px) {
|
2531 |
+
.form-inline .form-group {
|
2532 |
+
display: inline-block;
|
2533 |
+
margin-bottom: 0;
|
2534 |
+
vertical-align: middle;
|
2535 |
+
}
|
2536 |
+
.form-inline .form-control {
|
2537 |
+
display: inline-block;
|
2538 |
+
width: auto;
|
2539 |
+
vertical-align: middle;
|
2540 |
+
}
|
2541 |
+
.form-inline .form-control-static {
|
2542 |
+
display: inline-block;
|
2543 |
+
}
|
2544 |
+
.form-inline .input-group {
|
2545 |
+
display: inline-table;
|
2546 |
+
vertical-align: middle;
|
2547 |
+
}
|
2548 |
+
.form-inline .input-group .input-group-addon,
|
2549 |
+
.form-inline .input-group .input-group-btn,
|
2550 |
+
.form-inline .input-group .form-control {
|
2551 |
+
width: auto;
|
2552 |
+
}
|
2553 |
+
.form-inline .input-group > .form-control {
|
2554 |
+
width: 100%;
|
2555 |
+
}
|
2556 |
+
.form-inline .control-label {
|
2557 |
+
margin-bottom: 0;
|
2558 |
+
vertical-align: middle;
|
2559 |
+
}
|
2560 |
+
.form-inline .radio,
|
2561 |
+
.form-inline .checkbox {
|
2562 |
+
display: inline-block;
|
2563 |
+
margin-top: 0;
|
2564 |
+
margin-bottom: 0;
|
2565 |
+
vertical-align: middle;
|
2566 |
+
}
|
2567 |
+
.form-inline .radio label,
|
2568 |
+
.form-inline .checkbox label {
|
2569 |
+
padding-left: 0;
|
2570 |
+
}
|
2571 |
+
.form-inline .radio input[type="radio"],
|
2572 |
+
.form-inline .checkbox input[type="checkbox"] {
|
2573 |
+
position: relative;
|
2574 |
+
margin-left: 0;
|
2575 |
+
}
|
2576 |
+
.form-inline .has-feedback .form-control-feedback {
|
2577 |
+
top: 0;
|
2578 |
+
}
|
2579 |
+
}
|
2580 |
+
.form-horizontal .radio,
|
2581 |
+
.form-horizontal .checkbox,
|
2582 |
+
.form-horizontal .radio-inline,
|
2583 |
+
.form-horizontal .checkbox-inline {
|
2584 |
+
margin-top: 0;
|
2585 |
+
margin-bottom: 0;
|
2586 |
+
padding-top: 7px;
|
2587 |
+
}
|
2588 |
+
.form-horizontal .radio,
|
2589 |
+
.form-horizontal .checkbox {
|
2590 |
+
min-height: 27px;
|
2591 |
+
}
|
2592 |
+
.form-horizontal .form-group {
|
2593 |
+
margin-left: -15px;
|
2594 |
+
margin-right: -15px;
|
2595 |
+
}
|
2596 |
+
@media (min-width: 768px) {
|
2597 |
+
.form-horizontal .control-label {
|
2598 |
+
text-align: right;
|
2599 |
+
margin-bottom: 0;
|
2600 |
+
padding-top: 7px;
|
2601 |
+
}
|
2602 |
+
}
|
2603 |
+
.form-horizontal .has-feedback .form-control-feedback {
|
2604 |
+
right: 15px;
|
2605 |
+
}
|
2606 |
+
@media (min-width: 768px) {
|
2607 |
+
.form-horizontal .form-group-lg .control-label {
|
2608 |
+
padding-top: 11px;
|
2609 |
+
font-size: 18px;
|
2610 |
+
}
|
2611 |
+
}
|
2612 |
+
@media (min-width: 768px) {
|
2613 |
+
.form-horizontal .form-group-sm .control-label {
|
2614 |
+
padding-top: 6px;
|
2615 |
+
font-size: 12px;
|
2616 |
+
}
|
2617 |
+
}
|
2618 |
+
.btn {
|
2619 |
+
display: inline-block;
|
2620 |
+
margin-bottom: 0;
|
2621 |
+
font-weight: normal;
|
2622 |
+
text-align: center;
|
2623 |
+
vertical-align: middle;
|
2624 |
+
-ms-touch-action: manipulation;
|
2625 |
+
touch-action: manipulation;
|
2626 |
+
cursor: pointer;
|
2627 |
+
background-image: none;
|
2628 |
+
border: 1px solid transparent;
|
2629 |
+
white-space: nowrap;
|
2630 |
+
padding: 6px 12px;
|
2631 |
+
font-size: 14px;
|
2632 |
+
line-height: 1.42857143;
|
2633 |
+
border-radius: 4px;
|
2634 |
+
-webkit-user-select: none;
|
2635 |
+
-moz-user-select: none;
|
2636 |
+
-ms-user-select: none;
|
2637 |
+
user-select: none;
|
2638 |
+
}
|
2639 |
+
.btn:focus,
|
2640 |
+
.btn:active:focus,
|
2641 |
+
.btn.active:focus,
|
2642 |
+
.btn.focus,
|
2643 |
+
.btn:active.focus,
|
2644 |
+
.btn.active.focus {
|
2645 |
+
outline: 5px auto -webkit-focus-ring-color;
|
2646 |
+
outline-offset: -2px;
|
2647 |
+
}
|
2648 |
+
.btn:hover,
|
2649 |
+
.btn:focus,
|
2650 |
+
.btn.focus {
|
2651 |
+
color: #333333;
|
2652 |
+
text-decoration: none;
|
2653 |
+
}
|
2654 |
+
.btn:active,
|
2655 |
+
.btn.active {
|
2656 |
+
outline: 0;
|
2657 |
+
background-image: none;
|
2658 |
+
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
2659 |
+
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
2660 |
+
}
|
2661 |
+
.btn.disabled,
|
2662 |
+
.btn[disabled],
|
2663 |
+
fieldset[disabled] .btn {
|
2664 |
+
cursor: not-allowed;
|
2665 |
+
opacity: 0.65;
|
2666 |
+
filter: alpha(opacity=65);
|
2667 |
+
-webkit-box-shadow: none;
|
2668 |
+
box-shadow: none;
|
2669 |
+
}
|
2670 |
+
a.btn.disabled,
|
2671 |
+
fieldset[disabled] a.btn {
|
2672 |
+
pointer-events: none;
|
2673 |
+
}
|
2674 |
+
.btn-default {
|
2675 |
+
color: #333333;
|
2676 |
+
background-color: #ffffff;
|
2677 |
+
border-color: #cccccc;
|
2678 |
+
}
|
2679 |
+
.btn-default:focus,
|
2680 |
+
.btn-default.focus {
|
2681 |
+
color: #333333;
|
2682 |
+
background-color: #e6e6e6;
|
2683 |
+
border-color: #8c8c8c;
|
2684 |
+
}
|
2685 |
+
.btn-default:hover {
|
2686 |
+
color: #333333;
|
2687 |
+
background-color: #e6e6e6;
|
2688 |
+
border-color: #adadad;
|
2689 |
+
}
|
2690 |
+
.btn-default:active,
|
2691 |
+
.btn-default.active,
|
2692 |
+
.open > .dropdown-toggle.btn-default {
|
2693 |
+
color: #333333;
|
2694 |
+
background-color: #e6e6e6;
|
2695 |
+
border-color: #adadad;
|
2696 |
+
}
|
2697 |
+
.btn-default:active:hover,
|
2698 |
+
.btn-default.active:hover,
|
2699 |
+
.open > .dropdown-toggle.btn-default:hover,
|
2700 |
+
.btn-default:active:focus,
|
2701 |
+
.btn-default.active:focus,
|
2702 |
+
.open > .dropdown-toggle.btn-default:focus,
|
2703 |
+
.btn-default:active.focus,
|
2704 |
+
.btn-default.active.focus,
|
2705 |
+
.open > .dropdown-toggle.btn-default.focus {
|
2706 |
+
color: #333333;
|
2707 |
+
background-color: #d4d4d4;
|
2708 |
+
border-color: #8c8c8c;
|
2709 |
+
}
|
2710 |
+
.btn-default:active,
|
2711 |
+
.btn-default.active,
|
2712 |
+
.open > .dropdown-toggle.btn-default {
|
2713 |
+
background-image: none;
|
2714 |
+
}
|
2715 |
+
.btn-default.disabled:hover,
|
2716 |
+
.btn-default[disabled]:hover,
|
2717 |
+
fieldset[disabled] .btn-default:hover,
|
2718 |
+
.btn-default.disabled:focus,
|
2719 |
+
.btn-default[disabled]:focus,
|
2720 |
+
fieldset[disabled] .btn-default:focus,
|
2721 |
+
.btn-default.disabled.focus,
|
2722 |
+
.btn-default[disabled].focus,
|
2723 |
+
fieldset[disabled] .btn-default.focus {
|
2724 |
+
background-color: #ffffff;
|
2725 |
+
border-color: #cccccc;
|
2726 |
+
}
|
2727 |
+
.btn-default .badge {
|
2728 |
+
color: #ffffff;
|
2729 |
+
background-color: #333333;
|
2730 |
+
}
|
2731 |
+
.btn-primary {
|
2732 |
+
color: #ffffff;
|
2733 |
+
background-color: #337ab7;
|
2734 |
+
border-color: #2e6da4;
|
2735 |
+
}
|
2736 |
+
.btn-primary:focus,
|
2737 |
+
.btn-primary.focus {
|
2738 |
+
color: #ffffff;
|
2739 |
+
background-color: #286090;
|
2740 |
+
border-color: #122b40;
|
2741 |
+
}
|
2742 |
+
.btn-primary:hover {
|
2743 |
+
color: #ffffff;
|
2744 |
+
background-color: #286090;
|
2745 |
+
border-color: #204d74;
|
2746 |
+
}
|
2747 |
+
.btn-primary:active,
|
2748 |
+
.btn-primary.active,
|
2749 |
+
.open > .dropdown-toggle.btn-primary {
|
2750 |
+
color: #ffffff;
|
2751 |
+
background-color: #286090;
|
2752 |
+
border-color: #204d74;
|
2753 |
+
}
|
2754 |
+
.btn-primary:active:hover,
|
2755 |
+
.btn-primary.active:hover,
|
2756 |
+
.open > .dropdown-toggle.btn-primary:hover,
|
2757 |
+
.btn-primary:active:focus,
|
2758 |
+
.btn-primary.active:focus,
|
2759 |
+
.open > .dropdown-toggle.btn-primary:focus,
|
2760 |
+
.btn-primary:active.focus,
|
2761 |
+
.btn-primary.active.focus,
|
2762 |
+
.open > .dropdown-toggle.btn-primary.focus {
|
2763 |
+
color: #ffffff;
|
2764 |
+
background-color: #204d74;
|
2765 |
+
border-color: #122b40;
|
2766 |
+
}
|
2767 |
+
.btn-primary:active,
|
2768 |
+
.btn-primary.active,
|
2769 |
+
.open > .dropdown-toggle.btn-primary {
|
2770 |
+
background-image: none;
|
2771 |
+
}
|
2772 |
+
.btn-primary.disabled:hover,
|
2773 |
+
.btn-primary[disabled]:hover,
|
2774 |
+
fieldset[disabled] .btn-primary:hover,
|
2775 |
+
.btn-primary.disabled:focus,
|
2776 |
+
.btn-primary[disabled]:focus,
|
2777 |
+
fieldset[disabled] .btn-primary:focus,
|
2778 |
+
.btn-primary.disabled.focus,
|
2779 |
+
.btn-primary[disabled].focus,
|
2780 |
+
fieldset[disabled] .btn-primary.focus {
|
2781 |
+
background-color: #337ab7;
|
2782 |
+
border-color: #2e6da4;
|
2783 |
+
}
|
2784 |
+
.btn-primary .badge {
|
2785 |
+
color: #337ab7;
|
2786 |
+
background-color: #ffffff;
|
2787 |
+
}
|
2788 |
+
.btn-success {
|
2789 |
+
color: #ffffff;
|
2790 |
+
background-color: #5cb85c;
|
2791 |
+
border-color: #4cae4c;
|
2792 |
+
}
|
2793 |
+
.btn-success:focus,
|
2794 |
+
.btn-success.focus {
|
2795 |
+
color: #ffffff;
|
2796 |
+
background-color: #449d44;
|
2797 |
+
border-color: #255625;
|
2798 |
+
}
|
2799 |
+
.btn-success:hover {
|
2800 |
+
color: #ffffff;
|
2801 |
+
background-color: #449d44;
|
2802 |
+
border-color: #398439;
|
2803 |
+
}
|
2804 |
+
.btn-success:active,
|
2805 |
+
.btn-success.active,
|
2806 |
+
.open > .dropdown-toggle.btn-success {
|
2807 |
+
color: #ffffff;
|
2808 |
+
background-color: #449d44;
|
2809 |
+
border-color: #398439;
|
2810 |
+
}
|
2811 |
+
.btn-success:active:hover,
|
2812 |
+
.btn-success.active:hover,
|
2813 |
+
.open > .dropdown-toggle.btn-success:hover,
|
2814 |
+
.btn-success:active:focus,
|
2815 |
+
.btn-success.active:focus,
|
2816 |
+
.open > .dropdown-toggle.btn-success:focus,
|
2817 |
+
.btn-success:active.focus,
|
2818 |
+
.btn-success.active.focus,
|
2819 |
+
.open > .dropdown-toggle.btn-success.focus {
|
2820 |
+
color: #ffffff;
|
2821 |
+
background-color: #398439;
|
2822 |
+
border-color: #255625;
|
2823 |
+
}
|
2824 |
+
.btn-success:active,
|
2825 |
+
.btn-success.active,
|
2826 |
+
.open > .dropdown-toggle.btn-success {
|
2827 |
+
background-image: none;
|
2828 |
+
}
|
2829 |
+
.btn-success.disabled:hover,
|
2830 |
+
.btn-success[disabled]:hover,
|
2831 |
+
fieldset[disabled] .btn-success:hover,
|
2832 |
+
.btn-success.disabled:focus,
|
2833 |
+
.btn-success[disabled]:focus,
|
2834 |
+
fieldset[disabled] .btn-success:focus,
|
2835 |
+
.btn-success.disabled.focus,
|
2836 |
+
.btn-success[disabled].focus,
|
2837 |
+
fieldset[disabled] .btn-success.focus {
|
2838 |
+
background-color: #5cb85c;
|
2839 |
+
border-color: #4cae4c;
|
2840 |
+
}
|
2841 |
+
.btn-success .badge {
|
2842 |
+
color: #5cb85c;
|
2843 |
+
background-color: #ffffff;
|
2844 |
+
}
|
2845 |
+
.btn-info {
|
2846 |
+
color: #ffffff;
|
2847 |
+
background-color: #5bc0de;
|
2848 |
+
border-color: #46b8da;
|
2849 |
+
}
|
2850 |
+
.btn-info:focus,
|
2851 |
+
.btn-info.focus {
|
2852 |
+
color: #ffffff;
|
2853 |
+
background-color: #31b0d5;
|
2854 |
+
border-color: #1b6d85;
|
2855 |
+
}
|
2856 |
+
.btn-info:hover {
|
2857 |
+
color: #ffffff;
|
2858 |
+
background-color: #31b0d5;
|
2859 |
+
border-color: #269abc;
|
2860 |
+
}
|
2861 |
+
.btn-info:active,
|
2862 |
+
.btn-info.active,
|
2863 |
+
.open > .dropdown-toggle.btn-info {
|
2864 |
+
color: #ffffff;
|
2865 |
+
background-color: #31b0d5;
|
2866 |
+
border-color: #269abc;
|
2867 |
+
}
|
2868 |
+
.btn-info:active:hover,
|
2869 |
+
.btn-info.active:hover,
|
2870 |
+
.open > .dropdown-toggle.btn-info:hover,
|
2871 |
+
.btn-info:active:focus,
|
2872 |
+
.btn-info.active:focus,
|
2873 |
+
.open > .dropdown-toggle.btn-info:focus,
|
2874 |
+
.btn-info:active.focus,
|
2875 |
+
.btn-info.active.focus,
|
2876 |
+
.open > .dropdown-toggle.btn-info.focus {
|
2877 |
+
color: #ffffff;
|
2878 |
+
background-color: #269abc;
|
2879 |
+
border-color: #1b6d85;
|
2880 |
+
}
|
2881 |
+
.btn-info:active,
|
2882 |
+
.btn-info.active,
|
2883 |
+
.open > .dropdown-toggle.btn-info {
|
2884 |
+
background-image: none;
|
2885 |
+
}
|
2886 |
+
.btn-info.disabled:hover,
|
2887 |
+
.btn-info[disabled]:hover,
|
2888 |
+
fieldset[disabled] .btn-info:hover,
|
2889 |
+
.btn-info.disabled:focus,
|
2890 |
+
.btn-info[disabled]:focus,
|
2891 |
+
fieldset[disabled] .btn-info:focus,
|
2892 |
+
.btn-info.disabled.focus,
|
2893 |
+
.btn-info[disabled].focus,
|
2894 |
+
fieldset[disabled] .btn-info.focus {
|
2895 |
+
background-color: #5bc0de;
|
2896 |
+
border-color: #46b8da;
|
2897 |
+
}
|
2898 |
+
.btn-info .badge {
|
2899 |
+
color: #5bc0de;
|
2900 |
+
background-color: #ffffff;
|
2901 |
+
}
|
2902 |
+
.btn-warning {
|
2903 |
+
color: #ffffff;
|
2904 |
+
background-color: #f0ad4e;
|
2905 |
+
border-color: #eea236;
|
2906 |
+
}
|
2907 |
+
.btn-warning:focus,
|
2908 |
+
.btn-warning.focus {
|
2909 |
+
color: #ffffff;
|
2910 |
+
background-color: #ec971f;
|
2911 |
+
border-color: #985f0d;
|
2912 |
+
}
|
2913 |
+
.btn-warning:hover {
|
2914 |
+
color: #ffffff;
|
2915 |
+
background-color: #ec971f;
|
2916 |
+
border-color: #d58512;
|
2917 |
+
}
|
2918 |
+
.btn-warning:active,
|
2919 |
+
.btn-warning.active,
|
2920 |
+
.open > .dropdown-toggle.btn-warning {
|
2921 |
+
color: #ffffff;
|
2922 |
+
background-color: #ec971f;
|
2923 |
+
border-color: #d58512;
|
2924 |
+
}
|
2925 |
+
.btn-warning:active:hover,
|
2926 |
+
.btn-warning.active:hover,
|
2927 |
+
.open > .dropdown-toggle.btn-warning:hover,
|
2928 |
+
.btn-warning:active:focus,
|
2929 |
+
.btn-warning.active:focus,
|
2930 |
+
.open > .dropdown-toggle.btn-warning:focus,
|
2931 |
+
.btn-warning:active.focus,
|
2932 |
+
.btn-warning.active.focus,
|
2933 |
+
.open > .dropdown-toggle.btn-warning.focus {
|
2934 |
+
color: #ffffff;
|
2935 |
+
background-color: #d58512;
|
2936 |
+
border-color: #985f0d;
|
2937 |
+
}
|
2938 |
+
.btn-warning:active,
|
2939 |
+
.btn-warning.active,
|
2940 |
+
.open > .dropdown-toggle.btn-warning {
|
2941 |
+
background-image: none;
|
2942 |
+
}
|
2943 |
+
.btn-warning.disabled:hover,
|
2944 |
+
.btn-warning[disabled]:hover,
|
2945 |
+
fieldset[disabled] .btn-warning:hover,
|
2946 |
+
.btn-warning.disabled:focus,
|
2947 |
+
.btn-warning[disabled]:focus,
|
2948 |
+
fieldset[disabled] .btn-warning:focus,
|
2949 |
+
.btn-warning.disabled.focus,
|
2950 |
+
.btn-warning[disabled].focus,
|
2951 |
+
fieldset[disabled] .btn-warning.focus {
|
2952 |
+
background-color: #f0ad4e;
|
2953 |
+
border-color: #eea236;
|
2954 |
+
}
|
2955 |
+
.btn-warning .badge {
|
2956 |
+
color: #f0ad4e;
|
2957 |
+
background-color: #ffffff;
|
2958 |
+
}
|
2959 |
+
.btn-danger {
|
2960 |
+
color: #ffffff;
|
2961 |
+
background-color: #d9534f;
|
2962 |
+
border-color: #d43f3a;
|
2963 |
+
}
|
2964 |
+
.btn-danger:focus,
|
2965 |
+
.btn-danger.focus {
|
2966 |
+
color: #ffffff;
|
2967 |
+
background-color: #c9302c;
|
2968 |
+
border-color: #761c19;
|
2969 |
+
}
|
2970 |
+
.btn-danger:hover {
|
2971 |
+
color: #ffffff;
|
2972 |
+
background-color: #c9302c;
|
2973 |
+
border-color: #ac2925;
|
2974 |
+
}
|
2975 |
+
.btn-danger:active,
|
2976 |
+
.btn-danger.active,
|
2977 |
+
.open > .dropdown-toggle.btn-danger {
|
2978 |
+
color: #ffffff;
|
2979 |
+
background-color: #c9302c;
|
2980 |
+
border-color: #ac2925;
|
2981 |
+
}
|
2982 |
+
.btn-danger:active:hover,
|
2983 |
+
.btn-danger.active:hover,
|
2984 |
+
.open > .dropdown-toggle.btn-danger:hover,
|
2985 |
+
.btn-danger:active:focus,
|
2986 |
+
.btn-danger.active:focus,
|
2987 |
+
.open > .dropdown-toggle.btn-danger:focus,
|
2988 |
+
.btn-danger:active.focus,
|
2989 |
+
.btn-danger.active.focus,
|
2990 |
+
.open > .dropdown-toggle.btn-danger.focus {
|
2991 |
+
color: #ffffff;
|
2992 |
+
background-color: #ac2925;
|
2993 |
+
border-color: #761c19;
|
2994 |
+
}
|
2995 |
+
.btn-danger:active,
|
2996 |
+
.btn-danger.active,
|
2997 |
+
.open > .dropdown-toggle.btn-danger {
|
2998 |
+
background-image: none;
|
2999 |
+
}
|
3000 |
+
.btn-danger.disabled:hover,
|
3001 |
+
.btn-danger[disabled]:hover,
|
3002 |
+
fieldset[disabled] .btn-danger:hover,
|
3003 |
+
.btn-danger.disabled:focus,
|
3004 |
+
.btn-danger[disabled]:focus,
|
3005 |
+
fieldset[disabled] .btn-danger:focus,
|
3006 |
+
.btn-danger.disabled.focus,
|
3007 |
+
.btn-danger[disabled].focus,
|
3008 |
+
fieldset[disabled] .btn-danger.focus {
|
3009 |
+
background-color: #d9534f;
|
3010 |
+
border-color: #d43f3a;
|
3011 |
+
}
|
3012 |
+
.btn-danger .badge {
|
3013 |
+
color: #d9534f;
|
3014 |
+
background-color: #ffffff;
|
3015 |
+
}
|
3016 |
+
.btn-link {
|
3017 |
+
color: #337ab7;
|
3018 |
+
font-weight: normal;
|
3019 |
+
border-radius: 0;
|
3020 |
+
}
|
3021 |
+
.btn-link,
|
3022 |
+
.btn-link:active,
|
3023 |
+
.btn-link.active,
|
3024 |
+
.btn-link[disabled],
|
3025 |
+
fieldset[disabled] .btn-link {
|
3026 |
+
background-color: transparent;
|
3027 |
+
-webkit-box-shadow: none;
|
3028 |
+
box-shadow: none;
|
3029 |
+
}
|
3030 |
+
.btn-link,
|
3031 |
+
.btn-link:hover,
|
3032 |
+
.btn-link:focus,
|
3033 |
+
.btn-link:active {
|
3034 |
+
border-color: transparent;
|
3035 |
+
}
|
3036 |
+
.btn-link:hover,
|
3037 |
+
.btn-link:focus {
|
3038 |
+
color: #23527c;
|
3039 |
+
text-decoration: underline;
|
3040 |
+
background-color: transparent;
|
3041 |
+
}
|
3042 |
+
.btn-link[disabled]:hover,
|
3043 |
+
fieldset[disabled] .btn-link:hover,
|
3044 |
+
.btn-link[disabled]:focus,
|
3045 |
+
fieldset[disabled] .btn-link:focus {
|
3046 |
+
color: #777777;
|
3047 |
+
text-decoration: none;
|
3048 |
+
}
|
3049 |
+
.btn-lg,
|
3050 |
+
.btn-group-lg > .btn {
|
3051 |
+
padding: 10px 16px;
|
3052 |
+
font-size: 18px;
|
3053 |
+
line-height: 1.3333333;
|
3054 |
+
border-radius: 6px;
|
3055 |
+
}
|
3056 |
+
.btn-sm,
|
3057 |
+
.btn-group-sm > .btn {
|
3058 |
+
padding: 5px 10px;
|
3059 |
+
font-size: 12px;
|
3060 |
+
line-height: 1.5;
|
3061 |
+
border-radius: 3px;
|
3062 |
+
}
|
3063 |
+
.btn-xs,
|
3064 |
+
.btn-group-xs > .btn {
|
3065 |
+
padding: 1px 5px;
|
3066 |
+
font-size: 12px;
|
3067 |
+
line-height: 1.5;
|
3068 |
+
border-radius: 3px;
|
3069 |
+
}
|
3070 |
+
.btn-block {
|
3071 |
+
display: block;
|
3072 |
+
width: 100%;
|
3073 |
+
}
|
3074 |
+
.btn-block + .btn-block {
|
3075 |
+
margin-top: 5px;
|
3076 |
+
}
|
3077 |
+
input[type="submit"].btn-block,
|
3078 |
+
input[type="reset"].btn-block,
|
3079 |
+
input[type="button"].btn-block {
|
3080 |
+
width: 100%;
|
3081 |
+
}
|
3082 |
+
.fade {
|
3083 |
+
opacity: 0;
|
3084 |
+
-webkit-transition: opacity 0.15s linear;
|
3085 |
+
-o-transition: opacity 0.15s linear;
|
3086 |
+
transition: opacity 0.15s linear;
|
3087 |
+
}
|
3088 |
+
.fade.in {
|
3089 |
+
opacity: 1;
|
3090 |
+
}
|
3091 |
+
.collapse {
|
3092 |
+
display: none;
|
3093 |
+
}
|
3094 |
+
.collapse.in {
|
3095 |
+
display: block;
|
3096 |
+
}
|
3097 |
+
tr.collapse.in {
|
3098 |
+
display: table-row;
|
3099 |
+
}
|
3100 |
+
tbody.collapse.in {
|
3101 |
+
display: table-row-group;
|
3102 |
+
}
|
3103 |
+
.collapsing {
|
3104 |
+
position: relative;
|
3105 |
+
height: 0;
|
3106 |
+
overflow: hidden;
|
3107 |
+
-webkit-transition-property: height, visibility;
|
3108 |
+
-o-transition-property: height, visibility;
|
3109 |
+
transition-property: height, visibility;
|
3110 |
+
-webkit-transition-duration: 0.35s;
|
3111 |
+
-o-transition-duration: 0.35s;
|
3112 |
+
transition-duration: 0.35s;
|
3113 |
+
-webkit-transition-timing-function: ease;
|
3114 |
+
-o-transition-timing-function: ease;
|
3115 |
+
transition-timing-function: ease;
|
3116 |
+
}
|
3117 |
+
.caret {
|
3118 |
+
display: inline-block;
|
3119 |
+
width: 0;
|
3120 |
+
height: 0;
|
3121 |
+
margin-left: 2px;
|
3122 |
+
vertical-align: middle;
|
3123 |
+
border-top: 4px dashed;
|
3124 |
+
border-top: 4px solid \9;
|
3125 |
+
border-right: 4px solid transparent;
|
3126 |
+
border-left: 4px solid transparent;
|
3127 |
+
}
|
3128 |
+
.dropup,
|
3129 |
+
.dropdown {
|
3130 |
+
position: relative;
|
3131 |
+
}
|
3132 |
+
.dropdown-toggle:focus {
|
3133 |
+
outline: 0;
|
3134 |
+
}
|
3135 |
+
.dropdown-menu {
|
3136 |
+
position: absolute;
|
3137 |
+
top: 100%;
|
3138 |
+
left: 0;
|
3139 |
+
z-index: 1000;
|
3140 |
+
display: none;
|
3141 |
+
float: left;
|
3142 |
+
min-width: 160px;
|
3143 |
+
padding: 5px 0;
|
3144 |
+
margin: 2px 0 0;
|
3145 |
+
list-style: none;
|
3146 |
+
font-size: 14px;
|
3147 |
+
text-align: left;
|
3148 |
+
background-color: #ffffff;
|
3149 |
+
border: 1px solid #cccccc;
|
3150 |
+
border: 1px solid rgba(0, 0, 0, 0.15);
|
3151 |
+
border-radius: 4px;
|
3152 |
+
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
3153 |
+
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
3154 |
+
-webkit-background-clip: padding-box;
|
3155 |
+
background-clip: padding-box;
|
3156 |
+
}
|
3157 |
+
.dropdown-menu.pull-right {
|
3158 |
+
right: 0;
|
3159 |
+
left: auto;
|
3160 |
+
}
|
3161 |
+
.dropdown-menu .divider {
|
3162 |
+
height: 1px;
|
3163 |
+
margin: 9px 0;
|
3164 |
+
overflow: hidden;
|
3165 |
+
background-color: #e5e5e5;
|
3166 |
+
}
|
3167 |
+
.dropdown-menu > li > a {
|
3168 |
+
display: block;
|
3169 |
+
padding: 3px 20px;
|
3170 |
+
clear: both;
|
3171 |
+
font-weight: normal;
|
3172 |
+
line-height: 1.42857143;
|
3173 |
+
color: #333333;
|
3174 |
+
white-space: nowrap;
|
3175 |
+
}
|
3176 |
+
.dropdown-menu > li > a:hover,
|
3177 |
+
.dropdown-menu > li > a:focus {
|
3178 |
+
text-decoration: none;
|
3179 |
+
color: #262626;
|
3180 |
+
background-color: #f5f5f5;
|
3181 |
+
}
|
3182 |
+
.dropdown-menu > .active > a,
|
3183 |
+
.dropdown-menu > .active > a:hover,
|
3184 |
+
.dropdown-menu > .active > a:focus {
|
3185 |
+
color: #ffffff;
|
3186 |
+
text-decoration: none;
|
3187 |
+
outline: 0;
|
3188 |
+
background-color: #337ab7;
|
3189 |
+
}
|
3190 |
+
.dropdown-menu > .disabled > a,
|
3191 |
+
.dropdown-menu > .disabled > a:hover,
|
3192 |
+
.dropdown-menu > .disabled > a:focus {
|
3193 |
+
color: #777777;
|
3194 |
+
}
|
3195 |
+
.dropdown-menu > .disabled > a:hover,
|
3196 |
+
.dropdown-menu > .disabled > a:focus {
|
3197 |
+
text-decoration: none;
|
3198 |
+
background-color: transparent;
|
3199 |
+
background-image: none;
|
3200 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
3201 |
+
cursor: not-allowed;
|
3202 |
+
}
|
3203 |
+
.open > .dropdown-menu {
|
3204 |
+
display: block;
|
3205 |
+
}
|
3206 |
+
.open > a {
|
3207 |
+
outline: 0;
|
3208 |
+
}
|
3209 |
+
.dropdown-menu-right {
|
3210 |
+
left: auto;
|
3211 |
+
right: 0;
|
3212 |
+
}
|
3213 |
+
.dropdown-menu-left {
|
3214 |
+
left: 0;
|
3215 |
+
right: auto;
|
3216 |
+
}
|
3217 |
+
.dropdown-header {
|
3218 |
+
display: block;
|
3219 |
+
padding: 3px 20px;
|
3220 |
+
font-size: 12px;
|
3221 |
+
line-height: 1.42857143;
|
3222 |
+
color: #777777;
|
3223 |
+
white-space: nowrap;
|
3224 |
+
}
|
3225 |
+
.dropdown-backdrop {
|
3226 |
+
position: fixed;
|
3227 |
+
left: 0;
|
3228 |
+
right: 0;
|
3229 |
+
bottom: 0;
|
3230 |
+
top: 0;
|
3231 |
+
z-index: 990;
|
3232 |
+
}
|
3233 |
+
.pull-right > .dropdown-menu {
|
3234 |
+
right: 0;
|
3235 |
+
left: auto;
|
3236 |
+
}
|
3237 |
+
.dropup .caret,
|
3238 |
+
.navbar-fixed-bottom .dropdown .caret {
|
3239 |
+
border-top: 0;
|
3240 |
+
border-bottom: 4px dashed;
|
3241 |
+
border-bottom: 4px solid \9;
|
3242 |
+
content: "";
|
3243 |
+
}
|
3244 |
+
.dropup .dropdown-menu,
|
3245 |
+
.navbar-fixed-bottom .dropdown .dropdown-menu {
|
3246 |
+
top: auto;
|
3247 |
+
bottom: 100%;
|
3248 |
+
margin-bottom: 2px;
|
3249 |
+
}
|
3250 |
+
@media (min-width: 768px) {
|
3251 |
+
.navbar-right .dropdown-menu {
|
3252 |
+
left: auto;
|
3253 |
+
right: 0;
|
3254 |
+
}
|
3255 |
+
.navbar-right .dropdown-menu-left {
|
3256 |
+
left: 0;
|
3257 |
+
right: auto;
|
3258 |
+
}
|
3259 |
+
}
|
3260 |
+
.btn-group,
|
3261 |
+
.btn-group-vertical {
|
3262 |
+
position: relative;
|
3263 |
+
display: inline-block;
|
3264 |
+
vertical-align: middle;
|
3265 |
+
}
|
3266 |
+
.btn-group > .btn,
|
3267 |
+
.btn-group-vertical > .btn {
|
3268 |
+
position: relative;
|
3269 |
+
float: left;
|
3270 |
+
}
|
3271 |
+
.btn-group > .btn:hover,
|
3272 |
+
.btn-group-vertical > .btn:hover,
|
3273 |
+
.btn-group > .btn:focus,
|
3274 |
+
.btn-group-vertical > .btn:focus,
|
3275 |
+
.btn-group > .btn:active,
|
3276 |
+
.btn-group-vertical > .btn:active,
|
3277 |
+
.btn-group > .btn.active,
|
3278 |
+
.btn-group-vertical > .btn.active {
|
3279 |
+
z-index: 2;
|
3280 |
+
}
|
3281 |
+
.btn-group .btn + .btn,
|
3282 |
+
.btn-group .btn + .btn-group,
|
3283 |
+
.btn-group .btn-group + .btn,
|
3284 |
+
.btn-group .btn-group + .btn-group {
|
3285 |
+
margin-left: -1px;
|
3286 |
+
}
|
3287 |
+
.btn-toolbar {
|
3288 |
+
margin-left: -5px;
|
3289 |
+
}
|
3290 |
+
.btn-toolbar .btn,
|
3291 |
+
.btn-toolbar .btn-group,
|
3292 |
+
.btn-toolbar .input-group {
|
3293 |
+
float: left;
|
3294 |
+
}
|
3295 |
+
.btn-toolbar > .btn,
|
3296 |
+
.btn-toolbar > .btn-group,
|
3297 |
+
.btn-toolbar > .input-group {
|
3298 |
+
margin-left: 5px;
|
3299 |
+
}
|
3300 |
+
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
|
3301 |
+
border-radius: 0;
|
3302 |
+
}
|
3303 |
+
.btn-group > .btn:first-child {
|
3304 |
+
margin-left: 0;
|
3305 |
+
}
|
3306 |
+
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
|
3307 |
+
border-bottom-right-radius: 0;
|
3308 |
+
border-top-right-radius: 0;
|
3309 |
+
}
|
3310 |
+
.btn-group > .btn:last-child:not(:first-child),
|
3311 |
+
.btn-group > .dropdown-toggle:not(:first-child) {
|
3312 |
+
border-bottom-left-radius: 0;
|
3313 |
+
border-top-left-radius: 0;
|
3314 |
+
}
|
3315 |
+
.btn-group > .btn-group {
|
3316 |
+
float: left;
|
3317 |
+
}
|
3318 |
+
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
|
3319 |
+
border-radius: 0;
|
3320 |
+
}
|
3321 |
+
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
|
3322 |
+
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
|
3323 |
+
border-bottom-right-radius: 0;
|
3324 |
+
border-top-right-radius: 0;
|
3325 |
+
}
|
3326 |
+
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
|
3327 |
+
border-bottom-left-radius: 0;
|
3328 |
+
border-top-left-radius: 0;
|
3329 |
+
}
|
3330 |
+
.btn-group .dropdown-toggle:active,
|
3331 |
+
.btn-group.open .dropdown-toggle {
|
3332 |
+
outline: 0;
|
3333 |
+
}
|
3334 |
+
.btn-group > .btn + .dropdown-toggle {
|
3335 |
+
padding-left: 8px;
|
3336 |
+
padding-right: 8px;
|
3337 |
+
}
|
3338 |
+
.btn-group > .btn-lg + .dropdown-toggle {
|
3339 |
+
padding-left: 12px;
|
3340 |
+
padding-right: 12px;
|
3341 |
+
}
|
3342 |
+
.btn-group.open .dropdown-toggle {
|
3343 |
+
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
3344 |
+
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
3345 |
+
}
|
3346 |
+
.btn-group.open .dropdown-toggle.btn-link {
|
3347 |
+
-webkit-box-shadow: none;
|
3348 |
+
box-shadow: none;
|
3349 |
+
}
|
3350 |
+
.btn .caret {
|
3351 |
+
margin-left: 0;
|
3352 |
+
}
|
3353 |
+
.btn-lg .caret {
|
3354 |
+
border-width: 5px 5px 0;
|
3355 |
+
border-bottom-width: 0;
|
3356 |
+
}
|
3357 |
+
.dropup .btn-lg .caret {
|
3358 |
+
border-width: 0 5px 5px;
|
3359 |
+
}
|
3360 |
+
.btn-group-vertical > .btn,
|
3361 |
+
.btn-group-vertical > .btn-group,
|
3362 |
+
.btn-group-vertical > .btn-group > .btn {
|
3363 |
+
display: block;
|
3364 |
+
float: none;
|
3365 |
+
width: 100%;
|
3366 |
+
max-width: 100%;
|
3367 |
+
}
|
3368 |
+
.btn-group-vertical > .btn-group > .btn {
|
3369 |
+
float: none;
|
3370 |
+
}
|
3371 |
+
.btn-group-vertical > .btn + .btn,
|
3372 |
+
.btn-group-vertical > .btn + .btn-group,
|
3373 |
+
.btn-group-vertical > .btn-group + .btn,
|
3374 |
+
.btn-group-vertical > .btn-group + .btn-group {
|
3375 |
+
margin-top: -1px;
|
3376 |
+
margin-left: 0;
|
3377 |
+
}
|
3378 |
+
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
|
3379 |
+
border-radius: 0;
|
3380 |
+
}
|
3381 |
+
.btn-group-vertical > .btn:first-child:not(:last-child) {
|
3382 |
+
border-top-right-radius: 4px;
|
3383 |
+
border-top-left-radius: 4px;
|
3384 |
+
border-bottom-right-radius: 0;
|
3385 |
+
border-bottom-left-radius: 0;
|
3386 |
+
}
|
3387 |
+
.btn-group-vertical > .btn:last-child:not(:first-child) {
|
3388 |
+
border-top-right-radius: 0;
|
3389 |
+
border-top-left-radius: 0;
|
3390 |
+
border-bottom-right-radius: 4px;
|
3391 |
+
border-bottom-left-radius: 4px;
|
3392 |
+
}
|
3393 |
+
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
|
3394 |
+
border-radius: 0;
|
3395 |
+
}
|
3396 |
+
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
|
3397 |
+
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
|
3398 |
+
border-bottom-right-radius: 0;
|
3399 |
+
border-bottom-left-radius: 0;
|
3400 |
+
}
|
3401 |
+
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
|
3402 |
+
border-top-right-radius: 0;
|
3403 |
+
border-top-left-radius: 0;
|
3404 |
+
}
|
3405 |
+
.btn-group-justified {
|
3406 |
+
display: table;
|
3407 |
+
width: 100%;
|
3408 |
+
table-layout: fixed;
|
3409 |
+
border-collapse: separate;
|
3410 |
+
}
|
3411 |
+
.btn-group-justified > .btn,
|
3412 |
+
.btn-group-justified > .btn-group {
|
3413 |
+
float: none;
|
3414 |
+
display: table-cell;
|
3415 |
+
width: 1%;
|
3416 |
+
}
|
3417 |
+
.btn-group-justified > .btn-group .btn {
|
3418 |
+
width: 100%;
|
3419 |
+
}
|
3420 |
+
.btn-group-justified > .btn-group .dropdown-menu {
|
3421 |
+
left: auto;
|
3422 |
+
}
|
3423 |
+
[data-toggle="buttons"] > .btn input[type="radio"],
|
3424 |
+
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
|
3425 |
+
[data-toggle="buttons"] > .btn input[type="checkbox"],
|
3426 |
+
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
|
3427 |
+
position: absolute;
|
3428 |
+
clip: rect(0, 0, 0, 0);
|
3429 |
+
pointer-events: none;
|
3430 |
+
}
|
3431 |
+
.input-group {
|
3432 |
+
position: relative;
|
3433 |
+
display: table;
|
3434 |
+
border-collapse: separate;
|
3435 |
+
}
|
3436 |
+
.input-group[class*="col-"] {
|
3437 |
+
float: none;
|
3438 |
+
padding-left: 0;
|
3439 |
+
padding-right: 0;
|
3440 |
+
}
|
3441 |
+
.input-group .form-control {
|
3442 |
+
position: relative;
|
3443 |
+
z-index: 2;
|
3444 |
+
float: left;
|
3445 |
+
width: 100%;
|
3446 |
+
margin-bottom: 0;
|
3447 |
+
}
|
3448 |
+
.input-group .form-control:focus {
|
3449 |
+
z-index: 3;
|
3450 |
+
}
|
3451 |
+
.input-group-lg > .form-control,
|
3452 |
+
.input-group-lg > .input-group-addon,
|
3453 |
+
.input-group-lg > .input-group-btn > .btn {
|
3454 |
+
height: 46px;
|
3455 |
+
padding: 10px 16px;
|
3456 |
+
font-size: 18px;
|
3457 |
+
line-height: 1.3333333;
|
3458 |
+
border-radius: 6px;
|
3459 |
+
}
|
3460 |
+
select.input-group-lg > .form-control,
|
3461 |
+
select.input-group-lg > .input-group-addon,
|
3462 |
+
select.input-group-lg > .input-group-btn > .btn {
|
3463 |
+
height: 46px;
|
3464 |
+
line-height: 46px;
|
3465 |
+
}
|
3466 |
+
textarea.input-group-lg > .form-control,
|
3467 |
+
textarea.input-group-lg > .input-group-addon,
|
3468 |
+
textarea.input-group-lg > .input-group-btn > .btn,
|
3469 |
+
select[multiple].input-group-lg > .form-control,
|
3470 |
+
select[multiple].input-group-lg > .input-group-addon,
|
3471 |
+
select[multiple].input-group-lg > .input-group-btn > .btn {
|
3472 |
+
height: auto;
|
3473 |
+
}
|
3474 |
+
.input-group-sm > .form-control,
|
3475 |
+
.input-group-sm > .input-group-addon,
|
3476 |
+
.input-group-sm > .input-group-btn > .btn {
|
3477 |
+
height: 30px;
|
3478 |
+
padding: 5px 10px;
|
3479 |
+
font-size: 12px;
|
3480 |
+
line-height: 1.5;
|
3481 |
+
border-radius: 3px;
|
3482 |
+
}
|
3483 |
+
select.input-group-sm > .form-control,
|
3484 |
+
select.input-group-sm > .input-group-addon,
|
3485 |
+
select.input-group-sm > .input-group-btn > .btn {
|
3486 |
+
height: 30px;
|
3487 |
+
line-height: 30px;
|
3488 |
+
}
|
3489 |
+
textarea.input-group-sm > .form-control,
|
3490 |
+
textarea.input-group-sm > .input-group-addon,
|
3491 |
+
textarea.input-group-sm > .input-group-btn > .btn,
|
3492 |
+
select[multiple].input-group-sm > .form-control,
|
3493 |
+
select[multiple].input-group-sm > .input-group-addon,
|
3494 |
+
select[multiple].input-group-sm > .input-group-btn > .btn {
|
3495 |
+
height: auto;
|
3496 |
+
}
|
3497 |
+
.input-group-addon,
|
3498 |
+
.input-group-btn,
|
3499 |
+
.input-group .form-control {
|
3500 |
+
display: table-cell;
|
3501 |
+
}
|
3502 |
+
.input-group-addon:not(:first-child):not(:last-child),
|
3503 |
+
.input-group-btn:not(:first-child):not(:last-child),
|
3504 |
+
.input-group .form-control:not(:first-child):not(:last-child) {
|
3505 |
+
border-radius: 0;
|
3506 |
+
}
|
3507 |
+
.input-group-addon,
|
3508 |
+
.input-group-btn {
|
3509 |
+
width: 1%;
|
3510 |
+
white-space: nowrap;
|
3511 |
+
vertical-align: middle;
|
3512 |
+
}
|
3513 |
+
.input-group-addon {
|
3514 |
+
padding: 6px 12px;
|
3515 |
+
font-size: 14px;
|
3516 |
+
font-weight: normal;
|
3517 |
+
line-height: 1;
|
3518 |
+
color: #555555;
|
3519 |
+
text-align: center;
|
3520 |
+
background-color: #eeeeee;
|
3521 |
+
border: 1px solid #cccccc;
|
3522 |
+
border-radius: 4px;
|
3523 |
+
}
|
3524 |
+
.input-group-addon.input-sm {
|
3525 |
+
padding: 5px 10px;
|
3526 |
+
font-size: 12px;
|
3527 |
+
border-radius: 3px;
|
3528 |
+
}
|
3529 |
+
.input-group-addon.input-lg {
|
3530 |
+
padding: 10px 16px;
|
3531 |
+
font-size: 18px;
|
3532 |
+
border-radius: 6px;
|
3533 |
+
}
|
3534 |
+
.input-group-addon input[type="radio"],
|
3535 |
+
.input-group-addon input[type="checkbox"] {
|
3536 |
+
margin-top: 0;
|
3537 |
+
}
|
3538 |
+
.input-group .form-control:first-child,
|
3539 |
+
.input-group-addon:first-child,
|
3540 |
+
.input-group-btn:first-child > .btn,
|
3541 |
+
.input-group-btn:first-child > .btn-group > .btn,
|
3542 |
+
.input-group-btn:first-child > .dropdown-toggle,
|
3543 |
+
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
|
3544 |
+
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
|
3545 |
+
border-bottom-right-radius: 0;
|
3546 |
+
border-top-right-radius: 0;
|
3547 |
+
}
|
3548 |
+
.input-group-addon:first-child {
|
3549 |
+
border-right: 0;
|
3550 |
+
}
|
3551 |
+
.input-group .form-control:last-child,
|
3552 |
+
.input-group-addon:last-child,
|
3553 |
+
.input-group-btn:last-child > .btn,
|
3554 |
+
.input-group-btn:last-child > .btn-group > .btn,
|
3555 |
+
.input-group-btn:last-child > .dropdown-toggle,
|
3556 |
+
.input-group-btn:first-child > .btn:not(:first-child),
|
3557 |
+
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
|
3558 |
+
border-bottom-left-radius: 0;
|
3559 |
+
border-top-left-radius: 0;
|
3560 |
+
}
|
3561 |
+
.input-group-addon:last-child {
|
3562 |
+
border-left: 0;
|
3563 |
+
}
|
3564 |
+
.input-group-btn {
|
3565 |
+
position: relative;
|
3566 |
+
font-size: 0;
|
3567 |
+
white-space: nowrap;
|
3568 |
+
}
|
3569 |
+
.input-group-btn > .btn {
|
3570 |
+
position: relative;
|
3571 |
+
}
|
3572 |
+
.input-group-btn > .btn + .btn {
|
3573 |
+
margin-left: -1px;
|
3574 |
+
}
|
3575 |
+
.input-group-btn > .btn:hover,
|
3576 |
+
.input-group-btn > .btn:focus,
|
3577 |
+
.input-group-btn > .btn:active {
|
3578 |
+
z-index: 2;
|
3579 |
+
}
|
3580 |
+
.input-group-btn:first-child > .btn,
|
3581 |
+
.input-group-btn:first-child > .btn-group {
|
3582 |
+
margin-right: -1px;
|
3583 |
+
}
|
3584 |
+
.input-group-btn:last-child > .btn,
|
3585 |
+
.input-group-btn:last-child > .btn-group {
|
3586 |
+
z-index: 2;
|
3587 |
+
margin-left: -1px;
|
3588 |
+
}
|
3589 |
+
.nav {
|
3590 |
+
margin-bottom: 0;
|
3591 |
+
padding-left: 0;
|
3592 |
+
list-style: none;
|
3593 |
+
}
|
3594 |
+
.nav > li {
|
3595 |
+
position: relative;
|
3596 |
+
display: block;
|
3597 |
+
}
|
3598 |
+
.nav > li > a {
|
3599 |
+
position: relative;
|
3600 |
+
display: block;
|
3601 |
+
padding: 10px 15px;
|
3602 |
+
}
|
3603 |
+
.nav > li > a:hover,
|
3604 |
+
.nav > li > a:focus {
|
3605 |
+
text-decoration: none;
|
3606 |
+
background-color: #eeeeee;
|
3607 |
+
}
|
3608 |
+
.nav > li.disabled > a {
|
3609 |
+
color: #777777;
|
3610 |
+
}
|
3611 |
+
.nav > li.disabled > a:hover,
|
3612 |
+
.nav > li.disabled > a:focus {
|
3613 |
+
color: #777777;
|
3614 |
+
text-decoration: none;
|
3615 |
+
background-color: transparent;
|
3616 |
+
cursor: not-allowed;
|
3617 |
+
}
|
3618 |
+
.nav .open > a,
|
3619 |
+
.nav .open > a:hover,
|
3620 |
+
.nav .open > a:focus {
|
3621 |
+
background-color: #eeeeee;
|
3622 |
+
border-color: #337ab7;
|
3623 |
+
}
|
3624 |
+
.nav .nav-divider {
|
3625 |
+
height: 1px;
|
3626 |
+
margin: 9px 0;
|
3627 |
+
overflow: hidden;
|
3628 |
+
background-color: #e5e5e5;
|
3629 |
+
}
|
3630 |
+
.nav > li > a > img {
|
3631 |
+
max-width: none;
|
3632 |
+
}
|
3633 |
+
.nav-tabs {
|
3634 |
+
border-bottom: 1px solid #dddddd;
|
3635 |
+
}
|
3636 |
+
.nav-tabs > li {
|
3637 |
+
float: left;
|
3638 |
+
margin-bottom: -1px;
|
3639 |
+
}
|
3640 |
+
.nav-tabs > li > a {
|
3641 |
+
margin-right: 2px;
|
3642 |
+
line-height: 1.42857143;
|
3643 |
+
border: 1px solid transparent;
|
3644 |
+
border-radius: 4px 4px 0 0;
|
3645 |
+
}
|
3646 |
+
.nav-tabs > li > a:hover {
|
3647 |
+
border-color: #eeeeee #eeeeee #dddddd;
|
3648 |
+
}
|
3649 |
+
.nav-tabs > li.active > a,
|
3650 |
+
.nav-tabs > li.active > a:hover,
|
3651 |
+
.nav-tabs > li.active > a:focus {
|
3652 |
+
color: #555555;
|
3653 |
+
background-color: #ffffff;
|
3654 |
+
border: 1px solid #dddddd;
|
3655 |
+
border-bottom-color: transparent;
|
3656 |
+
cursor: default;
|
3657 |
+
}
|
3658 |
+
.nav-tabs.nav-justified {
|
3659 |
+
width: 100%;
|
3660 |
+
border-bottom: 0;
|
3661 |
+
}
|
3662 |
+
.nav-tabs.nav-justified > li {
|
3663 |
+
float: none;
|
3664 |
+
}
|
3665 |
+
.nav-tabs.nav-justified > li > a {
|
3666 |
+
text-align: center;
|
3667 |
+
margin-bottom: 5px;
|
3668 |
+
}
|
3669 |
+
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
|
3670 |
+
top: auto;
|
3671 |
+
left: auto;
|
3672 |
+
}
|
3673 |
+
@media (min-width: 768px) {
|
3674 |
+
.nav-tabs.nav-justified > li {
|
3675 |
+
display: table-cell;
|
3676 |
+
width: 1%;
|
3677 |
+
}
|
3678 |
+
.nav-tabs.nav-justified > li > a {
|
3679 |
+
margin-bottom: 0;
|
3680 |
+
}
|
3681 |
+
}
|
3682 |
+
.nav-tabs.nav-justified > li > a {
|
3683 |
+
margin-right: 0;
|
3684 |
+
border-radius: 4px;
|
3685 |
+
}
|
3686 |
+
.nav-tabs.nav-justified > .active > a,
|
3687 |
+
.nav-tabs.nav-justified > .active > a:hover,
|
3688 |
+
.nav-tabs.nav-justified > .active > a:focus {
|
3689 |
+
border: 1px solid #dddddd;
|
3690 |
+
}
|
3691 |
+
@media (min-width: 768px) {
|
3692 |
+
.nav-tabs.nav-justified > li > a {
|
3693 |
+
border-bottom: 1px solid #dddddd;
|
3694 |
+
border-radius: 4px 4px 0 0;
|
3695 |
+
}
|
3696 |
+
.nav-tabs.nav-justified > .active > a,
|
3697 |
+
.nav-tabs.nav-justified > .active > a:hover,
|
3698 |
+
.nav-tabs.nav-justified > .active > a:focus {
|
3699 |
+
border-bottom-color: #ffffff;
|
3700 |
+
}
|
3701 |
+
}
|
3702 |
+
.nav-pills > li {
|
3703 |
+
float: left;
|
3704 |
+
}
|
3705 |
+
.nav-pills > li > a {
|
3706 |
+
border-radius: 4px;
|
3707 |
+
}
|
3708 |
+
.nav-pills > li + li {
|
3709 |
+
margin-left: 2px;
|
3710 |
+
}
|
3711 |
+
.nav-pills > li.active > a,
|
3712 |
+
.nav-pills > li.active > a:hover,
|
3713 |
+
.nav-pills > li.active > a:focus {
|
3714 |
+
color: #ffffff;
|
3715 |
+
background-color: #337ab7;
|
3716 |
+
}
|
3717 |
+
.nav-stacked > li {
|
3718 |
+
float: none;
|
3719 |
+
}
|
3720 |
+
.nav-stacked > li + li {
|
3721 |
+
margin-top: 2px;
|
3722 |
+
margin-left: 0;
|
3723 |
+
}
|
3724 |
+
.nav-justified {
|
3725 |
+
width: 100%;
|
3726 |
+
}
|
3727 |
+
.nav-justified > li {
|
3728 |
+
float: none;
|
3729 |
+
}
|
3730 |
+
.nav-justified > li > a {
|
3731 |
+
text-align: center;
|
3732 |
+
margin-bottom: 5px;
|
3733 |
+
}
|
3734 |
+
.nav-justified > .dropdown .dropdown-menu {
|
3735 |
+
top: auto;
|
3736 |
+
left: auto;
|
3737 |
+
}
|
3738 |
+
@media (min-width: 768px) {
|
3739 |
+
.nav-justified > li {
|
3740 |
+
display: table-cell;
|
3741 |
+
width: 1%;
|
3742 |
+
}
|
3743 |
+
.nav-justified > li > a {
|
3744 |
+
margin-bottom: 0;
|
3745 |
+
}
|
3746 |
+
}
|
3747 |
+
.nav-tabs-justified {
|
3748 |
+
border-bottom: 0;
|
3749 |
+
}
|
3750 |
+
.nav-tabs-justified > li > a {
|
3751 |
+
margin-right: 0;
|
3752 |
+
border-radius: 4px;
|
3753 |
+
}
|
3754 |
+
.nav-tabs-justified > .active > a,
|
3755 |
+
.nav-tabs-justified > .active > a:hover,
|
3756 |
+
.nav-tabs-justified > .active > a:focus {
|
3757 |
+
border: 1px solid #dddddd;
|
3758 |
+
}
|
3759 |
+
@media (min-width: 768px) {
|
3760 |
+
.nav-tabs-justified > li > a {
|
3761 |
+
border-bottom: 1px solid #dddddd;
|
3762 |
+
border-radius: 4px 4px 0 0;
|
3763 |
+
}
|
3764 |
+
.nav-tabs-justified > .active > a,
|
3765 |
+
.nav-tabs-justified > .active > a:hover,
|
3766 |
+
.nav-tabs-justified > .active > a:focus {
|
3767 |
+
border-bottom-color: #ffffff;
|
3768 |
+
}
|
3769 |
+
}
|
3770 |
+
.tab-content > .tab-pane {
|
3771 |
+
display: none;
|
3772 |
+
}
|
3773 |
+
.tab-content > .active {
|
3774 |
+
display: block;
|
3775 |
+
}
|
3776 |
+
.nav-tabs .dropdown-menu {
|
3777 |
+
margin-top: -1px;
|
3778 |
+
border-top-right-radius: 0;
|
3779 |
+
border-top-left-radius: 0;
|
3780 |
+
}
|
3781 |
+
.navbar {
|
3782 |
+
position: relative;
|
3783 |
+
min-height: 50px;
|
3784 |
+
margin-bottom: 20px;
|
3785 |
+
border: 1px solid transparent;
|
3786 |
+
}
|
3787 |
+
@media (min-width: 768px) {
|
3788 |
+
.navbar {
|
3789 |
+
border-radius: 4px;
|
3790 |
+
}
|
3791 |
+
}
|
3792 |
+
@media (min-width: 768px) {
|
3793 |
+
.navbar-header {
|
3794 |
+
float: left;
|
3795 |
+
}
|
3796 |
+
}
|
3797 |
+
.navbar-collapse {
|
3798 |
+
overflow-x: visible;
|
3799 |
+
padding-right: 15px;
|
3800 |
+
padding-left: 15px;
|
3801 |
+
border-top: 1px solid transparent;
|
3802 |
+
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
|
3803 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
|
3804 |
+
-webkit-overflow-scrolling: touch;
|
3805 |
+
}
|
3806 |
+
.navbar-collapse.in {
|
3807 |
+
overflow-y: auto;
|
3808 |
+
}
|
3809 |
+
@media (min-width: 768px) {
|
3810 |
+
.navbar-collapse {
|
3811 |
+
width: auto;
|
3812 |
+
border-top: 0;
|
3813 |
+
-webkit-box-shadow: none;
|
3814 |
+
box-shadow: none;
|
3815 |
+
}
|
3816 |
+
.navbar-collapse.collapse {
|
3817 |
+
display: block !important;
|
3818 |
+
height: auto !important;
|
3819 |
+
padding-bottom: 0;
|
3820 |
+
overflow: visible !important;
|
3821 |
+
}
|
3822 |
+
.navbar-collapse.in {
|
3823 |
+
overflow-y: visible;
|
3824 |
+
}
|
3825 |
+
.navbar-fixed-top .navbar-collapse,
|
3826 |
+
.navbar-static-top .navbar-collapse,
|
3827 |
+
.navbar-fixed-bottom .navbar-collapse {
|
3828 |
+
padding-left: 0;
|
3829 |
+
padding-right: 0;
|
3830 |
+
}
|
3831 |
+
}
|
3832 |
+
.navbar-fixed-top .navbar-collapse,
|
3833 |
+
.navbar-fixed-bottom .navbar-collapse {
|
3834 |
+
max-height: 340px;
|
3835 |
+
}
|
3836 |
+
@media (max-device-width: 480px) and (orientation: landscape) {
|
3837 |
+
.navbar-fixed-top .navbar-collapse,
|
3838 |
+
.navbar-fixed-bottom .navbar-collapse {
|
3839 |
+
max-height: 200px;
|
3840 |
+
}
|
3841 |
+
}
|
3842 |
+
.container > .navbar-header,
|
3843 |
+
.container-fluid > .navbar-header,
|
3844 |
+
.container > .navbar-collapse,
|
3845 |
+
.container-fluid > .navbar-collapse {
|
3846 |
+
margin-right: -15px;
|
3847 |
+
margin-left: -15px;
|
3848 |
+
}
|
3849 |
+
@media (min-width: 768px) {
|
3850 |
+
.container > .navbar-header,
|
3851 |
+
.container-fluid > .navbar-header,
|
3852 |
+
.container > .navbar-collapse,
|
3853 |
+
.container-fluid > .navbar-collapse {
|
3854 |
+
margin-right: 0;
|
3855 |
+
margin-left: 0;
|
3856 |
+
}
|
3857 |
+
}
|
3858 |
+
.navbar-static-top {
|
3859 |
+
z-index: 1000;
|
3860 |
+
border-width: 0 0 1px;
|
3861 |
+
}
|
3862 |
+
@media (min-width: 768px) {
|
3863 |
+
.navbar-static-top {
|
3864 |
+
border-radius: 0;
|
3865 |
+
}
|
3866 |
+
}
|
3867 |
+
.navbar-fixed-top,
|
3868 |
+
.navbar-fixed-bottom {
|
3869 |
+
position: fixed;
|
3870 |
+
right: 0;
|
3871 |
+
left: 0;
|
3872 |
+
z-index: 1030;
|
3873 |
+
}
|
3874 |
+
@media (min-width: 768px) {
|
3875 |
+
.navbar-fixed-top,
|
3876 |
+
.navbar-fixed-bottom {
|
3877 |
+
border-radius: 0;
|
3878 |
+
}
|
3879 |
+
}
|
3880 |
+
.navbar-fixed-top {
|
3881 |
+
top: 0;
|
3882 |
+
border-width: 0 0 1px;
|
3883 |
+
}
|
3884 |
+
.navbar-fixed-bottom {
|
3885 |
+
bottom: 0;
|
3886 |
+
margin-bottom: 0;
|
3887 |
+
border-width: 1px 0 0;
|
3888 |
+
}
|
3889 |
+
.navbar-brand {
|
3890 |
+
float: left;
|
3891 |
+
padding: 15px 15px;
|
3892 |
+
font-size: 18px;
|
3893 |
+
line-height: 20px;
|
3894 |
+
height: 50px;
|
3895 |
+
}
|
3896 |
+
.navbar-brand:hover,
|
3897 |
+
.navbar-brand:focus {
|
3898 |
+
text-decoration: none;
|
3899 |
+
}
|
3900 |
+
.navbar-brand > img {
|
3901 |
+
display: block;
|
3902 |
+
}
|
3903 |
+
@media (min-width: 768px) {
|
3904 |
+
.navbar > .container .navbar-brand,
|
3905 |
+
.navbar > .container-fluid .navbar-brand {
|
3906 |
+
margin-left: -15px;
|
3907 |
+
}
|
3908 |
+
}
|
3909 |
+
.navbar-toggle {
|
3910 |
+
position: relative;
|
3911 |
+
float: right;
|
3912 |
+
margin-right: 15px;
|
3913 |
+
padding: 9px 10px;
|
3914 |
+
margin-top: 8px;
|
3915 |
+
margin-bottom: 8px;
|
3916 |
+
background-color: transparent;
|
3917 |
+
background-image: none;
|
3918 |
+
border: 1px solid transparent;
|
3919 |
+
border-radius: 4px;
|
3920 |
+
}
|
3921 |
+
.navbar-toggle:focus {
|
3922 |
+
outline: 0;
|
3923 |
+
}
|
3924 |
+
.navbar-toggle .icon-bar {
|
3925 |
+
display: block;
|
3926 |
+
width: 22px;
|
3927 |
+
height: 2px;
|
3928 |
+
border-radius: 1px;
|
3929 |
+
}
|
3930 |
+
.navbar-toggle .icon-bar + .icon-bar {
|
3931 |
+
margin-top: 4px;
|
3932 |
+
}
|
3933 |
+
@media (min-width: 768px) {
|
3934 |
+
.navbar-toggle {
|
3935 |
+
display: none;
|
3936 |
+
}
|
3937 |
+
}
|
3938 |
+
.navbar-nav {
|
3939 |
+
margin: 7.5px -15px;
|
3940 |
+
}
|
3941 |
+
.navbar-nav > li > a {
|
3942 |
+
padding-top: 10px;
|
3943 |
+
padding-bottom: 10px;
|
3944 |
+
line-height: 20px;
|
3945 |
+
}
|
3946 |
+
@media (max-width: 767px) {
|
3947 |
+
.navbar-nav .open .dropdown-menu {
|
3948 |
+
position: static;
|
3949 |
+
float: none;
|
3950 |
+
width: auto;
|
3951 |
+
margin-top: 0;
|
3952 |
+
background-color: transparent;
|
3953 |
+
border: 0;
|
3954 |
+
-webkit-box-shadow: none;
|
3955 |
+
box-shadow: none;
|
3956 |
+
}
|
3957 |
+
.navbar-nav .open .dropdown-menu > li > a,
|
3958 |
+
.navbar-nav .open .dropdown-menu .dropdown-header {
|
3959 |
+
padding: 5px 15px 5px 25px;
|
3960 |
+
}
|
3961 |
+
.navbar-nav .open .dropdown-menu > li > a {
|
3962 |
+
line-height: 20px;
|
3963 |
+
}
|
3964 |
+
.navbar-nav .open .dropdown-menu > li > a:hover,
|
3965 |
+
.navbar-nav .open .dropdown-menu > li > a:focus {
|
3966 |
+
background-image: none;
|
3967 |
+
}
|
3968 |
+
}
|
3969 |
+
@media (min-width: 768px) {
|
3970 |
+
.navbar-nav {
|
3971 |
+
float: left;
|
3972 |
+
margin: 0;
|
3973 |
+
}
|
3974 |
+
.navbar-nav > li {
|
3975 |
+
float: left;
|
3976 |
+
}
|
3977 |
+
.navbar-nav > li > a {
|
3978 |
+
padding-top: 15px;
|
3979 |
+
padding-bottom: 15px;
|
3980 |
+
}
|
3981 |
+
}
|
3982 |
+
.navbar-form {
|
3983 |
+
margin-left: -15px;
|
3984 |
+
margin-right: -15px;
|
3985 |
+
padding: 10px 15px;
|
3986 |
+
border-top: 1px solid transparent;
|
3987 |
+
border-bottom: 1px solid transparent;
|
3988 |
+
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
|
3989 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
|
3990 |
+
margin-top: 8px;
|
3991 |
+
margin-bottom: 8px;
|
3992 |
+
}
|
3993 |
+
@media (min-width: 768px) {
|
3994 |
+
.navbar-form .form-group {
|
3995 |
+
display: inline-block;
|
3996 |
+
margin-bottom: 0;
|
3997 |
+
vertical-align: middle;
|
3998 |
+
}
|
3999 |
+
.navbar-form .form-control {
|
4000 |
+
display: inline-block;
|
4001 |
+
width: auto;
|
4002 |
+
vertical-align: middle;
|
4003 |
+
}
|
4004 |
+
.navbar-form .form-control-static {
|
4005 |
+
display: inline-block;
|
4006 |
+
}
|
4007 |
+
.navbar-form .input-group {
|
4008 |
+
display: inline-table;
|
4009 |
+
vertical-align: middle;
|
4010 |
+
}
|
4011 |
+
.navbar-form .input-group .input-group-addon,
|
4012 |
+
.navbar-form .input-group .input-group-btn,
|
4013 |
+
.navbar-form .input-group .form-control {
|
4014 |
+
width: auto;
|
4015 |
+
}
|
4016 |
+
.navbar-form .input-group > .form-control {
|
4017 |
+
width: 100%;
|
4018 |
+
}
|
4019 |
+
.navbar-form .control-label {
|
4020 |
+
margin-bottom: 0;
|
4021 |
+
vertical-align: middle;
|
4022 |
+
}
|
4023 |
+
.navbar-form .radio,
|
4024 |
+
.navbar-form .checkbox {
|
4025 |
+
display: inline-block;
|
4026 |
+
margin-top: 0;
|
4027 |
+
margin-bottom: 0;
|
4028 |
+
vertical-align: middle;
|
4029 |
+
}
|
4030 |
+
.navbar-form .radio label,
|
4031 |
+
.navbar-form .checkbox label {
|
4032 |
+
padding-left: 0;
|
4033 |
+
}
|
4034 |
+
.navbar-form .radio input[type="radio"],
|
4035 |
+
.navbar-form .checkbox input[type="checkbox"] {
|
4036 |
+
position: relative;
|
4037 |
+
margin-left: 0;
|
4038 |
+
}
|
4039 |
+
.navbar-form .has-feedback .form-control-feedback {
|
4040 |
+
top: 0;
|
4041 |
+
}
|
4042 |
+
}
|
4043 |
+
@media (max-width: 767px) {
|
4044 |
+
.navbar-form .form-group {
|
4045 |
+
margin-bottom: 5px;
|
4046 |
+
}
|
4047 |
+
.navbar-form .form-group:last-child {
|
4048 |
+
margin-bottom: 0;
|
4049 |
+
}
|
4050 |
+
}
|
4051 |
+
@media (min-width: 768px) {
|
4052 |
+
.navbar-form {
|
4053 |
+
width: auto;
|
4054 |
+
border: 0;
|
4055 |
+
margin-left: 0;
|
4056 |
+
margin-right: 0;
|
4057 |
+
padding-top: 0;
|
4058 |
+
padding-bottom: 0;
|
4059 |
+
-webkit-box-shadow: none;
|
4060 |
+
box-shadow: none;
|
4061 |
+
}
|
4062 |
+
}
|
4063 |
+
.navbar-nav > li > .dropdown-menu {
|
4064 |
+
margin-top: 0;
|
4065 |
+
border-top-right-radius: 0;
|
4066 |
+
border-top-left-radius: 0;
|
4067 |
+
}
|
4068 |
+
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
|
4069 |
+
margin-bottom: 0;
|
4070 |
+
border-top-right-radius: 4px;
|
4071 |
+
border-top-left-radius: 4px;
|
4072 |
+
border-bottom-right-radius: 0;
|
4073 |
+
border-bottom-left-radius: 0;
|
4074 |
+
}
|
4075 |
+
.navbar-btn {
|
4076 |
+
margin-top: 8px;
|
4077 |
+
margin-bottom: 8px;
|
4078 |
+
}
|
4079 |
+
.navbar-btn.btn-sm {
|
4080 |
+
margin-top: 10px;
|
4081 |
+
margin-bottom: 10px;
|
4082 |
+
}
|
4083 |
+
.navbar-btn.btn-xs {
|
4084 |
+
margin-top: 14px;
|
4085 |
+
margin-bottom: 14px;
|
4086 |
+
}
|
4087 |
+
.navbar-text {
|
4088 |
+
margin-top: 15px;
|
4089 |
+
margin-bottom: 15px;
|
4090 |
+
}
|
4091 |
+
@media (min-width: 768px) {
|
4092 |
+
.navbar-text {
|
4093 |
+
float: left;
|
4094 |
+
margin-left: 15px;
|
4095 |
+
margin-right: 15px;
|
4096 |
+
}
|
4097 |
+
}
|
4098 |
+
@media (min-width: 768px) {
|
4099 |
+
.navbar-left {
|
4100 |
+
float: left !important;
|
4101 |
+
}
|
4102 |
+
.navbar-right {
|
4103 |
+
float: right !important;
|
4104 |
+
margin-right: -15px;
|
4105 |
+
}
|
4106 |
+
.navbar-right ~ .navbar-right {
|
4107 |
+
margin-right: 0;
|
4108 |
+
}
|
4109 |
+
}
|
4110 |
+
.navbar-default {
|
4111 |
+
background-color: #f8f8f8;
|
4112 |
+
border-color: #e7e7e7;
|
4113 |
+
}
|
4114 |
+
.navbar-default .navbar-brand {
|
4115 |
+
color: #777777;
|
4116 |
+
}
|
4117 |
+
.navbar-default .navbar-brand:hover,
|
4118 |
+
.navbar-default .navbar-brand:focus {
|
4119 |
+
color: #5e5e5e;
|
4120 |
+
background-color: transparent;
|
4121 |
+
}
|
4122 |
+
.navbar-default .navbar-text {
|
4123 |
+
color: #777777;
|
4124 |
+
}
|
4125 |
+
.navbar-default .navbar-nav > li > a {
|
4126 |
+
color: #777777;
|
4127 |
+
}
|
4128 |
+
.navbar-default .navbar-nav > li > a:hover,
|
4129 |
+
.navbar-default .navbar-nav > li > a:focus {
|
4130 |
+
color: #333333;
|
4131 |
+
background-color: transparent;
|
4132 |
+
}
|
4133 |
+
.navbar-default .navbar-nav > .active > a,
|
4134 |
+
.navbar-default .navbar-nav > .active > a:hover,
|
4135 |
+
.navbar-default .navbar-nav > .active > a:focus {
|
4136 |
+
color: #555555;
|
4137 |
+
background-color: #e7e7e7;
|
4138 |
+
}
|
4139 |
+
.navbar-default .navbar-nav > .disabled > a,
|
4140 |
+
.navbar-default .navbar-nav > .disabled > a:hover,
|
4141 |
+
.navbar-default .navbar-nav > .disabled > a:focus {
|
4142 |
+
color: #cccccc;
|
4143 |
+
background-color: transparent;
|
4144 |
+
}
|
4145 |
+
.navbar-default .navbar-toggle {
|
4146 |
+
border-color: #dddddd;
|
4147 |
+
}
|
4148 |
+
.navbar-default .navbar-toggle:hover,
|
4149 |
+
.navbar-default .navbar-toggle:focus {
|
4150 |
+
background-color: #dddddd;
|
4151 |
+
}
|
4152 |
+
.navbar-default .navbar-toggle .icon-bar {
|
4153 |
+
background-color: #888888;
|
4154 |
+
}
|
4155 |
+
.navbar-default .navbar-collapse,
|
4156 |
+
.navbar-default .navbar-form {
|
4157 |
+
border-color: #e7e7e7;
|
4158 |
+
}
|
4159 |
+
.navbar-default .navbar-nav > .open > a,
|
4160 |
+
.navbar-default .navbar-nav > .open > a:hover,
|
4161 |
+
.navbar-default .navbar-nav > .open > a:focus {
|
4162 |
+
background-color: #e7e7e7;
|
4163 |
+
color: #555555;
|
4164 |
+
}
|
4165 |
+
@media (max-width: 767px) {
|
4166 |
+
.navbar-default .navbar-nav .open .dropdown-menu > li > a {
|
4167 |
+
color: #777777;
|
4168 |
+
}
|
4169 |
+
.navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
|
4170 |
+
.navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
|
4171 |
+
color: #333333;
|
4172 |
+
background-color: transparent;
|
4173 |
+
}
|
4174 |
+
.navbar-default .navbar-nav .open .dropdown-menu > .active > a,
|
4175 |
+
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
|
4176 |
+
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
|
4177 |
+
color: #555555;
|
4178 |
+
background-color: #e7e7e7;
|
4179 |
+
}
|
4180 |
+
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
|
4181 |
+
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
|
4182 |
+
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
|
4183 |
+
color: #cccccc;
|
4184 |
+
background-color: transparent;
|
4185 |
+
}
|
4186 |
+
}
|
4187 |
+
.navbar-default .navbar-link {
|
4188 |
+
color: #777777;
|
4189 |
+
}
|
4190 |
+
.navbar-default .navbar-link:hover {
|
4191 |
+
color: #333333;
|
4192 |
+
}
|
4193 |
+
.navbar-default .btn-link {
|
4194 |
+
color: #777777;
|
4195 |
+
}
|
4196 |
+
.navbar-default .btn-link:hover,
|
4197 |
+
.navbar-default .btn-link:focus {
|
4198 |
+
color: #333333;
|
4199 |
+
}
|
4200 |
+
.navbar-default .btn-link[disabled]:hover,
|
4201 |
+
fieldset[disabled] .navbar-default .btn-link:hover,
|
4202 |
+
.navbar-default .btn-link[disabled]:focus,
|
4203 |
+
fieldset[disabled] .navbar-default .btn-link:focus {
|
4204 |
+
color: #cccccc;
|
4205 |
+
}
|
4206 |
+
.navbar-inverse {
|
4207 |
+
background-color: #222222;
|
4208 |
+
border-color: #080808;
|
4209 |
+
}
|
4210 |
+
.navbar-inverse .navbar-brand {
|
4211 |
+
color: #9d9d9d;
|
4212 |
+
}
|
4213 |
+
.navbar-inverse .navbar-brand:hover,
|
4214 |
+
.navbar-inverse .navbar-brand:focus {
|
4215 |
+
color: #ffffff;
|
4216 |
+
background-color: transparent;
|
4217 |
+
}
|
4218 |
+
.navbar-inverse .navbar-text {
|
4219 |
+
color: #9d9d9d;
|
4220 |
+
}
|
4221 |
+
.navbar-inverse .navbar-nav > li > a {
|
4222 |
+
color: #9d9d9d;
|
4223 |
+
}
|
4224 |
+
.navbar-inverse .navbar-nav > li > a:hover,
|
4225 |
+
.navbar-inverse .navbar-nav > li > a:focus {
|
4226 |
+
color: #ffffff;
|
4227 |
+
background-color: transparent;
|
4228 |
+
}
|
4229 |
+
.navbar-inverse .navbar-nav > .active > a,
|
4230 |
+
.navbar-inverse .navbar-nav > .active > a:hover,
|
4231 |
+
.navbar-inverse .navbar-nav > .active > a:focus {
|
4232 |
+
color: #ffffff;
|
4233 |
+
background-color: #080808;
|
4234 |
+
}
|
4235 |
+
.navbar-inverse .navbar-nav > .disabled > a,
|
4236 |
+
.navbar-inverse .navbar-nav > .disabled > a:hover,
|
4237 |
+
.navbar-inverse .navbar-nav > .disabled > a:focus {
|
4238 |
+
color: #444444;
|
4239 |
+
background-color: transparent;
|
4240 |
+
}
|
4241 |
+
.navbar-inverse .navbar-toggle {
|
4242 |
+
border-color: #333333;
|
4243 |
+
}
|
4244 |
+
.navbar-inverse .navbar-toggle:hover,
|
4245 |
+
.navbar-inverse .navbar-toggle:focus {
|
4246 |
+
background-color: #333333;
|
4247 |
+
}
|
4248 |
+
.navbar-inverse .navbar-toggle .icon-bar {
|
4249 |
+
background-color: #ffffff;
|
4250 |
+
}
|
4251 |
+
.navbar-inverse .navbar-collapse,
|
4252 |
+
.navbar-inverse .navbar-form {
|
4253 |
+
border-color: #101010;
|
4254 |
+
}
|
4255 |
+
.navbar-inverse .navbar-nav > .open > a,
|
4256 |
+
.navbar-inverse .navbar-nav > .open > a:hover,
|
4257 |
+
.navbar-inverse .navbar-nav > .open > a:focus {
|
4258 |
+
background-color: #080808;
|
4259 |
+
color: #ffffff;
|
4260 |
+
}
|
4261 |
+
@media (max-width: 767px) {
|
4262 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
|
4263 |
+
border-color: #080808;
|
4264 |
+
}
|
4265 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu .divider {
|
4266 |
+
background-color: #080808;
|
4267 |
+
}
|
4268 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
|
4269 |
+
color: #9d9d9d;
|
4270 |
+
}
|
4271 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
|
4272 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
|
4273 |
+
color: #ffffff;
|
4274 |
+
background-color: transparent;
|
4275 |
+
}
|
4276 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
|
4277 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
|
4278 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
|
4279 |
+
color: #ffffff;
|
4280 |
+
background-color: #080808;
|
4281 |
+
}
|
4282 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
|
4283 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
|
4284 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
|
4285 |
+
color: #444444;
|
4286 |
+
background-color: transparent;
|
4287 |
+
}
|
4288 |
+
}
|
4289 |
+
.navbar-inverse .navbar-link {
|
4290 |
+
color: #9d9d9d;
|
4291 |
+
}
|
4292 |
+
.navbar-inverse .navbar-link:hover {
|
4293 |
+
color: #ffffff;
|
4294 |
+
}
|
4295 |
+
.navbar-inverse .btn-link {
|
4296 |
+
color: #9d9d9d;
|
4297 |
+
}
|
4298 |
+
.navbar-inverse .btn-link:hover,
|
4299 |
+
.navbar-inverse .btn-link:focus {
|
4300 |
+
color: #ffffff;
|
4301 |
+
}
|
4302 |
+
.navbar-inverse .btn-link[disabled]:hover,
|
4303 |
+
fieldset[disabled] .navbar-inverse .btn-link:hover,
|
4304 |
+
.navbar-inverse .btn-link[disabled]:focus,
|
4305 |
+
fieldset[disabled] .navbar-inverse .btn-link:focus {
|
4306 |
+
color: #444444;
|
4307 |
+
}
|
4308 |
+
.breadcrumb {
|
4309 |
+
padding: 8px 15px;
|
4310 |
+
margin-bottom: 20px;
|
4311 |
+
list-style: none;
|
4312 |
+
background-color: #f5f5f5;
|
4313 |
+
border-radius: 4px;
|
4314 |
+
}
|
4315 |
+
.breadcrumb > li {
|
4316 |
+
display: inline-block;
|
4317 |
+
}
|
4318 |
+
.breadcrumb > li + li:before {
|
4319 |
+
content: "/\00a0";
|
4320 |
+
padding: 0 5px;
|
4321 |
+
color: #cccccc;
|
4322 |
+
}
|
4323 |
+
.breadcrumb > .active {
|
4324 |
+
color: #777777;
|
4325 |
+
}
|
4326 |
+
.pagination {
|
4327 |
+
display: inline-block;
|
4328 |
+
padding-left: 0;
|
4329 |
+
margin: 20px 0;
|
4330 |
+
border-radius: 4px;
|
4331 |
+
}
|
4332 |
+
.pagination > li {
|
4333 |
+
display: inline;
|
4334 |
+
}
|
4335 |
+
.pagination > li > a,
|
4336 |
+
.pagination > li > span {
|
4337 |
+
position: relative;
|
4338 |
+
float: left;
|
4339 |
+
padding: 6px 12px;
|
4340 |
+
line-height: 1.42857143;
|
4341 |
+
text-decoration: none;
|
4342 |
+
color: #337ab7;
|
4343 |
+
background-color: #ffffff;
|
4344 |
+
border: 1px solid #dddddd;
|
4345 |
+
margin-left: -1px;
|
4346 |
+
}
|
4347 |
+
.pagination > li:first-child > a,
|
4348 |
+
.pagination > li:first-child > span {
|
4349 |
+
margin-left: 0;
|
4350 |
+
border-bottom-left-radius: 4px;
|
4351 |
+
border-top-left-radius: 4px;
|
4352 |
+
}
|
4353 |
+
.pagination > li:last-child > a,
|
4354 |
+
.pagination > li:last-child > span {
|
4355 |
+
border-bottom-right-radius: 4px;
|
4356 |
+
border-top-right-radius: 4px;
|
4357 |
+
}
|
4358 |
+
.pagination > li > a:hover,
|
4359 |
+
.pagination > li > span:hover,
|
4360 |
+
.pagination > li > a:focus,
|
4361 |
+
.pagination > li > span:focus {
|
4362 |
+
z-index: 2;
|
4363 |
+
color: #23527c;
|
4364 |
+
background-color: #eeeeee;
|
4365 |
+
border-color: #dddddd;
|
4366 |
+
}
|
4367 |
+
.pagination > .active > a,
|
4368 |
+
.pagination > .active > span,
|
4369 |
+
.pagination > .active > a:hover,
|
4370 |
+
.pagination > .active > span:hover,
|
4371 |
+
.pagination > .active > a:focus,
|
4372 |
+
.pagination > .active > span:focus {
|
4373 |
+
z-index: 3;
|
4374 |
+
color: #ffffff;
|
4375 |
+
background-color: #337ab7;
|
4376 |
+
border-color: #337ab7;
|
4377 |
+
cursor: default;
|
4378 |
+
}
|
4379 |
+
.pagination > .disabled > span,
|
4380 |
+
.pagination > .disabled > span:hover,
|
4381 |
+
.pagination > .disabled > span:focus,
|
4382 |
+
.pagination > .disabled > a,
|
4383 |
+
.pagination > .disabled > a:hover,
|
4384 |
+
.pagination > .disabled > a:focus {
|
4385 |
+
color: #777777;
|
4386 |
+
background-color: #ffffff;
|
4387 |
+
border-color: #dddddd;
|
4388 |
+
cursor: not-allowed;
|
4389 |
+
}
|
4390 |
+
.pagination-lg > li > a,
|
4391 |
+
.pagination-lg > li > span {
|
4392 |
+
padding: 10px 16px;
|
4393 |
+
font-size: 18px;
|
4394 |
+
line-height: 1.3333333;
|
4395 |
+
}
|
4396 |
+
.pagination-lg > li:first-child > a,
|
4397 |
+
.pagination-lg > li:first-child > span {
|
4398 |
+
border-bottom-left-radius: 6px;
|
4399 |
+
border-top-left-radius: 6px;
|
4400 |
+
}
|
4401 |
+
.pagination-lg > li:last-child > a,
|
4402 |
+
.pagination-lg > li:last-child > span {
|
4403 |
+
border-bottom-right-radius: 6px;
|
4404 |
+
border-top-right-radius: 6px;
|
4405 |
+
}
|
4406 |
+
.pagination-sm > li > a,
|
4407 |
+
.pagination-sm > li > span {
|
4408 |
+
padding: 5px 10px;
|
4409 |
+
font-size: 12px;
|
4410 |
+
line-height: 1.5;
|
4411 |
+
}
|
4412 |
+
.pagination-sm > li:first-child > a,
|
4413 |
+
.pagination-sm > li:first-child > span {
|
4414 |
+
border-bottom-left-radius: 3px;
|
4415 |
+
border-top-left-radius: 3px;
|
4416 |
+
}
|
4417 |
+
.pagination-sm > li:last-child > a,
|
4418 |
+
.pagination-sm > li:last-child > span {
|
4419 |
+
border-bottom-right-radius: 3px;
|
4420 |
+
border-top-right-radius: 3px;
|
4421 |
+
}
|
4422 |
+
.pager {
|
4423 |
+
padding-left: 0;
|
4424 |
+
margin: 20px 0;
|
4425 |
+
list-style: none;
|
4426 |
+
text-align: center;
|
4427 |
+
}
|
4428 |
+
.pager li {
|
4429 |
+
display: inline;
|
4430 |
+
}
|
4431 |
+
.pager li > a,
|
4432 |
+
.pager li > span {
|
4433 |
+
display: inline-block;
|
4434 |
+
padding: 5px 14px;
|
4435 |
+
background-color: #ffffff;
|
4436 |
+
border: 1px solid #dddddd;
|
4437 |
+
border-radius: 15px;
|
4438 |
+
}
|
4439 |
+
.pager li > a:hover,
|
4440 |
+
.pager li > a:focus {
|
4441 |
+
text-decoration: none;
|
4442 |
+
background-color: #eeeeee;
|
4443 |
+
}
|
4444 |
+
.pager .next > a,
|
4445 |
+
.pager .next > span {
|
4446 |
+
float: right;
|
4447 |
+
}
|
4448 |
+
.pager .previous > a,
|
4449 |
+
.pager .previous > span {
|
4450 |
+
float: left;
|
4451 |
+
}
|
4452 |
+
.pager .disabled > a,
|
4453 |
+
.pager .disabled > a:hover,
|
4454 |
+
.pager .disabled > a:focus,
|
4455 |
+
.pager .disabled > span {
|
4456 |
+
color: #777777;
|
4457 |
+
background-color: #ffffff;
|
4458 |
+
cursor: not-allowed;
|
4459 |
+
}
|
4460 |
+
.label {
|
4461 |
+
display: inline;
|
4462 |
+
padding: .2em .6em .3em;
|
4463 |
+
font-size: 75%;
|
4464 |
+
font-weight: bold;
|
4465 |
+
line-height: 1;
|
4466 |
+
color: #ffffff;
|
4467 |
+
text-align: center;
|
4468 |
+
white-space: nowrap;
|
4469 |
+
vertical-align: baseline;
|
4470 |
+
border-radius: .25em;
|
4471 |
+
}
|
4472 |
+
a.label:hover,
|
4473 |
+
a.label:focus {
|
4474 |
+
color: #ffffff;
|
4475 |
+
text-decoration: none;
|
4476 |
+
cursor: pointer;
|
4477 |
+
}
|
4478 |
+
.label:empty {
|
4479 |
+
display: none;
|
4480 |
+
}
|
4481 |
+
.btn .label {
|
4482 |
+
position: relative;
|
4483 |
+
top: -1px;
|
4484 |
+
}
|
4485 |
+
.label-default {
|
4486 |
+
background-color: #777777;
|
4487 |
+
}
|
4488 |
+
.label-default[href]:hover,
|
4489 |
+
.label-default[href]:focus {
|
4490 |
+
background-color: #5e5e5e;
|
4491 |
+
}
|
4492 |
+
.label-primary {
|
4493 |
+
background-color: #337ab7;
|
4494 |
+
}
|
4495 |
+
.label-primary[href]:hover,
|
4496 |
+
.label-primary[href]:focus {
|
4497 |
+
background-color: #286090;
|
4498 |
+
}
|
4499 |
+
.label-success {
|
4500 |
+
background-color: #5cb85c;
|
4501 |
+
}
|
4502 |
+
.label-success[href]:hover,
|
4503 |
+
.label-success[href]:focus {
|
4504 |
+
background-color: #449d44;
|
4505 |
+
}
|
4506 |
+
.label-info {
|
4507 |
+
background-color: #5bc0de;
|
4508 |
+
}
|
4509 |
+
.label-info[href]:hover,
|
4510 |
+
.label-info[href]:focus {
|
4511 |
+
background-color: #31b0d5;
|
4512 |
+
}
|
4513 |
+
.label-warning {
|
4514 |
+
background-color: #f0ad4e;
|
4515 |
+
}
|
4516 |
+
.label-warning[href]:hover,
|
4517 |
+
.label-warning[href]:focus {
|
4518 |
+
background-color: #ec971f;
|
4519 |
+
}
|
4520 |
+
.label-danger {
|
4521 |
+
background-color: #d9534f;
|
4522 |
+
}
|
4523 |
+
.label-danger[href]:hover,
|
4524 |
+
.label-danger[href]:focus {
|
4525 |
+
background-color: #c9302c;
|
4526 |
+
}
|
4527 |
+
.badge {
|
4528 |
+
display: inline-block;
|
4529 |
+
min-width: 10px;
|
4530 |
+
padding: 3px 7px;
|
4531 |
+
font-size: 12px;
|
4532 |
+
font-weight: bold;
|
4533 |
+
color: #ffffff;
|
4534 |
+
line-height: 1;
|
4535 |
+
vertical-align: middle;
|
4536 |
+
white-space: nowrap;
|
4537 |
+
text-align: center;
|
4538 |
+
background-color: #777777;
|
4539 |
+
border-radius: 10px;
|
4540 |
+
}
|
4541 |
+
.badge:empty {
|
4542 |
+
display: none;
|
4543 |
+
}
|
4544 |
+
.btn .badge {
|
4545 |
+
position: relative;
|
4546 |
+
top: -1px;
|
4547 |
+
}
|
4548 |
+
.btn-xs .badge,
|
4549 |
+
.btn-group-xs > .btn .badge {
|
4550 |
+
top: 0;
|
4551 |
+
padding: 1px 5px;
|
4552 |
+
}
|
4553 |
+
a.badge:hover,
|
4554 |
+
a.badge:focus {
|
4555 |
+
color: #ffffff;
|
4556 |
+
text-decoration: none;
|
4557 |
+
cursor: pointer;
|
4558 |
+
}
|
4559 |
+
.list-group-item.active > .badge,
|
4560 |
+
.nav-pills > .active > a > .badge {
|
4561 |
+
color: #337ab7;
|
4562 |
+
background-color: #ffffff;
|
4563 |
+
}
|
4564 |
+
.list-group-item > .badge {
|
4565 |
+
float: right;
|
4566 |
+
}
|
4567 |
+
.list-group-item > .badge + .badge {
|
4568 |
+
margin-right: 5px;
|
4569 |
+
}
|
4570 |
+
.nav-pills > li > a > .badge {
|
4571 |
+
margin-left: 3px;
|
4572 |
+
}
|
4573 |
+
.jumbotron {
|
4574 |
+
padding-top: 30px;
|
4575 |
+
padding-bottom: 30px;
|
4576 |
+
margin-bottom: 30px;
|
4577 |
+
color: inherit;
|
4578 |
+
background-color: #eeeeee;
|
4579 |
+
}
|
4580 |
+
.jumbotron h1,
|
4581 |
+
.jumbotron .h1 {
|
4582 |
+
color: inherit;
|
4583 |
+
}
|
4584 |
+
.jumbotron p {
|
4585 |
+
margin-bottom: 15px;
|
4586 |
+
font-size: 21px;
|
4587 |
+
font-weight: 200;
|
4588 |
+
}
|
4589 |
+
.jumbotron > hr {
|
4590 |
+
border-top-color: #d5d5d5;
|
4591 |
+
}
|
4592 |
+
.container .jumbotron,
|
4593 |
+
.container-fluid .jumbotron {
|
4594 |
+
border-radius: 6px;
|
4595 |
+
padding-left: 15px;
|
4596 |
+
padding-right: 15px;
|
4597 |
+
}
|
4598 |
+
.jumbotron .container {
|
4599 |
+
max-width: 100%;
|
4600 |
+
}
|
4601 |
+
@media screen and (min-width: 768px) {
|
4602 |
+
.jumbotron {
|
4603 |
+
padding-top: 48px;
|
4604 |
+
padding-bottom: 48px;
|
4605 |
+
}
|
4606 |
+
.container .jumbotron,
|
4607 |
+
.container-fluid .jumbotron {
|
4608 |
+
padding-left: 60px;
|
4609 |
+
padding-right: 60px;
|
4610 |
+
}
|
4611 |
+
.jumbotron h1,
|
4612 |
+
.jumbotron .h1 {
|
4613 |
+
font-size: 63px;
|
4614 |
+
}
|
4615 |
+
}
|
4616 |
+
.thumbnail {
|
4617 |
+
display: block;
|
4618 |
+
padding: 4px;
|
4619 |
+
margin-bottom: 20px;
|
4620 |
+
line-height: 1.42857143;
|
4621 |
+
background-color: #ffffff;
|
4622 |
+
border: 1px solid #dddddd;
|
4623 |
+
border-radius: 4px;
|
4624 |
+
-webkit-transition: border 0.2s ease-in-out;
|
4625 |
+
-o-transition: border 0.2s ease-in-out;
|
4626 |
+
transition: border 0.2s ease-in-out;
|
4627 |
+
}
|
4628 |
+
.thumbnail > img,
|
4629 |
+
.thumbnail a > img {
|
4630 |
+
margin-left: auto;
|
4631 |
+
margin-right: auto;
|
4632 |
+
}
|
4633 |
+
a.thumbnail:hover,
|
4634 |
+
a.thumbnail:focus,
|
4635 |
+
a.thumbnail.active {
|
4636 |
+
border-color: #337ab7;
|
4637 |
+
}
|
4638 |
+
.thumbnail .caption {
|
4639 |
+
padding: 9px;
|
4640 |
+
color: #333333;
|
4641 |
+
}
|
4642 |
+
.alert {
|
4643 |
+
padding: 15px;
|
4644 |
+
margin-bottom: 20px;
|
4645 |
+
border: 1px solid transparent;
|
4646 |
+
border-radius: 4px;
|
4647 |
+
}
|
4648 |
+
.alert h4 {
|
4649 |
+
margin-top: 0;
|
4650 |
+
color: inherit;
|
4651 |
+
}
|
4652 |
+
.alert .alert-link {
|
4653 |
+
font-weight: bold;
|
4654 |
+
}
|
4655 |
+
.alert > p,
|
4656 |
+
.alert > ul {
|
4657 |
+
margin-bottom: 0;
|
4658 |
+
}
|
4659 |
+
.alert > p + p {
|
4660 |
+
margin-top: 5px;
|
4661 |
+
}
|
4662 |
+
.alert-dismissable,
|
4663 |
+
.alert-dismissible {
|
4664 |
+
padding-right: 35px;
|
4665 |
+
}
|
4666 |
+
.alert-dismissable .close,
|
4667 |
+
.alert-dismissible .close {
|
4668 |
+
position: relative;
|
4669 |
+
top: -2px;
|
4670 |
+
right: -21px;
|
4671 |
+
color: inherit;
|
4672 |
+
}
|
4673 |
+
.alert-success {
|
4674 |
+
background-color: #dff0d8;
|
4675 |
+
border-color: #d6e9c6;
|
4676 |
+
color: #3c763d;
|
4677 |
+
}
|
4678 |
+
.alert-success hr {
|
4679 |
+
border-top-color: #c9e2b3;
|
4680 |
+
}
|
4681 |
+
.alert-success .alert-link {
|
4682 |
+
color: #2b542c;
|
4683 |
+
}
|
4684 |
+
.alert-info {
|
4685 |
+
background-color: #d9edf7;
|
4686 |
+
border-color: #bce8f1;
|
4687 |
+
color: #31708f;
|
4688 |
+
}
|
4689 |
+
.alert-info hr {
|
4690 |
+
border-top-color: #a6e1ec;
|
4691 |
+
}
|
4692 |
+
.alert-info .alert-link {
|
4693 |
+
color: #245269;
|
4694 |
+
}
|
4695 |
+
.alert-warning {
|
4696 |
+
background-color: #fcf8e3;
|
4697 |
+
border-color: #faebcc;
|
4698 |
+
color: #8a6d3b;
|
4699 |
+
}
|
4700 |
+
.alert-warning hr {
|
4701 |
+
border-top-color: #f7e1b5;
|
4702 |
+
}
|
4703 |
+
.alert-warning .alert-link {
|
4704 |
+
color: #66512c;
|
4705 |
+
}
|
4706 |
+
.alert-danger {
|
4707 |
+
background-color: #f2dede;
|
4708 |
+
border-color: #ebccd1;
|
4709 |
+
color: #a94442;
|
4710 |
+
}
|
4711 |
+
.alert-danger hr {
|
4712 |
+
border-top-color: #e4b9c0;
|
4713 |
+
}
|
4714 |
+
.alert-danger .alert-link {
|
4715 |
+
color: #843534;
|
4716 |
+
}
|
4717 |
+
@-webkit-keyframes progress-bar-stripes {
|
4718 |
+
from {
|
4719 |
+
background-position: 40px 0;
|
4720 |
+
}
|
4721 |
+
to {
|
4722 |
+
background-position: 0 0;
|
4723 |
+
}
|
4724 |
+
}
|
4725 |
+
@-o-keyframes progress-bar-stripes {
|
4726 |
+
from {
|
4727 |
+
background-position: 40px 0;
|
4728 |
+
}
|
4729 |
+
to {
|
4730 |
+
background-position: 0 0;
|
4731 |
+
}
|
4732 |
+
}
|
4733 |
+
@keyframes progress-bar-stripes {
|
4734 |
+
from {
|
4735 |
+
background-position: 40px 0;
|
4736 |
+
}
|
4737 |
+
to {
|
4738 |
+
background-position: 0 0;
|
4739 |
+
}
|
4740 |
+
}
|
4741 |
+
.progress {
|
4742 |
+
overflow: hidden;
|
4743 |
+
height: 20px;
|
4744 |
+
margin-bottom: 20px;
|
4745 |
+
background-color: #f5f5f5;
|
4746 |
+
border-radius: 4px;
|
4747 |
+
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
4748 |
+
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
4749 |
+
}
|
4750 |
+
.progress-bar {
|
4751 |
+
float: left;
|
4752 |
+
width: 0%;
|
4753 |
+
height: 100%;
|
4754 |
+
font-size: 12px;
|
4755 |
+
line-height: 20px;
|
4756 |
+
color: #ffffff;
|
4757 |
+
text-align: center;
|
4758 |
+
background-color: #337ab7;
|
4759 |
+
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
4760 |
+
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
4761 |
+
-webkit-transition: width 0.6s ease;
|
4762 |
+
-o-transition: width 0.6s ease;
|
4763 |
+
transition: width 0.6s ease;
|
4764 |
+
}
|
4765 |
+
.progress-striped .progress-bar,
|
4766 |
+
.progress-bar-striped {
|
4767 |
+
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
4768 |
+
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
4769 |
+
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
4770 |
+
-webkit-background-size: 40px 40px;
|
4771 |
+
background-size: 40px 40px;
|
4772 |
+
}
|
4773 |
+
.progress.active .progress-bar,
|
4774 |
+
.progress-bar.active {
|
4775 |
+
-webkit-animation: progress-bar-stripes 2s linear infinite;
|
4776 |
+
-o-animation: progress-bar-stripes 2s linear infinite;
|
4777 |
+
animation: progress-bar-stripes 2s linear infinite;
|
4778 |
+
}
|
4779 |
+
.progress-bar-success {
|
4780 |
+
background-color: #5cb85c;
|
4781 |
+
}
|
4782 |
+
.progress-striped .progress-bar-success {
|
4783 |
+
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
4784 |
+
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
4785 |
+
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
4786 |
+
}
|
4787 |
+
.progress-bar-info {
|
4788 |
+
background-color: #5bc0de;
|
4789 |
+
}
|
4790 |
+
.progress-striped .progress-bar-info {
|
4791 |
+
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
4792 |
+
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
4793 |
+
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
4794 |
+
}
|
4795 |
+
.progress-bar-warning {
|
4796 |
+
background-color: #f0ad4e;
|
4797 |
+
}
|
4798 |
+
.progress-striped .progress-bar-warning {
|
4799 |
+
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
4800 |
+
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
4801 |
+
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
4802 |
+
}
|
4803 |
+
.progress-bar-danger {
|
4804 |
+
background-color: #d9534f;
|
4805 |
+
}
|
4806 |
+
.progress-striped .progress-bar-danger {
|
4807 |
+
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
4808 |
+
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
4809 |
+
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
4810 |
+
}
|
4811 |
+
.media {
|
4812 |
+
margin-top: 15px;
|
4813 |
+
}
|
4814 |
+
.media:first-child {
|
4815 |
+
margin-top: 0;
|
4816 |
+
}
|
4817 |
+
.media,
|
4818 |
+
.media-body {
|
4819 |
+
zoom: 1;
|
4820 |
+
overflow: hidden;
|
4821 |
+
}
|
4822 |
+
.media-body {
|
4823 |
+
width: 10000px;
|
4824 |
+
}
|
4825 |
+
.media-object {
|
4826 |
+
display: block;
|
4827 |
+
}
|
4828 |
+
.media-object.img-thumbnail {
|
4829 |
+
max-width: none;
|
4830 |
+
}
|
4831 |
+
.media-right,
|
4832 |
+
.media > .pull-right {
|
4833 |
+
padding-left: 10px;
|
4834 |
+
}
|
4835 |
+
.media-left,
|
4836 |
+
.media > .pull-left {
|
4837 |
+
padding-right: 10px;
|
4838 |
+
}
|
4839 |
+
.media-left,
|
4840 |
+
.media-right,
|
4841 |
+
.media-body {
|
4842 |
+
display: table-cell;
|
4843 |
+
vertical-align: top;
|
4844 |
+
}
|
4845 |
+
.media-middle {
|
4846 |
+
vertical-align: middle;
|
4847 |
+
}
|
4848 |
+
.media-bottom {
|
4849 |
+
vertical-align: bottom;
|
4850 |
+
}
|
4851 |
+
.media-heading {
|
4852 |
+
margin-top: 0;
|
4853 |
+
margin-bottom: 5px;
|
4854 |
+
}
|
4855 |
+
.media-list {
|
4856 |
+
padding-left: 0;
|
4857 |
+
list-style: none;
|
4858 |
+
}
|
4859 |
+
.list-group {
|
4860 |
+
margin-bottom: 20px;
|
4861 |
+
padding-left: 0;
|
4862 |
+
}
|
4863 |
+
.list-group-item {
|
4864 |
+
position: relative;
|
4865 |
+
display: block;
|
4866 |
+
padding: 10px 15px;
|
4867 |
+
margin-bottom: -1px;
|
4868 |
+
background-color: #ffffff;
|
4869 |
+
border: 1px solid #dddddd;
|
4870 |
+
}
|
4871 |
+
.list-group-item:first-child {
|
4872 |
+
border-top-right-radius: 4px;
|
4873 |
+
border-top-left-radius: 4px;
|
4874 |
+
}
|
4875 |
+
.list-group-item:last-child {
|
4876 |
+
margin-bottom: 0;
|
4877 |
+
border-bottom-right-radius: 4px;
|
4878 |
+
border-bottom-left-radius: 4px;
|
4879 |
+
}
|
4880 |
+
a.list-group-item,
|
4881 |
+
button.list-group-item {
|
4882 |
+
color: #555555;
|
4883 |
+
}
|
4884 |
+
a.list-group-item .list-group-item-heading,
|
4885 |
+
button.list-group-item .list-group-item-heading {
|
4886 |
+
color: #333333;
|
4887 |
+
}
|
4888 |
+
a.list-group-item:hover,
|
4889 |
+
button.list-group-item:hover,
|
4890 |
+
a.list-group-item:focus,
|
4891 |
+
button.list-group-item:focus {
|
4892 |
+
text-decoration: none;
|
4893 |
+
color: #555555;
|
4894 |
+
background-color: #f5f5f5;
|
4895 |
+
}
|
4896 |
+
button.list-group-item {
|
4897 |
+
width: 100%;
|
4898 |
+
text-align: left;
|
4899 |
+
}
|
4900 |
+
.list-group-item.disabled,
|
4901 |
+
.list-group-item.disabled:hover,
|
4902 |
+
.list-group-item.disabled:focus {
|
4903 |
+
background-color: #eeeeee;
|
4904 |
+
color: #777777;
|
4905 |
+
cursor: not-allowed;
|
4906 |
+
}
|
4907 |
+
.list-group-item.disabled .list-group-item-heading,
|
4908 |
+
.list-group-item.disabled:hover .list-group-item-heading,
|
4909 |
+
.list-group-item.disabled:focus .list-group-item-heading {
|
4910 |
+
color: inherit;
|
4911 |
+
}
|
4912 |
+
.list-group-item.disabled .list-group-item-text,
|
4913 |
+
.list-group-item.disabled:hover .list-group-item-text,
|
4914 |
+
.list-group-item.disabled:focus .list-group-item-text {
|
4915 |
+
color: #777777;
|
4916 |
+
}
|
4917 |
+
.list-group-item.active,
|
4918 |
+
.list-group-item.active:hover,
|
4919 |
+
.list-group-item.active:focus {
|
4920 |
+
z-index: 2;
|
4921 |
+
color: #ffffff;
|
4922 |
+
background-color: #337ab7;
|
4923 |
+
border-color: #337ab7;
|
4924 |
+
}
|
4925 |
+
.list-group-item.active .list-group-item-heading,
|
4926 |
+
.list-group-item.active:hover .list-group-item-heading,
|
4927 |
+
.list-group-item.active:focus .list-group-item-heading,
|
4928 |
+
.list-group-item.active .list-group-item-heading > small,
|
4929 |
+
.list-group-item.active:hover .list-group-item-heading > small,
|
4930 |
+
.list-group-item.active:focus .list-group-item-heading > small,
|
4931 |
+
.list-group-item.active .list-group-item-heading > .small,
|
4932 |
+
.list-group-item.active:hover .list-group-item-heading > .small,
|
4933 |
+
.list-group-item.active:focus .list-group-item-heading > .small {
|
4934 |
+
color: inherit;
|
4935 |
+
}
|
4936 |
+
.list-group-item.active .list-group-item-text,
|
4937 |
+
.list-group-item.active:hover .list-group-item-text,
|
4938 |
+
.list-group-item.active:focus .list-group-item-text {
|
4939 |
+
color: #c7ddef;
|
4940 |
+
}
|
4941 |
+
.list-group-item-success {
|
4942 |
+
color: #3c763d;
|
4943 |
+
background-color: #dff0d8;
|
4944 |
+
}
|
4945 |
+
a.list-group-item-success,
|
4946 |
+
button.list-group-item-success {
|
4947 |
+
color: #3c763d;
|
4948 |
+
}
|
4949 |
+
a.list-group-item-success .list-group-item-heading,
|
4950 |
+
button.list-group-item-success .list-group-item-heading {
|
4951 |
+
color: inherit;
|
4952 |
+
}
|
4953 |
+
a.list-group-item-success:hover,
|
4954 |
+
button.list-group-item-success:hover,
|
4955 |
+
a.list-group-item-success:focus,
|
4956 |
+
button.list-group-item-success:focus {
|
4957 |
+
color: #3c763d;
|
4958 |
+
background-color: #d0e9c6;
|
4959 |
+
}
|
4960 |
+
a.list-group-item-success.active,
|
4961 |
+
button.list-group-item-success.active,
|
4962 |
+
a.list-group-item-success.active:hover,
|
4963 |
+
button.list-group-item-success.active:hover,
|
4964 |
+
a.list-group-item-success.active:focus,
|
4965 |
+
button.list-group-item-success.active:focus {
|
4966 |
+
color: #fff;
|
4967 |
+
background-color: #3c763d;
|
4968 |
+
border-color: #3c763d;
|
4969 |
+
}
|
4970 |
+
.list-group-item-info {
|
4971 |
+
color: #31708f;
|
4972 |
+
background-color: #d9edf7;
|
4973 |
+
}
|
4974 |
+
a.list-group-item-info,
|
4975 |
+
button.list-group-item-info {
|
4976 |
+
color: #31708f;
|
4977 |
+
}
|
4978 |
+
a.list-group-item-info .list-group-item-heading,
|
4979 |
+
button.list-group-item-info .list-group-item-heading {
|
4980 |
+
color: inherit;
|
4981 |
+
}
|
4982 |
+
a.list-group-item-info:hover,
|
4983 |
+
button.list-group-item-info:hover,
|
4984 |
+
a.list-group-item-info:focus,
|
4985 |
+
button.list-group-item-info:focus {
|
4986 |
+
color: #31708f;
|
4987 |
+
background-color: #c4e3f3;
|
4988 |
+
}
|
4989 |
+
a.list-group-item-info.active,
|
4990 |
+
button.list-group-item-info.active,
|
4991 |
+
a.list-group-item-info.active:hover,
|
4992 |
+
button.list-group-item-info.active:hover,
|
4993 |
+
a.list-group-item-info.active:focus,
|
4994 |
+
button.list-group-item-info.active:focus {
|
4995 |
+
color: #fff;
|
4996 |
+
background-color: #31708f;
|
4997 |
+
border-color: #31708f;
|
4998 |
+
}
|
4999 |
+
.list-group-item-warning {
|
5000 |
+
color: #8a6d3b;
|
5001 |
+
background-color: #fcf8e3;
|
5002 |
+
}
|
5003 |
+
a.list-group-item-warning,
|
5004 |
+
button.list-group-item-warning {
|
5005 |
+
color: #8a6d3b;
|
5006 |
+
}
|
5007 |
+
a.list-group-item-warning .list-group-item-heading,
|
5008 |
+
button.list-group-item-warning .list-group-item-heading {
|
5009 |
+
color: inherit;
|
5010 |
+
}
|
5011 |
+
a.list-group-item-warning:hover,
|
5012 |
+
button.list-group-item-warning:hover,
|
5013 |
+
a.list-group-item-warning:focus,
|
5014 |
+
button.list-group-item-warning:focus {
|
5015 |
+
color: #8a6d3b;
|
5016 |
+
background-color: #faf2cc;
|
5017 |
+
}
|
5018 |
+
a.list-group-item-warning.active,
|
5019 |
+
button.list-group-item-warning.active,
|
5020 |
+
a.list-group-item-warning.active:hover,
|
5021 |
+
button.list-group-item-warning.active:hover,
|
5022 |
+
a.list-group-item-warning.active:focus,
|
5023 |
+
button.list-group-item-warning.active:focus {
|
5024 |
+
color: #fff;
|
5025 |
+
background-color: #8a6d3b;
|
5026 |
+
border-color: #8a6d3b;
|
5027 |
+
}
|
5028 |
+
.list-group-item-danger {
|
5029 |
+
color: #a94442;
|
5030 |
+
background-color: #f2dede;
|
5031 |
+
}
|
5032 |
+
a.list-group-item-danger,
|
5033 |
+
button.list-group-item-danger {
|
5034 |
+
color: #a94442;
|
5035 |
+
}
|
5036 |
+
a.list-group-item-danger .list-group-item-heading,
|
5037 |
+
button.list-group-item-danger .list-group-item-heading {
|
5038 |
+
color: inherit;
|
5039 |
+
}
|
5040 |
+
a.list-group-item-danger:hover,
|
5041 |
+
button.list-group-item-danger:hover,
|
5042 |
+
a.list-group-item-danger:focus,
|
5043 |
+
button.list-group-item-danger:focus {
|
5044 |
+
color: #a94442;
|
5045 |
+
background-color: #ebcccc;
|
5046 |
+
}
|
5047 |
+
a.list-group-item-danger.active,
|
5048 |
+
button.list-group-item-danger.active,
|
5049 |
+
a.list-group-item-danger.active:hover,
|
5050 |
+
button.list-group-item-danger.active:hover,
|
5051 |
+
a.list-group-item-danger.active:focus,
|
5052 |
+
button.list-group-item-danger.active:focus {
|
5053 |
+
color: #fff;
|
5054 |
+
background-color: #a94442;
|
5055 |
+
border-color: #a94442;
|
5056 |
+
}
|
5057 |
+
.list-group-item-heading {
|
5058 |
+
margin-top: 0;
|
5059 |
+
margin-bottom: 5px;
|
5060 |
+
}
|
5061 |
+
.list-group-item-text {
|
5062 |
+
margin-bottom: 0;
|
5063 |
+
line-height: 1.3;
|
5064 |
+
}
|
5065 |
+
.panel {
|
5066 |
+
margin-bottom: 20px;
|
5067 |
+
background-color: #ffffff;
|
5068 |
+
border: 1px solid transparent;
|
5069 |
+
border-radius: 4px;
|
5070 |
+
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
|
5071 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
|
5072 |
+
}
|
5073 |
+
.panel-body {
|
5074 |
+
padding: 15px;
|
5075 |
+
}
|
5076 |
+
.panel-heading {
|
5077 |
+
padding: 10px 15px;
|
5078 |
+
border-bottom: 1px solid transparent;
|
5079 |
+
border-top-right-radius: 3px;
|
5080 |
+
border-top-left-radius: 3px;
|
5081 |
+
}
|
5082 |
+
.panel-heading > .dropdown .dropdown-toggle {
|
5083 |
+
color: inherit;
|
5084 |
+
}
|
5085 |
+
.panel-title {
|
5086 |
+
margin-top: 0;
|
5087 |
+
margin-bottom: 0;
|
5088 |
+
font-size: 16px;
|
5089 |
+
color: inherit;
|
5090 |
+
}
|
5091 |
+
.panel-title > a,
|
5092 |
+
.panel-title > small,
|
5093 |
+
.panel-title > .small,
|
5094 |
+
.panel-title > small > a,
|
5095 |
+
.panel-title > .small > a {
|
5096 |
+
color: inherit;
|
5097 |
+
}
|
5098 |
+
.panel-footer {
|
5099 |
+
padding: 10px 15px;
|
5100 |
+
background-color: #f5f5f5;
|
5101 |
+
border-top: 1px solid #dddddd;
|
5102 |
+
border-bottom-right-radius: 3px;
|
5103 |
+
border-bottom-left-radius: 3px;
|
5104 |
+
}
|
5105 |
+
.panel > .list-group,
|
5106 |
+
.panel > .panel-collapse > .list-group {
|
5107 |
+
margin-bottom: 0;
|
5108 |
+
}
|
5109 |
+
.panel > .list-group .list-group-item,
|
5110 |
+
.panel > .panel-collapse > .list-group .list-group-item {
|
5111 |
+
border-width: 1px 0;
|
5112 |
+
border-radius: 0;
|
5113 |
+
}
|
5114 |
+
.panel > .list-group:first-child .list-group-item:first-child,
|
5115 |
+
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
|
5116 |
+
border-top: 0;
|
5117 |
+
border-top-right-radius: 3px;
|
5118 |
+
border-top-left-radius: 3px;
|
5119 |
+
}
|
5120 |
+
.panel > .list-group:last-child .list-group-item:last-child,
|
5121 |
+
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
|
5122 |
+
border-bottom: 0;
|
5123 |
+
border-bottom-right-radius: 3px;
|
5124 |
+
border-bottom-left-radius: 3px;
|
5125 |
+
}
|
5126 |
+
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
|
5127 |
+
border-top-right-radius: 0;
|
5128 |
+
border-top-left-radius: 0;
|
5129 |
+
}
|
5130 |
+
.panel-heading + .list-group .list-group-item:first-child {
|
5131 |
+
border-top-width: 0;
|
5132 |
+
}
|
5133 |
+
.list-group + .panel-footer {
|
5134 |
+
border-top-width: 0;
|
5135 |
+
}
|
5136 |
+
.panel > .table,
|
5137 |
+
.panel > .table-responsive > .table,
|
5138 |
+
.panel > .panel-collapse > .table {
|
5139 |
+
margin-bottom: 0;
|
5140 |
+
}
|
5141 |
+
.panel > .table caption,
|
5142 |
+
.panel > .table-responsive > .table caption,
|
5143 |
+
.panel > .panel-collapse > .table caption {
|
5144 |
+
padding-left: 15px;
|
5145 |
+
padding-right: 15px;
|
5146 |
+
}
|
5147 |
+
.panel > .table:first-child,
|
5148 |
+
.panel > .table-responsive:first-child > .table:first-child {
|
5149 |
+
border-top-right-radius: 3px;
|
5150 |
+
border-top-left-radius: 3px;
|
5151 |
+
}
|
5152 |
+
.panel > .table:first-child > thead:first-child > tr:first-child,
|
5153 |
+
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
|
5154 |
+
.panel > .table:first-child > tbody:first-child > tr:first-child,
|
5155 |
+
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
|
5156 |
+
border-top-left-radius: 3px;
|
5157 |
+
border-top-right-radius: 3px;
|
5158 |
+
}
|
5159 |
+
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
|
5160 |
+
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
|
5161 |
+
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
|
5162 |
+
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
|
5163 |
+
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
|
5164 |
+
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
|
5165 |
+
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
|
5166 |
+
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
|
5167 |
+
border-top-left-radius: 3px;
|
5168 |
+
}
|
5169 |
+
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
|
5170 |
+
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
|
5171 |
+
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
|
5172 |
+
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
|
5173 |
+
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
|
5174 |
+
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
|
5175 |
+
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
|
5176 |
+
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
|
5177 |
+
border-top-right-radius: 3px;
|
5178 |
+
}
|
5179 |
+
.panel > .table:last-child,
|
5180 |
+
.panel > .table-responsive:last-child > .table:last-child {
|
5181 |
+
border-bottom-right-radius: 3px;
|
5182 |
+
border-bottom-left-radius: 3px;
|
5183 |
+
}
|
5184 |
+
.panel > .table:last-child > tbody:last-child > tr:last-child,
|
5185 |
+
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
|
5186 |
+
.panel > .table:last-child > tfoot:last-child > tr:last-child,
|
5187 |
+
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
|
5188 |
+
border-bottom-left-radius: 3px;
|
5189 |
+
border-bottom-right-radius: 3px;
|
5190 |
+
}
|
5191 |
+
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
|
5192 |
+
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
|
5193 |
+
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
|
5194 |
+
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
|
5195 |
+
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
|
5196 |
+
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
|
5197 |
+
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
|
5198 |
+
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
|
5199 |
+
border-bottom-left-radius: 3px;
|
5200 |
+
}
|
5201 |
+
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
|
5202 |
+
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
|
5203 |
+
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
|
5204 |
+
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
|
5205 |
+
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
|
5206 |
+
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
|
5207 |
+
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
|
5208 |
+
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
|
5209 |
+
border-bottom-right-radius: 3px;
|
5210 |
+
}
|
5211 |
+
.panel > .panel-body + .table,
|
5212 |
+
.panel > .panel-body + .table-responsive,
|
5213 |
+
.panel > .table + .panel-body,
|
5214 |
+
.panel > .table-responsive + .panel-body {
|
5215 |
+
border-top: 1px solid #dddddd;
|
5216 |
+
}
|
5217 |
+
.panel > .table > tbody:first-child > tr:first-child th,
|
5218 |
+
.panel > .table > tbody:first-child > tr:first-child td {
|
5219 |
+
border-top: 0;
|
5220 |
+
}
|
5221 |
+
.panel > .table-bordered,
|
5222 |
+
.panel > .table-responsive > .table-bordered {
|
5223 |
+
border: 0;
|
5224 |
+
}
|
5225 |
+
.panel > .table-bordered > thead > tr > th:first-child,
|
5226 |
+
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
|
5227 |
+
.panel > .table-bordered > tbody > tr > th:first-child,
|
5228 |
+
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
|
5229 |
+
.panel > .table-bordered > tfoot > tr > th:first-child,
|
5230 |
+
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
|
5231 |
+
.panel > .table-bordered > thead > tr > td:first-child,
|
5232 |
+
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
|
5233 |
+
.panel > .table-bordered > tbody > tr > td:first-child,
|
5234 |
+
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
|
5235 |
+
.panel > .table-bordered > tfoot > tr > td:first-child,
|
5236 |
+
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
|
5237 |
+
border-left: 0;
|
5238 |
+
}
|
5239 |
+
.panel > .table-bordered > thead > tr > th:last-child,
|
5240 |
+
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
|
5241 |
+
.panel > .table-bordered > tbody > tr > th:last-child,
|
5242 |
+
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
|
5243 |
+
.panel > .table-bordered > tfoot > tr > th:last-child,
|
5244 |
+
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
|
5245 |
+
.panel > .table-bordered > thead > tr > td:last-child,
|
5246 |
+
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
|
5247 |
+
.panel > .table-bordered > tbody > tr > td:last-child,
|
5248 |
+
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
|
5249 |
+
.panel > .table-bordered > tfoot > tr > td:last-child,
|
5250 |
+
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
|
5251 |
+
border-right: 0;
|
5252 |
+
}
|
5253 |
+
.panel > .table-bordered > thead > tr:first-child > td,
|
5254 |
+
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
|
5255 |
+
.panel > .table-bordered > tbody > tr:first-child > td,
|
5256 |
+
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
|
5257 |
+
.panel > .table-bordered > thead > tr:first-child > th,
|
5258 |
+
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
|
5259 |
+
.panel > .table-bordered > tbody > tr:first-child > th,
|
5260 |
+
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
|
5261 |
+
border-bottom: 0;
|
5262 |
+
}
|
5263 |
+
.panel > .table-bordered > tbody > tr:last-child > td,
|
5264 |
+
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
|
5265 |
+
.panel > .table-bordered > tfoot > tr:last-child > td,
|
5266 |
+
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
|
5267 |
+
.panel > .table-bordered > tbody > tr:last-child > th,
|
5268 |
+
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
|
5269 |
+
.panel > .table-bordered > tfoot > tr:last-child > th,
|
5270 |
+
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
|
5271 |
+
border-bottom: 0;
|
5272 |
+
}
|
5273 |
+
.panel > .table-responsive {
|
5274 |
+
border: 0;
|
5275 |
+
margin-bottom: 0;
|
5276 |
+
}
|
5277 |
+
.panel-group {
|
5278 |
+
margin-bottom: 20px;
|
5279 |
+
}
|
5280 |
+
.panel-group .panel {
|
5281 |
+
margin-bottom: 0;
|
5282 |
+
border-radius: 4px;
|
5283 |
+
}
|
5284 |
+
.panel-group .panel + .panel {
|
5285 |
+
margin-top: 5px;
|
5286 |
+
}
|
5287 |
+
.panel-group .panel-heading {
|
5288 |
+
border-bottom: 0;
|
5289 |
+
}
|
5290 |
+
.panel-group .panel-heading + .panel-collapse > .panel-body,
|
5291 |
+
.panel-group .panel-heading + .panel-collapse > .list-group {
|
5292 |
+
border-top: 1px solid #dddddd;
|
5293 |
+
}
|
5294 |
+
.panel-group .panel-footer {
|
5295 |
+
border-top: 0;
|
5296 |
+
}
|
5297 |
+
.panel-group .panel-footer + .panel-collapse .panel-body {
|
5298 |
+
border-bottom: 1px solid #dddddd;
|
5299 |
+
}
|
5300 |
+
.panel-default {
|
5301 |
+
border-color: #dddddd;
|
5302 |
+
}
|
5303 |
+
.panel-default > .panel-heading {
|
5304 |
+
color: #333333;
|
5305 |
+
background-color: #f5f5f5;
|
5306 |
+
border-color: #dddddd;
|
5307 |
+
}
|
5308 |
+
.panel-default > .panel-heading + .panel-collapse > .panel-body {
|
5309 |
+
border-top-color: #dddddd;
|
5310 |
+
}
|
5311 |
+
.panel-default > .panel-heading .badge {
|
5312 |
+
color: #f5f5f5;
|
5313 |
+
background-color: #333333;
|
5314 |
+
}
|
5315 |
+
.panel-default > .panel-footer + .panel-collapse > .panel-body {
|
5316 |
+
border-bottom-color: #dddddd;
|
5317 |
+
}
|
5318 |
+
.panel-primary {
|
5319 |
+
border-color: #337ab7;
|
5320 |
+
}
|
5321 |
+
.panel-primary > .panel-heading {
|
5322 |
+
color: #ffffff;
|
5323 |
+
background-color: #337ab7;
|
5324 |
+
border-color: #337ab7;
|
5325 |
+
}
|
5326 |
+
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
|
5327 |
+
border-top-color: #337ab7;
|
5328 |
+
}
|
5329 |
+
.panel-primary > .panel-heading .badge {
|
5330 |
+
color: #337ab7;
|
5331 |
+
background-color: #ffffff;
|
5332 |
+
}
|
5333 |
+
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
|
5334 |
+
border-bottom-color: #337ab7;
|
5335 |
+
}
|
5336 |
+
.panel-success {
|
5337 |
+
border-color: #d6e9c6;
|
5338 |
+
}
|
5339 |
+
.panel-success > .panel-heading {
|
5340 |
+
color: #3c763d;
|
5341 |
+
background-color: #dff0d8;
|
5342 |
+
border-color: #d6e9c6;
|
5343 |
+
}
|
5344 |
+
.panel-success > .panel-heading + .panel-collapse > .panel-body {
|
5345 |
+
border-top-color: #d6e9c6;
|
5346 |
+
}
|
5347 |
+
.panel-success > .panel-heading .badge {
|
5348 |
+
color: #dff0d8;
|
5349 |
+
background-color: #3c763d;
|
5350 |
+
}
|
5351 |
+
.panel-success > .panel-footer + .panel-collapse > .panel-body {
|
5352 |
+
border-bottom-color: #d6e9c6;
|
5353 |
+
}
|
5354 |
+
.panel-info {
|
5355 |
+
border-color: #bce8f1;
|
5356 |
+
}
|
5357 |
+
.panel-info > .panel-heading {
|
5358 |
+
color: #31708f;
|
5359 |
+
background-color: #d9edf7;
|
5360 |
+
border-color: #bce8f1;
|
5361 |
+
}
|
5362 |
+
.panel-info > .panel-heading + .panel-collapse > .panel-body {
|
5363 |
+
border-top-color: #bce8f1;
|
5364 |
+
}
|
5365 |
+
.panel-info > .panel-heading .badge {
|
5366 |
+
color: #d9edf7;
|
5367 |
+
background-color: #31708f;
|
5368 |
+
}
|
5369 |
+
.panel-info > .panel-footer + .panel-collapse > .panel-body {
|
5370 |
+
border-bottom-color: #bce8f1;
|
5371 |
+
}
|
5372 |
+
.panel-warning {
|
5373 |
+
border-color: #faebcc;
|
5374 |
+
}
|
5375 |
+
.panel-warning > .panel-heading {
|
5376 |
+
color: #8a6d3b;
|
5377 |
+
background-color: #fcf8e3;
|
5378 |
+
border-color: #faebcc;
|
5379 |
+
}
|
5380 |
+
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
|
5381 |
+
border-top-color: #faebcc;
|
5382 |
+
}
|
5383 |
+
.panel-warning > .panel-heading .badge {
|
5384 |
+
color: #fcf8e3;
|
5385 |
+
background-color: #8a6d3b;
|
5386 |
+
}
|
5387 |
+
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
|
5388 |
+
border-bottom-color: #faebcc;
|
5389 |
+
}
|
5390 |
+
.panel-danger {
|
5391 |
+
border-color: #ebccd1;
|
5392 |
+
}
|
5393 |
+
.panel-danger > .panel-heading {
|
5394 |
+
color: #a94442;
|
5395 |
+
background-color: #f2dede;
|
5396 |
+
border-color: #ebccd1;
|
5397 |
+
}
|
5398 |
+
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
|
5399 |
+
border-top-color: #ebccd1;
|
5400 |
+
}
|
5401 |
+
.panel-danger > .panel-heading .badge {
|
5402 |
+
color: #f2dede;
|
5403 |
+
background-color: #a94442;
|
5404 |
+
}
|
5405 |
+
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
|
5406 |
+
border-bottom-color: #ebccd1;
|
5407 |
+
}
|
5408 |
+
.embed-responsive {
|
5409 |
+
position: relative;
|
5410 |
+
display: block;
|
5411 |
+
height: 0;
|
5412 |
+
padding: 0;
|
5413 |
+
overflow: hidden;
|
5414 |
+
}
|
5415 |
+
.embed-responsive .embed-responsive-item,
|
5416 |
+
.embed-responsive iframe,
|
5417 |
+
.embed-responsive embed,
|
5418 |
+
.embed-responsive object,
|
5419 |
+
.embed-responsive video {
|
5420 |
+
position: absolute;
|
5421 |
+
top: 0;
|
5422 |
+
left: 0;
|
5423 |
+
bottom: 0;
|
5424 |
+
height: 100%;
|
5425 |
+
width: 100%;
|
5426 |
+
border: 0;
|
5427 |
+
}
|
5428 |
+
.embed-responsive-16by9 {
|
5429 |
+
padding-bottom: 56.25%;
|
5430 |
+
}
|
5431 |
+
.embed-responsive-4by3 {
|
5432 |
+
padding-bottom: 75%;
|
5433 |
+
}
|
5434 |
+
.well {
|
5435 |
+
min-height: 20px;
|
5436 |
+
padding: 19px;
|
5437 |
+
margin-bottom: 20px;
|
5438 |
+
background-color: #f5f5f5;
|
5439 |
+
border: 1px solid #e3e3e3;
|
5440 |
+
border-radius: 4px;
|
5441 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
|
5442 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
|
5443 |
+
}
|
5444 |
+
.well blockquote {
|
5445 |
+
border-color: #ddd;
|
5446 |
+
border-color: rgba(0, 0, 0, 0.15);
|
5447 |
+
}
|
5448 |
+
.well-lg {
|
5449 |
+
padding: 24px;
|
5450 |
+
border-radius: 6px;
|
5451 |
+
}
|
5452 |
+
.well-sm {
|
5453 |
+
padding: 9px;
|
5454 |
+
border-radius: 3px;
|
5455 |
+
}
|
5456 |
+
.close {
|
5457 |
+
float: right;
|
5458 |
+
font-size: 21px;
|
5459 |
+
font-weight: bold;
|
5460 |
+
line-height: 1;
|
5461 |
+
color: #000000;
|
5462 |
+
text-shadow: 0 1px 0 #ffffff;
|
5463 |
+
opacity: 0.2;
|
5464 |
+
filter: alpha(opacity=20);
|
5465 |
+
}
|
5466 |
+
.close:hover,
|
5467 |
+
.close:focus {
|
5468 |
+
color: #000000;
|
5469 |
+
text-decoration: none;
|
5470 |
+
cursor: pointer;
|
5471 |
+
opacity: 0.5;
|
5472 |
+
filter: alpha(opacity=50);
|
5473 |
+
}
|
5474 |
+
button.close {
|
5475 |
+
padding: 0;
|
5476 |
+
cursor: pointer;
|
5477 |
+
background: transparent;
|
5478 |
+
border: 0;
|
5479 |
+
-webkit-appearance: none;
|
5480 |
+
}
|
5481 |
+
.modal-open {
|
5482 |
+
overflow: hidden;
|
5483 |
+
}
|
5484 |
+
.modal {
|
5485 |
+
display: none;
|
5486 |
+
overflow: hidden;
|
5487 |
+
position: fixed;
|
5488 |
+
top: 0;
|
5489 |
+
right: 0;
|
5490 |
+
bottom: 0;
|
5491 |
+
left: 0;
|
5492 |
+
z-index: 1050;
|
5493 |
+
-webkit-overflow-scrolling: touch;
|
5494 |
+
outline: 0;
|
5495 |
+
}
|
5496 |
+
.modal.fade .modal-dialog {
|
5497 |
+
-webkit-transform: translate(0, -25%);
|
5498 |
+
-ms-transform: translate(0, -25%);
|
5499 |
+
-o-transform: translate(0, -25%);
|
5500 |
+
transform: translate(0, -25%);
|
5501 |
+
-webkit-transition: -webkit-transform 0.3s ease-out;
|
5502 |
+
-o-transition: -o-transform 0.3s ease-out;
|
5503 |
+
transition: transform 0.3s ease-out;
|
5504 |
+
}
|
5505 |
+
.modal.in .modal-dialog {
|
5506 |
+
-webkit-transform: translate(0, 0);
|
5507 |
+
-ms-transform: translate(0, 0);
|
5508 |
+
-o-transform: translate(0, 0);
|
5509 |
+
transform: translate(0, 0);
|
5510 |
+
}
|
5511 |
+
.modal-open .modal {
|
5512 |
+
overflow-x: hidden;
|
5513 |
+
overflow-y: auto;
|
5514 |
+
}
|
5515 |
+
.modal-dialog {
|
5516 |
+
position: relative;
|
5517 |
+
width: auto;
|
5518 |
+
margin: 10px;
|
5519 |
+
}
|
5520 |
+
.modal-content {
|
5521 |
+
position: relative;
|
5522 |
+
background-color: #ffffff;
|
5523 |
+
border: 1px solid #999999;
|
5524 |
+
border: 1px solid rgba(0, 0, 0, 0.2);
|
5525 |
+
border-radius: 6px;
|
5526 |
+
-webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
|
5527 |
+
box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
|
5528 |
+
-webkit-background-clip: padding-box;
|
5529 |
+
background-clip: padding-box;
|
5530 |
+
outline: 0;
|
5531 |
+
}
|
5532 |
+
.modal-backdrop {
|
5533 |
+
position: fixed;
|
5534 |
+
top: 0;
|
5535 |
+
right: 0;
|
5536 |
+
bottom: 0;
|
5537 |
+
left: 0;
|
5538 |
+
z-index: 1040;
|
5539 |
+
background-color: #000000;
|
5540 |
+
}
|
5541 |
+
.modal-backdrop.fade {
|
5542 |
+
opacity: 0;
|
5543 |
+
filter: alpha(opacity=0);
|
5544 |
+
}
|
5545 |
+
.modal-backdrop.in {
|
5546 |
+
opacity: 0.5;
|
5547 |
+
filter: alpha(opacity=50);
|
5548 |
+
}
|
5549 |
+
.modal-header {
|
5550 |
+
padding: 15px;
|
5551 |
+
border-bottom: 1px solid #e5e5e5;
|
5552 |
+
}
|
5553 |
+
.modal-header .close {
|
5554 |
+
margin-top: -2px;
|
5555 |
+
}
|
5556 |
+
.modal-title {
|
5557 |
+
margin: 0;
|
5558 |
+
line-height: 1.42857143;
|
5559 |
+
}
|
5560 |
+
.modal-body {
|
5561 |
+
position: relative;
|
5562 |
+
padding: 15px;
|
5563 |
+
}
|
5564 |
+
.modal-footer {
|
5565 |
+
padding: 15px;
|
5566 |
+
text-align: right;
|
5567 |
+
border-top: 1px solid #e5e5e5;
|
5568 |
+
}
|
5569 |
+
.modal-footer .btn + .btn {
|
5570 |
+
margin-left: 5px;
|
5571 |
+
margin-bottom: 0;
|
5572 |
+
}
|
5573 |
+
.modal-footer .btn-group .btn + .btn {
|
5574 |
+
margin-left: -1px;
|
5575 |
+
}
|
5576 |
+
.modal-footer .btn-block + .btn-block {
|
5577 |
+
margin-left: 0;
|
5578 |
+
}
|
5579 |
+
.modal-scrollbar-measure {
|
5580 |
+
position: absolute;
|
5581 |
+
top: -9999px;
|
5582 |
+
width: 50px;
|
5583 |
+
height: 50px;
|
5584 |
+
overflow: scroll;
|
5585 |
+
}
|
5586 |
+
@media (min-width: 768px) {
|
5587 |
+
.modal-dialog {
|
5588 |
+
width: 600px;
|
5589 |
+
margin: 30px auto;
|
5590 |
+
}
|
5591 |
+
.modal-content {
|
5592 |
+
-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
|
5593 |
+
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
|
5594 |
+
}
|
5595 |
+
.modal-sm {
|
5596 |
+
width: 300px;
|
5597 |
+
}
|
5598 |
+
}
|
5599 |
+
@media (min-width: 992px) {
|
5600 |
+
.modal-lg {
|
5601 |
+
width: 900px;
|
5602 |
+
}
|
5603 |
+
}
|
5604 |
+
.tooltip {
|
5605 |
+
position: absolute;
|
5606 |
+
z-index: 1070;
|
5607 |
+
display: block;
|
5608 |
+
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
5609 |
+
font-style: normal;
|
5610 |
+
font-weight: normal;
|
5611 |
+
letter-spacing: normal;
|
5612 |
+
line-break: auto;
|
5613 |
+
line-height: 1.42857143;
|
5614 |
+
text-align: left;
|
5615 |
+
text-align: start;
|
5616 |
+
text-decoration: none;
|
5617 |
+
text-shadow: none;
|
5618 |
+
text-transform: none;
|
5619 |
+
white-space: normal;
|
5620 |
+
word-break: normal;
|
5621 |
+
word-spacing: normal;
|
5622 |
+
word-wrap: normal;
|
5623 |
+
font-size: 12px;
|
5624 |
+
opacity: 0;
|
5625 |
+
filter: alpha(opacity=0);
|
5626 |
+
}
|
5627 |
+
.tooltip.in {
|
5628 |
+
opacity: 0.9;
|
5629 |
+
filter: alpha(opacity=90);
|
5630 |
+
}
|
5631 |
+
.tooltip.top {
|
5632 |
+
margin-top: -3px;
|
5633 |
+
padding: 5px 0;
|
5634 |
+
}
|
5635 |
+
.tooltip.right {
|
5636 |
+
margin-left: 3px;
|
5637 |
+
padding: 0 5px;
|
5638 |
+
}
|
5639 |
+
.tooltip.bottom {
|
5640 |
+
margin-top: 3px;
|
5641 |
+
padding: 5px 0;
|
5642 |
+
}
|
5643 |
+
.tooltip.left {
|
5644 |
+
margin-left: -3px;
|
5645 |
+
padding: 0 5px;
|
5646 |
+
}
|
5647 |
+
.tooltip-inner {
|
5648 |
+
max-width: 200px;
|
5649 |
+
padding: 3px 8px;
|
5650 |
+
color: #ffffff;
|
5651 |
+
text-align: center;
|
5652 |
+
background-color: #000000;
|
5653 |
+
border-radius: 4px;
|
5654 |
+
}
|
5655 |
+
.tooltip-arrow {
|
5656 |
+
position: absolute;
|
5657 |
+
width: 0;
|
5658 |
+
height: 0;
|
5659 |
+
border-color: transparent;
|
5660 |
+
border-style: solid;
|
5661 |
+
}
|
5662 |
+
.tooltip.top .tooltip-arrow {
|
5663 |
+
bottom: 0;
|
5664 |
+
left: 50%;
|
5665 |
+
margin-left: -5px;
|
5666 |
+
border-width: 5px 5px 0;
|
5667 |
+
border-top-color: #000000;
|
5668 |
+
}
|
5669 |
+
.tooltip.top-left .tooltip-arrow {
|
5670 |
+
bottom: 0;
|
5671 |
+
right: 5px;
|
5672 |
+
margin-bottom: -5px;
|
5673 |
+
border-width: 5px 5px 0;
|
5674 |
+
border-top-color: #000000;
|
5675 |
+
}
|
5676 |
+
.tooltip.top-right .tooltip-arrow {
|
5677 |
+
bottom: 0;
|
5678 |
+
left: 5px;
|
5679 |
+
margin-bottom: -5px;
|
5680 |
+
border-width: 5px 5px 0;
|
5681 |
+
border-top-color: #000000;
|
5682 |
+
}
|
5683 |
+
.tooltip.right .tooltip-arrow {
|
5684 |
+
top: 50%;
|
5685 |
+
left: 0;
|
5686 |
+
margin-top: -5px;
|
5687 |
+
border-width: 5px 5px 5px 0;
|
5688 |
+
border-right-color: #000000;
|
5689 |
+
}
|
5690 |
+
.tooltip.left .tooltip-arrow {
|
5691 |
+
top: 50%;
|
5692 |
+
right: 0;
|
5693 |
+
margin-top: -5px;
|
5694 |
+
border-width: 5px 0 5px 5px;
|
5695 |
+
border-left-color: #000000;
|
5696 |
+
}
|
5697 |
+
.tooltip.bottom .tooltip-arrow {
|
5698 |
+
top: 0;
|
5699 |
+
left: 50%;
|
5700 |
+
margin-left: -5px;
|
5701 |
+
border-width: 0 5px 5px;
|
5702 |
+
border-bottom-color: #000000;
|
5703 |
+
}
|
5704 |
+
.tooltip.bottom-left .tooltip-arrow {
|
5705 |
+
top: 0;
|
5706 |
+
right: 5px;
|
5707 |
+
margin-top: -5px;
|
5708 |
+
border-width: 0 5px 5px;
|
5709 |
+
border-bottom-color: #000000;
|
5710 |
+
}
|
5711 |
+
.tooltip.bottom-right .tooltip-arrow {
|
5712 |
+
top: 0;
|
5713 |
+
left: 5px;
|
5714 |
+
margin-top: -5px;
|
5715 |
+
border-width: 0 5px 5px;
|
5716 |
+
border-bottom-color: #000000;
|
5717 |
+
}
|
5718 |
+
.popover {
|
5719 |
+
position: absolute;
|
5720 |
+
top: 0;
|
5721 |
+
left: 0;
|
5722 |
+
z-index: 1060;
|
5723 |
+
display: none;
|
5724 |
+
max-width: 276px;
|
5725 |
+
padding: 1px;
|
5726 |
+
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
5727 |
+
font-style: normal;
|
5728 |
+
font-weight: normal;
|
5729 |
+
letter-spacing: normal;
|
5730 |
+
line-break: auto;
|
5731 |
+
line-height: 1.42857143;
|
5732 |
+
text-align: left;
|
5733 |
+
text-align: start;
|
5734 |
+
text-decoration: none;
|
5735 |
+
text-shadow: none;
|
5736 |
+
text-transform: none;
|
5737 |
+
white-space: normal;
|
5738 |
+
word-break: normal;
|
5739 |
+
word-spacing: normal;
|
5740 |
+
word-wrap: normal;
|
5741 |
+
font-size: 14px;
|
5742 |
+
background-color: #ffffff;
|
5743 |
+
-webkit-background-clip: padding-box;
|
5744 |
+
background-clip: padding-box;
|
5745 |
+
border: 1px solid #cccccc;
|
5746 |
+
border: 1px solid rgba(0, 0, 0, 0.2);
|
5747 |
+
border-radius: 6px;
|
5748 |
+
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
|
5749 |
+
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
|
5750 |
+
}
|
5751 |
+
.popover.top {
|
5752 |
+
margin-top: -10px;
|
5753 |
+
}
|
5754 |
+
.popover.right {
|
5755 |
+
margin-left: 10px;
|
5756 |
+
}
|
5757 |
+
.popover.bottom {
|
5758 |
+
margin-top: 10px;
|
5759 |
+
}
|
5760 |
+
.popover.left {
|
5761 |
+
margin-left: -10px;
|
5762 |
+
}
|
5763 |
+
.popover-title {
|
5764 |
+
margin: 0;
|
5765 |
+
padding: 8px 14px;
|
5766 |
+
font-size: 14px;
|
5767 |
+
background-color: #f7f7f7;
|
5768 |
+
border-bottom: 1px solid #ebebeb;
|
5769 |
+
border-radius: 5px 5px 0 0;
|
5770 |
+
}
|
5771 |
+
.popover-content {
|
5772 |
+
padding: 9px 14px;
|
5773 |
+
}
|
5774 |
+
.popover > .arrow,
|
5775 |
+
.popover > .arrow:after {
|
5776 |
+
position: absolute;
|
5777 |
+
display: block;
|
5778 |
+
width: 0;
|
5779 |
+
height: 0;
|
5780 |
+
border-color: transparent;
|
5781 |
+
border-style: solid;
|
5782 |
+
}
|
5783 |
+
.popover > .arrow {
|
5784 |
+
border-width: 11px;
|
5785 |
+
}
|
5786 |
+
.popover > .arrow:after {
|
5787 |
+
border-width: 10px;
|
5788 |
+
content: "";
|
5789 |
+
}
|
5790 |
+
.popover.top > .arrow {
|
5791 |
+
left: 50%;
|
5792 |
+
margin-left: -11px;
|
5793 |
+
border-bottom-width: 0;
|
5794 |
+
border-top-color: #999999;
|
5795 |
+
border-top-color: rgba(0, 0, 0, 0.25);
|
5796 |
+
bottom: -11px;
|
5797 |
+
}
|
5798 |
+
.popover.top > .arrow:after {
|
5799 |
+
content: " ";
|
5800 |
+
bottom: 1px;
|
5801 |
+
margin-left: -10px;
|
5802 |
+
border-bottom-width: 0;
|
5803 |
+
border-top-color: #ffffff;
|
5804 |
+
}
|
5805 |
+
.popover.right > .arrow {
|
5806 |
+
top: 50%;
|
5807 |
+
left: -11px;
|
5808 |
+
margin-top: -11px;
|
5809 |
+
border-left-width: 0;
|
5810 |
+
border-right-color: #999999;
|
5811 |
+
border-right-color: rgba(0, 0, 0, 0.25);
|
5812 |
+
}
|
5813 |
+
.popover.right > .arrow:after {
|
5814 |
+
content: " ";
|
5815 |
+
left: 1px;
|
5816 |
+
bottom: -10px;
|
5817 |
+
border-left-width: 0;
|
5818 |
+
border-right-color: #ffffff;
|
5819 |
+
}
|
5820 |
+
.popover.bottom > .arrow {
|
5821 |
+
left: 50%;
|
5822 |
+
margin-left: -11px;
|
5823 |
+
border-top-width: 0;
|
5824 |
+
border-bottom-color: #999999;
|
5825 |
+
border-bottom-color: rgba(0, 0, 0, 0.25);
|
5826 |
+
top: -11px;
|
5827 |
+
}
|
5828 |
+
.popover.bottom > .arrow:after {
|
5829 |
+
content: " ";
|
5830 |
+
top: 1px;
|
5831 |
+
margin-left: -10px;
|
5832 |
+
border-top-width: 0;
|
5833 |
+
border-bottom-color: #ffffff;
|
5834 |
+
}
|
5835 |
+
.popover.left > .arrow {
|
5836 |
+
top: 50%;
|
5837 |
+
right: -11px;
|
5838 |
+
margin-top: -11px;
|
5839 |
+
border-right-width: 0;
|
5840 |
+
border-left-color: #999999;
|
5841 |
+
border-left-color: rgba(0, 0, 0, 0.25);
|
5842 |
+
}
|
5843 |
+
.popover.left > .arrow:after {
|
5844 |
+
content: " ";
|
5845 |
+
right: 1px;
|
5846 |
+
border-right-width: 0;
|
5847 |
+
border-left-color: #ffffff;
|
5848 |
+
bottom: -10px;
|
5849 |
+
}
|
5850 |
+
.carousel {
|
5851 |
+
position: relative;
|
5852 |
+
}
|
5853 |
+
.carousel-inner {
|
5854 |
+
position: relative;
|
5855 |
+
overflow: hidden;
|
5856 |
+
width: 100%;
|
5857 |
+
}
|
5858 |
+
.carousel-inner > .item {
|
5859 |
+
display: none;
|
5860 |
+
position: relative;
|
5861 |
+
-webkit-transition: 0.6s ease-in-out left;
|
5862 |
+
-o-transition: 0.6s ease-in-out left;
|
5863 |
+
transition: 0.6s ease-in-out left;
|
5864 |
+
}
|
5865 |
+
.carousel-inner > .item > img,
|
5866 |
+
.carousel-inner > .item > a > img {
|
5867 |
+
line-height: 1;
|
5868 |
+
}
|
5869 |
+
@media all and (transform-3d), (-webkit-transform-3d) {
|
5870 |
+
.carousel-inner > .item {
|
5871 |
+
-webkit-transition: -webkit-transform 0.6s ease-in-out;
|
5872 |
+
-o-transition: -o-transform 0.6s ease-in-out;
|
5873 |
+
transition: transform 0.6s ease-in-out;
|
5874 |
+
-webkit-backface-visibility: hidden;
|
5875 |
+
backface-visibility: hidden;
|
5876 |
+
-webkit-perspective: 1000px;
|
5877 |
+
perspective: 1000px;
|
5878 |
+
}
|
5879 |
+
.carousel-inner > .item.next,
|
5880 |
+
.carousel-inner > .item.active.right {
|
5881 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
5882 |
+
transform: translate3d(100%, 0, 0);
|
5883 |
+
left: 0;
|
5884 |
+
}
|
5885 |
+
.carousel-inner > .item.prev,
|
5886 |
+
.carousel-inner > .item.active.left {
|
5887 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
5888 |
+
transform: translate3d(-100%, 0, 0);
|
5889 |
+
left: 0;
|
5890 |
+
}
|
5891 |
+
.carousel-inner > .item.next.left,
|
5892 |
+
.carousel-inner > .item.prev.right,
|
5893 |
+
.carousel-inner > .item.active {
|
5894 |
+
-webkit-transform: translate3d(0, 0, 0);
|
5895 |
+
transform: translate3d(0, 0, 0);
|
5896 |
+
left: 0;
|
5897 |
+
}
|
5898 |
+
}
|
5899 |
+
.carousel-inner > .active,
|
5900 |
+
.carousel-inner > .next,
|
5901 |
+
.carousel-inner > .prev {
|
5902 |
+
display: block;
|
5903 |
+
}
|
5904 |
+
.carousel-inner > .active {
|
5905 |
+
left: 0;
|
5906 |
+
}
|
5907 |
+
.carousel-inner > .next,
|
5908 |
+
.carousel-inner > .prev {
|
5909 |
+
position: absolute;
|
5910 |
+
top: 0;
|
5911 |
+
width: 100%;
|
5912 |
+
}
|
5913 |
+
.carousel-inner > .next {
|
5914 |
+
left: 100%;
|
5915 |
+
}
|
5916 |
+
.carousel-inner > .prev {
|
5917 |
+
left: -100%;
|
5918 |
+
}
|
5919 |
+
.carousel-inner > .next.left,
|
5920 |
+
.carousel-inner > .prev.right {
|
5921 |
+
left: 0;
|
5922 |
+
}
|
5923 |
+
.carousel-inner > .active.left {
|
5924 |
+
left: -100%;
|
5925 |
+
}
|
5926 |
+
.carousel-inner > .active.right {
|
5927 |
+
left: 100%;
|
5928 |
+
}
|
5929 |
+
.carousel-control {
|
5930 |
+
position: absolute;
|
5931 |
+
top: 0;
|
5932 |
+
left: 0;
|
5933 |
+
bottom: 0;
|
5934 |
+
width: 15%;
|
5935 |
+
opacity: 0.5;
|
5936 |
+
filter: alpha(opacity=50);
|
5937 |
+
font-size: 20px;
|
5938 |
+
color: #ffffff;
|
5939 |
+
text-align: center;
|
5940 |
+
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
|
5941 |
+
background-color: rgba(0, 0, 0, 0);
|
5942 |
+
}
|
5943 |
+
.carousel-control.left {
|
5944 |
+
background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
|
5945 |
+
background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
|
5946 |
+
background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));
|
5947 |
+
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
|
5948 |
+
background-repeat: repeat-x;
|
5949 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
|
5950 |
+
}
|
5951 |
+
.carousel-control.right {
|
5952 |
+
left: auto;
|
5953 |
+
right: 0;
|
5954 |
+
background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
|
5955 |
+
background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
|
5956 |
+
background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));
|
5957 |
+
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
|
5958 |
+
background-repeat: repeat-x;
|
5959 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
|
5960 |
+
}
|
5961 |
+
.carousel-control:hover,
|
5962 |
+
.carousel-control:focus {
|
5963 |
+
outline: 0;
|
5964 |
+
color: #ffffff;
|
5965 |
+
text-decoration: none;
|
5966 |
+
opacity: 0.9;
|
5967 |
+
filter: alpha(opacity=90);
|
5968 |
+
}
|
5969 |
+
.carousel-control .icon-prev,
|
5970 |
+
.carousel-control .icon-next,
|
5971 |
+
.carousel-control .glyphicon-chevron-left,
|
5972 |
+
.carousel-control .glyphicon-chevron-right {
|
5973 |
+
position: absolute;
|
5974 |
+
top: 50%;
|
5975 |
+
margin-top: -10px;
|
5976 |
+
z-index: 5;
|
5977 |
+
display: inline-block;
|
5978 |
+
}
|
5979 |
+
.carousel-control .icon-prev,
|
5980 |
+
.carousel-control .glyphicon-chevron-left {
|
5981 |
+
left: 50%;
|
5982 |
+
margin-left: -10px;
|
5983 |
+
}
|
5984 |
+
.carousel-control .icon-next,
|
5985 |
+
.carousel-control .glyphicon-chevron-right {
|
5986 |
+
right: 50%;
|
5987 |
+
margin-right: -10px;
|
5988 |
+
}
|
5989 |
+
.carousel-control .icon-prev,
|
5990 |
+
.carousel-control .icon-next {
|
5991 |
+
width: 20px;
|
5992 |
+
height: 20px;
|
5993 |
+
line-height: 1;
|
5994 |
+
font-family: serif;
|
5995 |
+
}
|
5996 |
+
.carousel-control .icon-prev:before {
|
5997 |
+
content: '\2039';
|
5998 |
+
}
|
5999 |
+
.carousel-control .icon-next:before {
|
6000 |
+
content: '\203a';
|
6001 |
+
}
|
6002 |
+
.carousel-indicators {
|
6003 |
+
position: absolute;
|
6004 |
+
bottom: 10px;
|
6005 |
+
left: 50%;
|
6006 |
+
z-index: 15;
|
6007 |
+
width: 60%;
|
6008 |
+
margin-left: -30%;
|
6009 |
+
padding-left: 0;
|
6010 |
+
list-style: none;
|
6011 |
+
text-align: center;
|
6012 |
+
}
|
6013 |
+
.carousel-indicators li {
|
6014 |
+
display: inline-block;
|
6015 |
+
width: 10px;
|
6016 |
+
height: 10px;
|
6017 |
+
margin: 1px;
|
6018 |
+
text-indent: -999px;
|
6019 |
+
border: 1px solid #ffffff;
|
6020 |
+
border-radius: 10px;
|
6021 |
+
cursor: pointer;
|
6022 |
+
background-color: #000 \9;
|
6023 |
+
background-color: rgba(0, 0, 0, 0);
|
6024 |
+
}
|
6025 |
+
.carousel-indicators .active {
|
6026 |
+
margin: 0;
|
6027 |
+
width: 12px;
|
6028 |
+
height: 12px;
|
6029 |
+
background-color: #ffffff;
|
6030 |
+
}
|
6031 |
+
.carousel-caption {
|
6032 |
+
position: absolute;
|
6033 |
+
left: 15%;
|
6034 |
+
right: 15%;
|
6035 |
+
bottom: 20px;
|
6036 |
+
z-index: 10;
|
6037 |
+
padding-top: 20px;
|
6038 |
+
padding-bottom: 20px;
|
6039 |
+
color: #ffffff;
|
6040 |
+
text-align: center;
|
6041 |
+
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
|
6042 |
+
}
|
6043 |
+
.carousel-caption .btn {
|
6044 |
+
text-shadow: none;
|
6045 |
+
}
|
6046 |
+
@media screen and (min-width: 768px) {
|
6047 |
+
.carousel-control .glyphicon-chevron-left,
|
6048 |
+
.carousel-control .glyphicon-chevron-right,
|
6049 |
+
.carousel-control .icon-prev,
|
6050 |
+
.carousel-control .icon-next {
|
6051 |
+
width: 30px;
|
6052 |
+
height: 30px;
|
6053 |
+
margin-top: -10px;
|
6054 |
+
font-size: 30px;
|
6055 |
+
}
|
6056 |
+
.carousel-control .glyphicon-chevron-left,
|
6057 |
+
.carousel-control .icon-prev {
|
6058 |
+
margin-left: -10px;
|
6059 |
+
}
|
6060 |
+
.carousel-control .glyphicon-chevron-right,
|
6061 |
+
.carousel-control .icon-next {
|
6062 |
+
margin-right: -10px;
|
6063 |
+
}
|
6064 |
+
.carousel-caption {
|
6065 |
+
left: 20%;
|
6066 |
+
right: 20%;
|
6067 |
+
padding-bottom: 30px;
|
6068 |
+
}
|
6069 |
+
.carousel-indicators {
|
6070 |
+
bottom: 20px;
|
6071 |
+
}
|
6072 |
+
}
|
6073 |
+
.clearfix:before,
|
6074 |
+
.clearfix:after,
|
6075 |
+
.container:before,
|
6076 |
+
.container:after,
|
6077 |
+
.container-fluid:before,
|
6078 |
+
.container-fluid:after,
|
6079 |
+
.row:before,
|
6080 |
+
.row:after,
|
6081 |
+
.form-horizontal .form-group:before,
|
6082 |
+
.form-horizontal .form-group:after,
|
6083 |
+
.btn-toolbar:before,
|
6084 |
+
.btn-toolbar:after,
|
6085 |
+
.btn-group-vertical > .btn-group:before,
|
6086 |
+
.btn-group-vertical > .btn-group:after,
|
6087 |
+
.nav:before,
|
6088 |
+
.nav:after,
|
6089 |
+
.navbar:before,
|
6090 |
+
.navbar:after,
|
6091 |
+
.navbar-header:before,
|
6092 |
+
.navbar-header:after,
|
6093 |
+
.navbar-collapse:before,
|
6094 |
+
.navbar-collapse:after,
|
6095 |
+
.pager:before,
|
6096 |
+
.pager:after,
|
6097 |
+
.panel-body:before,
|
6098 |
+
.panel-body:after,
|
6099 |
+
.modal-header:before,
|
6100 |
+
.modal-header:after,
|
6101 |
+
.modal-footer:before,
|
6102 |
+
.modal-footer:after {
|
6103 |
+
content: " ";
|
6104 |
+
display: table;
|
6105 |
+
}
|
6106 |
+
.clearfix:after,
|
6107 |
+
.container:after,
|
6108 |
+
.container-fluid:after,
|
6109 |
+
.row:after,
|
6110 |
+
.form-horizontal .form-group:after,
|
6111 |
+
.btn-toolbar:after,
|
6112 |
+
.btn-group-vertical > .btn-group:after,
|
6113 |
+
.nav:after,
|
6114 |
+
.navbar:after,
|
6115 |
+
.navbar-header:after,
|
6116 |
+
.navbar-collapse:after,
|
6117 |
+
.pager:after,
|
6118 |
+
.panel-body:after,
|
6119 |
+
.modal-header:after,
|
6120 |
+
.modal-footer:after {
|
6121 |
+
clear: both;
|
6122 |
+
}
|
6123 |
+
.center-block {
|
6124 |
+
display: block;
|
6125 |
+
margin-left: auto;
|
6126 |
+
margin-right: auto;
|
6127 |
+
}
|
6128 |
+
.pull-right {
|
6129 |
+
float: right !important;
|
6130 |
+
}
|
6131 |
+
.pull-left {
|
6132 |
+
float: left !important;
|
6133 |
+
}
|
6134 |
+
.hide {
|
6135 |
+
display: none !important;
|
6136 |
+
}
|
6137 |
+
.show {
|
6138 |
+
display: block !important;
|
6139 |
+
}
|
6140 |
+
.invisible {
|
6141 |
+
visibility: hidden;
|
6142 |
+
}
|
6143 |
+
.text-hide {
|
6144 |
+
font: 0/0 a;
|
6145 |
+
color: transparent;
|
6146 |
+
text-shadow: none;
|
6147 |
+
background-color: transparent;
|
6148 |
+
border: 0;
|
6149 |
+
}
|
6150 |
+
.hidden {
|
6151 |
+
display: none !important;
|
6152 |
+
}
|
6153 |
+
.affix {
|
6154 |
+
position: fixed;
|
6155 |
+
}
|
6156 |
+
@-ms-viewport {
|
6157 |
+
width: device-width;
|
6158 |
+
}
|
6159 |
+
.visible-xs,
|
6160 |
+
.visible-sm,
|
6161 |
+
.visible-md,
|
6162 |
+
.visible-lg {
|
6163 |
+
display: none !important;
|
6164 |
+
}
|
6165 |
+
.visible-xs-block,
|
6166 |
+
.visible-xs-inline,
|
6167 |
+
.visible-xs-inline-block,
|
6168 |
+
.visible-sm-block,
|
6169 |
+
.visible-sm-inline,
|
6170 |
+
.visible-sm-inline-block,
|
6171 |
+
.visible-md-block,
|
6172 |
+
.visible-md-inline,
|
6173 |
+
.visible-md-inline-block,
|
6174 |
+
.visible-lg-block,
|
6175 |
+
.visible-lg-inline,
|
6176 |
+
.visible-lg-inline-block {
|
6177 |
+
display: none !important;
|
6178 |
+
}
|
6179 |
+
@media (max-width: 767px) {
|
6180 |
+
.visible-xs {
|
6181 |
+
display: block !important;
|
6182 |
+
}
|
6183 |
+
table.visible-xs {
|
6184 |
+
display: table !important;
|
6185 |
+
}
|
6186 |
+
tr.visible-xs {
|
6187 |
+
display: table-row !important;
|
6188 |
+
}
|
6189 |
+
th.visible-xs,
|
6190 |
+
td.visible-xs {
|
6191 |
+
display: table-cell !important;
|
6192 |
+
}
|
6193 |
+
}
|
6194 |
+
@media (max-width: 767px) {
|
6195 |
+
.visible-xs-block {
|
6196 |
+
display: block !important;
|
6197 |
+
}
|
6198 |
+
}
|
6199 |
+
@media (max-width: 767px) {
|
6200 |
+
.visible-xs-inline {
|
6201 |
+
display: inline !important;
|
6202 |
+
}
|
6203 |
+
}
|
6204 |
+
@media (max-width: 767px) {
|
6205 |
+
.visible-xs-inline-block {
|
6206 |
+
display: inline-block !important;
|
6207 |
+
}
|
6208 |
+
}
|
6209 |
+
@media (min-width: 768px) and (max-width: 991px) {
|
6210 |
+
.visible-sm {
|
6211 |
+
display: block !important;
|
6212 |
+
}
|
6213 |
+
table.visible-sm {
|
6214 |
+
display: table !important;
|
6215 |
+
}
|
6216 |
+
tr.visible-sm {
|
6217 |
+
display: table-row !important;
|
6218 |
+
}
|
6219 |
+
th.visible-sm,
|
6220 |
+
td.visible-sm {
|
6221 |
+
display: table-cell !important;
|
6222 |
+
}
|
6223 |
+
}
|
6224 |
+
@media (min-width: 768px) and (max-width: 991px) {
|
6225 |
+
.visible-sm-block {
|
6226 |
+
display: block !important;
|
6227 |
+
}
|
6228 |
+
}
|
6229 |
+
@media (min-width: 768px) and (max-width: 991px) {
|
6230 |
+
.visible-sm-inline {
|
6231 |
+
display: inline !important;
|
6232 |
+
}
|
6233 |
+
}
|
6234 |
+
@media (min-width: 768px) and (max-width: 991px) {
|
6235 |
+
.visible-sm-inline-block {
|
6236 |
+
display: inline-block !important;
|
6237 |
+
}
|
6238 |
+
}
|
6239 |
+
@media (min-width: 992px) and (max-width: 1199px) {
|
6240 |
+
.visible-md {
|
6241 |
+
display: block !important;
|
6242 |
+
}
|
6243 |
+
table.visible-md {
|
6244 |
+
display: table !important;
|
6245 |
+
}
|
6246 |
+
tr.visible-md {
|
6247 |
+
display: table-row !important;
|
6248 |
+
}
|
6249 |
+
th.visible-md,
|
6250 |
+
td.visible-md {
|
6251 |
+
display: table-cell !important;
|
6252 |
+
}
|
6253 |
+
}
|
6254 |
+
@media (min-width: 992px) and (max-width: 1199px) {
|
6255 |
+
.visible-md-block {
|
6256 |
+
display: block !important;
|
6257 |
+
}
|
6258 |
+
}
|
6259 |
+
@media (min-width: 992px) and (max-width: 1199px) {
|
6260 |
+
.visible-md-inline {
|
6261 |
+
display: inline !important;
|
6262 |
+
}
|
6263 |
+
}
|
6264 |
+
@media (min-width: 992px) and (max-width: 1199px) {
|
6265 |
+
.visible-md-inline-block {
|
6266 |
+
display: inline-block !important;
|
6267 |
+
}
|
6268 |
+
}
|
6269 |
+
@media (min-width: 1200px) {
|
6270 |
+
.visible-lg {
|
6271 |
+
display: block !important;
|
6272 |
+
}
|
6273 |
+
table.visible-lg {
|
6274 |
+
display: table !important;
|
6275 |
+
}
|
6276 |
+
tr.visible-lg {
|
6277 |
+
display: table-row !important;
|
6278 |
+
}
|
6279 |
+
th.visible-lg,
|
6280 |
+
td.visible-lg {
|
6281 |
+
display: table-cell !important;
|
6282 |
+
}
|
6283 |
+
}
|
6284 |
+
@media (min-width: 1200px) {
|
6285 |
+
.visible-lg-block {
|
6286 |
+
display: block !important;
|
6287 |
+
}
|
6288 |
+
}
|
6289 |
+
@media (min-width: 1200px) {
|
6290 |
+
.visible-lg-inline {
|
6291 |
+
display: inline !important;
|
6292 |
+
}
|
6293 |
+
}
|
6294 |
+
@media (min-width: 1200px) {
|
6295 |
+
.visible-lg-inline-block {
|
6296 |
+
display: inline-block !important;
|
6297 |
+
}
|
6298 |
+
}
|
6299 |
+
@media (max-width: 767px) {
|
6300 |
+
.hidden-xs {
|
6301 |
+
display: none !important;
|
6302 |
+
}
|
6303 |
+
}
|
6304 |
+
@media (min-width: 768px) and (max-width: 991px) {
|
6305 |
+
.hidden-sm {
|
6306 |
+
display: none !important;
|
6307 |
+
}
|
6308 |
+
}
|
6309 |
+
@media (min-width: 992px) and (max-width: 1199px) {
|
6310 |
+
.hidden-md {
|
6311 |
+
display: none !important;
|
6312 |
+
}
|
6313 |
+
}
|
6314 |
+
@media (min-width: 1200px) {
|
6315 |
+
.hidden-lg {
|
6316 |
+
display: none !important;
|
6317 |
+
}
|
6318 |
+
}
|
6319 |
+
.visible-print {
|
6320 |
+
display: none !important;
|
6321 |
+
}
|
6322 |
+
@media print {
|
6323 |
+
.visible-print {
|
6324 |
+
display: block !important;
|
6325 |
+
}
|
6326 |
+
table.visible-print {
|
6327 |
+
display: table !important;
|
6328 |
+
}
|
6329 |
+
tr.visible-print {
|
6330 |
+
display: table-row !important;
|
6331 |
+
}
|
6332 |
+
th.visible-print,
|
6333 |
+
td.visible-print {
|
6334 |
+
display: table-cell !important;
|
6335 |
+
}
|
6336 |
+
}
|
6337 |
+
.visible-print-block {
|
6338 |
+
display: none !important;
|
6339 |
+
}
|
6340 |
+
@media print {
|
6341 |
+
.visible-print-block {
|
6342 |
+
display: block !important;
|
6343 |
+
}
|
6344 |
+
}
|
6345 |
+
.visible-print-inline {
|
6346 |
+
display: none !important;
|
6347 |
+
}
|
6348 |
+
@media print {
|
6349 |
+
.visible-print-inline {
|
6350 |
+
display: inline !important;
|
6351 |
+
}
|
6352 |
+
}
|
6353 |
+
.visible-print-inline-block {
|
6354 |
+
display: none !important;
|
6355 |
+
}
|
6356 |
+
@media print {
|
6357 |
+
.visible-print-inline-block {
|
6358 |
+
display: inline-block !important;
|
6359 |
+
}
|
6360 |
+
}
|
6361 |
+
@media print {
|
6362 |
+
.hidden-print {
|
6363 |
+
display: none !important;
|
6364 |
+
}
|
6365 |
+
}
|
library/toolset/toolset-common/res/lib/bootstrap/css/bootstrap.min.css
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
3 |
+
* Copyright 2011-2016 Twitter, Inc.
|
4 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
+
*/
|
6 |
+
|
7 |
+
/*!
|
8 |
+
* Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=39f56dbee4e4db91437f384b1dcd27f0)
|
9 |
+
* Config saved to config.json and https://gist.github.com/39f56dbee4e4db91437f384b1dcd27f0
|
10 |
+
*//*!
|
11 |
+
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
12 |
+
* Copyright 2011-2016 Twitter, Inc.
|
13 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
14 |
+
*//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:34px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus,.btn-default.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#fff;background-color:#398439;border-color:#255625}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#337ab7;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#fff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-o-transition:-o-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, color-stop(0, rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, color-stop(0, rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}
|
library/toolset/toolset-common/res/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
ADDED
Binary file
|
library/toolset/toolset-common/res/lib/bootstrap/fonts/glyphicons-halflings-regular.svg
ADDED
@@ -0,0 +1,288 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
3 |
+
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
+
<metadata></metadata>
|
5 |
+
<defs>
|
6 |
+
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
|
7 |
+
<font-face units-per-em="1200" ascent="960" descent="-240" />
|
8 |
+
<missing-glyph horiz-adv-x="500" />
|
9 |
+
<glyph horiz-adv-x="0" />
|
10 |
+
<glyph horiz-adv-x="400" />
|
11 |
+
<glyph unicode=" " />
|
12 |
+
<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
|
13 |
+
<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
|
14 |
+
<glyph unicode=" " />
|
15 |
+
<glyph unicode="¥" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
|
16 |
+
<glyph unicode=" " horiz-adv-x="650" />
|
17 |
+
<glyph unicode=" " horiz-adv-x="1300" />
|
18 |
+
<glyph unicode=" " horiz-adv-x="650" />
|
19 |
+
<glyph unicode=" " horiz-adv-x="1300" />
|
20 |
+
<glyph unicode=" " horiz-adv-x="433" />
|
21 |
+
<glyph unicode=" " horiz-adv-x="325" />
|
22 |
+
<glyph unicode=" " horiz-adv-x="216" />
|
23 |
+
<glyph unicode=" " horiz-adv-x="216" />
|
24 |
+
<glyph unicode=" " horiz-adv-x="162" />
|
25 |
+
<glyph unicode=" " horiz-adv-x="260" />
|
26 |
+
<glyph unicode=" " horiz-adv-x="72" />
|
27 |
+
<glyph unicode=" " horiz-adv-x="260" />
|
28 |
+
<glyph unicode=" " horiz-adv-x="325" />
|
29 |
+
<glyph unicode="€" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
|
30 |
+
<glyph unicode="₽" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
|
31 |
+
<glyph unicode="−" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
|
32 |
+
<glyph unicode="⌛" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
|
33 |
+
<glyph unicode="◼" horiz-adv-x="500" d="M0 0z" />
|
34 |
+
<glyph unicode="☁" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
|
35 |
+
<glyph unicode="⛺" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
|
36 |
+
<glyph unicode="✉" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
|
37 |
+
<glyph unicode="✏" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
|
38 |
+
<glyph unicode="" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
|
39 |
+
<glyph unicode="" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
|
40 |
+
<glyph unicode="" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
|
41 |
+
<glyph unicode="" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
|
42 |
+
<glyph unicode="" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
|
43 |
+
<glyph unicode="" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
|
44 |
+
<glyph unicode="" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
|
45 |
+
<glyph unicode="" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
|
46 |
+
<glyph unicode="" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
47 |
+
<glyph unicode="" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
|
48 |
+
<glyph unicode="" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
|
49 |
+
<glyph unicode="" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
|
50 |
+
<glyph unicode="" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
|
51 |
+
<glyph unicode="" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
|
52 |
+
<glyph unicode="" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
53 |
+
<glyph unicode="" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
|
54 |
+
<glyph unicode="" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
|
55 |
+
<glyph unicode="" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
|
56 |
+
<glyph unicode="" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
|
57 |
+
<glyph unicode="" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
|
58 |
+
<glyph unicode="" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
|
59 |
+
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
|
60 |
+
<glyph unicode="" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
|
61 |
+
<glyph unicode="" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
|
62 |
+
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
|
63 |
+
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
|
64 |
+
<glyph unicode="" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
|
65 |
+
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
|
66 |
+
<glyph unicode="" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
|
67 |
+
<glyph unicode="" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
|
68 |
+
<glyph unicode="" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
|
69 |
+
<glyph unicode="" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
|
70 |
+
<glyph unicode="" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
|
71 |
+
<glyph unicode="" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
|
72 |
+
<glyph unicode="" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
|
73 |
+
<glyph unicode="" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
|
74 |
+
<glyph unicode="" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
|
75 |
+
<glyph unicode="" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
|
76 |
+
<glyph unicode="" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
|
77 |
+
<glyph unicode="" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
|
78 |
+
<glyph unicode="" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
|
79 |
+
<glyph unicode="" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
|
80 |
+
<glyph unicode="" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
|
81 |
+
<glyph unicode="" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
|
82 |
+
<glyph unicode="" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
|
83 |
+
<glyph unicode="" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
|
84 |
+
<glyph unicode="" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
|
85 |
+
<glyph unicode="" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
|
86 |
+
<glyph unicode="" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
|
87 |
+
<glyph unicode="" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
|
88 |
+
<glyph unicode="" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
89 |
+
<glyph unicode="" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
90 |
+
<glyph unicode="" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
91 |
+
<glyph unicode="" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
92 |
+
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
93 |
+
<glyph unicode="" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
94 |
+
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
95 |
+
<glyph unicode="" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
|
96 |
+
<glyph unicode="" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
|
97 |
+
<glyph unicode="" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
|
98 |
+
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
|
99 |
+
<glyph unicode="" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
|
100 |
+
<glyph unicode="" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
|
101 |
+
<glyph unicode="" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
|
102 |
+
<glyph unicode="" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
|
103 |
+
<glyph unicode="" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
|
104 |
+
<glyph unicode="" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
|
105 |
+
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
|
106 |
+
<glyph unicode="" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
|
107 |
+
<glyph unicode="" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
|
108 |
+
<glyph unicode="" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
|
109 |
+
<glyph unicode="" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
|
110 |
+
<glyph unicode="" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
|
111 |
+
<glyph unicode="" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
|
112 |
+
<glyph unicode="" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
|
113 |
+
<glyph unicode="" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
114 |
+
<glyph unicode="" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
|
115 |
+
<glyph unicode="" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
|
116 |
+
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
|
117 |
+
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
|
118 |
+
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
|
119 |
+
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
|
120 |
+
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
|
121 |
+
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
|
122 |
+
<glyph unicode="" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
|
123 |
+
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
|
124 |
+
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
|
125 |
+
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
|
126 |
+
<glyph unicode="" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
|
127 |
+
<glyph unicode="" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
|
128 |
+
<glyph unicode="" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
|
129 |
+
<glyph unicode="" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
|
130 |
+
<glyph unicode="" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
|
131 |
+
<glyph unicode="" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
|
132 |
+
<glyph unicode="" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
|
133 |
+
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
|
134 |
+
<glyph unicode="" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
|
135 |
+
<glyph unicode="" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
|
136 |
+
<glyph unicode="" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
|
137 |
+
<glyph unicode="" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
|
138 |
+
<glyph unicode="" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
|
139 |
+
<glyph unicode="" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
|
140 |
+
<glyph unicode="" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
|
141 |
+
<glyph unicode="" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
|
142 |
+
<glyph unicode="" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
|
143 |
+
<glyph unicode="" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
|
144 |
+
<glyph unicode="" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
|
145 |
+
<glyph unicode="" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
|
146 |
+
<glyph unicode="" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
|
147 |
+
<glyph unicode="" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
148 |
+
<glyph unicode="" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
|
149 |
+
<glyph unicode="" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
|
150 |
+
<glyph unicode="" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
|
151 |
+
<glyph unicode="" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
152 |
+
<glyph unicode="" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
|
153 |
+
<glyph unicode="" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
|
154 |
+
<glyph unicode="" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
|
155 |
+
<glyph unicode="" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
|
156 |
+
<glyph unicode="" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
|
157 |
+
<glyph unicode="" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
|
158 |
+
<glyph unicode="" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
|
159 |
+
<glyph unicode="" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
|
160 |
+
<glyph unicode="" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
|
161 |
+
<glyph unicode="" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
162 |
+
<glyph unicode="" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
|
163 |
+
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
|
164 |
+
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
|
165 |
+
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
|
166 |
+
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
|
167 |
+
<glyph unicode="" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
|
168 |
+
<glyph unicode="" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
|
169 |
+
<glyph unicode="" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
|
170 |
+
<glyph unicode="" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
|
171 |
+
<glyph unicode="" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
|
172 |
+
<glyph unicode="" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
|
173 |
+
<glyph unicode="" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
|
174 |
+
<glyph unicode="" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
|
175 |
+
<glyph unicode="" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
|
176 |
+
<glyph unicode="" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
|
177 |
+
<glyph unicode="" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
|
178 |
+
<glyph unicode="" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
|
179 |
+
<glyph unicode="" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
|
180 |
+
<glyph unicode="" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
|
181 |
+
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
182 |
+
<glyph unicode="" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
|
183 |
+
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
|
184 |
+
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
|
185 |
+
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
|
186 |
+
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
|
187 |
+
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
|
188 |
+
<glyph unicode="" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
|
189 |
+
<glyph unicode="" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
|
190 |
+
<glyph unicode="" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
|
191 |
+
<glyph unicode="" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
|
192 |
+
<glyph unicode="" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
|
193 |
+
<glyph unicode="" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
|
194 |
+
<glyph unicode="" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
|
195 |
+
<glyph unicode="" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
|
196 |
+
<glyph unicode="" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
|
197 |
+
<glyph unicode="" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
|
198 |
+
<glyph unicode="" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
|
199 |
+
<glyph unicode="" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
|
200 |
+
<glyph unicode="" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
|
201 |
+
<glyph unicode="" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
|
202 |
+
<glyph unicode="" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
|
203 |
+
<glyph unicode="" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
|
204 |
+
<glyph unicode="" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
|
205 |
+
<glyph unicode="" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
|
206 |
+
<glyph unicode="" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
|
207 |
+
<glyph unicode="" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
|
208 |
+
<glyph unicode="" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
|
209 |
+
<glyph unicode="" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
|
210 |
+
<glyph unicode="" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
|
211 |
+
<glyph unicode="" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
|
212 |
+
<glyph unicode="" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
|
213 |
+
<glyph unicode="" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
|
214 |
+
<glyph unicode="" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
|
215 |
+
<glyph unicode="" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
216 |
+
<glyph unicode="" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
|
217 |
+
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
|
218 |
+
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
|
219 |
+
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
|
220 |
+
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
|
221 |
+
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
|
222 |
+
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
|
223 |
+
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
|
224 |
+
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
|
225 |
+
<glyph unicode="" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
|
226 |
+
<glyph unicode="" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
|
227 |
+
<glyph unicode="" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
|
228 |
+
<glyph unicode="" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
|
229 |
+
<glyph unicode="" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
|
230 |
+
<glyph unicode="" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
|
231 |
+
<glyph unicode="" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
|
232 |
+
<glyph unicode="" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
|
233 |
+
<glyph unicode="" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
|
234 |
+
<glyph unicode="" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
|
235 |
+
<glyph unicode="" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
|
236 |
+
<glyph unicode="" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
|
237 |
+
<glyph unicode="" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
|
238 |
+
<glyph unicode="" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
239 |
+
<glyph unicode="" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
240 |
+
<glyph unicode="" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
241 |
+
<glyph unicode="" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
242 |
+
<glyph unicode="" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
243 |
+
<glyph unicode="" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
244 |
+
<glyph unicode="" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
|
245 |
+
<glyph unicode="" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
|
246 |
+
<glyph unicode="" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
|
247 |
+
<glyph unicode="" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
|
248 |
+
<glyph unicode="" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
|
249 |
+
<glyph unicode="" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
|
250 |
+
<glyph unicode="" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
|
251 |
+
<glyph unicode="" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
|
252 |
+
<glyph unicode="" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
|
253 |
+
<glyph unicode="" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
|
254 |
+
<glyph unicode="" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
|
255 |
+
<glyph unicode="" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
|
256 |
+
<glyph unicode="" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
|
257 |
+
<glyph unicode="" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
|
258 |
+
<glyph unicode="" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
|
259 |
+
<glyph unicode="" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
260 |
+
<glyph unicode="" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
|
261 |
+
<glyph unicode="" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
|
262 |
+
<glyph unicode="" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
|
263 |
+
<glyph unicode="" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
|
264 |
+
<glyph unicode="" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
|
265 |
+
<glyph unicode="" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
|
266 |
+
<glyph unicode="" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
|
267 |
+
<glyph unicode="" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
|
268 |
+
<glyph unicode="" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
|
269 |
+
<glyph unicode="" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
|
270 |
+
<glyph unicode="" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
271 |
+
<glyph unicode="" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
|
272 |
+
<glyph unicode="" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
273 |
+
<glyph unicode="" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
|
274 |
+
<glyph unicode="" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
|
275 |
+
<glyph unicode="" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
|
276 |
+
<glyph unicode="" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
|
277 |
+
<glyph unicode="" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
|
278 |
+
<glyph unicode="" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
|
279 |
+
<glyph unicode="" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
|
280 |
+
<glyph unicode="" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
|
281 |
+
<glyph unicode="" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
|
282 |
+
<glyph unicode="" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
|
283 |
+
<glyph unicode="" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
|
284 |
+
<glyph unicode="" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
|
285 |
+
<glyph unicode="🔑" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
|
286 |
+
<glyph unicode="🚪" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
|
287 |
+
</font>
|
288 |
+
</defs></svg>
|
library/toolset/toolset-common/res/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
ADDED
Binary file
|
library/toolset/toolset-common/res/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
ADDED
Binary file
|
library/toolset/toolset-common/res/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
ADDED
Binary file
|
library/toolset/toolset-common/res/lib/bootstrap/js/bootstrap.js
ADDED
@@ -0,0 +1,2380 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
3 |
+
* Copyright 2011-2016 Twitter, Inc.
|
4 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
+
*/
|
6 |
+
|
7 |
+
/*!
|
8 |
+
* Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=39f56dbee4e4db91437f384b1dcd27f0)
|
9 |
+
* Config saved to config.json and https://gist.github.com/39f56dbee4e4db91437f384b1dcd27f0
|
10 |
+
*/
|
11 |
+
if (typeof jQuery === 'undefined') {
|
12 |
+
throw new Error('Bootstrap\'s JavaScript requires jQuery')
|
13 |
+
}
|
14 |
+
+function ($) {
|
15 |
+
'use strict';
|
16 |
+
var version = $.fn.jquery.split(' ')[0].split('.')
|
17 |
+
if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) {
|
18 |
+
throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')
|
19 |
+
}
|
20 |
+
}(jQuery);
|
21 |
+
|
22 |
+
/* ========================================================================
|
23 |
+
* Bootstrap: alert.js v3.3.7
|
24 |
+
* http://getbootstrap.com/javascript/#alerts
|
25 |
+
* ========================================================================
|
26 |
+
* Copyright 2011-2016 Twitter, Inc.
|
27 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
28 |
+
* ======================================================================== */
|
29 |
+
|
30 |
+
|
31 |
+
+function ($) {
|
32 |
+
'use strict';
|
33 |
+
|
34 |
+
// ALERT CLASS DEFINITION
|
35 |
+
// ======================
|
36 |
+
|
37 |
+
var dismiss = '[data-dismiss="alert"]'
|
38 |
+
var Alert = function (el) {
|
39 |
+
$(el).on('click', dismiss, this.close)
|
40 |
+
}
|
41 |
+
|
42 |
+
Alert.VERSION = '3.3.7'
|
43 |
+
|
44 |
+
Alert.TRANSITION_DURATION = 150
|
45 |
+
|
46 |
+
Alert.prototype.close = function (e) {
|
47 |
+
var $this = $(this)
|
48 |
+
var selector = $this.attr('data-target')
|
49 |
+
|
50 |
+
if (!selector) {
|
51 |
+
selector = $this.attr('href')
|
52 |
+
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
53 |
+
}
|
54 |
+
|
55 |
+
var $parent = $(selector === '#' ? [] : selector)
|
56 |
+
|
57 |
+
if (e) e.preventDefault()
|
58 |
+
|
59 |
+
if (!$parent.length) {
|
60 |
+
$parent = $this.closest('.alert')
|
61 |
+
}
|
62 |
+
|
63 |
+
$parent.trigger(e = $.Event('close.bs.alert'))
|
64 |
+
|
65 |
+
if (e.isDefaultPrevented()) return
|
66 |
+
|
67 |
+
$parent.removeClass('in')
|
68 |
+
|
69 |
+
function removeElement() {
|
70 |
+
// detach from parent, fire event then clean up data
|
71 |
+
$parent.detach().trigger('closed.bs.alert').remove()
|
72 |
+
}
|
73 |
+
|
74 |
+
$.support.transition && $parent.hasClass('fade') ?
|
75 |
+
$parent
|
76 |
+
.one('bsTransitionEnd', removeElement)
|
77 |
+
.emulateTransitionEnd(Alert.TRANSITION_DURATION) :
|
78 |
+
removeElement()
|
79 |
+
}
|
80 |
+
|
81 |
+
|
82 |
+
// ALERT PLUGIN DEFINITION
|
83 |
+
// =======================
|
84 |
+
|
85 |
+
function Plugin(option) {
|
86 |
+
return this.each(function () {
|
87 |
+
var $this = $(this)
|
88 |
+
var data = $this.data('bs.alert')
|
89 |
+
|
90 |
+
if (!data) $this.data('bs.alert', (data = new Alert(this)))
|
91 |
+
if (typeof option == 'string') data[option].call($this)
|
92 |
+
})
|
93 |
+
}
|
94 |
+
|
95 |
+
var old = $.fn.alert
|
96 |
+
|
97 |
+
$.fn.alert = Plugin
|
98 |
+
$.fn.alert.Constructor = Alert
|
99 |
+
|
100 |
+
|
101 |
+
// ALERT NO CONFLICT
|
102 |
+
// =================
|
103 |
+
|
104 |
+
$.fn.alert.noConflict = function () {
|
105 |
+
$.fn.alert = old
|
106 |
+
return this
|
107 |
+
}
|
108 |
+
|
109 |
+
|
110 |
+
// ALERT DATA-API
|
111 |
+
// ==============
|
112 |
+
|
113 |
+
$(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
|
114 |
+
|
115 |
+
}(jQuery);
|
116 |
+
|
117 |
+
/* ========================================================================
|
118 |
+
* Bootstrap: button.js v3.3.7
|
119 |
+
* http://getbootstrap.com/javascript/#buttons
|
120 |
+
* ========================================================================
|
121 |
+
* Copyright 2011-2016 Twitter, Inc.
|
122 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
123 |
+
* ======================================================================== */
|
124 |
+
|
125 |
+
|
126 |
+
+function ($) {
|
127 |
+
'use strict';
|
128 |
+
|
129 |
+
// BUTTON PUBLIC CLASS DEFINITION
|
130 |
+
// ==============================
|
131 |
+
|
132 |
+
var Button = function (element, options) {
|
133 |
+
this.$element = $(element)
|
134 |
+
this.options = $.extend({}, Button.DEFAULTS, options)
|
135 |
+
this.isLoading = false
|
136 |
+
}
|
137 |
+
|
138 |
+
Button.VERSION = '3.3.7'
|
139 |
+
|
140 |
+
Button.DEFAULTS = {
|
141 |
+
loadingText: 'loading...'
|
142 |
+
}
|
143 |
+
|
144 |
+
Button.prototype.setState = function (state) {
|
145 |
+
var d = 'disabled'
|
146 |
+
var $el = this.$element
|
147 |
+
var val = $el.is('input') ? 'val' : 'html'
|
148 |
+
var data = $el.data()
|
149 |
+
|
150 |
+
state += 'Text'
|
151 |
+
|
152 |
+
if (data.resetText == null) $el.data('resetText', $el[val]())
|
153 |
+
|
154 |
+
// push to event loop to allow forms to submit
|
155 |
+
setTimeout($.proxy(function () {
|
156 |
+
$el[val](data[state] == null ? this.options[state] : data[state])
|
157 |
+
|
158 |
+
if (state == 'loadingText') {
|
159 |
+
this.isLoading = true
|
160 |
+
$el.addClass(d).attr(d, d).prop(d, true)
|
161 |
+
} else if (this.isLoading) {
|
162 |
+
this.isLoading = false
|
163 |
+
$el.removeClass(d).removeAttr(d).prop(d, false)
|
164 |
+
}
|
165 |
+
}, this), 0)
|
166 |
+
}
|
167 |
+
|
168 |
+
Button.prototype.toggle = function () {
|
169 |
+
var changed = true
|
170 |
+
var $parent = this.$element.closest('[data-toggle="buttons"]')
|
171 |
+
|
172 |
+
if ($parent.length) {
|
173 |
+
var $input = this.$element.find('input')
|
174 |
+
if ($input.prop('type') == 'radio') {
|
175 |
+
if ($input.prop('checked')) changed = false
|
176 |
+
$parent.find('.active').removeClass('active')
|
177 |
+
this.$element.addClass('active')
|
178 |
+
} else if ($input.prop('type') == 'checkbox') {
|
179 |
+
if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
|
180 |
+
this.$element.toggleClass('active')
|
181 |
+
}
|
182 |
+
$input.prop('checked', this.$element.hasClass('active'))
|
183 |
+
if (changed) $input.trigger('change')
|
184 |
+
} else {
|
185 |
+
this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
|
186 |
+
this.$element.toggleClass('active')
|
187 |
+
}
|
188 |
+
}
|
189 |
+
|
190 |
+
|
191 |
+
// BUTTON PLUGIN DEFINITION
|
192 |
+
// ========================
|
193 |
+
|
194 |
+
function Plugin(option) {
|
195 |
+
return this.each(function () {
|
196 |
+
var $this = $(this)
|
197 |
+
var data = $this.data('bs.button')
|
198 |
+
var options = typeof option == 'object' && option
|
199 |
+
|
200 |
+
if (!data) $this.data('bs.button', (data = new Button(this, options)))
|
201 |
+
|
202 |
+
if (option == 'toggle') data.toggle()
|
203 |
+
else if (option) data.setState(option)
|
204 |
+
})
|
205 |
+
}
|
206 |
+
|
207 |
+
var old = $.fn.button
|
208 |
+
|
209 |
+
$.fn.button = Plugin
|
210 |
+
$.fn.button.Constructor = Button
|
211 |
+
|
212 |
+
|
213 |
+
// BUTTON NO CONFLICT
|
214 |
+
// ==================
|
215 |
+
|
216 |
+
$.fn.button.noConflict = function () {
|
217 |
+
$.fn.button = old
|
218 |
+
return this
|
219 |
+
}
|
220 |
+
|
221 |
+
|
222 |
+
// BUTTON DATA-API
|
223 |
+
// ===============
|
224 |
+
|
225 |
+
$(document)
|
226 |
+
.on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
|
227 |
+
var $btn = $(e.target).closest('.btn')
|
228 |
+
Plugin.call($btn, 'toggle')
|
229 |
+
if (!($(e.target).is('input[type="radio"], input[type="checkbox"]'))) {
|
230 |
+
// Prevent double click on radios, and the double selections (so cancellation) on checkboxes
|
231 |
+
e.preventDefault()
|
232 |
+
// The target component still receive the focus
|
233 |
+
if ($btn.is('input,button')) $btn.trigger('focus')
|
234 |
+
else $btn.find('input:visible,button:visible').first().trigger('focus')
|
235 |
+
}
|
236 |
+
})
|
237 |
+
.on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
|
238 |
+
$(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
|
239 |
+
})
|
240 |
+
|
241 |
+
}(jQuery);
|
242 |
+
|
243 |
+
/* ========================================================================
|
244 |
+
* Bootstrap: carousel.js v3.3.7
|
245 |
+
* http://getbootstrap.com/javascript/#carousel
|
246 |
+
* ========================================================================
|
247 |
+
* Copyright 2011-2016 Twitter, Inc.
|
248 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
249 |
+
* ======================================================================== */
|
250 |
+
|
251 |
+
|
252 |
+
+function ($) {
|
253 |
+
'use strict';
|
254 |
+
|
255 |
+
// CAROUSEL CLASS DEFINITION
|
256 |
+
// =========================
|
257 |
+
|
258 |
+
var Carousel = function (element, options) {
|
259 |
+
this.$element = $(element)
|
260 |
+
this.$indicators = this.$element.find('.carousel-indicators')
|
261 |
+
this.options = options
|
262 |
+
this.paused = null
|
263 |
+
this.sliding = null
|
264 |
+
this.interval = null
|
265 |
+
this.$active = null
|
266 |
+
this.$items = null
|
267 |
+
|
268 |
+
this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
|
269 |
+
|
270 |
+
this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
|
271 |
+
.on('mouseenter.bs.carousel', $.proxy(this.pause, this))
|
272 |
+
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
|
273 |
+
}
|
274 |
+
|
275 |
+
Carousel.VERSION = '3.3.7'
|
276 |
+
|
277 |
+
Carousel.TRANSITION_DURATION = 600
|
278 |
+
|
279 |
+
Carousel.DEFAULTS = {
|
280 |
+
interval: 5000,
|
281 |
+
pause: 'hover',
|
282 |
+
wrap: true,
|
283 |
+
keyboard: true
|
284 |
+
}
|
285 |
+
|
286 |
+
Carousel.prototype.keydown = function (e) {
|
287 |
+
if (/input|textarea/i.test(e.target.tagName)) return
|
288 |
+
switch (e.which) {
|
289 |
+
case 37: this.prev(); break
|
290 |
+
case 39: this.next(); break
|
291 |
+
default: return
|
292 |
+
}
|
293 |
+
|
294 |
+
e.preventDefault()
|
295 |
+
}
|
296 |
+
|
297 |
+
Carousel.prototype.cycle = function (e) {
|
298 |
+
e || (this.paused = false)
|
299 |
+
|
300 |
+
this.interval && clearInterval(this.interval)
|
301 |
+
|
302 |
+
this.options.interval
|
303 |
+
&& !this.paused
|
304 |
+
&& (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
|
305 |
+
|
306 |
+
return this
|
307 |
+
}
|
308 |
+
|
309 |
+
Carousel.prototype.getItemIndex = function (item) {
|
310 |
+
this.$items = item.parent().children('.item')
|
311 |
+
return this.$items.index(item || this.$active)
|
312 |
+
}
|
313 |
+
|
314 |
+
Carousel.prototype.getItemForDirection = function (direction, active) {
|
315 |
+
var activeIndex = this.getItemIndex(active)
|
316 |
+
var willWrap = (direction == 'prev' && activeIndex === 0)
|
317 |
+
|| (direction == 'next' && activeIndex == (this.$items.length - 1))
|
318 |
+
if (willWrap && !this.options.wrap) return active
|
319 |
+
var delta = direction == 'prev' ? -1 : 1
|
320 |
+
var itemIndex = (activeIndex + delta) % this.$items.length
|
321 |
+
return this.$items.eq(itemIndex)
|
322 |
+
}
|
323 |
+
|
324 |
+
Carousel.prototype.to = function (pos) {
|
325 |
+
var that = this
|
326 |
+
var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
|
327 |
+
|
328 |
+
if (pos > (this.$items.length - 1) || pos < 0) return
|
329 |
+
|
330 |
+
if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
|
331 |
+
if (activeIndex == pos) return this.pause().cycle()
|
332 |
+
|
333 |
+
return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
|
334 |
+
}
|
335 |
+
|
336 |
+
Carousel.prototype.pause = function (e) {
|
337 |
+
e || (this.paused = true)
|
338 |
+
|
339 |
+
if (this.$element.find('.next, .prev').length && $.support.transition) {
|
340 |
+
this.$element.trigger($.support.transition.end)
|
341 |
+
this.cycle(true)
|
342 |
+
}
|
343 |
+
|
344 |
+
this.interval = clearInterval(this.interval)
|
345 |
+
|
346 |
+
return this
|
347 |
+
}
|
348 |
+
|
349 |
+
Carousel.prototype.next = function () {
|
350 |
+
if (this.sliding) return
|
351 |
+
return this.slide('next')
|
352 |
+
}
|
353 |
+
|
354 |
+
Carousel.prototype.prev = function () {
|
355 |
+
if (this.sliding) return
|
356 |
+
return this.slide('prev')
|
357 |
+
}
|
358 |
+
|
359 |
+
Carousel.prototype.slide = function (type, next) {
|
360 |
+
var $active = this.$element.find('.item.active')
|
361 |
+
var $next = next || this.getItemForDirection(type, $active)
|
362 |
+
var isCycling = this.interval
|
363 |
+
var direction = type == 'next' ? 'left' : 'right'
|
364 |
+
var that = this
|
365 |
+
|
366 |
+
if ($next.hasClass('active')) return (this.sliding = false)
|
367 |
+
|
368 |
+
var relatedTarget = $next[0]
|
369 |
+
var slideEvent = $.Event('slide.bs.carousel', {
|
370 |
+
relatedTarget: relatedTarget,
|
371 |
+
direction: direction
|
372 |
+
})
|
373 |
+
this.$element.trigger(slideEvent)
|
374 |
+
if (slideEvent.isDefaultPrevented()) return
|
375 |
+
|
376 |
+
this.sliding = true
|
377 |
+
|
378 |
+
isCycling && this.pause()
|
379 |
+
|
380 |
+
if (this.$indicators.length) {
|
381 |
+
this.$indicators.find('.active').removeClass('active')
|
382 |
+
var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
|
383 |
+
$nextIndicator && $nextIndicator.addClass('active')
|
384 |
+
}
|
385 |
+
|
386 |
+
var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
|
387 |
+
if ($.support.transition && this.$element.hasClass('slide')) {
|
388 |
+
$next.addClass(type)
|
389 |
+
$next[0].offsetWidth // force reflow
|
390 |
+
$active.addClass(direction)
|
391 |
+
$next.addClass(direction)
|
392 |
+
$active
|
393 |
+
.one('bsTransitionEnd', function () {
|
394 |
+
$next.removeClass([type, direction].join(' ')).addClass('active')
|
395 |
+
$active.removeClass(['active', direction].join(' '))
|
396 |
+
that.sliding = false
|
397 |
+
setTimeout(function () {
|
398 |
+
that.$element.trigger(slidEvent)
|
399 |
+
}, 0)
|
400 |
+
})
|
401 |
+
.emulateTransitionEnd(Carousel.TRANSITION_DURATION)
|
402 |
+
} else {
|
403 |
+
$active.removeClass('active')
|
404 |
+
$next.addClass('active')
|
405 |
+
this.sliding = false
|
406 |
+
this.$element.trigger(slidEvent)
|
407 |
+
}
|
408 |
+
|
409 |
+
isCycling && this.cycle()
|
410 |
+
|
411 |
+
return this
|
412 |
+
}
|
413 |
+
|
414 |
+
|
415 |
+
// CAROUSEL PLUGIN DEFINITION
|
416 |
+
// ==========================
|
417 |
+
|
418 |
+
function Plugin(option) {
|
419 |
+
return this.each(function () {
|
420 |
+
var $this = $(this)
|
421 |
+
var data = $this.data('bs.carousel')
|
422 |
+
var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
|
423 |
+
var action = typeof option == 'string' ? option : options.slide
|
424 |
+
|
425 |
+
if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
|
426 |
+
if (typeof option == 'number') data.to(option)
|
427 |
+
else if (action) data[action]()
|
428 |
+
else if (options.interval) data.pause().cycle()
|
429 |
+
})
|
430 |
+
}
|
431 |
+
|
432 |
+
var old = $.fn.carousel
|
433 |
+
|
434 |
+
$.fn.carousel = Plugin
|
435 |
+
$.fn.carousel.Constructor = Carousel
|
436 |
+
|
437 |
+
|
438 |
+
// CAROUSEL NO CONFLICT
|
439 |
+
// ====================
|
440 |
+
|
441 |
+
$.fn.carousel.noConflict = function () {
|
442 |
+
$.fn.carousel = old
|
443 |
+
return this
|
444 |
+
}
|
445 |
+
|
446 |
+
|
447 |
+
// CAROUSEL DATA-API
|
448 |
+
// =================
|
449 |
+
|
450 |
+
var clickHandler = function (e) {
|
451 |
+
var href
|
452 |
+
var $this = $(this)
|
453 |
+
var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
|
454 |
+
if (!$target.hasClass('carousel')) return
|
455 |
+
var options = $.extend({}, $target.data(), $this.data())
|
456 |
+
var slideIndex = $this.attr('data-slide-to')
|
457 |
+
if (slideIndex) options.interval = false
|
458 |
+
|
459 |
+
Plugin.call($target, options)
|
460 |
+
|
461 |
+
if (slideIndex) {
|
462 |
+
$target.data('bs.carousel').to(slideIndex)
|
463 |
+
}
|
464 |
+
|
465 |
+
e.preventDefault()
|
466 |
+
}
|
467 |
+
|
468 |
+
$(document)
|
469 |
+
.on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
|
470 |
+
.on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
|
471 |
+
|
472 |
+
$(window).on('load', function () {
|
473 |
+
$('[data-ride="carousel"]').each(function () {
|
474 |
+
var $carousel = $(this)
|
475 |
+
Plugin.call($carousel, $carousel.data())
|
476 |
+
})
|
477 |
+
})
|
478 |
+
|
479 |
+
}(jQuery);
|
480 |
+
|
481 |
+
/* ========================================================================
|
482 |
+
* Bootstrap: dropdown.js v3.3.7
|
483 |
+
* http://getbootstrap.com/javascript/#dropdowns
|
484 |
+
* ========================================================================
|
485 |
+
* Copyright 2011-2016 Twitter, Inc.
|
486 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
487 |
+
* ======================================================================== */
|
488 |
+
|
489 |
+
|
490 |
+
+function ($) {
|
491 |
+
'use strict';
|
492 |
+
|
493 |
+
// DROPDOWN CLASS DEFINITION
|
494 |
+
// =========================
|
495 |
+
|
496 |
+
var backdrop = '.dropdown-backdrop'
|
497 |
+
var toggle = '[data-toggle="dropdown"]'
|
498 |
+
var Dropdown = function (element) {
|
499 |
+
$(element).on('click.bs.dropdown', this.toggle)
|
500 |
+
}
|
501 |
+
|
502 |
+
Dropdown.VERSION = '3.3.7'
|
503 |
+
|
504 |
+
function getParent($this) {
|
505 |
+
var selector = $this.attr('data-target')
|
506 |
+
|
507 |
+
if (!selector) {
|
508 |
+
selector = $this.attr('href')
|
509 |
+
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
510 |
+
}
|
511 |
+
|
512 |
+
var $parent = selector && $(selector)
|
513 |
+
|
514 |
+
return $parent && $parent.length ? $parent : $this.parent()
|
515 |
+
}
|
516 |
+
|
517 |
+
function clearMenus(e) {
|
518 |
+
if (e && e.which === 3) return
|
519 |
+
$(backdrop).remove()
|
520 |
+
$(toggle).each(function () {
|
521 |
+
var $this = $(this)
|
522 |
+
var $parent = getParent($this)
|
523 |
+
var relatedTarget = { relatedTarget: this }
|
524 |
+
|
525 |
+
if (!$parent.hasClass('open')) return
|
526 |
+
|
527 |
+
if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
|
528 |
+
|
529 |
+
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
|
530 |
+
|
531 |
+
if (e.isDefaultPrevented()) return
|
532 |
+
|
533 |
+
$this.attr('aria-expanded', 'false')
|
534 |
+
$parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))
|
535 |
+
})
|
536 |
+
}
|
537 |
+
|
538 |
+
Dropdown.prototype.toggle = function (e) {
|
539 |
+
var $this = $(this)
|
540 |
+
|
541 |
+
if ($this.is('.disabled, :disabled')) return
|
542 |
+
|
543 |
+
var $parent = getParent($this)
|
544 |
+
var isActive = $parent.hasClass('open')
|
545 |
+
|
546 |
+
clearMenus()
|
547 |
+
|
548 |
+
if (!isActive) {
|
549 |
+
if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
|
550 |
+
// if mobile we use a backdrop because click events don't delegate
|
551 |
+
$(document.createElement('div'))
|
552 |
+
.addClass('dropdown-backdrop')
|
553 |
+
.insertAfter($(this))
|
554 |
+
.on('click', clearMenus)
|
555 |
+
}
|
556 |
+
|
557 |
+
var relatedTarget = { relatedTarget: this }
|
558 |
+
$parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
|
559 |
+
|
560 |
+
if (e.isDefaultPrevented()) return
|
561 |
+
|
562 |
+
$this
|
563 |
+
.trigger('focus')
|
564 |
+
.attr('aria-expanded', 'true')
|
565 |
+
|
566 |
+
$parent
|
567 |
+
.toggleClass('open')
|
568 |
+
.trigger($.Event('shown.bs.dropdown', relatedTarget))
|
569 |
+
}
|
570 |
+
|
571 |
+
return false
|
572 |
+
}
|
573 |
+
|
574 |
+
Dropdown.prototype.keydown = function (e) {
|
575 |
+
if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return
|
576 |
+
|
577 |
+
var $this = $(this)
|
578 |
+
|
579 |
+
e.preventDefault()
|
580 |
+
e.stopPropagation()
|
581 |
+
|
582 |
+
if ($this.is('.disabled, :disabled')) return
|
583 |
+
|
584 |
+
var $parent = getParent($this)
|
585 |
+
var isActive = $parent.hasClass('open')
|
586 |
+
|
587 |
+
if (!isActive && e.which != 27 || isActive && e.which == 27) {
|
588 |
+
if (e.which == 27) $parent.find(toggle).trigger('focus')
|
589 |
+
return $this.trigger('click')
|
590 |
+
}
|
591 |
+
|
592 |
+
var desc = ' li:not(.disabled):visible a'
|
593 |
+
var $items = $parent.find('.dropdown-menu' + desc)
|
594 |
+
|
595 |
+
if (!$items.length) return
|
596 |
+
|
597 |
+
var index = $items.index(e.target)
|
598 |
+
|
599 |
+
if (e.which == 38 && index > 0) index-- // up
|
600 |
+
if (e.which == 40 && index < $items.length - 1) index++ // down
|
601 |
+
if (!~index) index = 0
|
602 |
+
|
603 |
+
$items.eq(index).trigger('focus')
|
604 |
+
}
|
605 |
+
|
606 |
+
|
607 |
+
// DROPDOWN PLUGIN DEFINITION
|
608 |
+
// ==========================
|
609 |
+
|
610 |
+
function Plugin(option) {
|
611 |
+
return this.each(function () {
|
612 |
+
var $this = $(this)
|
613 |
+
var data = $this.data('bs.dropdown')
|
614 |
+
|
615 |
+
if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
|
616 |
+
if (typeof option == 'string') data[option].call($this)
|
617 |
+
})
|
618 |
+
}
|
619 |
+
|
620 |
+
var old = $.fn.dropdown
|
621 |
+
|
622 |
+
$.fn.dropdown = Plugin
|
623 |
+
$.fn.dropdown.Constructor = Dropdown
|
624 |
+
|
625 |
+
|
626 |
+
// DROPDOWN NO CONFLICT
|
627 |
+
// ====================
|
628 |
+
|
629 |
+
$.fn.dropdown.noConflict = function () {
|
630 |
+
$.fn.dropdown = old
|
631 |
+
return this
|
632 |
+
}
|
633 |
+
|
634 |
+
|
635 |
+
// APPLY TO STANDARD DROPDOWN ELEMENTS
|
636 |
+
// ===================================
|
637 |
+
|
638 |
+
$(document)
|
639 |
+
.on('click.bs.dropdown.data-api', clearMenus)
|
640 |
+
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
641 |
+
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
642 |
+
.on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
|
643 |
+
.on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
|
644 |
+
|
645 |
+
}(jQuery);
|
646 |
+
|
647 |
+
/* ========================================================================
|
648 |
+
* Bootstrap: modal.js v3.3.7
|
649 |
+
* http://getbootstrap.com/javascript/#modals
|
650 |
+
* ========================================================================
|
651 |
+
* Copyright 2011-2016 Twitter, Inc.
|
652 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
653 |
+
* ======================================================================== */
|
654 |
+
|
655 |
+
|
656 |
+
+function ($) {
|
657 |
+
'use strict';
|
658 |
+
|
659 |
+
// MODAL CLASS DEFINITION
|
660 |
+
// ======================
|
661 |
+
|
662 |
+
var Modal = function (element, options) {
|
663 |
+
this.options = options
|
664 |
+
this.$body = $(document.body)
|
665 |
+
this.$element = $(element)
|
666 |
+
this.$dialog = this.$element.find('.modal-dialog')
|
667 |
+
this.$backdrop = null
|
668 |
+
this.isShown = null
|
669 |
+
this.originalBodyPad = null
|
670 |
+
this.scrollbarWidth = 0
|
671 |
+
this.ignoreBackdropClick = false
|
672 |
+
|
673 |
+
if (this.options.remote) {
|
674 |
+
this.$element
|
675 |
+
.find('.modal-content')
|
676 |
+
.load(this.options.remote, $.proxy(function () {
|
677 |
+
this.$element.trigger('loaded.bs.modal')
|
678 |
+
}, this))
|
679 |
+
}
|
680 |
+
}
|
681 |
+
|
682 |
+
Modal.VERSION = '3.3.7'
|
683 |
+
|
684 |
+
Modal.TRANSITION_DURATION = 300
|
685 |
+
Modal.BACKDROP_TRANSITION_DURATION = 150
|
686 |
+
|
687 |
+
Modal.DEFAULTS = {
|
688 |
+
backdrop: true,
|
689 |
+
keyboard: true,
|
690 |
+
show: true
|
691 |
+
}
|
692 |
+
|
693 |
+
Modal.prototype.toggle = function (_relatedTarget) {
|
694 |
+
return this.isShown ? this.hide() : this.show(_relatedTarget)
|
695 |
+
}
|
696 |
+
|
697 |
+
Modal.prototype.show = function (_relatedTarget) {
|
698 |
+
var that = this
|
699 |
+
var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
|
700 |
+
|
701 |
+
this.$element.trigger(e)
|
702 |
+
|
703 |
+
if (this.isShown || e.isDefaultPrevented()) return
|
704 |
+
|
705 |
+
this.isShown = true
|
706 |
+
|
707 |
+
this.checkScrollbar()
|
708 |
+
this.setScrollbar()
|
709 |
+
this.$body.addClass('modal-open')
|
710 |
+
|
711 |
+
this.escape()
|
712 |
+
this.resize()
|
713 |
+
|
714 |
+
this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
|
715 |
+
|
716 |
+
this.$dialog.on('mousedown.dismiss.bs.modal', function () {
|
717 |
+
that.$element.one('mouseup.dismiss.bs.modal', function (e) {
|
718 |
+
if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
|
719 |
+
})
|
720 |
+
})
|
721 |
+
|
722 |
+
this.backdrop(function () {
|
723 |
+
var transition = $.support.transition && that.$element.hasClass('fade')
|
724 |
+
|
725 |
+
if (!that.$element.parent().length) {
|
726 |
+
that.$element.appendTo(that.$body) // don't move modals dom position
|
727 |
+
}
|
728 |
+
|
729 |
+
that.$element
|
730 |
+
.show()
|
731 |
+
.scrollTop(0)
|
732 |
+
|
733 |
+
that.adjustDialog()
|
734 |
+
|
735 |
+
if (transition) {
|
736 |
+
that.$element[0].offsetWidth // force reflow
|
737 |
+
}
|
738 |
+
|
739 |
+
that.$element.addClass('in')
|
740 |
+
|
741 |
+
that.enforceFocus()
|
742 |
+
|
743 |
+
var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
|
744 |
+
|
745 |
+
transition ?
|
746 |
+
that.$dialog // wait for modal to slide in
|
747 |
+
.one('bsTransitionEnd', function () {
|
748 |
+
that.$element.trigger('focus').trigger(e)
|
749 |
+
})
|
750 |
+
.emulateTransitionEnd(Modal.TRANSITION_DURATION) :
|
751 |
+
that.$element.trigger('focus').trigger(e)
|
752 |
+
})
|
753 |
+
}
|
754 |
+
|
755 |
+
Modal.prototype.hide = function (e) {
|
756 |
+
if (e) e.preventDefault()
|
757 |
+
|
758 |
+
e = $.Event('hide.bs.modal')
|
759 |
+
|
760 |
+
this.$element.trigger(e)
|
761 |
+
|
762 |
+
if (!this.isShown || e.isDefaultPrevented()) return
|
763 |
+
|
764 |
+
this.isShown = false
|
765 |
+
|
766 |
+
this.escape()
|
767 |
+
this.resize()
|
768 |
+
|
769 |
+
$(document).off('focusin.bs.modal')
|
770 |
+
|
771 |
+
this.$element
|
772 |
+
.removeClass('in')
|
773 |
+
.off('click.dismiss.bs.modal')
|
774 |
+
.off('mouseup.dismiss.bs.modal')
|
775 |
+
|
776 |
+
this.$dialog.off('mousedown.dismiss.bs.modal')
|
777 |
+
|
778 |
+
$.support.transition && this.$element.hasClass('fade') ?
|
779 |
+
this.$element
|
780 |
+
.one('bsTransitionEnd', $.proxy(this.hideModal, this))
|
781 |
+
.emulateTransitionEnd(Modal.TRANSITION_DURATION) :
|
782 |
+
this.hideModal()
|
783 |
+
}
|
784 |
+
|
785 |
+
Modal.prototype.enforceFocus = function () {
|
786 |
+
$(document)
|
787 |
+
.off('focusin.bs.modal') // guard against infinite focus loop
|
788 |
+
.on('focusin.bs.modal', $.proxy(function (e) {
|
789 |
+
if (document !== e.target &&
|
790 |
+
this.$element[0] !== e.target &&
|
791 |
+
!this.$element.has(e.target).length) {
|
792 |
+
this.$element.trigger('focus')
|
793 |
+
}
|
794 |
+
}, this))
|
795 |
+
}
|
796 |
+
|
797 |
+
Modal.prototype.escape = function () {
|
798 |
+
if (this.isShown && this.options.keyboard) {
|
799 |
+
this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
|
800 |
+
e.which == 27 && this.hide()
|
801 |
+
}, this))
|
802 |
+
} else if (!this.isShown) {
|
803 |
+
this.$element.off('keydown.dismiss.bs.modal')
|
804 |
+
}
|
805 |
+
}
|
806 |
+
|
807 |
+
Modal.prototype.resize = function () {
|
808 |
+
if (this.isShown) {
|
809 |
+
$(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))
|
810 |
+
} else {
|
811 |
+
$(window).off('resize.bs.modal')
|
812 |
+
}
|
813 |
+
}
|
814 |
+
|
815 |
+
Modal.prototype.hideModal = function () {
|
816 |
+
var that = this
|
817 |
+
this.$element.hide()
|
818 |
+
this.backdrop(function () {
|
819 |
+
that.$body.removeClass('modal-open')
|
820 |
+
that.resetAdjustments()
|
821 |
+
that.resetScrollbar()
|
822 |
+
that.$element.trigger('hidden.bs.modal')
|
823 |
+
})
|
824 |
+
}
|
825 |
+
|
826 |
+
Modal.prototype.removeBackdrop = function () {
|
827 |
+
this.$backdrop && this.$backdrop.remove()
|
828 |
+
this.$backdrop = null
|
829 |
+
}
|
830 |
+
|
831 |
+
Modal.prototype.backdrop = function (callback) {
|
832 |
+
var that = this
|
833 |
+
var animate = this.$element.hasClass('fade') ? 'fade' : ''
|
834 |
+
|
835 |
+
if (this.isShown && this.options.backdrop) {
|
836 |
+
var doAnimate = $.support.transition && animate
|
837 |
+
|
838 |
+
this.$backdrop = $(document.createElement('div'))
|
839 |
+
.addClass('modal-backdrop ' + animate)
|
840 |
+
.appendTo(this.$body)
|
841 |
+
|
842 |
+
this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
|
843 |
+
if (this.ignoreBackdropClick) {
|
844 |
+
this.ignoreBackdropClick = false
|
845 |
+
return
|
846 |
+
}
|
847 |
+
if (e.target !== e.currentTarget) return
|
848 |
+
this.options.backdrop == 'static'
|
849 |
+
? this.$element[0].focus()
|
850 |
+
: this.hide()
|
851 |
+
}, this))
|
852 |
+
|
853 |
+
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
|
854 |
+
|
855 |
+
this.$backdrop.addClass('in')
|
856 |
+
|
857 |
+
if (!callback) return
|
858 |
+
|
859 |
+
doAnimate ?
|
860 |
+
this.$backdrop
|
861 |
+
.one('bsTransitionEnd', callback)
|
862 |
+
.emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
|
863 |
+
callback()
|
864 |
+
|
865 |
+
} else if (!this.isShown && this.$backdrop) {
|
866 |
+
this.$backdrop.removeClass('in')
|
867 |
+
|
868 |
+
var callbackRemove = function () {
|
869 |
+
that.removeBackdrop()
|
870 |
+
callback && callback()
|
871 |
+
}
|
872 |
+
$.support.transition && this.$element.hasClass('fade') ?
|
873 |
+
this.$backdrop
|
874 |
+
.one('bsTransitionEnd', callbackRemove)
|
875 |
+
.emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
|
876 |
+
callbackRemove()
|
877 |
+
|
878 |
+
} else if (callback) {
|
879 |
+
callback()
|
880 |
+
}
|
881 |
+
}
|
882 |
+
|
883 |
+
// these following methods are used to handle overflowing modals
|
884 |
+
|
885 |
+
Modal.prototype.handleUpdate = function () {
|
886 |
+
this.adjustDialog()
|
887 |
+
}
|
888 |
+
|
889 |
+
Modal.prototype.adjustDialog = function () {
|
890 |
+
var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
|
891 |
+
|
892 |
+
this.$element.css({
|
893 |
+
paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
|
894 |
+
paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''
|
895 |
+
})
|
896 |
+
}
|
897 |
+
|
898 |
+
Modal.prototype.resetAdjustments = function () {
|
899 |
+
this.$element.css({
|
900 |
+
paddingLeft: '',
|
901 |
+
paddingRight: ''
|
902 |
+
})
|
903 |
+
}
|
904 |
+
|
905 |
+
Modal.prototype.checkScrollbar = function () {
|
906 |
+
var fullWindowWidth = window.innerWidth
|
907 |
+
if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
|
908 |
+
var documentElementRect = document.documentElement.getBoundingClientRect()
|
909 |
+
fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
|
910 |
+
}
|
911 |
+
this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
|
912 |
+
this.scrollbarWidth = this.measureScrollbar()
|
913 |
+
}
|
914 |
+
|
915 |
+
Modal.prototype.setScrollbar = function () {
|
916 |
+
var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
|
917 |
+
this.originalBodyPad = document.body.style.paddingRight || ''
|
918 |
+
if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
|
919 |
+
}
|
920 |
+
|
921 |
+
Modal.prototype.resetScrollbar = function () {
|
922 |
+
this.$body.css('padding-right', this.originalBodyPad)
|
923 |
+
}
|
924 |
+
|
925 |
+
Modal.prototype.measureScrollbar = function () { // thx walsh
|
926 |
+
var scrollDiv = document.createElement('div')
|
927 |
+
scrollDiv.className = 'modal-scrollbar-measure'
|
928 |
+
this.$body.append(scrollDiv)
|
929 |
+
var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
|
930 |
+
this.$body[0].removeChild(scrollDiv)
|
931 |
+
return scrollbarWidth
|
932 |
+
}
|
933 |
+
|
934 |
+
|
935 |
+
// MODAL PLUGIN DEFINITION
|
936 |
+
// =======================
|
937 |
+
|
938 |
+
function Plugin(option, _relatedTarget) {
|
939 |
+
return this.each(function () {
|
940 |
+
var $this = $(this)
|
941 |
+
var data = $this.data('bs.modal')
|
942 |
+
var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
|
943 |
+
|
944 |
+
if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
|
945 |
+
if (typeof option == 'string') data[option](_relatedTarget)
|
946 |
+
else if (options.show) data.show(_relatedTarget)
|
947 |
+
})
|
948 |
+
}
|
949 |
+
|
950 |
+
var old = $.fn.modal
|
951 |
+
|
952 |
+
$.fn.modal = Plugin
|
953 |
+
$.fn.modal.Constructor = Modal
|
954 |
+
|
955 |
+
|
956 |
+
// MODAL NO CONFLICT
|
957 |
+
// =================
|
958 |
+
|
959 |
+
$.fn.modal.noConflict = function () {
|
960 |
+
$.fn.modal = old
|
961 |
+
return this
|
962 |
+
}
|
963 |
+
|
964 |
+
|
965 |
+
// MODAL DATA-API
|
966 |
+
// ==============
|
967 |
+
|
968 |
+
$(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
|
969 |
+
var $this = $(this)
|
970 |
+
var href = $this.attr('href')
|
971 |
+
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
|
972 |
+
var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
|
973 |
+
|
974 |
+
if ($this.is('a')) e.preventDefault()
|
975 |
+
|
976 |
+
$target.one('show.bs.modal', function (showEvent) {
|
977 |
+
if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
|
978 |
+
$target.one('hidden.bs.modal', function () {
|
979 |
+
$this.is(':visible') && $this.trigger('focus')
|
980 |
+
})
|
981 |
+
})
|
982 |
+
Plugin.call($target, option, this)
|
983 |
+
})
|
984 |
+
|
985 |
+
}(jQuery);
|
986 |
+
|
987 |
+
/* ========================================================================
|
988 |
+
* Bootstrap: tooltip.js v3.3.7
|
989 |
+
* http://getbootstrap.com/javascript/#tooltip
|
990 |
+
* Inspired by the original jQuery.tipsy by Jason Frame
|
991 |
+
* ========================================================================
|
992 |
+
* Copyright 2011-2016 Twitter, Inc.
|
993 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
994 |
+
* ======================================================================== */
|
995 |
+
|
996 |
+
|
997 |
+
+function ($) {
|
998 |
+
'use strict';
|
999 |
+
|
1000 |
+
// TOOLTIP PUBLIC CLASS DEFINITION
|
1001 |
+
// ===============================
|
1002 |
+
|
1003 |
+
var Tooltip = function (element, options) {
|
1004 |
+
this.type = null
|
1005 |
+
this.options = null
|
1006 |
+
this.enabled = null
|
1007 |
+
this.timeout = null
|
1008 |
+
this.hoverState = null
|
1009 |
+
this.$element = null
|
1010 |
+
this.inState = null
|
1011 |
+
|
1012 |
+
this.init('tooltip', element, options)
|
1013 |
+
}
|
1014 |
+
|
1015 |
+
Tooltip.VERSION = '3.3.7'
|
1016 |
+
|
1017 |
+
Tooltip.TRANSITION_DURATION = 150
|
1018 |
+
|
1019 |
+
Tooltip.DEFAULTS = {
|
1020 |
+
animation: true,
|
1021 |
+
placement: 'top',
|
1022 |
+
selector: false,
|
1023 |
+
template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
|
1024 |
+
trigger: 'hover focus',
|
1025 |
+
title: '',
|
1026 |
+
delay: 0,
|
1027 |
+
html: false,
|
1028 |
+
container: false,
|
1029 |
+
viewport: {
|
1030 |
+
selector: 'body',
|
1031 |
+
padding: 0
|
1032 |
+
}
|
1033 |
+
}
|
1034 |
+
|
1035 |
+
Tooltip.prototype.init = function (type, element, options) {
|
1036 |
+
this.enabled = true
|
1037 |
+
this.type = type
|
1038 |
+
this.$element = $(element)
|
1039 |
+
this.options = this.getOptions(options)
|
1040 |
+
this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
|
1041 |
+
this.inState = { click: false, hover: false, focus: false }
|
1042 |
+
|
1043 |
+
if (this.$element[0] instanceof document.constructor && !this.options.selector) {
|
1044 |
+
throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
|
1045 |
+
}
|
1046 |
+
|
1047 |
+
var triggers = this.options.trigger.split(' ')
|
1048 |
+
|
1049 |
+
for (var i = triggers.length; i--;) {
|
1050 |
+
var trigger = triggers[i]
|
1051 |
+
|
1052 |
+
if (trigger == 'click') {
|
1053 |
+
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
|
1054 |
+
} else if (trigger != 'manual') {
|
1055 |
+
var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'
|
1056 |
+
var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
|
1057 |
+
|
1058 |
+
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
|
1059 |
+
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
|
1060 |
+
}
|
1061 |
+
}
|
1062 |
+
|
1063 |
+
this.options.selector ?
|
1064 |
+
(this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
|
1065 |
+
this.fixTitle()
|
1066 |
+
}
|
1067 |
+
|
1068 |
+
Tooltip.prototype.getDefaults = function () {
|
1069 |
+
return Tooltip.DEFAULTS
|
1070 |
+
}
|
1071 |
+
|
1072 |
+
Tooltip.prototype.getOptions = function (options) {
|
1073 |
+
options = $.extend({}, this.getDefaults(), this.$element.data(), options)
|
1074 |
+
|
1075 |
+
if (options.delay && typeof options.delay == 'number') {
|
1076 |
+
options.delay = {
|
1077 |
+
show: options.delay,
|
1078 |
+
hide: options.delay
|
1079 |
+
}
|
1080 |
+
}
|
1081 |
+
|
1082 |
+
return options
|
1083 |
+
}
|
1084 |
+
|
1085 |
+
Tooltip.prototype.getDelegateOptions = function () {
|
1086 |
+
var options = {}
|
1087 |
+
var defaults = this.getDefaults()
|
1088 |
+
|
1089 |
+
this._options && $.each(this._options, function (key, value) {
|
1090 |
+
if (defaults[key] != value) options[key] = value
|
1091 |
+
})
|
1092 |
+
|
1093 |
+
return options
|
1094 |
+
}
|
1095 |
+
|
1096 |
+
Tooltip.prototype.enter = function (obj) {
|
1097 |
+
var self = obj instanceof this.constructor ?
|
1098 |
+
obj : $(obj.currentTarget).data('bs.' + this.type)
|
1099 |
+
|
1100 |
+
if (!self) {
|
1101 |
+
self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
|
1102 |
+
$(obj.currentTarget).data('bs.' + this.type, self)
|
1103 |
+
}
|
1104 |
+
|
1105 |
+
if (obj instanceof $.Event) {
|
1106 |
+
self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true
|
1107 |
+
}
|
1108 |
+
|
1109 |
+
if (self.tip().hasClass('in') || self.hoverState == 'in') {
|
1110 |
+
self.hoverState = 'in'
|
1111 |
+
return
|
1112 |
+
}
|
1113 |
+
|
1114 |
+
clearTimeout(self.timeout)
|
1115 |
+
|
1116 |
+
self.hoverState = 'in'
|
1117 |
+
|
1118 |
+
if (!self.options.delay || !self.options.delay.show) return self.show()
|
1119 |
+
|
1120 |
+
self.timeout = setTimeout(function () {
|
1121 |
+
if (self.hoverState == 'in') self.show()
|
1122 |
+
}, self.options.delay.show)
|
1123 |
+
}
|
1124 |
+
|
1125 |
+
Tooltip.prototype.isInStateTrue = function () {
|
1126 |
+
for (var key in this.inState) {
|
1127 |
+
if (this.inState[key]) return true
|
1128 |
+
}
|
1129 |
+
|
1130 |
+
return false
|
1131 |
+
}
|
1132 |
+
|
1133 |
+
Tooltip.prototype.leave = function (obj) {
|
1134 |
+
var self = obj instanceof this.constructor ?
|
1135 |
+
obj : $(obj.currentTarget).data('bs.' + this.type)
|
1136 |
+
|
1137 |
+
if (!self) {
|
1138 |
+
self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
|
1139 |
+
$(obj.currentTarget).data('bs.' + this.type, self)
|
1140 |
+
}
|
1141 |
+
|
1142 |
+
if (obj instanceof $.Event) {
|
1143 |
+
self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false
|
1144 |
+
}
|
1145 |
+
|
1146 |
+
if (self.isInStateTrue()) return
|
1147 |
+
|
1148 |
+
clearTimeout(self.timeout)
|
1149 |
+
|
1150 |
+
self.hoverState = 'out'
|
1151 |
+
|
1152 |
+
if (!self.options.delay || !self.options.delay.hide) return self.hide()
|
1153 |
+
|
1154 |
+
self.timeout = setTimeout(function () {
|
1155 |
+
if (self.hoverState == 'out') self.hide()
|
1156 |
+
}, self.options.delay.hide)
|
1157 |
+
}
|
1158 |
+
|
1159 |
+
Tooltip.prototype.show = function () {
|
1160 |
+
var e = $.Event('show.bs.' + this.type)
|
1161 |
+
|
1162 |
+
if (this.hasContent() && this.enabled) {
|
1163 |
+
this.$element.trigger(e)
|
1164 |
+
|
1165 |
+
var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
|
1166 |
+
if (e.isDefaultPrevented() || !inDom) return
|
1167 |
+
var that = this
|
1168 |
+
|
1169 |
+
var $tip = this.tip()
|
1170 |
+
|
1171 |
+
var tipId = this.getUID(this.type)
|
1172 |
+
|
1173 |
+
this.setContent()
|
1174 |
+
$tip.attr('id', tipId)
|
1175 |
+
this.$element.attr('aria-describedby', tipId)
|
1176 |
+
|
1177 |
+
if (this.options.animation) $tip.addClass('fade')
|
1178 |
+
|
1179 |
+
var placement = typeof this.options.placement == 'function' ?
|
1180 |
+
this.options.placement.call(this, $tip[0], this.$element[0]) :
|
1181 |
+
this.options.placement
|
1182 |
+
|
1183 |
+
var autoToken = /\s?auto?\s?/i
|
1184 |
+
var autoPlace = autoToken.test(placement)
|
1185 |
+
if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
|
1186 |
+
|
1187 |
+
$tip
|
1188 |
+
.detach()
|
1189 |
+
.css({ top: 0, left: 0, display: 'block' })
|
1190 |
+
.addClass(placement)
|
1191 |
+
.data('bs.' + this.type, this)
|
1192 |
+
|
1193 |
+
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
|
1194 |
+
this.$element.trigger('inserted.bs.' + this.type)
|
1195 |
+
|
1196 |
+
var pos = this.getPosition()
|
1197 |
+
var actualWidth = $tip[0].offsetWidth
|
1198 |
+
var actualHeight = $tip[0].offsetHeight
|
1199 |
+
|
1200 |
+
if (autoPlace) {
|
1201 |
+
var orgPlacement = placement
|
1202 |
+
var viewportDim = this.getPosition(this.$viewport)
|
1203 |
+
|
1204 |
+
placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
|
1205 |
+
placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
|
1206 |
+
placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
|
1207 |
+
placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
|
1208 |
+
placement
|
1209 |
+
|
1210 |
+
$tip
|
1211 |
+
.removeClass(orgPlacement)
|
1212 |
+
.addClass(placement)
|
1213 |
+
}
|
1214 |
+
|
1215 |
+
var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
|
1216 |
+
|
1217 |
+
this.applyPlacement(calculatedOffset, placement)
|
1218 |
+
|
1219 |
+
var complete = function () {
|
1220 |
+
var prevHoverState = that.hoverState
|
1221 |
+
that.$element.trigger('shown.bs.' + that.type)
|
1222 |
+
that.hoverState = null
|
1223 |
+
|
1224 |
+
if (prevHoverState == 'out') that.leave(that)
|
1225 |
+
}
|
1226 |
+
|
1227 |
+
$.support.transition && this.$tip.hasClass('fade') ?
|
1228 |
+
$tip
|
1229 |
+
.one('bsTransitionEnd', complete)
|
1230 |
+
.emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
|
1231 |
+
complete()
|
1232 |
+
}
|
1233 |
+
}
|
1234 |
+
|
1235 |
+
Tooltip.prototype.applyPlacement = function (offset, placement) {
|
1236 |
+
var $tip = this.tip()
|
1237 |
+
var width = $tip[0].offsetWidth
|
1238 |
+
var height = $tip[0].offsetHeight
|
1239 |
+
|
1240 |
+
// manually read margins because getBoundingClientRect includes difference
|
1241 |
+
var marginTop = parseInt($tip.css('margin-top'), 10)
|
1242 |
+
var marginLeft = parseInt($tip.css('margin-left'), 10)
|
1243 |
+
|
1244 |
+
// we must check for NaN for ie 8/9
|
1245 |
+
if (isNaN(marginTop)) marginTop = 0
|
1246 |
+
if (isNaN(marginLeft)) marginLeft = 0
|
1247 |
+
|
1248 |
+
offset.top += marginTop
|
1249 |
+
offset.left += marginLeft
|
1250 |
+
|
1251 |
+
// $.fn.offset doesn't round pixel values
|
1252 |
+
// so we use setOffset directly with our own function B-0
|
1253 |
+
$.offset.setOffset($tip[0], $.extend({
|
1254 |
+
using: function (props) {
|
1255 |
+
$tip.css({
|
1256 |
+
top: Math.round(props.top),
|
1257 |
+
left: Math.round(props.left)
|
1258 |
+
})
|
1259 |
+
}
|
1260 |
+
}, offset), 0)
|
1261 |
+
|
1262 |
+
$tip.addClass('in')
|
1263 |
+
|
1264 |
+
// check to see if placing tip in new offset caused the tip to resize itself
|
1265 |
+
var actualWidth = $tip[0].offsetWidth
|
1266 |
+
var actualHeight = $tip[0].offsetHeight
|
1267 |
+
|
1268 |
+
if (placement == 'top' && actualHeight != height) {
|
1269 |
+
offset.top = offset.top + height - actualHeight
|
1270 |
+
}
|
1271 |
+
|
1272 |
+
var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
|
1273 |
+
|
1274 |
+
if (delta.left) offset.left += delta.left
|
1275 |
+
else offset.top += delta.top
|
1276 |
+
|
1277 |
+
var isVertical = /top|bottom/.test(placement)
|
1278 |
+
var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
|
1279 |
+
var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
|
1280 |
+
|
1281 |
+
$tip.offset(offset)
|
1282 |
+
this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
|
1283 |
+
}
|
1284 |
+
|
1285 |
+
Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
|
1286 |
+
this.arrow()
|
1287 |
+
.css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
|
1288 |
+
.css(isVertical ? 'top' : 'left', '')
|
1289 |
+
}
|
1290 |
+
|
1291 |
+
Tooltip.prototype.setContent = function () {
|
1292 |
+
var $tip = this.tip()
|
1293 |
+
var title = this.getTitle()
|
1294 |
+
|
1295 |
+
$tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
|
1296 |
+
$tip.removeClass('fade in top bottom left right')
|
1297 |
+
}
|
1298 |
+
|
1299 |
+
Tooltip.prototype.hide = function (callback) {
|
1300 |
+
var that = this
|
1301 |
+
var $tip = $(this.$tip)
|
1302 |
+
var e = $.Event('hide.bs.' + this.type)
|
1303 |
+
|
1304 |
+
function complete() {
|
1305 |
+
if (that.hoverState != 'in') $tip.detach()
|
1306 |
+
if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary.
|
1307 |
+
that.$element
|
1308 |
+
.removeAttr('aria-describedby')
|
1309 |
+
.trigger('hidden.bs.' + that.type)
|
1310 |
+
}
|
1311 |
+
callback && callback()
|
1312 |
+
}
|
1313 |
+
|
1314 |
+
this.$element.trigger(e)
|
1315 |
+
|
1316 |
+
if (e.isDefaultPrevented()) return
|
1317 |
+
|
1318 |
+
$tip.removeClass('in')
|
1319 |
+
|
1320 |
+
$.support.transition && $tip.hasClass('fade') ?
|
1321 |
+
$tip
|
1322 |
+
.one('bsTransitionEnd', complete)
|
1323 |
+
.emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
|
1324 |
+
complete()
|
1325 |
+
|
1326 |
+
this.hoverState = null
|
1327 |
+
|
1328 |
+
return this
|
1329 |
+
}
|
1330 |
+
|
1331 |
+
Tooltip.prototype.fixTitle = function () {
|
1332 |
+
var $e = this.$element
|
1333 |
+
if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
|
1334 |
+
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
|
1335 |
+
}
|
1336 |
+
}
|
1337 |
+
|
1338 |
+
Tooltip.prototype.hasContent = function () {
|
1339 |
+
return this.getTitle()
|
1340 |
+
}
|
1341 |
+
|
1342 |
+
Tooltip.prototype.getPosition = function ($element) {
|
1343 |
+
$element = $element || this.$element
|
1344 |
+
|
1345 |
+
var el = $element[0]
|
1346 |
+
var isBody = el.tagName == 'BODY'
|
1347 |
+
|
1348 |
+
var elRect = el.getBoundingClientRect()
|
1349 |
+
if (elRect.width == null) {
|
1350 |
+
// width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
|
1351 |
+
elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
|
1352 |
+
}
|
1353 |
+
var isSvg = window.SVGElement && el instanceof window.SVGElement
|
1354 |
+
// Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3.
|
1355 |
+
// See https://github.com/twbs/bootstrap/issues/20280
|
1356 |
+
var elOffset = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset())
|
1357 |
+
var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
|
1358 |
+
var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
|
1359 |
+
|
1360 |
+
return $.extend({}, elRect, scroll, outerDims, elOffset)
|
1361 |
+
}
|
1362 |
+
|
1363 |
+
Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
|
1364 |
+
return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
|
1365 |
+
placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
|
1366 |
+
placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
|
1367 |
+
/* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
|
1368 |
+
|
1369 |
+
}
|
1370 |
+
|
1371 |
+
Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
|
1372 |
+
var delta = { top: 0, left: 0 }
|
1373 |
+
if (!this.$viewport) return delta
|
1374 |
+
|
1375 |
+
var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
|
1376 |
+
var viewportDimensions = this.getPosition(this.$viewport)
|
1377 |
+
|
1378 |
+
if (/right|left/.test(placement)) {
|
1379 |
+
var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll
|
1380 |
+
var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
|
1381 |
+
if (topEdgeOffset < viewportDimensions.top) { // top overflow
|
1382 |
+
delta.top = viewportDimensions.top - topEdgeOffset
|
1383 |
+
} else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
|
1384 |
+
delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
|
1385 |
+
}
|
1386 |
+
} else {
|
1387 |
+
var leftEdgeOffset = pos.left - viewportPadding
|
1388 |
+
var rightEdgeOffset = pos.left + viewportPadding + actualWidth
|
1389 |
+
if (leftEdgeOffset < viewportDimensions.left) { // left overflow
|
1390 |
+
delta.left = viewportDimensions.left - leftEdgeOffset
|
1391 |
+
} else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
|
1392 |
+
delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
|
1393 |
+
}
|
1394 |
+
}
|
1395 |
+
|
1396 |
+
return delta
|
1397 |
+
}
|
1398 |
+
|
1399 |
+
Tooltip.prototype.getTitle = function () {
|
1400 |
+
var title
|
1401 |
+
var $e = this.$element
|
1402 |
+
var o = this.options
|
1403 |
+
|
1404 |
+
title = $e.attr('data-original-title')
|
1405 |
+
|| (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
|
1406 |
+
|
1407 |
+
return title
|
1408 |
+
}
|
1409 |
+
|
1410 |
+
Tooltip.prototype.getUID = function (prefix) {
|
1411 |
+
do prefix += ~~(Math.random() * 1000000)
|
1412 |
+
while (document.getElementById(prefix))
|
1413 |
+
return prefix
|
1414 |
+
}
|
1415 |
+
|
1416 |
+
Tooltip.prototype.tip = function () {
|
1417 |
+
if (!this.$tip) {
|
1418 |
+
this.$tip = $(this.options.template)
|
1419 |
+
if (this.$tip.length != 1) {
|
1420 |
+
throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
|
1421 |
+
}
|
1422 |
+
}
|
1423 |
+
return this.$tip
|
1424 |
+
}
|
1425 |
+
|
1426 |
+
Tooltip.prototype.arrow = function () {
|
1427 |
+
return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
|
1428 |
+
}
|
1429 |
+
|
1430 |
+
Tooltip.prototype.enable = function () {
|
1431 |
+
this.enabled = true
|
1432 |
+
}
|
1433 |
+
|
1434 |
+
Tooltip.prototype.disable = function () {
|
1435 |
+
this.enabled = false
|
1436 |
+
}
|
1437 |
+
|
1438 |
+
Tooltip.prototype.toggleEnabled = function () {
|
1439 |
+
this.enabled = !this.enabled
|
1440 |
+
}
|
1441 |
+
|
1442 |
+
Tooltip.prototype.toggle = function (e) {
|
1443 |
+
var self = this
|
1444 |
+
if (e) {
|
1445 |
+
self = $(e.currentTarget).data('bs.' + this.type)
|
1446 |
+
if (!self) {
|
1447 |
+
self = new this.constructor(e.currentTarget, this.getDelegateOptions())
|
1448 |
+
$(e.currentTarget).data('bs.' + this.type, self)
|
1449 |
+
}
|
1450 |
+
}
|
1451 |
+
|
1452 |
+
if (e) {
|
1453 |
+
self.inState.click = !self.inState.click
|
1454 |
+
if (self.isInStateTrue()) self.enter(self)
|
1455 |
+
else self.leave(self)
|
1456 |
+
} else {
|
1457 |
+
self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
|
1458 |
+
}
|
1459 |
+
}
|
1460 |
+
|
1461 |
+
Tooltip.prototype.destroy = function () {
|
1462 |
+
var that = this
|
1463 |
+
clearTimeout(this.timeout)
|
1464 |
+
this.hide(function () {
|
1465 |
+
that.$element.off('.' + that.type).removeData('bs.' + that.type)
|
1466 |
+
if (that.$tip) {
|
1467 |
+
that.$tip.detach()
|
1468 |
+
}
|
1469 |
+
that.$tip = null
|
1470 |
+
that.$arrow = null
|
1471 |
+
that.$viewport = null
|
1472 |
+
that.$element = null
|
1473 |
+
})
|
1474 |
+
}
|
1475 |
+
|
1476 |
+
|
1477 |
+
// TOOLTIP PLUGIN DEFINITION
|
1478 |
+
// =========================
|
1479 |
+
|
1480 |
+
function Plugin(option) {
|
1481 |
+
return this.each(function () {
|
1482 |
+
var $this = $(this)
|
1483 |
+
var data = $this.data('bs.tooltip')
|
1484 |
+
var options = typeof option == 'object' && option
|
1485 |
+
|
1486 |
+
if (!data && /destroy|hide/.test(option)) return
|
1487 |
+
if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
|
1488 |
+
if (typeof option == 'string') data[option]()
|
1489 |
+
})
|
1490 |
+
}
|
1491 |
+
|
1492 |
+
var old = $.fn.tooltip
|
1493 |
+
|
1494 |
+
$.fn.tooltip = Plugin
|
1495 |
+
$.fn.tooltip.Constructor = Tooltip
|
1496 |
+
|
1497 |
+
|
1498 |
+
// TOOLTIP NO CONFLICT
|
1499 |
+
// ===================
|
1500 |
+
|
1501 |
+
$.fn.tooltip.noConflict = function () {
|
1502 |
+
$.fn.tooltip = old
|
1503 |
+
return this
|
1504 |
+
}
|
1505 |
+
|
1506 |
+
}(jQuery);
|
1507 |
+
|
1508 |
+
/* ========================================================================
|
1509 |
+
* Bootstrap: popover.js v3.3.7
|
1510 |
+
* http://getbootstrap.com/javascript/#popovers
|
1511 |
+
* ========================================================================
|
1512 |
+
* Copyright 2011-2016 Twitter, Inc.
|
1513 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
1514 |
+
* ======================================================================== */
|
1515 |
+
|
1516 |
+
|
1517 |
+
+function ($) {
|
1518 |
+
'use strict';
|
1519 |
+
|
1520 |
+
// POPOVER PUBLIC CLASS DEFINITION
|
1521 |
+
// ===============================
|
1522 |
+
|
1523 |
+
var Popover = function (element, options) {
|
1524 |
+
this.init('popover', element, options)
|
1525 |
+
}
|
1526 |
+
|
1527 |
+
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
|
1528 |
+
|
1529 |
+
Popover.VERSION = '3.3.7'
|
1530 |
+
|
1531 |
+
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
|
1532 |
+
placement: 'right',
|
1533 |
+
trigger: 'click',
|
1534 |
+
content: '',
|
1535 |
+
template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
|
1536 |
+
})
|
1537 |
+
|
1538 |
+
|
1539 |
+
// NOTE: POPOVER EXTENDS tooltip.js
|
1540 |
+
// ================================
|
1541 |
+
|
1542 |
+
Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
|
1543 |
+
|
1544 |
+
Popover.prototype.constructor = Popover
|
1545 |
+
|
1546 |
+
Popover.prototype.getDefaults = function () {
|
1547 |
+
return Popover.DEFAULTS
|
1548 |
+
}
|
1549 |
+
|
1550 |
+
Popover.prototype.setContent = function () {
|
1551 |
+
var $tip = this.tip()
|
1552 |
+
var title = this.getTitle()
|
1553 |
+
var content = this.getContent()
|
1554 |
+
|
1555 |
+
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
|
1556 |
+
$tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
|
1557 |
+
this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
|
1558 |
+
](content)
|
1559 |
+
|
1560 |
+
$tip.removeClass('fade top bottom left right in')
|
1561 |
+
|
1562 |
+
// IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
|
1563 |
+
// this manually by checking the contents.
|
1564 |
+
if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
|
1565 |
+
}
|
1566 |
+
|
1567 |
+
Popover.prototype.hasContent = function () {
|
1568 |
+
return this.getTitle() || this.getContent()
|
1569 |
+
}
|
1570 |
+
|
1571 |
+
Popover.prototype.getContent = function () {
|
1572 |
+
var $e = this.$element
|
1573 |
+
var o = this.options
|
1574 |
+
|
1575 |
+
return $e.attr('data-content')
|
1576 |
+
|| (typeof o.content == 'function' ?
|
1577 |
+
o.content.call($e[0]) :
|
1578 |
+
o.content)
|
1579 |
+
}
|
1580 |
+
|
1581 |
+
Popover.prototype.arrow = function () {
|
1582 |
+
return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
|
1583 |
+
}
|
1584 |
+
|
1585 |
+
|
1586 |
+
// POPOVER PLUGIN DEFINITION
|
1587 |
+
// =========================
|
1588 |
+
|
1589 |
+
function Plugin(option) {
|
1590 |
+
return this.each(function () {
|
1591 |
+
var $this = $(this)
|
1592 |
+
var data = $this.data('bs.popover')
|
1593 |
+
var options = typeof option == 'object' && option
|
1594 |
+
|
1595 |
+
if (!data && /destroy|hide/.test(option)) return
|
1596 |
+
if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
|
1597 |
+
if (typeof option == 'string') data[option]()
|
1598 |
+
})
|
1599 |
+
}
|
1600 |
+
|
1601 |
+
var old = $.fn.popover
|
1602 |
+
|
1603 |
+
$.fn.popover = Plugin
|
1604 |
+
$.fn.popover.Constructor = Popover
|
1605 |
+
|
1606 |
+
|
1607 |
+
// POPOVER NO CONFLICT
|
1608 |
+
// ===================
|
1609 |
+
|
1610 |
+
$.fn.popover.noConflict = function () {
|
1611 |
+
$.fn.popover = old
|
1612 |
+
return this
|
1613 |
+
}
|
1614 |
+
|
1615 |
+
}(jQuery);
|
1616 |
+
|
1617 |
+
/* ========================================================================
|
1618 |
+
* Bootstrap: tab.js v3.3.7
|
1619 |
+
* http://getbootstrap.com/javascript/#tabs
|
1620 |
+
* ========================================================================
|
1621 |
+
* Copyright 2011-2016 Twitter, Inc.
|
1622 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
1623 |
+
* ======================================================================== */
|
1624 |
+
|
1625 |
+
|
1626 |
+
+function ($) {
|
1627 |
+
'use strict';
|
1628 |
+
|
1629 |
+
// TAB CLASS DEFINITION
|
1630 |
+
// ====================
|
1631 |
+
|
1632 |
+
var Tab = function (element) {
|
1633 |
+
// jscs:disable requireDollarBeforejQueryAssignment
|
1634 |
+
this.element = $(element)
|
1635 |
+
// jscs:enable requireDollarBeforejQueryAssignment
|
1636 |
+
}
|
1637 |
+
|
1638 |
+
Tab.VERSION = '3.3.7'
|
1639 |
+
|
1640 |
+
Tab.TRANSITION_DURATION = 150
|
1641 |
+
|
1642 |
+
Tab.prototype.show = function () {
|
1643 |
+
var $this = this.element
|
1644 |
+
var $ul = $this.closest('ul:not(.dropdown-menu)')
|
1645 |
+
var selector = $this.data('target')
|
1646 |
+
|
1647 |
+
if (!selector) {
|
1648 |
+
selector = $this.attr('href')
|
1649 |
+
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
1650 |
+
}
|
1651 |
+
|
1652 |
+
if ($this.parent('li').hasClass('active')) return
|
1653 |
+
|
1654 |
+
var $previous = $ul.find('.active:last a')
|
1655 |
+
var hideEvent = $.Event('hide.bs.tab', {
|
1656 |
+
relatedTarget: $this[0]
|
1657 |
+
})
|
1658 |
+
var showEvent = $.Event('show.bs.tab', {
|
1659 |
+
relatedTarget: $previous[0]
|
1660 |
+
})
|
1661 |
+
|
1662 |
+
$previous.trigger(hideEvent)
|
1663 |
+
$this.trigger(showEvent)
|
1664 |
+
|
1665 |
+
if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
|
1666 |
+
|
1667 |
+
var $target = $(selector)
|
1668 |
+
|
1669 |
+
this.activate($this.closest('li'), $ul)
|
1670 |
+
this.activate($target, $target.parent(), function () {
|
1671 |
+
$previous.trigger({
|
1672 |
+
type: 'hidden.bs.tab',
|
1673 |
+
relatedTarget: $this[0]
|
1674 |
+
})
|
1675 |
+
$this.trigger({
|
1676 |
+
type: 'shown.bs.tab',
|
1677 |
+
relatedTarget: $previous[0]
|
1678 |
+
})
|
1679 |
+
})
|
1680 |
+
}
|
1681 |
+
|
1682 |
+
Tab.prototype.activate = function (element, container, callback) {
|
1683 |
+
var $active = container.find('> .active')
|
1684 |
+
var transition = callback
|
1685 |
+
&& $.support.transition
|
1686 |
+
&& ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)
|
1687 |
+
|
1688 |
+
function next() {
|
1689 |
+
$active
|
1690 |
+
.removeClass('active')
|
1691 |
+
.find('> .dropdown-menu > .active')
|
1692 |
+
.removeClass('active')
|
1693 |
+
.end()
|
1694 |
+
.find('[data-toggle="tab"]')
|
1695 |
+
.attr('aria-expanded', false)
|
1696 |
+
|
1697 |
+
element
|
1698 |
+
.addClass('active')
|
1699 |
+
.find('[data-toggle="tab"]')
|
1700 |
+
.attr('aria-expanded', true)
|
1701 |
+
|
1702 |
+
if (transition) {
|
1703 |
+
element[0].offsetWidth // reflow for transition
|
1704 |
+
element.addClass('in')
|
1705 |
+
} else {
|
1706 |
+
element.removeClass('fade')
|
1707 |
+
}
|
1708 |
+
|
1709 |
+
if (element.parent('.dropdown-menu').length) {
|
1710 |
+
element
|
1711 |
+
.closest('li.dropdown')
|
1712 |
+
.addClass('active')
|
1713 |
+
.end()
|
1714 |
+
.find('[data-toggle="tab"]')
|
1715 |
+
.attr('aria-expanded', true)
|
1716 |
+
}
|
1717 |
+
|
1718 |
+
callback && callback()
|
1719 |
+
}
|
1720 |
+
|
1721 |
+
$active.length && transition ?
|
1722 |
+
$active
|
1723 |
+
.one('bsTransitionEnd', next)
|
1724 |
+
.emulateTransitionEnd(Tab.TRANSITION_DURATION) :
|
1725 |
+
next()
|
1726 |
+
|
1727 |
+
$active.removeClass('in')
|
1728 |
+
}
|
1729 |
+
|
1730 |
+
|
1731 |
+
// TAB PLUGIN DEFINITION
|
1732 |
+
// =====================
|
1733 |
+
|
1734 |
+
function Plugin(option) {
|
1735 |
+
return this.each(function () {
|
1736 |
+
var $this = $(this)
|
1737 |
+
var data = $this.data('bs.tab')
|
1738 |
+
|
1739 |
+
if (!data) $this.data('bs.tab', (data = new Tab(this)))
|
1740 |
+
if (typeof option == 'string') data[option]()
|
1741 |
+
})
|
1742 |
+
}
|
1743 |
+
|
1744 |
+
var old = $.fn.tab
|
1745 |
+
|
1746 |
+
$.fn.tab = Plugin
|
1747 |
+
$.fn.tab.Constructor = Tab
|
1748 |
+
|
1749 |
+
|
1750 |
+
// TAB NO CONFLICT
|
1751 |
+
// ===============
|
1752 |
+
|
1753 |
+
$.fn.tab.noConflict = function () {
|
1754 |
+
$.fn.tab = old
|
1755 |
+
return this
|
1756 |
+
}
|
1757 |
+
|
1758 |
+
|
1759 |
+
// TAB DATA-API
|
1760 |
+
// ============
|
1761 |
+
|
1762 |
+
var clickHandler = function (e) {
|
1763 |
+
e.preventDefault()
|
1764 |
+
Plugin.call($(this), 'show')
|
1765 |
+
}
|
1766 |
+
|
1767 |
+
$(document)
|
1768 |
+
.on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
|
1769 |
+
.on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
|
1770 |
+
|
1771 |
+
}(jQuery);
|
1772 |
+
|
1773 |
+
/* ========================================================================
|
1774 |
+
* Bootstrap: affix.js v3.3.7
|
1775 |
+
* http://getbootstrap.com/javascript/#affix
|
1776 |
+
* ========================================================================
|
1777 |
+
* Copyright 2011-2016 Twitter, Inc.
|
1778 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
1779 |
+
* ======================================================================== */
|
1780 |
+
|
1781 |
+
|
1782 |
+
+function ($) {
|
1783 |
+
'use strict';
|
1784 |
+
|
1785 |
+
// AFFIX CLASS DEFINITION
|
1786 |
+
// ======================
|
1787 |
+
|
1788 |
+
var Affix = function (element, options) {
|
1789 |
+
this.options = $.extend({}, Affix.DEFAULTS, options)
|
1790 |
+
|
1791 |
+
this.$target = $(this.options.target)
|
1792 |
+
.on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
|
1793 |
+
.on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
|
1794 |
+
|
1795 |
+
this.$element = $(element)
|
1796 |
+
this.affixed = null
|
1797 |
+
this.unpin = null
|
1798 |
+
this.pinnedOffset = null
|
1799 |
+
|
1800 |
+
this.checkPosition()
|
1801 |
+
}
|
1802 |
+
|
1803 |
+
Affix.VERSION = '3.3.7'
|
1804 |
+
|
1805 |
+
Affix.RESET = 'affix affix-top affix-bottom'
|
1806 |
+
|
1807 |
+
Affix.DEFAULTS = {
|
1808 |
+
offset: 0,
|
1809 |
+
target: window
|
1810 |
+
}
|
1811 |
+
|
1812 |
+
Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {
|
1813 |
+
var scrollTop = this.$target.scrollTop()
|
1814 |
+
var position = this.$element.offset()
|
1815 |
+
var targetHeight = this.$target.height()
|
1816 |
+
|
1817 |
+
if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
|
1818 |
+
|
1819 |
+
if (this.affixed == 'bottom') {
|
1820 |
+
if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
|
1821 |
+
return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
|
1822 |
+
}
|
1823 |
+
|
1824 |
+
var initializing = this.affixed == null
|
1825 |
+
var colliderTop = initializing ? scrollTop : position.top
|
1826 |
+
var colliderHeight = initializing ? targetHeight : height
|
1827 |
+
|
1828 |
+
if (offsetTop != null && scrollTop <= offsetTop) return 'top'
|
1829 |
+
if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'
|
1830 |
+
|
1831 |
+
return false
|
1832 |
+
}
|
1833 |
+
|
1834 |
+
Affix.prototype.getPinnedOffset = function () {
|
1835 |
+
if (this.pinnedOffset) return this.pinnedOffset
|
1836 |
+
this.$element.removeClass(Affix.RESET).addClass('affix')
|
1837 |
+
var scrollTop = this.$target.scrollTop()
|
1838 |
+
var position = this.$element.offset()
|
1839 |
+
return (this.pinnedOffset = position.top - scrollTop)
|
1840 |
+
}
|
1841 |
+
|
1842 |
+
Affix.prototype.checkPositionWithEventLoop = function () {
|
1843 |
+
setTimeout($.proxy(this.checkPosition, this), 1)
|
1844 |
+
}
|
1845 |
+
|
1846 |
+
Affix.prototype.checkPosition = function () {
|
1847 |
+
if (!this.$element.is(':visible')) return
|
1848 |
+
|
1849 |
+
var height = this.$element.height()
|
1850 |
+
var offset = this.options.offset
|
1851 |
+
var offsetTop = offset.top
|
1852 |
+
var offsetBottom = offset.bottom
|
1853 |
+
var scrollHeight = Math.max($(document).height(), $(document.body).height())
|
1854 |
+
|
1855 |
+
if (typeof offset != 'object') offsetBottom = offsetTop = offset
|
1856 |
+
if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
|
1857 |
+
if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
|
1858 |
+
|
1859 |
+
var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
|
1860 |
+
|
1861 |
+
if (this.affixed != affix) {
|
1862 |
+
if (this.unpin != null) this.$element.css('top', '')
|
1863 |
+
|
1864 |
+
var affixType = 'affix' + (affix ? '-' + affix : '')
|
1865 |
+
var e = $.Event(affixType + '.bs.affix')
|
1866 |
+
|
1867 |
+
this.$element.trigger(e)
|
1868 |
+
|
1869 |
+
if (e.isDefaultPrevented()) return
|
1870 |
+
|
1871 |
+
this.affixed = affix
|
1872 |
+
this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
|
1873 |
+
|
1874 |
+
this.$element
|
1875 |
+
.removeClass(Affix.RESET)
|
1876 |
+
.addClass(affixType)
|
1877 |
+
.trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
|
1878 |
+
}
|
1879 |
+
|
1880 |
+
if (affix == 'bottom') {
|
1881 |
+
this.$element.offset({
|
1882 |
+
top: scrollHeight - height - offsetBottom
|
1883 |
+
})
|
1884 |
+
}
|
1885 |
+
}
|
1886 |
+
|
1887 |
+
|
1888 |
+
// AFFIX PLUGIN DEFINITION
|
1889 |
+
// =======================
|
1890 |
+
|
1891 |
+
function Plugin(option) {
|
1892 |
+
return this.each(function () {
|
1893 |
+
var $this = $(this)
|
1894 |
+
var data = $this.data('bs.affix')
|
1895 |
+
var options = typeof option == 'object' && option
|
1896 |
+
|
1897 |
+
if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
|
1898 |
+
if (typeof option == 'string') data[option]()
|
1899 |
+
})
|
1900 |
+
}
|
1901 |
+
|
1902 |
+
var old = $.fn.affix
|
1903 |
+
|
1904 |
+
$.fn.affix = Plugin
|
1905 |
+
$.fn.affix.Constructor = Affix
|
1906 |
+
|
1907 |
+
|
1908 |
+
// AFFIX NO CONFLICT
|
1909 |
+
// =================
|
1910 |
+
|
1911 |
+
$.fn.affix.noConflict = function () {
|
1912 |
+
$.fn.affix = old
|
1913 |
+
return this
|
1914 |
+
}
|
1915 |
+
|
1916 |
+
|
1917 |
+
// AFFIX DATA-API
|
1918 |
+
// ==============
|
1919 |
+
|
1920 |
+
$(window).on('load', function () {
|
1921 |
+
$('[data-spy="affix"]').each(function () {
|
1922 |
+
var $spy = $(this)
|
1923 |
+
var data = $spy.data()
|
1924 |
+
|
1925 |
+
data.offset = data.offset || {}
|
1926 |
+
|
1927 |
+
if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom
|
1928 |
+
if (data.offsetTop != null) data.offset.top = data.offsetTop
|
1929 |
+
|
1930 |
+
Plugin.call($spy, data)
|
1931 |
+
})
|
1932 |
+
})
|
1933 |
+
|
1934 |
+
}(jQuery);
|
1935 |
+
|
1936 |
+
/* ========================================================================
|
1937 |
+
* Bootstrap: collapse.js v3.3.7
|
1938 |
+
* http://getbootstrap.com/javascript/#collapse
|
1939 |
+
* ========================================================================
|
1940 |
+
* Copyright 2011-2016 Twitter, Inc.
|
1941 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
1942 |
+
* ======================================================================== */
|
1943 |
+
|
1944 |
+
/* jshint latedef: false */
|
1945 |
+
|
1946 |
+
+function ($) {
|
1947 |
+
'use strict';
|
1948 |
+
|
1949 |
+
// COLLAPSE PUBLIC CLASS DEFINITION
|
1950 |
+
// ================================
|
1951 |
+
|
1952 |
+
var Collapse = function (element, options) {
|
1953 |
+
this.$element = $(element)
|
1954 |
+
this.options = $.extend({}, Collapse.DEFAULTS, options)
|
1955 |
+
this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
|
1956 |
+
'[data-toggle="collapse"][data-target="#' + element.id + '"]')
|
1957 |
+
this.transitioning = null
|
1958 |
+
|
1959 |
+
if (this.options.parent) {
|
1960 |
+
this.$parent = this.getParent()
|
1961 |
+
} else {
|
1962 |
+
this.addAriaAndCollapsedClass(this.$element, this.$trigger)
|
1963 |
+
}
|
1964 |
+
|
1965 |
+
if (this.options.toggle) this.toggle()
|
1966 |
+
}
|
1967 |
+
|
1968 |
+
Collapse.VERSION = '3.3.7'
|
1969 |
+
|
1970 |
+
Collapse.TRANSITION_DURATION = 350
|
1971 |
+
|
1972 |
+
Collapse.DEFAULTS = {
|
1973 |
+
toggle: true
|
1974 |
+
}
|
1975 |
+
|
1976 |
+
Collapse.prototype.dimension = function () {
|
1977 |
+
var hasWidth = this.$element.hasClass('width')
|
1978 |
+
return hasWidth ? 'width' : 'height'
|
1979 |
+
}
|
1980 |
+
|
1981 |
+
Collapse.prototype.show = function () {
|
1982 |
+
if (this.transitioning || this.$element.hasClass('in')) return
|
1983 |
+
|
1984 |
+
var activesData
|
1985 |
+
var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')
|
1986 |
+
|
1987 |
+
if (actives && actives.length) {
|
1988 |
+
activesData = actives.data('bs.collapse')
|
1989 |
+
if (activesData && activesData.transitioning) return
|
1990 |
+
}
|
1991 |
+
|
1992 |
+
var startEvent = $.Event('show.bs.collapse')
|
1993 |
+
this.$element.trigger(startEvent)
|
1994 |
+
if (startEvent.isDefaultPrevented()) return
|
1995 |
+
|
1996 |
+
if (actives && actives.length) {
|
1997 |
+
Plugin.call(actives, 'hide')
|
1998 |
+
activesData || actives.data('bs.collapse', null)
|
1999 |
+
}
|
2000 |
+
|
2001 |
+
var dimension = this.dimension()
|
2002 |
+
|
2003 |
+
this.$element
|
2004 |
+
.removeClass('collapse')
|
2005 |
+
.addClass('collapsing')[dimension](0)
|
2006 |
+
.attr('aria-expanded', true)
|
2007 |
+
|
2008 |
+
this.$trigger
|
2009 |
+
.removeClass('collapsed')
|
2010 |
+
.attr('aria-expanded', true)
|
2011 |
+
|
2012 |
+
this.transitioning = 1
|
2013 |
+
|
2014 |
+
var complete = function () {
|
2015 |
+
this.$element
|
2016 |
+
.removeClass('collapsing')
|
2017 |
+
.addClass('collapse in')[dimension]('')
|
2018 |
+
this.transitioning = 0
|
2019 |
+
this.$element
|
2020 |
+
.trigger('shown.bs.collapse')
|
2021 |
+
}
|
2022 |
+
|
2023 |
+
if (!$.support.transition) return complete.call(this)
|
2024 |
+
|
2025 |
+
var scrollSize = $.camelCase(['scroll', dimension].join('-'))
|
2026 |
+
|
2027 |
+
this.$element
|
2028 |
+
.one('bsTransitionEnd', $.proxy(complete, this))
|
2029 |
+
.emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
|
2030 |
+
}
|
2031 |
+
|
2032 |
+
Collapse.prototype.hide = function () {
|
2033 |
+
if (this.transitioning || !this.$element.hasClass('in')) return
|
2034 |
+
|
2035 |
+
var startEvent = $.Event('hide.bs.collapse')
|
2036 |
+
this.$element.trigger(startEvent)
|
2037 |
+
if (startEvent.isDefaultPrevented()) return
|
2038 |
+
|
2039 |
+
var dimension = this.dimension()
|
2040 |
+
|
2041 |
+
this.$element[dimension](this.$element[dimension]())[0].offsetHeight
|
2042 |
+
|
2043 |
+
this.$element
|
2044 |
+
.addClass('collapsing')
|
2045 |
+
.removeClass('collapse in')
|
2046 |
+
.attr('aria-expanded', false)
|
2047 |
+
|
2048 |
+
this.$trigger
|
2049 |
+
.addClass('collapsed')
|
2050 |
+
.attr('aria-expanded', false)
|
2051 |
+
|
2052 |
+
this.transitioning = 1
|
2053 |
+
|
2054 |
+
var complete = function () {
|
2055 |
+
this.transitioning = 0
|
2056 |
+
this.$element
|
2057 |
+
.removeClass('collapsing')
|
2058 |
+
.addClass('collapse')
|
2059 |
+
.trigger('hidden.bs.collapse')
|
2060 |
+
}
|
2061 |
+
|
2062 |
+
if (!$.support.transition) return complete.call(this)
|
2063 |
+
|
2064 |
+
this.$element
|
2065 |
+
[dimension](0)
|
2066 |
+
.one('bsTransitionEnd', $.proxy(complete, this))
|
2067 |
+
.emulateTransitionEnd(Collapse.TRANSITION_DURATION)
|
2068 |
+
}
|
2069 |
+
|
2070 |
+
Collapse.prototype.toggle = function () {
|
2071 |
+
this[this.$element.hasClass('in') ? 'hide' : 'show']()
|
2072 |
+
}
|
2073 |
+
|
2074 |
+
Collapse.prototype.getParent = function () {
|
2075 |
+
return $(this.options.parent)
|
2076 |
+
.find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
|
2077 |
+
.each($.proxy(function (i, element) {
|
2078 |
+
var $element = $(element)
|
2079 |
+
this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
|
2080 |
+
}, this))
|
2081 |
+
.end()
|
2082 |
+
}
|
2083 |
+
|
2084 |
+
Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
|
2085 |
+
var isOpen = $element.hasClass('in')
|
2086 |
+
|
2087 |
+
$element.attr('aria-expanded', isOpen)
|
2088 |
+
$trigger
|
2089 |
+
.toggleClass('collapsed', !isOpen)
|
2090 |
+
.attr('aria-expanded', isOpen)
|
2091 |
+
}
|
2092 |
+
|
2093 |
+
function getTargetFromTrigger($trigger) {
|
2094 |
+
var href
|
2095 |
+
var target = $trigger.attr('data-target')
|
2096 |
+
|| (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
|
2097 |
+
|
2098 |
+
return $(target)
|
2099 |
+
}
|
2100 |
+
|
2101 |
+
|
2102 |
+
// COLLAPSE PLUGIN DEFINITION
|
2103 |
+
// ==========================
|
2104 |
+
|
2105 |
+
function Plugin(option) {
|
2106 |
+
return this.each(function () {
|
2107 |
+
var $this = $(this)
|
2108 |
+
var data = $this.data('bs.collapse')
|
2109 |
+
var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
|
2110 |
+
|
2111 |
+
if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
|
2112 |
+
if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
|
2113 |
+
if (typeof option == 'string') data[option]()
|
2114 |
+
})
|
2115 |
+
}
|
2116 |
+
|
2117 |
+
var old = $.fn.collapse
|
2118 |
+
|
2119 |
+
$.fn.collapse = Plugin
|
2120 |
+
$.fn.collapse.Constructor = Collapse
|
2121 |
+
|
2122 |
+
|
2123 |
+
// COLLAPSE NO CONFLICT
|
2124 |
+
// ====================
|
2125 |
+
|
2126 |
+
$.fn.collapse.noConflict = function () {
|
2127 |
+
$.fn.collapse = old
|
2128 |
+
return this
|
2129 |
+
}
|
2130 |
+
|
2131 |
+
|
2132 |
+
// COLLAPSE DATA-API
|
2133 |
+
// =================
|
2134 |
+
|
2135 |
+
$(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
|
2136 |
+
var $this = $(this)
|
2137 |
+
|
2138 |
+
if (!$this.attr('data-target')) e.preventDefault()
|
2139 |
+
|
2140 |
+
var $target = getTargetFromTrigger($this)
|
2141 |
+
var data = $target.data('bs.collapse')
|
2142 |
+
var option = data ? 'toggle' : $this.data()
|
2143 |
+
|
2144 |
+
Plugin.call($target, option)
|
2145 |
+
})
|
2146 |
+
|
2147 |
+
}(jQuery);
|
2148 |
+
|
2149 |
+
/* ========================================================================
|
2150 |
+
* Bootstrap: scrollspy.js v3.3.7
|
2151 |
+
* http://getbootstrap.com/javascript/#scrollspy
|
2152 |
+
* ========================================================================
|
2153 |
+
* Copyright 2011-2016 Twitter, Inc.
|
2154 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
2155 |
+
* ======================================================================== */
|
2156 |
+
|
2157 |
+
|
2158 |
+
+function ($) {
|
2159 |
+
'use strict';
|
2160 |
+
|
2161 |
+
// SCROLLSPY CLASS DEFINITION
|
2162 |
+
// ==========================
|
2163 |
+
|
2164 |
+
function ScrollSpy(element, options) {
|
2165 |
+
this.$body = $(document.body)
|
2166 |
+
this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
|
2167 |
+
this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
|
2168 |
+
this.selector = (this.options.target || '') + ' .nav li > a'
|
2169 |
+
this.offsets = []
|
2170 |
+
this.targets = []
|
2171 |
+
this.activeTarget = null
|
2172 |
+
this.scrollHeight = 0
|
2173 |
+
|
2174 |
+
this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
|
2175 |
+
this.refresh()
|
2176 |
+
this.process()
|
2177 |
+
}
|
2178 |
+
|
2179 |
+
ScrollSpy.VERSION = '3.3.7'
|
2180 |
+
|
2181 |
+
ScrollSpy.DEFAULTS = {
|
2182 |
+
offset: 10
|
2183 |
+
}
|
2184 |
+
|
2185 |
+
ScrollSpy.prototype.getScrollHeight = function () {
|
2186 |
+
return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
|
2187 |
+
}
|
2188 |
+
|
2189 |
+
ScrollSpy.prototype.refresh = function () {
|
2190 |
+
var that = this
|
2191 |
+
var offsetMethod = 'offset'
|
2192 |
+
var offsetBase = 0
|
2193 |
+
|
2194 |
+
this.offsets = []
|
2195 |
+
this.targets = []
|
2196 |
+
this.scrollHeight = this.getScrollHeight()
|
2197 |
+
|
2198 |
+
if (!$.isWindow(this.$scrollElement[0])) {
|
2199 |
+
offsetMethod = 'position'
|
2200 |
+
offsetBase = this.$scrollElement.scrollTop()
|
2201 |
+
}
|
2202 |
+
|
2203 |
+
this.$body
|
2204 |
+
.find(this.selector)
|
2205 |
+
.map(function () {
|
2206 |
+
var $el = $(this)
|
2207 |
+
var href = $el.data('target') || $el.attr('href')
|
2208 |
+
var $href = /^#./.test(href) && $(href)
|
2209 |
+
|
2210 |
+
return ($href
|
2211 |
+
&& $href.length
|
2212 |
+
&& $href.is(':visible')
|
2213 |
+
&& [[$href[offsetMethod]().top + offsetBase, href]]) || null
|
2214 |
+
})
|
2215 |
+
.sort(function (a, b) { return a[0] - b[0] })
|
2216 |
+
.each(function () {
|
2217 |
+
that.offsets.push(this[0])
|
2218 |
+
that.targets.push(this[1])
|
2219 |
+
})
|
2220 |
+
}
|
2221 |
+
|
2222 |
+
ScrollSpy.prototype.process = function () {
|
2223 |
+
var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
|
2224 |
+
var scrollHeight = this.getScrollHeight()
|
2225 |
+
var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height()
|
2226 |
+
var offsets = this.offsets
|
2227 |
+
var targets = this.targets
|
2228 |
+
var activeTarget = this.activeTarget
|
2229 |
+
var i
|
2230 |
+
|
2231 |
+
if (this.scrollHeight != scrollHeight) {
|
2232 |
+
this.refresh()
|
2233 |
+
}
|
2234 |
+
|
2235 |
+
if (scrollTop >= maxScroll) {
|
2236 |
+
return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
|
2237 |
+
}
|
2238 |
+
|
2239 |
+
if (activeTarget && scrollTop < offsets[0]) {
|
2240 |
+
this.activeTarget = null
|
2241 |
+
return this.clear()
|
2242 |
+
}
|
2243 |
+
|
2244 |
+
for (i = offsets.length; i--;) {
|
2245 |
+
activeTarget != targets[i]
|
2246 |
+
&& scrollTop >= offsets[i]
|
2247 |
+
&& (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
|
2248 |
+
&& this.activate(targets[i])
|
2249 |
+
}
|
2250 |
+
}
|
2251 |
+
|
2252 |
+
ScrollSpy.prototype.activate = function (target) {
|
2253 |
+
this.activeTarget = target
|
2254 |
+
|
2255 |
+
this.clear()
|
2256 |
+
|
2257 |
+
var selector = this.selector +
|
2258 |
+
'[data-target="' + target + '"],' +
|
2259 |
+
this.selector + '[href="' + target + '"]'
|
2260 |
+
|
2261 |
+
var active = $(selector)
|
2262 |
+
.parents('li')
|
2263 |
+
.addClass('active')
|
2264 |
+
|
2265 |
+
if (active.parent('.dropdown-menu').length) {
|
2266 |
+
active = active
|
2267 |
+
.closest('li.dropdown')
|
2268 |
+
.addClass('active')
|
2269 |
+
}
|
2270 |
+
|
2271 |
+
active.trigger('activate.bs.scrollspy')
|
2272 |
+
}
|
2273 |
+
|
2274 |
+
ScrollSpy.prototype.clear = function () {
|
2275 |
+
$(this.selector)
|
2276 |
+
.parentsUntil(this.options.target, '.active')
|
2277 |
+
.removeClass('active')
|
2278 |
+
}
|
2279 |
+
|
2280 |
+
|
2281 |
+
// SCROLLSPY PLUGIN DEFINITION
|
2282 |
+
// ===========================
|
2283 |
+
|
2284 |
+
function Plugin(option) {
|
2285 |
+
return this.each(function () {
|
2286 |
+
var $this = $(this)
|
2287 |
+
var data = $this.data('bs.scrollspy')
|
2288 |
+
var options = typeof option == 'object' && option
|
2289 |
+
|
2290 |
+
if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
|
2291 |
+
if (typeof option == 'string') data[option]()
|
2292 |
+
})
|
2293 |
+
}
|
2294 |
+
|
2295 |
+
var old = $.fn.scrollspy
|
2296 |
+
|
2297 |
+
$.fn.scrollspy = Plugin
|
2298 |
+
$.fn.scrollspy.Constructor = ScrollSpy
|
2299 |
+
|
2300 |
+
|
2301 |
+
// SCROLLSPY NO CONFLICT
|
2302 |
+
// =====================
|
2303 |
+
|
2304 |
+
$.fn.scrollspy.noConflict = function () {
|
2305 |
+
$.fn.scrollspy = old
|
2306 |
+
return this
|
2307 |
+
}
|
2308 |
+
|
2309 |
+
|
2310 |
+
// SCROLLSPY DATA-API
|
2311 |
+
// ==================
|
2312 |
+
|
2313 |
+
$(window).on('load.bs.scrollspy.data-api', function () {
|
2314 |
+
$('[data-spy="scroll"]').each(function () {
|
2315 |
+
var $spy = $(this)
|
2316 |
+
Plugin.call($spy, $spy.data())
|
2317 |
+
})
|
2318 |
+
})
|
2319 |
+
|
2320 |
+
}(jQuery);
|
2321 |
+
|
2322 |
+
/* ========================================================================
|
2323 |
+
* Bootstrap: transition.js v3.3.7
|
2324 |
+
* http://getbootstrap.com/javascript/#transitions
|
2325 |
+
* ========================================================================
|
2326 |
+
* Copyright 2011-2016 Twitter, Inc.
|
2327 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
2328 |
+
* ======================================================================== */
|
2329 |
+
|
2330 |
+
|
2331 |
+
+function ($) {
|
2332 |
+
'use strict';
|
2333 |
+
|
2334 |
+
// CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
|
2335 |
+
// ============================================================
|
2336 |
+
|
2337 |
+
function transitionEnd() {
|
2338 |
+
var el = document.createElement('bootstrap')
|
2339 |
+
|
2340 |
+
var transEndEventNames = {
|
2341 |
+
WebkitTransition : 'webkitTransitionEnd',
|
2342 |
+
MozTransition : 'transitionend',
|
2343 |
+
OTransition : 'oTransitionEnd otransitionend',
|
2344 |
+
transition : 'transitionend'
|
2345 |
+
}
|
2346 |
+
|
2347 |
+
for (var name in transEndEventNames) {
|
2348 |
+
if (el.style[name] !== undefined) {
|
2349 |
+
return { end: transEndEventNames[name] }
|
2350 |
+
}
|
2351 |
+
}
|
2352 |
+
|
2353 |
+
return false // explicit for ie8 ( ._.)
|
2354 |
+
}
|
2355 |
+
|
2356 |
+
// http://blog.alexmaccaw.com/css-transitions
|
2357 |
+
$.fn.emulateTransitionEnd = function (duration) {
|
2358 |
+
var called = false
|
2359 |
+
var $el = this
|
2360 |
+
$(this).one('bsTransitionEnd', function () { called = true })
|
2361 |
+
var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
|
2362 |
+
setTimeout(callback, duration)
|
2363 |
+
return this
|
2364 |
+
}
|
2365 |
+
|
2366 |
+
$(function () {
|
2367 |
+
$.support.transition = transitionEnd()
|
2368 |
+
|
2369 |
+
if (!$.support.transition) return
|
2370 |
+
|
2371 |
+
$.event.special.bsTransitionEnd = {
|
2372 |
+
bindType: $.support.transition.end,
|
2373 |
+
delegateType: $.support.transition.end,
|
2374 |
+
handle: function (e) {
|
2375 |
+
if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
|
2376 |
+
}
|
2377 |
+
}
|
2378 |
+
})
|
2379 |
+
|
2380 |
+
}(jQuery);
|
library/toolset/toolset-common/res/lib/bootstrap/js/bootstrap.min.js
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
3 |
+
* Copyright 2011-2016 Twitter, Inc.
|
4 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
+
*/
|
6 |
+
|
7 |
+
/*!
|
8 |
+
* Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=39f56dbee4e4db91437f384b1dcd27f0)
|
9 |
+
* Config saved to config.json and https://gist.github.com/39f56dbee4e4db91437f384b1dcd27f0
|
10 |
+
*/
|
11 |
+
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),n=i.data("bs.alert");n||i.data("bs.alert",n=new o(this)),"string"==typeof e&&n[e].call(i)})}var i='[data-dismiss="alert"]',o=function(e){t(e).on("click",i,this.close)};o.VERSION="3.3.7",o.TRANSITION_DURATION=150,o.prototype.close=function(e){function i(){a.detach().trigger("closed.bs.alert").remove()}var n=t(this),s=n.attr("data-target");s||(s=n.attr("href"),s=s&&s.replace(/.*(?=#[^\s]*$)/,""));var a=t("#"===s?[]:s);e&&e.preventDefault(),a.length||(a=n.closest(".alert")),a.trigger(e=t.Event("close.bs.alert")),e.isDefaultPrevented()||(a.removeClass("in"),t.support.transition&&a.hasClass("fade")?a.one("bsTransitionEnd",i).emulateTransitionEnd(o.TRANSITION_DURATION):i())};var n=t.fn.alert;t.fn.alert=e,t.fn.alert.Constructor=o,t.fn.alert.noConflict=function(){return t.fn.alert=n,this},t(document).on("click.bs.alert.data-api",i,o.prototype.close)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.button"),s="object"==typeof e&&e;n||o.data("bs.button",n=new i(this,s)),"toggle"==e?n.toggle():e&&n.setState(e)})}var i=function(e,o){this.$element=t(e),this.options=t.extend({},i.DEFAULTS,o),this.isLoading=!1};i.VERSION="3.3.7",i.DEFAULTS={loadingText:"loading..."},i.prototype.setState=function(e){var i="disabled",o=this.$element,n=o.is("input")?"val":"html",s=o.data();e+="Text",null==s.resetText&&o.data("resetText",o[n]()),setTimeout(t.proxy(function(){o[n](null==s[e]?this.options[e]:s[e]),"loadingText"==e?(this.isLoading=!0,o.addClass(i).attr(i,i).prop(i,!0)):this.isLoading&&(this.isLoading=!1,o.removeClass(i).removeAttr(i).prop(i,!1))},this),0)},i.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var i=this.$element.find("input");"radio"==i.prop("type")?(i.prop("checked")&&(t=!1),e.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==i.prop("type")&&(i.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),i.prop("checked",this.$element.hasClass("active")),t&&i.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var o=t.fn.button;t.fn.button=e,t.fn.button.Constructor=i,t.fn.button.noConflict=function(){return t.fn.button=o,this},t(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(i){var o=t(i.target).closest(".btn");e.call(o,"toggle"),t(i.target).is('input[type="radio"], input[type="checkbox"]')||(i.preventDefault(),o.is("input,button")?o.trigger("focus"):o.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){t(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.carousel"),s=t.extend({},i.DEFAULTS,o.data(),"object"==typeof e&&e),a="string"==typeof e?e:s.slide;n||o.data("bs.carousel",n=new i(this,s)),"number"==typeof e?n.to(e):a?n[a]():s.interval&&n.pause().cycle()})}var i=function(e,i){this.$element=t(e),this.$indicators=this.$element.find(".carousel-indicators"),this.options=i,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",t.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",t.proxy(this.pause,this)).on("mouseleave.bs.carousel",t.proxy(this.cycle,this))};i.VERSION="3.3.7",i.TRANSITION_DURATION=600,i.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},i.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},i.prototype.cycle=function(e){return e||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(t.proxy(this.next,this),this.options.interval)),this},i.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},i.prototype.getItemForDirection=function(t,e){var i=this.getItemIndex(e),o="prev"==t&&0===i||"next"==t&&i==this.$items.length-1;if(o&&!this.options.wrap)return e;var n="prev"==t?-1:1,s=(i+n)%this.$items.length;return this.$items.eq(s)},i.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(".item.active"));return t>this.$items.length-1||0>t?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(t>i?"next":"prev",this.$items.eq(t))},i.prototype.pause=function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&t.support.transition&&(this.$element.trigger(t.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},i.prototype.next=function(){return this.sliding?void 0:this.slide("next")},i.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},i.prototype.slide=function(e,o){var n=this.$element.find(".item.active"),s=o||this.getItemForDirection(e,n),a=this.interval,r="next"==e?"left":"right",l=this;if(s.hasClass("active"))return this.sliding=!1;var h=s[0],d=t.Event("slide.bs.carousel",{relatedTarget:h,direction:r});if(this.$element.trigger(d),!d.isDefaultPrevented()){if(this.sliding=!0,a&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var p=t(this.$indicators.children()[this.getItemIndex(s)]);p&&p.addClass("active")}var c=t.Event("slid.bs.carousel",{relatedTarget:h,direction:r});return t.support.transition&&this.$element.hasClass("slide")?(s.addClass(e),s[0].offsetWidth,n.addClass(r),s.addClass(r),n.one("bsTransitionEnd",function(){s.removeClass([e,r].join(" ")).addClass("active"),n.removeClass(["active",r].join(" ")),l.sliding=!1,setTimeout(function(){l.$element.trigger(c)},0)}).emulateTransitionEnd(i.TRANSITION_DURATION)):(n.removeClass("active"),s.addClass("active"),this.sliding=!1,this.$element.trigger(c)),a&&this.cycle(),this}};var o=t.fn.carousel;t.fn.carousel=e,t.fn.carousel.Constructor=i,t.fn.carousel.noConflict=function(){return t.fn.carousel=o,this};var n=function(i){var o,n=t(this),s=t(n.attr("data-target")||(o=n.attr("href"))&&o.replace(/.*(?=#[^\s]+$)/,""));if(s.hasClass("carousel")){var a=t.extend({},s.data(),n.data()),r=n.attr("data-slide-to");r&&(a.interval=!1),e.call(s,a),r&&s.data("bs.carousel").to(r),i.preventDefault()}};t(document).on("click.bs.carousel.data-api","[data-slide]",n).on("click.bs.carousel.data-api","[data-slide-to]",n),t(window).on("load",function(){t('[data-ride="carousel"]').each(function(){var i=t(this);e.call(i,i.data())})})}(jQuery),+function(t){"use strict";function e(e){var i=e.attr("data-target");i||(i=e.attr("href"),i=i&&/#[A-Za-z]/.test(i)&&i.replace(/.*(?=#[^\s]*$)/,""));var o=i&&t(i);return o&&o.length?o:e.parent()}function i(i){i&&3===i.which||(t(n).remove(),t(s).each(function(){var o=t(this),n=e(o),s={relatedTarget:this};n.hasClass("open")&&(i&&"click"==i.type&&/input|textarea/i.test(i.target.tagName)&&t.contains(n[0],i.target)||(n.trigger(i=t.Event("hide.bs.dropdown",s)),i.isDefaultPrevented()||(o.attr("aria-expanded","false"),n.removeClass("open").trigger(t.Event("hidden.bs.dropdown",s)))))}))}function o(e){return this.each(function(){var i=t(this),o=i.data("bs.dropdown");o||i.data("bs.dropdown",o=new a(this)),"string"==typeof e&&o[e].call(i)})}var n=".dropdown-backdrop",s='[data-toggle="dropdown"]',a=function(e){t(e).on("click.bs.dropdown",this.toggle)};a.VERSION="3.3.7",a.prototype.toggle=function(o){var n=t(this);if(!n.is(".disabled, :disabled")){var s=e(n),a=s.hasClass("open");if(i(),!a){"ontouchstart"in document.documentElement&&!s.closest(".navbar-nav").length&&t(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(t(this)).on("click",i);var r={relatedTarget:this};if(s.trigger(o=t.Event("show.bs.dropdown",r)),o.isDefaultPrevented())return;n.trigger("focus").attr("aria-expanded","true"),s.toggleClass("open").trigger(t.Event("shown.bs.dropdown",r))}return!1}},a.prototype.keydown=function(i){if(/(38|40|27|32)/.test(i.which)&&!/input|textarea/i.test(i.target.tagName)){var o=t(this);if(i.preventDefault(),i.stopPropagation(),!o.is(".disabled, :disabled")){var n=e(o),a=n.hasClass("open");if(!a&&27!=i.which||a&&27==i.which)return 27==i.which&&n.find(s).trigger("focus"),o.trigger("click");var r=" li:not(.disabled):visible a",l=n.find(".dropdown-menu"+r);if(l.length){var h=l.index(i.target);38==i.which&&h>0&&h--,40==i.which&&h<l.length-1&&h++,~h||(h=0),l.eq(h).trigger("focus")}}}};var r=t.fn.dropdown;t.fn.dropdown=o,t.fn.dropdown.Constructor=a,t.fn.dropdown.noConflict=function(){return t.fn.dropdown=r,this},t(document).on("click.bs.dropdown.data-api",i).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",s,a.prototype.toggle).on("keydown.bs.dropdown.data-api",s,a.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",a.prototype.keydown)}(jQuery),+function(t){"use strict";function e(e,o){return this.each(function(){var n=t(this),s=n.data("bs.modal"),a=t.extend({},i.DEFAULTS,n.data(),"object"==typeof e&&e);s||n.data("bs.modal",s=new i(this,a)),"string"==typeof e?s[e](o):a.show&&s.show(o)})}var i=function(e,i){this.options=i,this.$body=t(document.body),this.$element=t(e),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,t.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};i.VERSION="3.3.7",i.TRANSITION_DURATION=300,i.BACKDROP_TRANSITION_DURATION=150,i.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},i.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},i.prototype.show=function(e){var o=this,n=t.Event("show.bs.modal",{relatedTarget:e});this.$element.trigger(n),this.isShown||n.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',t.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){o.$element.one("mouseup.dismiss.bs.modal",function(e){t(e.target).is(o.$element)&&(o.ignoreBackdropClick=!0)})}),this.backdrop(function(){var n=t.support.transition&&o.$element.hasClass("fade");o.$element.parent().length||o.$element.appendTo(o.$body),o.$element.show().scrollTop(0),o.adjustDialog(),n&&o.$element[0].offsetWidth,o.$element.addClass("in"),o.enforceFocus();var s=t.Event("shown.bs.modal",{relatedTarget:e});n?o.$dialog.one("bsTransitionEnd",function(){o.$element.trigger("focus").trigger(s)}).emulateTransitionEnd(i.TRANSITION_DURATION):o.$element.trigger("focus").trigger(s)}))},i.prototype.hide=function(e){e&&e.preventDefault(),e=t.Event("hide.bs.modal"),this.$element.trigger(e),this.isShown&&!e.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),t(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),t.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",t.proxy(this.hideModal,this)).emulateTransitionEnd(i.TRANSITION_DURATION):this.hideModal())},i.prototype.enforceFocus=function(){t(document).off("focusin.bs.modal").on("focusin.bs.modal",t.proxy(function(t){document===t.target||this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger("focus")},this))},i.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",t.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},i.prototype.resize=function(){this.isShown?t(window).on("resize.bs.modal",t.proxy(this.handleUpdate,this)):t(window).off("resize.bs.modal")},i.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass("modal-open"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger("hidden.bs.modal")})},i.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},i.prototype.backdrop=function(e){var o=this,n=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var s=t.support.transition&&n;if(this.$backdrop=t(document.createElement("div")).addClass("modal-backdrop "+n).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",t.proxy(function(t){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),s&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!e)return;s?this.$backdrop.one("bsTransitionEnd",e).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION):e()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var a=function(){o.removeBackdrop(),e&&e()};t.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",a).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION):a()}else e&&e()},i.prototype.handleUpdate=function(){this.adjustDialog()},i.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},i.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},i.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},i.prototype.setScrollbar=function(){var t=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",t+this.scrollbarWidth)},i.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},i.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var o=t.fn.modal;t.fn.modal=e,t.fn.modal.Constructor=i,t.fn.modal.noConflict=function(){return t.fn.modal=o,this},t(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(i){var o=t(this),n=o.attr("href"),s=t(o.attr("data-target")||n&&n.replace(/.*(?=#[^\s]+$)/,"")),a=s.data("bs.modal")?"toggle":t.extend({remote:!/#/.test(n)&&n},s.data(),o.data());o.is("a")&&i.preventDefault(),s.one("show.bs.modal",function(t){t.isDefaultPrevented()||s.one("hidden.bs.modal",function(){o.is(":visible")&&o.trigger("focus")})}),e.call(s,a,this)})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.tooltip"),s="object"==typeof e&&e;!n&&/destroy|hide/.test(e)||(n||o.data("bs.tooltip",n=new i(this,s)),"string"==typeof e&&n[e]())})}var i=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};i.VERSION="3.3.7",i.TRANSITION_DURATION=150,i.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},i.prototype.init=function(e,i,o){if(this.enabled=!0,this.type=e,this.$element=t(i),this.options=this.getOptions(o),this.$viewport=this.options.viewport&&t(t.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var n=this.options.trigger.split(" "),s=n.length;s--;){var a=n[s];if("click"==a)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=a){var r="hover"==a?"mouseenter":"focusin",l="hover"==a?"mouseleave":"focusout";this.$element.on(r+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},i.prototype.getDefaults=function(){return i.DEFAULTS},i.prototype.getOptions=function(e){return e=t.extend({},this.getDefaults(),this.$element.data(),e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},i.prototype.getDelegateOptions=function(){var e={},i=this.getDefaults();return this._options&&t.each(this._options,function(t,o){i[t]!=o&&(e[t]=o)}),e},i.prototype.enter=function(e){var i=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i)),e instanceof t.Event&&(i.inState["focusin"==e.type?"focus":"hover"]=!0),i.tip().hasClass("in")||"in"==i.hoverState?void(i.hoverState="in"):(clearTimeout(i.timeout),i.hoverState="in",i.options.delay&&i.options.delay.show?void(i.timeout=setTimeout(function(){"in"==i.hoverState&&i.show()},i.options.delay.show)):i.show())},i.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},i.prototype.leave=function(e){var i=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i)),e instanceof t.Event&&(i.inState["focusout"==e.type?"focus":"hover"]=!1),i.isInStateTrue()?void 0:(clearTimeout(i.timeout),i.hoverState="out",i.options.delay&&i.options.delay.hide?void(i.timeout=setTimeout(function(){"out"==i.hoverState&&i.hide()},i.options.delay.hide)):i.hide())},i.prototype.show=function(){var e=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var o=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!o)return;var n=this,s=this.tip(),a=this.getUID(this.type);this.setContent(),s.attr("id",a),this.$element.attr("aria-describedby",a),this.options.animation&&s.addClass("fade");var r="function"==typeof this.options.placement?this.options.placement.call(this,s[0],this.$element[0]):this.options.placement,l=/\s?auto?\s?/i,h=l.test(r);h&&(r=r.replace(l,"")||"top"),s.detach().css({top:0,left:0,display:"block"}).addClass(r).data("bs."+this.type,this),this.options.container?s.appendTo(this.options.container):s.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var d=this.getPosition(),p=s[0].offsetWidth,c=s[0].offsetHeight;if(h){var f=r,u=this.getPosition(this.$viewport);r="bottom"==r&&d.bottom+c>u.bottom?"top":"top"==r&&d.top-c<u.top?"bottom":"right"==r&&d.right+p>u.width?"left":"left"==r&&d.left-p<u.left?"right":r,s.removeClass(f).addClass(r)}var g=this.getCalculatedOffset(r,d,p,c);this.applyPlacement(g,r);var v=function(){var t=n.hoverState;n.$element.trigger("shown.bs."+n.type),n.hoverState=null,"out"==t&&n.leave(n)};t.support.transition&&this.$tip.hasClass("fade")?s.one("bsTransitionEnd",v).emulateTransitionEnd(i.TRANSITION_DURATION):v()}},i.prototype.applyPlacement=function(e,i){var o=this.tip(),n=o[0].offsetWidth,s=o[0].offsetHeight,a=parseInt(o.css("margin-top"),10),r=parseInt(o.css("margin-left"),10);isNaN(a)&&(a=0),isNaN(r)&&(r=0),e.top+=a,e.left+=r,t.offset.setOffset(o[0],t.extend({using:function(t){o.css({top:Math.round(t.top),left:Math.round(t.left)})}},e),0),o.addClass("in");var l=o[0].offsetWidth,h=o[0].offsetHeight;"top"==i&&h!=s&&(e.top=e.top+s-h);var d=this.getViewportAdjustedDelta(i,e,l,h);d.left?e.left+=d.left:e.top+=d.top;var p=/top|bottom/.test(i),c=p?2*d.left-n+l:2*d.top-s+h,f=p?"offsetWidth":"offsetHeight";o.offset(e),this.replaceArrow(c,o[0][f],p)},i.prototype.replaceArrow=function(t,e,i){this.arrow().css(i?"left":"top",50*(1-t/e)+"%").css(i?"top":"left","")},i.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();t.find(".tooltip-inner")[this.options.html?"html":"text"](e),t.removeClass("fade in top bottom left right")},i.prototype.hide=function(e){function o(){"in"!=n.hoverState&&s.detach(),n.$element&&n.$element.removeAttr("aria-describedby").trigger("hidden.bs."+n.type),e&&e()}var n=this,s=t(this.$tip),a=t.Event("hide.bs."+this.type);return this.$element.trigger(a),a.isDefaultPrevented()?void 0:(s.removeClass("in"),t.support.transition&&s.hasClass("fade")?s.one("bsTransitionEnd",o).emulateTransitionEnd(i.TRANSITION_DURATION):o(),this.hoverState=null,this)},i.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},i.prototype.hasContent=function(){return this.getTitle()},i.prototype.getPosition=function(e){e=e||this.$element;var i=e[0],o="BODY"==i.tagName,n=i.getBoundingClientRect();null==n.width&&(n=t.extend({},n,{width:n.right-n.left,height:n.bottom-n.top}));var s=window.SVGElement&&i instanceof window.SVGElement,a=o?{top:0,left:0}:s?null:e.offset(),r={scroll:o?document.documentElement.scrollTop||document.body.scrollTop:e.scrollTop()},l=o?{width:t(window).width(),height:t(window).height()}:null;return t.extend({},n,r,l,a)},i.prototype.getCalculatedOffset=function(t,e,i,o){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-i/2}:"top"==t?{top:e.top-o,left:e.left+e.width/2-i/2}:"left"==t?{top:e.top+e.height/2-o/2,left:e.left-i}:{top:e.top+e.height/2-o/2,left:e.left+e.width}},i.prototype.getViewportAdjustedDelta=function(t,e,i,o){var n={top:0,left:0};if(!this.$viewport)return n;var s=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var r=e.top-s-a.scroll,l=e.top+s-a.scroll+o;r<a.top?n.top=a.top-r:l>a.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;h<a.left?n.left=a.left-h:d>a.right&&(n.left=a.left+a.width-d)}return n},i.prototype.getTitle=function(){var t,e=this.$element,i=this.options;return t=e.attr("data-original-title")||("function"==typeof i.title?i.title.call(e[0]):i.title)},i.prototype.getUID=function(t){do t+=~~(1e6*Math.random());while(document.getElementById(t));return t},i.prototype.tip=function(){if(!this.$tip&&(this.$tip=t(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},i.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},i.prototype.enable=function(){this.enabled=!0},i.prototype.disable=function(){this.enabled=!1},i.prototype.toggleEnabled=function(){this.enabled=!this.enabled},i.prototype.toggle=function(e){var i=this;e&&(i=t(e.currentTarget).data("bs."+this.type),i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i))),e?(i.inState.click=!i.inState.click,i.isInStateTrue()?i.enter(i):i.leave(i)):i.tip().hasClass("in")?i.leave(i):i.enter(i)},i.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})};var o=t.fn.tooltip;t.fn.tooltip=e,t.fn.tooltip.Constructor=i,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=o,this}}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.popover"),s="object"==typeof e&&e;!n&&/destroy|hide/.test(e)||(n||o.data("bs.popover",n=new i(this,s)),"string"==typeof e&&n[e]())})}var i=function(t,e){this.init("popover",t,e)};if(!t.fn.tooltip)throw new Error("Popover requires tooltip.js");i.VERSION="3.3.7",i.DEFAULTS=t.extend({},t.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),i.prototype=t.extend({},t.fn.tooltip.Constructor.prototype),i.prototype.constructor=i,i.prototype.getDefaults=function(){return i.DEFAULTS},i.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();t.find(".popover-title")[this.options.html?"html":"text"](e),t.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof i?"html":"append":"text"](i),t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},i.prototype.hasContent=function(){return this.getTitle()||this.getContent()},i.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},i.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var o=t.fn.popover;t.fn.popover=e,t.fn.popover.Constructor=i,t.fn.popover.noConflict=function(){return t.fn.popover=o,this}}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.tab");n||o.data("bs.tab",n=new i(this)),"string"==typeof e&&n[e]()})}var i=function(e){this.element=t(e)};i.VERSION="3.3.7",i.TRANSITION_DURATION=150,i.prototype.show=function(){var e=this.element,i=e.closest("ul:not(.dropdown-menu)"),o=e.data("target");if(o||(o=e.attr("href"),o=o&&o.replace(/.*(?=#[^\s]*$)/,"")),!e.parent("li").hasClass("active")){var n=i.find(".active:last a"),s=t.Event("hide.bs.tab",{relatedTarget:e[0]}),a=t.Event("show.bs.tab",{relatedTarget:n[0]});if(n.trigger(s),e.trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){var r=t(o);this.activate(e.closest("li"),i),this.activate(r,r.parent(),function(){n.trigger({type:"hidden.bs.tab",relatedTarget:e[0]}),e.trigger({type:"shown.bs.tab",relatedTarget:n[0]})})}}},i.prototype.activate=function(e,o,n){function s(){a.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),e.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),r?(e[0].offsetWidth,e.addClass("in")):e.removeClass("fade"),e.parent(".dropdown-menu").length&&e.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),n&&n()}var a=o.find("> .active"),r=n&&t.support.transition&&(a.length&&a.hasClass("fade")||!!o.find("> .fade").length);a.length&&r?a.one("bsTransitionEnd",s).emulateTransitionEnd(i.TRANSITION_DURATION):s(),a.removeClass("in")};var o=t.fn.tab;t.fn.tab=e,t.fn.tab.Constructor=i,t.fn.tab.noConflict=function(){return t.fn.tab=o,this};var n=function(i){i.preventDefault(),e.call(t(this),"show")};t(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',n).on("click.bs.tab.data-api",'[data-toggle="pill"]',n)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.affix"),s="object"==typeof e&&e;n||o.data("bs.affix",n=new i(this,s)),"string"==typeof e&&n[e]()})}var i=function(e,o){this.options=t.extend({},i.DEFAULTS,o),this.$target=t(this.options.target).on("scroll.bs.affix.data-api",t.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",t.proxy(this.checkPositionWithEventLoop,this)),this.$element=t(e),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};i.VERSION="3.3.7",i.RESET="affix affix-top affix-bottom",i.DEFAULTS={offset:0,target:window},i.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&"top"==this.affixed)return i>n?"top":!1;if("bottom"==this.affixed)return null!=i?n+this.unpin<=s.top?!1:"bottom":t-o>=n+a?!1:"bottom";var r=null==this.affixed,l=r?n:s.top,h=r?a:e;return null!=i&&i>=n?"top":null!=o&&l+h>=t-o?"bottom":!1},i.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(i.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},i.prototype.checkPositionWithEventLoop=function(){setTimeout(t.proxy(this.checkPosition,this),1)},i.prototype.checkPosition=function(){if(this.$element.is(":visible")){var e=this.$element.height(),o=this.options.offset,n=o.top,s=o.bottom,a=Math.max(t(document).height(),t(document.body).height());"object"!=typeof o&&(s=n=o),"function"==typeof n&&(n=o.top(this.$element)),"function"==typeof s&&(s=o.bottom(this.$element));var r=this.getState(a,e,n,s);if(this.affixed!=r){null!=this.unpin&&this.$element.css("top","");var l="affix"+(r?"-"+r:""),h=t.Event(l+".bs.affix");if(this.$element.trigger(h),h.isDefaultPrevented())return;this.affixed=r,this.unpin="bottom"==r?this.getPinnedOffset():null,this.$element.removeClass(i.RESET).addClass(l).trigger(l.replace("affix","affixed")+".bs.affix")}"bottom"==r&&this.$element.offset({top:a-e-s})}};var o=t.fn.affix;t.fn.affix=e,t.fn.affix.Constructor=i,t.fn.affix.noConflict=function(){return t.fn.affix=o,this},t(window).on("load",function(){t('[data-spy="affix"]').each(function(){var i=t(this),o=i.data();o.offset=o.offset||{},null!=o.offsetBottom&&(o.offset.bottom=o.offsetBottom),null!=o.offsetTop&&(o.offset.top=o.offsetTop),e.call(i,o)})})}(jQuery),+function(t){"use strict";function e(e){var i,o=e.attr("data-target")||(i=e.attr("href"))&&i.replace(/.*(?=#[^\s]+$)/,"");return t(o)}function i(e){return this.each(function(){var i=t(this),n=i.data("bs.collapse"),s=t.extend({},o.DEFAULTS,i.data(),"object"==typeof e&&e);!n&&s.toggle&&/show|hide/.test(e)&&(s.toggle=!1),n||i.data("bs.collapse",n=new o(this,s)),"string"==typeof e&&n[e]()})}var o=function(e,i){this.$element=t(e),this.options=t.extend({},o.DEFAULTS,i),this.$trigger=t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};o.VERSION="3.3.7",o.TRANSITION_DURATION=350,o.DEFAULTS={toggle:!0},o.prototype.dimension=function(){var t=this.$element.hasClass("width");return t?"width":"height"},o.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var e,n=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(n&&n.length&&(e=n.data("bs.collapse"),e&&e.transitioning))){var s=t.Event("show.bs.collapse");if(this.$element.trigger(s),!s.isDefaultPrevented()){n&&n.length&&(i.call(n,"hide"),e||n.data("bs.collapse",null));var a=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[a](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var r=function(){this.$element.removeClass("collapsing").addClass("collapse in")[a](""),this.transitioning=0,
|
12 |
+
this.$element.trigger("shown.bs.collapse")};if(!t.support.transition)return r.call(this);var l=t.camelCase(["scroll",a].join("-"));this.$element.one("bsTransitionEnd",t.proxy(r,this)).emulateTransitionEnd(o.TRANSITION_DURATION)[a](this.$element[0][l])}}}},o.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var e=t.Event("hide.bs.collapse");if(this.$element.trigger(e),!e.isDefaultPrevented()){var i=this.dimension();this.$element[i](this.$element[i]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var n=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return t.support.transition?void this.$element[i](0).one("bsTransitionEnd",t.proxy(n,this)).emulateTransitionEnd(o.TRANSITION_DURATION):n.call(this)}}},o.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},o.prototype.getParent=function(){return t(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(t.proxy(function(i,o){var n=t(o);this.addAriaAndCollapsedClass(e(n),n)},this)).end()},o.prototype.addAriaAndCollapsedClass=function(t,e){var i=t.hasClass("in");t.attr("aria-expanded",i),e.toggleClass("collapsed",!i).attr("aria-expanded",i)};var n=t.fn.collapse;t.fn.collapse=i,t.fn.collapse.Constructor=o,t.fn.collapse.noConflict=function(){return t.fn.collapse=n,this},t(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(o){var n=t(this);n.attr("data-target")||o.preventDefault();var s=e(n),a=s.data("bs.collapse"),r=a?"toggle":n.data();i.call(s,r)})}(jQuery),+function(t){"use strict";function e(i,o){this.$body=t(document.body),this.$scrollElement=t(t(i).is(document.body)?window:i),this.options=t.extend({},e.DEFAULTS,o),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",t.proxy(this.process,this)),this.refresh(),this.process()}function i(i){return this.each(function(){var o=t(this),n=o.data("bs.scrollspy"),s="object"==typeof i&&i;n||o.data("bs.scrollspy",n=new e(this,s)),"string"==typeof i&&n[i]()})}e.VERSION="3.3.7",e.DEFAULTS={offset:10},e.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},e.prototype.refresh=function(){var e=this,i="offset",o=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),t.isWindow(this.$scrollElement[0])||(i="position",o=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var e=t(this),n=e.data("target")||e.attr("href"),s=/^#./.test(n)&&t(n);return s&&s.length&&s.is(":visible")&&[[s[i]().top+o,n]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){e.offsets.push(this[0]),e.targets.push(this[1])})},e.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),e>=o)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e<n[0])return this.activeTarget=null,this.clear();for(t=n.length;t--;)a!=s[t]&&e>=n[t]&&(void 0===n[t+1]||e<n[t+1])&&this.activate(s[t])},e.prototype.activate=function(e){this.activeTarget=e,this.clear();var i=this.selector+'[data-target="'+e+'"],'+this.selector+'[href="'+e+'"]',o=t(i).parents("li").addClass("active");o.parent(".dropdown-menu").length&&(o=o.closest("li.dropdown").addClass("active")),o.trigger("activate.bs.scrollspy")},e.prototype.clear=function(){t(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var o=t.fn.scrollspy;t.fn.scrollspy=i,t.fn.scrollspy.Constructor=e,t.fn.scrollspy.noConflict=function(){return t.fn.scrollspy=o,this},t(window).on("load.bs.scrollspy.data-api",function(){t('[data-spy="scroll"]').each(function(){var e=t(this);i.call(e,e.data())})})}(jQuery),+function(t){"use strict";function e(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var i in e)if(void 0!==t.style[i])return{end:e[i]};return!1}t.fn.emulateTransitionEnd=function(e){var i=!1,o=this;t(this).one("bsTransitionEnd",function(){i=!0});var n=function(){i||t(o).trigger(t.support.transition.end)};return setTimeout(n,e),this},t(function(){t.support.transition=e(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.support.transition.end,delegateType:t.support.transition.end,handle:function(e){return t(e.target).is(this)?e.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery);
|
library/toolset/toolset-common/res/lib/colorbox/jquery.colorbox-min.js
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
(c) 2013 Jack Moore - http://www.jacklmoore.com/colorbox
|
5 |
license: http://www.opensource.org/licenses/mit-license.php
|
6 |
*/
|
7 |
-
(function(e,t,i){function o(i,o,n){var r=t.createElement(i);return o&&(r.id=Z+o),n&&(r.style.cssText=n),e(r)}function n(){return i.innerHeight?i.innerHeight:e(i).height()}function r(e){var t=k.length,i=(z+e)%t;return 0>i?t+i:i}function h(e,t){return Math.round((/%/.test(e)?("x"===t?E.width():n())/100:1)*parseInt(e,10))}function s(e,t){return e.photo||e.photoRegex.test(t)}function l(e,t){return e.retinaUrl&&i.devicePixelRatio>1?t.replace(e.photoRegex,e.retinaSuffix):t}function a(e){"contains"in g[0]&&!g[0].contains(e.target)&&(e.stopPropagation(),g.focus())}function d(){var t,i=e.data(N,Y);null==i?(B=e.extend({},X),console&&console.log&&console.log("Error: cboxElement missing settings object")):B=e.extend({},i);for(t in B)e.isFunction(B[t])&&"on"!==t.slice(0,2)&&(B[t]=B[t].call(N));B.rel=B.rel||N.rel||e(N).data("rel")||"nofollow",B.href=B.href||e(N).attr("href"),B.title=B.title||N.title,"string"==typeof B.href&&(B.href=e.trim(B.href))}function c(i,o){e(t).trigger(i),st.trigger(i),e.isFunction(o)&&o.call(N)}function u(i){q||(N=i,d(),k=e(N),z=0,"nofollow"!==B.rel&&(k=e("."+et).filter(function(){var t,i=e.data(this,Y);return i&&(t=e(this).data("rel")||i.rel||this.rel),t===B.rel}),z=k.index(N),-1===z&&(k=k.add(N),z=k.length-1)),w.css({opacity:parseFloat(B.opacity),cursor:B.overlayClose?"pointer":"auto",visibility:"visible"}).show(),J&&g.add(w).removeClass(J),B.className&&g.add(w).addClass(B.className),J=B.className,B.closeButton?K.html(B.close).appendTo(y):K.appendTo("<div/>"),U||(U=$=!0,g.css({visibility:"hidden",display:"block"}),H=o(lt,"LoadedContent","width:0; height:0; overflow:hidden"),y.css({width:"",height:""}).append(H),O=x.height()+C.height()+y.outerHeight(!0)-y.height(),_=b.width()+T.width()+y.outerWidth(!0)-y.width(),D=H.outerHeight(!0),A=H.outerWidth(!0),B.w=h(B.initialWidth,"x"),B.h=h(B.initialHeight,"y"),H.css({width:"",height:B.h}),Q.position(),c(tt,B.onOpen),P.add(L).hide(),g.focus(),B.trapFocus&&t.addEventListener&&(t.addEventListener("focus",a,!0),st.one(rt,function(){t.removeEventListener("focus",a,!0)})),B.returnFocus&&st.one(rt,function(){e(N).focus()})),m())}function f(){!g&&t.body&&(V=!1,E=e(i),g=o(lt).attr({id:Y,"class":e.support.opacity===!1?Z+"IE":"",role:"dialog",tabindex:"-1"}).hide(),w=o(lt,"Overlay").hide(),F=e([o(lt,"LoadingOverlay")[0],o(lt,"LoadingGraphic")[0]]),v=o(lt,"Wrapper"),y=o(lt,"Content").append(L=o(lt,"Title"),S=o(lt,"Current"),I=e('<button type="button"/>').attr({id:Z+"Previous"}),R=e('<button type="button"/>').attr({id:Z+"Next"}),M=o("button","Slideshow"),F),K=e('<button type="button"/>').attr({id:Z+"Close"}),v.append(o(lt).append(o(lt,"TopLeft"),x=o(lt,"TopCenter"),o(lt,"TopRight")),o(lt,!1,"clear:left").append(b=o(lt,"MiddleLeft"),y,T=o(lt,"MiddleRight")),o(lt,!1,"clear:left").append(o(lt,"BottomLeft"),C=o(lt,"BottomCenter"),o(lt,"BottomRight"))).find("div div").css({"float":"left"}),W=o(lt,!1,"position:absolute; width:9999px; visibility:hidden; display:none"),P=R.add(I).add(S).add(M),e(t.body).append(w,g.append(v,W)))}function p(){function i(e){e.which>1||e.shiftKey||e.altKey||e.metaKey||e.ctrlKey||(e.preventDefault(),u(this))}return g?(V||(V=!0,R.click(function(){Q.next()}),I.click(function(){Q.prev()}),K.click(function(){Q.close()}),w.click(function(){B.overlayClose&&Q.close()}),e(t).bind("keydown."+Z,function(e){var t=e.keyCode;U&&B.escKey&&27===t&&(e.preventDefault(),Q.close()),U&&B.arrowKey&&k[1]&&!e.altKey&&(37===t?(e.preventDefault(),I.click()):39===t&&(e.preventDefault(),R.click()))}),e.isFunction(e.fn.on)?e(t).on("click."+Z,"."+et,i):e("."+et).live("click."+Z,i)),!0):!1}function m(){var n,r,a,u=Q.prep,f=++at;$=!0,j=!1,N=k[z],d(),c(ht),c(it,B.onLoad),B.h=B.height?h(B.height,"y")-D-O:B.innerHeight&&h(B.innerHeight,"y"),B.w=B.width?h(B.width,"x")-A-_:B.innerWidth&&h(B.innerWidth,"x"),B.mw=B.w,B.mh=B.h,B.maxWidth&&(B.mw=h(B.maxWidth,"x")-A-_,B.mw=B.w&&B.w<B.mw?B.w:B.mw),B.maxHeight&&(B.mh=h(B.maxHeight,"y")-D-O,B.mh=B.h&&B.h<B.mh?B.h:B.mh),n=B.href,G=setTimeout(function(){F.show()},100),B.inline?(a=o(lt).hide().insertBefore(e(n)[0]),st.one(ht,function(){a.replaceWith(H.children())}),u(e(n))):B.iframe?u(" "):B.html?u(B.html):s(B,n)?(n=l(B,n),j=t.createElement("img"),e(j).addClass(Z+"Photo").bind("error",function(){B.title=!1,u(o(lt,"Error").html(B.imgError))}).one("load",function(){var t;f===at&&(e.each(["alt","longdesc","aria-describedby"],function(t,i){var o=e(N).attr(i)||e(N).attr("data-"+i);o&&j.setAttribute(i,o)}),B.retinaImage&&i.devicePixelRatio>1&&(j.height=j.height/i.devicePixelRatio,j.width=j.width/i.devicePixelRatio),B.scalePhotos&&(r=function(){j.height-=j.height*t,j.width-=j.width*t},B.mw&&j.width>B.mw&&(t=(j.width-B.mw)/j.width,r()),B.mh&&j.height>B.mh&&(t=(j.height-B.mh)/j.height,r())),B.h&&(j.style.marginTop=Math.max(B.mh-j.height,0)/2+"px"),k[1]&&(B.loop||k[z+1])&&(j.style.cursor="pointer",j.onclick=function(){Q.next()}),j.style.width=j.width+"px",j.style.height=j.height+"px",setTimeout(function(){u(j)},1))}),setTimeout(function(){j.src=n},1)):n&&W.load(n,B.data,function(t,i){f===at&&u("error"===i?o(lt,"Error").html(B.xhrError):e(this).contents())})}var w,g,v,y,x,b,T,C,k,E,H,W,F,L,S,M,R,I,K,P,B,O,_,D,A,N,z,j,U,$,q,G,Q,J,V,X={html:!1,photo:!1,iframe:!1,inline:!1,transition:"elastic",speed:300,fadeOut:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,href:!1,title:!1,rel:!1,opacity:.9,preloading:!0,className:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0,closeButton:!0,fastIframe:!0,open:!1,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp)((#|\?).*)?$/i,retinaImage:!1,retinaUrl:!1,retinaSuffix:"@2x.$1",current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",returnFocus:!0,trapFocus:!0,onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1},Y="colorbox",Z="cbox",et=Z+"Element",tt=Z+"_open",it=Z+"_load",ot=Z+"_complete",nt=Z+"_cleanup",rt=Z+"_closed",ht=Z+"_purge",st=e("<a/>"),lt="div",at=0,dt={},ct=function(){function e(){clearTimeout(h)}function t(){(B.loop||k[z+1])&&(e(),h=setTimeout(Q.next,B.slideshowSpeed))}function i(){M.html(B.slideshowStop).unbind(l).one(l,o),st.bind(ot,t).bind(it,e),g.removeClass(s+"off").addClass(s+"on")}function o(){e(),st.unbind(ot,t).unbind(it,e),M.html(B.slideshowStart).unbind(l).one(l,function(){Q.next(),i()}),g.removeClass(s+"on").addClass(s+"off")}function n(){r=!1,M.hide(),e(),st.unbind(ot,t).unbind(it,e),g.removeClass(s+"off "+s+"on")}var r,h,s=Z+"Slideshow_",l="click."+Z;return function(){r?B.slideshow||(st.unbind(nt,n),n()):B.slideshow&&k[1]&&(r=!0,st.one(nt,n),B.slideshowAuto?i():o(),M.show())}}();e.colorbox||(e(f),Q=e.fn[Y]=e[Y]=function(t,i){var o=this;if(t=t||{},f(),p()){if(e.isFunction(o))o=e("<a/>"),t.open=!0;else if(!o[0])return o;i&&(t.onComplete=i),o.each(function(){e.data(this,Y,e.extend({},e.data(this,Y)||X,t))}).addClass(et),(e.isFunction(t.open)&&t.open.call(o)||t.open)&&u(o[0])}return o},Q.position=function(t,i){function o(){x[0].style.width=C[0].style.width=y[0].style.width=parseInt(g[0].style.width,10)-_+"px",y[0].style.height=b[0].style.height=T[0].style.height=parseInt(g[0].style.height,10)-O+"px"}var r,s,l,a=0,d=0,c=g.offset();if(E.unbind("resize."+Z),g.css({top:-9e4,left:-9e4}),s=E.scrollTop(),l=E.scrollLeft(),B.fixed?(c.top-=s,c.left-=l,g.css({position:"fixed"})):(a=s,d=l,g.css({position:"absolute"})),d+=B.right!==!1?Math.max(E.width()-B.w-A-_-h(B.right,"x"),0):B.left!==!1?h(B.left,"x"):Math.round(Math.max(E.width()-B.w-A-_,0)/2),a+=B.bottom!==!1?Math.max(n()-B.h-D-O-h(B.bottom,"y"),0):B.top!==!1?h(B.top,"y"):Math.round(Math.max(n()-B.h-D-O,0)/2),g.css({top:c.top,left:c.left,visibility:"visible"}),v[0].style.width=v[0].style.height="9999px",r={width:B.w+A+_,height:B.h+D+O,top:a,left:d},t){var u=0;e.each(r,function(e){return r[e]!==dt[e]?(u=t,void 0):void 0}),t=u}dt=r,t||g.css(r),g.dequeue().animate(r,{duration:t||0,complete:function(){o(),$=!1,v[0].style.width=B.w+A+_+"px",v[0].style.height=B.h+D+O+"px",B.reposition&&setTimeout(function(){E.bind("resize."+Z,Q.position)},1),i&&i()},step:o})},Q.resize=function(e){var t;U&&(e=e||{},e.width&&(B.w=h(e.width,"x")-A-_),e.innerWidth&&(B.w=h(e.innerWidth,"x")),H.css({width:B.w}),e.height&&(B.h=h(e.height,"y")-D-O),e.innerHeight&&(B.h=h(e.innerHeight,"y")),e.innerHeight||e.height||(t=H.scrollTop(),H.css({height:"auto"}),B.h=H.height()),H.css({height:B.h}),t&&H.scrollTop(t),Q.position("none"===B.transition?0:B.speed))},Q.prep=function(i){function n(){return B.w=B.w||H.width(),B.w=B.mw&&B.mw<B.w?B.mw:B.w,B.w}function h(){return B.h=B.h||H.height(),B.h=B.mh&&B.mh<B.h?B.mh:B.h,B.h}if(U){var a,d="none"===B.transition?0:B.speed;H.empty().remove(),H=o(lt,"LoadedContent").append(i),H.hide().appendTo(W.show()).css({width:n(),overflow:B.scrolling?"auto":"hidden"}).css({height:h()}).prependTo(y),W.hide(),e(j).css({"float":"none"}),a=function(){function i(){e.support.opacity===!1&&g[0].style.removeAttribute("filter")}var n,h,a=k.length,u="frameBorder",f="allowTransparency";U&&(h=function(){clearTimeout(G),F.hide(),c(ot,B.onComplete)},L.html(B.title).add(H).show(),a>1?("string"==typeof B.current&&S.html(B.current.replace("{current}",z+1).replace("{total}",a)).show(),R[B.loop||a-1>z?"show":"hide"]().html(B.next),I[B.loop||z?"show":"hide"]().html(B.previous),ct(),B.preloading&&e.each([r(-1),r(1)],function(){var i,o,n=k[this],r=e.data(n,Y);r&&r.href?(i=r.href,e.isFunction(i)&&(i=i.call(n))):i=e(n).attr("href"),i&&s(r,i)&&(i=l(r,i),o=t.createElement("img"),o.src=i)})):P.hide(),B.iframe?(n=o("iframe")[0],u in n&&(n[u]=0),f in n&&(n[f]="true"),B.scrolling||(n.scrolling="no"),e(n).attr({src:B.href,name:(new Date).getTime(),"class":Z+"Iframe",allowFullScreen:!0,webkitAllowFullScreen:!0,mozallowfullscreen:!0}).one("load",h).appendTo(H),st.one(ht,function(){n.src="//about:blank"}),B.fastIframe&&e(n).trigger("load")):h(),"fade"===B.transition?g.fadeTo(d,1,i):i())},"fade"===B.transition?g.fadeTo(d,0,function(){Q.position(0,a)}):Q.position(d,a)}},Q.next=function(){!$&&k[1]&&(B.loop||k[z+1])&&(z=r(1),u(k[z]))},Q.prev=function(){!$&&k[1]&&(B.loop||z)&&(z=r(-1),u(k[z]))},Q.close=function(){U&&!q&&(q=!0,U=!1,c(nt,B.onCleanup),E.unbind("."+Z),w.fadeTo(B.fadeOut||0,0),g.stop().fadeTo(B.fadeOut||0,0,function(){g.add(w).css({opacity:1,cursor:"auto"}).hide(),c(ht),H.empty().remove(),setTimeout(function(){q=!1,c(rt,B.onClosed)},1)}))},Q.remove=function(){g&&(g.stop(),e.colorbox.close(),g.stop().remove(),w.remove(),q=!1,g=null,e("."+et).removeData(Y).removeClass(et),e(t).unbind("click."+Z))},Q.element=function(){return e(N)},Q.settings=X)})(jQuery,document,window);
|
4 |
(c) 2013 Jack Moore - http://www.jacklmoore.com/colorbox
|
5 |
license: http://www.opensource.org/licenses/mit-license.php
|
6 |
*/
|
7 |
+
(function(e,t,i){function o(i,o,n){var r=t.createElement(i);return o&&(r.id=Z+o),n&&(r.style.cssText=n),e(r)}function n(){return i.innerHeight?i.innerHeight:e(i).height()}function r(e){var t=k.length,i=(z+e)%t;return 0>i?t+i:i}function h(e,t){return Math.round((/%/.test(e)?("x"===t?E.width():n())/100:1)*parseInt(e,10))}function s(e,t){return e.photo||e.photoRegex.test(t)}function l(e,t){return e.retinaUrl&&i.devicePixelRatio>1?t.replace(e.photoRegex,e.retinaSuffix):t}function a(e){"contains"in g[0]&&!g[0].contains(e.target)&&(e.stopPropagation(),g.focus())}function d(){var t,i=e.data(N,Y);null==i?(B=e.extend({},X),console&&console.log&&console.log("Error: cboxElement missing settings object")):B=e.extend({},i);for(t in B)e.isFunction(B[t])&&"on"!==t.slice(0,2)&&(B[t]=B[t].call(N));B.rel=B.rel||N.rel||e(N).data("rel")||"nofollow",B.href=B.href||e(N).attr("href"),B.title=B.title||N.title,"string"==typeof B.href&&(B.href=e.trim(B.href))}function c(i,o){e(t).trigger(i),st.trigger(i),e.isFunction(o)&&o.call(N)}function u(i){q||(N=i,d(),k=e(N),z=0,"nofollow"!==B.rel&&(k=e("."+et).filter(function(){var t,i=e.data(this,Y);return i&&(t=e(this).data("rel")||i.rel||this.rel),t===B.rel}),z=k.index(N),-1===z&&(k=k.add(N),z=k.length-1)),w.css({opacity:parseFloat(B.opacity),cursor:B.overlayClose?"pointer":"auto",visibility:"visible"}).show(),J&&g.add(w).removeClass(J),B.className&&g.add(w).addClass(B.className),J=B.className,B.closeButton?K.html(B.close).appendTo(y):K.appendTo("<div/>"),U||(U=$=!0,g.css({visibility:"hidden",display:"block"}),H=o(lt,"LoadedContent","width:0; height:0; overflow:hidden"),y.css({width:"",height:""}).append(H),O=x.height()+C.height()+y.outerHeight(!0)-y.height(),_=b.width()+T.width()+y.outerWidth(!0)-y.width(),D=H.outerHeight(!0),A=H.outerWidth(!0),B.w=h(B.initialWidth,"x"),B.h=h(B.initialHeight,"y"),H.css({width:"",height:B.h}),Q.position(),c(tt,B.onOpen),P.add(L).hide(),g.focus(),B.trapFocus&&t.addEventListener&&(t.addEventListener("focus",a,!0),st.one(rt,function(){t.removeEventListener("focus",a,!0)})),B.returnFocus&&st.one(rt,function(){e(N).focus()})),m())}function f(){!g&&t.body&&(V=!1,E=e(i),g=o(lt).attr({id:Y,"class":e.support.opacity===!1?Z+"IE":"",role:"dialog",tabindex:"-1"}).hide(),w=o(lt,"Overlay").hide(),F=e([o(lt,"LoadingOverlay")[0],o(lt,"LoadingGraphic")[0]]),v=o(lt,"Wrapper"),y=o(lt,"Content").append(L=o(lt,"Title"),S=o(lt,"Current"),I=e('<button type="button"/>').attr({id:Z+"Previous"}),R=e('<button type="button"/>').attr({id:Z+"Next"}),M=o("button","Slideshow"),F),K=e('<button type="button"/>').attr({id:Z+"Close"}),v.append(o(lt).append(o(lt,"TopLeft"),x=o(lt,"TopCenter"),o(lt,"TopRight")),o(lt,!1,"clear:left").append(b=o(lt,"MiddleLeft"),y,T=o(lt,"MiddleRight")),o(lt,!1,"clear:left").append(o(lt,"BottomLeft"),C=o(lt,"BottomCenter"),o(lt,"BottomRight"))).find("div div").css({"float":"left"}),W=o(lt,!1,"position:absolute; width:9999px; visibility:hidden; display:none"),P=R.add(I).add(S).add(M),e(t.body).append(w,g.append(v,W)))}function p(){function i(e){e.which>1||e.shiftKey||e.altKey||e.metaKey||e.ctrlKey||(e.preventDefault(),u(this))}return g?(V||(V=!0,R.click(function(){Q.next()}),I.click(function(){Q.prev()}),K.click(function(){Q.close()}),w.click(function(){B.overlayClose&&Q.close()}),e(t).bind("keydown."+Z,function(e){var t=e.keyCode;U&&B.escKey&&27===t&&(e.preventDefault(),Q.close()),U&&B.arrowKey&&k[1]&&!e.altKey&&(37===t?(e.preventDefault(),I.click()):39===t&&(e.preventDefault(),R.click()))}),e.isFunction(e.fn.on)?e(t).on("click."+Z,"."+et,i):e("."+et).live("click."+Z,i)),!0):!1}function m(){var n,r,a,u=Q.prep,f=++at;$=!0,j=!1,N=k[z],d(),c(ht),c(it,B.onLoad),B.h=B.height?h(B.height,"y")-D-O:B.innerHeight&&h(B.innerHeight,"y"),B.w=B.width?h(B.width,"x")-A-_:B.innerWidth&&h(B.innerWidth,"x"),B.mw=B.w,B.mh=B.h,B.maxWidth&&(B.mw=h(B.maxWidth,"x")-A-_,B.mw=B.w&&B.w<B.mw?B.w:B.mw),B.maxHeight&&(B.mh=h(B.maxHeight,"y")-D-O,B.mh=B.h&&B.h<B.mh?B.h:B.mh),n=B.href,G=setTimeout(function(){F.show()},100),B.inline?(a=o(lt).hide().insertBefore(e(n)[0]),st.one(ht,function(){a.replaceWith(H.children())}),u(e(n))):B.iframe?u(" "):B.html?u(B.html):s(B,n)?(n=l(B,n),j=t.createElement("img"),e(j).addClass(Z+"Photo").bind("error",function(){B.title=!1,u(o(lt,"Error").html(B.imgError))}).one("load",function(){var t;f===at&&(e.each(["alt","longdesc","aria-describedby"],function(t,i){var o=e(N).attr(i)||e(N).attr("data-"+i);o&&j.setAttribute(i,o)}),B.retinaImage&&i.devicePixelRatio>1&&(j.height=j.height/i.devicePixelRatio,j.width=j.width/i.devicePixelRatio),B.scalePhotos&&(r=function(){j.height-=j.height*t,j.width-=j.width*t},B.mw&&j.width>B.mw&&(t=(j.width-B.mw)/j.width,r()),B.mh&&j.height>B.mh&&(t=(j.height-B.mh)/j.height,r())),B.h&&(j.style.marginTop=Math.max(B.mh-j.height,0)/2+"px"),k[1]&&(B.loop||k[z+1])&&(j.style.cursor="pointer",j.onclick=function(){Q.next()}),j.style.width=j.width+"px",j.style.height=j.height+"px",setTimeout(function(){u(j)},1))}),setTimeout(function(){j.src=n},1)):n&&W.load(n,B.data,function(t,i){f===at&&u("error"===i?o(lt,"Error").html(B.xhrError):e(this).contents())})}var w,g,v,y,x,b,T,C,k,E,H,W,F,L,S,M,R,I,K,P,B,O,_,D,A,N,z,j,U,$,q,G,Q,J,V,X={html:!1,photo:!1,iframe:!1,inline:!1,transition:"elastic",speed:300,fadeOut:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,href:!1,title:!1,rel:!1,opacity:.9,preloading:!0,className:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0,closeButton:!0,fastIframe:!0,open:!1,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp)((#|\?).*)?$/i,retinaImage:!1,retinaUrl:!1,retinaSuffix:"@2x.$1",current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",returnFocus:!0,trapFocus:!0,onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1},Y="colorbox",Z="cbox",et=Z+"Element",tt=Z+"_open",it=Z+"_load",ot=Z+"_complete",nt=Z+"_cleanup",rt=Z+"_closed",ht=Z+"_purge",st=e("<a/>"),lt="div",at=0,dt={},ct=function(){function e(){clearTimeout(h)}function t(){(B.loop||k[z+1])&&(e(),h=setTimeout(Q.next,B.slideshowSpeed))}function i(){M.html(B.slideshowStop).unbind(l).one(l,o),st.bind(ot,t).bind(it,e),g.removeClass(s+"off").addClass(s+"on")}function o(){e(),st.unbind(ot,t).unbind(it,e),M.html(B.slideshowStart).unbind(l).one(l,function(){Q.next(),i()}),g.removeClass(s+"on").addClass(s+"off")}function n(){r=!1,M.hide(),e(),st.unbind(ot,t).unbind(it,e),g.removeClass(s+"off "+s+"on")}var r,h,s=Z+"Slideshow_",l="click."+Z;return function(){r?B.slideshow||(st.unbind(nt,n),n()):B.slideshow&&k[1]&&(r=!0,st.one(nt,n),B.slideshowAuto?i():o(),M.show())}}();e.colorbox||(e(f),Q=e.fn[Y]=e[Y]=function(t,i){var o=this;if(t=t||{},f(),p()){if(e.isFunction(o))o=e("<a/>"),t.open=!0;else if(!o[0])return o;i&&(t.onComplete=i),o.each(function(){e.data(this,Y,e.extend({},e.data(this,Y)||X,t))}).addClass(et),(e.isFunction(t.open)&&t.open.call(o)||t.open)&&u(o[0])}return o},Q.position=function(t,i){function o(){x[0].style.width=C[0].style.width=y[0].style.width=parseInt(g[0].style.width,10)-_+"px",y[0].style.height=b[0].style.height=T[0].style.height=parseInt(g[0].style.height,10)-O+"px"}var r,s,l,a=0,d=0,c=g.offset();if(E.unbind("resize."+Z),g.css({top:-9e4,left:-9e4}),s=E.scrollTop(),l=E.scrollLeft(),B.fixed?(c.top-=s,c.left-=l,g.css({position:"fixed"})):(a=s,d=l,g.css({position:"absolute"})),d+=B.right!==!1?Math.max(E.width()-B.w-A-_-h(B.right,"x"),0):B.left!==!1?h(B.left,"x"):Math.round(Math.max(E.width()-B.w-A-_,0)/2),a+=B.bottom!==!1?Math.max(n()-B.h-D-O-h(B.bottom,"y"),0):B.top!==!1?h(B.top,"y"):Math.round(Math.max(n()-B.h-D-O,0)/2),g.css({top:c.top,left:c.left,visibility:"visible"}),v[0].style.width=v[0].style.height="9999px",r={width:B.w+A+_,height:B.h+D+O,top:a,left:d},t){var u=0;e.each(r,function(e){return r[e]!==dt[e]?(u=t,void 0):void 0}),t=u}dt=r,t||g.css(r),g.dequeue().animate(r,{duration:t||0,complete:function(){o(),$=!1,v[0].style.width=B.w+A+_+"px",v[0].style.height=B.h+D+O+"px",B.reposition&&setTimeout(function(){E.bind("resize."+Z,Q.position)},1),e.isFunction(i)&&i()},step:o})},Q.resize=function(e){var t;U&&(e=e||{},e.width&&(B.w=h(e.width,"x")-A-_),e.innerWidth&&(B.w=h(e.innerWidth,"x")),H.css({width:B.w}),e.height&&(B.h=h(e.height,"y")-D-O),e.innerHeight&&(B.h=h(e.innerHeight,"y")),e.innerHeight||e.height||(t=H.scrollTop(),H.css({height:"auto"}),B.h=H.height()),H.css({height:B.h}),t&&H.scrollTop(t),Q.position("none"===B.transition?0:B.speed))},Q.prep=function(i){function n(){return B.w=B.w||H.width(),B.w=B.mw&&B.mw<B.w?B.mw:B.w,B.w}function h(){return B.h=B.h||H.height(),B.h=B.mh&&B.mh<B.h?B.mh:B.h,B.h}if(U){var a,d="none"===B.transition?0:B.speed;H.empty().remove(),H=o(lt,"LoadedContent").append(i),H.hide().appendTo(W.show()).css({width:n(),overflow:B.scrolling?"auto":"hidden"}).css({height:h()}).prependTo(y),W.hide(),e(j).css({"float":"none"}),a=function(){function i(){e.support.opacity===!1&&g[0].style.removeAttribute("filter")}var n,h,a=k.length,u="frameBorder",f="allowTransparency";U&&(h=function(){clearTimeout(G),F.hide(),c(ot,B.onComplete)},L.html(B.title).add(H).show(),a>1?("string"==typeof B.current&&S.html(B.current.replace("{current}",z+1).replace("{total}",a)).show(),R[B.loop||a-1>z?"show":"hide"]().html(B.next),I[B.loop||z?"show":"hide"]().html(B.previous),ct(),B.preloading&&e.each([r(-1),r(1)],function(){var i,o,n=k[this],r=e.data(n,Y);r&&r.href?(i=r.href,e.isFunction(i)&&(i=i.call(n))):i=e(n).attr("href"),i&&s(r,i)&&(i=l(r,i),o=t.createElement("img"),o.src=i)})):P.hide(),B.iframe?(n=o("iframe")[0],u in n&&(n[u]=0),f in n&&(n[f]="true"),B.scrolling||(n.scrolling="no"),e(n).attr({src:B.href,name:(new Date).getTime(),"class":Z+"Iframe",allowFullScreen:!0,webkitAllowFullScreen:!0,mozallowfullscreen:!0}).one("load",h).appendTo(H),st.one(ht,function(){n.src="//about:blank"}),B.fastIframe&&e(n).trigger("load")):h(),"fade"===B.transition?g.fadeTo(d,1,i):i())},"fade"===B.transition?g.fadeTo(d,0,function(){Q.position(0,a)}):Q.position(d,a)}},Q.next=function(){!$&&k[1]&&(B.loop||k[z+1])&&(z=r(1),u(k[z]))},Q.prev=function(){!$&&k[1]&&(B.loop||z)&&(z=r(-1),u(k[z]))},Q.close=function(){U&&!q&&(q=!0,U=!1,c(nt,B.onCleanup),E.unbind("."+Z),w.fadeTo(B.fadeOut||0,0),g.stop().fadeTo(B.fadeOut||0,0,function(){g.add(w).css({opacity:1,cursor:"auto"}).hide(),c(ht),H.empty().remove(),setTimeout(function(){q=!1,c(rt,B.onClosed)},1)}))},Q.remove=function(){g&&(g.stop(),e.colorbox.close(),g.stop().remove(),w.remove(),q=!1,g=null,e("."+et).removeData(Y).removeClass(et),e(t).unbind("click."+Z))},Q.element=function(){return e(N)},Q.settings=X)})(jQuery,document,window);
|
library/toolset/toolset-common/res/lib/knockout/knockout-3.4.0.debug.js
ADDED
@@ -0,0 +1,5871 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Knockout JavaScript library v3.4.0
|
3 |
+
* (c) Steven Sanderson - http://knockoutjs.com/
|
4 |
+
* License: MIT (http://www.opensource.org/licenses/mit-license.php)
|
5 |
+
*/
|
6 |
+
|
7 |
+
(function(){
|
8 |
+
var DEBUG=true;
|
9 |
+
(function(undefined){
|
10 |
+
// (0, eval)('this') is a robust way of getting a reference to the global object
|
11 |
+
// For details, see http://stackoverflow.com/questions/14119988/return-this-0-evalthis/14120023#14120023
|
12 |
+
var window = this || (0, eval)('this'),
|
13 |
+
document = window['document'],
|
14 |
+
navigator = window['navigator'],
|
15 |
+
jQueryInstance = window["jQuery"],
|
16 |
+
JSON = window["JSON"];
|
17 |
+
(function(factory) {
|
18 |
+
// Support three module loading scenarios
|
19 |
+
if (typeof define === 'function' && define['amd']) {
|
20 |
+
// [1] AMD anonymous module
|
21 |
+
define(['exports', 'require'], factory);
|
22 |
+
} else if (typeof exports === 'object' && typeof module === 'object') {
|
23 |
+
// [2] CommonJS/Node.js
|
24 |
+
factory(module['exports'] || exports); // module.exports is for Node.js
|
25 |
+
} else {
|
26 |
+
// [3] No module loader (plain <script> tag) - put directly in global namespace
|
27 |
+
factory(window['ko'] = {});
|
28 |
+
}
|
29 |
+
}(function(koExports, amdRequire){
|
30 |
+
// Internally, all KO objects are attached to koExports (even the non-exported ones whose names will be minified by the closure compiler).
|
31 |
+
// In the future, the following "ko" variable may be made distinct from "koExports" so that private objects are not externally reachable.
|
32 |
+
var ko = typeof koExports !== 'undefined' ? koExports : {};
|
33 |
+
// Google Closure Compiler helpers (used only to make the minified file smaller)
|
34 |
+
ko.exportSymbol = function(koPath, object) {
|
35 |
+
var tokens = koPath.split(".");
|
36 |
+
|
37 |
+
// In the future, "ko" may become distinct from "koExports" (so that non-exported objects are not reachable)
|
38 |
+
// At that point, "target" would be set to: (typeof koExports !== "undefined" ? koExports : ko)
|
39 |
+
var target = ko;
|
40 |
+
|
41 |
+
for (var i = 0; i < tokens.length - 1; i++)
|
42 |
+
target = target[tokens[i]];
|
43 |
+
target[tokens[tokens.length - 1]] = object;
|
44 |
+
};
|
45 |
+
ko.exportProperty = function(owner, publicName, object) {
|
46 |
+
owner[publicName] = object;
|
47 |
+
};
|
48 |
+
ko.version = "3.4.0";
|
49 |
+
|
50 |
+
ko.exportSymbol('version', ko.version);
|
51 |
+
// For any options that may affect various areas of Knockout and aren't directly associated with data binding.
|
52 |
+
ko.options = {
|
53 |
+
'deferUpdates': false,
|
54 |
+
'useOnlyNativeEvents': false
|
55 |
+
};
|
56 |
+
|
57 |
+
//ko.exportSymbol('options', ko.options); // 'options' isn't minified
|
58 |
+
ko.utils = (function () {
|
59 |
+
function objectForEach(obj, action) {
|
60 |
+
for (var prop in obj) {
|
61 |
+
if (obj.hasOwnProperty(prop)) {
|
62 |
+
action(prop, obj[prop]);
|
63 |
+
}
|
64 |
+
}
|
65 |
+
}
|
66 |
+
|
67 |
+
function extend(target, source) {
|
68 |
+
if (source) {
|
69 |
+
for(var prop in source) {
|
70 |
+
if(source.hasOwnProperty(prop)) {
|
71 |
+
target[prop] = source[prop];
|
72 |
+
}
|
73 |
+
}
|
74 |
+
}
|
75 |
+
return target;
|
76 |
+
}
|
77 |
+
|
78 |
+
function setPrototypeOf(obj, proto) {
|
79 |
+
obj.__proto__ = proto;
|
80 |
+
return obj;
|
81 |
+
}
|
82 |
+
|
83 |
+
var canSetPrototype = ({ __proto__: [] } instanceof Array);
|
84 |
+
var canUseSymbols = !DEBUG && typeof Symbol === 'function';
|
85 |
+
|
86 |
+
// Represent the known event types in a compact way, then at runtime transform it into a hash with event name as key (for fast lookup)
|
87 |
+
var knownEvents = {}, knownEventTypesByEventName = {};
|
88 |
+
var keyEventTypeName = (navigator && /Firefox\/2/i.test(navigator.userAgent)) ? 'KeyboardEvent' : 'UIEvents';
|
89 |
+
knownEvents[keyEventTypeName] = ['keyup', 'keydown', 'keypress'];
|
90 |
+
knownEvents['MouseEvents'] = ['click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'mouseout', 'mouseenter', 'mouseleave'];
|
91 |
+
objectForEach(knownEvents, function(eventType, knownEventsForType) {
|
92 |
+
if (knownEventsForType.length) {
|
93 |
+
for (var i = 0, j = knownEventsForType.length; i < j; i++)
|
94 |
+
knownEventTypesByEventName[knownEventsForType[i]] = eventType;
|
95 |
+
}
|
96 |
+
});
|
97 |
+
var eventsThatMustBeRegisteredUsingAttachEvent = { 'propertychange': true }; // Workaround for an IE9 issue - https://github.com/SteveSanderson/knockout/issues/406
|
98 |
+
|
99 |
+
// Detect IE versions for bug workarounds (uses IE conditionals, not UA string, for robustness)
|
100 |
+
// Note that, since IE 10 does not support conditional comments, the following logic only detects IE < 10.
|
101 |
+
// Currently this is by design, since IE 10+ behaves correctly when treated as a standard browser.
|
102 |
+
// If there is a future need to detect specific versions of IE10+, we will amend this.
|
103 |
+
var ieVersion = document && (function() {
|
104 |
+
var version = 3, div = document.createElement('div'), iElems = div.getElementsByTagName('i');
|
105 |
+
|
106 |
+
// Keep constructing conditional HTML blocks until we hit one that resolves to an empty fragment
|
107 |
+
while (
|
108 |
+
div.innerHTML = '<!--[if gt IE ' + (++version) + ']><i></i><![endif]-->',
|
109 |
+
iElems[0]
|
110 |
+
) {}
|
111 |
+
return version > 4 ? version : undefined;
|
112 |
+
}());
|
113 |
+
var isIe6 = ieVersion === 6,
|
114 |
+
isIe7 = ieVersion === 7;
|
115 |
+
|
116 |
+
function isClickOnCheckableElement(element, eventType) {
|
117 |
+
if ((ko.utils.tagNameLower(element) !== "input") || !element.type) return false;
|
118 |
+
if (eventType.toLowerCase() != "click") return false;
|
119 |
+
var inputType = element.type;
|
120 |
+
return (inputType == "checkbox") || (inputType == "radio");
|
121 |
+
}
|
122 |
+
|
123 |
+
// For details on the pattern for changing node classes
|
124 |
+
// see: https://github.com/knockout/knockout/issues/1597
|
125 |
+
var cssClassNameRegex = /\S+/g;
|
126 |
+
|
127 |
+
function toggleDomNodeCssClass(node, classNames, shouldHaveClass) {
|
128 |
+
var addOrRemoveFn;
|
129 |
+
if (classNames) {
|
130 |
+
if (typeof node.classList === 'object') {
|
131 |
+
addOrRemoveFn = node.classList[shouldHaveClass ? 'add' : 'remove'];
|
132 |
+
ko.utils.arrayForEach(classNames.match(cssClassNameRegex), function(className) {
|
133 |
+
addOrRemoveFn.call(node.classList, className);
|
134 |
+
});
|
135 |
+
} else if (typeof node.className['baseVal'] === 'string') {
|
136 |
+
// SVG tag .classNames is an SVGAnimatedString instance
|
137 |
+
toggleObjectClassPropertyString(node.className, 'baseVal', classNames, shouldHaveClass);
|
138 |
+
} else {
|
139 |
+
// node.className ought to be a string.
|
140 |
+
toggleObjectClassPropertyString(node, 'className', classNames, shouldHaveClass);
|
141 |
+
}
|
142 |
+
}
|
143 |
+
}
|
144 |
+
|
145 |
+
function toggleObjectClassPropertyString(obj, prop, classNames, shouldHaveClass) {
|
146 |
+
// obj/prop is either a node/'className' or a SVGAnimatedString/'baseVal'.
|
147 |
+
var currentClassNames = obj[prop].match(cssClassNameRegex) || [];
|
148 |
+
ko.utils.arrayForEach(classNames.match(cssClassNameRegex), function(className) {
|
149 |
+
ko.utils.addOrRemoveItem(currentClassNames, className, shouldHaveClass);
|
150 |
+
});
|
151 |
+
obj[prop] = currentClassNames.join(" ");
|
152 |
+
}
|
153 |
+
|
154 |
+
return {
|
155 |
+
fieldsIncludedWithJsonPost: ['authenticity_token', /^__RequestVerificationToken(_.*)?$/],
|
156 |
+
|
157 |
+
arrayForEach: function (array, action) {
|
158 |
+
for (var i = 0, j = array.length; i < j; i++)
|
159 |
+
action(array[i], i);
|
160 |
+
},
|
161 |
+
|
162 |
+
arrayIndexOf: function (array, item) {
|
163 |
+
if (typeof Array.prototype.indexOf == "function")
|
164 |
+
return Array.prototype.indexOf.call(array, item);
|
165 |
+
for (var i = 0, j = array.length; i < j; i++)
|
166 |
+
if (array[i] === item)
|
167 |
+
return i;
|
168 |
+
return -1;
|
169 |
+
},
|
170 |
+
|
171 |
+
arrayFirst: function (array, predicate, predicateOwner) {
|
172 |
+
for (var i = 0, j = array.length; i < j; i++)
|
173 |
+
if (predicate.call(predicateOwner, array[i], i))
|
174 |
+
return array[i];
|
175 |
+
return null;
|
176 |
+
},
|
177 |
+
|
178 |
+
arrayRemoveItem: function (array, itemToRemove) {
|
179 |
+
var index = ko.utils.arrayIndexOf(array, itemToRemove);
|
180 |
+
if (index > 0) {
|
181 |
+
array.splice(index, 1);
|
182 |
+
}
|
183 |
+
else if (index === 0) {
|
184 |
+
array.shift();
|
185 |
+
}
|
186 |
+
},
|
187 |
+
|
188 |
+
arrayGetDistinctValues: function (array) {
|
189 |
+
array = array || [];
|
190 |
+
var result = [];
|
191 |
+
for (var i = 0, j = array.length; i < j; i++) {
|
192 |
+
if (ko.utils.arrayIndexOf(result, array[i]) < 0)
|
193 |
+
result.push(array[i]);
|
194 |
+
}
|
195 |
+
return result;
|
196 |
+
},
|
197 |
+
|
198 |
+
arrayMap: function (array, mapping) {
|
199 |
+
array = array || [];
|
200 |
+
var result = [];
|
201 |
+
for (var i = 0, j = array.length; i < j; i++)
|
202 |
+
result.push(mapping(array[i], i));
|
203 |
+
return result;
|
204 |
+
},
|
205 |
+
|
206 |
+
arrayFilter: function (array, predicate) {
|
207 |
+
array = array || [];
|
208 |
+
var result = [];
|
209 |
+
for (var i = 0, j = array.length; i < j; i++)
|
210 |
+
if (predicate(array[i], i))
|
211 |
+
result.push(array[i]);
|
212 |
+
return result;
|
213 |
+
},
|
214 |
+
|
215 |
+
arrayPushAll: function (array, valuesToPush) {
|
216 |
+
if (valuesToPush instanceof Array)
|
217 |
+
array.push.apply(array, valuesToPush);
|
218 |
+
else
|
219 |
+
for (var i = 0, j = valuesToPush.length; i < j; i++)
|
220 |
+
array.push(valuesToPush[i]);
|
221 |
+
return array;
|
222 |
+
},
|
223 |
+
|
224 |
+
addOrRemoveItem: function(array, value, included) {
|
225 |
+
var existingEntryIndex = ko.utils.arrayIndexOf(ko.utils.peekObservable(array), value);
|
226 |
+
if (existingEntryIndex < 0) {
|
227 |
+
if (included)
|
228 |
+
array.push(value);
|
229 |
+
} else {
|
230 |
+
if (!included)
|
231 |
+
array.splice(existingEntryIndex, 1);
|
232 |
+
}
|
233 |
+
},
|
234 |
+
|
235 |
+
canSetPrototype: canSetPrototype,
|
236 |
+
|
237 |
+
extend: extend,
|
238 |
+
|
239 |
+
setPrototypeOf: setPrototypeOf,
|
240 |
+
|
241 |
+
setPrototypeOfOrExtend: canSetPrototype ? setPrototypeOf : extend,
|
242 |
+
|
243 |
+
objectForEach: objectForEach,
|
244 |
+
|
245 |
+
objectMap: function(source, mapping) {
|
246 |
+
if (!source)
|
247 |
+
return source;
|
248 |
+
var target = {};
|
249 |
+
for (var prop in source) {
|
250 |
+
if (source.hasOwnProperty(prop)) {
|
251 |
+
target[prop] = mapping(source[prop], prop, source);
|
252 |
+
}
|
253 |
+
}
|
254 |
+
return target;
|
255 |
+
},
|
256 |
+
|
257 |
+
emptyDomNode: function (domNode) {
|
258 |
+
while (domNode.firstChild) {
|
259 |
+
ko.removeNode(domNode.firstChild);
|
260 |
+
}
|
261 |
+
},
|
262 |
+
|
263 |
+
moveCleanedNodesToContainerElement: function(nodes) {
|
264 |
+
// Ensure it's a real array, as we're about to reparent the nodes and
|
265 |
+
// we don't want the underlying collection to change while we're doing that.
|
266 |
+
var nodesArray = ko.utils.makeArray(nodes);
|
267 |
+
var templateDocument = (nodesArray[0] && nodesArray[0].ownerDocument) || document;
|
268 |
+
|
269 |
+
var container = templateDocument.createElement('div');
|
270 |
+
for (var i = 0, j = nodesArray.length; i < j; i++) {
|
271 |
+
container.appendChild(ko.cleanNode(nodesArray[i]));
|
272 |
+
}
|
273 |
+
return container;
|
274 |
+
},
|
275 |
+
|
276 |
+
cloneNodes: function (nodesArray, shouldCleanNodes) {
|
277 |
+
for (var i = 0, j = nodesArray.length, newNodesArray = []; i < j; i++) {
|
278 |
+
var clonedNode = nodesArray[i].cloneNode(true);
|
279 |
+
newNodesArray.push(shouldCleanNodes ? ko.cleanNode(clonedNode) : clonedNode);
|
280 |
+
}
|
281 |
+
return newNodesArray;
|
282 |
+
},
|
283 |
+
|
284 |
+
setDomNodeChildren: function (domNode, childNodes) {
|
285 |
+
ko.utils.emptyDomNode(domNode);
|
286 |
+
if (childNodes) {
|
287 |
+
for (var i = 0, j = childNodes.length; i < j; i++)
|
288 |
+
domNode.appendChild(childNodes[i]);
|
289 |
+
}
|
290 |
+
},
|
291 |
+
|
292 |
+
replaceDomNodes: function (nodeToReplaceOrNodeArray, newNodesArray) {
|
293 |
+
var nodesToReplaceArray = nodeToReplaceOrNodeArray.nodeType ? [nodeToReplaceOrNodeArray] : nodeToReplaceOrNodeArray;
|
294 |
+
if (nodesToReplaceArray.length > 0) {
|
295 |
+
var insertionPoint = nodesToReplaceArray[0];
|
296 |
+
var parent = insertionPoint.parentNode;
|
297 |
+
for (var i = 0, j = newNodesArray.length; i < j; i++)
|
298 |
+
parent.insertBefore(newNodesArray[i], insertionPoint);
|
299 |
+
for (var i = 0, j = nodesToReplaceArray.length; i < j; i++) {
|
300 |
+
ko.removeNode(nodesToReplaceArray[i]);
|
301 |
+
}
|
302 |
+
}
|
303 |
+
},
|
304 |
+
|
305 |
+
fixUpContinuousNodeArray: function(continuousNodeArray, parentNode) {
|
306 |
+
// Before acting on a set of nodes that were previously outputted by a template function, we have to reconcile
|
307 |
+
// them against what is in the DOM right now. It may be that some of the nodes have already been removed, or that
|
308 |
+
// new nodes might have been inserted in the middle, for example by a binding. Also, there may previously have been
|
309 |
+
// leading comment nodes (created by rewritten string-based templates) that have since been removed during binding.
|
310 |
+
// So, this function translates the old "map" output array into its best guess of the set of current DOM nodes.
|
311 |
+
//
|
312 |
+
// Rules:
|
313 |
+
// [A] Any leading nodes that have been removed should be ignored
|
314 |
+
// These most likely correspond to memoization nodes that were already removed during binding
|
315 |
+
// See https://github.com/knockout/knockout/pull/440
|
316 |
+
// [B] Any trailing nodes that have been remove should be ignored
|
317 |
+
// This prevents the code here from adding unrelated nodes to the array while processing rule [C]
|
318 |
+
// See https://github.com/knockout/knockout/pull/1903
|
319 |
+
// [C] We want to output a continuous series of nodes. So, ignore any nodes that have already been removed,
|
320 |
+
// and include any nodes that have been inserted among the previous collection
|
321 |
+
|
322 |
+
if (continuousNodeArray.length) {
|
323 |
+
// The parent node can be a virtual element; so get the real parent node
|
324 |
+
parentNode = (parentNode.nodeType === 8 && parentNode.parentNode) || parentNode;
|
325 |
+
|
326 |
+
// Rule [A]
|
327 |
+
while (continuousNodeArray.length && continuousNodeArray[0].parentNode !== parentNode)
|
328 |
+
continuousNodeArray.splice(0, 1);
|
329 |
+
|
330 |
+
// Rule [B]
|
331 |
+
while (continuousNodeArray.length > 1 && continuousNodeArray[continuousNodeArray.length - 1].parentNode !== parentNode)
|
332 |
+
continuousNodeArray.length--;
|
333 |
+
|
334 |
+
// Rule [C]
|
335 |
+
if (continuousNodeArray.length > 1) {
|
336 |
+
var current = continuousNodeArray[0], last = continuousNodeArray[continuousNodeArray.length - 1];
|
337 |
+
// Replace with the actual new continuous node set
|
338 |
+
continuousNodeArray.length = 0;
|
339 |
+
while (current !== last) {
|
340 |
+
continuousNodeArray.push(current);
|
341 |
+
current = current.nextSibling;
|
342 |
+
}
|
343 |
+
continuousNodeArray.push(last);
|
344 |
+
}
|
345 |
+
}
|
346 |
+
return continuousNodeArray;
|
347 |
+
},
|
348 |
+
|
349 |
+
setOptionNodeSelectionState: function (optionNode, isSelected) {
|
350 |
+
// IE6 sometimes throws "unknown error" if you try to write to .selected directly, whereas Firefox struggles with setAttribute. Pick one based on browser.
|
351 |
+
if (ieVersion < 7)
|
352 |
+
optionNode.setAttribute("selected", isSelected);
|
353 |
+
else
|
354 |
+
optionNode.selected = isSelected;
|
355 |
+
},
|
356 |
+
|
357 |
+
stringTrim: function (string) {
|
358 |
+
return string === null || string === undefined ? '' :
|
359 |
+
string.trim ?
|
360 |
+
string.trim() :
|
361 |
+
string.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g, '');
|
362 |
+
},
|
363 |
+
|
364 |
+
stringStartsWith: function (string, startsWith) {
|
365 |
+
string = string || "";
|
366 |
+
if (startsWith.length > string.length)
|
367 |
+
return false;
|
368 |
+
return string.substring(0, startsWith.length) === startsWith;
|
369 |
+
},
|
370 |
+
|
371 |
+
domNodeIsContainedBy: function (node, containedByNode) {
|
372 |
+
if (node === containedByNode)
|
373 |
+
return true;
|
374 |
+
if (node.nodeType === 11)
|
375 |
+
return false; // Fixes issue #1162 - can't use node.contains for document fragments on IE8
|
376 |
+
if (containedByNode.contains)
|
377 |
+
return containedByNode.contains(node.nodeType === 3 ? node.parentNode : node);
|
378 |
+
if (containedByNode.compareDocumentPosition)
|
379 |
+
return (containedByNode.compareDocumentPosition(node) & 16) == 16;
|
380 |
+
while (node && node != containedByNode) {
|
381 |
+
node = node.parentNode;
|
382 |
+
}
|
383 |
+
return !!node;
|
384 |
+
},
|
385 |
+
|
386 |
+
domNodeIsAttachedToDocument: function (node) {
|
387 |
+
return ko.utils.domNodeIsContainedBy(node, node.ownerDocument.documentElement);
|
388 |
+
},
|
389 |
+
|
390 |
+
anyDomNodeIsAttachedToDocument: function(nodes) {
|
391 |
+
return !!ko.utils.arrayFirst(nodes, ko.utils.domNodeIsAttachedToDocument);
|
392 |
+
},
|
393 |
+
|
394 |
+
tagNameLower: function(element) {
|
395 |
+
// For HTML elements, tagName will always be upper case; for XHTML elements, it'll be lower case.
|
396 |
+
// Possible future optimization: If we know it's an element from an XHTML document (not HTML),
|
397 |
+
// we don't need to do the .toLowerCase() as it will always be lower case anyway.
|
398 |
+
return element && element.tagName && element.tagName.toLowerCase();
|
399 |
+
},
|
400 |
+
|
401 |
+
catchFunctionErrors: function (delegate) {
|
402 |
+
return ko['onError'] ? function () {
|
403 |
+
try {
|
404 |
+
return delegate.apply(this, arguments);
|
405 |
+
} catch (e) {
|
406 |
+
ko['onError'] && ko['onError'](e);
|
407 |
+
throw e;
|
408 |
+
}
|
409 |
+
} : delegate;
|
410 |
+
},
|
411 |
+
|
412 |
+
setTimeout: function (handler, timeout) {
|
413 |
+
return setTimeout(ko.utils.catchFunctionErrors(handler), timeout);
|
414 |
+
},
|
415 |
+
|
416 |
+
deferError: function (error) {
|
417 |
+
setTimeout(function () {
|
418 |
+
ko['onError'] && ko['onError'](error);
|
419 |
+
throw error;
|
420 |
+
}, 0);
|
421 |
+
},
|
422 |
+
|
423 |
+
registerEventHandler: function (element, eventType, handler) {
|
424 |
+
var wrappedHandler = ko.utils.catchFunctionErrors(handler);
|
425 |
+
|
426 |
+
var mustUseAttachEvent = ieVersion && eventsThatMustBeRegisteredUsingAttachEvent[eventType];
|
427 |
+
if (!ko.options['useOnlyNativeEvents'] && !mustUseAttachEvent && jQueryInstance) {
|
428 |
+
jQueryInstance(element)['bind'](eventType, wrappedHandler);
|
429 |
+
} else if (!mustUseAttachEvent && typeof element.addEventListener == "function")
|
430 |
+
element.addEventListener(eventType, wrappedHandler, false);
|
431 |
+
else if (typeof element.attachEvent != "undefined") {
|
432 |
+
var attachEventHandler = function (event) { wrappedHandler.call(element, event); },
|
433 |
+
attachEventName = "on" + eventType;
|
434 |
+
element.attachEvent(attachEventName, attachEventHandler);
|
435 |
+
|
436 |
+
// IE does not dispose attachEvent handlers automatically (unlike with addEventListener)
|
437 |
+
// so to avoid leaks, we have to remove them manually. See bug #856
|
438 |
+
ko.utils.domNodeDisposal.addDisposeCallback(element, function() {
|
439 |
+
element.detachEvent(attachEventName, attachEventHandler);
|
440 |
+
});
|
441 |
+
} else
|
442 |
+
throw new Error("Browser doesn't support addEventListener or attachEvent");
|
443 |
+
},
|
444 |
+
|
445 |
+
triggerEvent: function (element, eventType) {
|
446 |
+
if (!(element && element.nodeType))
|
447 |
+
throw new Error("element must be a DOM node when calling triggerEvent");
|
448 |
+
|
449 |
+
// For click events on checkboxes and radio buttons, jQuery toggles the element checked state *after* the
|
450 |
+
// event handler runs instead of *before*. (This was fixed in 1.9 for checkboxes but not for radio buttons.)
|
451 |
+
// IE doesn't change the checked state when you trigger the click event using "fireEvent".
|
452 |
+
// In both cases, we'll use the click method instead.
|
453 |
+
var useClickWorkaround = isClickOnCheckableElement(element, eventType);
|
454 |
+
|
455 |
+
if (!ko.options['useOnlyNativeEvents'] && jQueryInstance && !useClickWorkaround) {
|
456 |
+
jQueryInstance(element)['trigger'](eventType);
|
457 |
+
} else if (typeof document.createEvent == "function") {
|
458 |
+
if (typeof element.dispatchEvent == "function") {
|
459 |
+
var eventCategory = knownEventTypesByEventName[eventType] || "HTMLEvents";
|
460 |
+
var event = document.createEvent(eventCategory);
|
461 |
+
event.initEvent(eventType, true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, element);
|
462 |
+
element.dispatchEvent(event);
|
463 |
+
}
|
464 |
+
else
|
465 |
+
throw new Error("The supplied element doesn't support dispatchEvent");
|
466 |
+
} else if (useClickWorkaround && element.click) {
|
467 |
+
element.click();
|
468 |
+
} else if (typeof element.fireEvent != "undefined") {
|
469 |
+
element.fireEvent("on" + eventType);
|
470 |
+
} else {
|
471 |
+
throw new Error("Browser doesn't support triggering events");
|
472 |
+
}
|
473 |
+
},
|
474 |
+
|
475 |
+
unwrapObservable: function (value) {
|
476 |
+
return ko.isObservable(value) ? value() : value;
|
477 |
+
},
|
478 |
+
|
479 |
+
peekObservable: function (value) {
|
480 |
+
return ko.isObservable(value) ? value.peek() : value;
|
481 |
+
},
|
482 |
+
|
483 |
+
toggleDomNodeCssClass: toggleDomNodeCssClass,
|
484 |
+
|
485 |
+
setTextContent: function(element, textContent) {
|
486 |
+
var value = ko.utils.unwrapObservable(textContent);
|
487 |
+
if ((value === null) || (value === undefined))
|
488 |
+
value = "";
|
489 |
+
|
490 |
+
// We need there to be exactly one child: a text node.
|
491 |
+
// If there are no children, more than one, or if it's not a text node,
|
492 |
+
// we'll clear everything and create a single text node.
|
493 |
+
var innerTextNode = ko.virtualElements.firstChild(element);
|
494 |
+
if (!innerTextNode || innerTextNode.nodeType != 3 || ko.virtualElements.nextSibling(innerTextNode)) {
|
495 |
+
ko.virtualElements.setDomNodeChildren(element, [element.ownerDocument.createTextNode(value)]);
|
496 |
+
} else {
|
497 |
+
innerTextNode.data = value;
|
498 |
+
}
|
499 |
+
|
500 |
+
ko.utils.forceRefresh(element);
|
501 |
+
},
|
502 |
+
|
503 |
+
setElementName: function(element, name) {
|
504 |
+
element.name = name;
|
505 |
+
|
506 |
+
// Workaround IE 6/7 issue
|
507 |
+
// - https://github.com/SteveSanderson/knockout/issues/197
|
508 |
+
// - http://www.matts411.com/post/setting_the_name_attribute_in_ie_dom/
|
509 |
+
if (ieVersion <= 7) {
|
510 |
+
try {
|
511 |
+
element.mergeAttributes(document.createElement("<input name='" + element.name + "'/>"), false);
|
512 |
+
}
|
513 |
+
catch(e) {} // For IE9 with doc mode "IE9 Standards" and browser mode "IE9 Compatibility View"
|
514 |
+
}
|
515 |
+
},
|
516 |
+
|
517 |
+
forceRefresh: function(node) {
|
518 |
+
// Workaround for an IE9 rendering bug - https://github.com/SteveSanderson/knockout/issues/209
|
519 |
+
if (ieVersion >= 9) {
|
520 |
+
// For text nodes and comment nodes (most likely virtual elements), we will have to refresh the container
|
521 |
+
var elem = node.nodeType == 1 ? node : node.parentNode;
|
522 |
+
if (elem.style)
|
523 |
+
elem.style.zoom = elem.style.zoom;
|
524 |
+
}
|
525 |
+
},
|
526 |
+
|
527 |
+
ensureSelectElementIsRenderedCorrectly: function(selectElement) {
|
528 |
+
// Workaround for IE9 rendering bug - it doesn't reliably display all the text in dynamically-added select boxes unless you force it to re-render by updating the width.
|
529 |
+
// (See https://github.com/SteveSanderson/knockout/issues/312, http://stackoverflow.com/questions/5908494/select-only-shows-first-char-of-selected-option)
|
530 |
+
// Also fixes IE7 and IE8 bug that causes selects to be zero width if enclosed by 'if' or 'with'. (See issue #839)
|
531 |
+
if (ieVersion) {
|
532 |
+
var originalWidth = selectElement.style.width;
|
533 |
+
selectElement.style.width = 0;
|
534 |
+
selectElement.style.width = originalWidth;
|
535 |
+
}
|
536 |
+
},
|
537 |
+
|
538 |
+
range: function (min, max) {
|
539 |
+
min = ko.utils.unwrapObservable(min);
|
540 |
+
max = ko.utils.unwrapObservable(max);
|
541 |
+
var result = [];
|
542 |
+
for (var i = min; i <= max; i++)
|
543 |
+
result.push(i);
|
544 |
+
return result;
|
545 |
+
},
|
546 |
+
|
547 |
+
makeArray: function(arrayLikeObject) {
|
548 |
+
var result = [];
|
549 |
+
for (var i = 0, j = arrayLikeObject.length; i < j; i++) {
|
550 |
+
result.push(arrayLikeObject[i]);
|
551 |
+
};
|
552 |
+
return result;
|
553 |
+
},
|
554 |
+
|
555 |
+
createSymbolOrString: function(identifier) {
|
556 |
+
return canUseSymbols ? Symbol(identifier) : identifier;
|
557 |
+
},
|
558 |
+
|
559 |
+
isIe6 : isIe6,
|
560 |
+
isIe7 : isIe7,
|
561 |
+
ieVersion : ieVersion,
|
562 |
+
|
563 |
+
getFormFields: function(form, fieldName) {
|
564 |
+
var fields = ko.utils.makeArray(form.getElementsByTagName("input")).concat(ko.utils.makeArray(form.getElementsByTagName("textarea")));
|
565 |
+
var isMatchingField = (typeof fieldName == 'string')
|
566 |
+
? function(field) { return field.name === fieldName }
|
567 |
+
: function(field) { return fieldName.test(field.name) }; // Treat fieldName as regex or object containing predicate
|
568 |
+
var matches = [];
|
569 |
+
for (var i = fields.length - 1; i >= 0; i--) {
|
570 |
+
if (isMatchingField(fields[i]))
|
571 |
+
matches.push(fields[i]);
|
572 |
+
};
|
573 |
+
return matches;
|
574 |
+
},
|
575 |
+
|
576 |
+
parseJson: function (jsonString) {
|
577 |
+
if (typeof jsonString == "string") {
|
578 |
+
jsonString = ko.utils.stringTrim(jsonString);
|
579 |
+
if (jsonString) {
|
580 |
+
if (JSON && JSON.parse) // Use native parsing where available
|
581 |
+
return JSON.parse(jsonString);
|
582 |
+
return (new Function("return " + jsonString))(); // Fallback on less safe parsing for older browsers
|
583 |
+
}
|
584 |
+
}
|
585 |
+
return null;
|
586 |
+
},
|
587 |
+
|
588 |
+
stringifyJson: function (data, replacer, space) { // replacer and space are optional
|
589 |
+
if (!JSON || !JSON.stringify)
|
590 |
+
throw new Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");
|
591 |
+
return JSON.stringify(ko.utils.unwrapObservable(data), replacer, space);
|
592 |
+
},
|
593 |
+
|
594 |
+
postJson: function (urlOrForm, data, options) {
|
595 |
+
options = options || {};
|
596 |
+
var params = options['params'] || {};
|
597 |
+
var includeFields = options['includeFields'] || this.fieldsIncludedWithJsonPost;
|
598 |
+
var url = urlOrForm;
|
599 |
+
|
600 |
+
// If we were given a form, use its 'action' URL and pick out any requested field values
|
601 |
+
if((typeof urlOrForm == 'object') && (ko.utils.tagNameLower(urlOrForm) === "form")) {
|
602 |
+
var originalForm = urlOrForm;
|
603 |
+
url = originalForm.action;
|
604 |
+
for (var i = includeFields.length - 1; i >= 0; i--) {
|
605 |
+
var fields = ko.utils.getFormFields(originalForm, includeFields[i]);
|
606 |
+
for (var j = fields.length - 1; j >= 0; j--)
|
607 |
+
params[fields[j].name] = fields[j].value;
|
608 |
+
}
|
609 |
+
}
|
610 |
+
|
611 |
+
data = ko.utils.unwrapObservable(data);
|
612 |
+
var form = document.createElement("form");
|
613 |
+
form.style.display = "none";
|
614 |
+
form.action = url;
|
615 |
+
form.method = "post";
|
616 |
+
for (var key in data) {
|
617 |
+
// Since 'data' this is a model object, we include all properties including those inherited from its prototype
|
618 |
+
var input = document.createElement("input");
|
619 |
+
input.type = "hidden";
|
620 |
+
input.name = key;
|
621 |
+
input.value = ko.utils.stringifyJson(ko.utils.unwrapObservable(data[key]));
|
622 |
+
form.appendChild(input);
|
623 |
+
}
|
624 |
+
objectForEach(params, function(key, value) {
|
625 |
+
var input = document.createElement("input");
|
626 |
+
input.type = "hidden";
|
627 |
+
input.name = key;
|
628 |
+
input.value = value;
|
629 |
+
form.appendChild(input);
|
630 |
+
});
|
631 |
+
document.body.appendChild(form);
|
632 |
+
options['submitter'] ? options['submitter'](form) : form.submit();
|
633 |
+
setTimeout(function () { form.parentNode.removeChild(form); }, 0);
|
634 |
+
}
|
635 |
+
}
|
636 |
+
}());
|
637 |
+
|
638 |
+
ko.exportSymbol('utils', ko.utils);
|
639 |
+
ko.exportSymbol('utils.arrayForEach', ko.utils.arrayForEach);
|
640 |
+
ko.exportSymbol('utils.arrayFirst', ko.utils.arrayFirst);
|
641 |
+
ko.exportSymbol('utils.arrayFilter', ko.utils.arrayFilter);
|
642 |
+
ko.exportSymbol('utils.arrayGetDistinctValues', ko.utils.arrayGetDistinctValues);
|
643 |
+
ko.exportSymbol('utils.arrayIndexOf', ko.utils.arrayIndexOf);
|
644 |
+
ko.exportSymbol('utils.arrayMap', ko.utils.arrayMap);
|
645 |
+
ko.exportSymbol('utils.arrayPushAll', ko.utils.arrayPushAll);
|
646 |
+
ko.exportSymbol('utils.arrayRemoveItem', ko.utils.arrayRemoveItem);
|
647 |
+
ko.exportSymbol('utils.extend', ko.utils.extend);
|
648 |
+
ko.exportSymbol('utils.fieldsIncludedWithJsonPost', ko.utils.fieldsIncludedWithJsonPost);
|
649 |
+
ko.exportSymbol('utils.getFormFields', ko.utils.getFormFields);
|
650 |
+
ko.exportSymbol('utils.peekObservable', ko.utils.peekObservable);
|
651 |
+
ko.exportSymbol('utils.postJson', ko.utils.postJson);
|
652 |
+
ko.exportSymbol('utils.parseJson', ko.utils.parseJson);
|
653 |
+
ko.exportSymbol('utils.registerEventHandler', ko.utils.registerEventHandler);
|
654 |
+
ko.exportSymbol('utils.stringifyJson', ko.utils.stringifyJson);
|
655 |
+
ko.exportSymbol('utils.range', ko.utils.range);
|
656 |
+
ko.exportSymbol('utils.toggleDomNodeCssClass', ko.utils.toggleDomNodeCssClass);
|
657 |
+
ko.exportSymbol('utils.triggerEvent', ko.utils.triggerEvent);
|
658 |
+
ko.exportSymbol('utils.unwrapObservable', ko.utils.unwrapObservable);
|
659 |
+
ko.exportSymbol('utils.objectForEach', ko.utils.objectForEach);
|
660 |
+
ko.exportSymbol('utils.addOrRemoveItem', ko.utils.addOrRemoveItem);
|
661 |
+
ko.exportSymbol('utils.setTextContent', ko.utils.setTextContent);
|
662 |
+
ko.exportSymbol('unwrap', ko.utils.unwrapObservable); // Convenient shorthand, because this is used so commonly
|
663 |
+
|
664 |
+
if (!Function.prototype['bind']) {
|
665 |
+
// Function.prototype.bind is a standard part of ECMAScript 5th Edition (December 2009, http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf)
|
666 |
+
// In case the browser doesn't implement it natively, provide a JavaScript implementation. This implementation is based on the one in prototype.js
|
667 |
+
Function.prototype['bind'] = function (object) {
|
668 |
+
var originalFunction = this;
|
669 |
+
if (arguments.length === 1) {
|
670 |
+
return function () {
|
671 |
+
return originalFunction.apply(object, arguments);
|
672 |
+
};
|
673 |
+
} else {
|
674 |
+
var partialArgs = Array.prototype.slice.call(arguments, 1);
|
675 |
+
return function () {
|
676 |
+
var args = partialArgs.slice(0);
|
677 |
+
args.push.apply(args, arguments);
|
678 |
+
return originalFunction.apply(object, args);
|
679 |
+
};
|
680 |
+
}
|
681 |
+
};
|
682 |
+
}
|
683 |
+
|
684 |
+
ko.utils.domData = new (function () {
|
685 |
+
var uniqueId = 0;
|
686 |
+
var dataStoreKeyExpandoPropertyName = "__ko__" + (new Date).getTime();
|
687 |
+
var dataStore = {};
|
688 |
+
|
689 |
+
function getAll(node, createIfNotFound) {
|
690 |
+
var dataStoreKey = node[dataStoreKeyExpandoPropertyName];
|
691 |
+
var hasExistingDataStore = dataStoreKey && (dataStoreKey !== "null") && dataStore[dataStoreKey];
|
692 |
+
if (!hasExistingDataStore) {
|
693 |
+
if (!createIfNotFound)
|
694 |
+
return undefined;
|
695 |
+
dataStoreKey = node[dataStoreKeyExpandoPropertyName] = "ko" + uniqueId++;
|
696 |
+
dataStore[dataStoreKey] = {};
|
697 |
+
}
|
698 |
+
return dataStore[dataStoreKey];
|
699 |
+
}
|
700 |
+
|
701 |
+
return {
|
702 |
+
get: function (node, key) {
|
703 |
+
var allDataForNode = getAll(node, false);
|
704 |
+
return allDataForNode === undefined ? undefined : allDataForNode[key];
|
705 |
+
},
|
706 |
+
set: function (node, key, value) {
|
707 |
+
if (value === undefined) {
|
708 |
+
// Make sure we don't actually create a new domData key if we are actually deleting a value
|
709 |
+
if (getAll(node, false) === undefined)
|
710 |
+
return;
|
711 |
+
}
|
712 |
+
var allDataForNode = getAll(node, true);
|
713 |
+
allDataForNode[key] = value;
|
714 |
+
},
|
715 |
+
clear: function (node) {
|
716 |
+
var dataStoreKey = node[dataStoreKeyExpandoPropertyName];
|
717 |
+
if (dataStoreKey) {
|
718 |
+
delete dataStore[dataStoreKey];
|
719 |
+
node[dataStoreKeyExpandoPropertyName] = null;
|
720 |
+
return true; // Exposing "did clean" flag purely so specs can infer whether things have been cleaned up as intended
|
721 |
+
}
|
722 |
+
return false;
|
723 |
+
},
|
724 |
+
|
725 |
+
nextKey: function () {
|
726 |
+
return (uniqueId++) + dataStoreKeyExpandoPropertyName;
|
727 |
+
}
|
728 |
+
};
|
729 |
+
})();
|
730 |
+
|
731 |
+
ko.exportSymbol('utils.domData', ko.utils.domData);
|
732 |
+
ko.exportSymbol('utils.domData.clear', ko.utils.domData.clear); // Exporting only so specs can clear up after themselves fully
|
733 |
+
|
734 |
+
ko.utils.domNodeDisposal = new (function () {
|
735 |
+
var domDataKey = ko.utils.domData.nextKey();
|
736 |
+
var cleanableNodeTypes = { 1: true, 8: true, 9: true }; // Element, Comment, Document
|
737 |
+
var cleanableNodeTypesWithDescendants = { 1: true, 9: true }; // Element, Document
|
738 |
+
|
739 |
+
function getDisposeCallbacksCollection(node, createIfNotFound) {
|
740 |
+
var allDisposeCallbacks = ko.utils.domData.get(node, domDataKey);
|
741 |
+
if ((allDisposeCallbacks === undefined) && createIfNotFound) {
|
742 |
+
allDisposeCallbacks = [];
|
743 |
+
ko.utils.domData.set(node, domDataKey, allDisposeCallbacks);
|
744 |
+
}
|
745 |
+
return allDisposeCallbacks;
|
746 |
+
}
|
747 |
+
function destroyCallbacksCollection(node) {
|
748 |
+
ko.utils.domData.set(node, domDataKey, undefined);
|
749 |
+
}
|
750 |
+
|
751 |
+
function cleanSingleNode(node) {
|
752 |
+
// Run all the dispose callbacks
|
753 |
+
var callbacks = getDisposeCallbacksCollection(node, false);
|
754 |
+
if (callbacks) {
|
755 |
+
callbacks = callbacks.slice(0); // Clone, as the array may be modified during iteration (typically, callbacks will remove themselves)
|
756 |
+
for (var i = 0; i < callbacks.length; i++)
|
757 |
+
callbacks[i](node);
|
758 |
+
}
|
759 |
+
|
760 |
+
// Erase the DOM data
|
761 |
+
ko.utils.domData.clear(node);
|
762 |
+
|
763 |
+
// Perform cleanup needed by external libraries (currently only jQuery, but can be extended)
|
764 |
+
ko.utils.domNodeDisposal["cleanExternalData"](node);
|
765 |
+
|
766 |
+
// Clear any immediate-child comment nodes, as these wouldn't have been found by
|
767 |
+
// node.getElementsByTagName("*") in cleanNode() (comment nodes aren't elements)
|
768 |
+
if (cleanableNodeTypesWithDescendants[node.nodeType])
|
769 |
+
cleanImmediateCommentTypeChildren(node);
|
770 |
+
}
|
771 |
+
|
772 |
+
function cleanImmediateCommentTypeChildren(nodeWithChildren) {
|
773 |
+
var child, nextChild = nodeWithChildren.firstChild;
|
774 |
+
while (child = nextChild) {
|
775 |
+
nextChild = child.nextSibling;
|
776 |
+
if (child.nodeType === 8)
|
777 |
+
cleanSingleNode(child);
|
778 |
+
}
|
779 |
+
}
|
780 |
+
|
781 |
+
return {
|
782 |
+
addDisposeCallback : function(node, callback) {
|
783 |
+
if (typeof callback != "function")
|
784 |
+
throw new Error("Callback must be a function");
|
785 |
+
getDisposeCallbacksCollection(node, true).push(callback);
|
786 |
+
},
|
787 |
+
|
788 |
+
removeDisposeCallback : function(node, callback) {
|
789 |
+
var callbacksCollection = getDisposeCallbacksCollection(node, false);
|
790 |
+
if (callba
|