Version Description
- Added: Custom Style Section
- Added: New frontend options for script configuration
- Updated: Plugin Core Framework
- Updated: Languages file
Download this release
Release Info
Developer | yithemes |
Plugin | ![]() |
Version | 2.3.0 |
Comparing to | |
See all releases |
Code changes from version 2.2.0 to 2.3.0
- README.txt +29 -6
- assets/3rd-party/codemirror/lib/codemirror.css +334 -0
- assets/3rd-party/codemirror/lib/codemirror.js +8822 -0
- assets/3rd-party/codemirror/mode/css/css.js +772 -0
- assets/css/admin.css +13 -1
- assets/images/03-bg.png +0 -0
- assets/images/03-icon.png +0 -0
- assets/images/03.png +0 -0
- assets/images/04-bg.png +0 -0
- assets/images/04-icon.png +0 -0
- assets/images/04.png +0 -0
- assets/js/yith-wcan-editor.js +8 -0
- assets/js/yith-wcan-frontend.min.js +308 -12
- includes/class.yith-wcan-admin.php +61 -4
- includes/class.yith-wcan-frontend.php +10 -6
- init.php +2 -2
- languages/yith_wc_ajxnav-it_IT.mo +0 -0
- languages/yith_wc_ajxnav-it_IT.po +139 -159
- languages/yith_wc_ajxnav-tr_TR.mo +0 -0
- languages/yith_wc_ajxnav-tr_TR.po +114 -62
- languages/yith_wc_ajxnav.pot +116 -64
- plugin-fw/assets/js/yit-cpt-unlimited.js +1 -1
- plugin-fw/assets/js/yit-cpt-unlimited.min.js +1 -1
- plugin-fw/lib/yit-cpt-unlimited.php +1 -1
- plugin-fw/lib/yit-plugin-panel.php +2 -1
- plugin-fw/lib/yit-upgrade.php +2 -1
- plugin-fw/lib/yit-video.php +12 -4
- plugin-fw/yit-functions.php +5 -0
- screenshot-10.png +0 -0
- screenshot-9.png +0 -0
- settings/custom-style-options.php +40 -0
- settings/frontend-options.php +61 -0
- templates/admin/premium.php +5 -16
README.txt
CHANGED
@@ -4,7 +4,7 @@ Contributors: yithemes
|
|
4 |
Tags: woocommerce ajax product filter download, woocommerce, widget, ajax, ajax filtered nav, ajax navigation, ajax filtered navigation, woocommerce layered navigation, woocommerce layered nav, product filter, product filters, ajax product filter, woocommerce ajax product filter, woocommerce filters, sidebar filter, sidebar ajax filter, ajax price filter, price filter, product sorting, woocommerce filter, taxonomy filter, attribute filter, attributes filter, woocommerce product sort, ajax sort, woocommerce ajax product filter, advanced product filters, ajax product filters, filters, woocommerce ajax product filters, woocommerce product filters, woocommerce product filters, category filter, attribute filters, woocommerce products filter, woocommerce price filter, yit, yith, yithemes
|
5 |
Requires at least: 4.0
|
6 |
Tested up to: 4.3
|
7 |
-
Stable tag: 2.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -52,9 +52,9 @@ YITH WooCommerce Ajax Product Filter is available in combination with many other
|
|
52 |
|
53 |
YITH WooCommerce Ajax Product Filter has been tested and compatibility is certain with the following WooCommerce plugins that you can add to your site:
|
54 |
|
55 |
-
* [YITH WooCommerce Multi Vendor](https://wordpress.org/plugins/yith-woocommerce-product-vendors
|
56 |
-
* [YITH WooCommerce Brands Add-On](https://wordpress.org/plugins/yith-woocommerce-brands-add-on
|
57 |
-
* [YITH Product Size Charts for WooCommerce](https://wordpress.org/plugins/yith-product-size-charts-for-woocommerce
|
58 |
|
59 |
Nevertheless, it could be compatible with many other WooCommerce plugins that have not been tested yet. If you want to inform us about compatibility with other plugins, please, [email to us](mailto:plugins@yithemes.com "Your Inspiration Themes").
|
60 |
|
@@ -82,7 +82,11 @@ After renaming the files, you can update/translate the .po file following the cl
|
|
82 |
= The page doesn't update after clicking on a WooCommerce filter =
|
83 |
|
84 |
The issue could be related to the fact you are using a non-standard template for a WooCommerce shop page. To solve it, you should ask to the theme's author to use WooCommerce standard HTML classes.
|
85 |
-
As an alternative
|
|
|
|
|
|
|
|
|
86 |
|
87 |
`
|
88 |
if( ! function_exists( 'yith_wcan_frontend_classes' ) ){
|
@@ -101,6 +105,12 @@ add_filter( 'yith_wcan_ajax_frontend_classes', 'yith_wcan_frontend_classes' );
|
|
101 |
|
102 |
If you don't know which classes you should use, ask to the developer of your theme.
|
103 |
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
= PAAMAYIM NEKUDOTAYIM Error after update 2.1.0 =
|
105 |
|
106 |
After the update 2.1.0, some users of YITH WooCommerce Ajax Product Filter are experiencing the error: "Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM". This is caused by the PHP version of your server that is older than the 5.3. To solve the issue, you just have to update the plugin to the version 2.1.1.
|
@@ -141,9 +151,18 @@ If you want to see a demonstration version of the premium plugin, you can see it
|
|
141 |
6. Frontend: WooCommerce Widget in sidebar
|
142 |
7. Frontend: Dropdown style
|
143 |
8. Frontend: Reset button and active filters
|
|
|
|
|
144 |
|
145 |
== Changelog ==
|
146 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
= 2.2.0 =
|
148 |
|
149 |
* Added: Support to WordPress 4.3
|
@@ -271,10 +290,14 @@ If you have created your own language pack, or have an update for an existing on
|
|
271 |
|
272 |
== Documentation ==
|
273 |
|
274 |
-
Full documentation
|
275 |
|
276 |
== Upgrade notice ==
|
277 |
|
|
|
|
|
|
|
|
|
278 |
= 2.1.2 =
|
279 |
|
280 |
* WooCommerce 2.4 Support
|
4 |
Tags: woocommerce ajax product filter download, woocommerce, widget, ajax, ajax filtered nav, ajax navigation, ajax filtered navigation, woocommerce layered navigation, woocommerce layered nav, product filter, product filters, ajax product filter, woocommerce ajax product filter, woocommerce filters, sidebar filter, sidebar ajax filter, ajax price filter, price filter, product sorting, woocommerce filter, taxonomy filter, attribute filter, attributes filter, woocommerce product sort, ajax sort, woocommerce ajax product filter, advanced product filters, ajax product filters, filters, woocommerce ajax product filters, woocommerce product filters, woocommerce product filters, category filter, attribute filters, woocommerce products filter, woocommerce price filter, yit, yith, yithemes
|
5 |
Requires at least: 4.0
|
6 |
Tested up to: 4.3
|
7 |
+
Stable tag: 2.3.0
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
52 |
|
53 |
YITH WooCommerce Ajax Product Filter has been tested and compatibility is certain with the following WooCommerce plugins that you can add to your site:
|
54 |
|
55 |
+
* [YITH WooCommerce Multi Vendor](https://wordpress.org/plugins/yith-woocommerce-product-vendors)
|
56 |
+
* [YITH WooCommerce Brands Add-On](https://wordpress.org/plugins/yith-woocommerce-brands-add-on)
|
57 |
+
* [YITH Product Size Charts for WooCommerce](https://wordpress.org/plugins/yith-product-size-charts-for-woocommerce)
|
58 |
|
59 |
Nevertheless, it could be compatible with many other WooCommerce plugins that have not been tested yet. If you want to inform us about compatibility with other plugins, please, [email to us](mailto:plugins@yithemes.com "Your Inspiration Themes").
|
60 |
|
82 |
= The page doesn't update after clicking on a WooCommerce filter =
|
83 |
|
84 |
The issue could be related to the fact you are using a non-standard template for a WooCommerce shop page. To solve it, you should ask to the theme's author to use WooCommerce standard HTML classes.
|
85 |
+
As an alternative:
|
86 |
+
|
87 |
+
**For version prior to 2.2.0:**
|
88 |
+
|
89 |
+
you can use this piece of code in functions.php file of your theme:
|
90 |
|
91 |
`
|
92 |
if( ! function_exists( 'yith_wcan_frontend_classes' ) ){
|
105 |
|
106 |
If you don't know which classes you should use, ask to the developer of your theme.
|
107 |
|
108 |
+
**From version 2.3.0 or later:**
|
109 |
+
|
110 |
+
You don't have to write manually the code anymore, as you can just go to YITH Plugin -> Ajax Product Filter -> Front End and set easily the parameters from the text fields.
|
111 |
+
|
112 |
+
If you don't know which classes you should use, ask to the developer of your theme.
|
113 |
+
|
114 |
= PAAMAYIM NEKUDOTAYIM Error after update 2.1.0 =
|
115 |
|
116 |
After the update 2.1.0, some users of YITH WooCommerce Ajax Product Filter are experiencing the error: "Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM". This is caused by the PHP version of your server that is older than the 5.3. To solve the issue, you just have to update the plugin to the version 2.1.1.
|
151 |
6. Frontend: WooCommerce Widget in sidebar
|
152 |
7. Frontend: Dropdown style
|
153 |
8. Frontend: Reset button and active filters
|
154 |
+
9. Admin: YIT Plugins -> Ajax Product Filter -> Front end
|
155 |
+
10. Admin: YIT Plugins -> Ajax Product Filter -> Custom Style
|
156 |
|
157 |
== Changelog ==
|
158 |
|
159 |
+
= 2.3.0 =
|
160 |
+
|
161 |
+
* Added: Custom Style Section
|
162 |
+
* Added: New frontend options for script configuration
|
163 |
+
* Updated: Plugin Core Framework
|
164 |
+
* Updated: Languages file
|
165 |
+
|
166 |
= 2.2.0 =
|
167 |
|
168 |
* Added: Support to WordPress 4.3
|
290 |
|
291 |
== Documentation ==
|
292 |
|
293 |
+
Full documentation is available [here](http://yithemes.com/docs-plugins/yith_woocommerce_ajax_navigation/).
|
294 |
|
295 |
== Upgrade notice ==
|
296 |
|
297 |
+
= 2.2.0 =
|
298 |
+
|
299 |
+
* WordPress 4.3 Support
|
300 |
+
|
301 |
= 2.1.2 =
|
302 |
|
303 |
* WooCommerce 2.4 Support
|
assets/3rd-party/codemirror/lib/codemirror.css
ADDED
@@ -0,0 +1,334 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* BASICS */
|
2 |
+
|
3 |
+
.CodeMirror {
|
4 |
+
/* Set height, width, borders, and global font properties here */
|
5 |
+
font-family: monospace;
|
6 |
+
height: 300px;
|
7 |
+
color: black;
|
8 |
+
}
|
9 |
+
|
10 |
+
/* PADDING */
|
11 |
+
|
12 |
+
.CodeMirror-lines {
|
13 |
+
padding: 4px 0; /* Vertical padding around content */
|
14 |
+
}
|
15 |
+
.CodeMirror pre {
|
16 |
+
padding: 0 4px; /* Horizontal padding of content */
|
17 |
+
}
|
18 |
+
|
19 |
+
.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
|
20 |
+
background-color: white; /* The little square between H and V scrollbars */
|
21 |
+
}
|
22 |
+
|
23 |
+
/* GUTTER */
|
24 |
+
|
25 |
+
.CodeMirror-gutters {
|
26 |
+
border-right: 1px solid #ddd;
|
27 |
+
background-color: #f7f7f7;
|
28 |
+
white-space: nowrap;
|
29 |
+
}
|
30 |
+
.CodeMirror-linenumbers {}
|
31 |
+
.CodeMirror-linenumber {
|
32 |
+
padding: 0 3px 0 5px;
|
33 |
+
min-width: 20px;
|
34 |
+
text-align: right;
|
35 |
+
color: #999;
|
36 |
+
white-space: nowrap;
|
37 |
+
}
|
38 |
+
|
39 |
+
.CodeMirror-guttermarker { color: black; }
|
40 |
+
.CodeMirror-guttermarker-subtle { color: #999; }
|
41 |
+
|
42 |
+
/* CURSOR */
|
43 |
+
|
44 |
+
.CodeMirror-cursor {
|
45 |
+
border-left: 1px solid black;
|
46 |
+
border-right: none;
|
47 |
+
width: 0;
|
48 |
+
}
|
49 |
+
/* Shown when moving in bi-directional text */
|
50 |
+
.CodeMirror div.CodeMirror-secondarycursor {
|
51 |
+
border-left: 1px solid silver;
|
52 |
+
}
|
53 |
+
.cm-fat-cursor .CodeMirror-cursor {
|
54 |
+
width: auto;
|
55 |
+
border: 0;
|
56 |
+
background: #7e7;
|
57 |
+
}
|
58 |
+
.cm-fat-cursor div.CodeMirror-cursors {
|
59 |
+
z-index: 1;
|
60 |
+
}
|
61 |
+
|
62 |
+
.cm-animate-fat-cursor {
|
63 |
+
width: auto;
|
64 |
+
border: 0;
|
65 |
+
-webkit-animation: blink 1.06s steps(1) infinite;
|
66 |
+
-moz-animation: blink 1.06s steps(1) infinite;
|
67 |
+
animation: blink 1.06s steps(1) infinite;
|
68 |
+
background-color: #7e7;
|
69 |
+
}
|
70 |
+
@-moz-keyframes blink {
|
71 |
+
0% {}
|
72 |
+
50% { background-color: transparent; }
|
73 |
+
100% {}
|
74 |
+
}
|
75 |
+
@-webkit-keyframes blink {
|
76 |
+
0% {}
|
77 |
+
50% { background-color: transparent; }
|
78 |
+
100% {}
|
79 |
+
}
|
80 |
+
@keyframes blink {
|
81 |
+
0% {}
|
82 |
+
50% { background-color: transparent; }
|
83 |
+
100% {}
|
84 |
+
}
|
85 |
+
|
86 |
+
/* Can style cursor different in overwrite (non-insert) mode */
|
87 |
+
.CodeMirror-overwrite .CodeMirror-cursor {}
|
88 |
+
|
89 |
+
.cm-tab { display: inline-block; text-decoration: inherit; }
|
90 |
+
|
91 |
+
.CodeMirror-ruler {
|
92 |
+
border-left: 1px solid #ccc;
|
93 |
+
position: absolute;
|
94 |
+
}
|
95 |
+
|
96 |
+
/* DEFAULT THEME */
|
97 |
+
|
98 |
+
.cm-s-default .cm-header {color: blue;}
|
99 |
+
.cm-s-default .cm-quote {color: #090;}
|
100 |
+
.cm-negative {color: #d44;}
|
101 |
+
.cm-positive {color: #292;}
|
102 |
+
.cm-header, .cm-strong {font-weight: bold;}
|
103 |
+
.cm-em {font-style: italic;}
|
104 |
+
.cm-link {text-decoration: underline;}
|
105 |
+
.cm-strikethrough {text-decoration: line-through;}
|
106 |
+
|
107 |
+
.cm-s-default .cm-keyword {color: #708;}
|
108 |
+
.cm-s-default .cm-atom {color: #219;}
|
109 |
+
.cm-s-default .cm-number {color: #164;}
|
110 |
+
.cm-s-default .cm-def {color: #00f;}
|
111 |
+
.cm-s-default .cm-variable,
|
112 |
+
.cm-s-default .cm-punctuation,
|
113 |
+
.cm-s-default .cm-property,
|
114 |
+
.cm-s-default .cm-operator {}
|
115 |
+
.cm-s-default .cm-variable-2 {color: #05a;}
|
116 |
+
.cm-s-default .cm-variable-3 {color: #085;}
|
117 |
+
.cm-s-default .cm-comment {color: #a50;}
|
118 |
+
.cm-s-default .cm-string {color: #a11;}
|
119 |
+
.cm-s-default .cm-string-2 {color: #f50;}
|
120 |
+
.cm-s-default .cm-meta {color: #555;}
|
121 |
+
.cm-s-default .cm-qualifier {color: #555;}
|
122 |
+
.cm-s-default .cm-builtin {color: #30a;}
|
123 |
+
.cm-s-default .cm-bracket {color: #997;}
|
124 |
+
.cm-s-default .cm-tag {color: #170;}
|
125 |
+
.cm-s-default .cm-attribute {color: #00c;}
|
126 |
+
.cm-s-default .cm-hr {color: #999;}
|
127 |
+
.cm-s-default .cm-link {color: #00c;}
|
128 |
+
|
129 |
+
.cm-s-default .cm-error {color: #f00;}
|
130 |
+
.cm-invalidchar {color: #f00;}
|
131 |
+
|
132 |
+
.CodeMirror-composing { border-bottom: 2px solid; }
|
133 |
+
|
134 |
+
/* Default styles for common addons */
|
135 |
+
|
136 |
+
div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
|
137 |
+
div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
138 |
+
.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
|
139 |
+
.CodeMirror-activeline-background {background: #e8f2ff;}
|
140 |
+
|
141 |
+
/* STOP */
|
142 |
+
|
143 |
+
/* The rest of this file contains styles related to the mechanics of
|
144 |
+
the editor. You probably shouldn't touch them. */
|
145 |
+
|
146 |
+
.CodeMirror {
|
147 |
+
position: relative;
|
148 |
+
overflow: hidden;
|
149 |
+
background: white;
|
150 |
+
}
|
151 |
+
|
152 |
+
.CodeMirror-scroll {
|
153 |
+
overflow: scroll !important; /* Things will break if this is overridden */
|
154 |
+
/* 30px is the magic margin used to hide the element's real scrollbars */
|
155 |
+
/* See overflow: hidden in .CodeMirror */
|
156 |
+
margin-bottom: -30px; margin-right: -30px;
|
157 |
+
padding-bottom: 30px;
|
158 |
+
height: 100%;
|
159 |
+
outline: none; /* Prevent dragging from highlighting the element */
|
160 |
+
position: relative;
|
161 |
+
}
|
162 |
+
.CodeMirror-sizer {
|
163 |
+
position: relative;
|
164 |
+
border-right: 30px solid transparent;
|
165 |
+
}
|
166 |
+
|
167 |
+
/* The fake, visible scrollbars. Used to force redraw during scrolling
|
168 |
+
before actuall scrolling happens, thus preventing shaking and
|
169 |
+
flickering artifacts. */
|
170 |
+
.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
|
171 |
+
position: absolute;
|
172 |
+
z-index: 6;
|
173 |
+
display: none;
|
174 |
+
}
|
175 |
+
.CodeMirror-vscrollbar {
|
176 |
+
right: 0; top: 0;
|
177 |
+
overflow-x: hidden;
|
178 |
+
overflow-y: scroll;
|
179 |
+
}
|
180 |
+
.CodeMirror-hscrollbar {
|
181 |
+
bottom: 0; left: 0;
|
182 |
+
overflow-y: hidden;
|
183 |
+
overflow-x: scroll;
|
184 |
+
}
|
185 |
+
.CodeMirror-scrollbar-filler {
|
186 |
+
right: 0; bottom: 0;
|
187 |
+
}
|
188 |
+
.CodeMirror-gutter-filler {
|
189 |
+
left: 0; bottom: 0;
|
190 |
+
}
|
191 |
+
|
192 |
+
.CodeMirror-gutters {
|
193 |
+
position: absolute; left: 0; top: 0;
|
194 |
+
z-index: 3;
|
195 |
+
}
|
196 |
+
.CodeMirror-gutter {
|
197 |
+
white-space: normal;
|
198 |
+
height: 100%;
|
199 |
+
display: inline-block;
|
200 |
+
margin-bottom: -30px;
|
201 |
+
/* Hack to make IE7 behave */
|
202 |
+
*zoom:1;
|
203 |
+
*display:inline;
|
204 |
+
}
|
205 |
+
.CodeMirror-gutter-wrapper {
|
206 |
+
position: absolute;
|
207 |
+
z-index: 4;
|
208 |
+
background: none !important;
|
209 |
+
border: none !important;
|
210 |
+
}
|
211 |
+
.CodeMirror-gutter-background {
|
212 |
+
position: absolute;
|
213 |
+
top: 0; bottom: 0;
|
214 |
+
z-index: 4;
|
215 |
+
}
|
216 |
+
.CodeMirror-gutter-elt {
|
217 |
+
position: absolute;
|
218 |
+
cursor: default;
|
219 |
+
z-index: 4;
|
220 |
+
}
|
221 |
+
.CodeMirror-gutter-wrapper {
|
222 |
+
-webkit-user-select: none;
|
223 |
+
-moz-user-select: none;
|
224 |
+
user-select: none;
|
225 |
+
}
|
226 |
+
|
227 |
+
.CodeMirror-lines {
|
228 |
+
cursor: text;
|
229 |
+
min-height: 1px; /* prevents collapsing before first draw */
|
230 |
+
}
|
231 |
+
.CodeMirror pre {
|
232 |
+
/* Reset some styles that the rest of the page might have set */
|
233 |
+
-moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
|
234 |
+
border-width: 0;
|
235 |
+
background: transparent;
|
236 |
+
font-family: inherit;
|
237 |
+
font-size: inherit;
|
238 |
+
margin: 0;
|
239 |
+
white-space: pre;
|
240 |
+
word-wrap: normal;
|
241 |
+
line-height: inherit;
|
242 |
+
color: inherit;
|
243 |
+
z-index: 2;
|
244 |
+
position: relative;
|
245 |
+
overflow: visible;
|
246 |
+
-webkit-tap-highlight-color: transparent;
|
247 |
+
}
|
248 |
+
.CodeMirror-wrap pre {
|
249 |
+
word-wrap: break-word;
|
250 |
+
white-space: pre-wrap;
|
251 |
+
word-break: normal;
|
252 |
+
}
|
253 |
+
|
254 |
+
.CodeMirror-linebackground {
|
255 |
+
position: absolute;
|
256 |
+
left: 0; right: 0; top: 0; bottom: 0;
|
257 |
+
z-index: 0;
|
258 |
+
}
|
259 |
+
|
260 |
+
.CodeMirror-linewidget {
|
261 |
+
position: relative;
|
262 |
+
z-index: 2;
|
263 |
+
overflow: auto;
|
264 |
+
}
|
265 |
+
|
266 |
+
.CodeMirror-widget {}
|
267 |
+
|
268 |
+
.CodeMirror-code {
|
269 |
+
outline: none;
|
270 |
+
}
|
271 |
+
|
272 |
+
/* Force content-box sizing for the elements where we expect it */
|
273 |
+
.CodeMirror-scroll,
|
274 |
+
.CodeMirror-sizer,
|
275 |
+
.CodeMirror-gutter,
|
276 |
+
.CodeMirror-gutters,
|
277 |
+
.CodeMirror-linenumber {
|
278 |
+
-moz-box-sizing: content-box;
|
279 |
+
box-sizing: content-box;
|
280 |
+
}
|
281 |
+
|
282 |
+
.CodeMirror-measure {
|
283 |
+
position: absolute;
|
284 |
+
width: 100%;
|
285 |
+
height: 0;
|
286 |
+
overflow: hidden;
|
287 |
+
visibility: hidden;
|
288 |
+
}
|
289 |
+
|
290 |
+
.CodeMirror-cursor { position: absolute; }
|
291 |
+
.CodeMirror-measure pre { position: static; }
|
292 |
+
|
293 |
+
div.CodeMirror-cursors {
|
294 |
+
visibility: hidden;
|
295 |
+
position: relative;
|
296 |
+
z-index: 3;
|
297 |
+
}
|
298 |
+
div.CodeMirror-dragcursors {
|
299 |
+
visibility: visible;
|
300 |
+
}
|
301 |
+
|
302 |
+
.CodeMirror-focused div.CodeMirror-cursors {
|
303 |
+
visibility: visible;
|
304 |
+
}
|
305 |
+
|
306 |
+
.CodeMirror-selected { background: #d9d9d9; }
|
307 |
+
.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
|
308 |
+
.CodeMirror-crosshair { cursor: crosshair; }
|
309 |
+
.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }
|
310 |
+
.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }
|
311 |
+
|
312 |
+
.cm-searching {
|
313 |
+
background: #ffa;
|
314 |
+
background: rgba(255, 255, 0, .4);
|
315 |
+
}
|
316 |
+
|
317 |
+
/* IE7 hack to prevent it from returning funny offsetTops on the spans */
|
318 |
+
.CodeMirror span { *vertical-align: text-bottom; }
|
319 |
+
|
320 |
+
/* Used to force a border model for a node */
|
321 |
+
.cm-force-border { padding-right: .1px; }
|
322 |
+
|
323 |
+
@media print {
|
324 |
+
/* Hide the cursor when printing */
|
325 |
+
.CodeMirror div.CodeMirror-cursors {
|
326 |
+
visibility: hidden;
|
327 |
+
}
|
328 |
+
}
|
329 |
+
|
330 |
+
/* See issue #2901 */
|
331 |
+
.cm-tab-wrap-hack:after { content: ''; }
|
332 |
+
|
333 |
+
/* Help users use markselection to safely style text background */
|
334 |
+
span.CodeMirror-selectedtext { background: none; }
|
assets/3rd-party/codemirror/lib/codemirror.js
ADDED
@@ -0,0 +1,8822 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|